NHIỆM VỤ VÀ NỘI DUNG: ….Thiết kế hệ thống nhúng nhận dạng được các câu nói Tiếng Việt, thiết bị có khả năng giao tiếp với người điều khiển thông qua các câu nói qua lại, hướng tới ứng d
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP.HCM Cán bộ hướng dẫn khoa học: TS Hoàng Trang……… Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1: TS Huỳnh Phú Minh Cường……… (Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2: TS Lê Chí Thông……… (Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 3: TS Nguyễn Minh Hoàng……… (Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 4: TS Lê Ngọc Phú……… (Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại Học Bách Khoa, ĐHQG TP.HCM ngày 15 tháng 07 năm 2014
Thành phần hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 TS Huỳnh Phú Minh Cường (Chủ tịch)
2 TS Lê Chí Thông (Thư ký)
3 TS Nguyễn Minh Hoàng (Ủy viên phản biện)
4 TS Lê Ngọc Phú (Ủy viên phản biện)
Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sữa chữa (nếu có)
Trang 3- -
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: ………Trần Văn Hoàng……… MSHV:…12140019
Ngày, tháng, năm sinh: ….25/08/1989 ……… Nơi sinh: …T T Huế
Chuyên ngành: ….Kỹ thuật điện tử……… Mã số : …60520203
I TÊN ĐỀ TÀI: …Thiết kế hệ thống nhúng nhận dạng câu nói Tiếng Việt, ứng dụng trong hướng dẫn đường đi ở Trường Đại học Bách Khoa – ĐHQG TP.HCM
II NHIỆM VỤ VÀ NỘI DUNG: ….Thiết kế hệ thống nhúng nhận dạng được các câu nói Tiếng Việt, thiết bị có khả năng giao tiếp với người điều khiển thông qua các câu nói qua lại, hướng tới ứng dụng hướng dẫn đường đi ở Trường Đại học Bách Khoa – ĐHQG TP HCM
III NGÀY GIAO NHIỆM VỤ : (Theo QĐ giao đề tài)…24/06/2013
IV NGÀY HOÀN THÀNH NHIỆM VỤ: (Theo QĐ giao đề tài) 23/05/2014
V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS Hoàng Trang
Tp HCM, ngày tháng năm 20
CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) TRƯỞNG KHOA….………
(Họ tên và chữ ký)
Trang 4i
Trong quá trình thực hiện đề tài luận văn này, em đã gặp phải rất nhiều khó khăn Nhưng, được sự hướng dẫn tận tình và sự tạo điều kiện thuận lợi của Thầy Hoàng Trang, em đã dần dần tháo gỡ được rất nhiều vấn
đề, qua đó có thể hoàn thành đề tài này Vì vậy em xin gửi lời cám ơn chân thành nhất tới Thầy Xin cám ơn Thầy rất nhiều!
Em xin cám ơn các Thầy trong Hội đồng luận văn Thạc sĩ đã có những nhận xét, đánh giá và góp ý hết sức chính xác và bổ ích để giúp em chỉnh sửa và hoàn thiện luận văn của mình tốt hơn Xin cám ơn các Thầy rất nhiều!
Em cũng xin cám ơn Bộ môn Kỹ thuật Điện tử, Khoa Điện – Điện tử, Trường Đại học Bách Khoa Tp HCM, là đơn vị em đang công tác, đã tạo điều kiện thuận lợi để em có thời gian, thiết bị để thực hiện đề tài luận văn của mình
Và cuối cùng, em xin cảm ơn gia đình và những người thân đã luôn bên cạnh, động viên, giúp đỡ về mặt tinh thần trong quá trình thực hiện luận văn này
Tp Hồ Chí Minh, ngày 30 tháng 07 năm 2014
Học viên
Trần Văn Hoàng
Trang 5ii
Đề tài “Thiết kế hệ thống nhúng nhận dạng câu nói Tiếng Việt, ứng dụng trong hướng dẫn đường đi ở trường Đại Học Bách Khoa – ĐHQG TP.HCM” với mục tiêu là thiết kế một hệ thống nhúng có hệ điều hành có khả năng giao tiếp với người điều khiển thông qua các câu nói tiếng Việt, hướng ứng dụng hướng dẫn đường đi trong trường Đại học Bách Khoa – ĐHQG TP.HCM
Hệ thống nhận dạng được các câu nói tiếng Việt
Thiết bị có khả năng giao tiếp với người điều khiển thông qua các câu nói qua lại
Xây dựng được bản đồ khu vực một cách đơn giản (mà cụ thể ở đây là trong trường Đại học Bách Khoa – ĐHQG TP.HCM) và giải thuật định tuyến đường đi để từ đó ứng dụng hướng dẫn đường đi trong trường bằng giọng nói
Ứng dụng được xây dựng trên hệ thống nhúng có hệ điều hành
Trang 6iii
The thesis “Designing embedded system for Vietnamese continuous speech recognition, application-oriented in directions at University of Technology, Vietnam National University, Ho Chi Minh City” with the goal of designing an embedded Linux system is capable to
communicate with the users via Vietnamese sentences, application-oriented
in directions at University of Technology, Vietnam National University, Ho Chi Minh City
The system has the ability to recognize the Vietnamese sentences
The device has the ability to communicate with the users via sentences
Develop an areas map in a simple way (i.e University of Technology, HCM City) and research the routing path algorithm
The application is built on embedded Linux system
Trang 7iv
Tôi xin cam đoan rằng những gì tôi làm và trình bày ở đây hoàn toàn
là sự thật và là công sức của bản thân tôi
Học viên
Trần Văn Hoàng
Trang 8v
LỜI CÁM ƠN i
TÓM TẮT LUẬN VĂN ii
SUMMARY OF THESIS iii
LỜI CAM ĐOAN iv
MỤC LỤC v
DANH SÁCH CÁC CHỮ VIẾT TẮT ix
DANH SÁCH BẢNG x
DANH SÁCH HÌNH xi
CHƯƠNG 1: TỔNG QUAN 1
1.1 Giới thiệu đề tài 1
1.2 Tổng quan tình hình nghiên cứu trong, ngoài nước 1
1.2.1 Hệ thống nhận dạng tiếng nói: 1
1.2.2 Hệ điều hành nhúng cho các ứng dụng thời gian thực[92]: 13
1.2.3 Ứng dụng định tuyến đường đi: 15
1.3 Mục tiêu của đề tài 16
1.3.1 Mục tiêu tổng quát 16
1.3.2 Mục tiêu cụ thể 17
CHƯƠNG 2: HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 18
2.1 Thuật toán trích đặc trưng MFCC 18
2.1.1 Pre-emphasis 18
2.1.2 Frame Blocking 19
2.1.3 Windowing 20
2.1.4 FFT 22
2.1.5 Mel Frequency Bank 23
Trang 9vi
2.1.7 Energy Calculation 25
2.1.8 Delta Coefficient 26
2.1.9 Kết luận 26
2.2 Mô hình Markov ẩn 27
2.2.1 Quá trình Markov rời rạc 27
2.2.2 Mô hình Markov ẩn 29
2.2.3 Ba vấn đề cơ bản của HMM 31
2.2.4 Các loại mô hình HMM 43
2.2.5 Mật độ quan sát liên tục trong HMM 46
2.2.6 Kết luận 47
CHƯƠNG 3: NHẬN DẠNG CÂU NÓI LIÊN TỤC 48
3.1 Giới thiệu về nhận dạng câu nói liên tục dựa trên đơn vị subword 48
3.1.1 Các đơn vị tiếng nói subword Mô hình ngữ âm cho tiếng Việt 49
3.1.2 Các mô hình đơn vị subword dựa trên HMMs 53
3.1.3 Huấn luyện các đơn vị subword 54
3.1.4 Các mô hình ngôn ngữ cho nhận dạng tiếng nói bộ từ vựng lớn 56
3.1.5 Mô hình thống kê ngôn ngữ 56
3.1.6 Sự phức tạp của mô hình ngôn ngữ 57
3.1.7 Tổng thể hệ thống nhận dạng dựa trên các đơn vị subword 58
3.2 Xây dựng chương trình nhận dạng câu nói Tiếng Việt trên hệ điều hành Linux 59 3.2.1 Khối tiền xử lý và xây dựng vector đặc trưng 60
3.2.2 Dữ liệu huấn luyện 62
3.2.3 Mô hình ngữ âm 63
3.2.4 Mô hình từ vựng 63
3.2.5 Mô hình ngôn ngữ 65
Trang 10vii
CHƯƠNG 4: GIẢI THUẬT ĐỊNH TUYẾN 67
4.1 Giới thiệu 67
4.2 Giải thuật Dijkstra 68
4.2.1 Nội dung giải thuật 68
4.2.2 Lưu đồ giải thuật 74
4.3 Giải thuật A* 75
4.3.1 Nội dung giải thuật 75
4.3.2 Lưu đồ giải thuật 76
4.3.3 Tối ưu hóa thời gian tính toán cho giải thuật A* 77
4.3.4 Kết luận 78
4.4 Ứng dụng trên bản đồ thực tế 79
CHƯƠNG 5: KIT BEAGLEBOARD – xM VÀ HỆ ĐIỀU HÀNH LINUX NHÚNG 80 5.1 Kit BeagleBoard-xM 80
5.1.1 Tổng quan về BeagleBoard-xM 80
5.1.2 Đặc tính của BeagleBoard-xM 80
5.1.3 Cấu trúc hệ thống của BeagleBoard-xM 83
5.2 Hệ điều hành linux nhúng 83
5.2.1 Cấu trúc của hệ điều hành Linux và tương tác phần cứng 84
CHƯƠNG 6: KẾT QUẢ VÀ THẢO LUẬN 86
6.1 Kết quả khảo sát độ chính xác nhận dạng của hệ thống nhận dạng từ đơn 86 6.1.1 Khảo sát hệ số a trong khối Pre-emphasis 86
6.1.2 Khảo sát số bộ lọc trong khối Mel Frequency Filter Bank 87
6.1.3 Khảo sát số hệ số đặc trưng 89
6.1.4 Khảo sát số bộ trộn 90
Trang 11viii
phương pháp: mô hình HMM dựa trên từ đơn và mô hình HMM dựa trên
subword (phone) 92
6.3 Kết quả về độ chính xác nhận dạng của hệ thống nhận dạng câu nói liên tục Tiếng Việt với bộ từ vựng 50 từ 97
6.4 Bài báo khoa học đăng ở hội nghị và tạp chí quốc tế 100
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 101
7.1 Kết luận 101
7.2 Hướng phát triển 102
TÀI LIỆU THAM KHẢO 103
PHỤ LỤC 111
Trang 12ix
MFCC Mel-Frequency Cepstral Coefficients
Trang 13x
Bảng 1.2-1 Bảng tóm tắt các công trình nghiên cứu liên quan 8
Bảng 3.1-1 Ví dụ phiên âm cho mô hình ngữ âm 1 52
Bảng 3.1-2 Ví dụ phiên âm cho mô hình ngữ âm 2 52
Bảng 3.1-3 Ví dụ phiên âm cho mô hình ngữ âm 3 53
Bảng 3.2-1 Bộ từ điển phiên âm được áp dụng trong đề tài 64
Bảng 5.1-1 Các đặc tính của BeagleBoard-xM [14] 82
Bảng 6.1-1 Thông số khảo sát hệ số a 87
Bảng 6.1-2 Độ chính xác nhận dạng theo hệ số a 87
Bảng 6.1-3 Thông số khảo sát số bộ lọc 88
Bảng 6.1-4 Độ chính xác nhận dạng theo số bộ lọc 88
Bảng 6.1-5 Thông số khảo sát số hệ số đặc trưng 89
Bảng 6.1-6 Độ chính xác nhận dạng theo số hệ số đặc trưng 90
Bảng 6.1-7 Thông số khảo sát số bộ trộn 90
Bảng 6.1-8 Độ chính xác theo số bộ trộn 91
Bảng 6.2-1 Kết quả khảo sát độ chính xác nhận dạng mô hình HMM từ đơn 92
Bảng 6.2-2 Kết quả khảo sát độ chính xác nhận dạng mô hình HMM subword (phone) theo mô hình ngữ âm 2 94
Bảng 6.2-3 Kết quả khảo sát độ chính xác nhận dạng mô hình HMM subword (phone) theo mô hình ngữ âm 1 95
Bảng 6.2-4 Kết quả khảo sát độ chính xác nhận dạng mô hình HMM subword (phone) theo mô hình ngữ âm 3 96
Trang 14xi
Hình 1.2-1 Hệ thống nhận dạng mẫu 6
Hình 1.2-2 Sơ đồ khối phần nhận dạng tiếng nói 6
Hình 2.1-1 Sơ đồ khối thuật toán trích đặc trưng MFCC thông thường 18
Hình 2.1-2 Đáp ứng tần số của bộ lọc Pre-emphasis 19
Hình 2.1-3 Cách chia frame trong phân tích tiếng nói 20
Hình 2.1-4 Cửa sổ Hamming 160 điểm 20
Hình 2.1-5 Windowing trong phân tích tiếng nói 21
Hình 2.1-6 Thang tần số Mel 23
Hình 2.1-7 Một băng bộ lọc Mel, theo thang Mel (a) và theo thang tần số thông thường (b) 24
Hình 2.2-1 Chuỗi Markov với 5 trạng thái (đánh nhãn từ 1 tới 5) với các đường chuyển trạng thái 28
Hình 2.2-2 (a) Chỉ ra chuỗi hoạt động cần thiết cho tính toán biến (b) Thực hiện tính toán theo cấu trúc mạng tinh thể 37
Hình 2.2-3 Các loại mô hình HMMs (a) Mô hình ergodic 4 trạng thái (b) Mô hình left-right 4 trạng thái (c) Mô hình left-right 6 song song 6 trạng thái 45
Hình 3.1-1 HMM đại diện cho một từ đơn (a) và một đơn vị subword (b) 53
Hình 3.1-2 Sự phân đoạn của một câu phát biểu huấn luyện kết quả từ huấn luyện phân đoạn K-means cho lần đầu một số lặp đi lặp lại [7] 55
Hình 3.1-3 Sơ đồ khối của hệ thống nhận dạng tiếng nói liên tục 58
Hình 3.2-1 Các thành phần của hệ nhận dạng tiếng nói 59
Hình 3.2-2 Đoạn mẫu âm thanh trước khi qua khối VAD 60
Hình 3.2-3 Đoạn mẫu âm thanh sau khi qua khối VAD 60
Hình 3.2-4 Sơ đồ khối thuật toán trích đặc trưng MFCC thông thường 61
Hình 3.2-5 Mô hình ngữ pháp trong ứng dụng câu nói liên tục 65
Hình 3.2-6 Các cấp độ của hệ thống nhận dạng tiếng nói theo mô hình ngữ âm 66
Hình 4.2-1 Lưu đồ của giải thuật Dijkstra 74
Hình 4.3-1 Lưu đồ của giải thuật A* 76
Hình 4.3-2 Minh họa giải thuật A* thông thường và cải tiến 78
Trang 15xii
Hình 5.1-1 BeagleBoard-xM [14] 81
Hình 5.1-2 Sơ đồ hệ thống BeagleBoard-xM [14] 83
Hình 5.2-1 Cấu trúc hệ điều hành Linux 83
Hình 6.3-1 Mô hình ngữ pháp trong ứng dụng câu nói liên tục 99
Trang 16CHƯƠNG 1:TỔNG QUAN 1
CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu đề tài
Đề tài “Thiết kế hệ thống nhúng nhận dạng câu nói Tiếng Việt, ứng dụng trong hướng dẫn đường đi ở trường Đại Học Bách Khoa – ĐHQG TP.HCM” với mục tiêu là thiết kế một hệ thống nhúng có hệ điều hành có khả năng giao tiếp với người điều khiển thông qua các câu nói tiếng Việt, hướng ứng dụng hướng dẫn đường đi trong trường Đại học Bách Khoa – ĐHQG TP.HCM
Hệ thống nhận dạng được các câu nói tiếng Việt
Thiết bị có khả năng giao tiếp với người điều khiển thông qua các câu nói qua lại
Xây dựng được bản đồ khu vực một cách đơn giản mà cụ thể ở đây là trong trường Đại học Bách Khoa – ĐHQG TP.HCM) và giải thuật định tuyến đường đi để từ đó ứng dụng hướng dẫn đường đi trong trường bằng giọng nói
Ứng dụng được xây dựng trên hệ thống nhúng có hệ điều hành
1.2 Tổng quan tình hình nghiên cứu trong, ngoài nước
1.2.1 Hệ thống nhận dạng tiếng nói:
Tiếng nói là phương tiện giao tiếp cơ bản nhất của loài người, nó hình thành song song với quá trình tiến hóa của con người Đối với con người, sử dụng tiếng nói là cách diễn đạt đơn giản và hiệu quả nhất Ưu điểm của giao tiếp bằng tiếng nói, trước tiên là ở tốc độ giao tiếp, tiếng nói từ người nói được người nghe hiểu ngay sau khi được phát ra Bên cạnh đó, tiếng nói là cách giao tiếp được sử dụng rộng rãi nhất
Trang 17CHƯƠNG 1:TỔNG QUAN 2
Vấn đề nhận dạng tiếng nói là một vấn đề lớn, nhiều nghiên cứu đã thực hiện trong vài thập niên gần đây Các hệ thống với bộ từ vựng nhỏ, nhập từ rời rạc có thể áp trong những ứng dụng tương đối đơn giản để cải thiện hiệu quả nhập thông tin vào máy, trong môi trường sản xuất, hoặc trong những ứng dụng từ xa với thiết bị
Nhận dạng tiếng nói đã được nghiên cứu hơn 60 năm qua Những
nỗ lực đầu tiên được thực hiện từ những năm 1950 Đầu những năm 1970,
hệ thống nhận dạng tiếng nói được thiết kế để nhận dạng phát âm rời rạc trong môi trường nhiễu thấp Các hệ thống dùng bộ từ vựng nhỏ (10-100 từ)
và trong trường hợp nguời nói cũng là người huấn luyện Từ đó đến nay, cùng với sự phát triển của khoa học, kỹ thuật nhận dạng tiếng nói đã có những sự tiến bộ vượt bậc, được thực hiện bằng những phương pháp giải thuật mới hiện đại và hiệu quả ngày càng cao
Khoa học kỹ thuật ngày càng phát triển, các hệ thống máy móc ngày càng hoàn thiện giúp con người làm việc hiệu quả hơn Tuy nhiên quá trình giao tiếp giữa người và máy vẫn còn nhiều khó khăn Để ngày càng tự nhiên hóa việc giao tiếp và điều khiển máy móc, vấn đề nghiên cứu các phương pháp nhận dạng tiếng nói được đặt ra và đã có một số phần mềm nhận dạng tiếng Anh tương đối tốt ra đời như ViaVoice của IBM, Spoken toolkit của CSLU (Central of spoken language understanding),…[1]
Tuy nhiên đối với tiếng Việt vấn đề này chỉ mới được quan tâm nghiên cứu trong những năm gần đây Đã có một số công trình nghiên cứu về lĩnh vực này với nhiều hướng tiếp cận khác nhau, song kết quả đạt được vẫn còn khiêm tốn Nhận dạng tiếng nói tiếng Việt dùng phần mềm cho kết quả khá tốt nhưng nhận dạng tiếng nói tiếng Việt dùng phần cứng thì còn khá hạn chế
Một trong những sản phẩm phần mềm nhận dạng tiếng Việt được nhắc đến đó là phần mềm VSpeech dùng nhận dạng tiếng Việt trên máy tính của nhóm sinh viên Khoa Công Nghệ Thông Tin trường Đại học Bách Khoa
Trang 18CHƯƠNG 1:TỔNG QUAN 3
TPHCM (đưa vào sử dụng cuối năm 2004) hay công trình của Viện Công Nghệ Thông Tin- Viện Khoa Học Công Nghệ Việt Nam của nhóm tác giả trong [1] với đề tài “Nghiên cứu phát triển công nghệ nhận dạng, tổng hợp và
xử lý ngôn ngữ tiếng Việt” sản phẩm thuộc đề tài khoa học công nghệ trọng điểm cấp Nhà nước về “Nghiên cứu khoa học và phát triển công nghệ thông tin và truyền thông” giai đoạn 2001 – 2005 (KC01-03) do GS TSKH Bạch Hưng Khang, Viện trưởng Viện CNTT, làm chủ nhiệm hay công trình
“Nghiên cứu, phát triển một số sản phẩm tiêu biểu và thiết yếu về xử lý tiếng nói và văn bản tiếng Việt” giai đoạn 2006 - 2010 (KC01.01/06-10) do PGS
TS Lương Chi Mai, Phó Viện trưởng Viện CNTT, làm chủ nhiệm [2] Các nhóm tác giả trong [3] đã kiểm nghiệm thực tế thành công trên mô hình xe điều khiển từ xa với bộ từ vựng gồm 4 từ: phải, trái, tới, lui cho kết quả nhận dạng tốt (99%) Tuy nhiên, hạn chế lớn của đề tài này là bộ từ vựng nhỏ, tốc
độ xử lý thấp và đề tài này cũng thực hiện trên máy tính
Đề tài “Ứng dụng wavelets nhận dạng tiếng nói Tiếng Việt trong điều khiển và thông tin”, đề tài NCKH trọng điểm ĐHQG TP.HCM ngày 28/01/2004, do PGS.TS Lê Tiến Thường làm chủ nhiệm [4], đã ứng dụng nhận dạng Tiếng Việt trong việc điều khiển cánh tay robot [5]
Các nhóm tác giả trong [97], [98] trình bày lý thuyết về trích đặc trưng tiếng nói dùng phương pháp MFCC và bộ giải mã tiếng nói dùng HMM với nhiều cải tiến mới dùng cho nhận dạng các số tiếng Anh từ 0 đến
9 Các nhóm tác giả trong [6] đã thực hiện thành công trên FPGA Cyclone II với việc nhận dạng 1 vài từ và thể hiện bằng việc bật sáng các đèn led bằng giọng nói Trong bộ trích đặc trưng, do tính chất phức tạp khi thực thi phần cứng phép biến đổi FFT nên nhóm tác giả này sử dụng module FFT 1024 điểm được hỗ trợ sẵn trong IP Megacore của Altera Đối với bộ giải mã tiếng nói, nhóm tác giả trong [6] dùng phương pháp lượng tử vectơ (VQ), phương pháp này chỉ thích hợp cho nhận dạng với bộ từ vựng nhỏ (khoảng 10 đến 20 từ) Ngoài ra, các tác giả này cũng đưa ra hướng phát triển tiếp theo là dùng
Trang 19Nói chung từ các công trình nghiên cứu trước đây của các công ty, cũng như trường đại học, viện nghiên cứu; có 3 phương pháp tiếp cận chính
để nhận dạng tiếng nói: ngữ âm học, nhận dạng mẫu và ứng dụng trí tuệ nhân tạo
Ngữ âm học: dựa vào lý thuyết về ngữ âm âm thanh, lý thuyết này cho rằng tiếng nói tồn tại hữu hạn, các đơn vị âm thanh có thể phân biệt được và được đặc trưng bởi một tập các tính chất biểu hiện cho tín hiệu tiếng nói trong miền thời gian hay các tính chất phổ của nó Bước đầu tiên trong phương pháp ngữ âm học là phân đoạn và gán nhãn, bước thứ hai là xác định từ hợp lệ từ dãy ngữ
âm được gán nhãn trong bước đầu tiên
Nhận dạng mẫu [8]: gồm hai bước chính là huấn luyện mẫu và so sánh mẫu Đặc tính chủ yếu của phương pháp này là sử dụng các
cơ cấu toán học rõ ràng và thiết lập sự biễu diễn thích hợp các mẫu tiếng nói cho việc so sánh chính xác các mẫu huấn luyện Tiếng nói có thể được biễu diễn ở dạng mẫu tiếng nói hoặc một mô hình thống kê, có thể được áp dụng cho một âm, một từ hoặc một nhóm
từ Trong giai đoạn so sánh mẫu, có một sự so sánh trực tiếp giữa tiếng nói chưa biết với mỗi mẫu được học trong giai đoạn huấn luyện để xác định đặc tính của mẫu chưa biết Hướng kết hợp mẫu trở thành phương pháp nhận dạng rất phổ biến trong những năm
90
Trang 20CHƯƠNG 1:TỔNG QUAN 5
Phương pháp trí tuệ nhân tạo: nghiên cứu cách học nói và học nghe của con người, tìm hiểu các quy luật ngữ âm, ngữ pháp, ngữ nghĩa, ngữ cảnh… và tích hợp chúng bổ sung cho các phương pháp khác để nâng cao kết quả nhận dạng [9], [10]
Trong ba phương pháp trên, phương pháp nhận dạng mẫu được tập trung nghiên cứu và phát triển bởi nó có 3 thuận lợi chính sau: đơn giản để hiểu và sử dụng; không thay đổi với các từ vựng tiếng nói, nhiều người dùng, nhiều tập đặc trưng, các giải thuật so sánh mẫu và các quy luật quyết định Trong hầu hết các hệ thống nhận dạng mẫu, có 4 bước chính:
Trích đặc trưng: đó chính là các giá trị đo đạt tín hiệu ngõ vào để xác định mẫu thử,
Huấn luyện mẫu: một hoặc nhiều mẫu thử của cùng một loại mẫu thử được dùng để tạo ra một mẫu tiêu biểu với những đặc trưng của lớp đó,
So sánh mẫu: mẫu thử chưa biết được so sánh với mẫu thử tham khảo mỗi lớp và tính toán sự tương đồng giữa mẫu thử kiểm tra với mỗi mẫu thử tham khảo,
Quyết định logic: điểm số của sự giống nhau với mẫu tham khảo được dùng để quyết định mẫu tham khảo phối hợp tốt nhất với mẫu thử chưa biết
Hình 1.2-1 chỉ ra sơ đồ khối của hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu
Trong hệ thống nhận dạng tiếng nói dùng phương pháp nhận dạng mẫu, hiệu suất nhận dạng phụ thuộc phần lớn vào số lượng dữ liệu huấn luyện sẵn có, môi trường nói, các đặc trưng truyền dẫn của môi trường dùng
để tạo ra tiếng nói, không phụ thuộc vào bộ từ vựng, ngữ nghĩa,…[8] Khối lượng tính toán cho huấn luyện mẫu và phân loại mẫu tỷ lệ tuyến tính với số lượng mẫu được dùng để huấn luyện và nhận dạng
Trang 21CHƯƠNG 1:TỔNG QUAN 6
Hình 1.2-1 Hệ thống nhận dạng mẫu Trong hệ thống nhận dạng tiếng nói dùng phương pháp nhận dạng mẫu như trong Hình 1.2-2, bước huấn luyện là bước để tạo ra các mẫu tham khảo và bước này thường được thực hiện trước
Hình 1.2-2 Sơ đồ khối phần nhận dạng tiếng nói Phần “trích đặc trưng” (trong Hình 1.2-2) chuyển tiếng nói chưa biết thành một vài thông số đại diện cho một mức độ thông tin thấp hơn dùng cho việc phân tích đặc trưng tiếng nói sau này Những thông số này được gọi là
“những đặc trưng” Có một vài loại thông số đặc trưng được nghiên cứu như:
Trang 22CHƯƠNG 1:TỔNG QUAN 7
các hệ số cepstrum trong thang tần số Mel (MFCC) [10],[11],[12],[13], các
hệ số cepstrum trong thang tần số tuyến tính (LFCC) [14], [15], [16], các hệ
số dự đoán tuyến tính (LPC), [17], [18], [19], [20], các hệ số phản xạ (RC) [21], [22] và các hệ số cepstrum được suy ra từ các hệ số dự đoán tuyến tính (LPCC) [21], [23], [24],…Ngày nay, các hệ số MFCC là một trong những đặc trưng thông dụng nhất bởi vì nó xấp xỉ không tuyến tính sự cảm nhận của tai người về phổ tần số của âm thanh vì vậy nó đạt chất lượng nhận dạng tốt hơn các thông số đặc trưng khác [8], [10]
Phần “so sánh mẫu” (trong Hình 1.2-2) so sánh mẫu chưa biết với các mẫu tham khảo trong thư viện hệ thống và các điểm số tương đồng giữa mẫu chưa biết với mỗi mẫu tham khảo Một phương pháp phổ biến cho phần này
là dùng mô hình Markov ẩn (HMM) [25],[26], [27] , [28] , [29] , [30] , [31] , [32] , [33] , [34] , [35] mô hình này sử dụng sự thống kê thông tin riêng trong tiếng nói để đạt được độ tin cậy cao cho sự nhận dạng Để tiến hành việc nhận dạng dựa trên HMM chúng ta cần phải tìm chuỗi trạng thái tối ưu được liên kết với chuỗi quan sát đã cho Thuật toán Viterbi [36], [37], [38], [39] được dùng để tìm chuỗi dạng thái tốt nhất này dựa trên các phương thức lập trình động
Bên cạnh các công trình, sản phẩm và những nghiên cứu liên quan như trên, còn có các công trình khác trình bày các thiết kế - tuy nhiên chỉ là một phần nhỏ trong thiết kế, hay các công trình này trình bày các giá trị của các thông số của 1 trong 3 phương pháp nhận dạng tiếng nói cùng với các ứng dụng khác nhau Để thuận lợi và ngắn gọn trong trình bày, các công trình này được liệt kê trong bảng tóm tắt sau đây cùng với đó là các thông số, ứng dụng Các tổ chức thực hiện công trình được trình bày ở bảng tóm tắt sau là các công ty như Texas Instrusment, IBM, Panasonic, Philips, Mitsubishi, NEC,… hoặc các trường, viện nghiên cứu trên thế giới như MIT, Cambridge, Tohoku, KAIST,… Bảng tóm tắt này được trình bày theo thứ tự abc của tên tổ chức thực hiện
Trang 23CHƯƠNG 1:TỔNG QUAN 8
Bảng 1.2-1 Bảng tóm tắt các công trình nghiên cứu liên quan
Thông tin chung Các thông số xử lý tín hiệu số tín hiệu Các tham Mô hình thống kê
Tổ
chức
[Ref.]
Ứng dụng độ
lớn từ vựng/kiể
u
fs
Độ rộng frame (ms)
Độ rộng cửa
sổ (ms)
Phân tích
Công nghệ nhận dạng giọng nói ATR
[40]
Large
LP Power
PWLR VQ(256)
HMM ATR
DD-[41]
Large
Mel FB, D-FB, D-D-FB
Cep
Liftered-D-Cep
D-D-Cep
Power D-Power D-D- Power
[44,45]
Large
FFT(512) Cep.(14)
Mel-Cep
D-Cep
Power D-Power
Cep
D-Cep Power D-Power
MS-VQ (256/stag e)
HMM-NN Cambri
BT Cep
D-Cep
Power D-Power
MS-VQ (256/stag e)
HMM
MS-VQ (256/stag e)
Mel-Cep
D-Cep
Power Power
D-Variance MS-VQ
HMM DD- HMM CSELT
HMM INRS
CD-[56]
Large
DD-HMM KAIST
[57]
Large
LP(12) Cep(12)
Cep
D-Cep
MS-VQ (256/stag e)
HMM
Trang 24CD-HMM NEC
Cep
D-Cep
Power D-Power
il
Bark-Cep
Power D-Cep
Delta-Max Ampl
CD-HMM Tohoku
Trang 25CHƯƠNG 1:TỔNG QUAN 10
Ghi chú:
a Chú thích từ viết tắt trong bảng trên:
đơn)
Trang 26CHƯƠNG 1:TỔNG QUAN 11
Ngoài ra, một vấn đề cần quan tâm là vấn đề môi trường huấn luyện
và môi trường nhận dạng phải tương đồng với nhau, nghĩa là mức nhiễu cũng tương đồng nhau thì độ chính xác nhận dạng mới tốt Các công trình đã cho thấy nhiễu khi nhận dạng khác với nhiễu khi huấn luyện ảnh hưởng xấu đến chất lượng nhận dạng và tìm cách khác phục nó [82], [83], [84], [85], [86] Aurora [87] là một cơ quan nghiên cứu của Châu Âu, đã mô tả cách xây dựng cơ sở dữ liệu cũng như cách tiến hành các thí nghiệm để đánh giá chất lượng của thuật toán trích đặc trưng tín hiệu tiếng nói và chất lượng của toàn
hệ thống nhận dạng tiếng nói trong các môi trường nhiễu khác nhau Các tập
dữ liệu và các thí nghiệm được xây dựng dùng cho việc đánh giá hệ thống
Trang 27CHƯƠNG 1:TỔNG QUAN 12
nhận dạng có sự tham gia của nhiễu môi trường (dùng phương pháp cộng nhiễu) Dữ liệu sạch (dữ liệu gốc) được lấy từ TIDigits [88], tập dữ liệu ngôn ngữ tiếng Anh (do người Mỹ đọc) Aurora hướng tới việc đánh giá quá trình nhận dạng tiếng nói của các hệ thống viễn thông, do đó tín hiệu nhiễu được lựa chọn đại diện cho các môi trường phổ biến nhất có khả năng sử dụng các thiết bị viễn thông đầu cuối Tám loại nhiễu đã được sử dụng để tạo ra các tập dữ liệu méo dạng khác nhau (sử dụng phương pháp cộng): nhiễu trong môi trường xe ô tô, tàu điện ngầm, nhà hàng, sân bay, khu vực đông người, triển lãm, trên đường, ga tàu điện [87]
Bên cạnh đó, cũng có các công trình đề nghị cách xây dựng môi trường kiểm tra thiết kế nhận dạng tiếng nói [89], hay các thiết kế nâng cao hơn trong giao tiếp bộ nhớ [90], cũng như thiết kế-layout cho chip nhận dạng tiếng nói trên những công nghệ mới như 40nm [91]
Ngoài ra, ứng dụng nhận dạng giọng nói Siri trên hệ điều hành iOS của Apple, Google Now trên hệ điều hành Android của Google cũng cần phải nhắc đến
Nuance Communications, một tập đoàn truyền thông có trụ sở tại Massachusetts, Hoa Kỳ mới đây đã giới thiệu đến cộng đồng sử dụng iOS Việt Nam bộ đôi ứng dụng phục vụ việc tìm kiếm và nhập dữ liệu thông qua giọng nói với cái tên Dragon Search và Dragon Dictation Điều đặc biệt của
bộ đôi ứng dụng này, đó là chúng đều có hệ thống module nhận diện tiếng Việt tương đối hoàn chỉnh, có thể nhận diện những câu chữ phổ biến được nhập vào chiếc điện thoại
Các ứng dụng Siri, Google Now, Dragon Search, Dragon Dictation… đều có chung một nhược điểm là khi sử dụng bắt buộc thiết bị phải kết nối internet Sử dụng tài nguyên của server để nhận dạng câu nói Điều đó làm cho độ độc lập của thiết bị bị hạn chế, không sử dụng được đối với những nơi không có kết nối internet, khó ứng dụng để điều khiển hay sử dụng cho một ứng dụng cụ thể nào đó
Trang 28CHƯƠNG 1:TỔNG QUAN 13
1.2.2 Hệ điều hành nhúng cho các ứng dụng thời gian thực[92]:
Một hệ thống nhúng là sự kết hợp giữa phần cứng và phần mềm và có thể có các thành cơ học khác được thiết kế để thực hiện một chức năng nhất định Một hệ thống nhúng thông thường là hệ thống bên trong một hệ thống khác lớn hơn Các xe ô tô hiện đại và các xe tải chứa rất nhiều hệ thống nhúng Một hệ thống nhúng điều khiển chống bó phanh, cái khác thì theo dõi
và kiểm soát khí thải xe, cái khác nữa thì hiển thị các thông tin trên bảng điều khiển Ngay cả các máy tính các nhân thông thường cũng được hình thành từ rất nhiều hệ thống nhúng Bàn phím, chuột, card màn hình, modem,
ổ đĩa cứng, ổ đĩa mềm, và card âm thanh đều là hệ thống nhúng
Một trong những phân lớp của hệ thống nhúng là hệ thống nhúng thời gian thực Một hệ thống thời gian thực là hệ thống mà nó có ràng buộc về thời gian Hiệu suất của một hệ thống thời gian thực thì được xác định trong việc có khả năng tính toán hay quyết định một cách kịp thời Các tính toán quan trọng đều có thời hạn hoàn thành Một tính toán hay quyết định không kịp thời hạn cho phép sẽ gây hậu quả xấu giống như việc tính toán hoặc quyết định sai Thiệt hại gây ra bởi việc tính toán không đúng thời hạn tùy thuộc vào mỗi ứng dụng cụ thể Lấy ví dụ, nếu một hệ thống thời gian thực là một bộ phận của hệ thống kiểm soát không lưu, một tính toán hay quyết định không đúng thời hạn có thể gây nguy hiểm đến tính mạng của hành khách và phi hành đoàn
Bên trong một hệ thống nhúng
Các tính năng quan trọng phổ biến và yêu cầu thiết kế của một phần cứng nhúng bao gồm:
i Processing power: Lựa chọn bộ xử lý dựa trên sức mạnh xử lý để hoàn
thành công việc và còn dựa trên độ rộng thanh ghi yêu cầu
ii Throughput: Hệ thống có thể cần xử lí nhiều dữ liệu trong một khoảng
thời gian ngắn
Trang 29CHƯƠNG 1:TỔNG QUAN 14
iii Response: Hệ thống có thể phản ứng với các sự kiện một cách nhanh
chóng
iv Memory: Người thiết kế phần cứng phải ước lượng một cách tốt nhất bộ
nhớ yêu cầu và phải trích lập dự phòng cho việc mở rộng
v Power consumption: Hệ thống thông thường làm việc dựa vào pin và
việc thiết kế phần cứng và phần mềm phải cẩn trọng trong tiết kiệm năng lượng cho hệ thống
vi Number of units: Số sản phẩm định làm ra và bán sẽ quyết định việc cân
nhắc giữa chi phí sản xuất và chi phí phát triển
vii Expected lifetime: Các quyết định trong thiết kế như việc lựa chọn các
thành phần, bộ phận ảnh hưởng đến chi phí phát triển hệ thống sẽ phụ thuộc vào việc tuổi thọ hệ thống là bao lâu
viii Program Installation: Cài đặt phần mềm cho hệ thống nhúng cần các
công cụ đặc biệt
ix Testability & Debugability: thiết lập điều kiện test và công cụ sẽ rất khó
khăn
x Reliability: là điều rất quan trọng
Tại sao dùng hệ điều hành nhúng cho các ứng dụng thời gian thực?[92]
Tính toán thời gian thực là nơi mà hệ thống chính xác không chỉ phụ thuộc vào tính chính xác của các kết quả hợp lý mà còn phụ thuộc vào thời gian cho ra kết quả Vì vậy hệ điều hành cần có các tính năng để hổ trợ các yêu cầu quan trọng này để làm cho nó được gọi là hệ điều hành thời gian thực (Real-time Operating System – RTOS)
Hệ điều hành không phải là một thành phần cần thiết của bất kỳ hệ thống máy tính Một lò vi sóng đơn giản không yêu cầu một hệ điều hành Tuy nhiên, sự phức tạp của các ứng dụng mở rộng vượt ra ngoài nhiệm vụ đơn giản của những lợi ích của một hệ điều hành có nhiều giá trị hơn liên quan chi phí Từ khi hệ thống nhúng (PDAs, điện thoại di động, VCRs, điều
Trang 30CHƯƠNG 1:TỔNG QUAN 15
khiển robot công nghiệp, hay ngay cả máy nướng bánh) trở nên phức tạp hơn
về phần cứng qua mỗi thế hệ sản phẩm, và càng ngày càng nhiều tính năng được đưa vào, ứng dụng mà các thiết bị này chạy đòi hỏi nhiều hơn và nhiều chi tiết chạy trên mã hệ điều hành thực tế để đáp ứng các yêu cầu tốc độ phản ứng của hệ thống và giữ thời gian phát triển hợp lý [93]
Hệ điều hành thời gian thực cho phép các ứng dụng thời gian thực được thiết kế và mở rộng dễ dàng Chức năng có thể thêm vào mà không thay đổi lớn đến phần mềm Việc sử dụng hệ điều hành thời gian thực còn giúp đơn giản hóa quá trình thiết kế bằng cách chia nhỏ code ứng dụng thành các nhiệm vụ riêng biệt Với hệ điều hành thời gian thực có độ ưu tiên, tất cả các sự kiện thời gian quan trọng đều được xử lý một cách nhanh chóng và hiệu quả nhất có thể Một hệ điều hành thời gian thực cho phép một người sử dụng tốt hơn các nguồn tài nguyên hệ thống bằng cách cung cấp các tiện ích
có giá trị như các cờ hiệu, hộp thư, queues, thời gian trễ, thời gian chờ …
Các giá phải trả cho các tiện ích là chi phí phát sinh cho hệ điều hành thời gian thực, tiền bản quyền cho mỗi sản phẩm (nếu sử dụng hệ điều hành bản quyền), nhiều RAM và ROM hơn, và đòi hỏi tốc độ xử lý của CPU tăng lên
1.2.3 Ứng dụng định tuyến đường đi:
Hiện nay trên thế giới cũng như tại Việt Nam, các dự án tạo lập ứng dụng trên các hê thống nhúng hệ điều hành là rất nhiều, và hầu hết là các ứng dụng mã nguồn mở chạy trên các hệ diều hành như Ubuntu hoặc Angstrom Đồng thời cũng có rất nhiều cộng đồng, diễn đàn được lập ra để trao đổi, giúp đỡ nhau trong việc nghiên cứu và phát triển, đó là một thuận lợi lớn và
nó làm cho thời gian phát triển một ứng dụng rút ngắn đi đáng kể
Tuy nhiên đối với các ứng dụng nhằm sử dụng bản đồ, các ứng dụng thông thường dựa vào các cơ sở dữ liệu của các nhà cung cấp để hiển thị, các ứng dụng này bắt buộc phải có kế nối đến một server để lấy dữ liệu bản đồ, lấy kết quả định tuyến…thông qua các hàm API (Application Programming
Trang 31CHƯƠNG 1:TỔNG QUAN 16
Interface) được quy định bởi mỗi nhà cung cấp Điều này gây ra các bất lợi như sau:
Khi sử dụng dịch vụ từ nhà cung cấp, chúng ta phải trả phí hoặc sẽ
bị giới hạn về chức năng cũng như số lần sử dụng
Chúng ta không thể sửa đổi được cơ sở dữ liệu
Thông thường trong cơ sở dữ liêu của nhà cung cấp sẽ không có chi tiết về đường đi đối với các bản đồ nhỏ (trong khuôn viên trường học, nhà máy, khu vui chơi, khu du lịch…) Do đó việc thực hiện chỉ đẫn đường đi ở các khu vực này sẽ không thực hiện được hoặc thực hiện nhưng không có đạt được sự tối ưu
Hơn nữa các thiết bị chỉ đường hiện nay hầu hết đều có giá thành cao, không có khả năng tích hợp với các thiết khác, và có thể phải trả phí dịch vụ cao khi sử dụng Điều đó đặt ra nhu cầu cho một hệ thống tốt hơn, có thể khắc phục được những nhược điểm trên
1.3 Mục tiêu của đề tài
1.3.1 Mục tiêu tổng quát
Đề tài “Thiết kế hệ thống nhúng nhận dạng câu nói Tiếng Việt, ứng dụng trong hướng dẫn đường đi ở trường Đại Học Bách Khoa – ĐHQG TP.HCM bằng giọng nói” có mục tiêu tổng quát là:
+ Thiết kế hệ thống nhúng nhận dạng được các câu nói tiếng Việt + Thiết bị có khả năng giao tiếp với người điều khiển thông qua các câu nói qua lại
+ Xây dựng được bản đồ khu vực mà cụ thể ở đây là trong trường Đại học Bách Khoa – ĐHQG TP.HCM) và giải thuật định tuyến đường đi, hướng ứng dụng hướng dẫn đường đi trong trường bằng giọng nói
Trang 32CHƯƠNG 1:TỔNG QUAN 17
1.3.2 Mục tiêu cụ thể
+ Nghiên cứu phương pháp, giải thuật nhận dạng câu nói tiếng Việt với
mục tiêu là nhận dạng được khoảng 20 câu nói, độ dài trung bình mỗi câu khoảng 7 đến 8 từ đơn Ví dụ như: “Chào bạn!”, “Xin chào!”, “Tôi muốn đến phòng Đào Tạo”, “Đến Phòng Kế hoạch Tài chính?”, “ Muốn đến Thư viện Đại học Bách Khoa?” … Độ chính xác nhận dạng yêu cầu là trên 80% với điều kiện nhận dạng là cùng một người huấn luyện và trong môi trường nhiễu không quá lớn (trong khuôn viên trường học)
+ Xây dựng bản đồ khu vực (cụ thể trong đề tài này là bản đồ trường Đại học Bách Khoa – ĐHQG TP.HCM), và giải thuật định tuyến đường đi để hướng dẫn đường đi trong trường Đại học Bách Khoa
+ Thực hiện nhúng một hệ điều hành nhúng (cụ thể ở đây là hệ điều hành Linux nhúng) lên một Kit phát triển (BeagleBoard xM) Trong đó có khả năng tùy biến điều chỉnh các thành phần của hệ điều hành sao cho gọn nhẹ, ít tốn bộ nhớ và đảm bảo được tốc độ thực thi cao cho ứng dụng
+ Kết hợp các thành phần trên để thực hiện được một thiết bị nhúng có khả năng giao tiếp qua lại với người điều khiển bằng các câu nói Từ các yêu cầu tìm đường đi của người điều khiển mà thiết bị có khả năng chỉ dẫn đường đi từ vị trí hiện tại đến nơi mà người điều khiển muốn đến
Trang 33CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 18
CHƯƠNG 2: HỆ THỐNG NHẬN DẠNG
TỪ ĐƠN TIẾNG VIỆT
2.1 Thuật toán trích đặc trưng MFCC
Sơ đồ khối thuật toán trích đặc trưng MFCC thông thường được chỉ ra trong Hình 2.1-1 Nó được đặt tên như vậy do làm cong vênh tần số phi tuyến theo thang tần số Mel Trước hết, tiếng nói được lấy mẫu bởi một bộ chuyển đổi A/D Mặc dù tai người có thể nghe được âm thanh với tần số từ 20Hz tới 20KHz, nhưng tiếng nói thông thường chỉ ở khoảng tần số dưới 5KHz, và với chất lượng âm thanh thoại thì sẽ có băng thông giới hạn là 4KHz
Pre-emphasis Frame
Blocking Windowing |FFT|
Mel Frequency Filter bank
Tiếng nói sau khi được số hóa sẽ được tiền nhấn (pre-emphasized) với
bộ lọc đáp ứng xung hữu hạn (finite impulse response – FIR) bậc một vì pha của nó tuyến tính và thực thi đơn giản Do trong tiếng nói, các thành tố thấp hơn thường chứa đựng nhiều năng lượng hơn, vì vậy nó được xem xét hơn khi mô hình hóa so với các thành tố cao hơn Do đó, một bộ lọc pre-emphasis được dùng để khuếch đại tín hiệu ở các tần số cao hơn Hàm truyền
của bộ lọc được cho bởi phương trình (2.1), trong đó tham số a tiêu biểu từ
0.9 đến 1 Trong miền thời gian, mối quan hệ giữa ngõ ra với ngõ vào được
chỉ ra trong phương trình (2.2), với s i là điểm thứ i của tín hiệu tiếng nói khi
Trang 34CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 19
chưa qua bộ lọc và s i là là điểm thứ i của tín hiệu tiếng nói sau khi được
ít thay đổi, thông thường có 50% chồng lấp giữa các frame kế cận nhau, như
có thể thấy ở Hình 2.1-3 Trong các hệ thống nhận dạng tiếng nói bằng phần mềm, tiếng nói được chia thành những frame có chiều dài 20ms với 10ms chồng lấp Khi tiếng nói được lấy mẫu với tần số 8KHz sẽ có 160 mẫu trong mỗi frame và có 80 mẫu được chồng lấp giữa 2 frame kế cận nhau
Trang 35CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 20
trình (2.3) trong đó L là chiều dài cửa sổ và nó bằng với chiều dài của các
frame Hình 2.1-4 cho thấy đáp ứng thời gian của của sổ Hamming 160 điểm
Hình 2.1-4 Cửa sổ Hamming 160 điểm
Trang 36CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 21
Hình 2.1-5 Windowing trong phân tích tiếng nói
Hình 2.1-5 minh họa làm thế nào một cửa sổ Hamming được áp dụng lên tín hiệu tiếng nói trong phân tích tiếng nói Tiếng nói sau khi được chia thành những frame có chiều dài 160 mẫu với 50% chồng lấp, 160 điểm cửa
sổ Hamming được nhân với mỗi frame theo từng mẫu Các frame ngõ ra cửa
sổ được liên tục tại điểm đầu và điểm cuối của mỗi frame Bước này có thể
Trang 37CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 22
được diễn giải bởi phương trình (2.4), trong đó f n l là frame được
pre-emphasis thứ n, ham(l) thay cho cửa sổ Hamming wf n l là frame thứ n sau
khi qua cửa sổ Hamming
(2.4)
2.1.4 FFT
Biến đổi Fourier nhanh (FFT) được dùng để tính toán phổ của tín hiệu tiếng nói Đó chính là sự thực thi phép biến đổi Fourier rời rạc (DFT) đạt hiệu suất cao với điều kiện ràng buộc là phổ được đánh giá tại những tần số rời rạc, những tần số này được nhân với fs N (các tần số trực giao với nhau), trong đó fs là tần số lấy mẫu, N là chiều dài của DFT Thuật toán
FFT chỉ yêu cầu khối lượng tính toán tỷ lệ với NlogN, trong khi đó DFT yêu
cầu khối lượng tính toán tỷ lệ với N2
Độ phân giải tần số của DFT bị giới hạn bởi 2 yếu tố: chiều dài của tín hiệu và chiều dài của DFT [14] Nếu tín hiệu được tạo ra bởi việc cộng hai
tín hiệu sin mà tần số của hai tín hiệu này rất gần với nhau, khi đó để phân
biệt hai tần số này chúng ta phải quan sát tín hiệu với phân đoạn đủ dài Đối với chiều dài của DFT, phổ tần số được tạo ra bởi N điểm DFT bao gồm N/2 điểm với cách đều nhau phân bố giữa 0 đến phân nửa tần số lấy mẫu Vì vậy
để tách rời hai tần số có khoảng cách gần nhau thì khoảng cách giữa các điểm phải nhỏ hơn khoảng cách giữa hai đỉnh Khi các frame được cửa sổ hóa với chiều dài là 160 điểm, chiều dài DFT được thiết lập là 256 điểm để đạt được độ phân giải tần số tốt với khối lượng tính toán có thể chấp nhận được khi thực thi thực tế Sau khi biến đổi FFT 256 điểm, chỉ có biên độ (căn bậc 2) của 128 điểm đầu tiên được dùng cho bước tính toán tiếp theo bởi tính chất đối xứng của phép biến đổi FFT
Trang 38CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 23
2.1.5 Mel Frequency Bank
Một băng bộ lọc số được dùng để mô hình các tầng ban đầu của phần chuyển đổi trong hệ thống thính giác con người với 2 lý do sau Thứ nhất, vị trí của việc dịch chuyển cực đại dọc theo màng rung trong tai người để kích thích thì tỷ lệ với logarithm của tần số âm thanh Thứ hai, các tần số của âm thanh phức hợp bên trong một băng tần xác định của một vài tần số danh định không thể được nhận ra một cách riêng lẻ được
Hệ thống thính giác của con người không tuyến tính với tần số âm thanh nhận được, một thang đo Mel được dùng để ánh xạ tần số âm thanh nhận được sang thang đo tuyến tính Thang tần số này được định nghĩa bởi phương trình (2.5) và được minh họa ở Hình 2.1-6 Nó xấp xỉ như thang tuyến tính trong khoảng từ 0 đến 1000Hz, xấp xỉ như thang logarithm bên ngoài tần số 1000Hz
(
)
(2.5)
Hình 2.1-6 Thang tần số Mel Băng thông bộ lọc thang đo Mel thông thường trong nhận dạng tiếng nói bao gồm một số bộ lọc bandpass hình tam giác được phân bố bên trong băng thông tín hiệu Chúng được cách đều nhau trên thang Mel và băng thông của chúng được thiết kế sao cho điểm 3dB nằm ở khoảng giữa hai bộ
Trang 39CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 24
lọc kế cận nhau Hình 2.1-7(a) và Hình 2.1-7(b) cho thấy các bộ lọc này trên thang Mel và trên thang tần số thông thường tương ứng
Hình 2.1-7 Một băng bộ lọc Mel, theo thang Mel (a) và theo thang tần số thông
thường (b)
Số bộ lọc là một trong những thông số mà ảnh hưởng đến độ chính xác nhận dạng của hệ thống
Hệ số công suất thứ k của frame thứ n được tính toán bởi phương trình
(2.6), trong đó S nj là điểm phổ thứ j của frame thứ n, và FCkj chỉ hệ số thứ j của bộ lọc thứ k
∑ (2.6)
ở đây K là số bộ lọc
2.1.6 Cepstral Analysis
Tín hiệu tiếng nói s có thể được mô tả như là kết quả của phép tích
chập tín hiệu kích thích với đáp ứng xung của bó thanh âm, nó có thể được
chia thành 2 phần thông qua các phương trình dưới đây, với g là tín hiệu kích thích và v là đáp ứng xung của bó âm thanh [15]
Trang 40CHƯƠNG 2:HỆ THỐNG NHẬN DẠNG TỪ ĐƠN TIẾNG VIỆT 25
Phương trình (2.7) chỉ ra mối quan hệ giữa g và v trong miền thời
gian, phương trình (2.8) chỉ ra mối quan hệ trong miền tần số Sau khi lấy logarithm 2 vế, chúng ta được phương trình (2.9), với tín hiệu kích thích và đáp ứng xung của bó thanh âm được tách rời nhau Đáp ứng của bó thanh âm quyết định đường bao của phổ, trong khi đó phổ của tín hiệu kích thích biểu diễn các thành phần phổ của tiếng nói Đối với nhận dạng tiếng nói, đường bao của phổ hữu ích hơn các thành phần phổ, vì vậy chúng ta có thể sử dụng phép biến đổi Fourier ngược để tìm đường bao của phổ
Cepstrum được định nghĩa là phép biến đổi Fourier ngược của các hệ
số công suất sau khi lấy logarithm Nó có thể được đơn giản hóa như là phép biến đổi DCT
[∑ ( )
] (2.10)
trong đó p là bậc (thứ tự) của các hệ số cepstral Thông thường, đối với mỗi
frame C0 không dùng trong phân tích bởi vì nó không đáng tin cậy Các hệ
số cepstrum có bậc thấp phản ánh thông tin bó thanh âm của tín hiệu tiếng nói Trong phép phân tích phổ cho việc nhận dạng tiếng nói, thông thường chỉ sử dụng từ 8 đến 16 hệ số cepstrum có bậc thấp, trong đa số các ứng dụng dùng 12 hệ số cepstrum
2.1.7 Energy Calculation
Công suất của mỗi frame cũng là thành phần trong đặc trưng MFCC
Nó được tính toán như là logarithm của công suất tín hiệu, có nghĩa là đối
với frame thứ n, mỗi frame có 160 mẫu s nl l1 2 ,160,