Nhận dạng tiếng nói tiếng việt - tìm hiểu và ứng dụng

Tiếng nói là phương tiện giao tiếp cơbản nhất của loài người, nó hình thành và phát triển song song với quá trình tiến hóa của loài người. Đối với con người, sử dụng lời nói là một cách diễn đạt đơn giản và hiệu quảnhất. Ưu điểm của việc giao tiếp bằng tiếng nói trước tiên là ởtốc độgiao tiếp, tiếng nói từngười nói được người nghe hiểu ngay lập tức sau khi được phát ra. Bên cạnh đó, tiếng nói là cách giao tiếp được sửdụng rộng rãi nhất – bất cứai (dĩnhiên là trừnhững người khuyết tật) cũng có thểnói được.

pdf103 trang | Chia sẻ: nhungnt | Lượt xem: 3057 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Nhận dạng tiếng nói tiếng việt - tìm hiểu và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH OA C NT T – Đ H KH TN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ TRI THỨC NGUYỄN HỒNG QUANG - 0012081 NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT TÌM HIỂU VÀ ỨNG DỤNG LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.s BÙI TIẾN LÊN NIÊN KHÓA 2000 – 2004 KH OA C NT T – Đ H KH TN 1 Lời cảm ơn Hoàn thành luận văn này có sự đóng góp rất lớn của thầy Bùi Tiến Lên, thầy đã hướng dẫn tạo điều kiện cho em trong quá trình thực hiện nghiên cứu nhận dạng tiếng nói, em xin chân thành cảm ơn thầy. Em xin gởi lời cảm ơn đến các thầy cô trong trường, đặc biệt là các thầy cô bộ môn Công Nghệ Tri Thức đă tạo ra một môi trường thật hoàn hảo cho chúng em học tập và nghiên cứu khoa học. Em cũng không thể không nhắc đến sự động viên chăm sóc của gia đình, sự cộng tác giúp đỡ và ủng hộ tinh thần của bạn bè. Em xin được tri ơn tất cả. TP. Hồ Chí Minh, tháng 7 năm 2004. Nguyễn Hồng Quang KH OA C NT T – Đ H KH TN 2 MỤC LỤC DANH SÁCH HÌNH VẼ...........................................................................................4 MỞ ĐẦU .................................................................................................................6 Chương 1 TỔNG QUAN .........................................................................................8 1.1 Nhận dạng.....................................................................................................8 1.2 Nhận dạng tiếng nói .....................................................................................9 1.2.1 Xử lý âm thanh......................................................................................9 1.2.2 Phân loại nhận dạng tiếng nói.............................................................10 1.2.2.1 Nhận dạng từ liên tục và nhận dạng từ cách biệt ............................10 1.2.2.2 Nhận dạng phụ thuộc người nói và độc lập người nói ....................11 1.2.3 Hệ thống nhận dạng tiếng nói tự động................................................13 1.2.4 Lý thuyết nhận dạng tiếng nói ............................................................14 1.2.4.1 Rút trích vector đặc trưng................................................................15 1.2.4.2 Phân lớp...........................................................................................17 Chương 2 XỬ LÝ TIẾNG NÓI RÚT TRÍCH VECTOR ĐẶC TRƯNG .........21 2.1 Xử lý tiếng nói............................................................................................21 2.1.1 Lấy mẫu tín hiệu .................................................................................21 2.1.2 Bộ lọc tín hiệu.....................................................................................22 2.1.3 Dò tìm điểm cuối (end-point detection)..............................................24 2.2 Rút trích đặc trưng......................................................................................26 2.2.1 Các bước rút trích đặc trưng ...............................................................27 2.2.1.1 Làm rõ tín hiệu ................................................................................27 2.2.1.2 Phân đoạn thành các khung.............................................................27 2.2.1.3 Lấy cửa sổ .......................................................................................28 2.2.2 Các dạng đặc trưng tiếng nói ..............................................................33 2.2.2.1 Biến đổi tín hiệu sang miền tần số ..................................................33 2.2.2.2 Đặc trưng năng lượng......................................................................35 2.2.2.3 Đặc trưng MFCC.............................................................................36 2.2.2.4 Đặc trưng LPC ................................................................................39 2.2.2.5 Đặc trưng tần số cơ bản..................................................................42 Chương 3 MÔ HÌNH MARKOV ẨN ..................................................................49 3.1 Mô hình Markov ẩn....................................................................................49 3.2 Ứng dụng Mô hình Markov vào nhận dạng tiếng nói ................................51 3.2.1 Thuật toán tiến ....................................................................................52 3.2.2 Thuật toán lùi ......................................................................................53 3.2.3 Phương pháp tìm chuỗi trạng thái tối ưu ............................................54 3.2.4 Thuật toán Viterbi ...............................................................................55 3.2.5 Ước lượng Baum-Welch.....................................................................58 3.3 Cấu trúc ngôn ngữ và mô hình nhận dạng theo âm vị................................60 3.3.1 Cấu trúc ngôn ngữ...............................................................................60 3.3.2 Mô hình âm vị .....................................................................................63 3.3.3 Tha âm vị (allophones) .......................................................................63 KH OA C NT T – Đ H KH TN 3 3.3.4 Nhận xét ..............................................................................................65 Chương 4 HMM TOOLKIT.................................................................................67 4.1 Cấu trúc tập tin trong HTK ........................................................................69 4.1.1 Cấu trúc tập tin vector đặc trưng HTK ...............................................69 4.1.2 Cấu trúc tập tin mô hình HMM ..........................................................71 4.1.3 Cấu trúc tập tin đánh nhãn dữ liệu ......................................................75 4.1.4 Cấu trúc tập tin văn phạm ...................................................................78 4.2 Nhận dạng nguyên từ .................................................................................81 4.3 Nhận dạng theo mô hình âm vị ..................................................................85 Chương 5 ỨNG DỤNG: ĐIỀU KHIỂN XE TỰ ĐỘNG BẰNG TIẾNG NÓI .88 5.1 Thử nghiệm nhận dạng tiếng nói Tiếng Việt .............................................89 5.1.1 Nhận dạng tĩnh (offline)......................................................................89 5.1.1.1 Dùng vector đặc trưng dạng LPCEPSTRA_E_D ...........................89 5.1.1.2 Dùng vector đặc trưng dạng LPCEPSTRA_E_D_A ......................89 5.1.1.3 Dùng vector đặc trưng dạng MFCC_0_D.......................................89 5.1.1.4 Dùng vector đặc trưng dạng MFCC_0_D_A ..................................90 5.1.1.5 Dùng vector đặc trưng dạng MFCC_0_D_A_Z..............................90 5.1.2 Nhận dạng thời gian thực (online) ......................................................91 5.1.2.1 Nhận dạng theo mô hình âm vị dùng MFCC_0_D_A_Z................91 5.1.2.2 Nhận dạng nguyên từ dùng MFCC_0_D_A_Z...............................92 5.2 Ứng dụng nhận dạng tiếng nói ...................................................................93 KẾT LUẬN ..............................................................................................................96 TÀI LIỆU THAM KHẢO ......................................................................................98 Phụ lục MỘT SỐ CÔNG CỤ TRONG HTK ..................................................99 KH OA C NT T – Đ H KH TN 4 DANH SÁCH HÌNH VẼ Hình 1.1: Sơ đồ nhận dạng tổng quát .........................................................................8 Hình 1.2: Các lĩnh vực trong xử lý tiếng nói ............................................................10 Hình 1.3: Ranh giới giữa “cô” và “ấy” không rõ ràng ...........................................11 Hình 1.4: Người nói khác nhau sẽ phát âm khác nhau.............................................12 Hình 1.5: Mô hình nhận dạng bán độc lập người nói ..............................................13 Hình 1.6: Các thành phần cơ bản của hệ thống ASR ...............................................14 Hình 1.7: Các dạng cửa sổ thường dùng ..................................................................16 Hình 1.8: Tổng quát quá trình rút trích vector đặc trưng ........................................17 Hình 1.9: Các kỹ thuật nhận dạng tiếng nói và xu hướng phát triển .......................18 Hình 1.10: HMM với 3 trạng thái và trọng số chuyển trạng thái.............................20 Hình 2.1: Ví dụ về lấy mẫu tín hiệu f(t) trên miền thời gian....................................22 Hình 2.2: Minh họa hoạt động bộ lọc FIR................................................................23 ình 2.3: Minh họa hoạt động bộ lọc IIR.................................................................23 Hình 2.4: Dò tìm điểm cuối dựa vào mức năng lượng .............................................25 Hình 2.5: Sơ đồ rút trích vector đặc trưng tổng quát ...............................................26 Hình 2.6: Sơ đồ rút trích đặc trưng chi tiết ..............................................................27 Hình 2.7: Phân đoạn tiếng nói thành các khung chồng lấp .....................................28 Hình 2.8: Sự khác biệt giữa các dạng cửa sổ tín hiệu ..............................................32 Hình 2.9: Đồ thị biểu diễn mối quan hệ giữa Mel và Hz ..........................................36 Hình 2.10: Các bước trích đặc trưng MFCC ...........................................................37 Hình 2.11: Bộ lọc trên thang Mel .............................................................................37 Hình 2.12: Bộ lọc trên tần số thật.............................................................................38 Hình 2.13: Minh họa các bước biến đổi MFCC .......................................................38 Hình 2.14: Sơ đồ xử lý LPC dùng cho trích đặc trưng tiếng nói .............................40 Hình 2.15: Hình dạng tín hiệu tiếng nói ...................................................................47 Hình 2.16: Kết quả trích F0 ......................................................................................48 Hình 2.17: Kết quả sau khi lọc Median ....................................................................48 Hình 3.1: Minh họa hoạt động của mô hình Markov ẩn...........................................49 Hình 3.2: Mô hình Left - Right..................................................................................51 Hình 3.3: Mô hình Bakis ...........................................................................................51 Hình 3.4: Mô hình Tuyến tính ...................................................................................51 Hình 3.5:Minh họa thuật toán tiến............................................................................53 Hình 3.6:Minh họa thuật toán lùi .............................................................................53 Hình 3.7: Ví dụ minh họa thuật toán Viterbi ............................................................56 Hình 3.8:Ví dụ minh họa thuật toán Viterbi (tt) .......................................................57 Hình 3.9: Ví dụ minh họa so khớp dùng thuật toán tiến-lùi .....................................58 Hình 3.10: Minh họa ước lượng Baum - Welch........................................................59 Hình 3.11: Minh họa việc nhận dạng âm vị trong HMM .........................................60 Hình 4.1: Mô hình đơn giản trong nhận dạng tiếng nói ...........................................67 Hình 4.2: Các module và chức năng trong HTK ......................................................68 KH OA C NT T – Đ H KH TN 5 Hình 4.3: Các công cụ và chức năng trong HTK .....................................................69 Hình 4.4: Phân bố các tham số trong 1 số vector đặc trưng của HTK ....................71 Hình 4.5: Các dạng đặc trưng có thể chuyển đổi qua lại bằng HCopy ...................71 Hình 4.6: Dạng cơ bản của 1 tập tin HMM (chưa được khởi tạo) ...........................72 Hình 4.7: Dạng cơ bản của 1 tập tin HMM có sử dụng pha trộn Gaussian ............74 Hình 4.8: Dạng cơ bản của 1 tập tin HMM có sử dụng đa luồng ............................75 Hình 4.9: Vai trò của văn phạm trong nhận dạng dùng HTK ..................................78 Hình 4.10: Lược đồ văn phạm ..................................................................................79 Hình 4.11: Mô hình minh họa các văn phạm............................................................80 Hình 4.12: Minh họa việc nhận dạng nguyên từ.......................................................81 Hình 4.13: Huấn luyện nguyên từ và các công cụ hỗ trợ .........................................82 Hình 4.14: Quy trình hoạt động của HInit................................................................83 Hình 4.15: Quy trình hoạt động của HCompV .........................................................83 Hình 4.16: Quy trình hoạt động của HRest ..............................................................84 Hình 4.17: Huấn luyện theo mô hình âm vị dùng HTK ............................................85 Hình 4.18: Quá trình xử lý các tập tin trong HERest ...............................................87 Hình 5.1: Mô hình ngôn ngữ dành cho hệ nhận dạng ..............................................88 KH OA C NT T – Đ H KH TN 6 MỞ ĐẦU Tiếng nói là phương tiện giao tiếp cơ bản nhất của loài người, nó hình thành và phát triển song song với quá trình tiến hóa của loài người. Đối với con người, sử dụng lời nói là một cách diễn đạt đơn giản và hiệu quả nhất. Ưu điểm của việc giao tiếp bằng tiếng nói trước tiên là ở tốc độ giao tiếp, tiếng nói từ người nói được người nghe hiểu ngay lập tức sau khi được phát ra. Bên cạnh đó, tiếng nói là cách giao tiếp được sử dụng rộng rãi nhất – bất cứ ai (dĩ nhiên là trừ những người khuyết tật) cũng có thể nói được. Ngày nay, nhờ sự phát triển của khoa học kỹ thuật, máy móc dần dần thay thế các lao động tay chân. Tuy nhiên để điều khiển máy móc, con người phải làm khá nhiều thao tác tốn nhiều thời gian và cần phải được đào tạo. Điều này gây trở ngại không ít đối với việc sử dụng các máy móc, thành tựu khoa học kỹ thuật. Trong khi đó, nếu điều khiển máy móc thiết bị bằng tiếng nói sẽ dễ dàng hơn. Nhu cầu điều khiển máy móc thiết bị bằng tiếng nói càng bức thiết hơn đối với các thiết bị cầm tay, như: điện thoại di động, máy Palm/Pocket PC,… Để cho máy tính có thể nghe được nhiều người đã vật lộn với tín hiệu âm thanh trong hơn nửa thế kỷ qua trong lĩnh vực nhận dạng tiếng nói. Quá trình này được đánh dấu bằng các kết quả nghiên cứu đặc sắc trong lĩnh vực phân tích và xử lý tiếng nói, các ứng dụng thực tế khá hữu ích. Nhưng dù sao, khả năng của máy vẫn vẫn còn trong khoảng giới hạn, còn cần phát triển hơn nữa để có thể thật sự đáp ứng nhu cầu thực sự của cuộc sống. Mặt khác, nhận dạng tiếng nói chỉ đang được phát triển trên các thứ tiếng khác, nhưng chưa được phát triển và ứng dụng mạnh ở nước ta. Do tình hình phát triển ở Việt Nam, để cho công cuộc nhận dạng tiếng nói thật sự được quan tâm, đầu tư và tạo thành các nhóm các phòng thí nghiệm chuyên nghiên cứu về nhận dạng tiếng nói thì thật sự gặp khó khăn. Luận văn này xây dựng với mong muốn góp phần thúc đẩy quá trình trên, bằng cách kế thừa các đàn anh đàn chị đi trước, và thông qua việc tìm hiểu các thành tựu nước ngoài em mong rằng mình sẽ góp phần tạo nên những bước phát triển trong lĩnh vực nhận dạng tiếng nói ở nước ta. Qua quá trình nghiên cứu, em KH OA C NT T – Đ H KH TN 7 nhận thấy rằng nếu như chúng ta có sự phổ biến kiến thức rộng rãi, không chỉ cho những người chuyên về lĩnh vực công nghệ thông tin, mà còn cho những người không chuyên thì chúng ta hoàn toàn có thể thúc đẩy, phát triển và gặt hái nhiều thành công hơn. Vì lúc đó vấn đề không chỉ được nghiên cứu, phát triển bởi một số người mà là của nhiều người. Những lĩnh vực nghiên cứu khác cưng có thể làm tương tự. Vì lý do trên mà em không chỉ tìm tòi nghiên cứu lý thuyết, mà còn cố gắng phát triển thành ứng dụng. KH OA C NT T – Đ H KH TN 8 Chương 1 TỔNG QUAN 1.1 Nhận dạng Nhận dạng của loài người là một quá trình hoàn hảo, đó là sự quan sát đối tượng cần nhận dạng, ghi nhận lại những đặc trưng của đối tượng, phân lớp đối tượng và có sử dụng khả năng phán đoán suy luận để phân biệt đối tượng đó với đối tượng khác (trong một tập gần như vô hạn đối tượng). Trong khi đó, nhận dạng tự động – nhận dạng bằng công cụ máy vi tính chỉ đơn giản là quá trình phân biệt tín hiệu này với tín hiệu khác (trong một tập hữu hạn các tín hiệu), quá trình này được thực hiện bằng cách thực hiện các bước tổng quát sau (như trong hình 1.1). Hình 1.1: Sơ đồ nhận dạng tổng quát • Thu nhận tín hiệu và trích đặc trưng: thu nhận tín hiệu cần nhận dạng, khử nhiễu lọc tín hiệu (tiền xử lý) và rút ra các đặc trưng của tín hiệu (vector đặc trưng). • Học mẫu: kết nhóm, phân lớp các nhóm vector đặc trưng của từng nhóm tín hiệu (bằng các thuật giải Heristic, bằng cách sử dụng mạng Neural, bằng các siêu phẳng dùng thuật toán K-means, Batchelor- Tiền xử lý và rút trích vector đặc trưng Học mẫu, phân lớp Tập hợp từ điển các lớp tín hiệu Nhận dạng, so khớp mẫu Ngưỡng và luật quyết định Tín hiệu Tín hiệu cần nhận dạng Tín hiệu dùng để học Kết quả KH OA C NT T – Đ H KH TN 9 Wilkins, ……). Quá trình này tạo ra các lớp tín hiệu, mỗi lớp này đặc trưng cho từng nhóm tín hiệu. • Nhận dạng, so khớp mẫu: tìm mối liên hệ giữa tín hiệu cần nhận dạng và các lớp tín hiệu được tạo ra ở bước trước (bằng cách thông qua quy tắc người láng giềng gần nhất chẳng hạn). Nếu như tín hiệu đó so khớp nhất (và mức độ so khớp thỏa một ngưỡng nào đó) ứng với một lớp tín hiệu nào đó thì hệ thống nhận dạng xác định tín hiệu đó thì tín hiệu đó thuộc vào nhóm tín hiệu đó với một tỉ lệ nhất định gọi là độ chính xác của hệ thống nhận dạng (tỉ lệ này dĩ nhiên là càng cao càng tốt). 1.2 Nhận dạng tiếng nói 1.2.1 Xử lý âm thanh Khi âm thanh được máy vi tính hỗ trợ thì nhu cầu xử lý âm thanh đã xuất hiện. Các nhu cầu này đã tạo ra nhiều lĩnh vực ứng dụng trong thực tế. Chẳng hạn như: Tổng hợp âm thanh (Synthesis), nén âm thanh (Compression), nhận dạng người nói (speaker recognition), nhận dạng tiếng nói (speech recognition)… Các lĩnh vực ứng dụng khác nhau của xử lý tiếng nói được thể hiện qua hình 1.2. Xử lý âm thanh đóng một vai trò quan trọng trong quá trình nhận dạng tiếng nói, nó cần trong việc lọc nhiễu tín hiệu, biến đổi tín hiệu, rút trích vector đặc trưng,… KH OA C NT T – Đ H KH TN 10 Hình 1.2: Các lĩnh vực trong xử lý tiếng nói 1.2.2 Phân loại nhận dạng tiếng nói 1.2.2.1 Nhận dạng từ liên tục và nhận dạng từ cách biệt Một hệ nhận dạng tiếng nói có thể là một trong hai dạng: nhận dạng liên tục và nhận dạng từng từ. Nhận dạng liên tục tức là nhận dạng tiếng nói được phát liên tục trong một chuỗi tín hiệu, chẳng hạn như một câu nói, một mệnh lệnh hoặc một đoạn văn được đọc bởi người dùng. Các hệ thống loại này rất phức tạp, nó phức tạp ở chỗ các từ được phát liên tục khó xử lý kịp (nếu cần thời gian thực), hoặc khó tách ra nếu như người nói liên tục không có khoảng nghỉ (thông thường rất hay xảy ra trong thực tế). Kết quả tách từ ảnh hưởng rất lớn đến các bước sau, cần xử lý thật tốt trong quá trình này. Trái lại, đối với mô hình nhận dạng từng từ, mỗi từ cần nhận dạng được phát âm một cách rời rạc, có các khoảng nghỉ trước và sau khi phát âm một từ. Mô hình loại này dĩ