Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 111 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
111
Dung lượng
1,45 MB
Nội dung
LỜI CAM ĐOAN Tôi – Nguyễn Thị Hiền, học viên lớp Cao học CNTT 2010 – 2012 Trƣờng Đại học Bách khoa Hà Nội – cam kết Luận văn tốt nghiệp công trình nghiên cứu thân dƣới hƣớng dẫn TS Nguyễn Hồng Quang - Viện Công Nghệ Thông Tin Truyền Thông – Đại học Bách Khoa Hà Nội Các kết Luận văn tốt nghiệp trung thực, không chép toàn văn công trình khác Hà Nội, ngày 12 tháng năm 2012 Học viên: Nguyễn Thị Hiền Lớp: 10BCNTT-HV LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo, TS Nguyễn Hồng Quang – Bộ môn kỹ thuật máy tính – Viện Công Nghệ Thông Tin Truyền Thông – Đại học Bách Khoa Hà Nội, Thầy khuyến khích tận tình hƣớng dẫn suốt trình thực luận văn Nhờ quan tâm bảo ý kiến đóng góp quý báu Thầy, hoàn thành luận văn Tôi xin chân thành cảm ơn tập thể thầy, cô giáo trƣờng Đại học Bách Khoa Hà Nội nói chung Viện Công Nghệ Thông Tin Truyền Thông nói riêng tận tình giảng dạy truyền đạt cho kiến thức, kinh nghiệm quý báu suốt năm học vừa qua Tôi xin cảm ơn giảng viên đồng nghiệp trƣờng Đại học Hùng Vƣơng tạo điều kiện thời gian để học tập hoàn thành luận văn Cuối xin chân thành cảm ơn gia đình, bạn bè ủng hộ động viên lúc khó khăn MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT DANH MỤC HÌNH 10 MỞ ĐẦU 12 Lý chọn đề tài 12 Mục đích, phạm vi nghiên cứu 13 Đối tƣợng nghiên cứu 13 Phƣơng pháp nghiên cứu 13 Nhiệm vụ nghiên cứu 13 CHƢƠNG CƠ SỞ LÝ THUYẾT 14 1.1 Nhận dạng tiếng nói 14 1.1.1 Nhận dạng tiếng nói 14 1.1.2 Mô hình tổng quan nhận dạng tiếng nói 15 1.1.3 Các ứng dụng nhận dạng tiếng nói 17 1.2 Một số đặc điểm tiếng Việt nói 18 1.3 Những thuận lợi khó khăn nhận dạng tiếng Việt nói 21 1.3.1 Thuận lợi 21 1.3.2 Khó khăn 22 1.4 Tìm hiểu kết nhận dạng tiếng nói có với tiếng Việt 22 1.4.1 Tìm hiểu kết đề tài “Nhận dạng tự động tiếng Việt nói sử dụng hệ thống HTK ” PGS TS Trịnh Văn Loan, TS Nguyễn Hồng Quang Lê Thế Đạt…………………………………………………………………………… 22 1.4.2 Tìm hiểu kết đề tài “ Nhận dạng tự động tiếng Việt nói phƣơng pháp FLaVoR ” tác giả Vũ Hải Quân 24 1.4.3 Tìm hiểu kết đề tài “Tăng cƣờng độ xác hệ thống mạng neuron nhận dạng tiếng Việt” tác giả Đặng Ngọc Đức, Lƣơng Chi Mai 27 1.5 Hệ thống nhận dạng tiếng nói 32 1.6 Mô hình âm học……………………………………………………………….33 1.6.1 Giới thiệu chung mô hình Markov ẩn 34 1.6.2 Mô hình Markov rời rạc mặt thời gian 34 1.7 Mô hình ngôn ngữ 37 1.7.1 Lý thuyết chung mô hình ngôn ngữ 37 1.7.2 Tầm quan trọng mô hình ngôn ngữ 38 CHƢƠNG CÁC CÔNG CỤ SỬ DỤNG TRONG ĐỀ TÀI 39 2.1 Bộ công cụ tạo mô hình ngôn ngữ thống kê CMU SLM 39 2.2 Các chức công cụ CMU SLM 39 2.3 Các công cụ CMU SLM 41 2.3.1 Công cụ đếm số lần xuất từ [text2wfreq] 41 2.3.2 Công cụ tạo từ vựng [wfreq2vocab] 41 2.3.3 Công cụ đếm tần suất n-gram [text2wngram] 42 2.3.4 Công cụ đếm tần suất đánh số n-gram [text2idngram] 42 2.3.5 Công cụ chuyển đổi mô hình ngôn ngữ thống kê [ngram2mgram] 43 2.3.6 Công cụ đánh số [wngram2idngram] ……………………………… 44 2.3.7 Công cụ ghép nhiều file n-gram [mergeidngram] 44 2.3.8 Công cụ tạo mô hình ngôn ngữ thống kê [idngram2lm] 45 2.3.9 Công cụ chuyển đổi định dạng file mô hình ngôn ngữ [binlm2arpa] 46 2.3.10 Công cụ đánh giá mô hình ngôn ngữ [Evallm] 47 2.3.11 Định dạng file chuẩn ARPA 47 2.4 Sơ đồ xây dựng mô hình ngôn ngữ công cụ CMU SLM 50 2.5 Công cụ huấn luyện mô hình âm học SphinxTrain 51 2.6 Công cụ nhận dạng tiếng nói PocketSphinx 53 2.7 Công cụ đánh giá kết nhận dạng Sclite 54 CHƢƠNG TRIỂN KHAI HỆ THỐNG THỬ NGHIỆM NHẬN DẠNG TIẾNG VIỆT NÓI……………………………………………………………… 56 3.1 Sơ đồ tổng quan trình xây dựng hệ thống nhận dạng tiếng nói 56 3.2 Chuẩn bị liệu 57 3.2.1 Thu âm 58 3.2.2 Cơ sở liệu BKSPEC 60 3.2.3 Một số quy ƣớc 62 3.2.4 Xây dựng tập danh sách âm vị tạo từ điển phát âm cho hệ thống nhận dạng 63 3.2.5 Tạo file phiên âm 67 3.2.6 Tạo file danh sách 68 3.2.7 Tạo file filler 68 3.3 Huấn luyện mô hình âm học cho Tiếng Việt sử dụng SphinxTrain 69 3.3.1 Sơ đồ khối cho trình huấn luyện mô hình âm học sử dụng SphinxTrain 69 3.3.2 Bƣớc 1: Tạo thƣ mục làm việc 70 3.3.3 Bƣớc 2: Tạo cấu trúc thƣ mục file cấu hình cần thiết 70 3.3.4 Bƣớc 3: Sửa file cấu hình 71 3.3.5 Bƣớc 4: Cập nhật liệu huấn luyện 71 3.3.6 Bƣớc 5: Tính tham số MFCC file WAV 72 3.3.7 Bƣớc 6: Huấn luyện mô hình HMM cho âm vị 72 3.4 Xây dựng mô hình ngôn ngữ thống kê cho Tiếng Việt 74 3.4.1 Sơ đồ khối trình xây dựng mô hình ngôn ngữ thống kê 74 3.4.2 Bƣớc 1: Cài đặt phần mềm CMU SLM Toolkit vào thƣ mục 75 3.4.3 Bƣớc 2: Tạo file sở liệu văn để huấn luyện mô hình ngôn ngữ.75 3.4.4 Bƣớc 3: Xác định từ vựng 75 3.4.5 Bƣớc 4: Đếm số n-gram 75 3.4.6 Bƣớc 5: Tạo mô hình ngôn ngữ dạng file ARPA 76 3.4.7 Bƣớc 6: Tạo mô hình ngôn ngữ dạng file DMP (dạng file nhị phân) sử dụng Sphinxbase 76 3.5 Nhận dạng Tiếng Việt nói với PocketSphinx 77 3.5.1 Sơ đồ khối trình nhận dạng tiếng Việt nói với pocketSphinx 77 3.5.2 Cài đặt phần mềm pocketsphinx 78 3.5.3 Chạy thử nghiệm với mô hình độc lập ngữ cảnh: 78 3.5.4 Chạy thử nghiệm với mô hình phụ thuộc ngữ cảnh: 80 3.6 Kết thử nghiệm đánh giá kết 82 3.6.1 Thực công cụ Sclite 82 3.6.2 Phân tích đánh giá kết 83 3.7 Chƣơng trình demo nhận dạng tiếng nói 92 TÀI LIỆU THAM KHẢO 96 PHỤ LỤC 97 Phụ lục A: Ba toán áp dụng mô hình HMM 97 A.1 Bài toán thứ nhất: Đánh giá xác suất 97 A.2 Bài toán thứ hai: Tìm dãy trạng thái tối ƣu 98 A.3 Bài toán thứ ba: Ƣớc lƣợng tham số mô hình 100 A.4 Những vấn đề khác mô hình Markov ẩn 103 A.4.1 Các loại mô hình Markov ẩn: 103 A.4.2 Mật độ quan sát rời rạc mật độ quan sát liên tục: 105 A.4.3 Huấn luyện với nhiều dãy quan sát 106 A.4.4 Khởi tạo tham số ƣớc lƣợng mô hình: 106 Phụ lục B Mô hình ngôn ngữ thống kê……………………………………… 107 B.1 Các khái niệm liên quan đến mô hình ngôn ngữ 107 B.1.1 Mô hình N-grams 107 B.1.2 Các phƣơng pháp làm trơn (Smooth) 107 B.2 Lý thuyết liên quan đến mô hình ngôn ngữ 108 B.2.1 Lý thuyết xác suất 108 B.2.2 Mô hình ngôn ngữ n-gram 108 B.2.3 Các phƣơng pháp làm trơn 109 B.2.4 Đánh giá mô hình ngôn ngữ Perplexity……………………… 110 DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT Chữ viết tắt Acoustic Model ASCII Chữ viết đầy đủ Mô hình ngôn ngữ American Standard Code for Information Interchange – Chuẩn mã dùng để trao đổi thông tin Hoa Kì Bach Khoa SPEech Corpus – sở liệu tiếng nói đƣợc BKSPEC phát triển môn Kỹ Thuật Máy Tính – Viện Công Nghệ Thông Tin Truyền Thông – Đại học Bách Khoa Hà Nội HMM Hidden Markov Model – mô hình Markov Ẩn Language Model Mô hình ngôn ngữ Carnegie Mellon University Statistical Language Modeling CMU SLM Toolkit: công cụ dùng để xây dựng mô hình ngôn ngữ thống kê MFCC Mixture VIQR Mel Frequency Cepstral Coefficients – hệ số Cepstral theo thang đo tần số Mel Một thành phần Gauss mô hình phân bố xác suất hỗn hợp Gauss VIetnamese Quoted-Readable - quy ƣớc để viết chữ tiếng Việt dùng bảng mã ASCII bit #Snt #Sentence – Tổng số câu % Corr Percent of correct words – phần trăm từ % Sub Percent of substituted words – phần trăm từ bị thay % Del Percent of deleted words - phần trăm từ bị xóa % Ins Percent of inserted words - phần trăm từ bị chèn % WER Percent Word Error Rate – Tỷ lệ lỗi nhận dạng từ DANH MỤC BẢNG Bảng 1-1 Cấu trúc âm tiết tiếng Việt 20 Bảng 1-2 Kích thƣớc nguồn liệu sử dụng đề tài “ Nhận dạng tự động tiếng Việt nói sử dụng hệ thống HTK ” 23 Bảng 1-3 Dữ liệu sử dụng đề tài “Nhận dạng tự động tiếng Việt nói phƣơng pháp FLaVoR” 25 Bảng 1-4 Thống kê perplexity hai mô hình ngôn ngữ đề tài “ Nhận dạng tự động tiếng Việt nói phƣơng pháp FLaVoR” 26 Bảng 1-5 Tỷ lệ lỗi WU đề tài “ Nhận dạng tự động tiếng Việt nói phƣơng pháp FLaVoR” 26 Bảng 1-6 Phiên âm tả âm tiết âm vị mƣời chữ số tiếng Việt 30 Bảng 1-7 Số lƣợng category tƣơng ứng với âm vị 30 Bảng 1-8 Kết nhận dạng hệ thống nhận dạng dùng đơn vị nhận dạng sở âm vị phụ thuộc ngữ cảnh 31 Bảng 1-9 Kết nhận dạng bƣớc 32 Bảng 1-10 Kết nhận dạng bƣớc 32 Bảng 2-1 Các định dạng file hỗ trợ CMU SLM 40 Bảng 3-1 Dữ liệu văn dùng để thu âm 59 Bảng 3-2 Thông tin liệu tiếng nói ứng với ngƣời nói 60 Bảng 3-3 Cách biểu diễn dấu điệu tiếng Việt có sử dụng VIQR 62 Bảng 3-4 Quy đổi điệu dấu mũ chữ 63 Bảng 3-5 Danh sách phone nguyên âm 65 Bảng 3-6 Danh sách phone phụ âm 66 Bảng 3-7 Danh sách từ file từ điển 67 Bảng 3-8 Thời gian huấn luyện với SphinxTrain 83 Bảng 3-9 Thời gian nhận dạng với PocketSphinx với mô hình ngôn ngữ bigram 84 Bảng 3-10 Thời gian nhận dạng với PocketSphinx với mô hình ngôn ngữ trigram 85 Bảng 3-11 Kết nhận dạng PocketSphinx mô hình độc lập ngữ cảnh với mô hình ngôn ngữ bigram 86 Bảng 3-12 Kết nhận dạng PocketSphinx mô hình độc lập ngữ cảnh với mô hình ngôn ngữ trigram 87 Bảng 3-13 Kết nhận dạng PocketSphinx mô hình phụ thuộc ngữ cảnh với mô hình ngôn ngữ bigram 88 Bảng -14 Kết nhận dạng PocketSphinx mô hình phụ thuộc ngữ cảnh với mô hình ngôn ngữ trigram 89 Bảng 3-15 Kết tổng hợp nhận dạng tiếng nói PocketSphinx 90 Bảng 3-16 So sánh kết đề tài với đề tài tìm hiểu………………… 92 DANH MỤC HÌNH Hình 1.2 Cấu trúc hệ nhận dạng tiếng nói 16 Hình 1.3 Phổ tín hiệu âm tiết “ba” 19 Hình 1.4 Sự khác phổ nguyên âm 19 Hình 1.5 Hệ thống nhận dạng dùng mạng ANN đề tài “Tăng cƣờng độ xác hệ thống mạng neuron nhận dạng tiếng Việt” 27 Hình 1.6 Quá trình mã hóa giải mã tin 33 Hình 2.1 Giao diện chạy lệnh CYGWIN 39 Hình 2.2 Sơ đồ xây dựng mô hình ngôn ngữ công cụ CMU SLM 50 Hình 2.3 Mô hình HMM ứng với ma trận chuyển trạng thái 53 Hình 3.1 Quá trình xây dựng hệ thống nhận dạng tiếng nói 56 Hình 3.2 Các bƣớc chuẩn bị liệu 57 Hình 3.3 Phần mềm hỗ trợ thu âm 58 Hình 3.4 Chuyển đổi UTF-8 VIQR dùng Unikey 62 Hình 3.5 Âm vị phụ âm 63 Hình 3.6 Âm vị nguyên âm 64 Hình 3.7 Sơ đồ khối trình huấn luyện mô hình âm học sử dụng SphinxTrain 69 Hình 3.8 Huấn luyện mô hình âm học SphinxTrain 73 Hình 3.9 Sơ đồ khối trình xây dựng mô hình ngôn ngữ thống kê 74 Hình 3.10 Xây dựng mô hình ngôn ngữ thống kê 77 Hình 3.11 Quá trình nhận dạng tiếng nói với pocketSphinx 77 Hình 3.12 Nhận dạng tiếng nói pocketSphinx 82 Hình 3.13 Thời gian nhận dạng PocketSphinx với mô hình ngôn ngữ bigram thử nghiệm với số thành phần Gauss khác nhau………………………… 84 Hình 3.14 Thời gian nhận dạng PocketSphinx với mô hình ngôn ngữ trigram thử nghiệm với số thành phần Gauss khác 85 Hình 3.15 Kết nhận dạng PocketSphinx mô hình độc lập ngữ cảnh với mô hình ngôn ngữ bigram 86 10 PHỤ LỤC Phụ lục A: Ba toán áp dụng mô hình HMM A.1 Bài toán thứ nhất: Đánh giá xác suất Cho dãy quan sát O = (o1o2…oT) mô hình Markov ẩn λ = (A, B, π) Hãy tính P(O|λ) xác suất dãy quan sát theo mô hình Đây toán đánh giá, tức cho trƣớc mô hình dãy quan sát, ta phải tính toán xác suất mô hình tạo dãy quan sát nhƣ nào? Có thể xem kiểu đánh giá xem mô hình đƣợc cho có tốt với dãy quan sát hay không Trong trƣờng hợp ta phải chọn số nhiều mô hình giải pháp cho toán cho ta lựa chọn đƣợc mô hình thích hợp dãy quan sát Để giải toán ta sử dụng thủ tục tiến thủ tục lùi đƣợc mô tả nhƣ sau: Thủ tục tiến (Forward Procedure) Xét biến tiến αt(i) đƣợc định nghĩa nhƣ sau: αt(i) = P(o1o2…ot , qt=i|λ) (2.10) Đó xác suất dãy quan sát phận o1o2…ot trạng thái i đạt đƣợc thời điểm t Ta dùng phƣơng pháp quy nạp để tính αt(i) nhƣ sau: Bƣớc Khởi tạo: α1(i) = πibi(o1) 1≤i≤N (2.11) Bƣớc Quy nạp: N t 1 ( j ) t (i)ai j b j (ot 1 ) i 1 ≤ t ≤ T-1, ≤ j ≤ N 97 (2.12) Bƣớc Kết thúc: N P(O | ) T (i) (2.13) i 1 Thủ tục lùi (Backward Procedure) Tƣơng tự ta xét biến lùi βt(i) đƣợc định nghĩa nhƣ sau: βt(i) = P(ot+1, ot+2 , oT , qt=i|λ) (2.14) βt(i) xác suất dãy quan sát phận từ thời điểm t+1 đến thời điểm cuối, vào trạng thái i thời điểm t mô hình λ Có thể tính βt(i) phƣơng pháp quy nạp nhƣ sau: Bƣớc Khởi đầu: βT(i) = 1≤i≤N (2.15) Bƣớc Quy nạp: t = T – 1, T – 2, …, 11 ≤ i ≤ N Bƣớc Kết thúc: Ở phần sau ta thấy cách áp dụng thủ tục tiến lùi việc giải vấn đề mô hình Markov ẩn A.2 Bài toán thứ hai: Tìm dãy trạng thái tối ƣu Cho dãy quan sát O=(o1o2…oT) mô hình λ Làm lựa chọn đƣợc dãy trạng thái q=(q1q2…qT) tối ƣu theo nghĩa 98 Đây toán ta cố gắng tháo gỡ phần “ẩn” mô hình để tìm dãy trạng thái “đúng” ẩn bên dƣới Không giống nhƣ toán với kết cho xác, toán có nhiều cách giải quyết, tức có nhiều cách để tìm dãy trạng thái “tối ƣu” ứng với dãy quan sát cho trƣớc Khó khăn nằm chỗ định nghĩa dãy trạng thái tối ƣu – có nhiều tiêu chuẩn tối ƣu Một tiêu chuẩn tối ƣu làm cực đại P(q|O,λ) làm cực đại P(q,O|λ) Phƣơng pháp quy hoạch động để tìm chuỗi trạng thái đơn tốt giải thuật Viterbi sau Thuật toán Viterbi Để tìm dãy trạng thái đơn tốt q = (q1q2…qT) dãy quan sát O = (o1o2…oT), ta định nghĩa đại lƣợng sau: δt(i) xác suất lớn dọc theo đƣờng đơn thời điểm t t quan sát có quan sát cuối trạng thái i Bằng quy nạp ta có: Ta sử dụng mảng ψt(j) để lại đối số làm cực đại biểu thức ứng với t j Bƣớc Khởi tạo: δ1(i) = πibi(o1) 1≤i≤N (2.20) ψ1(i) = Bƣớc Vòng lặp: 99 Bƣớc Kết thúc: Bƣớc Quay ngƣợc lại tìm đƣờng (dãy trạng thái): A.3 Bài toán thứ ba: Ƣớc lƣợng tham số mô hình Cần phải điều chỉnh tham số mô hình nhƣ để P(O|λ) đạt cực đại Đây toán tối ƣu tham số mô hình để mô tả tốt dãy quan sát cho trƣớc Dãy quan sát dùng để hiệu chỉnh tham số mô hình đƣợc gọi dãy huấn luyện Bài toán huấn luyện toán cốt lõi toán cho phép ta tối ƣu tham số mô hình với liệu huấn luyện, tức tạo mô hình tốt cho tƣợng thực tế Không có cách giải tập tham số mô hình để làm cực đại xác suất dãy quan sát cách chặt chẽ Tuy nhiên, ta hiệu chỉnh tham số mô hình λ = (A, B, π) để xác suất P(O|λ) đạt cực đại địa phƣơng cách dùng phƣơng pháp ƣớc lƣợng Baum-Welch, gọi phƣơng pháp cực đại kỳ vọng (expectation maximization – EM) Để mô tả thủ tục ƣớc lƣợng lại tham số mô hình, ta định nghĩa ξt(i,j) xác suất có trạng thái i thời điểm t trạng thái j thời điểm t+1 với mô hình λ dãy quan sát O cho, tức là: 100 ξt(i,j) = P(qt = i, qt+1 = j|O,λ) (2.25) Từ định nghĩa biến tiến biến lùi toán 1, ta viết lại ξt(i,j) dƣới dạng nhƣ sau: Định nghĩa γt(i) xác suất trạng thái i thời điểm t với dãy quan sát O mô hình λ, ta có mối liên hệ γt(i) với ξt(i,j) nhƣ sau: Nếu lấy tổng γt(i) theo thời gian t, ta nhận đƣợc đại lƣợng kỳ vọng số lần hệ thống trạng thái i, hay tƣơng đƣơng với kỳ vọng số chuyển đổi trạng thái đƣợc thực từ trạng thái i (nếu bỏ qua t = T phép lấy tổng) Tƣơng tự, lấy tổng ξt(i,j)theo t (từ t = đến t = T-1) kỳ vọng số lần chuyển đổi từ trạng thái i sang trạng thái j, tức : Từ công thức ta đƣa phƣơng pháp đánh giá lại tham số mô hình Markov ẩn nhƣ sau: Ước lượng tham số π : 101 Ước lượng tham số A : Ước lượng tham số B : 102 A.4 Những vấn đề khác mô hình Markov ẩn A.4.1 Các loại mô hình Markov ẩn: Thực tế có nhiều loại mô hình Markov ẩn đƣợc sử dụng Các loại mô hình Markov ẩn phân biệt với cấu trúc ma trận phân bố xác suất chuyển trạng thái A Trong trƣờng hợp tổng quát ta có mô hình Markov ẩn kết nối đầy đủ, nghĩa trạng thái mô hình đến đƣợc từ trạng thái khác Loại mô hình có tính chất hệ số aij dƣơng Khi ma trận A có dạng : Hình A.1 Mô hình Markov ẩn liên kết đầy đủ với trạng thái Đối với số ứng dụng, đặc biệt ứng dụng xử lý tiếng nói, để mô hình hóa đặc trƣng tín hiệu mô hình kết nối đầy đủ nhƣ không thích hợp Ta phải cần đến mô hình hiệu hơn, mô hình 103 trái phải hay gọi mô hình Bakis Sở dĩ mô hình có tên trái – phải dãy trạng thái ẩn bên dƣới mô hình có tính chất: thời gian tăng lên số trạng thái tăng lên, giữ nguyên trạng thái cũ, tức hệ thống chuyển trạng thái từ trái sang phải Rõ ràng loại mô hình trái – phải thích hợp mô hình hóa tín hiệu mà thuộc tính thay đổi theo thời gian, chẳng hạn nhƣ tín hiệu tiếng nói Tính chất mô hình Markov ẩn trái – phải xác suất chuyển trạng thái thỏa mãn: aij = với j i + Δi (1.75) Hình A.2 Mô hình Markov ẩn liên kết trái-phải với trạng thái Trong ví dụ Hình A.2, Δi = 2, tức không đƣợc phép nhảy trạng thái Khi đó, ma trận phân bố xác suất chuyển trạng thái có dạng: 104 Trạng thái cuối mô hình trái – phải có hệ số ma trận vị trí : Một điểm lƣu ý quan trọng ràng buộc mô hình trái-phải không ảnh hƣởng đến thủ tục ƣớc lƣợng lại tham số dùng trình huấn luyện HMM Đó tham số có giá trị lúc khởi tạo suốt thủ tục ƣớc lƣợng lại A.4.2 Mật độ quan sát rời rạc mật độ quan sát liên tục: Trong trƣờng hợp dãy quan sát đƣợc mô tả ký tự rời rạc đƣợc chọn từ tập hợp hữu hạn, ta sử dụng mật độ phân bố xác suất rời rạc với trạng thái mô hình Trong số ứng dụng, dãy quan sát vector liên tục Nó đƣợc lƣợng tử hóa để sử dụng mật độ phân bố xác suất rời rạc Tuy nhiên, trƣờng hợp này, phƣơng pháp thƣờng đƣợc sử dụng mật độ xác suất liên tục Khi sử dụng mô hình liên tục, ngƣời ta thƣờng dùng phân bố Gauss Xác suất phân bố ký tự vào trạng thái đƣợc thay hàm phân bố xác suất nhƣ sau: Trong công thức trên, O vector đƣợc mô hình hóa, cim hệ số thành phần tổ hợp thứ m trạng thái i hàm phân bố xác suất Gauss với μim vector trung bình Uim ma trận hiệp biến Các hệ số cim thỏa mãn tính chất thống kê : 105 Với mô hình liên tục, ta cần thực ƣớc lƣợng lại tham số c im, μim hay Uim thay cho việc ƣớc lƣợng tham số B A.4.3 Huấn luyện với nhiều dãy quan sát Trong phƣơng pháp Baum-Welch, có nhiều tham số đƣợc ƣớc lƣợng Càng nhiều tham số đƣợc ƣớc lƣợng phải cần có nhiều mẫu huấn luyện để thu đƣợc tham số tin cậy Nếu có dãy quan sát đƣợc sử dụng để huấn luyện mô hình mô hình thực nhận dạng tốt mẫu riêng lẻ đó, nhƣng mang lại tỷ lệ nhận dạng thấp thực với từ khác Giả sử, tập hợp có R dãy quan sát: O = [O(1), O(2), … , O(R)] (1.79) Với O(r) dãy quan sát thứ r Hàm P(O|λ) đƣợc xác định nhƣ sau : Phƣơng pháp để có đƣợc xác suất cao tƣơng tự trƣờng hợp huấn luyện với dãy quan sát Các tham số ƣớc lƣợng đƣợc tính toán với mẫu tín hiệu Thủ tục ƣớc lƣợng đƣợc lặp lại nhiều lần để có đƣợc xác suất lớn Số bƣớc lặp thƣờng lớn 40 A.4.4 Khởi tạo tham số ước lượng mô hình: Về mặt lý thuyết, thủ tục ƣớc lƣợng lại tạo tham số mô hình HMM làm tối ƣu xác suất địa phƣơng Một vấn đề đặt chọn khởi tạo tham số ƣớc lƣợng nhƣ để xác suất địa phƣơng xác suất toàn cục Về bản, phƣơng pháp trực tiếp thực đƣợc công việc Thay vào đó, kinh nghiệm việc khởi tạo ngẫu nhiên phân bố tham số π A mang lại kết tốt cho trình huấn luyện lại Tuy nhiên, tham số B, kinh nghiệm việc khởi tạo ƣớc lƣợng tốt cần thiết mô hình liên tục Do vậy, việc khởi tạo ƣớc lƣợng 106 thực số phƣơng pháp nhƣ phân đoạn trung bình dãy quan sát vào trạng thái, phân đoạn k-trung bình Phụ lục B Mô hình ngôn ngữ thống kê B.1 Các khái niệm liên quan đến mô hình ngôn ngữ B.1.1 Mô hình N-grams Mô hình N-gram kiểu mô hình xác suất dùng cho việc đoán đối tƣợng chuỗi đối tƣợng Mô ngôn ngữ N-grams mô hình ngôn ngữ với độ dài chuỗi từ N N-grams đƣợc sử dụng nhiều xử lí ngôn ngôn ngữ tự nhiên thống kê việc phân tích Gen N-gram chuỗi N đối tƣợng xuất liên tiếp, đối tƣợng âm vị, kí hiệu, kí tự từ phụ thuộc vào ứng dụng riêng N-grams với N có giá trị đƣợc gọi mô hình unigram , N hai bigrams, N trigrams… Mô hình n-grams ngôn ngữ tự nhiên sử dụng phƣơng pháp thống kê xác suất n-grams Hệ thống tìm kiếm khổng lồ Google sử dụng mô hình n-grams dự án nghiên cứu phát triển nhƣ dịch máy, nhận dạng tiếng nói, kiểm tra phát âm (checking spelling) , nhận dạng thực thể (entity recognition) khai thác thông tin (data minning) B.1.2 Các phương pháp làm trơn (Smooth) Trong thống kê xử lý liệu, việc làm mƣợt tập liệu tạo cách tính xấp xỉ để thử với mẫu liệu đặc biệt liệu Công việc làm mƣợt quan trọng Trong xây dựng mô hình ngôn ngữ sử dụng phƣơng pháp làm trơn nhƣ : - Nội suy tuyến tính (Linear interpolation) - Phƣơng pháp giảm Good-Turing - Phƣơng pháp giảm Witen-Bell - Phƣơng pháp giảm tuyệt đối (Absolute discounting) 107 B.2 Lý thuyết liên quan đến mô hình ngôn ngữ B.2.1 Lý thuyết xác suất B.2.1.1 Xác suất kiện Xác suất kiện E dùng để khả xảy kiện E phép thử đƣợc viết P(E) Một kiện E có số lần xuất n tổng số N lần xảy xác suất kiện E tổ hợp kiện : P(E)=n/N (số lần xuất kiện E tổng số lần xuất kiện) B.2.1.2 Xác suất có điều kiện Xác suất mà biến cố E xảy biết việc xảy biến cố F xác suất có điều kiện E biết F, giá trị số P( E F ) / P( F ) (với điều kiện P(F) khác 0) Nếu xác suất có điều kiện E biết F với xác suất ("không có điều kiện") E, E F đƣợc xem kiện độc lập Vì quan hệ E F đối xứng nên ta nói P( E F ) P( E ) P( F ) Tổng quát : P(A,B,C,D)=P(A)*P(B|A)*P(C|A,B)*P(D|A,B,C) (1) Đối với dãy X1,X2,…Xn : P(X1,X2,…Xn)=P(X1)*P(X2|X1)*P(X3|X1,X2)*…*P(Xn|X1,X2,X3…Xn-1) (2) B.2.2 Mô hình ngôn ngữ n-gram Việc cần phải tính xác suất chuỗi n từ P(W1,W2,…Wn) =P(W) Thay ta cần tính xác suất có điều kiện P (Wn| W1,W2 Wn-1) nghĩa xác suất từ Wn biết n-1 từ trƣớc Công thức tính xác suất cho chuỗi n từ (3) 108 B.2.3 Các phương pháp làm trơn B.2.3.1 Nội suy tuyến tính Nội suy tuyến tính định nghĩa d(r)=a-(n(1)/C), với C tổng kiện Phƣơng pháp giảm tuyến tính áp dụng cho tất số đếm B.2.3.2 Good- Turing Discounting Phƣơng pháp Good –Turing phƣơng pháp mạnh kỹ thuật làm mƣợt Phƣơng pháp Good –Turring ƣớc lƣợng trạng thái mà với n-grams xuất r lần, coi nhƣ xuất r* lần r*=(r+1)*(nr+1)/nr Với nr số lƣợng n-grams xuất xác r lần liệu training Để biến đổi số thành xác xuất Với lƣu ý rằng: B.2.3.3 Absolute discounting Một phƣơng pháp khác phƣơng pháp giảm tuyệt đối, mà giá trị không thay đổi m đƣợc trừ từ số đếm kiện với số đếm nhỏ đƣợc bỏ nhiều kiện có số đếm cao Hệ số discount là: Để bỏ với khả nhƣ Good Turing m phải đƣợc đặt là: 109 B.2.4 Đánh giá mô hình ngôn ngữ Perplexity Để đo thực mô hình ngôn ngữ dựa vào xác suất trung bình đƣợc phát triển định luật thông tin (shannon) Một nguồn nói coi nhƣ khối thông tin nguồn mà sinh từ w1,w2, … ,wm từ từ vựng W Khả kí hiệu i phụ thuộc vào i-1 kí hiệu trƣớc Entropy H diễn tả số lƣợng thông tin không dƣ thừa cung cấp cho từ giá trị trung bình, đƣợc tính bít : Công thức tính cho khả tất dãy từ, nhƣng với liệu nguồn ergodic công thức tƣơng đƣơng với: Hay Coi mô hình ngôn ngữ nguồn thông tin, mô hình ngôn ngữ mà hoạt động hiểu có khả đoán từ Perplexity, PP thƣớc đo mô hình ngôn ngữ, đƣợc tính nhƣ sau: Hay Với Là xác suất dãy mô hình ngôn ngữ Perplexity đƣợc coi nhƣ thƣớc đo giá trị trung bình từ khác có giá trị xác suất lớn tƣơng đƣơng sau từ cho trƣớc Giá trị perplexity thấp có 110 nghĩa mô hình ngôn ngữ tốt Để tính toán đƣợc perplexity hai mô hình ngôn ngữ cần có số liệu test Sự so sánh hai mô hình ngôn ngữ phụ thuộc vào giá trị perplexity liệu kiểm tra từ vựng tƣơng đƣơng 111 ... sử dụng công cụ nhận dạng tiếng nói Sphinx - Thu âm tiếng Việt nói thử nghiệm nhận dạng tiếng Việt nói Nhiệm vụ nghiên cứu - Tìm hiểu khái quát nhận dạng tiếng nói, đặc điểm tiếng Việt nói - Tìm... hiểu hoạt động công cụ CMU SLM, sphinxtrain, sphinxbase, pocketsphinx 13 CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Nhận dạng tiếng nói 1.1.1 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... 14 1.1 Nhận dạng tiếng nói 14 1.1.1 Nhận dạng tiếng nói 14 1.1.2 Mô hình tổng quan nhận dạng tiếng nói 15 1.1.3 Các ứng dụng nhận dạng tiếng nói 17 1.2