V. Thử nghiệm trên dữ liệu VOV (VOV Corpus)
5.2. Các kết quả thử nghiệm
Bảng 3.20: Các kết quả thử nghiệm trên VOV Corpus
Cách thức thử nghiệm Kết quả
ACNT-LMMN 64,2%
ACT-LMMN 63%
ACNT-LMMT 52%
58
5.3. Kết luận
Biểu đồ tổng kết các kết quả thử nghiệm trên tập dữ liệu VOV:
Hình 3.3. Biểu đồ kết quả thực hiện trên VOV Corpus
Như vậy trong các thử nghiệm ở trên: tích hợp thanh điệu không làm tăng tỷ lệ nhận dạng rõ rệt, nhưng kết hợp từ đa âm tiết cho kết quả tốt hơn nhiều, khoảng 16%.
VỊ Chƣơng trình demo
Sau khi huấn luyện dữ liệu bằng SphinxTrain ta có mô hình âm học, ta có thể sử dụng mô hình âm học kết hợp với mô hình ngôn ngữ để nhận dạng các file âm thanh tiếng Việt, bằng các bộ nhận dạng nhƣ PocketSphinx. PocketSphinx là bộ nhận dạng viết bằng ngôn ngữ C, có ƣu điểm là nhẹ và chạy đƣợc trên các thiết bị di động. Tuy nhiên hiện nay PocketSphinx hiện không đƣợc phát triển nữa, mà thay vào đó ngƣời ta viết lại toàn bộ trên nền tảng Java và gọi là Sphinx4.
Sphinx4 khác hệ thống trƣớc ở các khía cạnh nhƣ: module hóa, độ mềm dẻo trong cấu hình hệ thống, các thuật toán sử dụng. Sphinx4 sử dụng các thuật toán tìm kiếm mới hơn. Các thành phần nhƣ mô hình ngôn ngữ, ngữ pháp sử dụng, các thuộc tính của file âm thanh cũng tƣơng thích với các hệ thống nhận dạng khác.
0 10 20 30 40 50 60 70
ACNT-LMMN ACT-LMMN ACNT-LMMT ACT-LMMT
%
59
Sphinx4 viết hoàn toàn trên nền tảng Java, vì vậy có thể chạy trên môi trƣờng đa nền tảng, có thể chạy đa luồng hoặc đa nhiệm. Sphinx4 cho phép kết nối với các ứng dụng khác dễ dàng.
Do việc giải mã trên Sphinx4 mất nhiều thời gian và tài nguyên (hơn PocketSphix), nên đề tài chƣa thể thực hiện so sánh hiệu quả nhận dạng giữa PocketSphinx và Sphinx4.
Đề tài làm một ứng dụng cho phép ngƣời dùng chọn file âm thanh để giải mã bằng cách chọn mô hình ngôn ngữ và mô hình âm học.
Demo sử dụng mô hình ngôn ngữ đa âm tiết, có thanh điệụ
Hình 3.4: Demo chƣơng trình nhận dạng tiếng Việt nói
Đầu vào chƣơng trình:
Chọn mô hình ngôn ngữ và âm học ở combo box. Chọn file để giải mã.
60
CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Đề tài đã thực hiện nghiên cứu nhận dạng tiếng Việt nói bằng bộ công cụ CMUSphinx, đƣợc phát triển bởi trƣờng đại học Carnegie Mellon, phòng thí nhiệm của Sun Microsystems, phòng thí nhiệm Mitshubishi Electric, phòng thí nghiệm Hewlett-Packard's Cambridgẹ
Với những hiểu biết tiếng Việt còn có hạn của mình, đề tài đã thực hiện một số cải tiến, làm tăng khả năng nhận dạng của hệ thống (làm giảm tỷ lệ nhận dạng lỗi WER) bằng hai giải pháp chính. Đó là: cho hệ thống học (training ) thanh điệu và từ đa âm tiết của tiếng Việt.
Để đánh giá kết quả của cải tiến, đề tài thực hiện đánh giá hệ thống ban đầu: không có thanh điệu và từ đa âm tiết, để làm cơ sở. Sau đó tiến hành đánh giá hệ thống đã cải tiến và so sánh các kết quả với nhaụ
Hệ thống đƣợc đánh giá trên cơ sở dữ liệu là 50 ngƣời nói, tổng số giờ nói là 64,59 giờ. Cơ sở dữ liệu bao gồm cả giọng nam, nữ kết hợp, và ở một số vùng miền khác nhaụ
Cụ thể kết quả nhận dạng như sau:
Tỷ lệ nhận dạng tốt nhất ban đầu (chƣa cải tiến) với tỷ lệ lỗi WER= 25,5. Tỷ lệ nhận dạng tốt nhất cho việc áp dụng đơn âm, có thanh điệu WER =25,5. Tỷ lệ nhận dạng tốt nhất cho việc áp dụng đa âm tiết, không thanh điệu WER = 19,2.
Tỷ lệ nhận dạng tốt nhất cho việc áp dụng đa âm tiết, có thanh điệu WER= 19.
Như vậy việc áp dụng kết hợp cả đa âm tiết và thanh điệu cho kết quả tốt nhất. Khả năng nhận dạng của hệ thống tăng lên 25,49%.
61
Ngoài ra hệ thống cũng thử nghiệm việc nhận dạng tiếng nói với nguồn dữ liệu hoàn toàn khác so với dữ liệu đã huấn luyện, đó là nhận dạng tiếng nói đã thu âm của đài tiếng nói Việt Nam. Việc tỷ lệ WER cao có thể lý giải qua một số nguyên nhân:
Dữ liệu huấn luyện chƣa đủ lớn để có thể bao phủ toàn bộ các từ đƣợc sử dụng trong bộ test. Vì vậy có nhiều từ cần giải mã mà tập huấn luyện không có.
Môi trƣờng thu âm hoàn toàn khác nhau giữa hai nguồn dữ liệu, cũng làm ảnh hƣởng đến khả năng nhận dạng.
Các thử nghiệm lấy dữ liệu ở trên VOV Corpus cũng thống nhất với kết luận là: kết hợp từ đa âm tiết cho kết quả tốt hơn các thử nghiệm ban đầu một cách đáng kể (trên 20%).
Một số hạn chế của đề tài:
Cơ sở dữ liệu huấn luyện vẫn chƣa đủ lớn so với yêu cầụ Nếu dữ liệu thu âm nhiều lên thì khả năng nhận dạng của hệ thống sẽ cao hơn nữạ
Trong cơ sở dữ liệu huấn luyện mặc dù đã có cả nam và nữ nhƣng vẫn chƣa đầy đủ giọng của các vùng miền nên khi nhận dạng dữ liệu ngẫu nhiên có thể bị ảnh hƣởng.
Hiểu biết của tiếng Việt nói của tác giả chƣa nhiều, việc áp dụng thanh điệu, đa âm tiết nhƣ trong đề tài có thể là chƣa tối ƣu nhất.
Để tăng khả năng nhận dạng tiếng Việt nói, đề tài có thể phát triển theo một số hƣớng sau:
Thử nghiệm các cách phát âm khác nhau với tiếng Việt (việc này đòi hỏi phải có thời gian và hiểu biết tốt hơn về thanh điệu của tiếng Việt) để tìm ra cách phát âm tối ƣu nhất.
62
Tiến hành thu thập cơ sở dữ liệu nói đầy đủ hơn và đa dạng hơn, việc này sẽ đảm bảo hệ thống nhận dạng có khả năng nhận dạng những giọng nói khác nhau trong các ngữ cảnh khác nhau tốt hơn.
Tích hợp hệ thống nhận dạng vào các hệ thống di động nhƣ IOS, Android để giải quyết những vấn đề thực tế của cuộc sống.
Với thời gian thực hiện nghiên cứu về nhận dạng tiếng Việt nói chƣa nhiều nên chắc chắn đề tài còn nhiều thiếu sót, rất mong có sự góp ý của các thầy cô và các bạn.
63
TÀI LIỆU THAM KHẢO
1. L.Rabiner & B. H. Juang (1993), Fundamentals of Speech Recognition, Prentice Hall.
2. L.Rabiner & R.W. Schafer (1978), Digital processing of speech signals,
Printice-Hall.
3. L.Rabiner (1989), A Tutorial on Hiđen Markov Models and Selected Applications in Speech Recognition, Proceedings of the IEEE 77, 257–286.
4. X. Huang, Ạ Acero & H.W. Hon (2001), Spoken language processing,
Microsoft Press.
5. Đoàn Thiện Thuật (2003), Ngữ âm tiếng Việt, Nhà xuất bản đại học Quốc gia
Hà Nộị
6. Đề tài “Nhận dạng tự động tiếng Việt nói sử dụng bộ công cụ Sphinx” của Nguyễn Thị Hiền 2012
7. “Sphinx4 Adaptation to Vietnamese Language Vietnamese Automatic Digit Recognition” của Trần Việt Khải, Bố Xuân Tú 2008
Website
8. http://cmusphinx.sourceforgẹnet/wiki/tutorial 9. http://en.wikipediạorg/wiki/Speech_recognition 10. http://www.speech.cs.cmụedu/sphinx/tutorial.html
64
PHỤ LỤC Phụ lục A: Mô hình Markov ẩn
A1. Giới thiệu:
Lõi của tất cả các hệ thống nhận dạng: bao gồm tập hợp những dữ liệu thống kê về các loại âm thanh mà hệ thống sẽ nhận dạng. Vì tất cả các âm thanh đều có thể mã hóa thành chuỗi các vectơ với những dải tần số khác nhaụ Mô hình Markov ẩn cho phép xây dựng một kiến trúc để tạo những dữ liệu nhƣ vậỵ
Nền tảng của nhận dạng tiếng nói liên tục dựa trên mô hình Markov ẩn đƣợc thiết đặt từ năm 1970 bởi các nhóm tại Carnegie Mellon và IBM, phòng thí nhiệm Bell Labs.
Mô tả mô hình Markov:
Một hệ thống có N trạng thái S1, S2,…SN .
Hệ thống là rời rạc theo thời gian với các bƣớc t=0, t=1, t=n.
Ở bƣớc thứ t, trạng thái của hệ thống gọi là q với qt∈ {S1, S2,…SN} Ở giữa mỗi bƣớc, thời gian trạng thái tiếp theo đƣợc chon ngẫu nhiên
65
Trạng thái hiện tại quyết định xác xuất của trạng thái tiếp theọ A2: Mô hình Markov rời rạc về mặt thời gian
Xét một hệ thống có thể đƣợc biểu diễn tại bất kì thời điểm nào, bởi một phần tử trong tập hợp N trạng thái - phân biệt đƣợc đánh số {1, 2, … N}. Tại những thời điểm rời rạc cách đều, hệ thống thực hiện sự thay đổi trạng thái (có thể quay trở lại trạng thái đó) tuỳ theo một tập hợp các xác suất tƣơng ứng với trạng tháị Thời điểm thay đổi trạng thái đó là t = 1, 2, … và trạng thái tại thời điểm t là qt.
Với trƣờng hợp chuỗi Markov rời rạc về thời gian bậc 1, thì sự phụ thuộc xác suất đƣợc coi là chỉ liên quan tới trạng thái liền trƣớc, nghĩa là:
P(qt = j | qt – 1 = i, qt – 2 = k,…) = P(qt = j | qt – 1 = i)
Hơn thế nữa, ta giả sử rằng chỉ quan tâm đến những quá trình mà vế phải của công thức trên là độc lập với thời gian. Khi đó ta sẽ có một tập hợp các xác suất chuyển trạng thái aij có dạng nhƣ sau:
aij = P(qt = i | qt – 1 = j) 1 ≤ i, j ≤ N
Chúng thoả mãn điều kiện sau:
Các xác suất chuyển trạng thái của tất cả các trạng thái trong mô hình đƣợc mô tả bằng ma trận phân bố xác suất chuyển trạng thái nhƣ sau:
66
Một tham số nữa đƣợc sử dụng để mô tả hệ thống là vectơ phân bố xác suất trạng thái khởi tạo đƣợc mô tả nhƣ sau:
Các xác suất khởi tạo thoả mãn tính chất thống kê:
Với:
Quá trình ngẫu nhiên ở trên đƣợc gọi là một mô hình Markov quan sát đƣợc, vì tại mỗi thời điểm đầu ra của quá trình là một tập hợp các trạng thái, mỗi trạng thái tƣơng ứng với một sự kiện quan sát đƣợc (nghĩa là đầu ra của những mô hình nhƣ vậy tại bất kì một trạng thái nào không ngẫu nhiên). Mô hình Markov nhƣ vậy đƣợc mô tả bởi ma trận phân bố xác suất chuyển trạng thái A và vector phân bố xác suất π.
A3:Mô hình Markov ẩn rời rạc về mặt thời gian:
Mô hình Markov rời rạc về mặt thời gian đƣợc mô tả trong phần trƣớc tỏ ra có nhiều hạn chế trong việc áp dụng vào các ứng dụng nhƣ các giá trị chuyển trạng thái là các giá trị áp đặt sẵn, không thay đổi trong khi đối tƣợng, dữ liệu quan sát luôn biến đổi theo thời gian. Do vậy, để có thể áp dụng đƣợc vào các chƣơng trình nhận dạng, ta tiếp tục mở rộng quan niệm về mô hình Markov sang trƣờng hợp mà trong đó sự quan sát không trực tiếp, mà là một hàm xác suất của trạng thái, đó chính là các mô hình Markov ẩn (HMM – Hiđen Markov Model). Thực chất, mô hình Markov ẩn là một quá trình ngẫu nhiên đƣợc nhúng hai lần, trong đó quá trình
67
ngẫu nhiên chính không quan sát đƣợc một cách trực tiếp (nó là ẩn) mà chỉ có thể đƣợc quan sát thông qua một tập hợp các quá trình ngẫu nhiên khác, chúng tạo thành các dãy quan sát.
Một mô hình Markov ẩn đƣợc đặc trƣng bởi các thành phần sau: N: số trạng thái trong mô hình:
Các trạng thái: s = {s1, s2,…, sN} Trạng thái ở thời điểm t, qt∈ s
M: số kí hiệu quan sát (quan sát rời rạc) Tập các kí hiệu quan sát v={v1,v2,…,vM} Kí hiệu quan sát ở thời điểm t, ot v
A = {aij}: tập phân phối xác suất chuyển trạng thái: aij = P(qt+1 = sj |qt = si ), 1 ≤ i,j ≤ N
B = {bj(k)}: phân bố xác suất kí hiệu quan sát ở trạng thái j: bj (k)= P(vk at t|qt = sj ), 1 ≤ j ≤ N, 1 ≤ k ≤ M
π = {πi}: phân bố xác suất trạng thái khởi đầu: πi = P(q1= si ), 1 ≤ i ≤ N
Một mô hình HMM đƣợc viết dƣới dạng đặc trƣng λ = {A, B, π} A4. Mối quan hệ giữa mô hình Markov với tiếng nói
Nguyên tắc của một hệ thống nhận dạng tiếng nói liên tục đƣợc mô tả ở hình dƣới
Hình Ạ2 Quan hệ giữa mô hình Markov và tiếng nói
Dữ liệu đầu vào là các file âm thanh thu từ micro, sau đó đƣợc chuyển thành các chuỗi những vectơ âm học, có kích thƣớc cố định Y 1:T = y1,...,yT. Sau đó bộ
68
giải mã (Decorder) có gắng tìm một chuỗi các từ w 1:L = w1,...,wTL, mà đƣợc sinh ra bởi Y .
Cụ thể bộ giải mã sẽ tìm:
Vì P(w|Y) khó tìm trực tiếp, áp dụng luật Bayes:
Trong đó P(w) đƣợc xác định bằng mô hình ngôn ngữ. Mô hình ngôn ngữ sẽ đƣợc mô tả ở phần saụ
69
Phụ lục B. Mô hình ngôn ngữ thống kê B.1. Các khái niệm liên quan đến mô hình ngôn ngữ
B.1.1. Mô hình N-grams
Mô hình N-gram là một kiểu mô hình xác suất dùng cho việc đoán đối tƣợng tiếp theo trong một chuỗi đối tƣợng . Mô hình ngôn ngữ N-grams là mô hình ngôn ngữ với độ dài chuỗi từ là N. N-grams đƣợc sử dụng rất nhiều trong xử lí ngôn ngôn ngữ tự nhiên thống kê và trong việc phân tích Gen. N-gram là một chuỗi N đối tƣợng xuất hiện liên tiếp, các đối tƣợng này có thể là các âm vị, các kí hiệu, kí tự hay là các từ phụ thuộc vào các ứng dụng riêng. N-grams với N có giá trị là một thì đƣợc gọi là mô hình unigram , nếu N bằng hai thì là bigrams, nếu N bằng 3 thì là trigrams…
Mô hình n-grams đối với ngôn ngữ tự nhiên sử dụng phƣơng pháp thống kê xác suất của n-grams.
Hệ thống tìm kiếm khổng lồ Google sử dụng mô hình n-grams trong các dự án nghiên cứu và phát triển nhƣ dịch máy, nhận dạng tiếng nói, kiểm tra phát âm (checking spelling) , nhận dạng thực thể (entity recognition) và khai thác thông tin (data minning).
B.1.2. Các phƣơng pháp làm trơn (Smooth)
Trong thống kê và xử lý dữ liệu, việc làm mƣợt tập dữ liệu là tạo ra một cách tính xấp xỉ các mẫu dữ liệụ Công việc làm mƣợt là hết sức quan trọng. Trong xây dựng mô hình ngôn ngữ sử dụng các phƣơng pháp làm trơn nhƣ :
- Nội suy tuyến tính (Linear interpolation). - Phƣơng pháp giảm Good-Turing .
- Phƣơng pháp giảm Witen-Bell
- Phƣơng pháp giảm tuyệt đối (Absolute discounting) .
B.2. Lý thuyết liên quan đến mô hình ngôn ngữ B.2.1. Lý thuyết xác suất B.2.1. Lý thuyết xác suất
70
Xác suất của sự kiện E, dùng để chỉ khả năng xảy ra sự kiện E trong phép thử đƣợc viết là P(E). Một sự kiện E có số lần xuất hiện là n trong tổng số N lần xảy ra thì xác suất của sự kiện E đối với tổ hợp sự kiện trên là :
P(E)=n/N. (số lần xuất hiện của sự kiện E trên tổng số lần xuất hiện của các sự kiện).
B.2.1.2. Xác suất có điều kiện
Xác suất mà biến cố E xảy ra khi biết việc xảy ra của biến cố F là một xác suất có điều kiện của E khi biết F, giá trị số của nó là P E( F) / ( )P F (với điều kiện là P(F) khác 0). Nếu xác suất có điều kiện của E khi biết F là bằng với xác suất ("không có điều kiện") của E, thì E và F đƣợc xem là các sự kiện độc lập. Vì quan hệ giữa E và F là đối xứng nên ta có thể nói rằng P E( F)P E P F( ) ( ).
Tổng quát hơn :
P(A,B,C,D)=P(A)*P(B|A)*P(C|A,B)*P(D|A,B,C). (1) Đối với dãy X1,X2,…Xn thì :
P(X1,X2,…Xn)=P(X1)*P(X2|X1)*P(X3|X1,X2)*…*P(Xn|X1,X2,X3…Xn-1). (2) B.2.2. Mô hình ngôn ngữ n-gram
Việc chúng ta cần phải tính các xác suất của chuỗi n từ P(W1,W2,…Wn) =P(W). Thay vì thế ta cần tính xác suất có điều kiện P (Wn| W1,W2..Wn-1) nghĩa là xác suất của từ Wn khi đã biết n-1 từ trƣớc đó.
Công thức tính xác suất cho chuỗi n từ.
71
B.2.4. Đánh giá mô hình ngôn ngữ bằng Perplexity
Để đo sự thực hiện của một mô hình ngôn ngữ dựa vào xác suất trung bình có thể đƣợc phát triển trong định luật thông tin (shannon). Một nguồn nói ra có thể coi nhƣ một khối thông tin nguồn mà sẽ sinh ra các từ tuần tự w1,w2, … ,wm từ bộ từ vựng W. Khả năng của kí hiệu i phụ thuộc vào i-1 kí hiệu trƣớc đó. Entropy H diễn tả số lƣợng các thông tin không dƣ thừa cung cấp cho mỗi từ mới ở giá trị trung bình, đƣợc tính bằng bít :
Công thức trên tính cho khả năng của tất cả các dãy từ, nhƣng nếu với dữ