đề nghiên cứu các phương pháp nhận dạng tiếng nói được đặt ra và đã có một số phần mền ra đời nhận dạng tiếng anh tương đối tốt như via voice của IBM, spoken toolkit của CSLUcentral of s
Trang 1đề nghiên cứu các phương pháp nhận dạng tiếng nói được đặt ra và đã có một số phần mền ra đời nhận dạng tiếng anh tương đối tốt như via voice của IBM, spoken toolkit của CSLU(central of spoken language understanding),Speech Recognition của Microsoft…
Tuy nhiên đối với tiếng việt thì chưa có hệ thống nhận diện hoàn chỉnh nào được xây dựng, vấn đề này chỉ mới được quan tâm nghiên cứu trong những năm gần đây Đã có một số công trình nghiên cứu về lĩnh vực này với nhiều hướng tiếp cận khác nhau, song kết quả đạt được vẫn còn nhiều khiêm tốn(ví dụ như phần mềm Vspeech của nhóm Sinh Viên Đại học Bách Khoa TPHCM,VN voice của PGS.TS Lương Chi Mai ở Viện Công Nghệ Thông Tin ) Do đó, nảy sinh vấn đề cần xây dựng một nền tảng hoàn chỉnh để tìm ra một hướng đi thích hợp cho nghiên cứu nhận dạng tiếng nói nhằm đạt được một kết quả tốt hơn
1.2 Tình hình phát triển
Với sự phát triển nhanh chóng của các ngành công nghiệp điều khiển, tự động hoá, liên quan tới lĩnh vực ngôn ngữ Từ đó cần phải có sự liên kết chặt chẽ giữa các loại ngôn ngữ(ngôn ngữ khoa học,máy,…) để làm cho việc điều khiển và xử
lý công việc một cách dễ dàng và thuận tiện hơn Khối lượng công việc có thể được tăng lên đáng kể nhờ những tiện lợi trong trao đổi thông tin Vì vậy, xử lý
và nhận dạng tiếng nói để áp dụng vào các lĩnh vực là yêu cầu cần thiết được đề
ra
Trang 2Trước sự phát triển của máy tính nhiều nhà khoa học đã nghĩ đến vấn đề làm thế nào để nhận dạng được tiếng nói, chuyển tiếng nói thành văn bản và ngược lại chuyển văn bản thành tiếng nói làm cho con người có khả năng giao tiếp với máy tính bằng ngôn ngữ và từ đó có thể giao tiếp với các thiết bị khác bằng tiếng nói một cách dễ dàng Sự phát triển của máy tính làm cho vấn đề xử lý và nhận dạng tưởng chừng như rất dễ dàng nhưng trên thực tế thì không hoàn toàn như vậy
Những nguyên nhân xử lý và nhận dạng tiếng nói trở nên phức tạp:
Trên thế giới có rất nhiều loại ngôn ngữ, mỗi quốc gia, dân tộc có một loại ngôn ngữ riêng nên rất khó để tạo một hệ thống nhận dạng chung mà bất kì ai cũng có thể sử dụng được
Cấu tạo thanh quản của mỗi người cũng rất khác nhau cho nên việc phát âm của cùng một từ của những người khác nhau cũng đã có sự khác biệt lớn
Nhận dạng tiếng nói không chỉ là nhận dạng một từ hay một số từ mà là nhận dạng một chuỗi các từ liên tục và còn phải xác định các từ nhận dạng được là đúng hay sai về mặt ngữ pháp, phù hợp với những lệnh đã thiết kết hay không, nếu không thì phải xử lý như thế nào
Bản thân tiếng nói đã không ổn định lại được phát ra trong môi trường có nhiễu càng làm cho các đặc trưng của tiếng nói bị sai lệch và sẽ ảnh hưởng trong quá trình nhận dạng
1.3 Tình hình nghiên cứu và ứng dụng
1.3.1 Tình hình nghiên cứu nhận giạng tiếng nói:
Ngày nay trên thế giới đã có rất nhiều nghiên cứu về nhận dạng tiếng nói trong nhiều lĩnh vực khác nhau với rất nhiều phương pháp rất đa dạng Mỗi hệ thống nhận dạng và xử lý khác nhau ở hai đặc điểm:
- Đặc trưng tiếng nói được tách để thực hiện việc xử lý và nhận dạng
- Phương pháp áp dụng để phân biệt các đặc trưng của tiếng nói
Trang 3Các phương pháp nhận dạng tiếng nói phổ biến:
Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach)
Phương pháp ngữ âm - âm vị học dựa trên lý thuyết âm vị: lí thuyết này khẳng định sự tồn tại hữu hạn và duy nhất các đơn vị ngữ âm cơ bản trong ngôn ngữ nói gọi là âm vị, được phân chia thành: nguyên âm - phụ âm, vô thanh-hữu thanh, âm vang -âm bẹt… Các âm vị có thể xác định bởi tập các đặc trưng trong phổ của tín hiệu tiếng nói theo thời gian
Đặc trưng quan trọng nhất của âm vị là formant Đó là các vùng tần số có cộng hưởng cao nhất của tín hiệu Ngoài ra còn một số đặc trưng khác như âm vực (cao
độ - pitch), âm lượng…
Hệ thống nhận dạng dựa trên phương pháp này sẽ tách các đặc trưng từ tín hiệu tiếng nói và xác định chúng tương ứng với âm vị nào Sau đó, dựa vào một từ điển phiên âm, máy sẽ xác định chuỗi các âm vị đó có khả năng là phát âm của từ nào nhất
Xét khía cạnh nguyên lí, phương pháp có vẻ rất đơn giản Tuy nhiên các thử nghiệm trong thực tế cho thấy phương pháp cho kết quả nhận dạng không cao Nguyên nhân từ những vấn đề sau:
Phương pháp cần rất nhiều tri thức về ngữ âm học, nhất là các tri thức liên quan đến đặc tính âm học của các âm vị Mà những tri thức này nhìn chung còn chưa được nghiên cứu đầy đủ
formant chỉ ổn định đối với các nguyên âm, với phụ âm formant rất khó xác định và không ổn định Hơn nữa việc xác định các formant cho độ chính xác không cao Đặc biệt khi chịu ảnh hưởng của nhiễu (là vấn đề thường xảy trong thực tế)
Rất khó phân biệt các âm vị dựa trên phổ, nhất là các phụ âm vô thanh Có một số phụ âm rất giống nhiễu (ví dụ: /s/, /h/)
Trang 4 Phương pháp trí tuệ nhân tạo (artifactial intelligence approach)
Phương pháp trí tuệ nhân tạo nghiên cứu cách học nói và học nghe của con người, tìm hiểu các quy luật ngữ âm, ngữ pháp, ngữ nghĩa, ngữ cảnh… và tích hợp chúng bổ sung cho các phương pháp khác để nâng cao kết quả nhận dạng
Chẳng hạn có thể thêm các hệ chuyên gia (expert system), các luật logic mờ (fuzzy logic) về ngữ âm, âm vị… vào các hệ nhận dạng tiếng nói dựa trên phương pháp ngữ âm-âm vị học để tăng độ chính xác cho việc xác định các âm vị (vấn đề
đã được đề cập là rất khó nếu chỉ sử dụng các thông tin về âm phổ )
Hay đối với các hệ nhận dạng mẫu, người ta cải tiến bằng cách với mỗi đối tượng cần nhận dạng, hệ thống sẽ chọn ra một số mẫu “giống” đối tượng nhất, sau
đó sẽ kiểm chứng tiếp các kết quả đó bằng các luật ngữ pháp, ngữ nghĩa, ngữ cảnh… để xác định mẫu phù hợp nhất
Hiện nay đang có một phương pháp trí tuệ nhân tạo trong nhận dạng tiếng nói được nghiên cứu rộng rãi là mạng nơron Tuỳ vào cách sử dụng, mạng nơron có thể coi là mở rộng của phương pháp nhận dạng mẫu hoặc phương pháp ngữ âm-
âm vị học
Phương pháp nhận dạng mẫu (pattern recognition approach)
Phương pháp nhận dạng mẫu dựa vào lý thuyết xác suất - thống kê để nhận
dạng dựa trên ý tưởng: so sánh đối tượng cần nhận dạng với các mẫu được thu
thập trước đó để tìm mẫu "giống" đối tượng nhất
Như vậy hệ thống nhận dạng sẽ trải qua 2 giai đoạn:
Giai đoạn huấn luyện thực hiện các nhiệm vụ: thu thập mẫu,
phân lớp và huấn luyện hệ thống ghi nhớ các mẫu đó
Trang 5Nguồn vào Thu thập, tiền xử
lý
Trích chọn đặc trưng
Hình 1.1 Sơ đồ giai đoạn huấn luyện của phương pháp đối sánh mẫu
Giai đoạn nhận dạng: nhận vào đối tượng cần nhận dạng, so
sánh với các mẫu và đưa ra kết quả là mẫu giống đối tượng nhất
Nguồn vào Thu thập, tiền xử
lý
Trích chọn đặc trưng
Hình 1.2 Sơ đồ giai đoạn nhận dạng của phương pháp đối sánh mẫu
Phần lớn các hệ nhận dạng thành công trên thế giới là sử dụng phương pháp này Phương pháp có những ưu điểm sau:
Sử dụng đơn giản, dễ hiểu, mang tính toán học cao (lý thuyết xác suất thống kê, lý thuyết máy học, …)
Trang 6 Ít bị ảnh hưởng của những biến thể về bộ từ vựng, tập đặc trưng, đơn vị nhận dạng, môi trường xung quanh…
Cho kết quả cao Điều này đã được kiểm chứng trong thực tế
Nhận dạng mẩu sử dụng mô hình Markov ẩn là phương pháp được chọn để thực hiện đề tại nên sẽ được trình bày chi tiết ở phần sau của báo cáo
1.3.2 Khả năng ứng dụng:
Hệ thống nhận dạng tiếng nói là hệ thống cho phép đầu vào là tiếng nói con người Có 3 ứng dụng cơ bản của hệ thống nhận dạng tiếng nói:
Voice commands: người sử dụng nói vào một lệnh và máy tính thực hiện
một công việc tương ứng với lệnh đó
Text dictation: người sử dụng đọc chính tả, còn máy tính sẽ ghi lại
những gì người sử dụng đọc Đòi hỏi máy tính phải cho phép đọc toàn bộ từ vựng trong ngôn ngữ
Speaker recognition: người sử dụng đọc vào một câu cho sẵn và máy
tính sẽ định danh người dùng dựa trên các đặc tính của giọng nói
1.4 Tình hình tổng quan trong và ngoài nước
Thế giới:
Trên thế giới đã có nhiều nhà khoa học ở các trường đại học và công ty lớn đầu
từ vào lĩnh vực nhận dạng tiếng nói và đã có nhiều thành tựu đáng kể Dưới đây là một số dự án nghiên cứu tiêu biểu
CMU SPHINX: còn gọi gọn là SPHINX là một hệ nhận dạng tiếng nói được phát triển tại đại học Carnegie Mellon, bao gồm một Engine nhận dạng tên là SPHINX và một chương trình huấn luyện âm vị là SphinxTrain Kể từ năm
2001, nhóm phát triển Sphinx đã mở mã nguồn một số thành phần của chương trình nhận dạng bao gồm Sphinx 2 và tới nay là Sphinx 4 Ngoài ra còn một số chương trình khác kèm theo gồm chương trình huấn luyện mô hình âm vị (acoustic model), chương trình biên dịch mô hình ngôn ngữ (language model) và
Trang 7từ diển phát âm (cmudict), là các chương trình cần thiết để sử dụng Sphinx Chi
tiết về Sphinx có thể tham khảo tại địa chỉ http://cmusphinx.sourceforge.net
Microsoft Speech Recognition: từ năm 1993 sau khi tuyển mộ được người đứng đầu của nhóm nghiên cứu Sphinx – X.Huang, từ đại học Carnegie Mellon, Microsoft bị thu hút vào lĩnh vực nghiên cứu nhận dạng tiếng nói và chuyển văn bản sang tiếng nói(text - to - speech) Công ty này sau đó đã xây dựng Speech API (SAPI), một giao diện lập trình dành cho những ai muốn phát triển ứng dụng liên quan đến giọng nói trên môi trường Windows Hiện tại đã có SAPI
http://www.microsoft.com/speech/speech2007/default.mspx
Julius: là một dự án mã nguồn mở nghiên cứu phát triển hệ nhận dạng tiếng nói với bộ từ vựng lớn (khoảng 60000 từ) dựa trên mô hình Markov ẩn phụ thuộc ngữ cảnh Mục tiêu chính của Julius là phát triển hệ nhận dạng tiếng nói liên tục với bộ từ vựng lớn dành cho tiếng Nhật Đây là một chương trình nhận dạng mã nguồn mở có khả năng nghiên cứu mở rộng cho nhiều ngôn ngữ khác
nhau, chi tiết tại địa chỉ http://julius.sourceforge.jp/en_index.php
Dragon: đây là một sản phẩm thương mại nổi tiếng trong lĩnh vực nhập giạng và tổng hợp tiếng nói được công ty NUACE Công ty này đã phát triển
hệ nhận dạng của riêng mình và cho ra đời nhiều phiên bản Dragon khác nhau đáp ứng các nhu cầu khác nhau như Dragon cho lĩnh vực y khoa, Dragon phục vụ học tập…Tuy nhiên vì đây là một chương trình mã đống nên không có khả năng
nghiên cứu Chi tiết tham khảo tại http://www.nuance.com/dragon/index.htm
Trong nước:
Mặc dù thế giới đã có nhiều công trình nghiên cứu và ứng dụng mang lại thành công như vậy, nhưng do nhiều lý do mà ở trong nước chưa có một hệ nhận dạng tiếng nói nào được phát triển một cách hoàn chỉnh cũng như rất ý đề tài nghiên cứu về lĩnh vực này Được biết đến nhiều nhất trong nhận dạng tiếng Việt là chương trình Vspeech của nhóm sinh viên tại trường đại học Bách khoa TpHCM Đây là chương trình đã đoạt giải thưởng Trí tuệ Việt Nam năm 2004 Vspeech là
Trang 8một chương trình hoạt động dựa trên bộ máy nhận dạng tiếng nói của Microsoft tích hợp sẳn trong Windows
Cách hoạt động của Vspeech hết sức đơn giản, dựa trên sự tương đối giống nhau khi phiên âm latin của một số từ tiếng Anh và tiếng Việt, nhóm Vspeech đã
sử dụng chương trình nhận dạng tiếng nói của Microsoft cung cấp, thực hiện thao tác nhận dạng sau đó ánh xạ từ tiếng Anh nhận được sang từ tiếng Việt có phiên
âm latin gần giống nhất
Ví dụ, từ “hai” trong tiếng Việt phát âm gần giống với “hi”- nghĩa là xin chào- trong tiếng Anh Khi một người nói “hai”, bộ nhận giạng tiếng nói của Microsoft
sẽ cho kết quả là “hi”, từ kết quả này, Vspeech sẽ ánh xạ “hi” với “hai” trong tiếng Việt và cung cấp kết quả cuối cùng của thao tác nhận dạng là “hai”, đúng với
từ mà người nói mong muốn
Với cách làm này, công việc chủ yếu của nhóm Vspeech là tìm ra những từ tiếng Anh có phiên âm gần giống với từ tiếng Việt, sau đó chỉ cho phép bộ nhận dạng tiếng nói (tiếng Anh) của Microsoft chấp nhận các từ này là kết quả nhận dạng cuối cùng Bộ từ vựng này sẽ được ánh xạ với một bộ từ tiếng Việt cùng phiên âm tương ứng Việc còn lại là từ kết quả là từ tiếng Anh có được từ bộ nhận dạng của Microsoft, Vspeech sẽ ánh xạ sang từ tiếng Việt tương ứng và đưa ra kết quả nhận dạng là từ tiếng Việt này
Ưu điểm trong cách làm này là không cần phải xây dựng một bộ nhận dạng tiếng nói mà sử dụng lại cái có sẳn, thời gian xây dựng ứng dụng nhanh
Tuy nhiên, cách làm này là không bền vững vì:
- Không phải từ tiếng Việt nào cũng có từ tiếng Anh phát âm gần giống
- Những từ tiếng Việt chỉ khác dấu phát âm gần giống nhau sẽ khó phân biệt trong quá trình nhận dạng
- Không nhận dạng được khi nói nhiều từ liên tục
Những nhược điểm trên là bởi vì bộ nhận dạng tiếng nói của Microsoft là một
bộ nhận dạng tiếng nói dành cho tiếng Anh và một số ngôn ngữ khác mà không hổ trợ tiếng Việt, trong khi đặc điểm về ngữ âm, ngữ pháp, mô hình ngôn ngữ của các
Trang 9ngôn ngữ khác nhau là khác nhau Do đó mà độ chính xác khi nhận dạng là không cao cũng như khả năng đáp ứng thấp
Vì lí do này mà nhóm thực hiện đề tài đã nghiên cứu chi tiết về các kỹ thuật sữ dụng trong nhận dạng tiếng nói nói chung và các hệ nhận dạng các ngôn ngữ khác được mở mã nguồn, để từng bước xây dựng một hệ nhận dạng tiếng nói dành cho tiếng Việt
Trang 102.1.1 Lý thuyết về tiếng nói
Mục đích của tiếng nói là truyền thông tin Có một số đặc trưng cho việc truyền tiếng nói Theo lý thuyết thông tin, tiếng nói có thể biểu diển dưới dạng nội dung thông báo hoặc thông tin Một cách đặc trưng khác là tiếng nói biễu diễn dưới dạng tín hiệu mang thông tin thông báo Mặc dù các quan điểm lý thuyết của thông tin đống vai trò chủ đạo trong các hệ thống truyền tin phức tạp, ta sẽ thấy là biễu diễn tiếng nói dựa trên dạng sóng hoặc mô hình tham số được sử dụng chính trong các ứng dụng thực tế
Để xét quá trình thông tin tiếng nói, đầu tiên nên coi thông báo như một dạng trừu tượng nào đó trong đầu người nói Qua quá trình phúc tạp tạo âm, thông tin trong thông báo này được chuyển trực tiếp thành tín hiệu âm học Thông tin thông báo có thể được biểu diễn dưới một số dạng khác nhau trong quá trình tạo tiếng nói Chẳng hạn, thông tin thông báo lúc đầu được chuyển thành tập hợp các tín hiệu thần kinh điều khiển có chế phát âm (đó là chuyển động của lưỡi, môi, dây thanh âm…) Bộ máy phát âm chuyển động tương ứng với các tín hiệu thần kinh này để tạo ra dãy các điệu bộ, mà kết quả cuối cùng là dạng sóng âm chứa thông tin trong thông báo gốc
Thông tin được thông báo bằng tiếng nói về bản chất là rời rạc, có thể biểu diễn bởi việc dán các phần tử ở một tập hợp hữu hạn các ký hiệu Các ký hiệu mà mỗi âm có thể được phân loại ra gọi là các âm vị (phoneme) Mỗi ngôn ngữ có tập hợp các âm vị riêng của nó, con số mẫu mực là khoảng từ 30 đến 50 Ví dụ tiếng Anh có thể biểu diễn bằng khoảng 42 âm vị, tiếng Việt khoảng 33 âm vị ( 12 nguyên âm : a, ă, â, o, u… và 21 phụ âm: k, l, m, ph …)
Trang 11Trong lý thuyết thông tin người ta còn xét tốc độ truyền thông tin Với tiếng nói, lưu ý đến các giới hạn vật lý của tốc độ chuyển động của bộ máy phát âm, đánh giá thô của tốc độ thông tin là con người tạo ra tiếng nói với tốc độ trung bình khoảng 10 âm vị trong 1 giây Nếu mỗi âm vị biễu diễn bằng một số nhị phân thì mã số 6 bit là quá đủ để biểu diễn tất cả các âm vị tiếng Anh Với tốc độ trung bình khoảng 10 âm vị trên giây và bỏ qua tương tác giữa cặp âm vị liền kề, ta có ước lượng 60 bit/giây cho tốc độ thông tin trung bình của tiếng nói Nói cách khác
là lượng viết ra của tiếng nói chứa thông tin tương đương với 60 bit/giây ở tốc độ nói chuẩn Dĩ nhiên, cận dưới của nội dung thông tin xác thực trong tiếng nói được coi là cao hơn tốc độ này Ước lượng trên không tín đến các nhân tố như trạng thái của người nói, tốc độ nói, âm hưởng của tiếng nói,v v…
2.1.2 Một số đặc điểm ngữ âm tiếng Việt
Một đặc điểm dễ thấy là tiếng Việt là ngôn ngữ đơn âm (monosyllable - mỗi từ đơn chỉ có một âm tiết), không biến hình (cách đọc, cách ghi âm không thay đổi trong bất cứ tình huống ngữ pháp nào) Tiếng Việt hoàn toàn khác với các ngôn ngữ Ấn-Âu như tiếng Anh, tiếng Pháp là các ngôn ngữ đa âm, biến hình
Nhìn về mặt ghi âm: âm tiết tiếng Việt có cấu tạo chung là: phụ âm-vần Ví dụ
âm tin có phụ âm t, vần in Phụ âm là một âm vị và âm vị này liên kết rất lỏng lẻo
với phần còn lại của âm tiết (hiện tượng nói lái)
Vần trong tiếng Việt lại được cấu tạo từ các âm vị nhỏ hơn, trong đó có một
âm vị chính là nguyên âm
Hình sau là phổ tín hiệu của âm tiết “ba” Chúng ta có thể quan sát và phân biệt
rõ miền nhiễu nền, miền phổ của phụ âm b và nguyên âm a (miền đậm hơn là có mật độ năng lượng lớn hơn)
Trang 12Hình 2.1: Phổ tín hiệu của âm tiết “ba”, có miền nhiễu nền (silence), miền tín hiệu của phụ âm
/b/ và nguyên âm /a/ (miền đậm hơn là có mật độ năng lượng lớn hơn)
Quan sát phổ các âm tiết tương tự chúng ta có thể rút ra kết luận: các phụ âm
và nguyên âm đều phân biệt với nhau rất rõ qua sự phân bố năng lượng tại các miền tần số, ví dụ: phụ âm ở tần số thấp, năng lượng nhỏ, nguyên âm có năng lượng lớn ở cả vùng tần số cao Vùng không có tín hiệu tiếng nói (nhiễu nền và khoảng lặng) có năng lượng thấp và chỉ tập trung ở các tần số rất thấp
Các nguyên âm có tần phổ (spectrum) khác nhau khá rõ Hình sau minh hoạ sự khác nhau về phổ của 5 nguyên âm cơ bản Miền đậm là miền có mật độ năng lượng cao
Trang 13Hình 2.2: Sự khác nhau về phổ của 5 nguyên âm cơ bản Miền đậm là miền
có mật độ năng lƣợng cao (vùng có formant)
Theo tác giả Đoàn Thiện Thuật , xét về mặt ngữ âm-âm vị học âm tiết tiếng
Việt có lƣợc đồ nhƣ sau:
Thanh điệu
Âm đầu Vần
Âm đệm Âm chính Âm cuối
Lƣợc đồ cho thấy âm tiết tiếng Việt có cấu trúc rõ ràng, ổn định Lƣợc đồ còn
cho thấy tiếng Việt là ngôn ngữ có thanh điệu Hệ thống thanh điệu gồm 6 thanh:
bằng, huyền, sắc, hỏi, ngã, nặng
Thanh điệu trong âm tiết là âm vị siêu đoạn tính (thể hiển trên toàn bộ âm tiết)
Do đó đặc trƣng về thanh điệu thể hiện trong tín hiệu tiếng nói không rõ nét nhƣ
các thành phần khác của âm tiết
Trang 14Sự khác biệt về cách phát âm tiếng Việt rất rõ rệt theo giới, lứa tuổi và đặc biệt
là theo vị trí địa lí (giọng miền Bắc, miền Trung và miền Nam khác nhau rất nhiều)
2.1.3 Lý thuyết về âm vị
2.1.3.1 Định nghĩa âm vị
Có nhiều cách định nghĩa âm vị khác nhau:
Theo cuốn Ngữ âm học tiếng Việt hiện đại, NXBGD 1972, nhóm tác giả Cù
Đình Tú thì âm vị là “đơn vị nhỏ nhất của ngữ âm có mang chức năng phân biệt
nghĩa và nhận diện từ”
Theo cuốn ngữ âm tiếng Việt của Đoàn Thiện Thuật thì âm vị là “tổng thể các
nét khu biệt, được xuất hiện đồng thời (được con người tri giác theo trật tự trước sau) và có chức năng khu biệt vỏ âm thanh của từ hoặc hình vị”
Theo Giáo sƣ Cao Xuân Hạo, những cách định nghĩa trên còn có những chổ chƣa thỏa đáng: “mang tính chất ấn tƣợng chủ nghĩa, có sự lầm lẫn về cách tri giác
tính đồng thời, kế tiếp” … và theo ông thì âm vị là “đơn vị khu biệt âm thanh nhỏ
nhất có thể tham gia vào thế đối lập âm vị học về trật tự thời gian”, hoặc âm vị là đơn vị âm vị học tuyến tính nhỏ nhất
Theo Đinh Lê Thƣ và Nguyễn Văn Huệ, “người ta thường định nghĩa âm vị là
đơn vị nhỏ nhất của cơ cấu âm thanh ngôn ngữ, dùng để cấu tạo và phân biệt hình thức ngữ âm của những đơn vị có nghĩa của ngôn ngữ từ và hình vị Ví dụ: các từ tôi và đôi, ta và đa trong tiếng Việt phân biệt nhau bởi các âm vị /t/ và /đ/ Nếu thay âm vị này bằng một âm vị khác trong cùng một âm tiết sẽ làm cho âm tiết đó thay đổi về nghĩa hoặc mất nghĩa Ví dụ, ta có từ “toàn”, nếu thay âm vị /t/ bằng
âm vị /h/, thì sẽ được “hoàn” có nghĩa khác”
Trang 152.1.3.2 Chức năng của âm vị
Các âm vị trên nguyên tắc nhất định phải có sự khác nhau, ít nhất là về một đặc trưng nào đó Chính nhờ sự khác biệt này mà các âm vị có thể tạo ra sự khác biệt
về hình thức âm thanh của hình vị và từ, tạo nên những tín hiệu khác biệt đối với
sự cảm thụ của con người Theo đó, âm vị có 2 chức năng cơ bản: chức năng khu biệt vỏ âm thanh của hình vị và từ, và chức năng cấu tạo nên những thành tố của đơn vị có nghĩa
2.1.3.3 Tách âm vị và xác định âm vị trên chuỗi sóng âm
Số lượng từ trong mỗi ngôn ngữ đều rất lớn Xây dựng hệ nhận dạng theo từ có khả năng phân biệt số lượng từ đó quả là một thách thức Thay vào đó, người ta nghĩ ra cách xây dựng hệ nhận dạng dựa trên hướng tiếp cận âm vị Theo đó, chỉ cần nhận dạng khoảng vài chục âm vị sẽ có thể nhận dạng được toàn bộ từ của một ngôn ngữ (Theo thống kê, số âm vị trong một ngôn ngữ dao động từ khoảng 20 đến 60) Và đây cũng chính là hướng tiếp cận đúng đắn cho nhận dạng tiếng nói tiếng Việt Tuy nhiên, người ta lại gặp khó khăn khác, đó là tách âm vị và xác định
âm vị trên chuỗi sóng âm: Cho một dãy tín hiệu tiếng nói đã thu sẵn Nhiệm vụ của chúng ta là tìm ranh giới của tất cả các âm vị và cho biết âm vị đó là âm vị gị Chưa nói đến khả năng thực hiện công việc đó bằng máy, ngay cả con người vẫn
có thể bị nhầm lẫn khi tách âm vị bằng tay do ranh giới giữa các âm vị thường mập mờ và hay chồng lấp lên nhau Cả khi 2 âm vị thuộc 2 âm tiết khác nhau, nếu đứng kế nhau vẫn có thể xảy ra sự chồng lấp Vì vậy, công việc tách âm vị trên chuỗi sóng âm chỉ mang tính tương đối
Những thuận lợi và khó khăn đối với nhận dạng tiếng nói tiếng Việt
Thuận lợi
Những đặc điểm ngữ âm tiếng Việt cho thấy nhận dạng tiếng nói tiếng Việt có một số thuận lợi sau:
Trang 16 Tiếng Việt là ngôn ngữ đơn âm, số lượng âm tiết không quá lớn Điều này
sẽ giúp hệ nhận dạng xác định ranh giới các âm tiết dễ dàng hơn nhiều Đối với hệ nhận dạng các ngôn ngữ Ấn-Âu (tiếng Anh, tiếng Pháp ) xác định ranh giới âm tiết (endpoint detection) là vấn đề rất khó và ảnh hưởng lớn đến kết quả nhận dạng
Tiếng Việt là ngôn ngữ không biến hình từ Âm tiết tiếng Việt ổn định, có cấu trúc rõ ràng Đặc biệt không có 2 âm tiết nào đọc giống nhau mà viết khác nhau Điều này sẽ dễ dàng cho việc xây dựng các mô hình âm tiết trong nhận dạng; đồng thời việc chuyển từ phiên âm sang từ vựng (lexical decoding) sẽ đơn giản hơn so với các ngôn ngữ Ấn-Âu Việc chuyển từ phiên âm sang từ vựng cũng
là một vấn đề khó khăn trong nhận dạng các ngôn ngữ Ấn-Âu
Cách phát âm tiếng Việt thay đổi nhiều theo vị trí địa lí Giọng địa phương trong tiếng Việt rất đa dạng (mỗi miền có một giọng đặc trưng)
Hệ thống ngữ pháp, ngữ nghĩa tiếng Việt rất phức tạp, rất khó để áp dụng vào hệ nhận dạng với mục đích tăng hiệu năng nhận dạng Hệ thống phiên âm cũng chưa thống nhất
Các nghiên cứu về nhận dạng tiếng Việt cũng chưa nhiều và ít phổ biến Đặc biệt khó khăn lớn nhất là hiện nay chưa có một bộ dữ liệu chuẩn cho việc huấn luyện và kiểm tra các hệ thống nhận dạng tiếng Việt
2.2 Lý thuyết xử lý tín hiệu số
Trang 17Trong các hệ thống truyền tiếng nói, tín hiệu tiếng nói được truyền đi, lưu giữ
và xử lý bằng nhiều cách Các giải pháp kỹ thuật cho ta nhiều cách biểu diễn tín hiệu tiếng nói Có 2 cách chính:
- Lưu giữ nội dung thông báo trong tín hiệu tiếng nói
- Biểu diễn tín hiệu tiếng nói dưới dạng thuận tiện để truyền đi học lưu giữ, hoặc dưới dạng linh động để có thể sửa chữa mà không ảnh hưởng đến nội dung thông báo
Biểu diễn tín hiệu tiếng nói phải làm sao cho nội dung thông tin có thể dễ dàng lĩnh hội được bởi người nghe hoặc bằng máy tự động Trong việc thiết kế và
xử lý các biểu diễn này, các phương pháp xử lý tín hiệu đóng vai trò cơ bản
2.2.1 Xử lý tín hiệu
Trong trường hợp tính hiệu tiếng nói, người ta coi nguồn thông tin, đo đạc hoặc quan sát, nói chung, là có dạng sóng âm Xử lý tín hiệu bao gồm trước hết là nhận được biểu diễn tín hiệu dựa trên mô hình đã cho và sau đó là dùng biến đổi ở mức cao hơn để đặt tín hiệu và dạng tiện dụng hơn Các thao tác và xử lý thông tin được vẽ như hình dưới đây
Bước cuối cùng của xử lý tín hiệu là trích ra và sử dụng thông tin Bước này có thể được thực thực hiện hoặc bởi người nghe hoặc tự động bằng máy Lấy ví dụ là
Trang 18hệ thống có chức năng nhận biết tự động người nói từ một tập hợp người đã cho,
có thể sử dụng biểu diễn phổ phụ thuộc thời gian của tín hiệu tiếng nói Một biết đổi tín hiệu có thể dùng là phổ trung bình ở một câu đầy đủ, so sánh phổ trung bình với phổ trung bình đã lưu trữ của mỗi người nói, rồi sau đó dựa trên số đo tương tự của phổ mà nhận biết người nói Ở ví dụ này, thông tin trong tín hiệu dùng để nhận dạng người nói Thao tác tính toán số đo tương tự, tìm câu phù hợp nhất với tín hiệu tiếng nói … liên quan đến đến tính toán xác suất và thống kê được trình bày ở phần tiếp theo của chương
2.2.2 Xử lý tín hiệu số
Xử lý tín hiệu số tập trung vào 2 việc chính là nhận được các biễu diễn rời rạc của tín hiệu và lý thuyết, thiết kế, thực hiện các thủ tục số để xử lý các biểu diễn rời rạc này Đối tượng của xử lý tín hiệu số là nhận biết các đối tượng trong xử lý tín hiệu tương tự Câu hỏi đặt ra là vì sao các kỹ thuật xử lý tín hiệu số lại được dùng để nghiên cứu thông tin tiếng nói? Đầu tiên và quan trọng nhất là các hàm xử
lý tín hiệu phức tạp có thể thực hiện bằng cách dùng kỹ thuật số Khi xử lý tín hiệu tiếng nói, nhiều trường hợp không thể coi các hệ thống này là các hệ thống xấp xỉ của các hệ thống tương tự
Các kỹ thuật xử lý tín hiệu số lúc đầu được dùng trong các hệ thống xử lý tiếng nói như mô phỏng các hệ thống tương tự phức tạp Quan điểm lúc đầu là phải mô phỏng các hệ thống tương tự trên máy tính để tránh việc xây dựng các hệ thống để thực nghiệm Xúc tác chính là sự phát triển của máy tính nhanh hơn và các tiến bộ nhanh trong lý thuyết kỹ thuật xử lý tín hiệu số Như vậy, các hệ thống xử lý tín hiệu số có khả năng mô phỏng các hệ tương tự tốt, cộng thêm với các phát triển về
lý thuyết và phần cứng số làm tăng ưu thế của các hệ thống xử lý tín hiệu số so với các hệ thống tương tự Các hệ thống số đã trở nên đáng tin cậy và rất chặt chẽ Công nghệ đã cho phép các hệ thống cực kỳ phức tạp có thể hoạt động trên một chip đơn, các thành phần logic đủ nhanh đế số lớn các tính toán thực tế trong
Trang 19nhiều hàm xử lý tín hiệu có thể thực hiện trong thời gian thực và ở tốc độ mẫu tiếng nói
Có nhiều lý do khác để dùng kỹ thuật số trong các hệ thống thông tin tiếng nói Chẳng hạn, nếu mã hóa được dùng, tiếng nói dưới dạng số hóa có thể truyền đi một cách tin cậy trên các kênh rất ồn Cũng vậy, nếu tín hiệu tiếng nói ở dạng số thì nó đồng nhất với dữ liệu của các dạng khác Do vậy, một hệ thống có thể dùng
để truyền tín hiệu tiếng nói cùng các tín hiệu khác mà không cần phân biệt chúng trừ việc giải mã Ngoài ra, về yêu cầu bảo mật việc truyền tín hiệu tiếng nói, biểu diễn số có ưu thế hơn hẳn so với các hệ thống tương tự Với các lý do trên và nhiều lý do khác nữa mà các kỹ thuật số được sử dụng ngày càng nhiều trong các bài toán về tiếng nói
2.2.3 Cơ sở xử lý tín hiệu số
Trong hầu hết tình huống xử lý hoặc truyền thông tin, người ta phải bắt đầu bằng việc biểu diễn tín hiệu như mẫu biến đổi liên tục Sóng âm phát ra cũng có bản chất như vậy Về mặt toán học, có thể biểu diễn các mẫu biến đổi liên tục như
vậy là hàm của biến liên tục t biểu diễn thời gian Trong phần lý thuyết này, ký
hiệu x(t) cho dạng sóng thời gian biến đổi liên tục Cũng có thể biểu diễn tín hiệu tiếng nói như các dẫy số, ký hiệu x(n) dùng để biểu diễn dẫy số
Khi nghiên cứu về các hệ thống xử lý tín hiệu tiếng nói người ta sẽ sử dụng một số dãy số cơ bản như dãy xung đơn vị, dãy bước đơn vị, dãy lũy thừa…
Trang 20Xử lý tín hiệu đòi hỏi biến đổi tín hiệu thành dạng mong muốn theo một nghĩa nào đó Lớp các hệ thống bất biến –dịch chuyển tuyến tính (LSI – Linear Shift Invariant) thường được dùng trong xử lý tiếng nói Các hệ thống này được đặc trưng hoàn toàn bởi đáp ứng của chúng với đầu vào Với các hệ thống này, đầu ra y(n) có tể tính được từ đầu vào x(n) và đáp ứng của mẩu đơn vị h(n) theo tích chập:
ở đây * là ký hiệu tích chập rời rạc (discrete convolution) Biểu thức tương đương là:
Các hệ thống LSI thường dùng để lập các phép lọc trên các tín hiệu tiếng nói
và đặc biệt là trong các mô hình tạo ra tiếng nói
Khi đã có được cách biểu diễn tiếng nói ở dạng số, người ta tiến hành các thao tác xử lí tín hiệu bằng các phép biến đổi như biến đổi Z (Z Transform – ZT), biến đổi Fourier (Fourier Transform – FT), biến đổi Fourier rời rạc (Discrete FT – DFT)… Lý thuyết về xử lý tín hiệu số có thể tìm thấy ở các giáo trình môn Xử lý tín hiệu số
CHƯƠNG 3
Trang 21MÔ HÌNH HMM VÀ NHẬN DẠNG TIẾNG NÓI 3.1 Giới thiệu
Trong phần này các phần cơ bản của mô hình HMM sẽ được giới thiệu Các định nghĩa, các tập hợp tham số, các vấn đề thiết yếu, các thuật toán chính của mô hình HMM áp dụng vào nhận dạng tiếng nói sẽ được giới thiệu Tiếp đó các phần chính của hệ nhận dạng, các công đoạn chính của nhận dạng dựa vào mô hình HMM cũng sẽ được giới thiệu sơ qua
3.2 Những vấn đề cơ bản của HMM
Mô hình HMM là mô hình thống kê thường xuyên được sử dụng để mô hình hóa tiếng nói, sử dụng cho công việc nhận dạng Cấu trúc bên trong của HMM không phải dựa vào kiến thức về tiếng nói nhưng nó lại được sử dụng trong nhận dạng để tính toán các đặc trưng số của tiếng nói
3.3 Các kiến thức toán học của HMM và các vấn đề khi sử dụng HMM vào nhận dạng tiếng nói
Mô hình Markov ẩn HMM là một mô hình thống kê dựa vào mô hình Markov
Vì vậy để hiểu được mô hình HMM chúng ta sẽ xem xét qua về mô hình Markov
và mô hình thống kê nói chung
3.3.1 Giới thiệu về nhận dạng thống kê và HMM
Quá trình thống kê là quá trình xác định xác suất của một số sự kiện và xác suất mối quan hệ giữa các sự kiện trong một tiến trình tại các thời điểm khác nhau
Biến cố ngẫu nhiên và hàm mật độ xác suất
Gọi X là tập các biến ngẫu nhiên , X = {X1,X2, …, Xn} mà tồn tại ít nhất một
sự kiện của tập X này xuất hiện Gọi xác suất của sự kiện Xi là P(Xi) Khi đó ta có xác suất của X là P(X) = 1 Nếu gọi P(Xi) là xác suất của biến cố Xi thì ta có:
Trang 22 Xác suất có điều kiện:
Gọi A và B là các biến ngẫu nhiên Xác suất có điều kiện được mô tả như sau:
Giả sử sự kiện A đã xảy ra với xác suất P(A) Xác suất của sự kiện A với điều kiện sự kiện B đã xảy kí hiệu là P(A|B) được tính như sau:
Trong nhận dạng thống kê, hai hàm xác suất có điều kiện sau thường được dùng:
- P(x|Ci): hàm mật độ xác suất của độ đo vector x thuộc về lớp Ci, với giả thiết là xác suất P(Ci) được biết trước hay có thể ước lượng được
- P(Ci|x): với điều kiện x xảy ra, xác định xác suất xuất hiện của lớp rời rạc Ci (chưa biết), thông qua P(Ci): xác suất của lớp Ci và P(x|Ci) Một tiến trình được gọi là tiến trình Markov ( Markov process) nếu xác suất của một sự kiện tại một thời điểm bị ràng buộc bởi các sự kiện trong quá khứ xác định Như vậy, mô hình Markov là một mô hình thống kê thuần túy Trạng thái là một định nghĩa giúp chúng ta hiểu được sự biến đổi của sự kiện theo thời gian
Biến cố chính trong tiến trình Markov là “đạt trạng thái i tại thời điểm t” Một
tiến trình Markov được sử dụng trong các hệ thống nhận dạng tiếng nói tự động (ASR) tuân theo các điều kiện sau:
1 Chỉ tồn tại một thời điểm phân biệt trong chuổi thời gian t = 1,2,…, T;
Trang 233 Trạng thái hiện tại và quá khứ chỉ là cách nhau một bước:
Nhiệm vụ chính của tiến trình Markov là tạo ra chuỗi trạng thái S=s1,s2, ,sT
Mô hình Markov ẩn HMM được phát triển dựa trên mô hình Markov Các khía cạnh chính yếu về sử dụng mô hình HMM trong nhận dạng tiếng nói sẽ được trình bày dưới đây
3.3.2 Các thành phần chính của HMM
Thành phần chính của HMM gồm tập hợp trạng thái và các tập hợp tham số chính
Hình 3.1 Mô hình HMM 6 trạng thái
Tập hợp các trạng thái và ba tập hợp các tham số xác định 1 mô hình HMM
Nó đặc trưng cho một tiến trình không biết trước thứ tự được mô tả như trong [Hình 3.1]
t | t 1, t 2, , t k t | t 1
Trang 24Đầu tiên S={si, i = 1,…, n} (với n là số trạng thái của HMM) là tập hợp các trạng thái của mô hình HMM
Tập hợp tham số thứ nhất được gọi là xác suất chuyển trạng thái
(transition probabilities) được định nghĩa như sau:
Tập hợp các xác suất khởi tạo mô hình HMM i: π ={πi}
Tuy nhiên trong nhận dạng tiếng nói các mô hình HMM chủ yếu được khởi tạo tại trạng thái đầu tiên nên ta bỏ qua tập xác suất khởi tạo mô hình HMM
Ý nghĩa của aij là: xác suất chuyển trạng thái từ trạng thái i tại thời điểm t-1 sang trạng thái j tại thời điểm t Chúng ta gọi ma trận A = {a ij } là ma trận chuyển trạng thái Đối với mô hình Markov, khi trạng thái trước được xác định thì xác
suất chuyển trạng thái tới trạng thái tiếp theo cũng hoàn toàn xác định
Để áp dụng HMM vào các sóng âm thanh, một hàm thống kê sẽ được gắn vào các trạng thái Đầu tiên sóng âm tiếng nói sẽ được chuyển đổi thành chuỗi các vector đặc trưng theo thời gian (sẽ được giới thiệu trong phần rút trích đặc trưng
sóng âm) Chuỗi các vector đặc trưng này gọi là chuỗi các vector quan sát
O=o 1, o 2 ,…, o T , với o t là vector đặc trưng cho chuỗi sóng âm tại t Xác suất mà hàm thống kê nói trên tính là xác suất vector đặc trưng ot đạt trạng thái j tại thời điểm t Xác suất này gọi là xác suất quan sát hay xác suất output và nó đặc trưng cho tập tham số thứ 2 của HMM:
Trang 25Tổng quát mô hình HMM có thể khởi tạo tại bất kì trạng thái nào, xác suất
mô hình HMM khởi tạo tại trạng thái i ký hiệu là πi Tập xác suất π={πi}, gọi là
tập xác suất khởi tạo mô hình HMM, là tập trạng thái thứ 3 của mô hình HMM
Tuy nhiên trong bài toán nhận dạng tiếng nói, hầu hết các mô hình HMM đều khởi tạo tại trạng thái đầu tiên nên chúng ta không cần tới tập xác suất thứ 3 này
Nhƣ vậy trong nhận dạng tiếng nói một mô hình HMM λ sẽ đƣợc đặc trƣng bởi tập trạng thái và 2 tập tham số A và B nói trên: λ = (A,B)
3.3.3 Ví dụ về nhận dạng từ đơn dựa trên HMM
Giả sử chuỗi sóng âm của từ cần nhận dạng đƣợc mã hóa bởi chuổi vector đặc trƣng (chuỗi quan sát) O=o1,o2,…,oT với oi là vector đặc trƣng tại thời điểm t Việc nhận dạng tiếng đơn là đi tình:
Có nghĩa là tìm từ có xác suất P(wi|O) lớn nhất, với wi là từ (đối với tiếng Việt là âm tiết) trong danh sách từ cần nhận dạng (tổng quát là từ trong từ điển), trong nhận dạng từ này đƣợc mô hình hóa bởi một số mô hình HMM Xác suất này không thể tính đƣợc trực tiếp nhƣng có thể dùng định luật Bayes:
Ở đây xác suất P(O) là hằng số khi cho O trên tất cả các từ có thể wi Xác suất P(wi) chỉ liên quan đến mô hình ngôn ngữ (sẽ giới thiệu trong phần sau), chúng ta cũng có thể xem nhƣ là hằng số Nhƣ vậy vấn đề của việc nhận dạng chỉ
là việc tính xác suất P(O|wi)
Trang 26Ví dụ, trong một mô hình nhận dạng đơn giản nhất, mỗi âm tiết wi sẽ được
mô hình hóa bởi mô hình HMM λi, như vậy việc tính xác suất P(O|wi) có thể qui
về tính xác suất P(O|λi)
Trong trường hợp nhận dạng âm vị mỗi âm tiết wi không tương ứng với một
mô hình λi Mỗi âm tiết tương ứng với một dãy các âm vị, mỗi âm vị được mô hình hóa bởi một mô hình HMM nên mỗi âm tiết được mô hình hóa bởi dãy các HMM âm vị λ1, λ2, …, λk Vì vậy việc tính xác suất P(O|wi) được qui về tính xác suất P(O| λ1 λ2 …λk)
3.3.4 Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM
Giả thuyết 1: giả thuyết về xác suất chuyển trạng thái:
Giả thiết thứ nhất dựa trên chính mô hình Markov Vì xác suất chuyển trạng thái aij chỉ phụ thuộc vào trạng thái phía trước nó, không hề phụ thuộc vào chuỗi quan sát nên ta có thể xem aij như là hằng Xác suất chuyển trạng thái xuất hiện tại các thời điểm khác nhau và các trạng thái khác nhau nên ta có thể xem chúng là độc lập Vì vậy việc tính xác suất của một chuỗi trạng thái wi trong một mô hình HMM λ tương tự có thể qui về:
Giả thuyết 2: Giả thuyết về xác suất quan sát:
Gọi chuỗi trạng thái của mô hình HMM ứng với chuỗi vector quan sát O là chuỗi quan sát Gọi việc tìm chuỗi trạng thái trong mô hình HMM có xác suất cao nhất ứng với 1 chuỗi quan sát O gọi là quan sát O Từ định nghĩa của xác suất quan sát b chúng ta có thể thấy rằng xác định chuỗi quan sát O (xác định chuỗi trạng thái ứng với chuỗi vector đặc trưng O) cũng là một tiến trình thống kê Tuy nhiên nó không phải là chuỗi Markov Khi một HMM tiến hành mô hình hóa một
Trang 27chuỗi quan sát của tiếng nói (tức xác định chuỗi quan sát ứng với chuỗi vector đặc trưng sóng âm), mỗi trạng thái có thể phát sinh tại bất kì vector quan sát nào (với một số ràng buộc), nhưng với xác suất khác nhau Do đó sẽ không biết được trạng thái nào sẽ gán với vector nào Như vậy sẽ không biết được chuỗi trạng thái S=s0s1 sT nào sẽ phát sinh tại chuỗi vector đặc trưng O cho trước Đây chính là
điều tiến trình Markov này được gọi là ẩn Mặc dù xác suất của sự kiện quan sát
vector ot (xác định trạng thái của Ot) tại các thời điểm t khác nhau là độc lập và hoàn toàn xác định được (điều này là rất cần thiết đối với tất cả các quá trình tính toán dựa trên HMM)
Vì vậy nên giả thiết thứ 2 là:
Cho tập hợp trạng thái S của mô hình HMM λ, ta có:
Với b st (O t ) là xác suất của vector đặc trưng Ot đạt trạng thái s tại thời điểm t Với P(S|λ) và P(O|λ) được tính toán theo 2 giả thiết trên ta có thể tính xác suất kết của O và S được tạo ra bởi mô hình λ như sau:
Tuy nhiên trong thực tế chuỗi trạng thái S lại không biết, vì vậy để tính P(O|λ) phải tính tổng trên các chuỗi S có thể có:
Trang 283.3.5 Ba vấn đề thiết yếu của HMM và các cách giải quyết
Giả sử cho một HMMs λ=(A, B) và chuỗi quan sát O= O1, O2,…, On
Tất cả các ứng dụng dựa trên mô hình Markov ẩn sẽ phải giải quyết 3 vấn đề
cơ bản sau:
i Vấn đề tính toán: Làm sao để tính đƣợc P(O|λ) (xác suất của
việc xuất hiện chuỗi quan sát O trong mô hình HMMs) với khối lƣợng tính toán tối thiểu
ii. Vấn đề ước lượng tham số cho HMM: Vấn đề này đƣợc đặt ra
trong quá trình huấn luyện Chúng ta sẽ xác định đƣợc các mô hình λ dựa
Trang 29vào dữ liệu huấn luyện Làm sao xác đình được các tham số của mô hình HMM λ=(A,B) sao cho P(O|S,λ) (hoặc P(O,S|λ) là lớn nhất.
iii Vấn đề Decoding(nhận dạng): Cho một mô hình HMM λ đã được huấn luyện Làm sao tình được chuỗi trạng thái S= s1, s2,…, sT tương
ứng với chuỗi quan sát O P(O,S|λ), sao cho xác suất của chuỗi trạng thái
của chuỗi quan sát O trùng với chuỗi S là lớn nhất.
Trước khi nêu cách giải quyết 3 vấn đề trên xin trình bày 2 thuật toán có liên quan đó là giải thuật forward-backward
Giải thuật Forward
Hàm forward αt(i) được định nghĩa như sau:
Với αt(i) là xác suất kết của việc quan sát t vector sóng âm đầu tiên đạt trạng thái i tại thời điểm t
αt(i) có thể được tính đệ qui như sau:
1 αt(i) = πibi(O1), 1≤i≤N (N là số trạng thái s)
Trang 30 Giải thuật Backward
Hàm backward βt(i) được định nghĩa như sau:
Ý nghĩa của hàm này như sau: nó là xác suất kết của chuỗi vector sóng âm thứ i+1 đến vector sóng âm thứ T với trạng thái i tại vector thứ t và mô hình λ Nó khác trường hợp giải thuật forward là trạng thái tại vector đặc trưng thứ t (là trạng thái i) là biết trước
Có thể tính β t (i) đệ qui như sau:
3.3.5.1 Giải quyết vấn đề tính toán
Vấn đề này được giải quyết bằng thuật giả Forward Áp dụng thuật giải Forward, chúng ta chỉ mất N2T, so với 2T*NT của phương pháp tính trực tiếp Ví
dụ với trường hợp N=5 và T=100 thì máy tính chỉ phải thực hiện khoảng 3000 phép nhân thay vì 1070 phép nhân như của phương pháp trực tiếp
ij 1 1