Luận văn Nghiên cứu kỹ thuật nhận dạng tiếng nói tiếng Việt và ứng dụng

Tóm tắt: Xây dựng hệ thống nhận dạng tiếng nói tiếng Việt dựa trên kỹ thuật sử dụng mạng nơron MLP (trên môi trường Matlab). Hệ thống có thể vừa nhận dạng trực tuyến (thu âm trực tiếp và nhận dạng) hoặc nhận dạng từ tệp âm thanh có sẵn. Ứng dụng của hệ thống là đọc điểm và kết quả là điểm số sẽ được xuất sang bảng điểm trên Excel.

pdf81 trang | Chia sẻ: thanhlinh222 | Lượt xem: 4780 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu kỹ thuật nhận dạng tiếng nói tiếng Việt và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ NGÔ VĂN CƯƠNG NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT VÀ ỨNG DỤNG Chuyên ngành: Hệ thống thông tin Mã số: 60 48 01 04 LUẬN VĂN THẠC SĨ KỸ THUẬT Hà Nội - Năm 2015 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI HỌC VIỆN KỸ THUẬT QUÂN SỰ Cán bộ hướng dẫn chính: PGS.TS. Bùi Thế Hồng Cán bộ chấm phản biện 1: TS. Trần Nguyên Ngọc Cán bộ chấm phản biện 2: TS. Trần Thị Thu Hà Luận văn thạc sĩ được bảo vệ tại: HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ HỌC VIỆN KỸ THUẬT QUÂN SỰ Ngày tháng năm 2015 Tôi xin cam đoan: Những kết quả nghiên cứu được trình bày trong luận văn là hoàn toàn trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt Nam. Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật. TÁC GIẢ LUẬN VĂN Ngô Văn Cương MỤC LỤC Trang Trang phụ bìa Bản cam đoan Mục lục Các thuật ngữ viết tắt Mở đầu ......................................................................................................... 1 Chương 1 CƠ SỞ LÝ THUYẾT XỬ LÝ TIẾNG NÓI 1.1. Lý thuyết âm thanh và tiếng nói .............................................................. 5 1.1.1. Nguồn gốc âm thanh: ............................................................................ 5 1.1.2. Các đại lượng đặc trưng cho âm thanh: ................................................. 5 1.1.2.1. Tần số của âm thanh: ......................................................................... 5 1.1.2.2. Chu kì của âm thanh: ......................................................................... 5 1.1.2.3. Tốc độ truyền âm: .............................................................................. 5 1.1.2.4. Cường độ âm thanh: ......................................................................... 5 1.1.2.5. Thanh áp: .......................................................................................... 6 1.1.2.6. Âm sắc: ............................................................................................ 6 1.1.2.7. Âm lượng: ........................................................................................ 6 1.1.3. Các tần số của âm thanh: ...................................................................... 6 1.1.4. Cơ chế tạo lập tiếng nói của con người: ................................................ 6 1.1.5. Mô hình lọc nguồn tạo tiếng nói: .......................................................... 7 1.1.6. Hệ thống nghe của người: ..................................................................... 8 1.1.7. Quá trình sản xuất tiếng nói và thu nhận tiếng nói: ............................... 9 1.1.8. Các âm thanh tiếng nói và các đặc trưng: ............................................ 10 1.1.8.1. Nguyên âm: ..................................................................................... 10 1.1.8.2. Các âm vị khác: ............................................................................... 10 1.2. Giới thiệu về xử lý tiếng nói .................................................................. 11 1.3. Nhận dạng tiếng nói .............................................................................. 12 1.3.1. Bài toán nhận dạng tiếng nói .............................................................. 12 1.3.2. Các phương pháp nhận dạng tiếng nói ................................................ 14 1.3.2.1. Phương pháp âm học ngữ âm học .................................................... 14 1.3.2.2. Phương pháp nhận dạng mẫu .......................................................... 16 1.3.2.3. Phương pháp ứng dụng trí tuệ nhân tạo........................................... 18 1.4. Nhận dạng tiếng Việt ............................................................................. 19 1.4.1. Một số đặc điểm ngữ âm tiếng Việt .................................................... 19 1.4.2. Những thuận lợi và khó khăn đối với nhận dạng tiếng Việt ................ 20 1.4.2.1. Thuận lợi ......................................................................................... 20 1.4.2.2. Khó khăn ......................................................................................... 20 Chương 2 MÔ HÌNH NHẬN DẠNG TIẾNG NÓI 2.1. Các kiểu mô hình mạng nơron ............................................................... 22 2.1.1. Perceptron .......................................................................................... 24 2.1.2. Mạng nhiều tầng truyền thẳng (MLP) 25 2.2. Huấn luyện mạng nơron ........................................................................ 26 2.2.1. Các phương pháp học 26 2.2.2. Học có giám sát trong các mạng nơron ............................................... 28 2.2.3. Thuật toán lan truyền ngược ............................................................... 29 2.3. Các vấn đề trong xây dựng mạng MLP .................................................. 30 2.3.1. Chuẩn bị dữ liệu ................................................................................. 30 2.3.1.1. Kích thước mẫu ............................................................................... 30 2.3.1.2. Mẫu con ........................................................................................... 32 2.3.2. Xác định các tham số cho mạng .......................................................... 32 2.3.2.1. Chọn hàm truyền ............................................................................. 32 2.3.2.2. Xác định số nơron tầng ẩn ............................................................... 33 2.3.2.3. Khởi tạo trọng.................................................................................. 34 2.3.3. Vấn đề lãng quên (catastrophic forgetting) ......................................... 35 2.3.4. Vấn đề quá khớp ................................................................................. 36 2.3.4.1. Khái niệm quá khớp ......................................................................... 36 2.3.4.2. Giải quyết quá khớp ......................................................................... 36 Chương 3 QUÁ TRÌNH TIỀN XỬ LÝ TIẾNG NÓI 3.1. Phát hiện tiếng nói ................................................................................. 38 3.1.1. Năng lượng ngắn hạn .......................................................................... 38 3.1.2. Tốc độ đi qua điểm không .................................................................. 39 3.1.3. Lượng thông tin .................................................................................. 39 3.1.3.1. Tính FFT ......................................................................................... 39 3.1.3.2. Mật độ xác suất của phổ năng lượng ................................................ 40 3.1.3.3. Tính Entropy ................................................................................... 40 3.1.4. Giải thuật phát hiện tiếng nói .............................................................. 40 3.2. Phân tích cepstral thông qua thang độ mel ............................................. 41 3.2.1. Mô hình tính toán các hệ số MFCC .................................................... 42 3.2.2. Quá trình tiền xử lý tín hiệu ................................................................ 42 3.2.2.1. Bộ lọc thích nghi ............................................................................. 42 3.2.2.2. Chuẩn hóa biên độ ........................................................................... 43 3.2.2.3. Phân khung ...................................................................................... 43 3.2.2.4. Lấy cửa sổ ....................................................................................... 43 3.2.2.5. Phổ năng lượng ................................................................................ 43 3.2.2.6. Băng lọc Mel ................................................................................... 44 3.2.2.7. Logarit các hệ số năng lượng qua băng lọc ...................................... 44 3.2.2.8. Biến đổi Cosine rời rạc ngược ......................................................... 45 3.2.2.9. Cepstral có trọng số ......................................................................... 45 3.2.2.10. Đạo hàm Cepstral theo thời gian .................................................... 45 3.3. Lượng tử hóa vector .............................................................................. 46 3.3.1. Tập vector huấn luyện ........................................................................ 46 3.3.2. Khoảng cách giữa hai vector ............................................................... 47 3.3.3. Nhân của một tập vector ..................................................................... 48 3.3.4. Phân cụm các vector ........................................................................... 48 Chương 4 ỨNG DỤNG XÂY DỰNG HỆ THỐNG MÔ PHỎNG NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT BẰNG MẠNG NƠRON MLP TRÊN MATLAB 4.1. Giới thiệu .............................................................................................. 50 4.2. Xây dựng hệ thống nhận dạng demo ...................................................... 50 4.2.1. Mô tả chung về hệ thống .................................................................... 50 4.2.2. Sơ đồ khối của hệ thống ..................................................................... 51 4.2.3. Thu thập và tiền xử lí tín hiệu tiếng nói .............................................. 52 4.2.4. Trích chọn đặc trưng MFCC ............................................................... 54 4.2.5. Tính đầu vào cho mạng....................................................................... 56 4.2.6. Xây dựng và huấn luyện và thử nghiệm mạng nơron MLP ................. 58 4.2.7. Sử dụng mạng trong nhận dạng .......................................................... 59 4.2.8. Giao diện của hệ thống demo: ............................................................ 59 4.3. Kết quả thử nghiệm ............................................................................... 62 4.4. Hướng mở rộng của đề tài ..................................................................... 65 4.4.1. Xây dưng bộ dữ liêu huấn luyện lớn hơn ............................................ 65 4.4.2. Xây dựng phần mềm nhận dạng dưa trên kết quả nghiên cứu ............. 65 4.4.3. Nghiên cứu các phương pháp xác định đặc trưng khác ....................... 66 4.4.4. Nghiên cứu các phương pháp nhận dạng khác .................................... 66 DANH MỤC HÌNH Hình 1-1: Mô hình lọc nguồn tạo tiếng nói ..................................................... 8 Hình 1-2: Quá trình sản xuất và thu nhận tiếng nói......................................... 9 Hình 1-3: Mô hình bài toán xử lý tiếng nói. .................................................. 12 Hình 1-4: Hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu . 16 Hình 1-6: Tích hợp tri thức trong nhận dạng tiếng nói .................................. 19 Hình 2-1: Mạng tự kết hợp ........................................................................... 22 Hình 2-2: Mạng kết hợp khác kiểu ............................................................... 23 Hình 2-3: Mạng truyền thẳng ....................................................................... 23 Hình 2-4: Mạng phản hồi ............................................................................. 24 Hình 2-5: Perceptron .................................................................................... 24 Hình 2-6: Mạng MLP tổng quát ................................................................... 25 Hình 2-7: Mối liên hệ giữa sai số và kích thước mẫu ................................... 31 Hình 2-8: Huấn luyện luân phiên trên hai tập mẫu........................................ 35 Hình 3-1: Sơ đồ khối tính toán các hệ số MFCC .......................................... 42 Hình 4-1: Sơ đồ khối hệ thống nhận dạng tiếng nói các chữ số tiếng Việt bằng mạng nơron MLP trên môi trường Matlab .................................................... 51 Hình 4-2: Từ ‘hai’ được thu âm – bao gồm nền nhiễu .................................. 52 Hình 4-3: Từ ‘hai’ sau khi đã loại bỏ nền nhiễu ........................................... 53 Hình 4-4: Xác định nền nhiễu từ môi trường thu âm .................................... 53 Hình 4-5: wav trước và sau khi chuẩn hóa ở ngưỡng max(wav)=1 ............... 55 Hình 4-6: Mạng MLP gồm 40 đầu vào và 11 đầu ra ..................................... 56 Hình 4-7: Vector đầu vào gồm 40 phần tử, vector đầu ra gồm 11 phần tử .... 57 Hình 4-8: Các vector đầu vào và đầu ra để huấn luyện mạng MLP .............. 57 Hình 4-9: Giao diện chính của hệ thống demo .............................................. 59 Hình 4-10: Chức năng nhận dạng ................................................................. 60 Hình 4-11: Mẫu bảng điểm trên Excel (chưa có điểm) ................................. 61 Hình 4-12: Ứng dụng nhập điểm và xuất sang Excel .................................... 61 Hình 4-13: Mẫu bảng điểm trên Excel (đã có điểm) ..................................... 62 Tóm tắt luận văn: Họ và tên học viên: Ngô Văn Cương Lớp: Hệ thống thông tin Khoá: 25A Cán bộ hướng dẫn: PGS. TS. Bùi Thế Hồng Tên đề tài: Nghiên cứu kỹ thuật nhận dạng tiếng nói tiếng Việt và ứng dụng. Tóm tắt: Xây dựng hệ thống nhận dạng tiếng nói tiếng Việt dựa trên kỹ thuật sử dụng mạng nơron MLP (trên môi trường Matlab). Hệ thống có thể vừa nhận dạng trực tuyến (thu âm trực tiếp và nhận dạng) hoặc nhận dạng từ tệp âm thanh có sẵn. Ứng dụng của hệ thống là đọc điểm và kết quả là điểm số sẽ được xuất sang bảng điểm trên Excel. CÁC THUẬT NGỮ VIẾT TẮT Viết tắt Viết đầy đủ Tạm dịch nghĩa ASR Automatic Speech Recognition Nhận dạng tiếng nói tự động HMM Hide Markov Model Mô hình Markov ẩn IDFT Inverse Discrete Fourier Transform Biến đổi Fourier rời rạc ngược LPC Linear Prediction Coding Mã dự đoán tuyến tính MFCC Mel Frequency Cepstral Coefficients Hệ số phân tích phổ tần Mel TTS Text To Speech Chuyển văn bản thành tiếng nói STT Speech To Text Chuyển tiếng nói thành văn bản STE Short Time Energy Năng lượng ngắn hạn 1 MỞ ĐẦU Trong thời đại công nghệ thông tin hiện nay, khi việc giao tiếp giữa người với máy, máy với máy luôn là vấn đề được quan tâm thì việc trao đổi thông tin bằng tiếng nói có một vai trò quan trọng. Máy tính ra đời đã giúp con người giải quyết công việc nhanh gọn và hiệu quả hơn. Tuy nhiên, các máy tính ngày nay chỉ nhận thông tin từ con người qua các thiết bị như: bàn phím, chuột, bút, . Mặc dù tốc độ xử lý của máy tính ngày càng được cải thiện đáng kể song tốc độ tạo lập thông tin của các thiết bị này vẫn còn thấp. Con người mong muốn máy tính ngày càng mạnh hơn, thông minh hơn và một trong số các yêu cầu đó là máy tính trong tương lai phải tương tác với người sử dụng bằng tiếng nói tự nhiên. Đây sẽ là một bước tiến lớn nhằm nâng cao sức mạnh của máy tính, đồng thời cũng tăng tốc độ truyền đạt thông tin giữa máy tính và con người. Xử lý tiếng nói trở thành một trong những lĩnh vực quan trọng trong xu hướng phát triển công nghệ của xã hội hiện nay. Đặc biệt, khi công nghệ thông tin ngày càng phát triển thì các ứng dụng của xử lý tiếng nói ngày càng trở lên cấp thiết. Mục đích của những nghiên cứu trong lĩnh vực xử lý tiếng nói là làm cho việc tương tác giữa người và máy ngày càng hiệu quả và tự nhiên hơn. Hiện nay trên thế giới các công nghệ xử lý tiếng nói đã phát triển, các hệ thống ứng dụng xử lý tiếng nói đã được sử dụng ở nhiều nơi, độ chính xác của các hệ thống này ngày càng được cải thiện. Các ứng dụng của lĩnh vực xử lý tiếng nói rất phổ biến: nhận dạng tiếng nói, tổng hợp tiếng nói, xác thực người nói qua giọng nói và các thành tựu của chúng được áp dụng vào nhiều lĩnh vực trong thực tế. 2 Trên thế giới đã có rất nhiều hệ thống nhận dạng tiếng nói tiếng Anh đã và đang được ứng dụng rất hiệu quả như: Via Voice của IBM, Spoken Toolkit của CSLU (Central of Spoken Language Under-standing), Speech Recognition Engine của Microsoft, Hidden Markov Model toolkit của đại học Cambridge, CMU Sphinx của đại học Carnegie Mellon,... ngoài ra, một số hệ thống nhận dạng tiến nói tiếng Pháp, Đức, Trung Quốc,... cũng khá phát triển. Ở Việt Nam, nhận dạng tiếng nói vẫn là một lĩnh vực khá mới mẻ. Đến nay tuy đã có nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt và đã đạt được một số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết quả cần thiết để có thể tạo ra các sản phẩm mang tính ứng dụng cao. Có thể kể đến các công trình sau: - AILab: Đây là công trình được phòng thí nghiệm Trí tuệ Nhân tạo - AILab thuộc Đại học Khoa học Tự nhiên tạo ra dựa trên các công nghệ tiên tiến nhất về nhận dạng và tổng hợp tiếng nói để đáp ứng nhu cầu của người dùng. Dựa trên công nghệ xử lí tiếng nói tiếng Việt, AILab đã xây dựng phần mềm iSago chuyên hỗ trợ tìm kiếm thông tin qua tiếng nói. Thông qua ứng dụng phần mềm người sử dụng có khả năng hỗ trợ giao tiếp với điện thoại di động trực tiếp bằng lời nói. Từ đó người sử dụng tìm kiếm thông tin nhà hàng, quán Bar, Café trên địa bàn TP. HCM. Khi người dùng đặt câu hỏi bằng tiếng nói, iSago sẽ truyền nội dung truy vấn này về server để xử lý và gửi lại kết quả tìm kiếm, dạng một danh sách: tên nhà hàng, địa chỉ. Phần mềm này cũng cho phép người dùng hiển thị địa chỉ tìm được dạng bản đồ hoặc nghe đọc địa chỉ trực tiếp bằng công nghệ tổng hợp giọng nói. Phần mềm được cung cấp miễn phí tại địa chỉ www.ailab.hcmus.edu.vn - Vietvoice: Đây là phần mềm của một người dân Việt Nam ngụ tại Canada. Phần mềm có khả năng nói tiếng Việt từ các tập tin. Để chạy được chương trình, cần cài đặt Microsoft Visual C++ 2005 Redistributable Package (x86). Đối với người khiếm thị, phần mềm này cho phép sử dụng cách gõ tắt (nhấn nút Ctrl và một chữ) để chọn lựa một trong các tính năng hiển thị trên 3 màn hình. Người dùng có thể cập nhật từ điển các chữ viết tắt và các từ ngữ tiếng nước ngoài. - Vspeech: Đây là một phần mềm điều khiển máy tính bằng giọng nói do một nhóm sinh viên Đại học Bách Khoa TP. HCM viết. Phần mềm sử dụng thư viện Microsoft Speech SDK để nhận dạng tiếng Anh nhưng được chuyển thành tiếng Việt. Nhóm đã khá thành công với ý tưởng này, do sử dụng lại thư viện nhận dạng engine nên thời gian thiết kế rút ngắn lại mà hiệu quả nhận dạng khá tốt. Phần mềm Vspeech có các lệnh gọi hệ thống đơn giản như gọi thư mục My Computer, nút Start,... Phiên bản mới nhất có tương tác với MS Word 2003, lướt web với trình duyệt Internet Explorer. Không có các chức năng tùy chỉnh lệnh và gọi tắt các ứng dụng. Phần mềm chạy trên nền Windows XP, Microphone và card âm thanh sử dụng tiêu chuẩn thông thường. Tuy nhiên việc ứng dụng nhận dạng giọng nói vào điều khiển máy tính còn nhiều hạn chế. Một số sản phẩm của nước ngoài về nhận dạng tiếng nói Tiếng Việt như: Nuance (Dragon Dictation và Dragon Search), Google search,... . Ở Việt Nam thì hầu như chỉ mới có bộ phần mềm Vspeech của nhóm sinh viên trường Đại học Bách Khoa TP. HCM, nhìn chung các phần mềm chưa được sử dụng thực tế vì chưa đạt trên 100 từ. Phần mềm Vspeech được phát triển từ mã nguồn mở Microsoft Speech SDK nhận dạng tiếng Anh, thông qua dữ liệu, phương thức trung gian, việc nhận dạng được chuyển trong Vspeech để nhận biết tiếng Việt. Lĩnh vực xử lý tiếng nói đã và đang tiếp tục được nghiên cứu, phát triển và các ứng dụng của nó ngày càng trở nên phổ biến và quan trọng. Vì vậy xử lý tiếng nói và các ứng dụng của nó đã trở thành đề tài được nhiều nhà nghiên cứu cũng như học sinh, sinh viên nghiên cứu và phát triển. 4 Luận văn tập trun
Luận văn liên quan