Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 89 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
89
Dung lượng
1,49 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ──────── * ─────── NGUYỄN DUY PHƯƠNG M Ô H ÌNH MARKOV ẨN VÀ ỨNG DỤNG TRONG NHẬN DẠNG TIẾNG NÓI Ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. HỒ THUẦN Hà Nội - 2007 2 MỤC LỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 5 DANH SÁCH CÁC HÌNH VẼ 6 MỞ ĐẦU 7 CHƢƠNG 1. MÔ HÌNH HMM VÀ ỨNG DỤNG TRONG NHẬN DẠNG TIẾNG NÓI 13 1 Giới thiệu 13 2 Những khái niệm toán học liên quan tới HMM 14 2.1 Giới thiệu về nhận dạng thống kê 14 2.2 Định lý Bayes 17 3 Mô hình HMM 27 3.1 Tính chất Markov 27 3.2 Xích Markov 28 3.3 Quá trình Markov 31 3.4 Mô hình HMM 32 3.4.1 Các thành phần chính của HMM 33 3.4.2 Ví dụ về mô hình HMM 35 3.5 Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM 36 3.6 Ba vấn đề cơ bản của mô hình HMM và cách giải quyết 38 3.6.1 Giải quyết vấn đề tính toán. Thuật toán tính xuôi và tính ngƣợc 39 3.6.2 Giải quyết vấn đề ƣớc lƣợng tham số cho mô hình HMM. Thuật toán huấn luyện Baum-Welch 41 3.6.3 Giải quyết vấn đề decoding. Thuật toán Viterbi 42 4 Nhận dạng tiếng nói và nhận dạng âm vị dựa trên HMM 44 4.1 Mô hình Nhận dạng 44 4.2 Các thành phần cơ bản của hệ thống nhận dạng tiếng nói dựa trên HMM và mối liên hệ giữa chúng. 46 4.3 Ví dụ về nhận dạng từ đơn dựa trên HMM 49 3 5 Mô hình HMM cho âm vị đƣợc sử dụng trong luận văn 53 6 Kết luận chƣơng 1 55 CHƢƠNG 2. TIỀN XỬ LÝ TÍN HIỆU TIẾNG NÓI 56 1 Ý nghĩa 56 2 Một số thao tác tiền xử lý tín hiệu 57 2.1 Làm nổi tín hiệu (pre-emphais) 57 2.2 Lọc tiếng ồn 58 3 Trích rút đặc trƣng 60 3.1 Giới thiệu 60 3.2 Một số phƣơng pháp trích rút đặc trƣng 61 3.2.1 Phƣơng pháp Mã hoá dự báo tuyến tính (LPC) 61 3.2.2 Phƣơng pháp Mã hoá cepstral tần số Mel (MFCC) 63 3.2.3 Phƣơng pháp Mã hoá cepstral tần số Mel dựa trên LPC (MFCC) 68 3.2.4 Các hệ số delta (D) và hệ số gia tốc (A) 69 3.3 So sánh các phƣơng pháp trích đặc trƣng 70 4 Kết luận chƣơng 2 71 CHƢƠNG 3. THUẬT TOÁN HUẤN LUYỆN NHÚNG – XÂY DỰNG MÔ HÌNH HMM TỰ ĐỘNG CHO ÂM VỊ 72 1 Tách và nhận dạng âm vị tự động dựa trên HMM 72 1.1 Thuật toán huấn luyện đối với những đơn vị độc lập - Huấn luyện trên dữ liệu gán nhãn 72 1.2 Thuật toán huấn luyện nhúng - huấn luyện trên dữ liệu âm thanh không gán nhãn âm vị 73 2 Các công thức ƣớc lƣợng tham số của mô hình HMM 76 2.1 Ƣớc lƣợng tham số khi huấn luyện các mô hình HMM độc lập 76 2.2 Ƣớc lƣợng tham số trong thuật toán huấn luyện nhúng 78 3 Các vấn đề về tham số HMM khi sử dụng thuật toán huấn luyện nhúng 81 3.1 Khởi tạo tham số 81 3.2 Ngƣỡng 81 3.3 Số lần lặp trong mỗi bƣớc luyện của thuật toán 81 4 3.4 Dữ liệu huấn luyện 82 4 Kết luận chƣơng 3 82 CHƢƠNG 4. CÀI ĐẶT THUẬT TOÁN – TỪ ĐIỂN TIẾNG NÓI 83 1 Giới thiệu 83 2 Một số giao diện chƣơng trình 84 KẾT LUẬN 87 TÀI LIỆU THAM KHẢO 89 5 CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT Thuật ngữ Từ viết tắt Ý nghĩa Artificial Neural Network ANN Mạng nơron nhân tạo Fast Fourier Transform FFT Biến đổi Fourier nhanh Dicrette Cosine Transform DCT Biến đổi cosin rời rạc. Hidden Markov Model HMM Mô hình Markov ẩn Linear predictive code LPC Mã hoá dự báo tuyến tính Mel-scale Frequency Cepstral Coefficient MFCC Mã hoá cepstral tấn số Mel Multi Layer Perceptron MLP Mạng perceptron truyền thẳng nhiều lớp Speech Recognition SR,ASR Nhận dạng tiếng nói Bias Ngƣỡng kích hoạt Pattern Recognition Nhận dạng mẫu Likelihood Mức độ giống, độ hợp lý Similarity Mức độ tƣơng tự Feature Đặc trƣng Spectral, spectrum Phổ tín hiệu 6 DANH SÁCH CÁC HÌNH VẼ HÌNH 1 – Mô hình HMM 5 trạng thái 34 HÌNH 2 – Sơ đồ huấn luyện mô hình HMM 44 HÌNH 3 - Sơ đồ nhận dạng từ mô hình HMM đã đƣợc huấn luyện 44 HÌNH 4 – Mô hình nhận dạng theo 3 cấp 46 HÌNH 5 - Vấn đề nhận dạng từ tách rời 50 HÌNH 6 - Tách riêng một phần của mô hình Markov 51 HÌNH 7 - Dùng HMM cho nhận dạng từ tách rời 53 HÌNH 8 – Sóng âm của chữ “hai” trƣớc khi (hình trái) và sau khi (hình phải) đƣợc làm phẳng 58 HÌNH 9 - Sơ đồ khối của quá trình trích chọn đặc trƣng MFCC 64 HÌNH 10 - Các bộ lọc mel-scale tam giác (triangle mel-scale filters) 66 HÌNH 11 – Sơ đồ của bộ lọc MFCC dựa trên biến đổi dự báo tuyến tính và các biến đổi Fourier 69 HÌNH 12 – Lƣu đồ huấn luyện từ đơn của công cụ HRest (HTK) 72 HÌNH 13 – Dãy sóng âm “MO6T MO6T HAI HAI BA MO6T” 74 HÌNH 14 – Mô hình huấn luyện nhúng 75 7 MỞ ĐẦU Ngay khi máy tính ra đời con ngƣời đã mơ ƣớc máy tính có thể nói chuyện với mình. Yêu cầu đơn giản nhất là máy có thể xác định đƣợc từ ngữ mà chúng ta nói với máy. Đó là mục tiêu của ngành nhận dạng tiếng nói. Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa ngƣời và máy. Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con ngƣời. Hiện nay trên thế giới, lĩnh vực nhận dạng tiếng nói đã đạt đƣợc nhiều tiến bộ vƣợt bậc. Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói (Speech recognition) trên cơ sở lý thuyết các hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm thƣơng mại nhƣ ViaVoice, Dragon , các hệ thống bảo mật thông qua nhận dạng tiếng nói, các hệ quay số điện thoại bằng giọng nói Triển khai những công trình nghiên cứu và đƣa vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa đặc biệt trong giai đoạn công nghiệp hoá hiện đại hoá hiện nay của nƣớc nhà. Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã đƣợc học trƣớc đó và lƣu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đổi thì công việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã đƣợc học và lƣu trữ trong bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn biến đổi theo thời gian và có sự khác biệt lớn giữa tiếng nói của những ngƣời nói khác nhau, tốc độ nói, ngữ cảnh và môi trƣờng âm học khác nhau. Xác định những thông tin biến thiên nào của tiếng nói là có ích và những thông tin nào là không có ích đối với nhận dạng tiếng nói là rất quan trọng. Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất 8 thống kê mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói những biến thiên quan trọng cần thiết trong nhận dạng tiếng nói. Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản [1]: Tín hiệu tiếng nói đƣợc biểu diễn chính xác bởi các biên độ phổ trong một khung thời gian ngắn (short-term amplitude spectrum). Nhờ vậy ta có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói. Nội dung của tiếng nói đƣợc biểu diễn dƣới dạng chữ viết, là một dãy các ký hiệu ngữ âm. Do đó ý nghĩa của một phát âm đƣợc bảo toàn khi chúng ta phiên âm phát âm thành dãy các ký hiệu ngữ âm. Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa (semantics) và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học là không rõ ràng. Lĩnh vực nghiên cứu của nhận dạng tiếng nói là khá rộng liên quan đến nhiều ngành khác nhau, nhƣ xử lý tín hiệu số (digital signal proccessing), vật lý hay âm học (acoustic), nhận dạng mẫu, lý thuyết thông tin và khoa học máy tính (information and computer science theory), ngôn ngữ học (linguistics), sinh lý học (physiology), tâm lý học ứng dụng (applied psychology). Các hệ thống nhận dạng tiếng nói có thể đƣợc phân chia thành hai loại khác nhau: hệ thống nhận dạng từ rời rạc và hệ thống nhận dạng từ liên tục. Trong hệ thống nhận dạng tiếng nói liên tục, ngƣời ta lại phân biệt hệ thống nhận dạng có kích thƣớc từ điển nhỏ và hệ thống nhận dạng với kích thƣớc từ điển trung bình hoặc lớn. 9 Ý tƣởng về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế kỷ 20 và đến nay đã đạt đƣợc nhiều kết quả đáng kể. Có 3 hƣớng tiếp cận chính cho nhận dạng tiếng nói [8]: Tiếp cận Âm học: Hƣớng tiếp cận này dựa vào các đặc điểm âm học đƣợc rút ra từ phổ âm thanh. Tuy nhiên kết quả của hƣớng tiếp cận này còn thấp vì trong thực tế, các đặc trƣng âm học có sự biến động rất lớn. Hơn nữa phƣơng pháp này đòi hỏi tri thức rất đầy đủ về âm học (Vốn tri thức âm học hiện nay chƣa thể đáp ứng). Tiếp cận Nhận dạng mẫu thống kê: Sử dụng các phƣơng pháp máy học dựa trên thống kê để học và rút ra mẫu tham khảo từ lƣợng dữ liệu lớn. Hƣớng này đang đƣợc sử dụng nhiều, chủ yếu là dựa vào Mô hình Markov ẩn (HMM). Tiếp cận Trí tuệ nhân tạo: là hƣớng kết hợp của cả hai hƣớng trên. Phƣơng pháp này kết hợp đƣợc cả tri thức của chuyên gia và phƣơng pháp mẫu thống kê. Đây sẽ là hƣớng tiếp cận tƣơng lai của nhận dạng tiếng nói. Việc nhận dạng tiếng nói gặp một số khó khăn sau: Trong môi trƣờng sinh hoạt hàng ngày, chất lƣợng tiếng nói biến động rất lớn do chịu ảnh hƣởng của các yếu tố ngoại cảnh, tâm và sinh lý ngƣời nói: một câu của cùng một ngƣời nói khi thu vào máy sẽ khác nhau nếu nói ở hai tâm trạng khác nhau (lúc vui nói khác, lúc giận nói khác,…), sức khoẻ khác nhau (lúc khoẻ nói khác, lúc bệnh nói khác), tốc độ nói khác nhau (nói chậm thì rõ hơn nói nhanh), môi trƣờng xung quanh khác nhau (môi trƣờng có tiêng ồn thì âm thu vào sẽ bị nhiễu), v.v… Và còn nhiều yếu tố khác nữa tác động lên chất 10 lƣợng của lời nói nhƣ thiết bị thu không tốt, tín hiệu bị nhiễu điện,… Do đó, việc nhận dạng trở nên rất khó khăn. Trong nhận dạng tiếng nói theo hƣớng nhận dạng từng âm vị, một khó khăn chúng ta gặp phải là: các âm vị liền nhau trong chuỗi tiếng nói không có vách ngăn rõ ràng (2 âm vị sát nhau có một phần giao nhau, khó xác định đƣợc phần giao nhau thuộc âm vị trƣớc hay âm vị sau). Ngay cả đối với con ngƣời, tách âm vị từ một âm tiết (xác định vị trí bắt đầu và vị trí kết thúc của âm vị đó trên sóng âm của âm tiết) cũng không phải là công việc đơn giản. Hiện nay, hầu hết các hƣớng tiếp cận để nhận dạng âm vị là nhận dạng theo học mẫu thống kê. Thông thƣờng để học mẫu ngƣời ta cung cấp cho chƣơng trình học một nguồn dữ liệu có nhiều mẫu đã đƣợc phân loại thành nhiều lớp và có gán nhãn (nhãn cho biết mỗi mẫu thuộc lớp nào). Nguồn dữ liệu này phải đƣợc phân lớp và gán nhãn chính xác hoàn toàn để máy học. Tuy nhiên do không thể tách âm vị một cách chính xác, nguồn dữ liệu âm vị đƣa vào khó đạt đƣợc mức độ chính xác, kết quả là việc huấn luyện giảm hiệu suất, làm cho hiệu suất của chƣơng trình nhận dạng cũng giảm theo. Chúng tôi xin nêu ra một hƣớng giải quyết để tránh việc gán nhãn âm vị không chính xác: thay vì đánh nhãn âm vị, chúng ta sẽ đánh nhãn âm tiết, đồng thời cho biết các âm vị cấu thành âm tiết đó. Nhƣ vậy, dữ liệu mẫu cung cấp cho quá trình học là các âm tiết. Thuật toán học đƣợc sử dụng để tách âm vị là thuật toán huấn luyện nhúng (Embedded training). Kết quả thu đƣợc là các mô hình HMM cho từng âm vị. Do mỗi dãy âm vị đƣợc chọn tƣơng đƣơng với một âm tiết, công việc đánh nhãn âm vị trên sóng âm thực chất là không có (chỉ đánh nhãn trên âm tiết, vốn đƣợc thực hiện dễ dàng). Vì vậy, có thể xem dữ liệu đƣa vào trong quá trình huấn luyện là dữ liệu không [...]... động Có thể nhận dạng đƣợc tiếng nói liên tục với tốc độ trung bình Luận văn đƣợc tổ chức nhƣ sau: Chƣơng 1 : Mô hình HMM và ứng dụng trong nhận dạng Giới thiệu mô hình HMM và sự lựa chọn mô hình HMM để nhận dạng tiếng nói Chƣơng 2 : Tiền xử lý tín hiệu tiếng nói Chƣơng này sẽ giới thiệu về tiền xử lý tiếng nói và một số phƣơng pháp trích đặc trƣng đƣợc sử dụng trong nhận dạng tiếng nói Chƣơng... niệm chung về nhận dạng thống kê, định lý Bayes Mục 3 : Mô hình HMM Các định nghĩa, các tập tham số của mô hình HMM Mục 4 : Giới thiệu về Nhận dạng tiếng nói và nhận dạng âm vị dựa trên HMM Mục 5 : Mô hình HMM cho âm vị đƣợc sử dụng trong luận văn 2 Những khái niệm toán học liên quan tới HMM Mô hình Markov ẩn HMM là một mô hình thống kê dựa vào mô hình Markov Vì vậy để hiểu đƣợc mô hình HMM, trƣớc... 1,55% 3 Mô hình HMM Mô hình HMM là mô hình thống kê thƣờng xuyên đƣợc sử dụng để mô hình hóa tiếng nói, nó đƣợc sử dụng cho công việc nhận dạng Cấu trúc bên trong của HMM không phải dựa vào các kiến thức về tiếng nói nhƣng nó lại đƣợc sử dụng trong nhận dạng để tính toán các đặc trƣng số của tiếng nói 3.1 Tính chất Markov Trong lý thuyết xác suất, một quá trình mang tính ngẫu nhiên có tính chất Markov. .. lỏng trong một bình kín Về sau mô hình này đƣợc phát triển và sử dụng rộng rãi trong nhiều lĩnh vực khác nhau nhƣ cơ học, sinh học, y học, kinh tế … và đƣợc gọi là Quá trình Markov [11] Mô hình Markov ẩn (tiếng Anh là Hidden Markov Model - HMM) là mô hình thống kê trong đó hệ thống đƣợc mô hình hóa đƣợc cho là một quá trình Markov với các tham số không biết trƣớc và nhiệm vụ là xác định các tham số ẩn. .. nào Xác xuất mô hình HMM khởi tạo tại trạng thái i kí hiệu là πi Tập xác suất π={πi}, gọi là tập xác suất khởi tạo mô hình HMM Tuy nhiên trong bài toán nhận dạng tiếng nói hầu hết các mô hình HMM đều khởi tạo tại trạng thái đầu tiên nên chúng ta không cần tới tập xác suất này Nhƣ vậy ta trong nhận dạng tiếng nói một mô hình HHM λ sẽ đƣợc đặc trƣng bởi tập trạng thái và 2 tập tham số A và B nói trên: λ=(A,... trình xây dựng mô hình HMM tự động cho các âm vị từ kho dữ liệu không gán nhãn âm vị Chƣơng 4 : Cài đặt thuật toán - Giới thiệu phần mềm từ điển tiếng nói Kết luận 13 CHƢƠNG 1 MÔ HÌNH HMM VÀ ỨNG DỤNG TRONG NHẬN DẠNG TIẾNG NÓI 1 Giới thiệu Đầu thế kỷ XX, Andrei Andreyevich Markov (14/6/1856 – 20/7/1922) – nhà Toán học và Vật lý nổi tiếng ngƣời Nga đã đƣa ra một mô hình toán học để mô tả chuyển động... nhìn vào dãy của các biểu hiện đƣợc sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái Trong mục này các nội dung cơ bản của mô hình HMM sẽ đƣợc giới thiệu bao gồm: các định nghĩa, các tập hợp tham số, các vấn đề thiết yếu, các thuật toán chính của mô hình HMM áp dụng vào nhận dạng tiếng nói Tiếp đó 14 các thành phần chính của hệ thống nhận dạng, các công đoạn chính của nhận dạng dựa vào mô hình. .. tham số quan sát đƣợc, dựa trên sự thừa nhận này Các tham số của mô hình đƣợc rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng thừa nhận mẫu Trong một mô hình Markov điển hình, trạng thái đƣợc quan sát trực tiếp bởi ngƣời quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất... tiếp cận nhận dạng âm vị tự động hứa hẹn tạo ra những mô hình nhận dạng tiếng nói với độ chính xác cao Đó cũng chính là hƣớng nghiên cứu mà tôi chọn lựa cho luận văn thạc sĩ của mình Trong bản luận văn này, chúng tôi muốn chứng minh hai điều: Nếu có đầy đủ dữ liệu tiếng nói (không gán nhãn), có thể nhận dạng đƣợc số lƣợng lớn các âm tiết với độ chính xác tƣơng đối cao theo hƣớng tiếp cận nhận dạng âm... chỉ vào trạng thái ngay trƣớc đó (nên không cần lƣu trữ nhiều) 3.4 Mô hình HMM Một tiến trình đƣợc gọi là quá trình Markov (Markov process) nếu xác suất của một sự kiện tại một thời điểm bị ràng buộc bởi các sự kiện trong quá khứ xác định Nhƣ vậy, mô hình Markov là một mô hình thống kê thuần túy Trạng thái giúp chúng ta hiểu đƣợc sự biến đổi của sự kiện theo thời gian Biến cố chính trong quá trình Markov . SÁCH CÁC HÌNH VẼ HÌNH 1 – Mô hình HMM 5 trạng thái 34 HÌNH 2 – Sơ đồ huấn luyện mô hình HMM 44 HÌNH 3 - Sơ đồ nhận dạng từ mô hình HMM đã đƣợc huấn luyện 44 HÌNH 4 – Mô hình nhận dạng theo. thể nhận dạng đƣợc tiếng nói liên tục với tốc độ trung bình. Luận văn đƣợc tổ chức nhƣ sau: Chƣơng 1 : Mô hình HMM và ứng dụng trong nhận dạng Giới thiệu mô hình HMM và sự lựa chọn mô hình. nhận dạng tiếng nói. Chƣơng 2 : Tiền xử lý tín hiệu tiếng nói Chƣơng này sẽ giới thiệu về tiền xử lý tiếng nói và một số phƣơng pháp trích đặc trƣng đƣợc sử dụng trong nhận dạng tiếng nói.