Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
838,21 KB
Nội dung
Ket-noi.com chia se mien phi LỜI NÓI ĐẦU Ngay phát minh máy tính, người mơ ước máy tính nói chuyện với Yêu cầu đơn giản máy xác định từ ngữ mà nói với máy Đó mục tiêu ngành nhận dạng tiếng nói Đối với người, việc nghe, nghe tiếng mẹ đẻ vấn đề đơn giản Còn máy tính, xác định chuỗi tín hiệu âm phát âm từ hoàn toàn không đơn giản, khó khăn việc học nghe ngoại ngữ Lĩnh vực nhận dạng tiếng nói nghiên cứu thập kỉ có số thành công Có thể kể đến hệ thống nhận dạng tiếng Anh (ví dụ: phần mềm Via Voice IBM, hệ thống nhận dạng tiếng nói tích hợp OfficeXP…) Các hệ thống hoạt động tốt (cho độ xác khoảng 90 95%) xa đạt đến mức mơ ước chúng ta: có hệ thống nghe xác hiểu hoàn toàn điều ta nói Riêng với tiếng Việt, lĩnh vực nhận dạng tiếng nói mẻ Chưa thấy xuất phần mềm nhận dạng tiếng Việt hoàn chỉnh thị trường Số công trình nghiên cứu nhận dạng tiếng nói tiếng Việt công bố hoi, kết hạn chế từ vựng, độ xác… Tiếng Việt có nhiều đặc tính khác với ngôn ngữ nghiên cứu nhận dạng nhiều tiếng Anh, tiếng Pháp Do việc nghiên cứu nhận dạng tiếng Việt cần thiết Vì lí trên, chọn đề tài “Tìm hiểu số phương pháp nhận dạng tiếng nói xây dựng hệ nhận dạng tiếng nói chữ số tiếng Việt mạng nơron môi trường Matlab”, nhằm nghiên cứu phương pháp nhận dạng tiếng nói tiếng Việt thử nghiệm xây dựng hệ thống nhận dạng cỡ nhỏ Khoá luận gồm có chương: Chương trình bày tổng quan nhận dạng tiếng nói, nhận dạng tiếng nói tiếng Việt số phương pháp nhận dạng phổ biến Chương trình bày môi trường Matlab Chương trình bày trích chọn đặc trưng cho nhận dạng Chương trình bày sơ lược mạng nơron toolbox NetLab cho mạng nơron môi trường Matlab http://www.ebook.edu.vn Chương trình bày trình tiến hành số kết nghiên cứu xây dựng hệ nhận dạng tiếng nói chữ số tiếng Việt môi trường Matlab Mặc dù cố gắng khả hạn chế cộng với vấn đề thời gian, phương tiện, công cụ nên kết nghiên cứu khiêm tốn Hy vọng tương lai có điều kiện để tiếp tục nghiên cứu đề tài Em xin chân thành cảm ơn thầy Đặng Văn Chuyết (khoa CNTT ĐHBK Hà Nội), cô Hồ Cẩm Hà, thầy Nguyễn Tân Ân, thầy Lê Minh Hoàng, thầy Ðào Việt Cường, thầy Trần Đăng Hưng thầy cô giáo khoa CNTT ĐHSP Hà Nội tận tình bảo, góp ý giúp đỡ, tạo điều kiện cho em trình nghiên cứu Cảm ơn anh Nguyễn Tiến Dũng (Viện CNTT), em Đinh Ngọc Thắng bạn trung tâm FYT, bạn lớp, khoa động viên giúp đỡ tài liệu, phương tiện để hoàn thành nghiên cứu http://www.ebook.edu.vn MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC CHƯƠNG NHẬN DẠNG TIẾNG NÓI 1.1 NHẬN DẠNG TIẾNG NÓI VÀ MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG 1.1.1 Nhận dạng tiếng nói 1.1.2 Một số phương pháp nhận dạng tiếng nói phổ biến .6 1.1.2.1 Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach) 1.1.2.2 Phương pháp nhận dạng mẫu (pattern recognition approach) 1.1.2.3 Phương pháp trí tuệ nhân tạo (artifactial intelligence approach) 1.2 NHẬN DẠNG TIẾNG VIỆT 1.2.1 Một số đặc điểm ngữ âm tiếng Việt .9 1.2.2 Những thuận lợi khó khăn nhận dạng tiếng nói tiếng Việt 11 1.2.2.1 Thuận lợi 11 1.2.2.2 Khó khăn 11 CHƯƠNG MÔI TRƯỜNG MATLAB 12 2.1 GIAO DIỆN VÀ CÁC THÀNH PHẦN CƠ BẢN CỦA MATLAB 13 2.1 LỆNH TRONG MATLAB 13 2.2 BIẾN TRONG MATLAB 14 2.2.1 Sử dụng biến Matlab 14 2.2.2 Nhập (Import) xuất (Export) 15 2.3 MA TRẬN TRONG MATLAB 16 2.3.1 Ma trận (matrix), vectơ (vector) vô hướng (scalar) 16 2.3.2 Một số ma trận, vector đặc biệt .16 2.3.3 Các phép toán với vô hướng 17 2.3.4 Các phép toán với vector .17 2.3.5 Các phép toán với ma trận 18 2.4 CÁC HÀM THÔNG DỤNG TRONG MATLAB 19 2.4.1 Một số hàm toán học thông dụng 19 2.4.2 Một số hàm vector .20 2.4.3 Một số hàm xử lí âm 20 2.4.4 Các phép toán số phức 21 2.5 LẬP TRÌNH MATLAB 22 2.5.1 Chương trình nguồn (m-file), hàm script 22 2.5.2 Các cấu trúc điều khiển 23 2.5.2.1 Lệnh gán .23 2.5.2.2 Lệnh rẽ nhánh .24 2.5.2.3 Lệnh lặp 25 2.5.3 Biểu thức logic .26 2.5.3.1 Các phép toán quan hệ 26 2.5.3.2 Các phép toán logic 27 2.5.3.3 Một số hàm quan hệ logic 27 CHƯƠNG TRÍCH CHỌN ĐẶC TRƯNG TÍN HIỆU TIẾNG NÓI 29 3.1 TRÍCH CHỌN ĐẶC TRƯNG MFCC 29 3.1.1 Sơ đồ khối trình tính MFCC 30 3.1.2 Chia khung cửa sổ hoá 30 http://www.ebook.edu.vn 3.1.3 Biến đổi Fourier rời rạc 30 3.1.4 Lọc qua lọc mel-scale 31 3.1.5 Logarit biến đổi Fourier ngược .31 3.1.6 Tính toán lượng 32 3.1.7 Tính toán đặc trưng delta 32 3.2 TOOLBOX VOICEBOX TRONG MATLAB 33 CHƯƠNG MẠNG NƠRON NHÂN TẠO 34 4.1 MÔ HÌNH MẠNG NƠ RON 34 4.1.1 Mô hình nơron perceptron 34 4.1.2 Mô hình mạng nơron MLP 35 4.1.3 Huấn luyện mạng nơron MLP .36 4.1.5 Ưu điểm nhược điểm mạng nơron .38 4.2 SỬ DỤNG MẠNG NƠRON TRONG NHẬN DẠNG MẪU 39 4.2.1 Một phương pháp tiếp cận dựa vào xác suất phân lớp 39 4.2.2 Nhược điểm mạng MLP nhận dạng tiếng nói 39 4.2.3 Một số phương pháp tiếp cận khác 39 4.3 MẠNG NƠRON TRÊN MÔI TRƯỜNG MATLAB 40 4.3.1 Khởi tạo mạng MLP 40 4.3.2 Huấn luyện mạng MLP 40 4.3.3 Sử dụng mạng MLP 41 CHƯƠNG XÂY DỰNG HỆ NHẬN DẠNG CHỮ SỐ TIẾNG VIỆT 42 5.1 XÂY DỰNG HỆ THỐNG NHẬN DẠNG 42 5.1.1 Mô tả chung hệ thống .42 5.1.2 Sơ đồ khối hệ thống 42 5.1.3 Thu thập tiền xử lí tín hiệu tiếng nói 43 5.1.4 Phân chia liệu phân lớp 44 5.1.5 Trích chọn đặc trưng MFCC 44 5.1.6 Tính đầu vào cho mạng 44 5.1.7 Xây dựng huấn luyện thử nghiệm mạng 46 5.1.8 Sử dụng mạng nhận dạng 46 5.1.9 Giao diện phần mềm demo 47 5.2 KẾT QUẢ THỬ NGHIỆM 48 5.3 HƯỚNG MỞ RỘNG CỦA ĐỀ TÀI 50 5.3.1 Xây dựng liệu huấn luyện lớn 50 3.3.2 Xây dựng phần mềm nhận dạng dựa kết nghiên cứu .50 5.3.3 Nghiên cứu phương pháp xác định đặc trưng khác 50 5.3.4 Nghiên cứu phương pháp nhận dạng khác 51 PHỤ LỤC DANH MỤC TÀI LIỆU THAM KHẢO 52 PHỤ LỤC BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 53 http://www.ebook.edu.vn CHƯƠNG NHẬN DẠNG TIẾNG NÓI 1.1 NHẬN DẠNG TIẾNG NÓI VÀ MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG PHỔ BIẾN 1.1.1 Nhận dạng tiếng nói Hiểu cách đơn giản, nhận dạng tiếng nói (speech recognition by machine) dùng máy tính chuyển đổi tín hiệu ngôn ngữ từ dạng âm thành dạng văn Nói cách xác hơn: nhận dạng tiếng nói phân chia (segmentation) đính nhãn ngôn ngữ (labeling) cho tín hiệu tiếng nói Nhận dạng tiếng nói có nhiều ứng dụng: • • • • Đọc tả Là ứng dụng sử dụng nhiều hệ nhận dạng Thay nhập liệu tay thông qua bàn phím, người sử dụng nói với máy qua micro máy xác định từ nói Điều khiển - giao tiếp không dây Chẳng hạn hệ thống cho phép máy tính nhận lệnh điều khiển giọng nói người như: “chạy chương trình”, “tắt máy”… Một số ưu điểm việc sử dụng tiếng nói thay cho thiết bị vào chuẩn bàn phím, chuột là: thuận tiện, tốc độ cao, không bị ảnh hưởng cáp, khoảng cách, không đòi hỏi huấn luyện sử dụng Điện thoại-liên lạc Một số hệ thống (chẳng hạn máy điện thoại di động) cho phép người sử dụng đọc tên người danh sách thay bấm số Một số hệ thống khác (ở ngân hàng, trung tâm chứng khoán…) thực việc trả lời tự động các gọi hỏi tài khoản… … Tuy nhiên vấn đề nhận dạng tiếng nói gặp nhiều khó khăn Một số khó khăn chủ yếu là: • Tiếng nói tín hiệu thay đổi theo thời gian Mỗi người có giọng nói, cách phát âm khác Thậm chí người phát âm từ mà lần khác không giống (chẳng hạn tốc độ, âm lượng ) http://www.ebook.edu.vn • • Các phương pháp nhận dạng máy tính “máy móc”, xa đạt đến mức độ tư người Nhiễu thành phần gặp môi trường hoạt động hệ thống nhận dạng ảnh hưởng nhiều đến kết nhận dạng Do khó khăn đó, nhận dạng tiếng nói cần tri thức từ nhiều từ ngành khoa học liên quan: • • • • • • • Xử lí tín hiệu: tìm hiểu phương pháp tách thông tin đặc trưng, ổn định từ tín hiệu tiếng nói, giảm ảnh hưởng nhiễu thay đổi theo thời gian tiếng nói Âm học: tìm hiểu mối quan hệ tín hiệu tiếng nói vật lí với chế sinh lí học việc phát âm việc nghe người Nhận dạng mẫu: nghiên cứu thuật toán để phân lớp, huấn luyện so sánh mẫu liệu Lí thuyết thông tin: nghiên cứu mô hình thống kê, xác suất; thuật toán tìm kiếm, mã hoá, giải mã, ước lượng tham số mô hình… Ngôn ngữ học: tìm hiểu mối quan hệ ngữ âm ngữ nghĩa, ngữ pháp, ngữ cảnh tiếng nói Tâm-sinh lí học: tìm hiểu chế bậc cao hệ thống nơron não người hoạt động nghe nói Khoa học máy tính: nghiên cứu thuật toán, phương pháp cài đặt sử dụng hiệu hệ thống nhận dạng thực tế 1.1.2 Một số phương pháp nhận dạng tiếng nói phổ biến 1.1.2.1 Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach) Phương pháp ngữ âm - âm vị học dựa lý thuyết âm vị: lí thuyết khẳng định tồn hữu hạn đơn vị ngữ âm ngôn ngữ nói gọi âm vị, phân chia thành: nguyên âm - phụ âm, vô thanh-hữu thanh, âm vang -âm bẹt… Các âm vị xác định tập đặc trưng phổ tín hiệu tiếng nói theo thời gian (độc giả tham khảo thêm [10]) Đặc trưng quan trọng âm vị formant Đó vùng tần số có cộng hưởng cao tín hiệu Ngoài số đặc trưng khác âm vực (cao độ - pitch), âm lượng… Hệ thống nhận dạng dựa phương pháp tách đặc trưng từ tín hiệu tiếng nói xác định chúng tương ứng với âm vị Sau đó, dựa vào http://www.ebook.edu.vn từ điển phiên âm, máy xác định chuỗi âm vị có khả phát âm từ Xét khía cạnh nguyên lí, phương pháp đơn giản Tuy nhiên thử nghiệm thực tế cho thấy phương pháp cho kết nhận dạng không cao Nguyên nhân từ vấn đề sau: • • • Phương pháp cần nhiều tri thức ngữ âm học, tri thức liên quan đến đặc tính âm học âm vị Mà tri thức nhìn chung chưa nghiên cứu đầy đủ formant ổn định nguyên âm, với phụ âm formant khó xác định không ổn định Hơn việc xác định formant cho độ xác không cao Đặc biệt chịu ảnh hưởng nhiễu (là vấn đề thường xảy thực tế) Rất khó phân biệt âm vị dựa phổ, phụ âm vô Có số phụ âm giống nhiễu (ví dụ: /s/, /h/) 1.1.2.2 Phương pháp nhận dạng mẫu (pattern recognition approach) Phương pháp nhận dạng mẫu dựa vào lý thuyết xác suất - thống kê để nhận dạng dựa ý tưởng: so sánh đối tượng cần nhận dạng với mẫu thu thập trước để tìm mẫu "giống" đối tượng Như hệ thống nhận dạng trải qua giai đoạn: Đặc trưng Dữ liệu huấn luyện 1) Giai đoạn huấn luyện thực nhiệm vụ: thu thập mẫu, phân lớp huấn luyện hệ thống ghi nhớ mẫu Minh hoạ: Sơ đồ giai đoạn huấn luyện phương pháp đối sánh mẫu 2) Giai đoạn nhận dạng: nhận vào đối tượng cần nhận dạng, so sánh với mẫu đưa kết mẫu giống đối tượng http://www.ebook.edu.vn Thông tin phân lớp Đối tượng cần nhận dạng Minh hoạ: Sơ đồ giai đoạn nhận dạng phương pháp đối sánh mẫu Phần lớn hệ nhận dạng thành công giới sử dụng phương pháp Phương pháp có ưu điểm sau: Sử dụng đơn giản, dễ hiểu, mang tính toán học cao (lý thuyết xác suất thống kê, lý thuyết máy học, …) Ít bị ảnh hưởng biến thể từ vựng, tập đặc trưng, đơn vị nhận dạng, môi trường xung quanh… Cho kết cao Điều kiểm chứng thực tế 1.1.2.3 Phương pháp trí tuệ nhân tạo (artifactial intelligence approach) Phương pháp trí tuệ nhân tạo nghiên cứu cách học nói học nghe người, tìm hiểu quy luật ngữ âm, ngữ pháp, ngữ nghĩa, ngữ cảnh… tích hợp chúng bổ sung cho phương pháp khác để nâng cao kết nhận dạng Chẳng hạn thêm hệ chuyên gia (expert system), luật logic mờ (fuzzy logic) ngữ âm, âm vị… vào hệ nhận dạng tiếng nói dựa phương pháp ngữ âm-âm vị học để tăng độ xác cho việc xác định âm vị (vấn đề đề cập khó sử dụng thông tin âm phổ ) Hay hệ nhận dạng mẫu, người ta cải tiến cách với đối tượng cần nhận dạng, hệ thống chọn số mẫu “giống” đối tượng nhất, sau kiểm chứng tiếp kết luật ngữ pháp, ngữ nghĩa, ngữ cảnh… để xác định mẫu phù hợp Hiện có phương pháp trí tuệ nhân tạo nhận dạng tiếng nói nghiên cứu rộng rãi mạng nơron Tuỳ vào cách sử dụng, mạng nơron coi mở rộng phương pháp nhận dạng mẫu phương pháp ngữ http://www.ebook.edu.vn âm-âm vị học Do đặc tính (được trình bày kĩ phần 2), mạng nơron hi vọng tăng cường hiệu hệ nhận dạng tiếng nói Mạng nơron phương pháp nghiên cứu xây dựng hệ nhận dạng trình bày khoá luận 1.2 NHẬN DẠNG TIẾNG VIỆT 1.2.1 Một số đặc điểm ngữ âm tiếng Việt Một đặc điểm dễ thấy tiếng Việt ngôn ngữ đơn âm (monosyllable từ đơn có âm tiết), không biến hình (cách đọc, cách ghi âm không thay đổi tình ngữ pháp nào) Tiếng Việt hoàn toàn khác với ngôn ngữ Ấn-Âu tiếng Anh, tiếng Pháp ngôn ngữ đa âm, biến hình Theo thống kê tiếng Việt có khoảng 6000 âm tiết Nhìn mặt ghi âm: âm tiết tiếng Việt có cấu tạo chung là: phụ âm-vần Ví dụ âm tin có phụ âm t, vần in Phụ âm âm vị âm vị liên kết lỏng lẻo với phần lại âm tiết (hiện tượng nói lái) Vần tiếng Việt lại cấu tạo từ âm vị nhỏ hơn, có âm vị nguyên âm Hình sau phổ tín hiệu âm tiết “ba” Chúng ta quan sát phân biệt rõ miền nhiễu nền, miền phổ phụ âm b nguyên âm a (miền đậm có mật độ lượng lớn hơn) Minh hoạ: Phổ tín hiệu âm tiết “ba”, có miền nhiễu (silence), miền tín hiệu phụ âm /b/ nguyên âm /a/ (miền đậm có mật độ lượng lớn hơn) http://www.ebook.edu.vn Quan sát phổ âm tiết tương tự rút kết luận: phụ âm nguyên âm phân biệt với rõ qua phân bố lượng miền tần số, ví dụ: phụ âm tần số thấp, lượng nhỏ, nguyên âm có lượng lớn vùng tần số cao Vùng tín hiệu tiếng nói (nhiễu khoảng lặng) có lượng thấp tập trung tần số thấp Các nguyên âm có tần phổ (spectrum) khác rõ Hình sau minh hoạ khác phổ nguyên âm Miền đậm miền có mật độ lượng cao Minh hoạ: Sự khác phổ nguyên âm Miền đậm miền có mật độ lượng cao (vùng có formant) Theo tác giả Đoàn Thiện Thuật ([3]), xét mặt ngữ âm-âm vị học âm tiết tiếng Việt có lược đồ sau: Âm đầu Thanh điệu Vần Âm đệm Âm Âm cuối Lược đồ cho thấy âm tiết tiếng Việt có cấu trúc rõ ràng, ổn định Lược đồ cho thấy tiếng Việt ngôn ngữ có điệu Hệ thống điệu gồm thanh: bằng, huyền, sắc, hỏi, ngã, nặng Thanh điệu âm tiết âm vị siêu đoạn tính (thể hiển toàn âm tiết) Do đặc trưng điệu thể tín hiệu tiếng nói không rõ nét thành phần khác âm tiết Sự khác biệt cách phát âm tiếng Việt rõ rệt theo giới, lứa tuổi đặc biệt theo vị trí địa lí (giọng miền Bắc, miền Trung miền Nam khác nhiều) http://www.ebook.edu.vn 10 4.2 SỬ DỤNG MẠNG NƠRON TRONG NHẬN DẠNG MẪU 4.2.1 Một phương pháp tiếp cận dựa vào xác suất phân lớp Bài toán nhận dạng giải xây dựng cấu nhận dạng có: • Đầu vào đặc trưng đối tượng cần nhận dạng p1 X) v 1( (X ) • Đầu xác suất phân lớp độ giống (likelihood), độ tương tự (similarity) đối tượng với lớp mẫu huấn luyện ( X) ) (X pm Minh hoạ: Mô hình nhận dạng cấu nhận dạng dựa theo xác suất phân lớp Chúng ta thấy dùng MLP để cấu nhận dạng vậy: Nếu đặc trưng đối tượng n số thực có m lớp mẫu ta xây dựng MLP n đầu vào, m đầu Đầu vào đặc trưng đối tượng, đầu độ tương tự đối tượng với lớp mẫu MLP huấn luyện dựa liệu huấn luyện chuẩn bị trước để tìm mối liên hệ đầu vào đầu (học tổng quát hoá) Những vấn đề trình bày kĩ chương 4.2.2 Nhược điểm mạng MLP nhận dạng tiếng nói MLP có số nhược điểm sau sử dụng nhận dạng tiếng nói: - Có đầu vào cố định (trong tín hiệu tiếng nói tín hiệu thay đổi theo thời gian: lần phát âm cho từ có độ dài thường không nhau) - Chi phí huấn luyện tốn (thời gian, không gian lưu trữ) Do MLP thường cho kết cao nhận dạng với từ vựng nhỏ phân biệt (độ tương tự lớp mẫu thấp) 4.2.3 Một số phương pháp tiếp cận khác http://www.ebook.edu.vn 39 Ngoài cách tiếp cận phần 4.2.1, có nhiều cách tiếp cận khác nhận dạng tiếng nói mạng nơron: - Dùng mô hình mạng TDNN (mạng nơron thời gian trễ): mô hình cải tiến MLP, có chế để tích hợp thông tin thời gian (các nơron trễ) đưa mẫu tiếng nói qua mạng Mô hình nhằm giải vấn đề phụ thuộc thời gian tín hiệu tiếng nói - Kết hợp MLP HMM: sử dụng MLP đo xác suất phát xạ vector quan sát Cách tiếp cận kết hợp ưu điểm mô hình 4.3 MẠNG NƠRON TRÊN MÔI TRƯỜNG MATLAB Mạng nơron Matlab hỗ trợ nhiều toolbox, chẳng hạn NNet sẵn có Matlab NetLab Ian T Nabney phát triển Chúng sử dụng toolbox NetLab để xây dựng, huấn luyện thử nghiệm mạng nơron MLP cho hệ thống nhận dạng khoá luận 4.3.1 Khởi tạo mạng MLP Lệnh khởi tạo MLP NetLab có cú pháp sau: net = mlp(inode, hnode, onode, func, anpha); Trong đó: • • • • inode, hnode, onode số nơron lớp vào, lớp ẩn lớp func kiểu hàm kích hoạt, func có giá trị ‘logistic’, ‘softmax’… anpha ngưỡng giá trị trọng số, thường lấy 0.01 net mạng MLP hàm tạo 4.3.2 Huấn luyện mạng MLP Mạng MLP sau điều kiện khởi tạo huấn luyện với liệu huấn luyện cho trước Lệnh huấn luyện MLP NetLab có cú pháp sau: [net, error] = mlptrain(net, x, t, its) Trong đó: • • • • x, t liệu huấn luyện x vector đầu vào, t vector đầu cần đạt đến (target) its số vòng huấn luyện (số lần thực thuật toán lan truyền ngược lỗi) net mạng nơron error tổng sai số lần huấn luyện cuối http://www.ebook.edu.vn 40 4.3.3 Sử dụng mạng MLP Sau huấn luyện ta dùng mạng MLP để tính đầu ứng với đầu vào Lệnh tính đầu y MLP ứng với đầu vào x sau: y = mlpfwd(net, x) Trong đó: • • x hay nhiều vector đầu vào y vector đầu tương ứng Bạn đọc tham khảo ví dụ script function mục 1.2.2 để tìm hiểu việc sử dụng hàm http://www.ebook.edu.vn 41 CHƯƠNG XÂY DỰNG HỆ NHẬN DẠNG CHỮ SỐ TIẾNG VIỆT 5.1 XÂY DỰNG HỆ THỐNG NHẬN DẠNG 5.1.1 Mô tả chung hệ thống Hệ thống nhận dạng xây dựng khoá luận dựa phương pháp nhận dạng mẫu, sử dụng mạng nơron làm cấu nhận dạng • • • • Phương pháp: nhận dạng từ đơn (isolate word recognition) Input: file wav, file chứa từ Hoặc ghi âm trực tiếp Output: chữ số nhận dạng file đầu vào Bộ từ vựng: 11 từ đơn âm chữ số tiếng Việt (“không”, “một”, “hai” “mười”) 5.1.2 Sơ đồ khối hệ thống Nguồn vào (tiếng nói) Thu thập, tiền xử lí (cắt từ, lọc nhiễu ) CSDL huấn luyện Chia liệu, phân lớp Xây dựng CSDL huấn luyện mạng DL thử nghiệm Thử nghiệm mạng Độ xác DL huấn luyện Trích chọn đặc trưng MFCC Trích chọn đặc trưng MFCC Xây dựng huấn luyện mạng Tính đầu vào cho mạng Truyền qua mạng để tính xác suất phân lớp Mạng nơron MLP Lựa chọn lớp có Chữ số nhận dạng xác suất cao Minh hoạ: Sơ đồ khối hệ thống nhận dạng tiếng nói chữ số tiếng Việt mạng nơron MLP môi trường Matlab Các phần mô tả cụ thể chức hệ thống http://www.ebook.edu.vn 42 5.1.3 Thu thập tiền xử lí tín hiệu tiếng nói Thu thập tiền xử lí tín hiệu tiếng nói giai đoạn huấn luyện thực phương pháp thủ công: sử dụng phần mềm ghi âm, lọc nhiễu cắt thành từ riêng rẽ, từ ghi vào file (tên file ghi từ tương ứng) Bộ liệu tự xây dựng gồm: • 536 file wav 16 bit 8kHz, file phát âm từ • 11 từ chữ số tiếng Việt từ “không” đến “mười” (Mặc dù “mười” chữ số cần hệ nhận dạng chữ số có số phát âm “mười một”, “mười hai” ) • người nói Ở giai đoạn nhận dạng, việc thu thập tiền xử lí (cắt vùng không chứa tín hiệu tiếng nói) thực lệnh sau: x = wavrecord(10000,8000); %tần số lấy mẫu 8kHz x = x'; % ghi âm chừng 1s y = endcut(x, 64, 1.5E-3); Hàm endcut dùng cắt khoảng lặng không chứa tín hiệu âm: function y = endcut(x, n, es) % cat khoang lang khoi x % n độ dài frame, es ngưỡng lượng x = x - mean(x); if nargin < es = 2E-3; end; if nargin < n = 128; end; y=[]; t=x(1:n); e=mean(t.^2); i=n+1;ln = length(x) - n+1; while i[...]... Những thuận lợi và khó khăn đối với nhận dạng tiếng nói tiếng Việt 1.2.2.1 Thuận lợi Những đặc điểm ngữ âm tiếng Việt cho thấy nhận dạng tiếng nói tiếng Việt có một số thuận lợi sau: • • Tiếng Việt là ngôn ngữ đơn âm, số lượng âm tiết không quá lớn Điều này sẽ giúp hệ nhận dạng xác định ranh giới các âm tiết dễ dàng hơn nhiều Đối với hệ nhận dạng các ngôn ngữ Ấn-Âu (tiếng Anh, tiếng Pháp ) xác định... địa phương trong tiếng Việt rất đa dạng (mỗi miền có một giọng đặc trưng) Hệ thống ngữ pháp, ngữ nghĩa tiếng Việt rất phức tạp, rất khó để áp dụng vào hệ nhận dạng với mục đích tăng hiệu năng nhận dạng Hệ thống phiên âm cũng chưa thống nhất Các nghiên cứu về nhận dạng tiếng Việt cũng chưa nhiều và ít phổ biến Đặc biệt khó khăn lớn nhất là hiện nay chưa có một bộ dữ liệu chuẩn cho việc huấn luyện và. .. rất lớn đến hiệu năng nhận dạng Vì vậy việc lựa chọn đặc trưng cho tín hiệu tiếng nói rất quan trọng Có nhiều phương pháp trích chọn đặc trưng đã và đang được sử dụng (FBA, MFCC, LPC, PLP ) Mỗi phương pháp có những ưu điểm và nhược điểm riêng Hiện nay MFCC (Mel-scale Frequency Cepstral Coefficient) được sử dụng phổ biến nhất Vì vậy chúng tôi sử dụng MFCC làm đặc trưng của hệ nhận dạng được trình bày... một vấn đề khó khăn trong nhận dạng các ngôn ngữ Ấn-Âu 1.2.2.2 Khó khăn Ngoài những thuận lợi trên, nhận dạng tiếng nói tiếng Việt cũng gặp rất nhiều khó khăn như sau: • • • • Tiếng Việt là ngôn ngữ có thanh điệu (6 thanh) Thanh điệu là âm vị siêu đoạn tính, đặc trưng về thanh điệu thể hiện trong tín hiệu tiếng nói không rõ nét như các thành phần khác của âm tiết Cách phát âm tiếng Việt thay đổi nhiều... Lớp đầu tiên là lớp vào (input - nhận đầu vào), lớp cuối cùng là lớp ra (output - cho đầu ra) Giữa lớp vào và lớp ra là các lớp ẩn (hidden) Thông thường chỉ có một lớp ẩn • Tất cả các nơron cùng một lớp sử dụng chung một vector đầu vào Mỗi lớp khi nhận một vector đầu vào sẽ tính đầu ra của mỗi nơron, kết hợp thành một vector và lấy đó làm đầu vào cho lớp sau • Mạng MLP nhận đầu vào là một vector n... (Aerospace) hay giải phương trình vi phân (PDE)… Matlab cũng hỗ trợ lập trình và cho phép tích hợp thư viện do người dùng xây dựng Câu lệnh của Matlab được viết rất sát các mô tả kĩ thuật nên lập trình trên Matlab nhanh và đơn giản hơn so với các ngôn ngữ thông dụng như Pascal, Fortran… Cú pháp lập trình của Matlab giống C nên không quá khó học Đặc biệt Matlab còn có các giao thức để liên kết với các... tôi sử dụng MFCC làm đặc trưng của hệ nhận dạng được trình bày trong khoá luận này Nội dung tiếp theo của chương này trình bày về phương pháp tính đặc trưng MFCC và toolbox VoiceBox của Matlab dùng trong xử lí tiếng nói 3.1 TRÍCH CHỌN ĐẶC TRƯNG MFCC Các hệ nhận dạng tiếng nói thường tách đặc trưng từ tín hiệu bằng cách: chia tín hiệu thành các đoạn độ dài 5-15 ms, mỗi đoạn gọi là một khung (frame) Trong... trưng là một vector và đặc trưng của toàn bộ tín hiệu sẽ là một dãy vector MFCC là phương pháp trích đặc trưng dựa trên đặc điểm cảm thụ tần số âm của tai người: tuyến tính đối với tần số nhỏ hơn 1kHz và phi tuyến đối với tần số trên 1kHz (theo thang tần số mel, không phải theo Hz) MFCC là phương pháp tách đặc trưng dựa trên sự cảm thụ của con người nên thường cho kết quả nhận dạng cao nhất (theo [12])... Matlab thành các chương trình nguồn C/C++ hoặc hỗ trợ các thư viện DLL từ bên ngoài Do những điểm mạnh như vậy của Matlab, chúng tôi quyết định sẽ dùng Matlab để phát triển hệ nhận dạng của mình http://www.ebook.edu.vn 12 2.1 GIAO DIỆN VÀ CÁC THÀNH PHẦN CƠ BẢN CỦA MATLAB Giao diện làm việc thường gặp của Matlab như sau: Giống như các môi trường khác như AutoCAD, để thao tác với Matlab, ta gõ lệnh trên. .. (theo [12]) Vì lẽ đó rất nhiều hệ thống nhận dạng tiếng nói sử dụng MFCC làm đặc trưng http://www.ebook.edu.vn 29 3.1.1 Sơ đồ khối của quá trình tính MFCC Đối với phương pháp MFCC, việc tính đặc trưng có sơ đồ như sau: Phân khung và cửa sổ hoá Tính toán năng lượng Năng lượng Biến đổi Fourier Lấy đạo hàm rời rạc Delta MFCC Lọc qua bộ lọc mel-scale MFCC Tín hiệu tiếng nói Lấy logarit Biến đổi Fourier ... http://www.ebook.edu.vn 41 CHƯƠNG XÂY DỰNG HỆ NHẬN DẠNG CHỮ SỐ TIẾNG VIỆT 5.1 XÂY DỰNG HỆ THỐNG NHẬN DẠNG 5.1.1 Mô tả chung hệ thống Hệ thống nhận dạng xây dựng khoá luận dựa phương pháp nhận dạng mẫu, sử dụng... hiệu hệ nhận dạng tiếng nói Mạng nơron phương pháp nghiên cứu xây dựng hệ nhận dạng trình bày khoá luận 1.2 NHẬN DẠNG TIẾNG VIỆT 1.2.1 Một số đặc điểm ngữ âm tiếng Việt Một đặc điểm dễ thấy tiếng. .. DẠNG TIẾNG NÓI VÀ MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG 1.1.1 Nhận dạng tiếng nói 1.1.2 Một số phương pháp nhận dạng tiếng nói phổ biến .6 1.1.2.1 Phương pháp ngữ âm - âm vị học