Tín hiệu tiếng nói sau khi đã qua tiền xử lý, trích tần số cơ bản, tạo các vector đặc trưng dựa vào vector V(F0). Các vector đặc trưng này được đưa qua một bộ nhận dạng (sử dụng thuật toán Viterbi để tìm ra chuỗi trạng thái có xác suất lớn nhất) và đầu ra là kết quả nhận dạng. Tuy nhiên, vì thanh 5 và thanh 6 được chia thành 2 trường hợp, nên đến đây vẫn chưa phải là kết quả cuối cùng, ta phải dựa vào 2 luật sau để quyết định:
- nếu là thanh 5a hay thanh 5b đều quyết định là thanh 5 (thanh sắc) - nếu là thanh 6a hay 6b đều quyết định là thanh 6 (thanh nặng)
5.5 Các kết quả nhận dạng thanh điệu
Sử dụng mơ Hình HMM 6 trạng thái, bỏ phần bắt đầu 10%, nhận dạng 8 mơ hình cho 8 thanh (mỗi thanh sắc và nặng chia thành 2 trường hợp) , sau đó dùng luật quyết định để đưa ra kết luận cho 6 thanh.
Tách riêng huấn luyện 100 mẫu, test 100 mẫu đối với nhận dạng 6 thanh :
Kết quả:
Kết quả nhận dạng hệ thống nhận dạng thanh điệu cài đặt trên phần mềm MATLAB 7.0.1
Đúng 114 tiếng (95 %); Sai 5 tiếng (5 %)
Ngang Huyền Ngã Hỏi Sắc Nặng Tỉ lệ đúng Ngang 20 100 % Huyền 20 100 % Ngã 18 2 90 % Hỏi 1 18 1 90 % Sắc 1 1 18 90 % Nặng 20 100 %
Chương 6. XÂY DỰNG HỆ THỐNG NHẬN DẠNG TIẾNG VIỆT NGUYÊN TỪ RỜI RẠC HOÀN CHỈNH
6.1. Phương pháp sử dụng 6.1.1. Tổng quát 6.1.1. Tổng quát
Trong chương 5, chúng ta đã xây dựng hệ thống nhận dạng thanh điệu tiếng Việt với độ chính xác 95 %. Đó là một tỉ lệ khá cao so với các nghiên cứu về nhận dạng thanh điệu tiếng Việt. Tuy nhiên tỉ lệ này vẫn chưa đủ để ứng dụng trong một hệ nhận dạng tiếng Việt hoàn chỉnh.
Việc phân lớp thanh điệu thành 2 lớp thanh cao và thanh thấp đạt độ chính xác 99.8 % là rất cao. Vì vậy, chúng tơi ứng dụng modul nhận dạng thanh điệu vào việc phân lớp. Nhờ đó có thể nâng được số lượng từ trong từ điển lên đáng kể mà vẫn giữ được độ chính xác cao.
Hình 6.1 Mơ hình tổng qt;(a) cơng đoạn huấn luyện; (b) cơng đoạn nhận dạng
6.1.2 Tiền xử lý
Tiếng nói được xử lý giống như trong hệ thống nhận dạng thanh điệu (Xem 5.3.1)
6.1.3 Huấn luyện mẫu
Bộ dữ liệu sau khi thu, được tạo thành 2 bộ từ điển tương ứng với 2 lớp thanh điệu: thanh cao và thanh thấp. Trong đó bộ từ điển thanh cao gồm: thanh sắc và thanh ngã, bộ từ điển thanh thấp gồm: thanh ngang (thanh không dấu), thanh huyền, thanh ngã, thanh hỏi, thanh nặng, thanh ngã. Ở đây chúng tôi phân thanh ngã ở cả hai từ điển, bởi vì:
- Theo tài liệu thống kê của I. S. Bystrov và M. V. Gordina (1976) thì tần số xuất hiện của thanh ngã là thấp nhất trong các thanh (chỉ 7%).
- Thanh ngã là thanh nếu chỉ phân lớp vào lớp thanh cao thì làm cho tỉ lệ nhận dạng đúng bị giảm xuống và ngược lại, vì sự biến đổi của nó chạy dài từ vùng tần số thấp đến vùng tần số cao.
Do đó cách giải quyết của chúng tôi là đưa thanh ngã vào cả hai bộ từ điển. Tín hiệu tiếng nói sau khi qua các bước tiền xử lý được tiến hành rút trích đặc trưng. Tất cả dãy dữ liệu của tín hiệu được phân khung và dùng SCWT phân tích thành các vector đặc trưng.
Các vector đặc trưng này sẽ được dùng để huấn luyện. Kết quả huấn luyện là các mơ hình HMM cho các từ theo từng lớp từ điển. Ứng với mỗi lớp từ điển, chúng ta có một bộ các mơ hình HMM.
Để sử dụng việc phân lớp, chúng tôi sử dụng đặc trưng F0. Theo khảo sát của luận văn, thanh điệu tiếng Việt được chia làm hai lớp phân tách nhau bỡi thanh ngang. Do đó, dữ liệu đưa vào sau khi tiền xử lý, chúng tôi tách riêng các từ thanh ngang đem trích F0. Giá trị trung bình của F0 của các thanh ngang sẽ là giá trị ngưỡng phân lớp. Giá trị này sẽ được cộng thêm P trong quá trình phân lớp, (P là phương sai của F0).
6.1.4 Công đoạn nhận dạng
Sau khi huấn luyện mẫu, ta sẽ có các bộ từ điển tương ứng với các lớp. Nếu mơ hình HMM nhận dạng được X tiếng, và giả sử ta có thể phân các tiếng thành A lớp; như vậy tổng số từ vựng ta có thể nhận dạng được sẽ tăng lên khoảng ~ X*A tiếng.
Hình 6.3: Cơng đoạn nhận dạng
Bắt đầu công đoạn nhận dạng, tín hiệu tiếng nói sẽ được đưa qua bộ xác định lớp thanh điệu. Tại đây các cơng việc trích pitch và phân lớp sẽ được tiến hành.
Sau khi đã xác định được lớp, chương trình sẽ lấy bộ từ vựng tương ứng của lớp đó lên để tiến hành việc nhận dạng từ. Như vậy, thay vì phải nhận dạng X*A từ (sẽ vượt q khả năng của mơ hình HMM), chúng ta chỉ cần nhận dạng A từ của lớp thứ Xi.
Tóm lại, cơng đoạn nhận dạng ở đây chúng tôi chia làm hai bước: Bước 1: xác định lớp từ điển.
Bước 2: nhận dạng trong lớp từ điển đã xác định.
6.2 Cài đặt hệ thống nhận dạng tiếng Việt nguyên từ rời rạc hồn chỉnh. 6.2.1 Mơi trường xây dựng hệ thống
Để tận dụng sự hỗ trợ của MATLAB về các hàm toán học, các ToolBox Signal Processing, Wavelet, Statistics (HMM) chúng tôi chọn môi trường cài đặt hệ thống là MATLAB 7.01.
6.2.2 Bộ từ dùng cho huấn luyện và nhận dạng:
Bài toán nhận dạng ở đây phục vụ cho việc điều khiển Robot bằng tiếng nói bao gồm 6 từ điều khiển (trái, phải, tiến, lùi, thẳng, dừng) để điều khiển robot chuyển động theo các hướng.
Dữ liệu dùng để huấn luyện được thu với tần số lấy mẫu 16 KHz. Bộ từ dùng để huấn luyện điển gồm 6 từ thu từ 20 người nói khác nhau với tổng số từ là 120 từ. Bộ từ dùng cho nhận dạng độc lập với bộ từ dùng để huấn luyện với số lượng tương đương.
Trong đó:
Lớp 1 (nhóm thanh cao) gồm có thanh sắc, ngã: trái, tiến.
Lớp 2 (nhóm thanh thấp) gồm thanh ngang, huyền, ngã, hỏi, nặng.: phải, lùi, dừng, thẳng
6.2.3 Tạo vector đặc trưng V(SCWT)
Như trong 4.4.4 đã đề cập, MFCC và SCWT cho kết quả tương đương nhau nhưng MFCC có ưu điểm tính tốn nhanh hơn. Mặc dù vậy với mong muốn đề xuất một phương pháp nhận dạng tiếng Việt mới, chúng tôi đã sử dụng SCWT làm vector đặc trưng cho hệ thống nhận dạng.
Các hệ số SCWT của các khung tiếng nói được đ ưa qua lọc thơng thấp và hạ mẫu từ 16KHz xuống 100 Hz. Phân tích Ceptral được sử dụng để giảm số lượng hệ số SCWT xuống 12 hệ số Ceptral với độ tin cậy và tập trung cao hơn được sử dụng làm vector đặc trưng cho hệ thống nhận dạng.
6.2.4 Phân lớp
Trích F0 theo giải thuật dùng CWT trong 4.5.2
Giá trị trung bình của F0 của các thanh ngang sẽ là giá trị ngưỡng phân lớp. Giá trị này sẽ được cộng thêm P trong quá trình phân lớp, (P là phương sai của F0).
Theo khảo sát, giá trị phương sai của tần số cơ bản của thanh ngang: ở giọng nữ (8 – 16) Hz, ở giọng nam (20 – 24) Hz. Do dữ liệu tiếng nói trong từ điển là giọng nam nên chúng tôi chọn P = 20.
6.2.5 Mơ hình HMM cho các từ nhận dạng
Hình 6.4 Mơ hình ngơn ngữ của hệ nhận dạng
6.2.6 Kết quả nhận dạng
1. Bảng kết quả phân lớp thanh điệu:
Nhóm Nhóm thanh cao Nhóm thanh thấp Kết quả Nhóm thanh cao 98 2 98% Nhóm thanh thấp 1 99 99%
Bảng 6.1 Kết quả phân lớp thanh điệu
2. Kết quả nhận dạng tiếng:
Nhận dạng trên tập huấn luyện:
Trái Phải Tiến Lùi Thẳng Dừng Tỉ lệ đúng
Trái 20 100 % Phải 20 100 % Tiến 20 100 % Lùi 29 100 % Thẳng 20 100 % Dừng 20 100 %
Bảng 6.2 Kết quả nhận dạng trên tập dữ liệu huấn luyện
Nhận dạng trên tập dữ liệu mới:
Trái Phải Tiến Lùi Thẳng Dừng Tỉ lệ đúng Trái 19 1 95 % Phải 1 19 95 % Tiến 1 19 95 % Lùi 19 1 95 % Thẳng 1 19 95 % Dừng 20 100 %
Bảng 6.3 Kết quả nhận dạng trên tập dữ liệu mới
- Số tiếng sai: 5
- Số tiếng đúng: 95
KẾT LUẬN
1. Các kết quả đã đạt được của luận văn
Sau một thời gian tìm hiểu và nghiên cứu, dưới sự hướng dẫn và chỉ bảo tận tình của thầy hướng dẫn, TS. Trịnh Anh Vũ, tôi đã thực hiện được các mục tiêu của luận văn đã đề ra:
- Tìm hiểu, nghiên cứu tổng quan về nhận dạng tiếng nói, xử lý tiếng nói, rút trích vector đặc trưng.
- Nghiên cứu về biến đổi wavelet và ứng dụng trong nhận dạng tiếng nói - Nghiên cứu về mơ hình Markov ẩn HMM
- Khảo sát về các đặc điểm ngữ âm của tiếng Việt như âm vị tiếng Việt, thanh điệu tiếng Việt
- Xây dựng hệ thống nhận dạng thanh điệu tiếng Việt theo chu kỳ pitch dùng mô hình HMM trái phải 5 trạng thái
- Xây dựng hệ thống nhận dạng tiếng Việt nguyên từ rời rạc có áp dụng phân lớp theo thanh điệu, dùng vector đặc trưng SCWT và mơ hình HMM trái phải 5 trạng thái
- Xây dựng bộ tiền xử lý nâng cao chất lượng tiếng nói dùng kỹ thuật triệt nhiễu kết hợp kỹ thuật trừ phổ và kỹ thuật triệt nhiễu bằng wavelet.
Các thử nghiệm và cài đặt đều thực hiện trên môi trường MATLAB 7.0.1 do sự hỗ trợ tốt của MATLAB cho lập trình các hệ thống xử lý tín hiệu với các thư viện hàm toán học và các Toolbox: Signal Processing, Wavelet, Statistics (HMM).
Luận văn đã có những cải tiến từ các phương pháp đã được nghiên cứu và ứng dụng cho nhận dạng tiếng nói trong và ngồi nước để đề xuất một phương pháp nhận dạng thanh điệu tiếng Việt và từ rời rạc tiếng Việt hiệu quả. Các kết quả thực nghiệm thu được là rất khả quan và chứng tỏ phương pháp đề xuất là một phương pháp có triển vọng áp dụng cho các hệ nhận dạng tiếng Việt.
2. Những vấn đề còn tồn tại và biện pháp khắc phục
Luận văn còn một số hạn chế cần khắc phục trong quá trình nghiên cứu tiếp theo:
- Tốc độ thực thi là không tối ưu so với một số phương pháp nhận dạng không dùng Wavelet do khối lượng tính tốn CWT là lớn. Vấn đề này khơng phái là quá quan trọng do tốc độ hiện nay của vi xử lý cũng như dung lượng bộ nhớ đang ngày càng được cải thiện đủ đáp ứng cho các hệ thống tính tốn lớn.
- Số lượng mẫu được huấn luyện là nhỏ nên độ chính xác chưa cao. Biện pháp khắc phục là xây dựng bộ từ điển tiếng nói tiếng Việt đủ lớn dùng cho huấn luyện.
- Chưa áp dụng mơ hình nhận dạng âm vị nên số lượng từ nhận dạng là giới hạn, không đáp ứng đầy đủ cho nhận dạng tất cả các từ tiếng Việt.
3. Các đề xuất
Với các kết quả nghiên cứu đã đạt được của luận văn, tơi có một số đề xuất về phương pháp nhận dạng thanh điệu tiếng Việt và nguyên từ tiếng Việt rời rạc: - Khối tiền xử lý: Áp dụng mơ hình triệt nhiễu kết hợp kỹ thuật trừ phổ và wavelet. - Nhận dạng thanh điệu tiếng Việt dùng 8 mơ hình HMM trái phải 6 trạng thái và vector đặc trưng Mandarin cải tiến.
- Nhận dạng nguyên từ với bộ từ N dùng N + 1 mơ hình HMM trái phải 5 trạng thái và vector đặc trưng là các hệ số SCWT biến đổi qua miền Ceptral
- Kết hợp việc nhận dạng từ rời rạc với phân lớp từ theo thanh điệu bằng kỹ thuật trích F0 dùng CWT
4. Hướng phát triển
Hướng phát triển tiếp theo sẽ là tiếp tục hoàn thiện hệ thống nhận dạng theo phương pháp đề xuất. Thử nghiệm huấn luyện hệ thống với bộ từ điển mẫu lớn hơn, áp dụng mơ hình HMM cho âm vị thay vì từ rời rạc.
Khi hệ thống đạt được độ chính xác cần thiết sẽ có thể được triển khai thực thi trên mơ hình điều khiển Robot bằng tiếng nói tiếng Việt thời gian thực.
Do hiểu biết và kiến thức có hạn, đặc biệt trong điều kiện thời gian rất eo hẹp, vừa học tập, nghiên cứu vừa tham gia công tác giảng dạy, luận văn không thể
tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo của các thầy, các góp ý của các bạn để tơi có thể hồn thiện luận văn và tiếp tục nghiên cứu sâu hơn về lĩnh vực nhận dạng tiếng Việt.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Hồng Đình Chiến, Lê Tiến Thường (2005), “Nhận dạng tiếng Việt dùng mạng Neural kết hợp với trích đặc trưng LPC và AMDF”, Hội thảo CNTT Quốc Gia. [2] Hồng Đình Chiến, “Nhận dạng tiếng Việt dùng mạng Neural kết hợp với trích đặc trưng LPC và AMDF”, Chuyên san Tạp chí BCVT.
[3] Hà Đình Dũng, Nguyễn Kim Quang (2003), “Xây dựng bộ giảm nhiễu sử dụng phương pháp trừ phổ ứng dụng trong hệ thống nhận dạng tiếng nói”, Báo cáo hội thảo quốc gia CNTT, Thái Nguyên
[4] Đỗ Xuân Đat, Võ Văn Tuấn (2003), Nghiên cứu các đặc trưng tiếng Việt áp dụng vào nhận dạng tiếng nói, Luận văn tốt nghiệp Cử nhân CNTT, Đại học KHTN
TP Hồ Chí Minh.
[5] Đặng Ngọc Đức, “Ứng dụng mạng neural trong nhận dạng tiếng nói mười chữ số tiếng Việt”, Chuyên san Tạp chí BCVT.
[6] Đặng Ngọc Đức, “Gán nhãn âm vị trong quá trình xây dựng CSDL tiếng Việt”, Chuyên san Tạp chí BCVT.
[7] Đặng Ngọc Đức, Lương Chi Mai, “Tăng cường độ chính xác của mạng neural nhận dạng tiếng Việt”, Chuyên san Tạp chí BCVT.
[8] Nguyễn Hoàng Hải, Hà Trần Đức, Nguyễn Việt Anh (2005), Cơng cụ phân tích
wavelet và ứng dụng trong MATLAB, NXB Khoa học kỹ thuật.
[9] Bùi Huy Hải (2004), Nén tín hiệu tiếng nói dùng biến đổi Wavelet, Luận văn
thạc sỹ khoa học, ĐH Bách Khoa Hà Nội.
[10] Trịnh Văn Loan, Nguyễn Nam Hà, Phạm Việt Hà, “Xác đinh tham số đặc trưng của các nguyên âm khơng dấu tiếng Việt”, Chun san Tạp chí BCVT.
[11] Lương Chi Mai, Đặng Ngọc Đức (2005), “Hệ thống nhận dạng tiếng việt không dấu liên tục có bộ từ vựng kích thước trung bình”, Hội thảo CNTT Quốc Gia, Hải Phòng.
[12] Nguyễn Thị Thanh Mai, Ngơ Hồng Huy, Nguyễn Huy Hồng (2005), “Nhận dạng thanh điệu tiếng Việt trên tiếng nói rời rạc phụ thuộc người nói”, Hội thảo CNTT Quốc Gia, Hải Phịng.
[13] Nguyễn Hồng Quang (2004), Nhận dạng tiếng nói tiếng Việt tìm hiểu và ứng
dụng, Luận văn tốt nghiệp Cử nhân CNTT, Đại học KHTN TP Hồ Chí Minh.
[14] Nguyễn Đình Thơng (2005), “Tài liệu hướng dẫn báo cáo phần Xử lý ảnh và tín hiệu”, Hệ Cao học, Đại học Quốc gia Hà nội.
[15] Lê Tiến Thường, Hồng Đình Chiến, Trần Thanh Hùng (2004), “Phương pháp hiệu quả nhận dạng tiếng Việt ứng dụng phép biến đổi Wavelet”, Chuyên san Tạp chí BCVT.
[16] Lê Tiến Thường, Huỳnh Ngọc Phiên, “Phương pháp mới trích chu kỳ cao độ trung bình trong nhận dạng thanh điệu tiếng Việt”, Chuyên san Tạp chí BCVT, 2005.
[17] Lê Tiến Thường, Hồng Đình Chiến, “Biến đổi wavelets, subband coding và một số ứng dụng trong xử lý tín hiệu”.
[18] Nguyễn Quốc Trung (2002), Xử lý tín hiệu và lọc số, tập 1,2 NHB KHKT. [19] Nguyễn Quốc Trung (2002), Bài giảng mơn Xử lý tín hiệu nâng cao, Hệ cao học, ĐH Bách Khoa Hà Nội.
Tiếng Anh
[20] Donoho, D. L.(1995), “Denoising via soft thresholding'', IEEE Trans. Information Theory, 41: pp. 613-627.
[21] Bob Dunn (29 April 2003), Speech Signal Processing and Speech Recognition. [22] Christine Englund (2004), “Speech recognition in the JAS 39 Gripen aircraft adaptation to speech at different G-loads”, pp. 2 – 5.
[23] R. Favero and R. King, (1993). Wavelet parameterization for speech recognition, Preprint.
[24] Qiang Fu (2003), “A novel speech enhancement system based on wavelet denoising”.
[25] Yi Hu, Student Member, IEEE, and Philipos C. Loizou, Member, IEEE, (2003), “Speech Enhancement Based on Wavelet Thresholding the Multitaper Spectrum”.
[26] M. Krishnan, C. Neophytou, and G. Prescott (1994). Wavelet transform speech recognition using vector quantization, dynamic time wraping and articicial neural networks. Preprint.
[27] S.Manikandan (2006), “Speech enhancement based on wavelet denoising”. [28] Lawrence Rabiner and Biing-Hwang Juang (1993), Fundamentals of Speech
Recognition, Prentice Hall.
[29] Gibert Strang, Truong Nguyen (1996), Wavelet and Filter Banks, Weliesley-
Cambridge Press, The United States of America.
[30] H. Talhami, T.Le-Tien, D.T. Nguyen, (1997), “Simple algorithm for wavelet maxima modulus extraction in time-scale representation”, IEEE Electronic Letter, An Internaltional Publication, England, Vol.33.
[31] Beng T. TAN, Minyue Fu, Andrew Spray (2000), “The use of wavelet transforms in phoneme recognition”
[32] Le Tien Thuong, Nguyen Huu Loc (1998), “An efficient algorithm for ridge extraction in time-scale and time-frequency representations”
[33] Keiichi Tokuda, HMM-Based Speech Synthesis toward Human-like Talking
PDF Merger
register your program!
Go to Purchase Now>>