Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ ỨNGDỤNGMẠNG NƠ-RON NHÂNTẠO ÐỂ ÐIỀU KHIỂNTHIẾTBỊBẰNGGIỌNGNÓITIẾNGVIỆT Nguyễn Chí Ngơn1, Trần Thanh Hùng1 Trương Thị Thanh Tuyền2 Nguyễn Thái Nghe2 ABSTRACT This paper presents a neural networks-based method for a robot control system using Vietnamese voice commands A STFT-based method for formant estimation is used to extract important features of recorded waveforms to generate the training data A multi-layer feed-forward neural network is trained to recognize four words of any speakers, which are ‘Trái’, ‘Phải’, ‘Tới’, and ‘Lui’ Testing our system to control a wireless car shows the stability, accuracy of approximately 90% and ability to extend the system Keywords: Artificial neural networks, Speech recognition, Pitch period, Formant detection, Microcontroller, Control system Title: A method of applying neural networks to control system by Vietnamese speech TÓM TẮT Bài báo đề cập đến giải pháp ứngdụngmạng nơ-ron nhântạo (Artificial neural networks) đểđiềukhiểnthiếtbịgiọngnóitiếngViệt Phép biến đổi Fourier thời gian ngắn - STFT (Short time Fourier Transform) áp dụngđể trích đặc trưng tín hiệu tiếngnói Một mạng nơ-ron nhântạo huấn luyện đểnhận dạng giọngnóitiếngViệt người nào, họ đọc bốn từ lệnh ‘Trái’, ‘Phải’, ‘Tới’ ‘Lui’ (áp dụngđểđiềukhiển robot) Kết nghiên cứu kiểm chứng thông qua việc điềukhiển từ xa xe vơ tuyến Ðộ xác ước lượng xấp xỉ 90% khả mở rộng tập lệnh điềukhiển cao Từ khóa: Mạng nơ-ron nhân tạo, nhận dạng tiếng nói, chu kì cao độ, trích formant, vi điều khiển, hệ thống điềukhiển GIỚI THIỆU Ứngdụngnhận dạng tiếngnóiđểđiềukhiểnthiếtbị lĩnh vực thiết thực sống Có nhiều phương pháp tiếp cận đến nhận dạng tiếng nói, song tính phức tạp vốn có ngôn ngữ chất giọng dân tộc, mà lĩnh vực thách thức to lớn người đam mê Bài viết chúng tơi mong muốn tìm kiếm giải pháp ứngdụng trí tuệ nhântạo sống Cụ thể áp dụngmạng nơ-ron nhântạo (artificial neural networks, gọi tắt mạng nơ-ron) đểnhận dạng số từ tiếng Việt, đủ đểđiềukhiển mini-robot Với mục tiêu mong muốn người sử dụng vận hành tốt thiếtbị cách đọc lệnh vào micro máy tính.Mạng Nơ-ron nhận dạng từ điềukhiển vừa đọc, gởi đến mạch giao tiếp thiếtbị byte điềukhiển tương ứng (Hình 1) Hình 1: Sơ đồ khối hệ thống Bộ môn Viễn thông Kỹ thuật Điều khiển, Khoa Công nghệ Thông tin Bộ mơn Hệ thống thơng tin Tốn ứng dụng, Khoa Cơng nghệ Thơng tin 95 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ Chúng tiến hành xây dựng hệ thống điềukhiểnthiếtbị từ: ‘Tới’, ‘Lui’, ‘Trái’ ’Phải’ Kết thử nghiệm khả quan cho thấy khả mở rộng tập lệnh điềukhiển cao (Nguyễn Chí Ngơn Trịnh Hữu Phúc, 2002; Nguyen Chi Ngon, Tran Thanh Hung, Truong Thi Thanh Tuyen and Nguyen Thai Nghe 2005) XÂY DỰNG CƠ SỞ DỮ LIỆU DÙNG CHO VIỆC HUẤN LUYỆN Trước tiên, chúng cần xây dựng sở liệu dùngđể huấn luyện mạng (gọi tập mẫu) Tập mẫu có thơng qua việc thu thập liệu nhiều giọng đọc khác xử lý để giữ lại đặc trưng Sau đó, q trình huấn luyện mạng thực Kết thúc q trình này, mạng nơ-ron phân loại từ khác nhau, từ nhận dạng từ học mà không cần đến không gian liệu mẫu Tương ứng với từ lệnh dùngđểđiềukhiển robot, “tới”, “lui”, “trái” “phải”, chúng đánh dấu liệu đặc trưng phân tích thành nhóm Q trình nhận dạng, thực chất phân loại (classification) từ cần kiểm tra thuộc nhóm nhóm liệu (Ngôn et al, 2002; 2005) 2.1 Tiền xử lý liệu Sau ghi âm, tín hiệu tiếngnói cần xử lý để hạn chế nhiễu Ðồng thời, giải thuật tách từ áp dụngđể xác định thời điểm bắt đầu kết thúc tín hiệu (bởi thời gian cho phép soundcard ghi âm thường dài tín hiệu thực tế) Hình trình bày nguyên tắc tiền xử lý liệu Hình minh họa dạng tín hiệu trước sau xử lý Hình 2: Nguyên tắc tiền xử lý liệu tiếngnói 2.2 Trích đặc trưng tín hiệu tiếngnói Tách đặc trưng tín hiệu tiếngnói có ý nghĩa quan trọng sở đểnhận dạng Các nghiên cứu cho thấy, hai thành phần đặc trưng quan trọng nhất, chu kì cao độ (pitch period) formant (Tran Thanh Hung, Q.P Ha, G Dissanayake, 2004; 2005) Chu kì cao độ dạng sóng chu kì phần gần tuần hoàn (ứng với nguyên âm) tiếng nói, thường xử lý miền thời gian Trong formant liên quan đến phổ tần số tín hiệu Ðối với tiếng nói, formant không cố định mà thay đổi chậm theo thời gian Do thu formant cách phân tích biểu diễn tín hiệu tiếngnói miền thời gian-tần số Qua thực nghiệm chúng tơi nhận thấy, với người, người đọc từ khác formant tương ứng khác Nếu nhiều người đọc từ, formant tương ứng có khác biệt khơng nhiều Do đó, chúng tơi định trích formant dùngđể làm liệu huấn luyện mạng nơ-ron Hình mơ tả ngun tắc trích formant tín hiệu tiếngnóidùng phép biến đổi STFT (Short Time Fourier Transform) 96 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ Signal of word Speech signal (a) 0.2 0.2 0.1 0.1 (b) -0.1 -0.1 -0.2 -0.2 2000 4000 6000 sample 1000 2000 3000 sample Hình 3: Kết xử lý, (a) trước xử lý, (b) sau xử lý – gọi từ tín hiệu Hình 4: Ngun tắc trích formant tín hiệu tiếngnói Do tín hiệu tiếngnói tín hiệu khơng dừng, nên khơng thể áp dụng phép phân tích Fourier thơng thường Song, chúng ta chia tín hiệu tiếngnói thành đoạn đủ nhỏ theo thời gian, tín hiệu tiếngnói đoạn xem tín hiệu dừng, lấy biến đổi Fourier đoạn tín hiệu Ðây nguyên lý phép biến đổi Fourier thời gian ngắn, gọi biến đổi Fourier cửa sổ hóa Trong STFT, tín hiệu cần phân tích f(t) nhân với hàm cửa sổ w(t-) để lấy tín hiệu khoảng thời gian ngắn xung quanh thời điểm Sau phép biến đổi Fourier bình thường tính đoạn tín hiệu Kết ta hàm theo tần số thời gian STFT f(,) xác định (dấu (*) ký hiệu cho thành phần liên hợp phức): STFT f ( , ) w (t ) f (t )e * jt dt (1) STFT thời điểm xem phổ cục f(t) xung quanh thời điểm , cửa sổ tương đối ngắn làm triệt tiêu tín hiệu ngồi vùng lân cận Vì STFT có tính định vị theo thời gian Cửa sổ phân tích hẹp định vị tốt (còn gọi độ phân giải theo thời gian) Ðể thấy rõ STFT định vị miền tần số, ta áp dụng định lý Parserval: f (t ) g * (t )dt 2 F ( ) G ( )d * (2) Biểu thức (1) viết lại sau: 97 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 e STFT f ( , ) 2 W * Trường Đại học Cần Thơ ( )F ( )e j d (3) với W(') F(') phổ cửa sổ w(t) tín hiệu f(t) Trong biểu thức (3), W('-) có tác dụng lọc dãy thơng tập trung quanh tần số phân tích có băng thơng với băng thơng w(t), làm giới hạn phổ tín hiệu F(') xung quanh Rõ ràng STFT có tính định vị theo tần số Tính định vị (còn gọi độ phân giải tần số) tốt băng thông cửa sổ phân tích hẹp Hình 5: Kết trích formant STFT từ “Tới” a) Spectralgram; b) Các cực đại STFT – xác định ridge spectralgram; c) Cực đại địa phương STFT; d) trích formant Hàm cửa sổ thường dùng STFT cửa sổ Kaiser, hàm định nghĩa từ hàm Bessel bậc 2 I n / , w[n] I 0, 0nM n [0, M ] (4) với =M/2 I0() hàm cải biên hàm Bessel bậc (modified zero-order Bessel function), định nghĩa là: I 2 2 e cos d (5) Hàm Kaiser thay đổi linh hoạt nhờ vào thơng số hình dạng (shape parameter) Với giá trị khác nhau, cửa sổ Kaiser có hình dạng khác Kết phân trích đặc trưng từ “Tới” minh họa hình Sau rời rạc hóa formant 20 thời điểm trục thời gian 10 vị trí trục tần số, đặc trưng tiếngnói qui dạng ma trận liệu (10x20), tương ứng với 200 nút vào 98 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ mạng nơ-ron (xem phần 3.1) Tập hợp tất ma trận liệu này, tập mẫu dùngđể huấn luyện mạng XÂY DỰNGMẠNG NƠ-RON 3.1 Cấu trúc mạng Việc xác định cấu trúc tối ưu cho mạng nơ-ron tuỳ thuộc vào lĩnh vực ứngdụng Các cơng bố cho thấy rằng, mạng truyền thẳng nhiều lớp (Multilayer Feed Forward Neural Networks), với lớp phi tuyến đủ lớn, có khả xấp xỉ hàm phi tuyến (Rich, E and Knight, K 1991 Nguyễn Hồng Phương, Bùi Cơng Cường, Nguyễn Dỗn Phước, Phan Xn Minh, Chu Văn Hỉ, 1998) Qua trình thử nghiệm, chúng chọn mạng Nơ-ron dùngnhận dạng mạng truyền thẳng nhiều lớp với thông số mạng sau: lớp vào (input layer) gồm 200 nút (tương ứng với 200 điểm đặc trưng mẫu liệu phân tích); lớp ẩn (hidden layer) gồm 75 nút, với hàm kích hoạt phi tuyến ‘tansig’ (được xác định phương pháp leo đồi – Hill climbing method [Phương et al 1998]); lớp (output layer) gồm nút, với hàm kích hoạt tuyến tính ‘purelin’ (Hình 6) 75 tansig neurons 200 input neurons linear output neurons hidden biases output biases Hình 6: Cấu trúc mạng nơ-ron ứngdụng 3.2 Huấn luyện mạngNói chung giải thuật huấn luyện mạng nơ-ron tương đối phức tạp Tuy nhiên, điều thuận lợi phần mềm Matlab hổ trợ nhiều công cụ Chúng áp dụng giải thuật huấn luyện Levenberg-Marquardt Ðây giải thuật có độ hội tụ bậc hai giải thuật nhanh Matlab (Demuth, H and M Beale, 2005) Quá trình huấn luyện mạng (lưu đồ tổng qt cho Hình 7) chúng tơi có kiểm tra liệu người khơng có giọng đọc tập mẫu để đánh giá khả ‘nhớ’của mạng Quá trình huấn luyện thực khoảng máy PC Celeron 1.8GHz, 256MB DRAM Các giải thuật huấn luyện trình bày chi tiết (Nelson, M M and Illingworth, W.T 1991 Rich et al 1991 and Demuth et al 2005) 99 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ Hình 7: Lưu đồ thao tác huấn luyện MẠCH GIAO TIẾP THIẾTBỊThiếtbịđiềukhiển thông qua cổng truyền thông nối tiếp RS232 Mạch giao tiếp thiếtbị máy tính xây dựng dựa vi điềukhiển 89C2051 (xem Hình Hình 9) Máy tính RS232 TTL 89C2051 Điềukhiểnthiết bò Hình 8: Nguyên tắc giao tiếp nối tiếp RS232 Hoạt động thiếtbị tóm tắt đơn giản: Sau mạng nơ-ron nhận dạng từ lệnh người điềukhiển (bằng giọng nói), byte điềukhiển gửi cổng RS232; thông qua vi điềukhiển 89C2051, byte điềukhiển gửi tới mạch phát sóng vơ tuyến; thiếtbị chấp hành mệnh lệnh thu sóng giải mã đuợc từ điềukhiển Cơ chế cho phép vận hành thiếtbị từ xa thông qua việc đọc lệnh vào máy tính 100 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ F VCC J1 D12 R9 LED 1k PHÁ T SÓ NG VÔ TUYẾ N B L OPTO1 OPTP2 OPTO3 2 MCT817 MCT817 MCT817 R OPTO4 MCT817 Vcc R10 1k Power R12 1k R11 1k R13 1k P2 IC1 AT89C2051 VCC R7 68k Q2 BC547 R14 100 P3.1/TXD VCC Reset R8 68k 20 C7 10uF RS232 30pF R6 C5 P3.0/RXD 6.8k C6 30pF VCC RST/VPP P1.0/AIN0 P1.1/AIN1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 XTAL1 P3.7 Y1 11.0592Mhz 10 XTAL2 GND P3.5/T1 P3.4/T0 P3.3/INT1 P3.2/INT0 12 13 14 15 16 17 18 19 11 Hình 9: Giao tiếp thiếtbị máy tính KẾT QUẢ Sau huấn luyện, mạng áp dụngđểđiềukhiển từ xa xe vơ tuyến Một chương trình tự động ghi nhận kết nhận dạng (sau xác nhận người điều khiển), áp dụng Thống kê 1000 lần đọc lệnh ‘Tới’, ‘Lui’, ‘Trái’,’Phải’ nhiều người, chúng tơi ước lượng độ xác sau (Bảng Bảng 2): - 95% nhóm người có giọng đọc sử dụngđể huấn luyện mạng - 84% nhóm người có giọng đọc chưa sử dụngđể huấn luyện mạng Tuy nhiên, chúng ta ghi âm giọngnói người huấn luyện tiếp để cải thiện tỉ lệ lỗi KẾT LUẬN Hiện chúng xây dựngmạng với số lượng từ nhận dạng (4 từ) dựa giọng đọc 10 người (gồm nam nữ, chất giọng miền tây nam bộ) Đây điểm hạn chế đề tài, sở liệu khơng đủ tổng quát để áp dụng cho miền khác Việt nam Hơn nữa, trình huấn luyện, mạng phân loại lần tín hiệu đầu vào chia thành nhóm, đặc trưng cho từ: ‘Tới’, ‘Lui’, ‘Trái’ ‘Phải’ Tuy nhiên, kết nghiên cứu cho thấy khả tăng số lượng từ nhận dạng khả thi Trong trường hợp đó, chúng tơi dự kiến phân lớp liệu trước nhận dạng; cho lớp chứa từ có đặc trưng gần giống Chẳng hạn, chúng dùngmạng tổng quát để phân biệt từ vừa đọc thuộc nhóm “thanh ” hay “thanh trắc”, sau đưa vào mạng chuyên biệt đểnhận dạng xác từ vừa đọc Ngồi chúng tơi thấy rằng, kiểm tra nhóm người có giọng đọc sử dụngđể huấn luyện, mạng nơ-ron làm việc hiệu Vì thế, chúng tơi đề xuất phương án 101 Tạp chí Nghiên cứu Khoa học 2005:3 96-103 Trường Đại học Cần Thơ ứngdụng nghiên cứu vào thực tế, đểtạo nên sản phẩm có ý nghĩa xã hội Ðó là, chế tạo xe lăn điềukhiểngiọng nói, dành cho người khuyết tật bị tay chân Trong trường hợp này, giải pháp huấn luyện đơn giản, mạng nơron cần nhận dạng giọng chủ xe lăn mà Bảng 1: Kết nhận dạng nhóm người có giọngnóidùngđể huấn luyện Từ lệnh Tới Lui Trái Phải Số lần đọc 1000 800 1150 800 Số lần nhận dạng đúng 961 755 1037 794 Tỉ lệ xấp xỉ 96,10% 94,37% 90,17% 99,25% Bảng 2: Kết nhận dạng nhóm người có giọngnói chưa dùngđể huấn luyện Từ lệnh Tới Lui Trái Phải Số lần đọc 750 600 800 750 Số lần nhận dạng đúng 652 493 612 681 Tỉ lệ xấp xỉ 86,93% 82,17% 76,65% 90,08% CẢM TẠ Nghiên cứu thực hổ trợ Ðại học Cần thơ, phạm vi đề tài cấp trường, mang tên “Nghiên cứu ứngdụngmạng nơ-ron nhântạođểđiềukhiểnthiếtbịgiọngnóitiếng Việt”, thực năm 2003-2004, nhóm tác giả TÀI LIỆU THAM KHẢO Demuth, H and M Beale, 2005 Neural Network Toolbox – User’s Guide® MathWorks, Inc Nelson, M M and W T Illingworth 1991 A Practical Guide to Neural Nets Addison-Wesley Publishing Company, ISBN 0-201-52376-0 Nguyen Chi Ngon ,Tran Thanh Hung , Truong Thi Thanh Tuyen and Nguyen Thai Nghe 2005 A method of control system by Vietnamese speech using Neural Networks In: Proceedings of Int Conf in Computer Science – RIVR’05, February, 21-24, 2005 Can Tho University, Vietnam, pp 314-317 Nguyễn Hồng Phương, Bùi Cơng Cường, Nguyễn Doãn Phước, Phan Xuân Minh Chu Văn Hỉ, 1998 Hệ mờ ứngdụng Hà nội, Nhà Xuất Bản Khoa Học Kỹ Thuật Nguyễn Chí Ngơn, Trịnh Hữu Phúc, 2002 Bước đầu nghiên cứu ứngdụngmạng nơ-ron đểđiềukhiểnthiếtbịtiếngnói Trong: Tạp chí Automation Today Hội KHCN tự động VN, 28:30-32 Nguyễn Chí Ngơn Dương Hồi Nghĩa, 2001 Ðiều khiểndùng mơ hình nộimạng Neuron áp dụng vào robot SCARA Trong: Tạp chí Phát triển KHCN, ÐHQG Tp HCM, Vol 4, 8&9:65-71 Rich, E and K Knight 1991 Artificial Intelligence Mc-Graw-Hill Inc., 2nd edition, ISBN 0-07100894-2 Tran Thanh Hung, Q.P Ha, G Dissanayake, 2004 New wavelet-based pitch detection method for human-robot voice interface accepted by the 2004 IEEE/RSJ Int Conf on Intelligent Robots and Systems (IROS 2004, September 28 - October 2, Sendai International Center, Sendai, Japan) Tran Thanh Hung, Q.P Ha, G Dissanayake, 2005 New A wavelet-and neural network -Based voice interface system for wheelchair control, accepted to the Int J of Intelligent Systems Technologies and Applications (IJISTA), Special Issue on Biorobotics and Biomechatronics in Australasia 102