Hệ thống nhận dạng tiếng nói tự động(automatic Speech Recognition ASR) chuyển đổi tiếng nói dạng âm thành thành văn bản text(SpeechToText) là bài toán khó được phát triển từ những thập niên 50 của thế kỷ trước, qua thời gian có nhiều phương pháp đã được áp dụng để cải thiện kết quả nhận dạng, đến thời điểm hiện tại công nghệ áp dụng giải quyết bài toán nhận dạng được sử dụng phổ biến là sử dụng phương pháp rút trích đặt trưng MFCC và mô hình HMM
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH 3
DANH MỤC BẢNG BIỂU 5
CÁC TỪ VIẾT TẮT 6
CHƯƠNG 1 MỞ ĐẦU 8
1.1 GIỚI THIỆU 9
1.2 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 9
1.2.1 Tình hình ngoài nước: 9
1.2.2 Tình hình trong nước: 10
1.2.3 Khảo sát hiện trạng 11
1.3 MỤC TIÊU CỦA ĐỀ TÀI 15
1.4 PHẠM VI CỦA ĐỀ TÀI 15
1.5 ĐIỂM MỚI NỔI BẬC CỦA ĐỀ TÀI 15
1.6 PHÂN TÍCH ƯU NHƯỢC ĐIỂM CỦA HÌNH THỨC GIAO TIẾP BẰNG GIỌNG NÓI 16
1.7 NỘI DUNG ĐỀ TÀI : 16
CHƯƠNG 2 NGHIÊN CỨU LÝ THUYẾT NHẬN DẠNG TIẾNG NÓI 18
2.1 NHẬN DẠNG TIẾNG NÓI 19
2.1.1 Bài toán nhận dạng tiếng nói 19
2.1.2 Bài toán nhận dạng tiếng nói tiếng việt trên môi trường mạng Viễn Thông 22
2.2 RÚT TRÍCH ĐẶC TRƯNG TIẾNG NÓI 24
2.2.1 Giới Thiệu 24
2.2.2 Nghiên cứu cách thức rút trích đặc trưng tiếng nói 25
2.3 MÔ HÌNH MARKOV ẨN 33
2.3.1 Chuỗi Markov 33
2.3.2 Mô hình Markov ẩn HMM- (HIDDEN MARKOV MODELS ) 33
Giới thiệu 33
Ba bài toán của mô hình HMM 34
Bài toán 1: Tính toán khả suất (computing Likelihood): 35
Bài toán 2: Tìm chuỗi trạng thái ẩn ( Decoding) : 37
Bài toán 3: Huấn luyện ( learning) 39
2.4 KỸ THUẬT THÍCH ỨNG TIẾNG NÓI 41
2.4.1 Phương pháp thích ứng mô hình 42
Phương pháp MAP (Maximum a Posteriori): 42
Phương pháp MLLR (Maximum Likelihood Linear Regression) : 43
2.4.2 Thuật ngữ liên quan đến thích ứng mô hình 44
2.4.3 Kỹ thuật thích ứng tiếng nói MLLR (maximum likelihood linear regression) 46
Cơ bản về MLLR 46
Toán học bổ trợ cho phương pháp MLLR – Hồi qui tuyến tính 46
Phép biến đổi vector trung bình trong mô hình GMM 47
2.5 MÃ HÓA TIẾNG NÓI TRÊN ĐƯỜNG TRUYỀN MẠNG VIỄN THÔNG 48
CHƯƠNG 3 CÔNG NGHỆ NHẬN DẠNG TIẾNG NÓI HTK 51
3.1 GIỚI THIỆU 52
Trang 23.2 KIẾN TRÚC HTK 53
3.3 PHÂN TÍCH CÔNG CỤ QUAN TRỌNG HTK 56
3.3.1 Xử lý rút trích đặc trưng âm thanh tiếng nói 56
3.3.2 Ước lượng tham số cho mô hình ngữ âm 57
3.3.3 Mô hình ngôn ngữ trong HTK 57
3.4 HUẤN LUYỆN HTK 59
CHƯƠNG 4 XÂY DỰNG TỔNG ĐÀI NHẬN DẠNG YÊU CẦU BẰNG GIỌNG NÓI 60 4.1 MÔ TẢ BÀI TOÁN 61
4.2 CÁC THÀNH PHẦN HỆ THỐNG NHẬN DẠNG YÊU CẦU BẰNG GIỌNG NÓI 61
4.2.1 Sơ đồ Khối tổng quát hoạt động của tổng đài 62
Khối giao tiếp PSTN : 62
Khối giao tiếp VOIP : 63
Khối Tương tác Thoại IVR ( Interactive voice response ) : 63
Khối Nhận dạng tiếng nói ( Speech – To – Text ) : 64
Khối truy vấn thông tin kết quả : 64
4.3 NGHIÊN CỨU XÂY DỰNG CẤU HÌNH TỔNG ĐÀI GOLDEN SONG 64
4.3.1 Giới thiệu tổng đài Asterisk 64
4.3.2 Kiến trúc tổ chức Asterisk 66
4.3.3 Xây dựng hệ thống tương tác thoại IVR 69
4.4 THIẾT LẬP DIALPLAN CHO ỨNG DỤNG 71
4.5 NGHIÊN CỨU THIẾT KẾ MODULE GIAO TIẾP GIỮA TỔNG ĐÀI VỚI MẠNG PSTN, DI ĐỘNG, WIFI 72
4.5.1 Cấu hình với luồng truyền dẫn số E1 72
4.5.2 Cấu hình giao tiếp với hệ thống IPCC của Viễn thông Tp Hồ Chí Minh 75
Trình bày cấu hình phía IPCC 75
Cấu hình phía tổng đài nhận dạng tiếng nói 77
4.6 HỆ THỐNG NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT 78
4.6.1 Nhiệm của các khối chức năng trong hệ thống nhận dạng: 78
4.6.2 Chi tiết cấu hình và source code các phân hệ trong hệ thống 80
Mô hình ngữ âm (theo phụ lục 1) 80
Mô hình ngôn ngữ (theo phu lục 4) 80
Khối hệ thống IVR tiếp nhận, xử lý và trả kết quả (theo phu lục 2) 80
Khối nhận dạng tiếng nói (chi tiết theo phụ lục 3) 80
CHƯƠNG 5 ĐÁNH GIÁ KẾT QUẢ CỦA ĐỀ TÀI 81
5.1 XÂY DỰNG CƠ SỞ DỮ LIỆU CHỮ SỐ TIẾNG NÓI TIẾNG VIỆT 82
5.2 MÔ TẢ DỮ LIỆU 83
5.3 KẾT QUẢ NHẬN DẠNG OFFLINE 84
5.4 KẾT QUẢ NHẬN DẠNG ONLINE 85
5.5 ĐÁNH GIÁ KẾT QUẢ 86
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 88
6.1 KẾT LUẬN 89
6.2 HƯỚNG PHÁT TRIỂN 89
TÀI LIỆU THAM KHẢO 91
PHỤ LỤC 1 – HUẤN LUYỆN HTK 93
PHỤ LỤC 2 – CẤU HÌNH DIALPLAN HỆ THỐNG NHẬN DẠNG 101
PHỤ LỤC 3 – MODULE NHẬN DẠNG TIẾNG NÓI 103
Trang 3PHỤ LỤC 4 – MÔ HÌNH NGÔN NGỮ GRAMMAR 114
DANH MỤC HÌNH Hình 2.1: Các lĩnh vực về nhận dạng tiếng nói 19
Hình 2.2 : Phân loại mô hình Markov ẩn 21
Hình 2.3: Khối chức năng của hệ thống nhận dạng tiếng nói 21
Hình 2.4: Nhận dạng tiếng nói trên mạng viễn thông 23
Hình 2.5: Tổng đài nhận dạng tiếng nói voice server 23
Hinh 2.6: Ví dụ về tính tách biệt của 2 đặc trưng khác nhau 25
Hình 2.7: Các bước rút trích đặc trưng MFCC 26
Hình 2.8: Tín hiệu wave trước và sau khi lọc thông cao 26
Hình 2.9: Cơ chế chia frame 27
Hình 2.10: Tín hiệu trước và sau khi nhân với cửa sổ Hamming 28
Hình 2.11: Tương quan giữa tọa độ Descartes và tọa độ cực 29
Hình 2.12: Tương quan giữa tần số mel và tần số tuyến tính 23
Hình 2.13: Mel filter banks trên miền mel và miền tần số 31
Hình 2.14: Mel filter banks trên miền tần số tuyến tính 31
Hình 2.15 : Minh họa thuật toán forward [3] 36
Trang 4Hình 2.16: Minh họa thuật toán backward [3] 37
Hình 2.17: Mô hình thích ứng tiếng nói [32] 42
Hình 2.18: Mô hình thích ứng Incremental 45
Hình 2.19: Mô hình thích ứng Batch 45
Hình 2.20: Thích ứng trên vector trung bình [32] 46
Hình 2.21: Nhận dạng tiếng nói với hướng tiếp cận NSR 49
Hình 2.22 : Nhận dạng tiếng nói với hướng tiếp cận DSR 49
Hình 3.1: Nhận dạng tiếng nói với công cụ HTK 52
Hình 3.2: Kiến trúc bộ công cụ HTK 53
Hình 3.3 : Các công đoạn xây dựng bộ nhận dạng tiếng nói HTK 54
Hình 3.4: xử lý mã hóa tiếng nói 57
Hình 3.5: mô tả các bước huấn luyện với công cụ HTK 59
Hình 4.1: Sơ đồ tổng quát tổng đài nhận dạng yêu cầu bằng giọng nói 61
Hình 4.2: Sơ đồ khối hệ thống nhận dạng yêu cầu bằng giọng nói 62
Hình 4.3: Thiết bị trung kế số E1 giao tiếp với mạng PSTN 63
Hình 4.4 : Thiết bị đầu cuối IP Phone 63
Hình 4.5: Sơ đồ tổng quát tổng đài Asterisk 65
Hình 4.6: Kiến trúc Asterisk 67
Hình 4.7: Hệ Thống IVR 69
Trang 5Hình 4.8: Kế hoạch dialplan cho hệ thống 71
Hình 4.9: Kết nối trung kế E1 đến nhà cung cấp 72
Hình 4.10: Sơ đồ kết nối giao tiếp giữa IPCC và tổng đài nhận dạng tiếng nói 75
Hình 4.11: Minh họa các khối chính trong hệ thống nhận dạng tiếng nói 78
DANH MỤC BẢNG BIỂU Bảng 2.1 : Các chuẩn mã hóa tín hiệu âm thanh 50
Bảng 5.1 Tổ chức dữ liệu nhận dạng 84
Bảng 5.2 Bảng chi tiết kết quả test nhận dạng 86
Trang 6gian
Trang 7- Client-softphone Phần mềm Điện thoại
-Coefficients
PDF Probability Density Function Hàm phân bố mật độ xác suất
Trang 8CHƯƠNG 1 MỞ ĐẦU
Trang 91.1 GIỚI THIỆU
chuyển đổi tiếng nói dạng âm thành thành văn bản text(Speech-To-Text) là bàitoán khó được phát triển từ những thập niên 50 của thế kỷ trước, qua thời gian cónhiều phương pháp đã được áp dụng để cải thiện kết quả nhận dạng, đến thờiđiểm hiện tại công nghệ áp dụng giải quyết bài toán nhận dạng được sử dụng phổbiến là sử dụng phương pháp rút trích đặt trưng MFCC và mô hình HMM[10]
Trong đề tài nghiên cứu này nhóm tác giả tập trung vào nghiên cứu côngnghệ nhận dạng tiếng nói, bao gồm các lý thuyết liên quan như phương thức rúttrích đặc trưng, cách xây dựng mô hình ngữ âm và mô hình ngôn ngữ từ đó ứngdụng vào việc xây dựng hệ thống tổng đài nhận dạng chữ số tiếng nói tiếng việt
trên môi trường mạng viễn thông (nhận diện yêu cầu của khách hàng bằng giọng
nói thay vì nhấn phím thông thường).
Thử nghiệm trên hệ thống tổng đài nghe nhạc Golden Song (Nghe nhạcqua tổng đài) bằng hình thức yêu cầu những bản nhạc cần nghe bằng giọng nói,bước đầu sẽ nhận dạng yêu cầu bằng chữ số tiếng nói tiếng việt
1.2 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC
1.2.1 Tình hình ngoài nước:
Hình 1.1 : Sơ đồ nhận dạng tiếng nói cơ bản trên mạng viễn thông
Trãi qua hơn 70 năm công nghệ nhận dạng luôn được các nhà nghiên cứuphát triển, cải thiến chất lượng bởi đây là hình thức giao tiếp thân thuộc hàngngày của con người, không phải là để thay thế hoàn toàn các hình thức giao tiếpkhác mà là một hình thức bổ trợ gần gủi quen thuộc hơn đối với con người vàonhững thập niên 50 của thế kỷ trước công nghệ nhận dạng đã phát triển triểnnhưng chủ yếu tập trung vào ngữ âm, do kỹ thuật máy tính và xử lý tín hiệu số
Trang 10còn hạn chế nên chỉ tập trung khai thác đặc trưng phổ cộng hưởng của cácnguyên âm tiêu biểu như hệ thống nhận dạng ký số rời rạc của Bell-lab(1952)[12,p.8] , Trong thập niên 60 phương pháp nhận dạng tiếng nói dựa trên quihoạch động theo thời gian(Dynamic Time Wraping-DTW)[12,p1] là ý tưởng củatác giả người nga vintsyuk, nhưng đến năm 1980 mới được thế giới biết đến.Trong những năm 70 phương pháp mã hóa dự báo tuyến tính(Linear Predictivecoding - LPC) của Bell-lab đây là phương pháp làm tiền đề cho việc áp dụng cáctham số phổ LPC vào hệ thống nhận dạng tiếng nói tự động Trong những thậpniên 80, 90 phát triển chính được kể đến là mô hình HMM(Hidden MarkovModel) và mô hình ngôn ngữ (language model - LM), ứng dụng sphinx cũngđược phát triển trong giai đoạn này, từ đó đến nay có nhiều thay đổi cải tiếnnhưng cũng dựa vào nền tảng chính trong giai đoạn này HMM được phát triển
và ứng dụng tại viện nghiên cứu quốc phòng Mỹ và IBM[12,p3], vài năm sau đóđược giới thiệu rộng rãi ra thế giới
Ngày nay việc ứng dụng tiếng nói đang ngày càng phát triển, có nhiều ứngdụng đi vào thực tiễn như hệ thống trả lời thông tin tự động cho các chuyến bay(Air Travel Information Service – ATIS), Hệ thống phát lại các bản tin, Hệ thốngSiri trên Iphone, google search… Tuy nhiên, Ở Việt Nam chưa có hệ thốngthương mại áp dụng vào thực tiễn
Một số sản phẩm của nước ngoài về nhận dạng tiếng nói Tiếng Việt như :Nuance (Dragon Dictation và Dragon Search), google search các sản phẩm nàyđược nhận dạng trên hệ thiết bị Smartphone, chưa có sản phẩm nhận dạng tiếngviệt trên mạng viễn thông
1.2.2 Tình hình trong nước:
Tại Việt Nam, có 2 nhóm nghiên cứu chính về bài toán nhận dạng tiếngnói liên tục với bộ từ vựng lớn (Large vocabulary Continuous SpeechRecognition -LVCSR) Nhóm đầu tiên thuộc Viện Công nghệ Thông tin do
Trang 11PGS.Lương Chi Mai đứng đầu, với phương pháp ANN và công cụ CSLU [13]được sử dụng.
Nhóm thứ hai thuộc trường Đại học Khoa học Tự nhiên thành phố Hồ ChíMinh do PGS Vũ Hải Quân đứng đầu, với phương pháp HMM và công cụHTK được sử dụng, các nghiên cứu của nhóm tập trung vào bài toán truy vấnthông tin tiếng Việt, nhận dạng tiếng nói, hệ thống giao tiếp giữa người và máy,tìm kiếm bằng giọng nói, Phòng trí tuệ nhân tạo trường đại học KHTN TP.HồChí Minh đã thực hiện thành công công nghệ nhận dạng tiếng nói tiếng việt trêniPhone đó là phần mềm iSago, đây là tiền đề cho việc nghiên cứu vào thực tiễncông nghệ nhận dạng tiếng nói tiếng việt trên môi trường mạng Viễn thông
Trung tâm sở hữu trí tuệ và chuyển giao công nghệ ĐHQG TPHCMchuẩn bị chuyển giao phần mềm tìm kiếm sử dụng công nghệ nhận dạng tiếngnói cho một tập đoàn Viễn thông (báo Đất Việt, 12/04/2012)
Do đó việc nghiên cứu công nghệ nhận dạng tiếng nói để áp dụng vào cácdịch vụ của VNPT là điều cấp thiết, mở ra hướng phát triển công nghệ nhận dạngtiếng nói vào thực tiễn tại VNPT TPHCM cũng như cho toàn VNPT
Một số sản phẩm trong nước về nhận dạng tiếng nói Tiếng Việt có thể ứngdụng thực tế như: iSago, VIS của trường Đại học KHTN TP.HCM
1.2.3 Khảo sát hiện trạng
Hiện nay VNPT TP.Hồ Chí Minh là đơn vị cung cấp các dịch vụ thông tin cho khách hàng bao gồm các nhóm dịch vụ như:
1 Thông tin hằng ngày: Hộp thư thông tin hằng ngày, thể thao, kinh tế :
- 80111141 Tin thể thao trong nước và quốc tế
- 80111108 Tỷ giá hối đoái và giá vàng
Trang 12- 80111152 Giới thiệu sản phẩm khuyến mãi
- 80111167 Thông tin hội chợ triển lãm
- 80111168 Lãi suất ngân hàng
2 Thông tin giải trí văn hoá và nghệ thuật :
- 80111999 Tặng nhạc tự động qua điện thoại - Goldensongs
- 80111998 Nghe quà tặng - Goldensongs
- 80111143 Nhạc Việt Nam
- 80111843 Ca khúc Việt Nam theo yêu cầu
- 80111853 Ca khúc Việt Nam theo yêu cầu
- 80111863 Ca khúc Việt Nam theo yêu cầu
- 80111873 Ca khúc Việt Nam theo yêu cầu
- 80111146 Giải trí (sân khấu và phim)
- 80111148 Giới thiệu phim
- 80111164 Giới thiệu ngôi sao nghệ thuật Việt Nam và Thế giới
- 80111171 Trò chuyện với chị Thủy Tiên
- 80111875 Quà tặng nửa đêm và Thứ 7
4 Thông tin Giáo Dục và KHKT
- 108600 Tin nóng Tuyển sinh
Trang 13- 108601 Kết quả học tập
- 80111144 Chương trình dạy tiếng Anh (THCS)
- 80111147 Nội trợ và ẩm thực
- 80111150 Lịch sử và danh nhân Việt Nam - Thế giới
- 80111151 Ý nghĩa các ngày lễ hội
- 80111160 Phần mềm và địa chỉ Internet
5 Tra cứu thông tin
- 80111080 Danh bạ điện thoại tự động
- 80111107 Cự ly TPHCM và Hà Nội đi các tỉnh
- 80111140 Hướng dẫn báo thức tự động
- 80111288 Danh mục hộp thư thông tin
- 80111111 Các dịch vụ của Trung Tâm Khai Thác Dịch Vụ
- 80111188 Thời sự y học - Thuốc & dụng cụ y khoa
- 80111189 Giáo dục con cái
- 80111190 Thai nghén, sinh đẻ & bệnh phụ nữ
- 80111191 Bệnh về phổi, Hen suyễn
- 80111192 Bệnh về da - Các bệnh lây truyền qua đường tình dục
- 80111193 Sắc đẹp thẩm mỹ
- 80111194 Bướu - Ung thư - Bệnh về máu
- 80111195 Sơ cấp cứu tai nạn và ngộ độc
- 80111196 Bệnh trẻ em - Chủng ngừa
Trang 14- 80111197 Đông dược
- 80111198 Dinh dưỡng
- 80111199 AIDS - Ma túy và các chất gây nghiện
- 80111180 Hộp thư y học báo Người Lao Động
8 Truyện thiếu nhi
- 19001511 Giải trí thiếu nhi
- 80111138 Kể chuyện Tâm hồn cao thượng
Các hộp thư thông tin dịch vụ liệt kê trên khi khách hàng gọi vào để nghe vàyêu cầu các chuyên mục thì theo hình thức nhấn phím thông thường đề tài này
mở ra hướng tiếp cận mới thay vì nhấn phím thì yêu cầu bằng giọng nói, đối vớinhững khách hàng sử dụng điện thoại di động thì hình thức này rất thuận tiện vàhợp lý khi giao tiếp
Trang 15Hiện nay VTTP cung cấp rất nhiều hộp thư thông tin, có một số hộp thưthông tin có thể ứng dụng công nghệ nhận dạng tiếng nói để tối ưu, đáp ứng yêucầu của khách hàng một cách tiện lợi.
Đáng giá kết quả kinh doanh hộp thư thông tin trong năm 2012 như sau:doanh thu khoảng 3,2 tỉ, chi phí 1,8 tỉ, chênh lệch thu chi 1,4 tỉ hiệu quả đem lại43% Như vậy việc đầu tư vào phát triển dịch vụ với hình thức mới có thể tăngthêm doanh thu cho VTTP
Qua phân tích hiện trạng trên cho thấy ý nghĩa khi thực hiện đề tài, mở rahướng phát triển mới cho hộp thư thông tin
1.3 MỤC TIÊU CỦA ĐỀ TÀI
Mục tiêu của đề tài là nghiên cứu công nghệ nhận dạng tiếng nói ứngdụng xây dựng tổng đài truy vấn thông tin tự động trên mạng viễn thông với tập
từ vựng là chữ số tiếng nói tiếng việt, nhận dạng độc lập người nói, theo phươngpháp từ tách biệt(nhận dạng từng từ), cho kết quả thực nghiệm với độ chính xác
từ trên 90%
1.4 PHẠM VI CỦA ĐỀ TÀI
Đề tài tập trung ứng dụng được công nghệ nhận dạng tiếng nói vào bàitoán nhận dạng tiếng nói tiếng việt trên mạng viễn thông, một hệ thống cung cấptruy vấn thông tin tự động bằng giọng nói, khách hàng yêu cầu thông tin bằnggiọng nói song song với phương pháp nhấn phím truyền thống Tổng đài nhậndạng tiếng nói độc lập người nói, tách biệt từ(nhận dạng từ đơn), với tập từ vựngchữ số tiếng nói Tiếng việt Ứng dụng thử nghiệm xây dựng tổng đài nghe nhạctruy vấn thông tin bằng giọng nói
1.5 ĐIỂM MỚI NỔI BẬC CỦA ĐỀ TÀI
Hiện nay trên thị trường chưa có sản phẩm nhận dạng tiếng nói tiếng việttrên mạng viễn thông
Trang 16Đề tài mở ra hướng phát triển trong lĩnh vực ứng dụng công nghệ nhậndạng tiếng nói để truy vấn thông tin tự động trên thị trường viễn thông của ViệtNam.
Nhiều ứng dụng, dịch vụ truy vấn thông tin tự động bằng giọng nói sẽđược phát triển dựa trên kết quả nghiên cứu của đề tài này
Đây là hình thức giao tiếp quen thuộc với người sử dụng, là hình thức mới
bổ trợ cho hình thức truy vấn thông tin theo cách truyền thống là nhấn phím
Đem đến cho khách hàng một sự trãi nghiệm mới, một sự lựa chọn hìnhthức truy vấn thông tin mới
1.6 PHÂN TÍCH ƯU NHƯỢC ĐIỂM CỦA HÌNH THỨC GIAO TIẾP BẰNG GIỌNG NÓI
Ưu điểm: Dịch vụ hướng đến tất cả các đối tượng người sử dụng bởi đây
là hình thức bổ trợ chứ không phải là hình thức thay thế, một hình thức giao tiếpquen thuộc với người sử dụng, đem đến cho khách hàng một sự trãi nghiệm mới,một sự lựa chọn hình thức truy vấn thông tin mới từ đó nâng cao sự quan tâmcủa khách hàng đến các dịch vụ giao tiếp trả lời tự động của VNPT
Nhược điểm: người dùng chưa quen với hình thức giao tiếp mới, khó sửdụng trong môi trường nhiễu xung quanh nhiều
1.7 NỘI DUNG ĐỀ TÀI :
Đề tài trình bày gồm 5 chương:
những vấn đề cần giải quyết, phạm vi thực hiện của đề tài, đưa ra phươngpháp giải quyết và chỉ ra điểm nổi bậc của đề tài
tiếng nói, phương pháp rút trích đặt trưng, mô hình markov ẩn, thích ứng
Trang 17tiếng nói, các loại codec trên mạng viễn thông, tập trung trình bày cáckhái niệm, thuật toán liên quan trong việc phát triển đề tài nhận dạng chữ
số tiếng nói tiếng việt trên mạng viễn thông
tiếng nói: tìm hiểu bộ công cụ huấn luyện HTK, thu âm dữ liệu âm thanh,tiến hành huấn luyện trên HTK, ứng dụng kết quả vào bài toán nhận dạngtrên mạng viễn thông
nói: tìm hiểu và xây dựng hoàn chỉnh tổng đài VOIP trên Asterisk, cấuhình chức năng giao tiếp với mạng viễn thông, xây dựng và tích hợpmodule nhận dạng tiếng nói vào tổng đài, cấu hình module nhận dạng quaDialplan của tổng đài
kiểm tra kết quả nhận dạng trên tổng đài, đánh giá kết quả nhận dạng
Trang 18CHƯƠNG 2 NGHIÊN CỨU LÝ THUYẾT
NHẬN DẠNG TIẾNG NÓI
2.1 NHẬN DẠNG TIẾNG NÓI
2.1.1 Bài toán nhận dạng tiếng nói
Bài toán nhận dạng tiếng nói bao gồm: nhận dạng lời nói (speechrecognition), nhận dạng người nói (speaker recognition), nhận dạng ngôn ngữ nói(language recognition), nhận dạng giới tính (Sex recognition)… Trong bài toánnhận dạng lời nói lại bao gồm 2 loại là nhận dạng độc lập người nói (Speaker
Trang 19Independent) và nhận dạng phụ thuộc người nói (Speaker Dependent) Trong đềtài này thực hiện nhận dạng độc lập người nói.
Hệ thống nhận dạng độc lập người nói là hệ thống cho phép nhận dạngđược nhiều giọng nói khác nhau, nhiều cách phát âm khác nhau trên cùng mộtngôn ngữ, do vậy hệ thống nhận dạng độc lập người nói cần một lượng lớn dữliệu huấn luyện để có thể nhận dạng được tiếng nói của nhiều người khác nhau
Tổng quát nhất nhận dạng tiếng nói là quá trình chuyển đổi ngôn ngữtiếng nói thành văn bản ( speech to text ) [9], nhận dạng tiếng nói ứng dụng rấtnhiều trong cuộc sống như điều khiển giao tiếp với máy tính, quay số tự động,
Tiếng nói
Nhận dạng lời nói
Nhận dạng người nói
Nhận dạng ngôn ngữ
Xử lý tiếng nói
Nhận dạng
Miền
Thời gian
MiềnTần số
Tổng hợp tiếng nói
…
Nhận dạng giới tính
Nhận dạng
độc lập
người nói
Nhận dạng phụ thuộc người nói
Hình 2.1: Các lĩnh vực về nhận dạng tiếng nói.
Trang 20truy vấn hỏi đáp trực tiếp tự động qua điện thoại [10]… đây là cách giao tiếpthân thiện giữa người và máy.
Mục tiêu (giả thuyết) chính của đề tài là áp dụng lý thuyết nền tảng môhình Markov ẩn hợp Gauss, áp dụng vào bài toán nhận dạng chữ số tiếng nóitiếng việt trên môi trường mạng viễn thông, từ đó xây dựng hệ thống tổng đàinhận dạng yêu cầu bằng giọng nói
Lý thuyết nền tảng mô hình Markov ẩn phân loại theo hàm mật độ xácsuất của các tín hiệu quan sát, mô hình Markov ẩn (HMM) gồm 2 loại: HMM rờirạc và HMM liên tục Trong trường hợp hàm mật độ xác suất là hàm Gauss, ta có
mô hình Markov ẩn đơn Gauss (Gaussian HMM), mô hình Markov ẩn hợp Gauss(MGHMM) là một dạng của HMM liên tục, trong đó hàm mật độ xác suất củacác vector quan sát là hợp các hàm Gauss (GMM)
Hệ thống nhận dạng tiếng nói tự động tổng quát như hình vẽ dưới đây:
Trang 21Hình 2.3: Khối chức năng của hệ thống nhận dạng tiếng nói
Đặc trưng tiếng nói: Tiếng nói được biến đổi thành các vector đặc trưng,
phương pháp rút trích đặc trưng phổ biến hiện nay là MFCC (Mel-frequencycepstral coefficients)
Mô hình ngữ âm: sử dụng mô hình HMM, biểu diễn tri thức cho tín hiệungữ âm, âm vị…ánh xạ tiếng nói đến nhãn tương ứng
Mô hình ngôn ngữ: liên quan đến việc biểu diễn tri thức của các từ, chuỗi
từ, hình thành nên câu Mô hình ngôn ngữ canh chỉnh lại kết quả nhận dạng đểcho kết quả chính xác hơn
Thuật toán tìm kiếm: chọn lựa chuỗi từ ứng với tín hiệu ngữ âm, cho kết
quả nhận dạng tốt nhất có thể
Tiếng nói cần nhận dạng sẽ được rút trích đặc trưng, những đặc trưng này
là dữ liệu đầu vào cho thuật toán tìm kiếm, dựa vào mô hình ngữ âm và mô hìnhngôn ngữ thuật toán tìm kiếm sẽ trả về kết quả nhận dạng tối ưu nhất
Gọi O là dữ liệu tiếng nói cần nhận dạng, W là một chuỗi từ thuộc tập từ
vựng cho trước Nếu P(W/O) là xác suất chuỗi từ W dựa vào dữ liệu tiếng nói
quan sát O của người nói, thì chuỗi từ cần nhận dạng được tính bằng công thức:
(2-1)
max arg
ˆ P W O w
W
Trang 22Công thức Bayes được biểu diễn:
) (
) ( ) / ( ) /
(
O P
W P W O P O
W
P(O) là hằng không ảnh hưởng đến kết quả nhận dạng nên ta có:
) ( ) / ( ) /
(W O P O W P W
mô hình ngữ âm sử dụng mô hình Markov ẩn hợp Gauss
Hình 2.4: Nhận dạng tiếng nói trên mạng viễn thông
Quá trình chuyển đổi tiếng nói thành văn bản được thực hiện bởi bộ nhậndạng tiếng nói tự động ASR (Automatic Speech Recognition)
Đề tài nghiên cứu xây dựng tổng đài nhận dạng chữ số tiếng nói tiếng việttrên môi trường mạng viễn thông (voice server), tiếng nói từ đầu cuối điện thoại
sẽ được mã hóa và truyền đi trên môi trường mạng viễn thông, đến tổng đài nhận
max arg
ˆ P O W P W w
W
Trang 23dạng, tín hiệu tiếng nói sẽ được giải mã, rút trích đặc trưng và tiến hành nhậndạng trả về kết quả.
Hình 2.5: Tổng đài nhận dạng tiếng nói voice server 2.2 RÚT TRÍCH ĐẶC TRƯNG TIẾNG NÓI
2.2.1 Giới Thiệu
Rút trích đặc trưng được hiểu như là một quá trình biến đổi từ vector cókích thước lớn sang vector có kích thước nhỏ hơn Như vậy, về mặt hình thức,rút trích đặc trưng có thể được định nghĩa như một ánh xạ f:
f : RN → Rd, trong đó d << N
Thông thường, để các mô hình người nói có khả năng mô hình hóa tốt, sốlượng các vector huấn luyện phải đủ lớn Như vậy, việc giảm kích thước củatừng vector huấn luyện thông qua bước rút trích đặc trưng sẽ giúp làm giảm độphức tạp tính toán của bước huấn luyện và nhận dạng
Đối với bài toán nhận dạng người nói, một đặc trưng được cho là tốt cầnphải có các tính chất sau:
- Sai biệt giữa các vectors đặc trưng của những người nói khác nhau phảilớn
- Sai biệt giữa các vectors đặc trưng của cùng một người nói phải nhỏ
Trang 24Hinh 2.6: Ví dụ về tính tách biệt của 2 đặc trưng khác nhau.
Một đặc trưng được gọi là tốt cũng cần phải có tính kháng nhiễu và phânbiệt giả mạo tốt (đặc tính thứ 3 và thứ 4) Cuối cùng, nếu một hệ thống sử dụngnhiều hơn 1 đặc trưng, thì các đặc trưng này phải độc lập với nhau (tính chất 5);việc sử dụng các đặc trưng phụ thuộc lẫn nhau thường không đem lại kết quả tốt
Một đặc trưng lý tưởng (có tất cả 5 tính chất tốt nêu trên) thường khôngtồn tại trong thực tế Trong lĩnh vực nhận dạng người nói, các đặc trưng thườngđược sử dụng là MFCC (Mel-Frequency Cepstral Coefficients), LSP (LineSpectral Pairs)… Đề tài này chỉ tập trung vào đặc trưng MFCC cho bài toán nhậndạng tiếng nói
Trang 252.2.2 Nghiên cứu cách thức rút trích đặc trưng tiếng nói
Hình 2.7 thể hiện các bước rút trích đặc trưng MFCC Tín hiệu thô sẽ trảiqua các bước xử lý chính: chia frame, biến đổi Fourier, áp dụng các Mel filter-banks, lấy log và biến đổi cosin rời rạc
Power Spectrum
FFTChia Frames
Hamming Window
Apply Mel Filter Banks
Lấy logDCT
MFCC Vectors
Trang 26Hình 2.8: Tín hiệu wave trước và sau khi lọc thông cao.
Trước khi tiến hành quá trình rút trích đặc trưng, dữ liệu liệu tiếng nóiđược đưa qua bước xử lý pre-emphasis bằng bộ lọc thông cao (high-pass filter) :
Mục tiêu của bước pre-emphasis củng cố các tần số cao bị mất trong quá trìnhthu nhận tín hiệu Hình 2.8 minh họa kết quả lọc pre-emphasis
Dữ liệu tiếng nói thường không ổn định, nên thông thường phép biến đổiFourier được thực hiện trên từng đoạn tín hiệu ngắn Mục tiêu của bước chiaframe là chia dữ liệu tiếng nói thành từng frame nhỏ có kích thước khoảng từ20ms đến 30ms Các frame liền kề được xếp chồng lên nhau khoảng từ 10ms đến15ms để tránh mất mát thông tin Cơ chế chia frame này được minh họa tronghình 2.9
Trang 27Hình 2.9: Cơ chế chia frame.
Sau đó, mỗi frame sẽ được nhân với một hàm cửa sổ (window function):
N
n n
N
n n
N
n N
n n
Việc nhân mỗi frame với hàm cửa sổ sẽ giúp củng cố tính liên tục ở 2 biên củaframe và tạo tính chu kỳ cho toàn bộ tín hiệu trong frame Hình 2.10 minh họakết quả nhân một frame với Hamming window
Trang 28Hình 2.10: Tín hiệu trước và sau khi nhân với cửa sổ Hamming.
Biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT)
Phép biến đổi Fourier rời rạc (DFT) chuyển tín hiệu âm thanh từ miền thờigian sang miền tần số Một tín hiệu X có chiều dài N khi qua biến đổi DFT sẽ thuđược tín hiệu phức có chiều dài N/2+1 ở miền tần số gồm 2 phần: ReX (kết quảphần thực) và ImX (kết quả phần ảo) Phương trình của phép biến đổi DFT:
)
2cos(
][]
[
ki i
x k
)
2sin(
][]
[
ki i
x k
trong đó, i Î [0, N-1], k Î [0, N/2]
Trong không gian số phức (tọa độ Descartes), ReX và ImX còn có thể được biểudiễn dưới dạng độ lớn r của vector phức và góc quay φ (tọa độ cực) như tronghình 2.11
Trang 29Hình 2.11: Tương quan giữa tọa độ Descartes và tọa độ cực.
Như vậy, với phần thực ReX và phần ảo ImX, ta có thể tính độ lớn MagX(magnitude spectrum) và pha PhaseX theo công thức:
2 2
) (Im )
r MagX
Re
Im arctan
Trong phép rút trích đặc trưng MFCC, kết quả của bước biến đổi Fourier
là PowX - Power Spectrum (bình phương độ lớn vector phức):
2
MagX PowX
PowX thể hiện mức tập trung năng lượng của tín hiệu âm thanh vào cácvùng tần số
Mel filter bank
Mel là viết tắt của từ melody Tần số mel (mel-frequency) tương ứng vớilogaric của tần số thông thường/tuyến tính (linear-frequency) Tần số mel phảnánh cách thức tiếp nhận âm thanh của tai người Phương trình tương quan giữamel-frequency và linear-frequency:
Trang 30mel = 1127.01048 * ln(1 + f/700) (2.1)
f = 700(em/1127.01048 - 1) (2.2)
Hình 2.12: Tương quan giữa tần số mel và tần số tuyến tính.
Mel filter banks là các bộ lọc band-pass hình tam giác Lọc band-pass làlọc thông các tần số trong khoảng mong muốn Mục tiêu của bước áp dụng các
bộ lọc Mel filter bank là để lọc lấy các tần số mà tai người có thể nghe được,đồng thời rút ngắn kích thước của vector đặc trưng
Các bộ lọc này được đặt sao cho các tần số trung tâm tăng đều trên miềnmel, và logaric trên miền tần số (linear frequency), đồng thời hai cạnh của một
bộ lọc phải được đặt trùng vào tần số trung tâm của hai bộ lọc lân cận Hình 2.13minh họa các bộ lọc trên miền mel và miền tẩn số
Hình 2.13: Mel filter banks trên miền mel và miền tần số.
Trang 31Xét các mel filter banks trên miền tần số trong hình 2.14 Trong đó, fc(m) là tần
số trung tâm của bộ lọc thứ m, Fs là sampling rate của tín hiệu âm thanh
Hình 2.14: Mel filter banks trên miền tần số tuyến tính.
Các bộ lọc được cho bởi công thức:
) 1 ( ) ( ) ( )
1 ( ) (
) 1 ( ) (
) ( ) ( ) 1 ( )
1 ( ) (
) 1 ( ) (
) 1 ( ) ( 0
) (
m f k f for
m f k f m f for m
f m f
m f k f
m f k f m
f for m
f m f
m f k f
m f k f for
k H
c
c c
c c
c
c c
c c
c
c
m
fc(m) = 700(ec(m)/1127.01048 - 1)
Power spectrum từ bước biến đổi Fourier khi đưa qua các Mel filter banks
sẽ được kết quả:
Trang 320
k H k PowX m
k
m
Bước cuối cùng là áp dụng phép biến đổi cosine rời rạc lên e
Biến đổi Cosine rời rạc (Discrete Cosine Transform - DCT)
Biến đổi cosine rời rạc được cho bởi công thức:
c
1 cos
) ( )
trong đó, c(l) là hệ số MFCC thứ l, l Î [1, L], L là số hệ số MFCC mong muốn,
M là số bộ lọc Thông thường M được chọn giá trị 24 và L là 12
Như vậy, vector c là kết quả của toàn bộ quá trình rút trích đặc trưngMFCC cho một frame Từ các vector c, các đạo hàm bậc một (delta-cepstrum) vàbậc hai (delta-delta cepstrum) có thể được tính như sau:
2 1
2( )
t t t
t x Energy
Trong các hệ thống nhận dạng tiếng nói, thông thường vector đặc trưngđược chọn gồm 39 thành phần: 12 MFCC, 1 MFCC-energy, 12 delta-cepstrum, 1delta-energy, 12 delta-delta cepstrum, 1 delta-delta-energy
2.3 MÔ HÌNH MARKOV ẨN
Mô hình ngữ âm trong hệ thống nhận dạng tiếng nói như đã trình bày trongphần 1.1 là mô hình Markov ẩn HMM, mô hình này ứng dụng cho nhiều bài
Trang 33toán, tuy nhiên áp dụng cho bài toán nhận dạng tiếng nói có kết quả khá tốt nênHMM đã gắn liền với bài toán nhận dạng tiếng nói Cơ sở lý thuyết về Markov
ẩn trình bày trong phần này được xây dựng từ tài liệu [3][18]
2.3.1 Chuỗi Markov
Về bài toán dự báo thời tiết, có 3 loại thời tiết là trời nắng, trời mưa, và trời có mây, bài toán dự báo thời tiết là dự báo thời tiết hôm nay một khi đã biết
Nói về bài toán dự báo thời tiết, làm sao dự báo được thời tiết mà khôngtrực tiếp quan sát về thời tiết Ví dụ một người ở trong phòng không tiếp xúc với
bên ngoài đã nhiều ngày, bây giờ muốn biết thời tiết bên ngoài nắng, mưa hay
mây mù thì phải làm sao? khi mà chỉ biết dữ kiện duy nhất là người phục vụ đem
cơm vào phòng có mang theo dù hay là không mang theo dù? nếu người đó mang
theo dù thì đoán bên ngoài chắc có mưa, đó chỉ là dự đoán, thực tế trời nắng họcũng có thể mang theo dù, nhưng xác suất trời nắng mang theo dù sẽ rất thấp Bài
Trang 34toán minh họa rằng thời tiết bên ngoài là ẩn, người trong phòng không biết gì
thời tiết bên ngoài mà chỉ biết người mang cơm vào phòng có mang dù hay
không mang dù? quan sát người phục vụ có mang theo dù hay không chính là dữ
kiện quan sát được, còn dữ kiện thời tiết là ẩn, dựa vào dữ kiện quan sát mang dù hay không mang dù để đoán xem thời tiết ẩn bên ngoài như thế nào? đây chính là
ý cơ bản nhất tại sao gọi là Markov ẩn
Ba bài toán của mô hình HMM
Bài Toàn 1: Tính toán khả suất (computing Likelihood) : cho biết trước
Bài toán 2: Tìm chuỗi trạng thái ẩn ( Decoding) : cho biết trước mô hình
Bài toán 3: Huấn luyện ( learning) : cho biết trước chuỗi quan sát O=
nhất? đây là bài toán huấn luyện cho mô hình HMM
Bài toán 1: Tính toán khả suất (computing Likelihood):
này là liệt kê tất cả các chuỗi trạng thái Q, ứng với mỗi chuỗi trạng thái có chuỗi
là tổng các chuỗi quan sát ứng với quan sát O cho trước đó
q q
Q all
o b a o b a o b
Q P Q O P O
2 1 1
| ,
Trang 35Sử dụng thuật toán forward-backward:
)
| ,
( )
T i O
p
1
)()
|(
Trang 36Hình 2.15 : Minh họa thuật toán forward [3]
3000 phép tính cho thủ tục forward trong khi phương pháp tính trực tiếp cần đến
Tương tự như trong thủ tục forward, thủ tục backward trước hết định
) ,
|
( )
Trang 371
1 ) ( ) (
)
với t T 1 ,T 2 , , 1 và 1 i N
Hình 2.16: Minh họa thuật toán backward [3]
với chi phí tính toán hoàn toàn có thể chấp nhận được
Đối với việc tìm lời giải cho bài toán 1, ta chỉ cần đến phần forward trongthủ tục forward-backward Tuy nhiên, phần backward giúp tìm lời giải cho bàitoán 2 và 3
Bài toán 2: Tìm chuỗi trạng thái ẩn ( Decoding) :
Bài toán này sử dụng để nhận dạng tiếng nói, biết chuỗi dữ liệu tiếng nóicho trước, tìm kiếm chuỗi dữ liệu tiếng nói sao cho giống chuỗi tiếng nói cho
Trang 38trước này nhất Trong HTK [5] đây chính là hàm cho kết quả nhận dạng Có hai
) ,
| (
t t t
t t
i i
i i O
p
i i i
1
)()(
)()()
|(
)()()
N i
1 , ) ( max arg
1
với các thực hiện này chưa phải là cách tính tối ưu, nếu một số xác suất chuyểntrạng thái bằng 0 có thể cho kết quả không chính xác, xảy ra trường hợp tối ưucục bộ
- Chọn một chuỗi trạng thái tốt nhất dùng thuật toán Viterbi (Viterbi
Algorithm)
(2-8)
Trang 39Thuật toán Viterbi thực hiện tìm chuỗi trạng thái ẩn chưa biết khi biết
toán forward nhưng ở đây tại mỗi bước tính chúng ta lấy giá trị max xác suất củacác trạng thái trước đó nhân với giá trị quan sát tương ứng với trạng thái đangxét, đồng thời lưu lại trạng thái có xác suất max trước đó để có thể quay ngượckhi đã tìm ra xác suất lớn nhất tại bước cuối cùng
Thuật toán Viterbi như sau:
1) Khởi tạo:
0 ) (
1 , ) ( )
(
1
1 1
T t o
b a i
N i t
N j
T t a
i
N i t
*
)]
( [ max
*
1
1
i q
i p
T N i T
T N i
, 2 , 1 ,
*) (
bài toán 2
Bài toán 3: Huấn luyện ( learning)
nhất? Đây chính là bài toán huấn luyện cho mô hình HMM
Trang 40Thuật toán Baum-Welch sẽ được sử dụng để giải quyết bài toán này:
từng bài toán thực tế mô hình sẽ được thiết lập trước):
) ,
| ,
( ) ,
t i j p q t s i q t s j O
t t j ij t
t t j ij t t
t j ij t t
j o
b a i
j o
b a i O
p
j o
b a i j
i
1 1
1 1
1 1 1
1
)()()(
)()()()
|(
)()()(),(
γt(i) và ξt(i,j) như sau:
1
) , ( )
(
)(
),(
T t
t i j
Với các đại lượng này, ta có các biểu thức cập nhật tham số của HMM như sau: