Ứng dụng mạng Nơron trong nhận dạng tiếng Việt” nhằm nghiên cứu các phương pháp nhận dạng tiếng nói đối với tiếng Việt và thử nghiệm xây dựng một hệ thống nhận dạng cỡ nhỏ để nhận dạng việc đọc các số từ “không” đến “chín”. Full mã nguồn tại https:tinhoc123.edu.vn
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ KHOA HỌC NGÀNH CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN HỌC TRÍ TUỆ NHÂN TẠO NÂNG CAO ỨNG DỤNG MẠNG NƠRON NHÂN TẠO TRONG NHẬN DẠNG CÁC KÝ SỐ TIẾNG VIỆT Hướng dẫn khoa học: TS Nguyễn Đình Thuân Học viên: Mai Cường Thọ Trần Công Cẩn Huỳnh Quang Đệ Tháng 03/2010 Trang Tiểu luận “Trí tuệ nhân tạo nâng cao” MỤC LỤC 1- Mở đầu Nhận dạng tiếng nói số phương pháp nhận dạng phổ biến 2.1 Nhận dạng tiếng nói 2.2 Một số phương pháp nhận dạng tiếng nói phổ biến 2.2.1 Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach) 2.2.2 Phương pháp nhận dạng mẫu (pattern recognition approach) 2.2.3 Phương pháp trí tuệ nhân tạo (artifactial intelligence approach) Nhận dạng tiếng tiếng Việt 3.1 Một số đặc điểm ngữ âm tiếng Việt 3.2 Những thuận lợi khó khăn nhận dạng tiếng nói tiếng Việt 10 3.2.1- Thuận lợi 10 3.2.2- Khó khăn 10 Trích chọn đặc trưng tín hiệu tiếng nói phương pháp MFCC 11 4.1 Sơ đồ khối q trình tính MFCC 11 4.2 Chia khung cửa sổ hoá 12 4.3 Biến đổi Fourier rời rạc 13 4.4 Lọc qua lọc mel-scale 13 4.5 Logarit biến đổi Fourier ngược 15 4.6 Tính tốn lượng 16 4.7 Tính tốn đặc trưng delta 16 Mạng Nơron nhân tạo 16 5.1 Mô hình mạng Nơron nhân tạo 17 5.1.1 Mơ hình Nơron nhân tạo perceptron 17 5.1.2 Mơ hình mạng Nơron nhân tạo MLP (Multi Layer Perceptron) 18 5.1.3 Huấn luyện mạng Nơron nhân tạo MLP 19 5.1.4 Ưu điểm nhược điểm mạng nơron nhân tạo 20 5.2 Sử dụng mạng Nơron nhân tạo nhận dạng mẫu 21 5.2.1 Một phương pháp tiếp cận dựa vào xác suất phân lớp 21 5.2.2 Nhược điểm mạng MLP nhận dạng tiếng nói 22 5.2.3 Một số phương pháp tiếp cận khác 22 Xây dựng hệ nhận dạng chữ số tiếng Việt 23 6.1 Mô tả chung hệ thống 23 6.2 Sơ đồ khối hệ thống 23 6.3 Thu thập tiền xử lí tín hiệu tiếng nói 23 6.4 Phân chia liệu phân lớp 24 6.5 Tính đầu vào cho mạng 24 6.7 Xây dựng, huấn luyện mạng 24 6.8 Giao diện phần mềm demo 25 Kết luận + Một số hướng mở rộng tiểu luận 26 Tài liệu tham khảo 28 Mai Cường Thọ Tiểu luận “Trí tuệ nhân tạo nâng cao” Trang 1- Mở đầ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ừ hồn tồn khơng đơn giản, khó khăn tương tự 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%) cịn xa đạt đến mức mơ ước có hệ thống nghe xác hiểu hồn tồn điều nói Riêng với tiếng Việt, lĩnh vực nhận dạng tiếng nói cịn 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ố khơng nhiều, kết cịn 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, sau học xong mơn “Trí tuệ nhân tạo tiên tiến”, mức độ tiểu luận môn học, chúng em chọn đề tài “Ứng dụng mạng Nơron nhận dạng tiếng Việt” 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ỏ để nhận dạng việc đọc số từ “không” đến “chín” Mặc dù chúng em cố gắng việc nghiên cứu ứng dụng thời gian thực ngắn nên kết nghiên cứu khiêm tốn Tuy nhiên, đề tài tiểu luận làm tảng cho chúng em tiếp tục nghiên cứu đề tài chuyên sâu nhận dạng tiếng nói nói riêng ứng ụng trí tuệ nhân tạo vào thực tiễn nói chung Chúng em bầy tỏ lịng biết ơn đến Tiến sĩ Nguyễn Đình Thn truyền đạt cho nhóm, lớp học nhiều kiến thức bổ ích mạng nơ ron ứng dụng nhận dạng, tạo tiền đề cho chúng em thực tốt tập Mai Cường Thọ Tiểu luận “Trí tuệ nhân tạo nâng cao” Trang Nhận dạng tiếng nói số phương pháp nhận dạng phổ biến 2.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 ); ▪ Các phương pháp nhận dạng máy tính “máy móc”, cịn 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 nhiều từ ngành khoa học liên quan như: Mai Cường Thọ Tiểu luận “Trí tuệ nhân tạo nâng cao” Trang - 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 tốn tìm kiếm, mã hố, 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ế 2.2 Một số phương pháp nhận dạng tiếng nói phổ biến 2.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 trưng quan trọng âm vị formant Đó vùng tần số có cộng hưởng cao tín hiệu Ngồi số đặc trưng khác âm vực (tân số bản- 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 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: Mai Cường Thọ Trang Tiểu luận “Trí tuệ nhân tạo nâng cao” ▪ 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 cịn 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/) 2.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: a) 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 đó: Thu thập, tiền xử lý Huấn luyện cấu nhận dạng Phân lớp Cơ cấu nhận dạng Đặc trưng Dữ liệu huấn luyện Nguồn vào Mẫu liệu huấn luyện Trích chọn đặc trưng Hình 2.1: Minh hoạ sơ đồ giai đoạn huấn luyện phương pháp đối sánh mẫu b) 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 nhất: Mai Cường Thọ Trang Tiểu luận “Trí tuệ nhân tạo nâng cao” Thu thập, tiền xử lý Lựa chọn lớp, hậu xử lý Trích chọn đặc trưng Kết Thông tin phân lớp Đối tượng cần nhận dạng Nguồn vào Đặc trưng Cơ cấu nhận dạng Hình 2.2: 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 tố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ế 2.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 như: - Có thể 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ữ âm- Mai Cường Thọ Tiểu luận “Trí tuệ nhân tạo nâng cao” Trang âm vị học Do có đặc tính trội, mạng nơron hi vọng tăng cường hiệu hệ nhận dạng tiếng nói Vì vậy, mạng nơron phương pháp chúng em nghiên cứu xây dựng hệ nhận dạng trình bày tiểu luận Nhận dạng tiếng tiếng Việt 3.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 cị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ị ngun â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) Hình 3.1: 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 Mai Cường Thọ Trang Tiểu luận “Trí tuệ nhân tạo nâng cao” đậm có mật độ lượng lớn hơn) 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 khơng có 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 Hình 3.2: Minh hoạ khác phổ nguyên âm Miền đậm miền có mật độ lượng cao (vùng có formant) Xét mặt ngữ âm-âm vị học âm tiết tiếng Việt có lược đồ sau: Thanh điệu Âm đầ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 tồ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 Mai Cường Thọ Tiểu luận “Trí tuệ nhân tạo nâng cao” Trang 10 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) 3.2 Những thuận lợi khó khăn nhận dạng tiếng nói tiếng Việt 3.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ó số thuận lợi sau: - Tiếng Việt ngôn ngữ đơn âm, số lượng âm tiết không lớn Điều giúp hệ nhận dạng xác định ranh giới âm tiết dễ dàng nhiều Đối với hệ nhận dạng ngôn ngữ Ấn-Âu (tiếng Anh, tiếng Pháp ) xác định ranh giới âm tiết (endpoint detection) vấn đề khó ảnh hưởng lớn đến kết nhận dạng; - Tiếng Việt ngôn ngữ không biến hình từ Âm tiết tiếng Việt ổn định, có cấu trúc rõ ràng Đặc biệt khơng có âm tiết đọc giống mà viết khác Điều dễ dàng cho việc xây dựng mơ hình âm tiết nhận dạng; đồng thời việc chuyển từ phiên âm sang từ vựng (lexical decoding) đơn giản so với ngôn ngữ Ấn-Âu Việc chuyển từ phiên âm sang từ vựng vấn đề khó khăn nhận dạng ngơn ngữ Ấn-Âu 3.2.2- Khó khăn Ngồi thuận lợi trên, nhận dạng tiếng nói tiếng Việt gặp nhiều khó khăn sau: - Tiếng Việt ngơn ngữ có điệu (6 thanh) Thanh điệu âm vị siêu đoạn tính, đặ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; - Cách phát âm tiếng Việt thay đổi nhiều theo vị trí địa lý Giọng địa phương tiếng Việt đa dạng (mỗi miền có giọng đặc trưng); - Hệ thống ngữ pháp, ngữ nghĩa tiếng Việt phức tạp, khó để áp dụng vào hệ nhận dạng với mục đích tăng hiệu nhận dạng Hệ thống phiên âm chưa thống nhất; - Các nghiên cứu nhận dạng tiếng Việt chưa nhiều phổ biến Đặc biệt khó khăn lớn chưa có liệu chuẩn cho việc huấn luyện kiểm tra hệ thống nhận dạng tiếng Việt Mai Cường Thọ Tiểu luận “Trí tuệ nhân tạo nâng cao” Trang 14 Dải lọc có dạng hình tam giác đặt trục tần số cho tần số trung tâm lọc tuyến tính theo mức mel (melody), logarit theo mức tần số bình thường Hơn nữa, cạnh phải đặt cho trùng với tần số trung tâm lọc lân cận Chúng ta hình tượng sau: Hình 4.4 Minh hoạ lọc mel-scale tam giác (triangle mel-scale filters) Bây giả sử có dải lọc hình 4.4, fm tần số trung tâm lọc thứ m; Fs tần số lấy mẫu (sampling rate) e m lượng đầu lọc thứ m Lúc em tính theo biểu thức sau Trong m=1 M (M số lọc, M