Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
1,65 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC CÔNG NGHỆ HỒ VĂN HƯƠNG NHẬN DẠNG TIẾNG NÓI TRÊN CƠ SỞ MẠNG NƠRON NHÂN TẠO LUẬN VĂN THẠC SỸ Người hướng dẫn: PGS.TS Nguyễn Quang Hoan Hà nội - 2005 TIEU LUAN MOI download : skknchat@gmail.com MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ TIẾNG NĨI VÀ BÀI TỐN NHẬN DẠNG 1.1 Lịch sử phát triển nhận dạng tiếng nói 1.2 Tổng quan tốn nhận dạng tiếng nói 1.3 Một số hệ thống nhận dạng tiếng nói 1.4 Tổng quan tiếng nói 1.4.1 Âm tiếng nói 1.4.2 Cao độ âm (pitch) 1.4.3 Cường độ (volume) mức cường độ âm 10 1.4.4 Độ to âm 10 1.4.5 Âm sắc (phonetics) 11 1.5 Mục tiêu đề tài 11 CHƯƠNG 13 TIẾNG VIỆT VÀ TRÍCH CHỌN ĐẶC TRƯNG 13 2.1 Khái quát tiếng Việt 13 Một số đặc điểm tiếng Việt 13 Cấu trúc âm tiết tiếng Việt 14 2.2 Đơn vị cho hệ thống nhận dạng tiếng Việt 15 2.2.1 Mơ hình từ âm tiết 15 2.2.2 Mơ hình âm vị 16 2.2.3 Mơ hình Âm đầu Vần 16 2.3 Đặc điểm âm tiết toán nhận dạng 17 Đặc điểm âm tiết tiếng Việt 17 2.3.2 Âm tiết với toán nhận dạng 17 2.4 Trích chọn tần số đặc trưng tiếng Việt 18 2.4.1 Cơ chế tạo thu nhận tiếng nói 18 2.4.2 Các hệ số Cepstrum thang Mel (MFCC) 23 2.4.3 Các hệ số Cepstrum dự đốn tuyến tính (LPCC) 28 2.5 Kết luận 32 CHƯƠNG TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO 33 Giới thiệu mạng nơron 33 3.1.1 Mô hình nơron sinh vật 35 3.2 Các mơ hình mạng nơron luật học 39 3.3 Các ứng dụng mạng nơron nhân tạo 43 3.4 Kết luận 47 CHƯƠNG 48 MẠNG LAN TRUYỀN NGƯỢC NHẬN DẠNG TIẾNG VIỆT 48 4.1 Phương pháp lan truyền ngược 48 4.2 Ứng dụng mạng lan truyền ngược cho nhận dạng tiếng Việt 51 Nhận dạng tiếng núi trờn sở mạng nơron nhõn tạo TIEU LUAN MOI download : skknchat@gmail.com 4.2.1 Mơ hình nhận dạng phân loại mẫu 51 4.2.3 Phân tích đánh giá tham số hệ thống nhận dạng 64 CHƯƠNG XÂY DỰNG HỆ THỐNG NHẬN DẠNG 66 5.1 Kiến trúc hệ thống 66 5.2 Giao diện chương trình cách sử dụng 72 5.3 Kết thực nghiệm 75 5.3.1 Môi trường phát triển chương trình 75 Kết luận định hướng nghiên cứu 77 Tài liệu tham khảo 77 Nhận dạng tiếng núi trờn sở mạng nơron nhõn tạo TIEU LUAN MOI download : skknchat@gmail.com MỞ ĐẦU Nhận dạng tiếng nói mong ước khoa học người Những người máy hiểu tiếng người nói thực thi nhiệm vụ Hiện nay, nhận dạng tiếng nói chưa thực đáp ứng đầy đủ yêu cầu thực tế, song hệ thống nhận dạng tiếng nói có bước phát triển đáng kể Trên giới, số hệ thống nhận dạng tiếng nói cỡ lớn có độ xác tương đối cao Các hệ thống chủ yếu phát triển cơng nghệ đại với máy tính lớn, vi mạch xử lý tiếng nói chuyên dụng sử dụng sở liệu tiếng nói hoàn chỉnh, phần lớn xử lý cho tiếng Anh Ở Việt Nam, việc tìm hiểu, nghiên cứu phát triển hệ thống nhận dạng tiếng nói cịn bước đầu có kết Do có đặc thù riêng tiếng Việt, nên việc chọn lựa phương pháp tiếp cận toán nhận dạng phù hợp với tiếng Việt vấn đề tương đối khó khăn Những năm gần đây, có nhiều đề tài nghiên cứu nhận dạng tiếng nói tiếng Việt Các hệ thống nhận dạng tiếng nói thành cơng chủ yếu dựa khuynh hướng nhận dạng mẫu Các kỹ thuật nhận dạng mẫu đơn giản lượng tử hoá véctơ, hiệu chỉnh thời gian động…, áp dụng thành cơng vào chương trình nhận dạng tiếng nói tiếng Việt phát âm rời rạc với số lượng từ vựng hạn chế Tuy nhiên, mục tiêu nhận dạng tiếng nói tự động máy phải tiến tới hệ thống nhận dạng tiếng nói liên tục, kích thước từ điển lớn, khơng phụ thuộc vào người nói Vì vậy, hệ thống nhận dạng tiếng nói thường xây dựng sở áp dụng kỹ thuật nhận dạng mẫu phức tạp hơn, mơ hình Markov ẩn mạng nơron nhân tạo cho số thành công định Xuất phát từ nhận thức trên, đề tài luận văn Thạc sỹ em tìm hiểu, đưa phương pháp xây dựng ứng dụng nhận dạng tiếng nói tiếng Việt Với khả mạng nơron nhân tạo ứng dụng, cho nhiều thành công đáng Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com khích lệ Vì vậy, em chọn mạng nơron làm sở cho việc nghiên cứu nhận dạng tiếng nói tiếng Việt Nội dung luận văn gồm chương sau: Chƣơng 1: Tìm hiểu lịch sử việc nghiên cứu nhận dạng tiếng nói, tổng quan tiếng nói nhận dạng tiếng nói Chƣơng 2: Trình bày số tính chất tiếng nói như: chế tạo tiếng nói, chế thu tiếng nói, đặc trưng tiếng nói Ngồi ra, chương đề cập đến kỹ thuật tính hệ số MFCC, phương pháp trích chọn đặc trưng tín hiệu tiếng nói phổ biến áp dụng hiệu hệ thống nhận dạng Chƣơng 3: Tìm hiểu tổng quan mạng nơron, khái niệm, cấu trúc, luật học Chương đề cập đến ứng dụng mạng nơron nhận dạng phân lớp Chƣơng 4: Nghiên cứu mạng nơron lan truyền ngược gồm: cấu trúc, phương pháp huấn luyện mạng Chương đề cập đến cấu trúc cụ thể mạng áp dụng cho tốn nhận dạng tiếng nói tiếng Việt đồng thời đánh giá tham số hệ thống nhận dạng Chƣơng 5: Xây dựng hệ thống nhận dạng, giao diện chương trình, kết thực nghiệm Cuối kết luận định hƣớng phát triển đề tài Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG TỔNG QUAN VỀ TIẾNG NÓI VÀ BÀI TOÁN NHẬN DẠNG 1.1 Lịch sử phát triển nhận dạng tiếng nói Nhận dạng tiếng nói tự động phát triển khoảng 40 năm Những nhân tố quan trọng giúp cho phát triển công nghệ nhận dạng kể đến phát triển hệ thống phân tích phổ âm (năm 1946) cho phép thể trực quan tín hiệu âm, lý thuyết tạo âm tiếng nói người (năm 1948), xuất phát triển mạnh mẽ hệ thống máy tính số thương mại giới (năm 1958) Các hệ thống nhận dạng có khả nhận dạng từ rời rạc phụ thuộc người nói Để phân tích nhận dạng chữ số từ đơn âm sử dụng đặc tính miền thời gian ngân hàng lọc tương tự Tương tự vậy, với phương pháp âm học, hệ thống nhận dạng âm vị phụ thuộc người nói khơng phụ thuộc người nói thiết kế cho kết khiêm tốn Trong thập kỷ 70, với phát triển thuật tốn phân tích tín hiệu mơ hình dự đốn tuyến tính, so sánh mẫu theo thời gian…cơng nghệ nhận dạng tiếng nói tiếp tục có bước phát triển mạnh mẽ Với phương pháp hệ thống nhận dạng với số lượng từ lớn thiết kế Trong năm 60 kỷ 20, nhiều phịng thí nghiệm nhiều hãng lớn đầu tư nghiên cứu phát triển hệ thống nhận dạng tiếng nói ngơn ngữ khác Đến đầu năm 80, khả kỹ thuật cho phép nhà nghiên cứu xây dựng hệ thống nhận dạng hàng trăm từ rời rạc Gần cơng nghệ nhận dạng có bước phát triển vơ nhanh chóng 1.2 Tổng quan tốn nhận dạng tiếng nói Nhận dạng tiếng nói làm cho máy hiểu, nhận biết ngữ nghĩa lời nói Đây q trình biến đổi tín hiệu âm thu qua micro, qua thiết bị Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com thu khác… thành chuổi từ, sau nhận dạng để sử dụng ứng dụng điều khiển thiết bị, nhập liệu soạn thảo văn lời… đưa đến trình xử lý ngơn ngữ mức cao Tiếng nói cơng cụ truyền đạt thơng tin quan trọng người Bình thường, khơng để ý q trình nhận dạng tiếng nói diễn nào? hiểu từ, câu cách đơn giản vậy? Trên thực tế, trình nhận dạng tiếng nói người q trình phức tạp Hiện nay, nhà nghiên cứu cố gắng tìm hiểu, phân tích mơ q trình nhận dạng tiếng nói người dạng chương trình máy tính Nhưng vấn đề rộng, có liên quan tới nhiều ngành nghiên cứu sinh học, hố học, vật lý Do vậy, việc mơ tiếng nói gặp nhiều khó khăn Chúng ta thấy cách trực quan tốn nhận dạng tiếng nói qua hình 1.1 Hình 1.1 Mơ hình nhận dạng tiếng nói Nhận dạng tiếng nói trình phức tạp bao gồm nhiều khâu biến đổi Tín hiệu mà người phát tín hiệu tuơng tự, qua q trình lấy mẫu, lượng tử hố mã hố để thu mẫu tín hiệu dạng số (tín hiệu mà máy tính hiểu xử lý được) Các mẫu tín hiệu trích chọn đặc trưng Những đặc trưng đầu vào cho trình nhận dạng Sau nhận dạng tín hiệu người dùng phát âm, hệ thống đưa kết nhận dạng Tuỳ thuộc vào mơ hình ứng dụng mà cho dạng đầu khác Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com Do tính chất tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phân tích đặc trưng tiếng nói việc khơng dễ Ở đây, nêu số yếu tố khó khăn cho tốn nhận dạng tiếng nói: Khi phát âm, người nói thường nói nhanh, chậm khác Các từ nói thường dài ngắn khác Một người nói từ, hai lần phát âm khác Kết phân tích khác Mỗi người có chất giọng riêng thể thông qua độ cao, độ to, cường độ âm âm sắc Những yếu tố nhiễu môi trường, nhiễu thiết bị thu…ảnh hưởng khơng nhỏ tới hiệu nhận dạng Có thể thấy nhận dạng tiếng nói lĩnh vực nghiên cứu có nhiều ứng dụng thực tế Các hệ thống nhận dạng góp phần lớn việc thúc đẩy phát triển nhiều ngành Tuy lĩnh vực mang ý nghĩa to lớn đó, việc phát triển hệ thống nhận dạng gặp khơng khó khăn, Việt Nam kết nghiên cứu nhận dạng tiếng Việt chưa nhiều, sở hạ tầng cho việc nghiên cứu 1.3 Một số hệ thống nhận dạng tiếng nói Nhận dạng tiếng nói vấn đề chia thành hai nhóm riêng biệt dựa mục đích sử dụng khác Một nhóm sử dụng với mục đích điều khiển thiết bị thơng qua giọng nói Một nhóm sử dụng nhằm xử lý từ tiếng nói sang văn Phân loại hệ thống nhận dạng tiếng nói giúp có nhìn trực quan tốn Các hệ thống nhận dạng phân loại hình vẽ 1.2 Có phương pháp phổ biến sử dụng nhận dạng tiếng nói [10]: Phương pháp âm học - ngữ âm học Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com Phương pháp nhận dạng mẫu Phương pháp sử dụng kết lĩnh vực trí tuệ nhân tạo Hình 1.2 Sơ đồ phân loại hệ thống nhận dạng tiếng nói 1.4 Tổng quan tiếng nói 1.4.1 Âm tiếng nói Âm thực chất nén dản cách tuần hoàn khơng khí, tạo sóng đàn hồi dọc Sóng khơng khí truyền đến tai, tác động vào màng nhĩ, làm cho màng nhĩ dao động với tần số (dao động cưỡng bức), có khả tạo cảm giác âm tai tần số sóng đạt tới độ lớn định Tai người cảm nhận âm khoảng tần số từ 20Hz đến 20000Hz Những sóng gọi sóng âm hay âm Tiếng nói âm người phát Khi phát âm, nguồn không khí từ phổi kích hoạt phát âm làm căng dây quản khơng khí qua làm cho dây quản dao động tạo nên âm tiếng nói Tiếng nói người có lượng tập trung nằm khoảng tần số từ 1000Hz đến 4000Hz Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com 1.4.2 Cao độ âm (pitch) Cao độ âm độ cao hay thấp âm định rung dây Dây rung với tần số nhanh cho âm cao, dây rung chậm cho âm thấp Đơn vị đo cao độ dùng Hz, đo số chu kỳ dao động thực giây, gọi tần số Những âm có tần số khác gây cho ta cảm giác âm khác Độ cao âm mang đặc tính sinh lý âm Nó dựa vào đặc tính âm tần số Do cấu tạo dây khác nhau, mà tần số tạo phụ thuộc vào giới tính lứa tuổi người phát âm (phụ nữ trẻ em thường có tần số cao nam giới người lớn tuổi) 1.4.3 Cƣờng độ (volume) mức cƣờng độ âm Cũng sóng học khác, sóng âm mang lượng tỷ lệ với bình phương biên độ sóng Năng lượng truyền từ nguồn âm đến tai ta Cường độ âm (I): lượng lượng sóng âm truyền đơn vị thời gian qua đơn vị diện tích đặt vng góc với phương truyền âm, đơn vị đo (W/m2) Đối với tai người, giá trị tuyệt đối cường độ âm I không quan trọng giá trị tỷ số I so với giá trị Io chọn làm chuẩn Người ta định nghĩa mức cường độ âm L logarith thập phân tỉ số I/Io: L(B) = lg(I/Io) L(dB) = 10lg(I/Io) với 1B = 10dB (1.1) Thực tế, người ta thường dùng đơn vị dB (deciben) B (ben) Khi L = 1dB, I/Io = 101/10 Đây mức cường độ nhỏ mà tai ta phân biệt 1.4.4 Độ to âm Muốn gây cảm giác âm, cường độ âm phải lớn giá trị cực tiểu gọi ngưỡng nghe Do đặc điễm sinh lý tai người, ngưỡng nghe thay đổi tùy Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com 62 Gradient phương pháp hiệu để có giá trị trọng mà cực tiểu hố lỗi, bề mặt lỗi thường có tính chất làm cho thủ tục hội tụ chậm Nếu cực tiểu nằm bề mặt rộng tạo giá trị Gradient nhỏ Khi giá trị lớn làm cho độ hội tụ nhanh Tuy nhiên, toán cực tiểu nằm bề mặt dốc hẹp, chọn giá trị nhỏ để tránh tượng vượt qúa lời giải Thực tế, chọn thử nghiệm tốn Nhưng có giá trị số học nhỏ đảm bảo hạ Gradient thực sự, nhiên thời gian cập nhật lại kéo dài Giá việc đảm bảo tổng số bước học tăng lên để có lời giải thỏa đáng Mặc dù, việc lựa chọn số học phụ thuộc vào lớp toán học kiến trúc mạng, giá trị khoảng [10-3 , 10] sử dụng thành công nhiều thử nghiệm thuật học lan truyền ngược [9] Đối với số học lớn, tốc độ học tăng việc học khơng xác, với xu hướng vượt q, khơng ổn định cực tiểu Một vấn đề khác giá trị số học tốt lúc bắt đầu huấn luyện khơng cịn tốt giai đoạn sau Do đó, phương pháp hiệu sử dụng số học thích nghi Phương pháp trực giác để lựa chọn xem cập nhật trọng cụ thể có giảm hàm chi phí khơng Nếu khơng, q trình vượt nên giảm Mặt khác, vài bước dãy giảm hàm chi phí, dè dặt nên tăng Đối với toán nhận dạng âm tiếng nói tiếng Việt, qua thử nghiệm giá trị số học chọn cố định 0.05 trình huấn luyện mạng hội tụ tốt với tham số khác Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com 63 CHƢƠNG XÂY DỰNG HỆ THỐNG NHẬN DẠNG 5.1 Kiến trúc hệ thống Việc xây dựng hệ thống nhận dạng tiếng nói cơng việc khó khăn Bởi vì, phụ thuộc vào kỹ thuật nhận dạng công nghệ áp dụng Mỗi kỹ thuật nhận dạng cho phép xây dựng kiến trúc hệ thống Như với kỹ thuật khác cho xây dựng kiến trúc hệ thống khác 5.1.1 Mô hình Hình 5.1 trình bày kiến trúc tổng thể hệ thống nhận dạng Bao gồm module sau: Module thu nhận tín hiệu, module tiền xử lý, module sở liệu, module trích chọn đặc trưng, module sở liệu đặc trưng, module nhận dạng Hình 5.1 Kiến trúc tổng thể hệ thống 5.1.2 Chức Module Mỗi Module đóng vai trị quan trọng q trình nhận dạng tiếng nói Hiệu hệ thống nhận dạng phụ thuộc vào xác Module Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com 64 thành phần Để sâu xây dựng chi tiết Module trước hết ta xem xét chức Module Module thu nhận tín hiệu: có chức thu tín hiệu tiếng nói từ người dùng, thu nhận trực tiếp từ người nói dạng file *.wav Module tiền xử lý: có chức nhận tín hiệu tiếng nói từ Module thu nhận tín hiệu, tách lấy tín hiệu tiếng nói khỏi nhiễu Nghĩa tách lấy đoạn tín hiệu chứa từ nói Module trích chọn đặc trƣng: có chức phân tích đoạn tín hiệu tiếng nói từ (là đầu Module tiền xử lý) để tìm đặc trưng từ Các đặc trưng đầu vào cho Module nhận dạng Module nhận dạng: có chức nhận dạng mẫu đặc trưng trích chọn lấy từ đầu module trích chọn đặc trưng 5.1.3 Xây dựng Module Module thu nhận tín hiệu - Phương pháp: Dùng hàm cấp thấp Windows truy xuất trực tiếp vào sound card để lấy mẫu tín hiệu - Một số đoạn mã quan trọng chương trình: + Kiễm tra xem có Sound Card khơng? có hoạt động tốt khơng? // Kiểm tra xem có Sound Card khơng ? MMRESULT result; sizeBuffer = 0; result = waveInGetNumDevs(); if (result==0) { ::AfxMessageBox("No sound card device !"); return result; } // Kiểm tra xem card sound có hoạt động khơng ? result=waveInGetDevCaps (0, & waveInDevCaps, sizeof(WAVEINCAPS)); if ( result!=MMSYSERR_NOERROR){ ::AfxMessageBox("Cannot determine sound card capabilities !"); } Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com 65 + Thuật toán mở thiết bị thu tín hiệu // Mở thiết bị thu result = waveInOpen( &waveIn,0, &waveFormat,(DWORD)waveInEvent, NULL, CALLBACK_EVENT); if ( result!= MMSYSERR_NOERROR){ ::AfxMessageBox(_T("Cannot Open Sound Input Device!")); return result; } + Thuật toán tạo tiến trình bắt đầu thu tín hiệu TerminateThread = FALSE; waveInThread = AfxBeginThread(WaveInThreadProc,this,THREAD_PRIORITY_NOR MAL,0,CREATE_SUSPENDED,NULL); waveInThread->m_bAutoDelete = TRUE; waveInThread->ResumeThread(); // Bắt dầu tiến trình result = waveInStart(waveIn ); if (result!= MMSYSERR_NOERROR){ ::AfxMessageBox(_T("Cannot Start Wave In !")); return result; } + Thuật tốn ngừng q trình thu tín hiệu TerminateThread = TRUE; MMRESULT result; // Chứa mã lỗi if (waveInEvent ) SetEvent(waveInEvent); Sleep(50); // Chờ ngưỡng xác định if (waveIn) waveInStop(waveIn); // ngừng qúa trình thu if (waveIn) waveInReset(waveIn); // đặt lại đệm return; if (waveIn) waveInClose(waveIn); // đóng thu Module tiền xử lý - Phương pháp: Tín hiệu tiếng nói đưa qua lọc hiệu chỉnh Nhận dạng tiếng nói sở mạng nơron nhân tạo TIEU LUAN MOI download : skknchat@gmail.com 66 phổ đồng Ta thường dùng lọc cố định bậc nhất: H(z) = – az -1 Sau dùng thuật tốn tính lượng ngắn hạn kết hợp với thuật toán tỷ lệ vượt q điểm khơng để tìm đoạn tín hiệu mang thơng tin tiếng nói - Một số đoạn mã quan trọng: Bộ lọc bậc DataMid = new int[NewLength]; DataMid[0] = DataRerult[0]; for(i=1;i