Trong chương này, tôi sẽ đưa ra một số kết quả thực nghiệm đã đạt được cùng với đánh giá, sau khi xây dựng chương trình nhận dạng tiếng nói dựa vào các kỹ thuật đã mô tả ở những phần trước, và đề xuất một số hướng phát triển tiếp theo sau nghiên cứu này.
6.1. MÔ TẢ THỰC NGHIỆM
Chương trình thực nghiệm được xây dựng với mục đích so sánh của hai kỹ thuật nhận dạng tiếng nói: mô hình Markov ẩn và đối sánh mẫu, đối với tiếng nói rời rạc và có bộ tự vựng nhỏ. Với mục đích trên, thực nghiệm đã được tiến hành trên hai bộ dữ liệu số đếm tiếng việt từ 0-9 (KHÔNG đến CHÍN) của một người nói. Cả hai bộ dữ liệu này đều bao gồm những thành phần sau:
Hai tập mẫu tiếng nói, một tập dùng để huấn luyện (đối với phương pháp HMM) hoặc để làm mẫu đối sánh (đối với phương pháp đối sánh mẫu DTW), một tập dùng để kiểm tra.
Một file liệt kê các âm vị.
Một file từ điển liệt kê các từ và phiên âm. Có tất cả 10 từ, liệt kê trong Bảng 4.
Bảng 4: Từ điển và phiên âm các từ trong bộ số đếm tiếng Việt 0-9
Từ Phiên âm KHÔNG KH OO NGZ MỘT M OO TC HAI H A I BA B A BỐN B OO NZ NĂM N AW MZ SÁU S AW U BẢY B AA YI TÁM T A MZ CHÍN CH I NZ
Tất cả các mẫu tiếng nói trong hai bộ dữ liệu này đều được người viết thu âm trên máy tính xách tay bằng phần mềm mã nguồn mở Audacity 1.2.6 (website: http://audacity.sourceforge.net), trong môi trường phòng kín không có tiếng động.
Chương trình thực nghiệm được xây dựng bằng ngôn ngữ lập trình Java, phát triển trên nền IDE Eclipse (website: http://eclipse.org). Chương trình được chia ra thành hai module chính: frontend và core:7
Phần frontend bao gồm các bước xử lý của quá trình trích chọn đặc trưng MFCC như đã mô tả ở Chương 3, một số khâu tiền xử lý tín hiệu âm thanh cùng với một bộ tách từ đơn giản.
Phần core bao gồm cài đặt của hai thuật toán nhận dạng: HMM và DTW. Trong đó, bộ nhận dạng DTW được viết theo thuật toán mô tả ở Chương 5, còn bộ nhận dạng HMM được viết theo lý thuyết ở Chương 4, với sự hỗ trợ của thư viện mã nguồn mở JaHMM(website: http://code.google.com/p/jahmm/).
6.2. KẾT QUẢ
Chương trình được chạy thử nghiệm trên từng bộ dữ liệu, với những tiêu chí cần đánh giá là: tỉ lệ nhận dạng đúng và hiệu suất của thuật toán (thời gian chạy).
Bộ dữ liệu thứ nhất bao gồm các mẫu tiếng nói có độ đồng đều cao, do người người nói phát âm các từ với tốc độ ổn định. Tập dữ liệu huấn luyện bao gồm 100 mẫu tiếng nói chia đều cho 10 từ trong từ điển, mỗi từ có 10 mẫu. Tập dữ liệu kiểm tra bao gồm 50 mẫu tiếng nói, mỗi từ có 5 mẫu. Kết quả nhận dạng trên bộ dữ liệu này như sau:
Bảng 5: Kết quả thực nghiệm trên bộ dữ liệu tiếng nói đồng đều cao
HMM DTW
Tổng số mẫu 50 50
Nhận dạng đúng 50 50
Tỉ lệ nhận dạng đúng 100% 100%
Thời gian chạy chương trình 2.082s 93.204s
Bộ dữ liệu thực nghiệm thứ hai bao gồm các mẫu tiếng nói có độ đồng đều thấp hơn, do tốc độ phát âm của người nói không ổn định. Bộ dữ liệu này bao gồm 200 mẫu tiếng nói của tập huấn luyện và 100 mẫu tiếng nói của tập kiểm tra, trong đó số lượng mẫu cho mỗi từ là bằng nhau. Kết quả thực nghiệm thu được như sau: