Tài liệu Nhận dạng tiếng Việt dùng mạng neuron kết hợp trích đặc trưng dùng LPC và AMDF pdf

7 548 4
Tài liệu Nhận dạng tiếng Việt dùng mạng neuron kết hợp trích đặc trưng dùng LPC và AMDF pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

Abstract: This paper describes a method of creating neural network based isolated Vietnamese speech recognizer. The formant extraction process uses the current popular model LPC (Linear Predictive Coding) in which LPC parameters are converted to cepstral coefficients. The neural network is used to estimate the word probabilities and we will choose the maximum for the target words. We also combine LPC method with AMDF (Average Magnitude Difference Function) method to increase the accuracy. The experiments are stimulated by Matlab 6.5. The high accuracy of results leads the conclusion that the studied way is suitable. Keyword: Vietnamese speech recognition, Neural Network, LPC, AMDF. I. GIỚI THIỆU Nhận dạng tiếng nói là một kỹ thuật có thể ứng dụng trong rất nhiều lĩnh vực của cuộc sống: trong việc điều khiển (điều khiển robot, động cơ, điều khiển xe lăn cho người tàn tật ), an ninh quốc phòng Ở Việt Nam, trong những năm gần đây đã có một số kết quả nghiên cứu ban đầu v ề nhận dạng tiếng Việt, tuy nhiên còn có giới hạn về độ chính xác, số từ, vấn đề thanh điệu đặc thù tiếng việt hầu như chưa được đề cập Bài báo trình bày một hướng ứng dụng thanh điệu vào việc nhận dạng tiếng Việt đọc rời rạc nhằm nâng cao độ chính xác: phương pháp kết hợp trích đặc trưng bằng LPC với trích chu kỳ c ơ bản dùng AMDF cho kết quả nhận dạng chính xác cao qua thử nghiệm. II. CƠ SỞ LÝ THUYẾT 1. Mã hóa dự báo tuyến tính (LPC - Linear Predictive Coding) [4] Gọi r(k) là giá trị tự tương quan của tín hiệu dời đi k mẫu: ∑ ∞ −∞= += n knxnxkr )()()( (1) Khi đó các hệ số LPC sẽ là nghiệm của hệ phương trình: ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ −−− − − − )( . . . )3( )2( )1( . . . )0(.)3()2()1( )3( )0 ()1()2( )2( )1()0()1( )1( )2()1()0( 3 2 1 Pr r r r a a a a rPrPrPr Prrrr Prrrr Prrrr P (2) Hệ phương trình trên được giải bằng thuật toán Levinson-Durbin. Tất cả các hệ số LPC sẽ là đặc trưng của tín hiệu tiếng nói. a) Thuật toán Levinson-Durbin: [4] Khởi tạo: p=1 Tính sai số bình phương trung bình bậc nhất: ))1(1)(0( 2 11 arE −= (3) Nhận dạng tiếng Việt dùng mạng neuron kết hợp trích đặc trưng dùng LPC AMDF Vietnamese Speech Recognition Using Neural Networks Combined with LPC Formant Extraction and AMDF Pitch-Detection Hoàng Đình Chiến trong đó )0( )1( )1( 1 r r a −= (4) Đệ qui: Với p=2,3,…,P 1. Tính hệ số K p : 1 11 )( − −− + −= p p bT p p E arpr K (5) 2. Tính các hệ số dự báo bậc p: pp Kpa =)( (6) )()()( 11 kpaKkapa pppp −+= −− (7) với k=1,2,…,p-1 3. Tính sai số bình phương trung bình bậc p: )1( 2 1 ppp KEE −= − (8) 4. Quay lại bước 1, thay p bằng p+1 nếu p ≤ P Kết thúc, thay: [a p (1) a p (2) … a p (P)]= -[a p (1) a p (2) … a p (P)] b) Hàm hiệu biên độ trung bình (AMDF - Average Magnitude Difference Function) [3] Hàm hiệu biên độ trung bình là hiệu biên độ của tín hiệu với chính nó dời đi p mẫu. ∑ −− = +−= pN n pnxnxpd 1 0 )()()( (9) Nếu x(n) là tín hiệu tuần hoàn với chu kỳ T (mẫu) thì AMDF sẽ đạt cực tiểu nếu tín hiệu bị dời đi một đoạn đúng bằng T mẫu. Nhận dạng giọng của người có tần số cơ bản từ 80Hz (tương ứng với số mẫu là n 1 =Fs / 80) đến 200Hz (tương ứng n 2 =Fs/200, Fs là tần số lấy mẫu). Sẽ tính AMDF của tín hiệu với độ dời thay đổi từ n 2 đến n 1 . Giả sử AMDF đạt cực tiểu ứng với độ dời P0 (mẫu). Đó chính là chu kỳ của tín hiệu (hoặc gần với chu kỳ của tín hiệu nhất), tần số cơ bản của tín hiệu là F0=Fs/P0. Giá trị này chính là đặc trưng của tín hiệu về mặt thanh điệu. Do tiếng nói là tín hiệu không dừng nên cứ mỗi 30ms phải tính lại các giá trị mới. Tất cả các giá tr ị tính được sẽ là đặc trưng của một từ được dùng để huấn luyện mạng neuron. III. MẠNG NEURON Mỗi neuron nhân tạo gồm một số các ngõ vào (từ dữ liệu gốc, hay từ ngõ ra các neuron khác trong mạng). Mỗi kết nối đến ngõ vào có một trọng số một giá trị ngưỡng. Tín hiệu được truyền qua hàm kích hoạt (hay còn gọi là hàm truyền) tạo giá trị ngõ ra neuron. Nguyên tắc của mạ ng neuron là học theo mẫu ánh xạ dữ liệu vào qua một hàm truyền để cho ra kết quả. Kiểu mạng được sử dụng phổ biến nhất là mạng lan truyền ngược (back propagation) với kỹ thuật cơ bản là cập nhật trọng số theo hướng giảm gradient để tìm vị trí tốt nhất trên mặt lỗi. Hình 1: Cấu trúc Neural Networks IV. TRÍCH ĐẶC TRƯNG 1. Trích đặc trưng bằng LPC [4] Bước 1: Lọc nhiễu, sử dụng bộ lọc thông cao có hàm truyền: c ws s sH + =)( (10) với tần số cắt dưới là 300 Hz để lọc nhiễu tần số thấp do microphone gây ra. Bước 2: Pre-emphasis, sử dụng bộ lọc thông cao có đáp ứng xung: y(n) = x(n) – a*x(n-1) với 0.9 ≤ a ≤ 1 (11) Bước 3: Tách điểm đầu cuối của một từ dùng hàm năng lượng thời gian ngắn: 2 1 )](*)([ ∑ −+ = −= Nm mn m mnwnxE (12) Bước 4: Phân đoạn thành các frame (frame này khác với các frame trong giai đoạn tìm điểm đầu điểm cuối), mỗi frame có N mẫu, độ chồng lấp M mẫu, thường NM 3 1 = . Bước 5: Cửa sổ hóa. Hàm cửa sổ thông dụng nhất là cửa sổ Hamming được định nghĩa như sau: ⎩ ⎨ ⎧ ∉ ≤≤− = ],0[0 0)/2cos(46.054.0 )( Mn MnMn nw π (13) Bước 6: Xác định các hệ số dự báo tuyến tính dùng thuật toán Levinson-Durbin. Bước 7: Chuyển các hệ số dự báo tuyến tính thành các hệ số cepstral. ∑ − = − += 1 1 1 m k kmkmm akc m ac với 1 ≤ m ≤ P (14) ∑ − = − = 1 1 1 m k kmkm akc k c với m >P (15) Các hệ số cepstral này có độ tập trung cao hơn đáng tin cậy so với các hệ số dự báo tuyến tính. Thông thường chọn Q =3/2P. Bước 8: Chuyển sang cepstral có trọng số: c’ m = w m c m với 1 ≤ m ≤ Q (16) Hàm trọng số thích hợp là bộ lọc thông dải (trong miền cepstral) Qm Q mQ w m ≤≤ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ += 1sin 2 1 π (17) Bước 9: Tính đạo hàm cepstral. ∑ −= +≈∆= K Kk mm m ktkctc dt tdc )()( )( µ (18) với µ là hằng số chuẩn (2K+1) là số lượng frame cần tính. K= 3 là giá trị thích hợp để tính đạo hàm cấp một. Vectơ đặc trưng của tín hiệu gồm Q hệ số cepstral và Q hệ số đạo hàm cepstral. 2. Trích chu kỳ cơ bản bằng AMDF [3] Bước 1, bước 2 bước 3 giống như phương pháp LPC. Đối với bộ lọc nhiễu, sử dụng bộ lọc thông cao có tầ n số cắt là 60Hz do tần số cơ bản của người từ 80Hz đến 200Hz. Bước 4: Tín hiệu sẽ được xén bớt nhằm làm nổi rõ chu kỳ cơ bản: (19) Trong đó giá trị C khoảng 1/3 biên độ cực đại của tín hiệu. Bước 5: Tín hiệu sau khi xén được đưa đến hàm lấy hiệu biên độ trung bình : ∑ −− = +−= pN n pnxnxpd 1 0 )()()( (20) trong đó N là độ dài khung p được lấy trong khoảng pitch tương ứng với tần số cơ bản 80-200Hz. Chọn P0 có d cực tiểu, đó chính là chu kỳ pitch tần số cơ bản là Fs/P0. Đối với các khung có d(P0) > 0.7 d max (p) được phân loại là khung vô thanh gán F0 = 0. Bước 6: Sau khi đã xác định F0 của toàn bộ âm tiết, cần phải xử lý các khung có F0 = 0. Nếu các khung là vô thanh ở đầu hay ở cuối âm tiết, thay các khung đó bằng F0 của khung hữu thanh kế cận. Nếu các khung vô thanh ở giữa âm tiết thì thay F0 của khung đó bằng trung bình của hai khung hữu thanh ở hai bên. Bước 7: Đường nét F0 được làm trơn bằng bộ lọc trung bình có trọng số với đáp ứng xung h=[0.1 0.2 0.4 0.2 0.1] Bước 8: Do số ngõ vào của mạng neuron là cố định nên cần chuẩn hóa kích thước F0, nên cũng phải chuẩn hóa độ lớn của F0 chuyển qua thang log: F0 n [i] = -20log(F0 a [i] –min + ∆)/(max-min) với i=0,1, …, L-1 max min là giá trị cực đại cực tiểu của F0 lấy trên toàn bộ dữ liệu, ∆ là số dương để tránh log0. Bước 9: Lấy L giá trị đạo hàm của logF0, ghép L giá trị logF0 với L giá trị đạo hàm thành vectơ đặc trưng của từ. V. HUẤN LUYỆN MẠNG KẾT QUẢ THU ĐƯỢC 1. Huấn luyện mạng dùng LPC Tín hiệu tiếng nói sẽ được trích đặc trưng b ằng phương pháp LPC-cepstrum. Vectơ đặc trưng của mỗi từ có 144 hệ số. Như vậy mạng neuron sẽ có 144 ngõ vào, số nút xuất: 10 (tương ứng với 10 số), số nút ẩn: 220. Trục dọc là chữ số đọc để nhận dạng, số kết quả nhận dạng đúng thể hiện ở đường chéo, ở trục ngang thể hiện số lần số nhận dạng sai. Bảng 1: Kết quả nhận dạng huấn luyện mạng dùng LPC Ví dụ đọc nhận dạng 100 lần số 1 , nhận dạng đúng là 84 lần. Nhận dạng sai thành số 4 là 13 lần, số 6 là 1 lần, số 8 là 2 lần . Trong cách nhận dạng dùng phương pháp LPC, ta thấy có một số từ có phát âm gần giống nhau bị nhầm lẫn nhiều. Ví dụ, từ “một” “bốn” , “hai”, “bảy”, “năm”, “tám”. Để khắc phục hiện tượng này, khảo sát giải pháp AMDF kết hợp LPC. 2. Hu ấn luyện dùng LPC kết hợp với AMDF Với ý tưởng cần phải phân chia tập mẫu nhận dạng để khắc phục những hạn chế của phương pháp LPC, phương pháp trích đặc trưng dùng AMDF tỏ ra có hiệu quả khi tách được từ “bảy” từ “một” ra một nhóm riêng. Như trên đã đề cập, phương pháp AMDF chỉ trích đặc trưng về mặt thanh điệu của tín hiệu nên ít bị ảnh hưởng về mặt phát âm như phương pháp LPC. Mặt khác, nếu xét về mặt thanh điệu thì thanh ngang sẽ gần giống với thanh sắc, hai thanh này khác xa so với thanh nặng thanh hỏi, nên việc tách từ “một” từ “bảy” ra là có thể. Phương pháp nhận dạng: Tập mẫu được chia làm hai nhóm: nhóm 1 gồm những từ thanh hỏi thanh nặng, tương ứng với “một” “bảy”, nhóm 2 gồm những từ thanh ngang thanh sắc, t ương ứng với các từ “không”, “hai”, “ba”, “bốn”, “năm”, “sáu”, “tám”, “chín”. Đầu tiên, dùng phương pháp AMDF để nhận dạng xem từ thuộc nhóm nào, sau đó sẽ đưa qua mạng neuron thứ hai để xác định từ cụ thể. Như vậy sẽ cần ba mạng neuron, hai mạng nhận dạng theo phương pháp AMDF mạng thứ ba nhận dạng theo phương pháp LPC. Hình 2: Sơ đồ khối phương pháp nhận dạng Bảng 2: Kết quả nhận dạng huấn luyện mạng dùng LPC kết hợp AMDF 0 1 2 3 4 5 6 7 8 9 0 97 1 2 1 99 1 2 96 1 1 2 3 99 1 4 4 1 1 90 1 2 1 5 1 94 5 6 1 95 4 7 1 2 97 8 1 3 1 95 9 100 Độ chính xác trung bình: 96,2% Ví dụ nhận dạng đúng số 1 là 99 lần , sai số nhận dạng là 1 lần . Độ chíng xác nhận dạng cao nhờ sự kết hợp xử lý hợp lý. Nhận xét về phương pháp AMDF: Như vậy việc kết hợp hai phương pháp LPC AMDF đã nâng cao xác suất nhận dạng đúng, thời gian huấn luyện có tăng lên không đáng kể. Ưu điểm của AMDF là số ngõ vào ít, kích thước mạng huấ n 0 1 2 3 4 5 6 7 8 9 0 98 2 1 84 13 1 2 2 88 12 3 100 4 6 91 3 5 2 84 1 13 6 1 98 1 7 4 1 94 1 8 1 99 9 100 Độ chính xác trung bình: 93,6% Không Hai Ba Bốn N ăm Sáu Tám Chín Một Bảy Không, một, hai, ba, bốn, năm, sáu, Phương pháp AMDF: Mạng 10 nút nhập, 40 nút ẩn, 2 nút xuất Một, bảy Không, hai, ba, b ố n, nă m sáu, tám, chín Phương pháp AMDF Mạng 10 nút nhập, 40 nút ẩn, 2 nút xuất Phương pháp LPC: Mạng 144 nút nhập, 220 nút ẩn, 8 nút xuất luyện nhỏ. Mặt khác, phương pháp AMDF là ít phụ thuộc vào cách phát âm nên tỷ lệ đọc sai sẽ thấp hơn so với phương pháp LPC. Tuy nhiên, khuyết điểm của phương pháp AMDF là chỉ phân biệt tiếng nói về mặt thanh điệu, do đó khả năng ứng dụng trong thực tiễn là hạn chế. Một khuyết điểm khác là phương pháp này rất khó sử dụng trong trường hợp từ đọ c liên tục. So với AMDF, phương pháp LPC cho ra kết quả cụ thể hơn, nhưng có khuyết điểm là số đặc trưng khá lớn và dễ bị tác động bởi cách phát âm của người nói. Từ những ưu khuyết điểm của phương pháp LPC và phương pháp AMDF, cho thấy hướng kết hợp hai phương pháp này là hợp lý. Tuy nhiên, cần phải có những nghiên cứu đầy đủ hơn nữa để có thể mở rộng lên bộ từ vựng lớn hơn cũng như ứng dụng phương pháp AMDF rộng rãi hơn trong thực tiễn. Lưu ý là số đọc rời rạc, mỗi người đọc huấn luyện được xử lý độc lập. Ưu điểm của mạng neuron trong nhận dạng tiếng nói. Thứ nhất là về mặt tốc độ huấn luyện cũng như tốc độ nhận dạng, mạng neuron tỏ ra vượt trội. Thứ hai là ưu thế trong việc mở rộng bộ từ vựng , được phát triển thêm cho nhận dạng từ điều khiển dưới đây. Bảng 3: Kết quả với bộ từ vựng điều khiển Lên X uống Trái Phải Tới Lui Xoay Dừng Lên 200 Xuống 200 Trái 196 4 Phải 200 Tới 200 Lui 198 2 Xoay 1 197 2 Dừng 200 Độ chính xác trung bình: 99,4% 3. Nhận dạng từ điều khiển Bài báo này cũng xây dựng bộ từ vựng nhỏ gồm một số từ nhằm mục đích điều khiển tự động. Bộ từ vựng: lên, xuống, trái, phải, tới, lui, xoay, dừng. Việc huấn luyện bộ từ điều khiển không khác gì so với huấn luyện bộ từ vựng số được trình bày ở phần trên. Mạng neuron cũng được thử nghiệm với một số từ ghép như: xoay trái, xoay phải, xoay lên, xoay xuống, đi tới, đi lui, dừng lại, tiếp tục. Mỗi từ được đọc ngắt quảng, ví dụ từ “xoay trái” được đọc có sự ngắt quãng giữa từ “xoay” từ “trái”. Các kết quả khảo sát trên cho thấy việc nhận dạng có độ chính xác rất cao. Bảng 4: Kết quả với bộ từ vựng điều khiển dùng mạng neuron Xoay lên Xoay xuống Xoay trái Xoay phải Đi tới Đi Lui Tiếp tục Dừng lại Xoay lên 199 1 Xoay xuống 3 194 3 Xoay trái 199 1 Xoay phải 200 Đi tới 200 Đi Lui 200 Tiếp tục 200 Dừng lại 200 Độ chính xác trung bình: 99,5% VI. HƯỚNG PHÁT TRIỂN − Việc kết hợp LPC với AMDF cho kết quả nhận dạng tiếng nói tiếng việt rất cao nhờ kết hợp hợp lý phương pháp nhận dạng. Bước tiếp theo là phát triển bộ từ vựng lớn hơn, nâng cấp giải thuật. − Phương pháp AMDF làm việc rất tốt với từ đọc rời rạc. Tuy nhiên, hiện nay phương pháp này chưa được khai thác tố t, có thể là vì nó chỉ phân biệt được tiếng nói về mặt thanh điệu. Cần có những ý tưởng để kết hợp phương pháp này với những phương pháp khác nhằm nâng cao độ chính xác nhận dạng trên nền nhiễu − Nghiên cứu khả năng kết hợp mạng neuron với những công cụ khác trong nhận dạng tiếng Việt, ví dụ với logic mờ, với wavelet … − Xây dựng bộ nhận dạng từ đọc liên tục dùng mô hình âm vị , nhiều người nói. TÀI LIỆU THAM KHẢO: [1] Lê Tiến Thường, Hoàng Đình Chiến. “Vietnamese Speech Recognition Applied to Robot Communications”. Au Journal of Technology, Volume 7 No. 3 January 2004. Published by Assumption University (ABAC) Hua Mak, Bangkok, Thailand. [2] Lê Tiến Thường (chủ nhiệm), Hoàng Đình Chiến, Trần Tiến Đức… “Ứng dụng Wavelets nhận dạng tiếng nói tiếng việt trong điều khiển thông tin”. Báo cáo nghiệm thu đề tài NCKH trọng điểm ĐHQG TP HCM ngày 28-01- 2004. [3] Lê Tiến Thường, Trần Tiến Đức, “Nhận dạng thanh điệu tiếng nói tiếng Việt bằng mạng neuron phân t ầng”, Tạp chí Tin học Điều khiển học, 2004. [4] L.Rabiner and B.H.Juang, “Fundamental of speech recognition”, Prentice-hall. Englewood Cliffs. New Jersey 07632, 1993. [5] Hoàng Đình Chiến, Lê Tiến Thường. “An Efficient Approach Combining Wavelets And Neural Networks For Signal Procesing In Digital Communications”. Proceedings of IASTED-International Conference on Communication and Computer Networks in MIT Cambidge, USA. November 08 to November 10, 2004. [6] Cao Xuân Hạo, “Tiếng Việt mấy vấn đề ngữ âm – ngữ pháp – ngữ nghĩa”, Nhà xuất bản Giáo Dục, 1998. [7] Claudio Becchetti and Lucio Prina Ricotti, “Speech recognition. Theory & C++ Implementation”, Fondazione Ugo Bordoni, Rome, Italy. John Wiley and Sons, LTD. [8] Patrick M.Mills, “Fuzzy Speech Recognition”, University of South Carolina-1996. [9] Quách Tuấn Ngọc, “Xử lý tín hiệu số”, Nhà Xuất bản Giáo dục, 1995. [10] Lê Tiến Thường, Tr ần Tiến Đức, “Nhận dạng tiếng nói tiếng Việt liên tục bằng mạng neuron”, Tạp chí Phát triển Khoa học Công nghệ, Đại học Quốc gia TP. HCM, số 10, Tập 5, 2002. Ngày nhận bài: 05/08/2005 SƠ LƯỢC TÁC GIẢ HOÀNG ĐÌNH CHIẾN Sinh ngày: 17-4-1955 tại Quảng Ngãi. Tốt nghiệp Đại học MTYCI-Moscow 1979. Nhận bằng Thạc sỹ Điện tử Viễn thông, ĐH Bách khoa TP. HCM năm 1998, nhận bằng Tiến sỹ năm 2003. Hiện đang giảng dạy tại Khoa Điện- Điện tử, ĐH Bách khoa TP. HCM, Lĩnh vực nghiên cứu: Truyền thông vệ tinh, xử lý tín hiệu số, hệ thống truyền thông, wavelets, neuron networks. Email: hdchien@hcmut.edu.vn . Nhận dạng tiếng Việt dùng mạng neuron kết hợp trích đặc trưng dùng LPC và AMDF Vietnamese Speech Recognition Using Neural Networks Combined with LPC. HƯỚNG PHÁT TRIỂN − Việc kết hợp LPC với AMDF cho kết quả nhận dạng tiếng nói tiếng việt rất cao nhờ kết hợp hợp lý phương pháp nhận dạng. Bước tiếp theo

Ngày đăng: 15/02/2014, 03:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan