Luận văn tập trung vào nghiên cứu đặc trưng tiếng nói, rút trích đặc trưng tiếng nói bằng MFCC (Melscale Frequency Cepstral Coefficient), mô hình HMM (Hidden Markov Model), mô hình âm học áp dụng cho tiếng Việt, sử dụng công cụ HTK Julius (Hidden Markov Model toolkit) của Đại học Cambridge để xây dựng một chương trình thử nghiệm cho việc nhận dạng tiếng nói tiếng Việt. Để thử nghiệm tính ứng dụng, luận văn đã huấn luyện và nhận dạng các câu lệnh trong việc điều khiển cánh tay robot 5 bậc. Các tín hiệu giọng nói điều khiển được nhận dạng. Giải mã tín hiệu xuất ra cổng USB kết hợp với thiết kế lại mạch vi xử lý của cơ cấu tay Robot có sẵn.
Trang 1NGUYỄN THỊ TUYẾT ANH
ĐIỀU KHIỂN CÁNH TAY ROBOT GẮP SẢN PHẨM BẰNG GIỌNG NÓI TIẾNG VIỆT
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Đồng Nai, năm 2016
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
* * *
NGUYỄN THỊ TUYẾT ANH
ĐIỀU KHIỂN CÁNH TAY ROBOT GẮP SẢN PHẨM BẰNG GIỌNG NÓI TIẾNG VIỆT
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã ngành: 60 48 0201
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS VŨ ĐỨC LUNG
Đồng Nai, năm 2016
Trang 3truyền đạt, góp ý, hỗ trợ và tạo mọi điều kiện thuận lợi cho tôi trong suốt thời gian làm luận văn
Tôi xin cảm ơn gia đình, cơ quan, đồng nghiệp đã động viên và tạo điều kiện tốt nhất để tôi có thể theo đuổi việc học tập và nghiên cứu Tôi gởi lòng tri ân đến tất cả bạn bè, những người đã động viên, thăm hỏi cũng như đã giúp đỡ thiết thực cho tôi hoàn tất luận văn này
Mặc dù đã cố gắng đề hoàn thành luận văn, song cũng không khỏi những sai sót Tôi rất mong nhận được những ý kiến, nhận xét, góp ý của quí thầy cô và các bạn để tôi có thể hoàn thành luận văn của mình tốt hơn
Đồng Nai, ngày 5 tháng 11 năm 2016
Người làm luận văn
NGUYỄN THỊ TUYẾT ANH
Trang 4Tôi cam đoan: Quyển luận văn tốt nghiệp này ngoại trừ các kết quả tham khảo từ các công trình như đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là công trình nghiên cứu thực sự của cá nhân tôi Được thực hiện trên
cơ sở nghiên cứu lý thuyết, kiến thức đã học cùng với nghiên cứu khảo sát tình hình thực tiễn dưới sự hướng dẫn khoa học của PGS TS Vũ Đức Lung
Một lần nữa, tôi khẳng định về sự trung thực của lời cam kết trên
Đồng Nai, ngày 5 tháng 11 năm 2016
Người cam đoan
NGUYỄN THỊ TUYẾT ANH
Trang 5HTK & Julius (Hidden Markov Model toolkit) của Đại học Cambridge để xây dựng một chương trình thử nghiệm cho việc nhận dạng tiếng nói tiếng Việt Để thử nghiệm tính ứng dụng, luận văn đã huấn luyện và nhận dạng các câu lệnh trong việc điều khiển cánh tay robot 5 bậc Các tín hiệu giọng nói điều khiển được nhận dạng Giải mã tín hiệu xuất ra cổng USB kết hợp với thiết kế lại mạch vi xử lý của cơ cấu tay Robot có sẵn
Trang 6LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC BẢNG
LỜI MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN 1
1.1 Giới thiệu 1
1.2 Mục tiêu đề tài 3
1.3 Giới hạn đề tài 3
1.4 Cấu trúc luận văn 3
CHƯƠNG 2 : TỔNG QUAN VỀ ÂM NGỮ TIẾNG VIỆT TRONG NHẬN DẠNG TIẾNG NÓI 5
2.1 Sơ lược về âm tiết tiếng Việt 5
2.1.1 Giới thiệu về âm tiết - âm vị: 5
2.1.2 Giới thiệu hệ thống mẫu tự tiếng Việt 6
2.1.3 Một số đặc điểm ngữ âm tiếng Việt 6
2.2 Sơ lược lý thuyết và các phương pháp nhận dạng tiếng nói: 7
2.2.1 Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach) 8
2.2.2 Phương pháp nhận dạng mẫu (pattern recognition approach) 8
2.2.3 Phương pháp trí tuệ nhân tạo (artifactial intelligence approach) 9
2.3 Những thuận lợi và khó khăn đối với nhận dạng tiếng nói tiếng Việt 10
2.3.1 Thuận lợi 10
2.3.2 Khó khăn 10
CHƯƠNG 3: TRÍCH TRỌN ĐẶC TRƯNG MFCC – MÔ HÌNH MARKOV ẨN 11 3.1 Trích chọn đặc trưng tín hiệu tiếng nói 11
3.2 Các bước rút trích đặc trưng 11
3.3 Trích chọn đặc trưng MFCC 12
3.3.1 Tiền nhấn (Pre-emphasis) 13
3.3.2 Chia khung và cửa sổ hóa (Windowing) 13
3.3.3 Biến đổi Fourier nhanh (Fast Fourier Transform - FFT) 13
3.3.4 Lọc qua bộ lọc Mel filter-bank and log 14
3.3.5 Logarit giá trị năng lượng 15
3.3.6 Biến đổi Cosine rời rạc 15
3.4 Giới thiệu mô hình Markov ẩn 15
Trang 74.1.2 Cấu trúc các tập tin trong HTK 24
4.1.3 Chi tiết về HTK 25
4.1.4 Cài đặt HTK 30
4.1.5 Huấn luyện HTK 31
4.1.6 Chuẩn bị dữ liệu 31
4.1.7 Các bước chuẩn bị cho quá trình training 38
4.1.8 Giai đoạn huấn luyện 44
4.1.9 Đánh giá nhận dạng HTK 52
4.1.10 Đánh giá kết quả: 52
4.2 JULIUS 53
4.2.1 Mô tả hoạt động chương trình 53
4.2.2 Sử dụng Julius (tạo 02 file sample): 54
CHƯƠNG 5: CHƯƠNG TRÌNH ĐIỂU KHIỂN 58
CÁNH TAY ROBOT 58
5.1 Giới thiệu 58
5.2 Thu âm giọng nói 58
5.3 Giao diện chương trình Demo 59
5.4 Kết quả thử nghiệm 62
KẾT QUẢ ĐẠT ĐƯỢC: 64
NHỮNG ĐIỂM HẠN CHẾ: 64
HƯỚNG NGHIÊN CỨU VÀ PHÁT TRIỂN 64
Trang 8DANH MỤC CÁC CHỮ CÁI VIẾT TẮT
MFCC (Mel-scale Frequency Cepstral Coefficient) HMM (Hidden Markov Model),
HTK & Julius (Hidden Markov Model toolkit)
LPC Linear Predictive Coding
DWT Dynamic Time Wraping
ANN Artificial neural network
Trang 9Bảng 5.3 Kết quả nhận dạng 62
Trang 10Hình 2.1: Cụm từ “âm tiết tiếng Việt” thể hiện trên sóng âm Mỗi âm tiết có biên độ
lớn ở giữa âm và giảm dần khi đi về đầu và cuối âm 5
Hình 2.2: Cụm từ “bốn lăm” đứng kề nhau: có một khoảng chồng lấp giữa âm vị “n” cuối âm tiết “bốn” và âm vị “l” đầu âm tiết “lăm” 5
Hình 2.3: Hai cách tách âm vị cho cùng một sóng âm của chữ “hai” 5
Hình 2.4: Minh họa phổ tín hiệu của âm tiết „„ba‟‟, có miền nhiễu nền (silence), miền của phụ âm /b/ và nguyên âm /a/ (miền đậm hơn có mật độ năng lượng lớn hơn) 6
Hình 2.5: Thanh điệu 7
Hình 2.6: Các hệ thống nhận dạng tiếng nói 8
Hình 2.7: Minh họa sơ đồ giai đoạn huấn luyện của phương pháp đối so sánh 9
Hình 2.8: Minh họa sơ đồ giai đoạn nhận dạng của phương pháp đối so sánh 9
Hình 3.1: Sơ đồ rút trích vector đặc trưng tổng quát 11
Hình 3.2: Sơ đồ rút trích đặc trưng chi tiết 11
Hình 3.3: Minh họa sơ đồ khối của quá trình trích chọn đặc trưng MFCC 12
Hình 3.4: Một đoạn tần âm thanh trước và sau Pre-Emphasis 13
Hình 3.5: Minh họa các bộ lọc mel-scale tam giác (triangle mel-scale filters) 14
Hình 3.6: Mô hình Markov ẩn 3 trạng thái 16
Hình 3.7: Hệ thống bình - cầu 16
Hình 3.8: Ước lượng Baum - Welch 21
Hình 4.1: Mô hình nhận dạng tiếng nói sử dụng HTK 22
Hình 4.2: Các module và các chức năng trong HTK 23
Hình 4.3: Các công cụ và các chức năng trong HTK 24
Hình 4.4: Xử lý mã hóa tiếng nói 25
Hình 4.5: Huấn luyện theo mô hình âm vị dùng HTK 26
Hình 4.6: Quy trình hoạt động của Hinit 27
Hình 4.7: Quy trình xử lý tập tin trong Hinit 27
Trang 11Hình 4.13 :Sơ đồ hoạt động điều khiển Robot 54 Hình 5.1: Giao diện chương trình demo 60 Hình 5.2: Mô tả robot arm 61
Trang 12Những nghiên cứu về nhận dạng tiếng nói đã thu hút được rất nhiều sự quan tâm trong suốt 5 thập kỷ qua con người đã mơ ước máy tính có thể nói chuyện với mình Yêu cầu là máy có thể xác định được từ ngữ mà chúng ta nói với máy Đó là mục tiêu của ngành nhận dạng tiếng nói Đối với con người, việc nghe tiếng mẹ đẻ
là một vấn đề khá đơn giản Còn đối với máy tính, xác định một chuỗi tín hiệu âm thanh của một từ nào đó hoàn toàn không đơn giản Đến thời điểm này, nhận dạng tiếng nói đã tìm được nhiều ứng dụng trong việc đòi hỏi có sự giao tiếp giữa người
và máy như: tìm kiếm các bản tin thời sự, trả lời điện thoại tự động, tìm kiếm thông tin về du lịch, thị trường chứng khoán, thời tiết, và đặc biệt là điều khiển máy tính bằng giọng nói,…
Lĩnh vực nhận dạng tiếng nói đã được nghiên cứu hiện nay mới chỉ có một
số thành công Có thể kể đến hệ thống nhận dạng tiếng Anh như: ViaVoice, Dragon Naturally Speaking, Spoken Toolket…Các hệ thống này chủ yếu dùng cho tiếng Anh, hoạt động khá tốt (cho độ chính xác khoảng 90 -95%) Nhưng không thể áp dụng để nhận dạng tiếng Việt hoặc có thì cũng cho độ chính xác chưa cao
Với việc áp dụng những kiến thức vào thực tiễn đối với tiếng Việt ở nước ta còn nhiều hạn chế do lĩnh vực nhận dạng tiếng nói còn khá mới mẻ Chưa thấy xuất hiện phần mềm nhận dạng tiếng Việt hoàn chỉnh trên thị trường Số công trình nghiên cứu về nhận dạng tiếng nói tiếng Việt được công bố rất hiếm hoi, và kết quả còn hạn chế về bộ từ vựng, độ chính xác….tiếng Việt có nhiều đặc tính khác với các ngôn ngữ đã được nghiên cứu nhận dạng nhiều như tiếng Anh, tiếng Pháp Do
đó việc nghiên cứu nhận dạng tiếng Việt là rất cần thiết
Vì những lí do trên, tôi chọn đề tài “Điều khiển cánh tay Robot gắp sản phẩm bằng giọng nói tiếng Việt”, nhằm nghiên cứu các phương pháp nhận dạng tiếng nói
đối với tiếng Việt và thử nghiệm xây dựng một hệ thống nhận dạng cỡ nhỏ
Trang 13gần đây do cách điều khiển này có thể nói là tiện lợi nhất đối với con nguời Kết quả đã cho ra đời rất nhiều các công cụ hỗ trợ cho việc nhận dạng giọng nói, trong
đó phải kể đến công cụ nhận dạng giọng nói của Microsoft (Microsoft SDK for Speechrecognition), HTK của phòng thí nghiệm trí tuệ máy và Sphinx của truờng đại học Carnegie Mellon (CMU) Tuy nhiên do có sự khác biệt về mặt ngữ âm giữa các ngôn ngữ nên hệ thống nhận dạng tiếng nói ở nước ta phải được xây dựng trên nền tảng của tiếng nói tiếng Việt Đã có rất nhiều nghiên cứu về điều khiển và xử lý ngôn ngữ, tiêu biểu là:
- Luận văn “Nghiên cứu về nhận dạng tiếng nói Tiếng Việt và ứng dụng thử nghiệm trong điều khiển máy tính” của Mai Thị Loan, tập trung vào nghiên cứu đặc thù tiếng nói, rút trích đặc trưng tiếng nói bằng MFCC (Mel-scale Frequency Cepstral Coefficient) và LPC (Linear Predictive Coding), mô hình HMM (Hidden Markov Model), mô hình âm học áp dụng cho tiếng Việt, kiến trúc hệ thống nhận dạng tiếng nói HTK (Hidden Markov Model toolkit) của Đại học Cambridge và sử dụng công cụ đó để xây dựng một chương trình thử nghiệm cho việc nhận dạng tiếng nói tiếng Việt dùng trong điều khiển máy tính ở mức độ đơn giản với số lượng câu lệnh là 74 câu [5]
- Luận văn “Nghiên cứu về nhận dạng giọng nói tiếng Việt dựa trên kỹ thuật căn chỉnh thời gian động (dtw) và ứng dụng thử nghiệm trong mô hình robot điều khiển từ xa” của Lê Thị Đào, nghiên cứu thử nghiệm một hướng nhận dạng tiếng nói - tiếng Việt dựa trên kỹ thuật DTW (Dynamic Time Warping) Đồng thời, xây dựng một mô hình điều khiển bằng tiếng nói – tiếng Việt với bộ từ vựng nhỏ (tiến, lùi, quay trái, quay phải, …), ứng dụng thử nghiệm trong mô hình robot điều khiển từ xa [6]
- Nghiên cứu về bài toán nhận dạng tiếng nói liên tục với bộ từ vựng lớn: nhóm của Viện Công nghệ Thông tin do PGS Lương Chi Mai đứng đầu, với phương pháp ANN (Artificial neural network) và công cụ CSLU được sử dụng và nhóm của 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 [7][8]
Trang 14- AILab: Đây là công trình của phòng thí nghiệm Trí tuệ Nhân tạo - AILab thuộc Đại học Khoa học Tự nhiên tạo ra AILab đã xây dựng phần mềm iSago ứng dụng trên điện thoại di động hỗ trợ người dùng tìm kiếm thông tin nhà hàng, quán Bar, Café trên địa bàn TP.HCM Phần mềm này cũng cho phép người dùng hiển thị địa chỉ tìm được dưới dạng bản đồ hoặc nghe đọc địa chỉ trực tiếp bằng công nghệ tổng hợp giọng nói [4]
- Vietvoice: Đây là phần mềm của một người Việt Nam sống tại Canada Phần mềm có khả năng nói tiếng Việt từ các tập tin Đối với người khiếm thị, phần mềm này cho phép chọn lựa một trong các tính năng hiển thị trên màn hình Người dùng có thể cập nhật từ điển các chữ viết tắt và các từ ngữ tiếng nước ngoài [4]
- Vspeech: Đây là một phần mềm điều khiển máy tính bằng giọng nói được một nhóm sinh viên Đại học Bách Khoa TP.HCM viết Phần mềm sử dụng thư viện Microsoft Speech SDK để nhận dạng tiếng Anh nhưng được chuyển thành tiếng Việt Phần mềm Vspeech có các lệnh gọi hệ thống như gọi thư mục My Computer, nút Start, tương tác với MS Word 2003, lướt web với trình duyệt Internet Explorer Phần mềm chạy trên nền WindowsXP, microphone và card âm thanh sử dụng tiêu chuẩn thông thường [4]
Ngoài ra cũng có rất nhiều đề tài nghiên cứu của các sinh viên, viện nghiên cứu sinh trong cả nước về lĩnh vực này như: Chương trình đọc chính tả”, sử dụng lượng hóa vector VQ, hạn chế về nhận dạng tiếng nói liên tục, “Phát triển các kết quả tổng hợp, nhận dạng câu lệnh, chuỗi số tiếng Việt liên tục trên môi trường điện thoại di động”, “Tăng cường độ chính xác của hệ thống mạng neuron nhận dạng tiếng Việt”, “Chương trình nhận dạng lệnh 10 chữ số liên tục qua điện thoại” của Viện công nghệ thông tin sử dụng công cụ CSLU phương pháp mô hình Artificial neural network - ANN, giải mã bằng thuật toán Viterbi, cơ sở dữ liệu mẫu âm học của CSLU
Trong các mô hình, mô hình nhận dạng tiếng nói dựa trên kỹ thuật căn chỉnh thời gian động (Dynamic Time Warping –DWT) chỉ hiệu quả trên một tập tương đối nhỏ của các từ (khoảng 100 từ) Trong khi đó mô hình Markov ẩn được xem là phương pháp phổ biến và hiệu quả vì có độ chính xác cao trong nhiều ứng dụng; cấu trúc mô hình có thể thay đổi dễ dàng cho phù hợp với từng ứng dụng cụ thể
Trang 15khiển cánh tay robot gắp sản phẩm
+ Về mặt lý thuyết: Luận văn tập trung tìm hiểu mô hình Markov ẩn trong nhận dạng giọng nói với phương pháp rút trích đặc trưng MFCC Thông qua bộ ngôn ngữ, mô hình âm học cùng với công cụ HTK và Julius tạo kết nối giao thức giữa máy tính và cánh tay Robot từ giọng nói
+ Về mặt hiện thực: Sau khi tìm hiểu các phương pháp, công cụ, bộ ngôn ngữ sẽ xây dựng một chương trình nhận dạng lệnh, kết nối với cổng usb với vi mạch điều khiển cánh tay Robot bằng giọng nói tiếng Việt
1.3 Giới hạn đề tài
Luận văn giới hạn trong việc tìm hiểu về âm học, ngữ âm học, tiếng nói, các phương pháp nhận dạng tiếng nói, rút trích đặc trưng tiếng nói bằng MFCC; mô hình Markov ẩn, mô hình âm học; Nhận dạng tiếng nói qua công cụ HTK & julius; thiết kết lại bo mạch của robot Chương trình demo chỉ dừng ở mức nhận dạng được khoảng 14 câu lệnh cơ bản điều khiển robot (được liệt kê ở chương 5) Khi người sử dụng đọc lệnh điều khiển, chương trình trên máy tính nhận dạng và xuất hiện dòng lệnh đó trên màn hình, đồng thời xuất lệnh ra cổng usb đến vi mạch điều khiển cánh tay robot thực hiện lệnh theo yêu cầu
1.4 Cấu trúc luận văn
Nội dung luận văn sẽ bao gồm 5 chương như sau:
Chương 1: Tổng quan về nhận dạng giọng nói, sơ lược tóm tắt, đáng giá các công trình nghiên cứu của tác giả về nhận dạng giọng nói,… mục tiêu, giới hạn
đề tài
Chương 2: Tổng quan về âm ngữ tiếng Việt Trình bày sơ lược lý thuyết
về âm tiết, âm vị, ngữ âm, thanh điệu, hệ thống các mẫu tự tiếng Việt Các phương pháp về nhận dạng giọng nói, với những khó khăn và thuận lợi trong nhận dạng tiếng Việt
Chương 3: Trích chọn đặc trưng tín hiệu tiếng nói, các bước rút trích đặc trưng Trích chọn đặc trưng MFCC, phương pháp mã hóa dự báo tuyến tính LPC
Trang 16Giới thiệu mô hình Markov ẩn - Nhận dạng tiếng nói và rút trích đặc trưng giọng nói
Chương 4: Ứng dụng HTK xây dựng hệ thống nhận dạng Tiếng nói tiếng Việt: Giới thiệu, trình bày chi tiết quá trình huấn luyện ứng dụng trên HTK và Julius xây dựng hệ thống nhận dạng tiếng Việt, giải thích câu lệnh và kết quả huấn luyện
Chương 5: Chương trình điều khiển cánh tay robot Dùng chương trình C#
để điều khiển robot dựa trên nhận dạng HTK Thử nghiệm và đánh giá kết quả chung của toàn hệ thống Nêu kết luận, trình bày kết quả đạt được, những điểm còn hạn chế, hướng cải thiện, nghiên cứu phát triển
Trang 172.1 Sơ lược về âm tiết tiếng Việt
2.1.1 Giới thiệu về âm tiết - âm vị:
Trong giao tiếp, con nguời phát ra kiểu âm thanh nhất định, đó là âm tiết,
âm tố và âm vị Mỗi âm tiết chỉ có một âm tố có khả năng tạo thành âm tiết Được phân bố ở trung tâm làm hạt nhân âm tiết Phần năng lượng tập trung nhiều nhất ở phần giữa âm (có biên độ cao), đi về đầu và cuối âm tiết thì năng lượng giảm dần
Hình 2.1: Cụm từ “âm tiết tiếng Việt” thể hiện trên sóng âm Mỗi âm tiết có biên độ lớn
ở giữa âm và giảm dần khi đi về đầu và cuối âm
Theo cuốn Ngữ âm học tiếng Việt hiện đại, NXBGD 1972, nhóm tác giả Cù Ðình Tú thì âm vị là “đơn vị nhỏ nhất của ngữ âm có mang chức năng phân biệt nghĩa và nhận diện từ” Nhiệm vụ của chúng ta là phân biệt ranh giới của tất cả các
âm vị và xác định các âm vị đó là âm vị gì Đôi khi con nguời vẫn có thể bị nhầm lẫn khi tách âm vị bằng tay do ranh giới giữa các âm vị thường mập mờ và hay chồng lấp lên nhau Do vậy, công việc tách âm vị trên chuỗi sóng âm chỉ mang tính tương đối
Hình 2.2: Cụm từ “bốn lăm” đứng kề nhau: có một khoảng chồng lấp giữa âm vị “n” cuối âm tiết
“bốn” và âm vị “l” đầu âm tiết “lăm”
Hình 2.3: Hai cách tách âm vị cho cùng một sóng âm của chữ “hai”
Trang 182.1.2 Giới thiệu hệ thống mẫu tự tiếng Việt
Nguyên âm: Trong tiếng Việt ngoài nguyên âm đơn còn có nguyên âm đôi, nguyên âm ba Một nguyên âm biểu thị cho mỗi cách phát âm khác nhau, và đôi khi những cách viết nguyên âm khác nhau tƣợng trƣng cho cùng một cách phát âm Gồm: [i, y, ê, e, a, ă, ơ, â, ƣ, ô, o, u, ia, ya, iê, yê, uô, ua, ƣơ, ƣa]
Phụ âm: tiếng Việt có 17 phụ âm đơn gồm: [b, c, d, đ, g, h, k, l, m, n, p, q, r,
s, t, v, x] Và 11 phụ âm ghép: [gi, gh, qu, ch, kh, ng, ngh, nh, ph, th, tr] Trong đó chỉ có 8 phụ âm có thể nằm ở cuối từ: [c, m, n, p, t, ng, nh, ch]
2.1.3 Một số đặc điểm ngữ âm tiếng Việt
Đặc điểm dễ thấy tiếng Việt là ngôn ngữ đơn âm (monosyllable - mỗi từ đơn chỉ có một âm tiết), không biến hình (cách đọc, cách ghi âm không thay đổi trong bất cứ tình huống ngữ pháp nào) Theo khảo sát trong tiếng Việt có khoảng
6000 âm tiết Nhìn về mặt ghi âm thì âm tiết tiếng Việt có cấu tạo chung là phụ vần Phụ âm là một âm vị và âm vị này liên kết rất lỏng lẻo với phần còn lại của âm tiết Vần trong tiếng Việt lại đƣợc cấu tạo từ các âm vị nhỏ hơn, trong đó có một âm
âm-vị chính là nguyên âm Hình sau là phổ tín hiệu của âm tiết “ba”
Hình 2.4: Minh họa phổ tín hiệu của âm tiết „„ba‟‟, có miền nhiễu nền (silence), miền của phụ âm
/b/ và nguyên âm /a/ (miền đậm hơn có mật độ năng lượng lớn hơn)
Ta có thể quan sát và phân biệt rõ miền nhiễu nền, miền phổ phụ âm b và nguyên âm a (miền càng đậm có mật độ năng lƣợng lớn hơn) Từ đó ta có thể rút ra kết luận: các phụ âm và nguyên âm đƣợc phân biệt với nhau rõ ràng qua sự phân bố năng lƣợng tại các miền tần số, ví dụ: phụ âm ở tần số thấp, năng lƣợng nhỏ, nguyên âm có năng lƣợng lớn ở cả vùng tần số cao Vùng không có tín hiệu tiếng nói (nhiễu nền và khoảng lặng) có năng lƣợng thấp và chỉ tập trung ở các tần số rất thấp
Theo tác giả Đoàn Thiện Thuật, xét về mặt ngữ âm-âm vị học âm tiết tiếng Việt có lƣợc đồ nhƣ hình sau:
Trang 19Hình 2.5: Thanh điệu
Hệ thống thanh điệu gồm 6 thanh: Thanh ngang (thanh không dấu), thanh huyền, thanh ngã, thanh hỏi, thanh sắc và thanh nặng Thanh điệu là tập hợp tần số rung động của dây thanh âm thể hiện trên tất cả các bộ phận nguyên âm tính
(nguyên âm và bán nguyên âm) và các âm hay chung âm
+ Phụ âm đầu (thủy âm): Phần yếu tố mở đầu âm tiết Nó mang tính độc
lập giữa các yếu tố bên trong âm tiết
+ Âm đệm: Đóng vai trò là âm lướt trong kết cấu âm tiết Âm đệm tác động
đến cách mở đầu của âm tiết (kế bên phụ âm đầu)
+ Âm chính: Là nguyên âm trong âm tiết Âm tiết có thể là một nguyên âm
đơn hay nguyên âm đôi
+ Âm cuối: Là yếu tố kết thúc âm tiết Một vài âm tiết kết thúc bằng sự kéo
dài và giữ nguyên, ví dụ: Má, đi, cho,… Số âm tiết khác kết thúc bằng cách biến đổi
âm sắc ví dụ nhu: một, mai, màng,…
2.2 Sơ lược lý thuyết và các phương pháp nhận dạng tiếng nói:
Nhận dạng tiếng nói là phương pháp nhận diện các thành phần lời nói Quá trình này được thực hiện từ việc thu tiếng nói từ micro, và kết thúc bằng việc nhận dạng từ được hệ thống xuất ra Trong thực tế, khả năng của hệ thống phụ thuộc vào nhiều yếu tố khác nhau Bộ từ vựng, đa người dùng, nhận dạng liên tục (phức tạp hơn so với nhận dạng từng từ) đó là những yếu tố gây khó khăn, phức tạp đến việc nhận dạng tiếng nói cũng như đối với độ ồn nền
Các hệ thống nhận dạng tiếng nói có thể được tạo thành hai loại khác nhau: hệ thống nhận dạng từ rời rạc và hệ thống nhận dạng từ liên tục.[Rabiner 1993] Hình dưới cho ta các lớp hệ thống nhận dạng tiếng nói khác nhau
Trang 20Hình 2.6: Các hệ thống nhận dạng tiếng nói
Có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói: Phương pháp ngữ âm - âm vị học; Phương pháp nhận dạng mẫu; Phương pháp sử dụng lĩnh vực trí tuệ nhân tạo
2.2.1 Phương pháp ngữ âm - âm vị học (acoustic-phonetic approach)
Phương pháp ngữ âm - âm vị học dựa trên lý thuyết âm vị: ngữ âm được phân chia thành: nguyên âm - phụ âm, vô thanh-hữu thanh, âm vang -âm bẹt… Đặc trưng của âm vị là formant với vùng tần số có cộng hưởng lớn nhất của tín hiệu Dựa vào từ điển phiên âm, máy nhận diện chuỗi các âm vị đó Tuy nhiên thực tế kết
quả nhận dạng không cao Nguyên nhân:
Cần nhiều tri thức về ngữ âm học liên quan đến đặc tính âm học của các
âm vị Những tri thức này chưa được nghiên cứu đầy đủ
formant chỉ ổn định đối với các nguyên âm, với phụ âm formant không
ổn định và rất khó xác định Tương đối khó phân biệt các âm vị dựa trên phổ Có một số phụ âm rất giống nhiễu (ví dụ: /s/, /h/)
2.2.2 Phương pháp nhận dạng mẫu (pattern recognition approach)
Phương pháp nhận dạng mẫu dựa vào lý thuyết xác suất - thống kê: so sánh đối tượng được nhận dạng với các mẫu đã thu thập trước đó để tìm mẫu "giống" đối tượng nhất Như vậy hệ thống nhận dạng sẽ qua 2 giai đoạn:
(1) Giai đoạn huấn luyện: thu thập mẫu, phân lớp và huấn luyện hệ thống
Trang 21Hình 2.7: Minh họa sơ đồ giai đoạn huấn luyện của phương pháp đối so sánh (2) Giai đoạn nhận dạng: đối tượng cần nhận dạng được so sánh với các
mẫu và đưa ra kết quả là mẫu giống đối tượng nhất
Hình 2.8: Minh họa sơ đồ giai đoạn nhận dạng của phương pháp đối so sánh
Phương pháp này có những ưu điểm sau:
Sử dụng đơn giản, dễ hiểu, mang tính toán học cao
Ít bị ảnh hưởng từ các biến thể về bộ từ vựng, tập đặc trưng, đơn vị nhận dạng, môi trường xung quanh…
Cho kết quả tương đối cao Việc này đã được kiểm chứng trong thực tế
2.2.3 Phương pháp trí tuệ nhân tạo (artifactial intelligence approach)
Phương pháp trí tuệ nhân tạo là nghiên cứu cách học nghe và học nói từ con người, tìm hiểu những 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 Như
có các hệ chuyên gia (expert system), các luật logic mờ (fuzzy logic) về ngữ âm, âm vị… có thể tăng độ chính xác cho việc xác định các âm vị Đối với những hệ nhận dạng mẫu, hệ thống sẽ chọn ra một số mẫu “giống” đối tượng nhất, kiểm chứng kết quả bằng các luật ngữ pháp, ngữ nghĩa, ngữ cảnh… để xác định mẫu phù hợp nhất
Hiện nay trí tuệ nhân tạo như mạng nơron được nghiên cứu rộng rãi trong nhận dạng tiếng nói Tùy cách sử dụng, mạng nơron có thể coi là mở rộng của phương pháp nhận dạng mẫu hoặc phương pháp ngữ âm-âm vị học Do vậy mạng nơron được hi vọng sẽ tăng hiệu quả của các hệ nhận dạng tiếng nói
Trang 222.3 Những thuận lợi và khó khăn đối với nhận dạng tiếng nói tiếng Việt
Âu (tiếng Anh, tiếng Pháp )
Trang 233.1 Trích chọn đặc trưng tín hiệu tiếng nói
Tín hiệu (signal) là hiện tượng có mang hoặc chứa một thông tin nào đó mà chúng ta có thể hiểu, được quy ước trước Các tín hiệu trong thế giới thực đều ở dạng liên tục (tín hiệu tương tự), bị biến đổi thành các tín hiệu số (số hóa) Tiếng nói cũng là một dạng tín hiệu tương tự, do đó nó cũng cần được số hóa
Hình 3.1: Sơ đồ rút trích vector đặc trưng tổng quát
Hiện nay, Có nhiều phương pháp trích chọn đặc trưng đã và đang được sử dụng (FBA, MFCC, LPC, PLP ) Mỗi phương pháp có những ưu điểm và nhược điểm riêng Hiện nay MFCC (Mel-scale Frequency Cepstral Coefficient) được sử dụng phổ biến nhất Phần sau sẽ giới thiệu cụ thể về phương pháp trích chọn đặc trưng MFCC
3.2 Các bước rút trích đặc trưng
Hình 3.2: Sơ đồ rút trích đặc trưng chi tiết
Trang 243.3 Trích chọn đặc trưng MFCC
Các hệ nhận dạng tiếng nói thường tách đặc trưng từ tín hiệu bằng cách: chia tín hiệu thành các đoạn độ dài 5-15 ms, mỗi đoạn gọi là một khung (frame) Trong khoảng thời gian ngắn như vậy, phổ của tín hiệu đủ ổn định để tiến hành tách đặc trưng Mỗi frame sẽ cho đặc trưng là một vector và đặc trưng của toàn bộ tín hiệu sẽ là một dãy vector
MFCC là phương pháp trích đặc trưng dựa trên đặc điểm cảm thụ tần số âm của tai người: tuyến tính đối với tần số nhỏ hơn 1kHz và phi tuyến đối với tần số trên 1kHz (theo thang tần số mel, không phải theo Hz)
MFCC là phương pháp tách đặc trưng dựa trên sự cảm thụ của con người nên thường cho kết quả nhận dạng cao nhất Vì lẽ đó rất nhiều hệ thống nhận dạng tiếng nói sử dụng MFCC làm đặc trưng
Đối với phương pháp MFCC, việc tính đặc trưng có sơ đồ như sau:
Hình 3.3: Minh họa sơ đồ khối của quá trình trích chọn đặc trưng MFCC
Quá trình tính toán như sau: đầu tiên tín hiệu tiếng nói được chia thành các frame có độ dài 10ms Mỗi frame sẽ được nhân với một hàm cửa sổ, thường là cửa
sổ Hamming sau đó được chuyển sang miền tần số nhờ biến đổi Fourier Tín hiệu ở miền tần số được nhân với các bộ lọc mel-scale, lấy logarit rồi biến đổi Fourier ngược (để chuyển sang miền cepstral) sẽ được các hệ số MFCC
Một số hệ thống có tính thêm năng lượng (cũng lấy logarit) và đặc trưng delta (đạo hàm rời rạc theo thời gian của MFCC) nhằm thêm thông tin cho các pha sau của quá trình nhận dạng
Các mục sau trình bày từng bước quá trình tính toán đặc trưng MFCC
Trang 25một cách dễ hiểu là làm tiếng nói lớn hơn lên để ảnh hưởng của các âm thanh môi trường và nhiễu trở thành không đáng kể Việc tăng cường độ của vùng tần số cao lên đồng thời làm cho thông tin rõ ràng hơn đối với mẫu tiếng nói Hình sau mô tả trước và sau quá trình Pre- emphasis của một đoạn tín hiệu âm thanh:
Hình 3.4: Một đoạn tần âm thanh trước và sau Pre-Emphasis
3.3.2 Chia khung và cửa sổ hóa (Windowing)
Tín hiệu tiếng nói x[n] gồm L mẫu, sau khi được chia thành các khung độ rộng 10ms (ứng với fs*0.01 mẫu) sẽ được cửa sổ hoá bằng cách nhân tín hiệu với môt hàm cửa sổ độ rộng N
(3.1) Hàm cửa sổ thường được dùng là hàm cửa sổ Hamming:
(3.2)
3.3.3 Biến đổi Fourier nhanh (Fast Fourier Transform - FFT)
Phổ tín hiệu sau khi nhân với cửa sổ Hamming sẽ sử dụng phép biến đổi Fourier nhanh, ta thu được biên độ phổ chứa các thông tin có ích của tín hiệu tiếng nói Biến đổi Fourier nhanh - FFT (Fast Fourier Transform) là thuật toán rất hiệu quả để tính DFT của một chuỗi số Ưu điểm là ở chỗ nhiều tính toán được lặp lại do
tính tuần hoàn của số hạng Fourier Phép biến đổi Fourier là phép biến đổi thuận nghịch, dùng để biến đổi tín hiệu sang miền tần số, Dạng của DFT biến đổi thuận là:
Trang 26(3.3)
Phép biến đổi nghịch:
(3.4)
3.3.4 Lọc qua bộ lọc Mel filter-bank and log
Các bộ lọc mel-scale là các bộ lọc tam giác, đặt cách đều nhau trong miền tần số nhỏ hơn 1kHz và khoảng cách tăng theo hàm mũ trong miền từ 1kHz đến fs/2 (một nửa của tần số lấy mẫu)
Hình 3.5: Minh họa các bộ lọc mel-scale tam giác (triangle mel-scale filters)
Với M bộ lọc đó, ta hoàn toàn xác định đƣợc hệ số nhân hi(k) của mỗi bộ lọc Kết quả lọc đối với tín hiệu ở miền tần số qua các bộ lọc đƣợc tính nhƣ sau:
Trang 27(3.6)
3.3.6 Biến đổi Cosine rời rạc
Từ bước cuối cùng để thu được các hệ số MFCC là lấy biến đổi Cosine rời rạc của kết quả sau:
Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm
vụ là xác định các tham số ẩn từ các tham số quan sát được Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ: ứng dụng trong nhận dạng mẫu Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất HMM thêm vào các đầu ra mỗi trạng thái có xác suất phân bổ trên các biểu hiện đầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái
Trang 28Hình 3.6: Mô hình Markov ẩn 3 trạng thái
Minh họa ví dụ cụ thể hình 3.7 về hệ thống bình - cầu Giả sử có N cái bình, trong mỗi bình có M quả cầu với màu sắc khác nhau Đầu tiên, chọn ra ngẫu nhiên một bình trong N bình, sau đó sẽ lấy ra ngẫu nhiên một quả cầu bên trong, màu của quả cầu sẽ đƣợc ghi nhận lại và xem là ký hiệu quan sát đầu tiên Sau đó, quả cầu đƣợc trả về chổ cũ Sau đó, ta chuyển sang chọn ngẫu nhiên một bình tiếp theo trong số N bình còn lại; một quả cầu khác lại đƣợc chọn ra ngẫu nhiên và đƣợc ghi nhận lại màu nhƣ là ký hiệu quan sát thứ hai Tiến trình chọn bình và cầu đƣợc lặp
đi lặp lại Với T lần lặp, ta sẽ có T ký hiệu quan sát đƣợc, đó chính kết xuất của hệ thống bình-cầu
Hình 3.7: Hệ thống bình - cầu
Từ hệ thống bình - cầu này có thể mô tả hoạt động của một mô hình Markov ẩn có N trạng thái và M ký hiệu quan sát trong mỗi trạng thái Các trạng thái ứng với các bình, các ký hiệu quan sát ứng với màu của các quả cầu trong mỗi bình Khả năng chuyển từ một bình sang bình khác chính là xác suất chuyển trạng thái; còn việc chọn ngẫu nhiên quả cầu trong bình sẽ bị chi phối bởi hàm mật độ xác suất của các ký hiệu quan sát trong bình đó
Trang 29Định nghĩa một cách hình thức, các thành phần của HMM nhƣ sau:
Tại một thời điểm bất kỳ, hệ thống sẽ ở vào trạng thái qt trong tập S = {Si}
có N trạng thái Qua các thời gian rời rạc, hệ thống sẽ chuyển qua các trạng thái khác Ký hiệu qt là trạng thái ở thời điểm t, ta có:
P[qt = Sj | qt-1 = Si, qt-2 = Sk,…] = P[qt = Sj | qt-1 = Si] (3.8) Chúng ta chỉ xét các quá trình mà vế phải không phụ thuộc vào thời gian Khi đó tập xác suất chuyển trạng thái aij có dạng:
aij = P[qt = Sj | qt-1 = Si], với aij ≥ 0; (3.9)
Do đó, một mô hình Markov ẩn đƣợc đặc trƣng bởi các tham số sau:
1 N: số trạng thái của mô hình
Tập trạng thái của mô hình: s = {s1,s2, ,sN } Trạng thái ở thời điểm t,
qt ∈ s
2 M: số các ký hiệu quan sát đƣợc ứng với một trạng thái
Tập các ký hiệu quan sát: v = {v1,v2, ,vM } Ký hiệu quan sát ở thời điểm t, ot ∈ v
3 Tập xác suất chuyển trạng thái: A = {aij}
Ta ký hiệu một mô hình Markov ẩn nhƣ sau: λ = (A, B, π)
3.4.2 Các bài toán cơ bản của mô hình Markov ẩn
Áp dụng mô hình Markov ẩn cho xử lý tiếng nói, ta phải giải quyết 3 bài toán cơ bản sau:
Trang 30- Bài toán 1 (Ước lượng)- Evaluation problem: Cho chuỗi quan sát O = {
O1,O2, ,Ot} và mô hình λ = {A, B, π}, là, sao để tính toán một cách hiệu quả
P(O|λ) – xác suất phát sinh O từ mô hình λ-> (Thuật toán tiến – lùi)
- Bài toán 2 (Nhận dạng) – Decoding problem: Cho chuỗi quan sát O =
{O1,O2, ,Ot }và mô hình HMM đại diện bởi bộ tham số λ = {A, B, π} Cần tìm
ra chuỗi trạng thái tối ưu nhất Q= {q1, q2, , qT} đã phát sinh ra O -> (Thuật toán
Viterbi)
- Bài toán 3 (Huấn luyện) - Learning problem: Cho chuỗi quan sát O =
{O1,O2, ,Ot} Làm sao để xác định các tham số mô hình λ = {A, B, π} sao cho
cực đại hóa xác suất P(O|λ)? -> (Hàm ước lượng Baum-Welch)
3.4.2.1 Thuật toán tiến
Toán tử tiến αt(i) là xác xuất của chuỗi quan sát từng phần o1o2 .ot và trạng thái quan sát Si tại thời điểm t với điều kiện cho mô hình Markov ẩn λ
αt (i) = P(O1,O2, ,Ot, qt = Si | λ) (3.11)
Toán tử tiến có thể được tính theo các bước qui nạp sau:
Bước 1: Khởi tạo
α1(i) = πibi(O1), 1 i N (3.12) Bước 2: Qui nạp
(3.13)
Bước 3: Đầu ra
3.4.2.2 Thuật toán lùi
Toán tử lùi βt(i) là xác xuất của chuỗi quan sát từng phần Ot+Ot+2…OT
và trạng thái Si tại thời điểm t với điều kiện cho mô hình Markov ẩn λ
(3.14)
Trang 31Bước 1: Khởi tạo
Bước 2: Quy nạp:
Bước 3: Đầu ra:
3.4.2.3 Thuật toán Viterbi
Thuật toán Viterbi định nghĩa biến δt(i) là xác suất cao nhất của đoạn chuỗi trạng thái dẫn đến Si ở thời điểm t và đã quan sát được đoạn O1, O2, …, Ot cho trước mô hình λ:
δt(i) có thể được tính theo quy nạp:
Tuy nhiên thuật toán Viterbi còn cần đến mảng tđể lưu lại các tham số i làm cực đại hóa công thức (3.20), có thể hiểu tại thời điểm t trước j là i, nhằm mục đích truy vết (back trace) Chi tiết các bước của thuật toán Viterbi như sau:
Trang 32B
Bước 3: Đầu ra
Bước 4: Quay lùi
Kết thúc thuật toán, chuỗi Q = q1*q2*…qT* chính là lời giải cho bài toán 2
3.4.2.4 Thuật toán Baum-Welch
)
|(
)()()(
1 1
O P
j i
t t j ij
)(
),(
T t
a
(3.28)
Trang 33Khi đó = (A,B,) là mô hình đƣợc ƣớc lƣợng lại
Hình 3.8 : Ước lượng Baum - Welch
Trang 34CHƯƠNG 4: ỨNG DỤNG HTK VÀ JULIUS XÂY DỰNG HỆ
THỐNG NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT
4.1 HTK
4.1.1 Giới thiệu về HTK
HTK (HMM Toolkit) là một bộ công cụ hỗ trợ nhận dạng mạnh mẽ của Steve Young và nhóm nghiên cứu của ông Nó tích hợp hầu hết các kỹ thuật về mô hình Markov ẩn, các kỹ thuât về xử lý tiếng nói và nhận dạng tiếng nói Bên cạnh
đó, nó còn kết hợp các mô hình ngôn ngữ, cú pháp văn phạm giúp cho việc nhận dạng hiệu quả hơn
Hình 4.1: Mô hình nhận dạng tiếng nói sử dụng HTK
Hình 4.1 mô tả một hệ thống nhận dạng tiếng nói sử dụng HTK, bao gồm 2 giai đoạn xử lý chính.:
• Giai đoạn huấn luyện (traning): Các công cụ huấn luyện HTK được sử dụng để ước lượng các tham số của một tập các HMM sử dụng các câu nói kết hợp với phát âm của chúng để huấn luyện
• Giai đoạn nhận dạng (recogniser): Với một câu nói chưa biết thông qua các công cụ nhận dạng HTK sẽ cho kết quả là phiên âm của những tiếng nói này
HTK được xây dựng như một thư viện dễ dàng mở rộng và phát triển Đây
là công cụ lý tưởng để nghiên cứu và nhận dạng dựa trên HMM HTK còn bao gồm
Trang 35không phải tốn nhiều thời gian để xây dựng lại công cụ mô hình HMM
Hình 4.2: Các module và các chức năng trong HTK
Hình 4.2 mô tả kiến trúc tổng quát của HTK, bao gồm nhiều môđun nhỏ, mỗi phần có những chức năng khác nhau
Hình 4.3 dưới đây trình bày các công đoạn của việc xây dựng hệ nhận dạng tiếng nói, các công cụ và chức năng mà HTK cung cấp qua các công đoạn như: chuẩn bị dữ liệu (Data Prep), huấn luyện (Training), kiểm tra kết quả (Testing), đánh giá và phân tích kết quả nhận dạng (Analysis)
Trang 36Hình 4.3: Các công cụ và các chức năng trong HTK
4.1.2 Cấu trúc các tập tin trong HTK
HTK sử dụng các tập tin dữ liệu khác nhau để chuyển đổi dữ liệu cho các công cụ khác nhau Sau đây là các công cụ cơ bản thường được dùng trong HTK:
• HCode: Được sử dụng để mã hóa một tập tin tiếng nói ở dạng sóng âm thành tập tin ở dạng tham số (dãy các vector quan sát)
• HInit: Dùng để khởi tạo một HMM dựa trên một tập các phân đoạn dữ liệu huấn luyện được đánh nhãn
• HRest: Dùng để tái ước lượng tham số dựa trên thuật toán Baum – Welch, nó làm việc trên một tập các phân đoạn dữ liệu huấn luyện được đánh nhãn
• HERest: Dựa trên thuật toán Baum – Welch huấn luyện cùng lúc Nó huấn luyện một tập các HMM sử dụng cho một tập dữ liệu huấn luyện bao gồm các câu được nói liên tục và phiên âm tương ứng của chúng
• HVite: Nhận dạng tiếng nói liên tục dùng Viterbi với các ràng buộc về cú pháp và tìm kiếm tín hiệu Việc so khớp/nhận dạng với đầu vào là dữ liệu cần nhận dạng và trả về mô hình tốt nhất/khớp nhất mà nó thuộc vào
• HResults: Sử dụng 2 tập tin lưu trữ dữ liệu phiên âm, kết hợp lập trình động sau đó xuất ra thống kê kết quả nhận dạng
• HSLab: Là một màn hình để hiển thị tiếng nói dưới dạng sóng âm và tập tin phiên âm dưới dạng đồ họa
Trang 37• HPase: Công cụ chuyển đổi từ dữ liệu đầu vào thành dữ liệu theo định dạng của HTK
4.1.3 Chi tiết về HTK
4.1.3.1 Xử lý tín hiệu tiếng nói
HTK hỗ trợ việc rút trích đặc trưng là quá trình chuyển từ tín hiệu âm thanh dạng sóng thành dãy các vector tham số Dữ liệu đầu vào là các tập tin âm thanh wav và dãy các vector tham số sử dụng phương pháp nén MFCC_C (compressed mel-ceptral coefficients) là kết quả thu được HTK cho phép dữ liệu đầu vào và ra ở nhiều dạng khác nhau
Hình 4.4 thể hiện quá trình này Trong HTK, các tập tin dạng sóng âm và các tập tin tham số dùng để biểu diễn cho cùng một dãy mẫu tín hiệu ở 2 dạng khác nhau là dạng nhị phân và dạng vector nhiều thành phần Thông thường một vector tham số thể hiện cho một khoảng thời gian nhất định trong dãy tin hiệu âm thanh từ 10-25 msec (người dùng HTK có thể định nghĩa lại giá trị này)
Hình 4.4 - Xử lý mã hóa tiếng nói
Trang 38Ta có thể sử dụng lệnh HCopy để thực hiện việc này
4.1.3.2 Ước lượng tham số cho các mô hình
Có 4 công cụ cơ bản trong HTK cung cấp cho việc ước lượng tham số HMM là: HCompV, HInit, HRest HCompV và HInit được dùng để khởi tạo giá trị cho các tham số HCompV sẽ tính kỳ vọng phương sai mỗi thành phần Gausssian trong định nghĩa mô hình Markov ẩn, để chúng gần bằng dữ liệu huấn luyện tiếng nói HInit sử dụng công thức ước lượng như thuật toán Viterbi để tính giá trị cho các HMM mới
HTK hỗ trợ cả 2 hệ thống nhận dạng tiếng nói, nhận dạng dựa trên toàn bộ
từ Mỗi HMM được xây dựng cho một từ trong tập từ điển, nhưng HTK hỗ trợ rất tốt để nhận dạng dựa trên các đơn vị âm thanh cơ bản là phone Hệ thống nhận dạng loại này sẽ được xây dựng bằng cách kết hợp các HMM với từng âm (phone) lại tương ứng với phiên âm của nó trong từ điển
4.1.3.3 Huấn luyện theo mô hình âm vị
Hình 4.5 thể hiện chi tiết quá trình huấn luyện này Giai đoạn huấn luyện theo mô hình âm vị, ta dùng các công cụ: HInit, HRest, HCompV, HERest
Hình 4.5 - Huấn luyện theo mô hình âm vị dùng HTK
Mô hình HMM được khởi tạo theo hai cách, cách thứ nhất sử dụng công cụ HInit như hình 4.6 và HRest như hình 4.8 tạo ra những mô hình ứng với từng âm vị khi dữ liệu huấn luyện được gán nhãn (Labelled Utterances) Cách thứ hai dùng công cụ HCompV như hình 4.9 để khởi tạo mô hình HMM với dữ liệu huấn luyện được mô tả (Transcriptions) mà chưa được gán nhãn (Unlabelled Utterances) Mô hình khởi tạo sẽ sao chép ra các bản ứng với từng âm vị Sau đó các mô hình khởi tạo sẽ được huấn luyện bằng HERest như hình 4.10
Trang 39Nguyên tắc chung của HInit là xem từng mẫu huấn luyện như là kết xuất của mô hình HMM cần ước lượng tham số bằng trung bình tất cả các vector kết hợp với mỗi trạng thái Tương tự, ma trận chuyển trạng thái được ước lượng dễ dàng bằng cách đếm mỗi lần trạng thái xảy ra Quá trình này được biểu diễn trong hình 4.6 dưới đây
Hình 4.6 - Quy trình hoạt động của HInit
Hình 4.7 - Quy trình xử lý tập tin trong HInit