ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG BỘ NHẬN DẠNG TIẾNG NÓI TỤ ĐỘNG BỀN VỮNG VỚI MÔI TRƯỜNG NHIỄU
ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG BỘ NHẬN DẠNG TIẾNG NÓI TỤ ĐỘNG BỀN VỮNG VỚI MÔI TRƯỜNG NHIỄU, thuyết minh ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG BỘ NHẬN DẠNG TIẾNG NÓI TỤ ĐỘNG BỀN VỮNG VỚI MÔI TRƯỜNG NHIỄU , bộ điều khiển lập trình , Lý thuyết điều khiển
ĐỀ TÀI: XÂY DỰNG BỘ NHẬN DẠNG TIẾNG NÓI TỤ ĐỘNG
BỀN VỮNG VỚI MÔI TRƯỜNG NHIỄU
Khoa Điện Tử Viễn Thông, Trường Đại học Bách Khoa, Đại học Đà Nẵng
GVHD : TS. Phạm Văn Tuấn
Khoa Điện Tử Viễn Thông, Trường Đại họcBách Khoa, Đại học Đà Nẵng
MỤC LỤC
CÁC TỪ VIẾT TẮT………………….…………………………………………….…...1
LỜI MỞ ĐẦU……………...……………………………………………………………..2
CHƯƠNG 1: LÝ THUYẾT VỀ NHẬN DẠNG TIẾNG NÓI. 4
1.1. Giới thiệu chương. 4
1.2. Tiếng nói và các đặc tính cơ bản của tiếng nói4
1.2.1. Cơ chế tạo thành tiếng nói4
1.2.2. Các đặc tính của tiếng nói5
1.2.3. Biểu diễn tín hiệu tiếng nói5
1.3. Hệ thống nhận dạng tiếng nói7
1.3.1. Nhận dạng tiếng nói là gì?. 7
1.3.2. Lịch sử phát triển của các hệ thống nhận dạng tiếng nói7
1.3.3. Các nguyên tắc cơ bản trong nhận dạng tiếng nói9
1.3.4. Mô hình tổng quát của hệ thống nhận dạng tiếng nói9
1.3.4.1. Cấu trúc của bộ nhận dạng. 9
1.3.4.2. Khối tiền xử lý. 10
1.3.4.3. Trích chọn đặc trưng. 10
1.3.4.4. Mô hình âm học (Acoustic Model). 10
1.3.4.5. Từ điển (Word Lexicon). 11
1.3.4.6. Mô hình ngôn ngữ (Language Model). 11
1.3.4.7. Khối tìm và giải mã. 12
1.3.4.8. Đánh giá nhận dạng. 15
1.4. Ứng dụng của nhận dạng tiếng nói trong thực tế. 15
1.5. Kết luận chương. 16
CHƯƠNG 2: KHỐI FRONT-END VÀ CÁC THUẬT TOÁN GIẢM NHIỄU ĐỂ TĂNG HIỆU SUẤT BỘ NHẬN DẠNG.. 17
2.1. Giới thiệu chương. 17
2.2. Thuật toán Standard Front-end (ETSI DSR ES 201 108). 17
2.2.1. Giới thiệu. 17
2.2.2. Mô tả thuật toán Standard front-end. 18
2.2.2.1. Sơ đồ khối18
2.2.2.2. Chuyển đổi A/D.. 18
2.2.2.3. Bù lệch DC.. 19
2.2.2.4. Phân khung. 19
2.2.2.5. Tính Log mức năng lượng. 19
2.2.2.6. Tiền nhấn. 19
2.2.2.7. Lấy cửa sổ Hamming. 19
2.2.2.8. Biến đổi Fourier. 20
2.2.2.9. Bộ lọc thang Mel20
2.2.2.10.Biến đổi phi tuyến. 21
2.2.2.11.Biến đổi cosine rời rạc (DCT). 21
2.2.2.12.Nén các đặc tính. 22
2.3. Thuật toán Advanced front-end (ETSI DSR ES 202 050). 24
2.3.1. Giới thiệu. 24
2.3.2. Mô tả thuật toán Advanced Front-end. 24
2.3.3. Khối giảm nhiễu. 24
2.3.3.1. Sơ đồ khối24
2.3.3.2. Khối tính toán phổ. 25
2.3.3.3. Tính trung bình phổ công suất26
2.3.3.4. Thiết kế bộ lọc Wiener. 26
2.3.3.5. Kĩ thuật phát hiện tiếng nói VAD ESTI- Nest28
2.3.3.6. Dải lọc Mel30
2.3.3.7. Tìm độ lợi30
2.3.3.8. Biến đổi cosine ngược. 30
2.3.3.9. Thực hiện bộ lọc. 31
2.3.3.10. Bù lệch DC.. 31
2.3.4. Cân bằng kênh với thuật toán cân bằng mù. 31
2.4. Các thuật toán nén nhiễu dùng trong tầng tiền xử lý. 32
2.4.1. Kĩ thuật tối ưu MMSE.. 32
2.4.2. Thuật toán MMSE-STSA.. 33
2.4.2.1. MMSE-STSA 84. 33
2.4.2.2. MMSE-STSA 85. 34
2.4.3. Thuật toán MMSE_MS. 35
2.4.4. Thuật toán Wiener. 36
2.5. Kết luận chương. 37
CHƯƠNG 3: MÔ HÌNH MARKOV ẨN VÀ ỨNG DỤNG TRONG NHẬN DẠNG TIẾNG NÓI 38
3.1. Giới thiệu chương. 38
3.1. Chuỗi Markov. 38
3.1. Mô hình Markov ẩn (HMM). 40
3.3.1. Định nghĩa. 40
3.3.2. Các thành phần của mô hình Markov ẩn. 41
3.3.3. Ba vấn đề cơ bản của HMM... 42
3.3.4. Giải pháp cho các vấn đề của HMM... 43
3.3.4.1. Giải quyết vấn đề 1 - Thuật toán Forward. 43
3.3.4.2. Giải quyết vấn đề 2 - Thuật toán Viterbi45
3.3.4.3. Giải quyết vấn đề 3 – Thuật toán Baum-Welch. 47
3.4. Áp dụng HMM vào nhận dạng tiếng nói50
3.4.1. Nhận dạng từ đơn. 50
3.4.2. Nhận dạng tiếng nói liên tục. 51
3.4.2.1. Tổng quan. 51
3.4.2.2. Quá trình huấn luyện. 52
3.4.2.3. Quá trình nhận dạng. 53
3.5. Kết luận chương. 55
CHƯƠNG 4: NHẬN DẠNG TIẾNG NÓI BẰNG PHẦN MỀM HTK VÀ ĐÁNH GIÁ HIỆU SUẤT NHẬN DẠNG.56
4.1. Giới thiệu chương. 56
4.2. Phần mềm HTK.. 56
4.2.1. Giới thiệu chung. 56
4.2.2. Các công cụ dùng trong quá trình chuẩn bị cơ sở dữ liệu. 58
4.2.2.1. HSLab. 58
4.2.2.2. HCopy. 59
4.2.3. Các công cụ dùng quá trình huấn luyện. 59
4.2.3. 1. HInit60
4.2.3.2. HCompV.. 60
4.2.3.3. Hrest61
4.2.4. Các công cụ dùng trong quá trình định nghĩa từ điển và cấu trúc văn phạm.. 61
4.2.4.1. Hparse. 61
4.2.4.2. HSGen. 62
4.2.5. Công cụ dùng trong quá trình nhận dạng HVite. 62
4.2.6. Công cụ dùng trong quá trình đánh giá hiệu suất nhận dạng HResults. 62
4.3. Giới thiệu về cơ sở dữ liệu AURORA-3 SpeechDat Car. 62
4.4. Quy trình thực nghiệm.. 63
4.5. Đánh giá kết quả thu được. 64
4.5.1. Điều kiện hm.. 64
4.5.2. Điều kiện mm.. 66
4.5.3. Điều kiện hm.. 68
4.5.4. Giao diện đồ họa. 69
4.5.5. Nhận xét chung. 71
4.6. Kết luận chương. 71
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI. 72
TÀI LIỆU THAM KHẢO.. 74
CÁC TỪ VIẾT TẮT
AFE : Advanced Front-End
ASR : Automatic Speech Recognition
DCT : Discrete Cosine Transform
DSR : Distribution Speech Recognition
DTW : Dynamic Time Warping
ETSI : European Telecommunications Standards Institude
ETSI-Nest : ETSI noise estimation
FFT : Fast Fourier Transform
FSN : Finite State Network
HMM : Hidden Markov Model
HTK : Hidden Markov Model Toolkit
LPC : Linear Prediction Coded
MFCC : Mel-Frequency Cepstral Coefficient
ML : Maximum Likelihood
MMSE : Minimum Mean Square Error
SFE : Standard Front-End
SNR : Signal to Noise Ratio
SNRpri : Priori SNR
SNRpost : Postiriori SNR
STSA : Short-time Spectral Amplitude
VAD : Voice Activity Detection
VQ : Vector Quantilization
WAC : Word Accuracy
WER : Word Error Rate
WRR : Word Recognition Rate
LỜI MỞ ĐẦU
Việc thiết kế được một hệ thống máy móc có khả năng hiểu được ngôn ngữ nói và đáp ứng đúng những yêu cầu của người nói là tham vọng của các nhà khoa học và kĩ sư trong nhiều thập kỉ qua. Công cuộc xây dựng các hệ thống nhận dạng tiếng nói tự động (ASR) bắt đầu từ những năm 30 của thế kỉ thứ 19 và tiếp tục phát triển cho đến ngày nay. Hiện tại, các hệ thống nhận dạng tiếng nói được sử dụng khá nhiều trong thực tế, đặc biệt là các ứng dụng đòi hỏi giao diện giữa máy móc và người sử dụng. Các ứng dụng này rất đa dạng và xuất hiện trong nhiều lĩnh vực khác nhau: Tự động xử lý cuộc gọi trong mạng điện thoại, quay số bằng giọng nói, định tuyến cho cuộc gọi, tìm kiếm bằng giọng nói (ví dụ tìm các file podcast tương ứng với từ được nói ra), nhập các số của thẻ tín dụng vào hệ thống, chuyển lời nói thành văn bản (ví dụ ghi ra bảng điều trị trong y khoa),...và nhiều ứng dụng khác.
Được sử dụng rộng rãi là vậy, nhưng hiệu suất các hệ thống ASR như trên lại bị giảm rõ rệt ở các môi trường bất lợi, chẳng hạn như nhiễu,… Vì thế, việc nghiên cứu xây dựng các bộ nhận dạng bền vững, có khả năng làm việc hiệu quả trong những môi trường như vậy mang ý nghĩa rất lớn. Trên thực tế, có nhiều phương pháp đã được đề xuất nhằm xây dựng bộ ASR bền vững nhưgiảm nhiễu ở khối tiền xử lý, thích nghi mô hình âm học, trích chọn thuộc tính âm học bền vững đối với nhiễu,...Trong đó, giảm nhiễu là phương pháp cho hiệu quả cao với các hệ thống ASR.Vì vậy, chúng tôi chọn nghiên cứu về phương pháp giảm nhiễu với các thuật toán dựa trên lý thuyết tối thiểu hóa bình phương độ lệch trung bình, ví dụ: bộ lọc Wiener, MMSE-STSA, MMSE-MS,…, để đánh giá vai trò của việc giảm nhiễu trong nâng cao hiệu suất nhận dạng và so sánh hiệu quả của từng thuật toán.
Nội dung của đồ án gồm 4 chương, trong đó chương 1 giới thiệu về hệ thống nhận dạng tiếng nói tự động, chương 2 tóm tắt các quy trình xử lý trong khối Front-end và trình bày nguyên lý của các thuật toán giảm nhiễu, chương 3 chú trọng vào lý thuyết mô hình Markov ẩn (HMM) và cách giải quyết 3 bài toán của HMM. Cuối
cùng, chương 4 là phần thực hiện nhận dạng tiếng nói dựa trên cơ sở dữ liệu thực và đánh giả kết quả nhận dạng.
Đồ án được thực hiện bởi các sinh viên:
Đinh Hữu Trọng: Lý thuyết nhận dạng tiếng nói, tổng quan về các hệ thống nhận dạng, Mô hình Markov ẩn và ứng dụng, Nhận dạng tiếng nói bằng phần mềm HTK và đánh giá hiệu suất nhận dạng, Xây dựng giao diện mô phỏng và chạy demo trên nền LINUX.
Nguyễn Thị Bích Ngọc: Lý thuyết nhận dạng tiếng nói, tổng quan về các hệ thống nhận dạng, Mô hình Markov ẩn và ứng dụng, Khối Front-end và các thuật toán giảm nhiễu để nâng cao hiệu suất nhận dạng, Tìm hiểu tiêu chuẩn SFE, Nhận dạng tiếng nói bằng phần mềm HTK và đánh giá hiệu suất nhận dạng.
Phạm Quốc Việt: Lý thuyết nhận dạng tiếng nói, tổng quan về các hệ thống nhận dạng, Khối Front-end và các thuật toán giảm nhiễu để nâng cao hiệu suất bộ nhận dạng, Tìm hiểu tiêu chuẩn AFE, Nhận dạng tiếng nói bằng phần mềm HTK và đánh giá hiệu suất nhận dạng.
CHƯƠNG 1: LÝ THUYẾT VỀ NHẬN DẠNG TIẾNG NÓI
1.1. Giới thiệu chương
Phần đầu chương này sẽ tóm lược một cách khái quát các đặc tính, cơ chế tạo thành tiếng nói đồng thời cũng đưa ra những giới thiệu sơ lược về hệ thống nhận dạng tiếng nói, bao gồm cả lịch sử phát triển lẫn cấu trúc, nguyên lý hoạt động cũng như ứng dụng của nó trong thực tế.
Phần tiếp theo của chương đi sâu vào phân tích thuật toán, nguyên tắc của một số khối chức năng trong bộ nhận dạng. Phần này sẽ trang bị cho chúng ta những kiến thức căn bản cần thiết để hiểu rõ hơn cách thức hoạt động của một bộ nhận dạng.
1.2. Tiếng nói và các đặc tính cơ bản của tiếng nói
1.2.1. Cơ chế tạo thành tiếng nói
Tiếng nói được tạo thành từ các tín hiệu sóng âm phát ra từ miệng và mũi của người nói, dưới sự hỗ trợ của một loạt các cơ quan trong cơ thể người, gồm:
- Phổi đóng vai trò như bơm không khí, tạo năng lượng hình thành âm.
- Các dây thanh âm: là hai cơ nhỏ ở trong cuống họng, có hai đầu dính nhau, hai đầu kia dao động (thanh môn mở ra và đóng lại) với tần số cơ bản (pitch/fundamental frequency) là F0.
- Thanh quản và vòm miệng: đóng vai trò giống một hốc cộng hưởng, tạo ra sự phân biệt tần số khi tín hiệu dao động từ đôi dây thanh âm phát ra. Đáp ứng tần số của hốc cộng hưởng này có nhiều đỉnh cộng hưởng khác nhau được gọi là các formant, chứa các thành phần tần số quan trọng của tín hiệu tiếng nói.
- Miệng: đóng vai trò phát tán âm thanh ra bên ngoài.
- Lưỡi: thay đổi để tạo ra tần số formant khác nhau.
Khi nói, dòng không khí đi từ phổi, qua thanh môn đến cổ họng, rồi thoát ra ở miệng. Tùy thuộc vào cơ chế phát âm, tín hiệu tiếng nói có thể chia làm các loại: Âm hữu thanh (voiced sounds), cụ thể là các nguyên âm và phụ âm hữu thanh như /b/, /d/, /g/, /v/, /z/, /m/, /n/, /l/, /r/,...được phát ra cùng với sự rung động của các dây thanh âm. Ngược lại âm phát ra mà không có sự rung động của dây thanh gọi là âm vô thanh (unvoiced), ví dụ /k/, /p/, /t/, /s/,...
1.2.2. Các đặc tính của tiếng nói
- Dải tần của tín hiệu tiếng nói nằm trong khoảng từ 0 kHz đến 20 kHz, tuy nhiên phần lớn công suất tín hiệu tập trung ở vùng từ 0.3kHz đến 3.4 kHz.
- Tần số trung tâm F0: Là tần số rung động của thanh môn, như vậy F0 cũng là tần số của các âm hữu thanh. F0 thay đổi theo thanh điệu và phụ thuộc giới tính, độ tuổi người nói. F0 của nam giới trong khoảng 60-200 Hz, của nữ giới và trẻ em cỡ 300Hz hoặc cao hơn.
- Tần số formant (còn gọi là peak): Các tần số tương ứng với tần số cộng hưởng của dao động từ đôi dây thanh âm. Trong phổ tần số của tín hiệu tiếng nói, formant chính là các đỉnh (biên độ lớn) biểu diễn các thành phần tần số chủ chốt của tiếng nói, mang thông tin để nhận diện được âm. Vì thế những đỉnh này và đường cong nối liền các đỉnh, còn gọi là đường bao phổ, đóng vai trò rất quan trọng trong nhận dạng tiếng nói. Tần số formant biến đổi trong một dải rộng phụ thuộc vào giới tính, độ tuổi người nói, và vào từng âm vị.
1.2.3. Biểu diễn tín hiệu tiếng nói
- Trong một khoảng thời gian đủ ngắn (khoảng từ 5 đến 100ms), có thể xem tín hiệu tiếng nói như một tín hiệu biến đổi chậm với các đặc tính hầu như không biến đổi. Ngược lại, nếu xét trong khoảng thời gian dài (cỡ 1/5 giây trở lên) thì các đặc tính của tiếng nói thay đổi tương ứng với các âm được nói. Ngoài ra, các âm khác nhau thì biến đổi tín hiệu cũng diễn ra khác nhau. Ví dụ dưới đây là một minh họa [1]:
Tóm tắt
Giới thiệu:
Trong những năm gần đây, hệ thống nhận dạng tiếng nói tự động (ASR) ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực. Tuy nhiên, hiệu suất của những hệ thống này lại dễ dàng bị ảnh hưởng bởi tác động bất lợi của môi trường, chẳng hạn như nhiễu,...Vì vậy, để xây dựng một bộ ASR bền vững với nhiễu, các thuật toán giảm nhiễu được áp dụng nhằm tối thiểu tác động của nhiễu và cải thiện chất lượng tiếng nói. Trong đề tài này, chúng tôi tập trung vào 4 thuật toán dựa trên lý thuyết tối thiểu hóa bình phương độ lệch trung bình, gồm MMSE-MS, MMSE-STSA84, MMSE-STSA85 và bộ lọc Wiener. Bằng cách tích hợp các thuật toán này vào tầng tiền xử lý của khối front-end của bộ ASR, chúng tôi nhận thấy hiệu suất nhận dạng có những cải thiện nhất định trong môi trường nhiễu.
Nội dung chính của đồ án gồm 4 chương, trong đó chương đầu chủ yếu giới thiệu về cấu trúc một bộ nhận dạng tiếng nói tự động, chương 2 đề cập đến các tiêu chuẩn DSR của ETSI (SFE và AFE) và các giải thuật giảm nhiễu nhằm tăng cường hiệu quả cho bộ ASR, chương 3 tập trung vào mô hình âm học HMM, chương 4 đánh giá và so sánh hiệu quả của các thuật toán dựa trên kết quả nhận dạng được thực hiện trên cơ sở dữ liệu SpeechDat Car Aurora3 và phần mềm nhận dạng tiếng nói HTK.
1. Hệ thống nhận dạng tiếng nói
Hình 1. Sơ đồ hệ thống nhận dạng tiếng nói
Bộ ASR trình bày ở hình bên bao gồm có hai khối chính: Khối front-end với hai khối nhỏ là Tiền xử lý và Trích chọn đặc trưng, khối Back-end gồm Mô hình âm học (HMM), Từ điển, Mô hình ngôn ngữ N-gram, Tìm và giải mã và đánh giá nhận dạng. Để có một bộ ASR bền vững, các thuật toán giảm nhiễu sẽ được tích hợp vào khối Tiền xử lý.
2. Khối Front-end và các thuật toán giảm nhiễu
Hầu hếtcác thuật toán giảm nhiễu được đề xuất đều hướng đến một mục đích chung, đó là lọc ra được phần tín hiệu sạch s(n) từ tiếng nói bị ảnh hưởng bởi nhiễu y(n), đặc biệt là nhiễu cộng d(n):
y(n) = s(n) + d(n)
Sau phép biến đổi FFT cho các khung của y(n), tín hiệu có dạng:
Y(k) = S(k) + D(k).
Giá trị Y(k) này sẽ được sử dụng làm đầu vào cho phương pháp MMSE ở phần dưới.
2.1. Kĩ thuật tối ưu MMSE
Phương pháp tối thiểu bình phương độ lệch trung bình, hay MMSE, có nhiệm vụ ước lượng (k) sao cho giống với S(k) nhất có thể, với Y(k) cho trước, tức là tìm được giá trị nhỏ nhất của:
E{[S(k) - (k)]2}
|
G(k) = (k) / Y(k)
Từ hướng tiếp cận này, một số định nghĩa đã được đưa ra nhằm phục vụ cho việc ước lượng G, như SNRpri và SNRpost với :
và
Lý thuyết MMSE sẽ được áp dụng để xây dựng các thuật toán như đã giới thiệu ở trên, sơ đồ khối dùng chung cho các thuật toán này có dạng như hình 2.
2.2. Bộ lọc Wiener
Thuật toán Wiener được thực hiện dựa trên lý thuyết về MMSE và bộ lọc Wiener, trong đó tín hiệu sạch được ước lượng qua từng khung sao cho bình phương độ lệch giữa tín hiệu sạch thực sự và tín hiệu vừa được ước lượng có giá trị bé nhất.
Để tính được SNRpri và SNRpost, đầu tiên phải tìm được nhiễu D(k). Vì không xác định được biên độ của nhiễu nên giá trị này có thể được ước lượng bằng cách lấy trung bình cộng của biên độ các khung không có tiếng nói, vốn được phát hiện bởi giải thuật VAD. Giá trị nhiễu ước lượng được cập nhật thường xuyên để tránh những thay đổi lớn về biên độ của nó sẽ gây ảnh hưởng đến tín hiệu sạch ở đầu ra. Ngoài ra, trong suốt quá trình làm việc, pha của tín hiệu được giữ nguyên để ở đầu ra, tín hiệu đã được cải thiện sẽ có pha không đổi so với đầu vào, nhằm tránh méo.
Giá trị SNRpri của khung thứ t sau đó được ước lượng gần đúng thông qua SNRpost và phần tín hiệu sạch tìm được ở khung trước đó bằng cách sử dụng phương pháp ‘quyết định trực tiếp’:
trong đó α là hệ số làm mịn , 0≤α≤1
Hàm độ lợi G được tìm theo công thức:
Tín hiệu sạch được xác định bằng cách nhân G(k) với đầu vào Y(k):
.
2.3. Thuật toán MMSE-STSA84
Thuật toán MMSE-STSA84 được đề xuất vào năm 1984 bởi Ephraim và Malah nhằm cải thiện tiếng nói bị ảnh hưởng bởi các thành phần nhiễu cộng không tương quan với nó và phải là loại nhiễu ”ổn định”, có biên độ biến đổi chậm. Cách thức ước lượng tín hiệu sạch của MMSE-STSA84 hầu như giống với bộ lọc Wiener nói trên, điểm khác biệt lớn nhất giữa hai giải thuật này chính là công thức tính hàm độ lợi phổ G. Hàm G trong thuật toán MMSE-STSA84 được tính dựa trên và như sau:
Trong đó Γ(x) là hàm gamma của x, Γ(1.5)= , Io(..) và I1(..) lần lượt là biểu diễn của hàm Bessel bậc 0 và bậc 1, υt(k)được xác định bằng biểu thức:
2.4. Thuật toán MMSE-STSA85
Thuật toán này được đề xuất vào năm 1985, cũng bởi hai tác giả Ephraim và Malah , về nguyên tắc cũng giống với phiên bản trước đó, nhưng được thực hiện dựa trên phép tính logarit của phổ tín hiệu. Nghĩa là bình phương trung bình độ lệch theo thang logarit giữa tín hiệu sạch và tín hiệu đã ước lượng được tối thiểu hóa theo kiểu:
Với hàm độ lợi G(k) có dạng:
Cần phải để ý rằng hàm G(k) ở công thức trên sẽ cho độ lợi thấp hơn một chút so với độ lợi cho bởi hàm G(k) tìm được ở thuật toán MMSE-STSA 84. Tuy nhiên, phương pháp này được cho là phù hợp với xử lý tiếng nói bởi nó tạo ra mức nhiễu dư thấp hơn mà không ảnh hưởng nhiều đến bản thân tiếng nói.
2.5. Thuật toán MMSE-MS
Thuật toán MMSE-MS là sự kết hợp giữa phương pháp ước lượng mật độ phổ công suất nhiễu dựa trên thống kê tối thiểu và làm mịn tối ưu được đề xuất năm 2001 bởi Rainer Martin và phương pháp tìm hàm độ lợi của giải thuật MMSE-STSA85. Khác với các thuật toán trước, MMSE-MS không sử dụng hàm VAD để phát hiện tiếng nói rồi từ đó ước lượng nhiễu, mà dùng hàm làm mịn sau:
Với αc là tham số làm mịn, =
3. Mô hình Markov ẩn (HMM) và ứng dụng trong nhận dạng tiếng nói
HMM là một dạng của mô hình âm học,đồng thời cũng là một phương pháp thống kê rất mạnh trong việc đặc tính hóa các mẫu dữ liệu rời rạc theo thời gian đã quan sát được. Có 3 vấn đề cơ bản cần phải giải quyết trước khi áp dụng mô hình này cho các ứng dụng trong thực tế:
- Vấn đề đánh giá à Giải quyết bằng giải thuật Forward.
- Vấn đề nhận dạng à Giải quyết bằng thuật toán tìm kiếm Viterbi.
- Vấn đề huấn luyện à Giải quyết bằng giải thuật Baum-Welch.
4. Các bước thiết lập và đánh giá kết quả thực nghiệm
Trong nghiên cứu này, các khối front-end đã được ETSI tiêu chuẩn hóa, bao gồm SFE và AFE lần lượt được kết hợp với bộ nhận dạng tiếng nói HTK. Các thuật toán được trình bày ở trên sẽ lần lượt được tích hợp vào tầng tiền xử lý của khối front-end. Hiệu quả của các thuật toán này ngoài việc được đem so sánh với nhau thì còn được kiểm chứng bằng cách so sánh chúng với chính bản thân các thuật toán dùng trong SFE và AFE. Tất cả các lượt kiểm tra đều được chúng tôi thực hiện trên cơ sở dữ liệu SpeechDat Car Aurora3. Dữ liệu trong Aurora3 được chia thành 3 điều kiện: hm , mm , wm . Chúng tôi sẽ dùng các điều kiện này để thực hiện hai chế độ kiểm tra wo và wi, trong đó:
- wo : không huấn luyện lại mô hình âm học, nghĩa là chỉ khử nhiễu cho tập dữ liệu kiểm tra mà không khử nhiễu cho tập huấn luyện.
- wi : có huấn luyện lại mô hình âm học, tức là khử nhiễu đồng thời cho cả tập huấn luyện lẫn tập kiểm tra.
Đối với khối front-end AFE, ở mỗi chế độ, bộ lọc Wiener 2 tầng – thuật toán giảm nhiễu dùng trong chuẩn AFE – sẽ được thay thế bằng mỗi thuật toán đã đề cập ở trên để có những đánh giá đúng nhất về hiệu quả nhận dạng của chúng.
Bảng 1. Hiệu suất nhận dạng trong điều kiện hm
Trong lần kiểm tra với điều kiện hm, từ bảng kết quả nhận dạng, chúng tôi nhận thấy:
- Tỉ lệ nhận dạng từ (word recognition rate – WRR) khi sử dụng các thuật toán giảm nhiễu tăng rõ rệt so với khi không thực hiện giảm nhiễu (wo.NR), chẳng hạn như từ 66.70 lên 78.49 khi sử dụng thuật toán MMSE_MS.
- WRR khi dùng AFE cao hơn nhiều so với khi dùng SFE. Nguyên nhân do ngoài các khối làm việc giống với SFE, AFE được tích hợp thêm một số bước xử lý như làm mịn dạng sóng, cân bằng mù để chống méo kênh,…nên cho hiệu quả tốt hơn.
- Xét từng thuật toán, nhìn chung WRR ở kiểu wi cao hơn ở wo. Điều này có thể được lý giải là do việc giảm nhiễu ở cả tập huấn luyện và tập kiểm tra đã làm tăng độ tương quan giữa chúng.Thuật toán MMSE-MS về tổng thể vẫn cho hiệu quả cao hơn so với các thuật toán khác, mặc dù không thể bằng chuẩn AFE của ETSI. Điều này chứng tỏ cho sự tối ưu của giải pháp ước lượng nhiễu không dùng VAD trong MSSE-MS
Ở các lần kiểm tra tiếp theo với điều kiện mm và wm, chúng tôi thu được kết quả nhận dạng như ở bảng 2 và 3.
Bảng 2. Hiệu suất nhận dạng trong điều kiện mm
Bảng 3. Hiệu suất nhận dạng trong điều kiện wm
Hiệu suất nhận dạng khi sử dụng các phương pháp khử nhiễu ở điều kiện mm và wm mặc dù có cải thiện nhưng không tốt hơn bao nhiêu so với khi không dùng bất kì một thuật toán nào.Trong khi đó, ở điều kiện hm, ở vài thuật toán, hiệu suất khi có giảm nhiễu nhiều hơn khi không giảm nhiễu đến 12%. Điều này có nghĩa việc giảm nhiễu chỉ thực sự phát huy tác dụng đối với dữ liệu ở điều kiện hm. Tuy nhiên, không hẳn tất cả các trường hợp dùng thuật toán nén nhiễu đều cho kết quả như mong đợi, đặc biệt là khi không huấn luyện lại mô hình âm học.
5. Kết luận và hướng phát triển đề tài
Từ những kết quả thực nghiệm trên, có thể thấy rằng việc áp dụng các thuật toán giảm nhiễu vào tầng tiền xử lý của khối front-end của bộ nhận dạng đã cải thiện đáng kể hiệu suất nhận dạng.
Trong các thuật toán trên, thuật toán MMSE_MS cho hiệu suất nhận dạng khả quan nhất, gần bằng với giải thuật Wiener 2 tầng trong chuẩn AFE do ETSI đề xuất, và cao hơn so với chuẩn SFE. Các thuật toán còn lại cũng cho kết quả khá tốt nếu có huấn luyện lại mô hình âm học. Từ đó, chúng tôi đề nghị nên áp dụng các giải thuật này vào khối front-end giống như AFE, và khi nhận dạng nên huấn luyện lại mô hình âm học để có được một hệ thống nhận dạng bền vững với môi trường nhiễu, đạt được mục tiêu mà nghiên cứu này hướng tới. Ngoài ra, ở các thuật toán như MMSE-STSA84, bộ lọc Wiener, nếu tối ưu hóa kĩ thuật VAD, hoặc sử dụng phương pháp ước lượng nhiễu tốt hơn, giống như ở MMSE-MS, thì hiệu quả nhận dạng sẽ được cải thiện hơn nữa, đó cũng là hướng chúng tôi muốn nghiên cứu tiếp theo.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Các hệ thống nhận dạng tiếng nói (ASR) hiện tại đang được sử dụng gần gũi hơn với đời sống con người. Tính đa dạng về mục đích sử dụng đồng nghĩa với việc sẽ tồn tại những ứng dụng đòi hỏi các bộ ASR phải có độ ổn định và tính chính xác cao khi làm việc trong môi trường bất lợi. Vì vậy, nhiều kĩ thuật xử lý tiếng nói đã và đang được nghiên cứu nhằm cải thiện hiệu suất hoạt động của chúng. Trong khuôn khổ đề tài, nhóm đã chọn nghiên cứu về phương pháp giảm nhiễu bằng cách tích hợp các thuật toán nén nhiễu vào tầng tiền xử lý của bộ nhận dạng tiếng nói HTK và tìm hiểu về các tiêu chuẩn DSR của ETSI. Qua đó tiến hành kiểm tra trên cơ sở dữ liệu thực để có thể đánh giá hiệu suất của từng tiêu chuẩn, từng thuật toán, đồng thời so sánh chúng với nhau. Từ kết quả thực nghiệm thu được, chúng tôi rút ra một số nhận xét như sau:
- Việc áp dụng các thuật toán giảm nhiễu đã cải thiện được đáng kể hiệu suất nhận dạng tiếng nói trong môi trường nhiều nhiễu và tiếng ồn.
- Các thuật toán nếu được tích hợp vào khối front-end AFE (khi không dùng bộ lọc Wiener 2 tầng) thì cho hiệu suất cao hơn khi tích hợp vào SFE.
- Việc xử lý nhiễu có ý nghĩa nhất khi thực hiện trong điều kiện hm.
- Trong 4 thuật toán được đem kiểm tra, MMSE_MS cho kết quả nhận dạng cao nhất, xấp xỉ với giải thuật Wiener 2 tầng trong chuẩn AFE do ETSI đề xuất và cao hơn so với chuẩn SFE.
- Những giải thuật còn lại cũng cho kết quả khá tốt nếu có huấn luyện lại mô hình âm học.
- Quá trình giảm nhiễu có khả năng đã làm biến đổi tiếng nói nên kết quả thu được ở các trường hợp không huấn luyện lại mô hình âm học không cao như mong đợi.
Từ đó, chúng tôi đề nghị nên áp dụng các giải thuật này vào khối front-end giống như AFE, và khi nhận dạng nên huấn luyện lại mô hình âm học để có được một hệ thống nhận dạng bền vững với môi trường nhiễu, đạt được mục tiêu mà đề tài này hướng tới.
Với mong muốn phát triển đề tài lên cao hơn, một số hướng giải quyết đã được vạch ra:
- Trong các thuật toán như MMSE-STSA 84, bộ lọc Wiener, nếu tối ưu hóa kĩ thuật VAD, hoặc sử dụng phương pháp ước lượng nhiễu tốt hơn, như ở trường hợp MMSE-MS, thì hiệu quả nhận dạng sẽ được cải thiện nhiều hơn nữa.
- Trong quá trình kiểm tra, chúng tôi nhận thấy có một trường hợp cho hiệu suất nhận dạng rất cao, đó là khi cho các thuật toán lần lượt kết hợp với khối AFE, vẫn giữ nguyên bộ lọc Wiener 2 tầng và không huấn luyện lại mô hình âm học, điều đó thể hiện qua bảng sau:
WRR/WAC (%) |
MMSE-MS |
MMSE-STSA84 |
MMSE-STSA85 |
Bộ lọc Wiener |
hm |
93.05/90.16 |
92.91/90.36 |
82.47/81.91 |
72.06/68.92 |
mm |
85.94/84.11 |
83.89/82.87 |
82.21/81.26 |
64.20/56.00 |
wm |
93.73/91.79 |
92.33/90.20 |
91.12/88.64 |
77.86/69.49 |
Chúng tôi sẽ tiếp tục nghiên cứu kĩ hơn về trường hợp này để có được những lý giải hợp lý cũng như hướng đề xuất tốt hơn sau này.
- Xây dựng bộ nhận dạng tiếng nói bền vững dựa trên cơ sở dữ liệu tiếng Việt.
- Ứng dụng hệ thống ASR vào các ngôi nhà thông minh, cho phép điều khiển qua mạng internet với độ chính xác cao.
TÀI LIỆU THAM KHẢO
[1] Lawrence R. Rabiner, Fellow, IEEE, “a Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition”, IEEE, Vol.77, No.2, February 1989.
[2] Jacob Benesty, M. Mohan Sondhi, Yiteng Huang, “Springer Handbook of Speech Processing”, Springer, 2008.
[3] Xuedong Huang, Alex Acen, Hsiao-wuen Hon, “Spoken Language Processing, a Guide to Theory, Algorithm, and System Development”, Prentice Hall, Inc, 2001.
[4] ETSI ES 201 108 V1.1.1 Speech Processing, Transmission and Quality Aspects (STQ), Distributed speech recognition, Front-end feature extraction algorithm, Compression algorithms, ETSI, 2000.
[5] ETSI ES 202 050 V1.1.3 Speech Processing, Transmission and Quality Aspects (STQ), Distributed speech recognition, Advanced front-end feature extraction algorithm, Compression algorithms, ETSI, 2003.
[6] J. Benesty, S. Makino, J. Chen, “Speech Enhancement”, Springer, 2005.
[7] Yariv Ephraim, David Malah, “Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator”, IEEE Trans. Acoustics, Speech, and Signal Processing, Vol. ASSP-32, No.6, December, 1984.
[8] Yariv Ephraim, David Malah, “Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator”, IEEE Trans. Acoustics, Speech, and Signal Processing, Vol. ASSP-33, No.2, April, 1985.
[9] Rainer Martin, Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics, IEEE Trans. Speech and Audio Processing, Vol.9, No.5, July, 2001
[10] S. Young and et. al., The HTK Book (for HTK Version 3.3). Microsoft Corporation Cam-bridge University, Engineering Department, Cambridge University, 2005.
[11] “AURORA Project Database - Subset of SpeechDat-Car German database (AURORA/CD0003-03),” Evaluations and Language resources Distribution Agency, Tech. Rep., 2001.
[12] Phạm Văn Tuấn, Hoàng Lê Uyên Thục, “Giải pháp giảm nhiễu trong miền Wavelet để nâng cao hiệu suất nhận dạng tiếng nói tự động”, số 4(39), 2010.
[13] Lawrence R. Rabiner and Ronald W. Schafer, “Introduction to Digital Speech Processing”, Vol.1, No.1-2, 2007.