Nhận dạng tiếng nói tiếng việt theo hướng tiếp cận nhận dạng âm vị tự động
Trang 1KHOA CNTT –
ĐH KHTN
ĐẶNG THÁI DƯƠNG – 0012535 HÀ GIANG HẢI – 0012544
NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT THEO HƯỚNG TIẾP CẬN
NHẬN DẠNG ÂM VỊ TỰ ĐỘNG
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Th.S THÁI HÙNG VĂN
Trang 2Xin gởi lời cảm ơn đến các thầy cô trong Khoa Công nghệ thông tin, những người đã dìu dắt chúng em trong suốt 4 năm ở Đại học
Xin cảm ơn bạn bè và các anh chị Khóa trên, những người đã cùng chúng tôi học tập, san sẻ khó khăn, trong đó có những ủng hộ tinh thần quý giá Đặc biệt, anh Nguyễn Tấn Dũng đã nhiệt tình giúp đỡ nhiều về tài liệu
Và cuối cùng, nhưng quan trọng nhất, xin cám ơn ba mẹ và những người thân, những người ủng hộ chúng con về mọi mặt Không có sự quan tâm đó, chúng con không thể hoàn thành tốt đồ án này
TP HCM, ngày 10 tháng 7 năm 2004
Các sinh viên
Đặng Thái Dương – Hà Giang Hải
Trang 3GIỚI THIỆU CHUNG x
CHƯƠNG 1 Sơ lược về ngữ âm tiếng Việt 1
1.1 Ý nghĩa của các nghiên cứu ngữ âm trong nhận dạng tiếng nói Tiếng Việt 1
1.2 Phân loại âm tố theo cấu âm 1
1.2.1 Định nghĩa âm tố 1
1.2.2 Các âm tố phụ âm 2
1.2.2.1 Đặc điểm cấu tạo của phụ âm 2
1.2.2.2 Một số cách phân chia phụ âm 2
1.2.2.3 Cấu âm bổ sung 4
1.2.3 Các âm tố nguyên âm 4
1.2.3.1 Đặc điểm cấu tạo của nguyên âm 4
1.2.3.2 Một số cách phân chia nguyên âm 4 1.3 Phân loại âm tố về mặt âm học - nhận dạng tiếng nói dựa vào đặc trưng âm
Trang 4KHOA CNTT –
ĐH KHTN
1.3.2 Các đặc trưng âm học 6
1.3.3 Nhận dạng tiếng nói dựa vào các đặc trưng âm học 11
1.4 Sơ lược về âm tiết tiếng Việt 11
1.4.1 Giới thiệu về âm tiết 11
1.4.2 Một số đặc điểm của âm tiết tiếng Việt 12
1.4.2.1 Là ngôn ngữ có kết cấu âm tiết tính 12
1.4.2.2 Mỗi âm tiết có thanh điệu riêng 12
1.4.2.3 Âm tiết có cấu trúc chặt chẽ và ổn định 13
1.5 Lý thuyết về âm vị 14
1.5.1 Định nghĩa âm vị 14
1.5.2 Chức năng của âm vị 15
1.5.3 Tách âm vị và xác định âm vị trên chuỗi sóng âm 15
CHƯƠNG 2 Mô hình HMM áp dụng vào nhận dạng âm vị 17
2.2.1.3 Ví dụ về nhận dạng từ đơn dựa trên HMM 21
2.2.1.4 Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM 22
2.2.1.5 Ba vấn đề thiết yếu của mô hình HMM và cách giải quyết các vấn đề trên 24
Trang 52.4 Mô hình HMM cho âm vị được sử dụng trong bài làm 32
CHƯƠNG 3 Tiền xử lý tín hiệu Tiếng nói và rút trích đặc trưng 34
3.1 Ý nghĩa của Tiền xử lý Tiếng nói 34
3.2 Một số công việc trong Tiền xử lý tín hiệu tiếng nói 35
3.2.1 Làm nổi tín hiệu (pre-emphasis) 35
3.2.2 Lọc tiếng ồn 36
3.3 Rút trích đặc trưng 37
3.3.1 Giới thiệu 37
3.3.2 Một số phương pháp trích đặc trưng 38
3.3.2.1 Phương pháp Mã hóa dự báo tuyến tính (LPC) 38
3.3.2.3 Phương pháp Mã hoá cepstral tần số Mel dựa trên LPC (MFCC) 42
3.3.2.4 Các hệ số delta (D) và hệ số gia tốc (A) 42
3.3.3 So sánh các phương pháp trích đặc trưng 43
CHƯƠNG 4 Thuật giải Embedded training – tách và xây dựng mô hình HMM tự động cho âm vị 45
4.1 Tách và nhận dạng âm vị tự động dựa trên HMM 45
4.1.1 Thuật toán huấn luyện đối với những đơn vị độc lập - Huấn luyện trên dữ liệu gán nhãn 45
Trang 6KHOA CNTT –
ĐH KHTN
4.2 Các công thức ước lượng tham số của mô hình HMM 49
4.2.1 Ước lượng tham số khi huấn luyện các mô hình HMM độc lập 49
4.2.2 Ước lượng tham số trong thuật giải Embedded training 51
4.3 Các vấn đề về tham số của HMM khi sử dụng thuật giải Embedded training 53
4.3.1 Khởi tạo tham số 53
4.3.2 Ngưỡng 54
4.3.3 Số lần lặp trong mỗi bước luyện của thuật toán 54
4.3.4 Dữ liệu huấn luyện 54
CHƯƠNG 5 Thực hiện chương trình 56
5.1 Các khó khăn trong quá trình nhận dạng 56
5.1.1 Âm vị độc lập và âm vị phụ thuộc ngữ cảnh 56
5.1.2 Tách âm tiết trong tiếng nói liên tục và sự phụ thuộc giữa các âm vị lẫn nhau trong tiếng nói liên tục 58
5.1.3 Các nguyên âm đôi 58
5.1.4 Ảnh hưởng của thanh điệu lên âm vị 59
5.2 Quá trình thực hiện chương trình 59
Trang 7KHOA CNTT –
ĐH KHTN
5.2.4 Huấn luyện mô hình HMM 63
5.2.4.1 Huấn luyện mô hình HMM cho âm vị độc lập ngữ cảnh (monophone) 63
5.2.4.2 Huấn luyện trên mô hình âm vị phụ thuộc ngữ cảnh (triphone) 66
Trang 8KHOA CNTT –
ĐH KHTN
DANH SÁCH CÁC HÌNH
HÌNH 1 – Phổ (spectrum) của một nguồn âm thanh tại thời điểm t 7
HÌNH 2 – Phổ đồ (spectrogram) của tiếng “hai” (trên) và sóng âm tương ứng (dưới) Những vùng có cường độ cao (vùng đen) tạo thành những dãi bắt ngang qua phổ đồ, đó là những vệt formant, được đánh số từ dưới lên là F1, F2, F3, … 8
HÌNH 3 – 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 12
HÌNH 4 – 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” 16
HÌNH 5 – Hai cách tách âm vị cho cùng một sóng âm của chữ “hai” 16
HÌNH 6 – Mô hình HMM 5 trạng thái 19
HÌNH 7 – Sơ đồ huấn luyện mô hình HMM 28
HÌNH 8 – Sơ đồ nhận dạng từ mô hình HMM đã được huấn luyện 29
HÌNH 12 – Lưu đồ huấn luyện từ đơn của công cụ HRest (HTK) 46
HÌNH 13 – Dãy sóng âm “MO6T MO6T HAI HAI BA MO6T” 47
HÌNH 14 – Mô hình huấn luyện Embedded training 48
HÌNH 15 – Các âm vị không nằm trong 1 siêu cầu 57
HÌNH 16 – Mô hình huấn luyện monophone (Từ in nghiêng trong dấu ngoặc đơn là tên thư mục hoặc tập tin trong bài làm của nhóm) 63
HÌNH 17 – Mối liên hệ giữa likelihood trung bình và số bước huấn luyện 64
Trang 9KHOA CNTT –
ĐH KHTN
HÌNH 18 – Phương pháp góm nhóm âm vị dựa vào cây quyết định âm học 68 HÌNH 19 – Buộc trạng thái theo phương pháp Data-driven-clustering 69 HÌNH 20 – Sự phụ thuộc của kết quả nhận dạng vào ngưỡng phân nhóm các trạng
thái của HMM 69
Trang 10KHOA CNTT –
ĐH KHTN
DANH SÁCH CÁC BẢNG
BẢNG 1 – Phân chia nguyên âm theo độ nâng của lưỡi 6
BẢNG 2 – Ảnh hưởng của số bước lặp huấn luyện đến kết quả nhận dạng 64
BẢNG 3 – Kết quả nhận dạng các tiếng là chữ số đọc liên tục 72
BẢNG 4 – Kết quả nhận dạng từ đơn 73
Trang 11KHOA CNTT –
ĐH KHTN
GIỚI THIỆU CHUNG
Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa người và máy Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con người Hiện nay trên thế giới, lĩnh vực Nhận dạng Tiếng nói đã đạt được nhiều tiến bộ vượt bậc Tuy nhiên, hầu hết các công trình vẫn còn thực hiện ở trong phòng thí nghiệm, đặc biệt là đối với các thứ tiếng ít phổ biến như Tiếng Việt của chúng ta
Ý tưởng về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế kỷ 20 và đến nay đã đạt được nhiều kết quả đáng kể Có 3 hướng tiếp cận chính cho nhận dạng tiếng nói:
Tiếp cận Âm học: Hướng tiếp cận này dựa vào các đặc điểm âm học được
rút ra được từ phổ âm thanh Tuy nhiên kết quả của hướng tiếp cận này còn thấp vì trong thực tế, các đặc trưng âm học có sự biến động rất lớn Hơn nữa phương pháp này đòi hỏi tri thức rất đầy đủ về âm học (Vốn tri thức âm học hiện nay chưa thể đáp ứng)
Tiếp cận Nhận dạng mẫu thống kê: Sử dụng các phương pháp máy học
dựa trên thống kê để học và rút ra mẫu tham khảo từ lượng dữ liệu lớn
Hướng này đang được sử dụng nhiều, chủ yếu là dựa vào Mô hình
Markov ẩn (HMM)
Tiếp cận Trí tuệ nhân tạo: là hướng kết hợp của cả hai hướng trên
Phương pháp này kết hợp được cả tri thức của chuyên gia và phương pháp mẫu thống kê Đây sẽ là hướng tiếp cận tương lai của nhận dạng tiếng nói
Trang 12KHOA CNTT –
ĐH KHTN
Trong môi trường sinh hoạt hàng ngày, chất lượng tiếng nói biến động rất lớn do chịu ảnh hưởng của các yếu tố ngoại cảnh, tâm và sinh lý người nói: một câu của cùng một người nói khi thâu vào máy sẽ khác nhau nếu nói ở hai tâm trạng khác nhau (lúc vui nói khác, lúc giận nói khác,…), sức khoẻ khác nhau (lúc khoẻ nói khác, lúc bệnh nói khác), tốc độ nói khác nhau (nói chậm thì rõ hơn nói nhanh), môi trường xung quanh khác nhau (môi trường có tiêng ồn thì âm thu vào sẽ bị nhiễu), v.v… Và còn nhiều yếu tố khác nữa tác động lên chất lượng của lời nói như thiết bị thu không tốt, tín hiệu bị nhiễu điện,… Do đó, việc nhận dạng trở nên rất khó khăn
Nói về nhận dạng tiếng Việt, chúng ta đi sau thế giới rất lâu Vì vậy, thành quả đạt được còn hạn chế: chưa có những hệ thống nhận dạng thật sự tốt, chưa có các kho dữ liệu quí như trong tiếng Anh,… Tuy nhiên, chúng ta được thừa hưởng nhiều thành quả của thế giới về kỹ thuật nhận dạng Hiện nay, trong khi chưa có các công trình nghiên cứu đầy đủ về ngữ âm tiếng Việt dưới góc độ làm tin học, hướng tiếp cận chủ yếu để nhận dạng tiếng nói tiếng Việt vẫn là nhận dạng thống kê Và khó khăn của chúng ta là xây dựng các kho dữ liệu đủ lớn và chính xác dùng để học mẫu và kiểm tra kết quả nhận dạng
Trong hệ nhận dạng tiếng nói, đơn vị cơ bản phải nhận được là từ, hay còn gọi là âm tiết Trong hầu hết các ngôn ngữ, số lượng âm tiết là rất lớn Tiếng Việt có hơn 8000 âm tiết, khoảng 6000 âm tiết được dùng phổ biến Với số lượng lớn như vậy, việc nhận dạng từng âm tiết là khó thực hiện được Vì vậy, chúng ta phải đi theo hướng nhận dạng các đơn vị nhỏ hơn cấu thành âm tiết (đơn vị dưới từ, ví dụ như âm vị) vì các đơn vị này có số lượng ít Theo thống kê, trong hầu hết các ngôn ngữ, số lượng âm vị dao động từ 20 đến 60 (ít hơn nhiều so với hàng ngàn hay hàng chục ngàn âm tiết) Vì vậy, nhận dạng âm vị là hướng thường được chọn trong số các hướng nhận dạng đơn vị dưới từ
Trong nhận dạng tiếng nói theo hướng nhận dạng từng âm vị, một khó khăn chúng ta gặp phải là: các âm vị liền nhau trong chuỗi tiếng nói không có vách ngăn
rõ ràng (2 âm vị sát nhau có một phần giao nhau, khó xác định được phần giao nhau
Trang 13KHOA CNTT –
ĐH KHTN
thuộc âm vị trước hay âm vị sau) Ngay cả đối với con người, tách âm vị từ một âm tiết (xác định vị trí bắt đầu và vị trí kết thúc của âm vị đó trên sóng âm của âm tiết) cũng không phải là công việc đơn giản
Hiện nay, hầu hết các hướng tiếp cận để nhận dạng âm vị là nhận dạng theo học mẫu thống kê Thông thường, để học mẫu, người ta cung cấp cho chương trình học một nguồn dữ liệu có nhiều mẫu được đã phân loại thành nhiều lớp và có gán nhãn (nhãn cho biết mỗi mẫu thuộc lớp nào) Nguồn dữ liệu này phải được phân lớp và gán nhãn chính xác hoàn toàn để máy học Tuy nhiên, do không thể tách âm vị một cách chính xác, nguồn dữ liệu âm vị đưa vào khó đạt được mức độ chính xác, kết quả là việc huấn luyện giảm hiệu suất, làm cho hiệu suất của chương trình nhận dạng cũng giảm theo
Chúng tôi xin nêu ra một hướng giải quyết để tránh việc gán nhãn âm vị không chính xác: thay vì đánh nhãn âm vị, chúng ta sẽ đánh nhãn âm tiết, đồng thời cho biết các âm vị cấu thành âm tiết đó Như vậy, dữ liệu mẫu cung cấp cho quá
trình học là các âm tiết Thuật toán học được sử dụng để tách âm vị là Embedded
training Kết quả thu được là các mô hình HMM cho từng âm vị Do mỗi dãy âm vị
được chọn tương đương với một âm tiết, công việc đánh nhãn âm vị trên sóng âm
thực chất là không có (chỉ đánh nhãn trên âm tiết, vốn được thực hiện dễ dàng) Vì
vậy, có thể xem dữ liệu đưa vào trong quá trình huấn luyện là dữ liệu không gán
nhãn và phương pháp nhận dạng này được xem là nhận dạng âm vị tự động
Công việc gán nhãn âm vị bằng tay rất vất vả và mất nhiều thời gian.Ngoài ra,
hiện nay có rất ít kho dữ liệu đã được gán nhãn âm vị Vì vậy, hướng tiếp cận nhận
dạng âm vị tự động, vốn hiệu quả hơn, tỏ ra là hướng tiếp cận đúng đắn Tuy nhiên,
huấn luyện trên dữ liệu không gán nhãn cũng có những khó khăn: đòi hỏi khối lượng dữ liệu lớn hơn nhiều so với huấn luyên trên dữ liệu có gán nhãn, đồng thời
quá trình huấn luyện cũng lâu hơn
Trang 14KHOA CNTT –
ĐH KHTN
Với những ưu thế vượt trội như trên đã nêu, hướng tiếp cận nhận dạng âm vị tự động đã được chúng tôi chọn trong đề tài nhận dạng tiếng nói tiếng Việt của mình Trong bài làm, chúng tôi muốn chứng minh hai điều:
Nếu có đầy đủ dữ liệu tiếng nói (không gán nhãn), có thể nhận dạng được số lượng lớn các âm tiết tiếng Việt với độ chính xác tương đối cao theo hướng tiếp cận nhận dạng âm vị tự động
Có thể nhận dạng được tiếng nói Tiếng Việt nói liên tục với tốc độ trung bình
Phần còn lại của luận văn này được tổ chức như sau:
CHƯƠNG 1: Sơ lược một số đặc điểm của ngữ âm tiếng Việt, hướng tiếp cận nhận dạng tiếng nói dựa vào đặc trưng âm học, giới thiệu về âm vị và bài toán tách âm vị tự động trong tiếng Việt
CHƯƠNG 2: Giới thiệu mô hình HMM và sự lựa chọn mô hình HMM cho đề tài nhận dạng tiếng Việt của nhóm
CHƯƠNG 3: Tiền xử tiếng nói và rút trích đặc trưng Chương này sẽ giới thiệu về tiền xử lý tiếng nói và một số phương pháp trích đặc trưng được sử dụng trong nhận dạng tiếng nói
CHƯƠNG 4: Giới thiệu thuật giải embedded training Đây là quá trình xây dựng mô hình HMM tự động cho các âm vị từ kho dữ liệu không gán nhãn âm vị
CHƯƠNG 5: Quá trình thực hiện chương trình nhận dạng tiếng nói của nhóm Kết quả nhận dạng và giới thiệu chương trình demo
Trang 15KHOA CNTT –
ĐH KHTN
1.1 Ý nghĩa của các nghiên cứu ngữ âm trong nhận dạng tiếng nói Tiếng Việt
Các hệ nhận dạng tiếng nói phát triển gần đây bắt đầu đi theo hướng tiếp cận ngữ âm học kết hợp với hướng tiếp cận nhận dạng theo mẫu thống kê truyền thống Các hệ nhận dạng tiếng nói trong tương lai cũng kết hợp hướng nhận dạng thống kê và sử dụng các tri thức về ngữ âm học để tạo ra các hệ nhận dạng hoạt động giống với cách thức mà con người nghe và hiểu tiếng nói nhất Vì vậy, các nghiên cứu về ngữ âm, đặc biệt là các nghiên cứu dành cho lĩnh vực nhận dạng trở nên mang ý nghĩa quan trọng Công việc nghiên cứu này có ý nghĩa riêng biệt trên từng ngôn ngữ (Vì mỗi ngôn ngữ đều có đặc điểm riêng, ngoài những điểm chung) Vì vậy, muốn xây dựng tốt hệ nhận dạng tiếng nói tiếng Việt, trước tiên chúng ta phải nghiên cứu ngữ âm tiếng Việt để biết được đặc điểu âm học của Tiếng Việt trong từng địa phương Từ đó, xây dựng hệ nhận dạng hiệu quả nhất cho ngôn ngữ/địa phương đó
1.2 Phân loại âm tố theo cấu âm 1.2.1 Định nghĩa âm tố
Âm tố là đơn vị ngữ âm nhỏ nhất mà tai người có thể phân biệt được Chúng không mang chức năng phân biệt nghĩa hay nhận diện từ
Âm tố thường tương ứng với âm vị
Âm tố là những yếu tố tự nhiên, phụ thuộc vào ngữ điệu, hoàn cảnh phát âm
Trang 16KHOA CNTT –
ĐH KHTN
mỗi cá nhân,… Chính vì vậy, người ta không liệt kê được có bao nhiêu âm tố trong các ngôn ngữ
Âm tố cơ bản được chia ra làm 2 loại: nguyên âm và phụ âm Sự phân chia
này có thể đi từ những đặc điểm âm học, cấu âm và vai trò của chúng trong cấu tạo âm tiết
Về mặt chức năng, các nguyên âm thường là hạt nhân (hay đỉnh) của âm tiết
- thành phần phát âm rõ và gây chú ý nhất trong một âm tiết Thanh điệu và ngữ điệu của một ngôn ngữ cũng được chứa đựng chủ yếu trong nguyên âm Phụ âm, ngược lại, thường là yếu tố đi kèm, không tạo thành âm tiết (trừ các phụ âm vang)
Ngoài ra còn có các âm tố bán nguyên âm, vốn mang đặc điểm của nguyên
âm nhưng có chức năng khác với chức năng của nguyên âm, thường chỉ đi kèm với nguyên âm khác để tạo âm tiết Ví dụ: các âm tố được viết thành u, i trong các âm
tiết “sau”, “mai” trong tiếng Việt là các bán nguyên âm
1.2.2 Các âm tố phụ âm
1.2.2.1 Đặc điểm cấu tạo của phụ âm
Khi phát âm, luồng hơi bị cản trở do sự xuất hiện chướng ngại trên lối ra của đường không khí Điểm có chướng ngại được gọi là vị trí cấu âm Bộ máy phát âm không căng thẳng toàn bộ mà chỉ căng thẳng phần cơ
thịt ở vị trí cấu âm Luồng hơi ra mạnh
1.2.2.2 Một số cách phân chia phụ âm
Phân chia theo theo mối quan hệ giữa tiếng thanh và tiếng ồn trong cấu tạo của phụ âm:
Các phụ âm được chia thành các phụ âm vang (tiếng thanh nhiều hơn tiếng ồn) và các phụ âm ồn Trong các phụ âm ồn lại chia ra các phụ âm hữu thanh (phát
Trang 17 Phân chia theo phương thức cấu tạo tiếng ồn, bao gồm:
Phụ âm tắc: tạo thành khi hai khí quan tiếp xúc nhau, tạo thành chỗ tắc, cản
trở hoàn toàn lối ra của luồng không khí Ví dụ: Các phụ âm [p], [b], [t], [d]
Phụ âm xát: tạo thành khi hai khí quan nhích lại gần nhau, làm cho lối ra của
luồng không khí bị thu hẹp; luồng không khí đi qua khe hẹp này cọ xát vào thành của bộ máy phát âm Ví dụ: Các phụ âm [f], [v], [s], [z], [h]
Phụ âm rung: tạo thành khi các khí quan dễ rung động (như đầu lưỡi, lưỡi
con hay môi) nhích lại gần nhau tạo thành một khe hở rất hẹp hay một chỗ tắc yếu, luồng không khí đi ra mạnh làm cho các khí quan ấy rung lên Ví dụ: phụ âm [r] trong tiếng Nga hay [R] trong tiếng Pháp
Trong cách cấu âm của phụ âm, người ta thường phân biệt ba giai đoạn:
Giai đoạn tiến: khí quan phát âm chuyển đến vị trí cấu âm Giai đoạn giữ: khí quan phát âm ở vị trí cấu âm
Giai đoạn lùi: khí quan phát âm rời khỏi vị trí cấu âm
Hai giai đoạn đầu giống nhau ở bất cứ âm tắc nào Về giai đoạn thứ ba, cần phân biệt các tiểu loại âm tắc: âm nổ, âm mũi, âm tắc- xát và âm khép
Phân chia theo vị trí tạo ra tiếng ồn
Trang 18KHOA CNTT –
ĐH KHTN
Theo khí quan chủ động, các phụ âm được chia thành các loại: phụ âm môi,
lưỡi trước, lưỡi giữa, lưỡi sau, lưỡi con, yết hầu, thanh hầu
Trong các nhóm này, có một số cần chia nhỏ ra nữa Thí dụ trong các âm môi, người ta phân biệt các âm hai môi, thường gọi là âm môi-môi (ví dụ: [p], [b], [m]) với các âm một môi, thường gọi là âm môi-răng ( ví dụ: [f], [v]); các âm lưỡi trước thường chia thành nhiều nhóm nhỏ nhưng đáng chú ý là âm đầu lưỡi và âm quặt lưỡi, …
1.2.2.3 Cấu âm bổ sung
Một số ngôn ngữ còn có một số cấu âm bổ sung làm thay đổi sắc thái các âm Ðó là các hiện tượng bật hơi, môi hóa, ngạc hóa, yết hầu hóa, thanh hầu hóa, mũi
hóa Trong tiếng Việt, các cấu âm bổ sung có vai trò quan trọng hơn cả là: hiện
tượng bật hơi tức là kèm theo một lưu lượng không khí lớn khi chỗ tắc được bật ra
(ví dụ: phụ âm th); hiện tượng thanh hầu hóa - bổ sung động tác tắc kèm theo sự
nâng lên của thanh hầu; và yết hầu hóa - bổ sung động tác khép của yết hầu Hai hiện tượng sau góp phần hiện thực hóa một số phụ âm đầu và thanh điệu tiếng Việt
Các cấu âm bổ sung, cũng như các cấu âm khác, đều có thể được sử dụng để khu biệt các âm tố, hay các hiện tượng âm thanh trong ngôn ngữ Vì vậy, xét về mặt âm vị học, chúng có giá trị bình đẳng với nhau
1.2.3 Các âm tố nguyên âm
1.2.3.1 Đặc điểm cấu tạo của nguyên âm
Khi phát âm, luồng hơi không bị cản trở bởi lưỡi, răng hay môi Bộ máy phát âm căng thẳng toàn bộ
Luồng hơi ra yếu hơn phụ âm
1.2.3.2 Một số cách phân chia nguyên âm
Các nguyên âm không thể phân loại theo tiêu chuẩn như của phụ âm Về mặt phương thức cấu âm, nguyên âm chỉ thuộc vào một phương thức đó là luồng hơi ra
Trang 19KHOA CNTT –
ĐH KHTN
tự do Nguyên âm không có vị trí cấu âm vì các khí quan không tạo thành khe, cũng không tạo thành chỗ tắc Các nguyên âm cũng không thể phân loại theo tiếng thanh, vì bình thường, bất cứ nguyên âm nào cũng có tiếng thanh
Các nguyên âm chỉ khác nhau ở các hoạt động của các khí quan phát âm, trong đó quan trọng nhất là lưỡi Vì sự thay đổi vị trí của lưỡi gây ra sự khác nhau rất lớn giữa các nguyên âm Lưỡi chuyển động tới - lui và lên - xuống trong khoang miệng tạo nên những tương quan phức tạp giữa các khoang cộng minh (khoang miệng và mũi), làm thay đổi hình dáng và thể tích của chúng Môi tròn lại và đưa về trước, làm kéo dài lối thoát của luồng không khí, hoặc môi chành ra, làm cộng minh trường phía trước ngắn lại
Người ta thường phân loại nguyên âm theo vị trí của lưỡi, độ nâng của lưỡi và hình dáng của môi:
Phân loại theo vị trí của lưỡi
Gồm các nguyên âm dòng trước (khi lưỡi dồn về trước), nguyên âm dòng sau (khi lưỡi dồn về sau) và nguyên âm dòng giữa (khi lưỡi ở giữa miệng nâng lên) Ví
dụ, trong tiếng Việt, các nguyên âm dòng trước là [i], [e], [ê], nguyên âm dòng sau là [u], [o], [ô] và nguyên âm dòng giữa là [ư], [ơ], [a]
Phân loại theo độ nâng của lưỡi
Các nguyên âm được chia tùy theo từng ngôn ngữ Ðộ nâng của lưỡi tương ứng với độ mở của miệng, nên các nguyên âm có độ nâng cao còn gọi là nguyên âm hẹp, nguyên âm có độ nâng thấp còn gọi là nguyên âm mở Trong ngữ âm học đại cương không có một cách phân loại tuyệt đối theo độ nâng lưỡi vì mỗi ngôn ngữ có một hệ thống nguyên âm khác nhau Ví dụ, các nguyên âm dòng trước trong tiếng Pháp có 4 độ nâng, các nguyên âm trong tiếng Ðức có 5 độ nâng, nguyên âm trong tiếng Nga có 3 độ nâng, còn trong tiếng Anh có 6 độ nâng Trong tiếng Việt, các nguyên âm đơn có thể chia thành 4 độ nâng:
Trang 20KHOA CNTT –
ĐH KHTN
Rộng [ă], [a], …
BẢNG 1 – Phân chia nguyên âm theo độ nâng của lưỡi
Phân loại theo hình dáng môi
Các nguyên âm được chia thành nguyên âm tròn môi (như [u], [ô], [o]), nguyên âm không tròn môi (như [i], [ê], [e], [ư], [ơ], [a]) Sự tròn môi rõ nhất ở nguyên âm khép và yếu nhất ở nguyên âm mở
1.3 Phân loại âm tố về mặt âm học - nhận dạng tiếng nói dựa vào đặc trưng âm học
1.3.1 Ý nghĩa của phân loại về mặt âm học
Sự phân loại về mặt cấu âm mang tính chất l ý thuyết, mô tả cách phát sinh từng âm tố trong cơ quan phát âm của con người Trên thực tế, con người không cần biết về cách cấu âm của từng nguyên âm và phụ âm vẫn có thể nghe và hiểu nhau Đặc biệt trong lĩnh vực nhận dạng tiếng nói, dữ liệu mà con người đưa cho máy xử lý chỉ mang đặc điểm về âm học (những gì con người nghe và cảm nhận được) Máy tính không biết gì đến hình thức cấu âm của nguồn dữ liệu (và cũng không thể biết được) Vì vậy, sự phân loại âm tố về mặt âm học được đề xướng và nó mang những ưu điểm: xác định đặc điểm của âm tố một cách trực tiếp không thông qua bộ máy phát âm; tiêu chí phân loại đơn giản,…
1.3.2 Các đặc trưng âm học
Sự phân loại các âm tố về mặt âm học đã được xây dựng dựa trên âm phổ Các máy phân tích âm phổ cho chúng ta các phổ đồ (phổ hình), qua đó các âm tố thể hiện rõ các đặc trưng âm học: cao độ, cường độ, trường độ
Trang 21KHOA CNTT –
ĐH KHTN Để biểu diễn phổ tiếng nói tại một thời điểm t, người ta dùng một biểu đồ
với trục ngang biểu diễn các tần số (Hz) tham gia cấu thành âm thanh tại thời điểm t và trục đứng là cường độ tương ứng (dB)
HÌNH 1 – Phổ (spectrum) của một nguồn âm thanh tại thời điểm t
Để biểu diễn phổ phổ tiếng nói theo sự biến thiên thời gian, người ta dùng phổ đồ với trục ngang biểu diễn thời gian, truc đứng biểu diễn tần số, cường độ của mỗi sóng có tần số fi tại thời điểm ti được biểu diễn bằng 1 chấm Nếu cường độ càng mạnh thì chấm biễu diễn càng đậm
Ngoài ra còn có thể biểu diễn phổ đồ của tiếng nói theo sự biến thiên thời gian trong không gian 3 chiều Khi đó, phổ đồ thu được có dạng như thác nước và người ta gọi nó là Phổ đồ thác nước (Waterfall Spectrogram)
Trang 22KHOA CNTT –
ĐH KHTN
HÌNH 2 – Phổ đồ (spectrogram) của tiếng “hai” (trên) và sóng âm tương ứng (dưới) Những vùng có cường độ cao (vùng đen) tạo thành những dãi bắt ngang qua phổ đồ, đó là những vệt formant, được đánh số từ dưới lên là F1, F2, F3, …
Dựa trên đặc điểm của phổ đồ, âm tố được phân loại theo 12 đặc trưng sau:
Nguyên âm – Không nguyên âm
Đặc trưng nguyên âm: được thể hiện bằng các cấu trúc formant
Có đặc trưng nguyên âm là nguyên âm và các âm vang Không có đặc trưng nguyên âm là các âm ồn
Phụ âm – Không phụ âm
Đặc trưng âm học của phụ âm là có mức năng lượng thấp ếu có mức năng lượng cao là nguyên âm
Có đặc trưng phụ âm là các phụ âm vang và ồn
Bổng - Trầm
Những âm bổng có tần số lớn, còn những âm trầm có tần số nhỏ Những âm trầm thường được đặc trưng bằng sự phân bổ năng lượng tập trung ở phần dưới của phổ
Trang 23KHOA CNTT –
ĐH KHTN
Âm bổng gồm các nguyên âm hàng trước, phụ âm răng, các phụ âm lưỡi trước, lưỡi giữa Âm trầm là các nguyên âm hàng sau, các phụ âm môi và phụ âm lưỡi sau
Ngắt - Không ngắt
Ðó là sự đối lập giữa có và không có sự chuyển tiếp đột ngột giữa sự có mặt và vắng mặt của âm thanh “Các phụ âm xát thường có khởi âm từ từ Ngược lại, các phụ âm tắc thường có sự ngắt đột ngột sóng âm đi trước bằng một khoảng im lặng hoàn toàn” (R Jacobson, G Fant và M Halle, 1962)
Âm ngắt bao gồm các phụ âm tắc (trừ nhóm mũi) Còn lại (nguyên âm, phụ âm xát, phụ âm mũi) là những âm không ngắt
Trang 24KHOA CNTT –
ĐH KHTN
Âm căng bao gồm các phụ âm mạnh và các nguyên âm đặc Âm lơi bao gồm những phụ âm yếu và các nguyên âm loãng
Hữu thanh - Vô thanh
Ðó là sự đối lập giữa có hay không có những dao động điều hoà ở vùng tần số thấp
Âm hữu thanh bao gồm các nguyên âm, phụ âm vang và phụ âm hữu thanh
Mũi - Miệng (hay Mũi - Không mũi)
Phổ hình của các âm mũi có mật độ phooc-măng dày hơn so với các âm miệng tương ứng Ở các nguyên âm mũi giữa F1 và F2 xuất hiện thêm một formant phụ, và đồng thời có sự giảm cường độ của F1 và F2
Trong tiếng Việt có các âm mũi được thể hiện bằng các chữ cái: m, n, nh, ng
Giáng - Không giáng
Các âm giáng là những âm trầm hóa - có một hoặc một số các formant của nó bị hạ thấp so với các âm không giáng Các nguyên âm tròn môi như [u], [ô], [o] trong tiếng Việt và những phụ âm đứng trước [u], [ô], [o] bị môi hóa đều là những âm giáng
Thăng - Không thăng
Ngược lại so với âm giáng, chúng là những âm bổng hóa - các nguyên âm hàng trước thường là các âm có một trong số các phoóc măng cao hơn các âm không thăng tương ứng
Thanh hầu hóa - Không thanh hầu hóa
Các âm thanh hầu hóa đặc trưng bởi tốc độ biến đổi năng lượng lớn trong một khoảng thời gian ngắn
Trong tiếng Việt, âm thanh hầu hóa có thể xuất hiện trong các âm tiết vắng phụ âm đầu như ăn, uống, uể, oải, … hoặc trước các phụ âm hữu thanh, đặc biệt là trước [b], [đ], và [l]
Trang 25KHOA CNTT –
ĐH KHTN
1.3.3 Nhận dạng tiếng nói dựa vào các đặc trưng âm học
Như trên đã phân tích, có rất nhiều đặc trưng âm học Và các đặc trưng đều có thể rút ra được từ quá trình phân tích phổ đồ May mắn là với tín hiệu âm thanh được lưu vào máy tính dưới dạng số, không cần dùng máy phân tích phổ, người ta vẫn có thể phân tích để đưa ra phổ đồ bằng thuật toán (bằng phép biến đổi Fourier
ngắn kỳ - Short-term Discrete Fourier Transform) Người ta dựa vào những đặc
trưng này cùng với những mô hình khác để nhận dạng tiếng nói
1.4 Sơ lược về âm tiết tiếng Việt 1.4.1 Giới thiệu về âm tiết
Khi giao tiếp, con người phát ra những chuỗi âm thanh nhất định, ta gọi là dòng ngữ lưu (utterance) Trong từng dòng ngữ lưu, nếu đem chia cắt chúng ra, ta sẽ thu nhận được những đơn vị cấu thành nhỏ hơn, đó là âm tiết, âm tố và âm vị Trong đó, âm tiết là đơn vị phân chia tự nhiên nhất trong lời nói, là đơn vị phát âm nhỏ nhất Mỗi âm tiết là một tiếng
Ví dụ: lời nói “Một hai ba bốn năm sáu” có 6 âm tiết
Về mặt sinh lý - vật lý, âm tiết được định nghĩa là một đơn vị mà khi phát âm
được đặc trưng bởi sự căng lên rồi chùng xuống của cơ thịt trong bộ máy phát âm Trong mỗi âm tiết, chỉ có một âm tố có khả năng tạo thành âm tiết (gọi là âm tố âm tiết tính), còn lại là các yếu tố đi kèm, không tự mình tạo thành âm tiết được Âm tố âm tiết tính thường được phân bố ở trung tâm, làm hạt nhân âm tiết Đó thường là các nguyên âm Điều này dẫn tới hệ quả là một âm tiết khi được phát ra thì 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 (xem hình)
Trang 26KHOA CNTT –
ĐH KHTN HÌNH 3 – 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
1.4.2 Một số đặc điểm của âm tiết tiếng Việt
1.4.2.1 Là ngôn ngữ có kết cấu âm tiết tính
Một đặc điểm của tiếng Việt là ranh giới của nó và ranh giới của hình vị (đơn vị nhỏ nhất có nghĩa) luôn luôn trùng nhau, nói cách khác, một âm tiết là một hình
thức biểu đạt của một hình vị Ví dụ từ sinh viên gồm 2 hình vị, mỗi hình vị có vỏ ngữ âm là 1 âm tiết là sinh và viên
Là vỏ ngữ âm của một hình vị hay một từ đơn nên mỗi âm tiết tiếng Việt bao giờ cũng tương ứng với một ý nghĩa nhất định Chính vì vậy, việc phá vỡ hay xê dịch vị trí của các âm vị trong một đơn vị âm tiết là điều khó ó thể xảy ra Nói cách
khác cấu trúc của âm tiết tiếng Việt là một cấu trúc chặt chẽ Vì thế, từ “cá canh” sẽ không bị nối âm thành “các anh”, “cảm ơn” không bị đọc thành “cả mơn”,…
Các đặc điểm trên là chung cho một số ngôn ngữ như tiếng Hoa, tiếng Thái, tiếng Việt,… Căn cứ vào các đặc điểm đó, người ta gọi các ngôn ngữ này là ngôn ngữ có kết cấu âm tiết tính
1.4.2.2 Mỗi âm tiết có thanh điệu riêng
Thanh điệu là một tập hợp những đặc trưng có liên quan đến độ cao (phụ thuộc tần số rung động của dây thanh âm) của thanh cơ bản của âm tiết Nó được thể hiện trên tất cả những bộ phận hữu thanh trong âm tiết, nhất là các âm đoạn nguyên âm tính (nguyên âm và bán nguyên âm) và các đoạn phụ âm mũi, dù là thủy âm hay chung âm
Trang 27KHOA CNTT –
ĐH KHTN
Thanh điệu có thể phân tích thành hai phần thường xuyên kết hợp với nhau: âm vực (độ cao của thanh cơ bản) và âm điệu (hướng chuyển biến cao độ (độ tăng giảm của tần số)) trong quá trình thể hiện Vì vậy, mỗi thanh có thể được miêu tả như một sự kết hợp của hai thông số nói trên
Hệ thống thanh điệu của tiếng Việt có 6 thanh điệu: Thanh ngang (thanh không dấu), thanh huyền, thanh ngã, thanh hỏi, thanh sắc và thanh nặng
1.4.2.3 Âm tiết có cấu trúc chặt chẽ và ổn định
Trong tiếng Việt, âm tiết có cấu trúc chặt chẽ, mỗi âm tố (âm vị) có một vị trí nhất định trong âm tiết, tạo thành cấu trúc của một âm tiết như sau:
Âm tiết = Phụ âm đầu + Vần
trong đó,
Vần = Âm đệm + Âm chính + Âm cuối
Phụ âm đầu (thủy âm): là yếu tố mở đầu âm tiết Nó mang tính độc lập do
không tham gia vào việc đắp đổi về trường độ giữa các yếu tố bên trong âm tiết Các âm tiết tiếng Việt khi phát âm về mặt cấu âm bao giờ cũng mở đầu bằng một động tác khép lại, dẫn đến chỗ cản trở không khí hoàn toàn hoặc bộ phận Ðó là cách phát âm của các âm tiết như: bút, mai, … Còn những âm tiết như ăn, uống, … mặc dù trên chữ viết, phụ âm vắng mặt, nhưng thực tế chúng cũng phải bắt đầu bằng một động tác khép kín khe thanh, sau đó mở ra đột ngột gây nên một tiếng động
Âm đệm: đóng vai trò là âm lướt trong kết cấu âm tiết Âm đệm ảnh hưởng
đến cách mở đầu của âm tiết (bên cạnh phụ âm đầu) Ví dụ: chữ “toàn” khi phát âm có hiện tượng tròn môi do tác động của âm đệm /-u-/, còn chữ “tàn” thì không có hiện tượng tròn môi do không có âm đệm
Âm chính: là nguyên âm âm tiết tính trong âm tiết Âm tiết chính có thể là
Trang 28KHOA CNTT –
ĐH KHTN
Âm cuối: là yếu tố kết thúc âm tiết Các âm tiết tiếng Việt thường đối lập
bằng những cách kết thúc khác nhau Một số â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 của âm tiết ở phần cuối do sự đóng lại của các âm cuối tham gia, ví dụ như: một, mai, màng,… Trong trường hợp đầu, ta có các âm cuối là âm vị /zero/, tromg trường hợp sau ta có các âm cuối là những âm vị bán nguyên âm hoặc phụ âm
Thứ tự các loại hình âm vị trong cấu trúc của âm tiết như trên được giữ nguyên không thay đổi cho mỗi âm tiết
1.5 Lý thuyết về âm vị 1.5.1 Định nghĩa âm vị
Có nhiều cách định nghĩa âm vị khác nhau:
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ừ.”
Theo cuốn ngữ âm tiếng Việt của Ðoàn Thiện Thuật thì âm vị là “tổng thể các nét khu biệt, được xuất hiện đồng thời (được con người tri giác theo trật tự trước sau) và có chức năng khu biệt vỏ âm thanh của từ hoặc hình vị.”
Theo Giáo sư Cao Xuân Hạo, những cách định nghĩa trên còn có những chỗ chưa thoả đáng: “mang tính chất ấn tượng chủ nghĩa, có sự lầm lẫn về cách tri giác tính đồng thời, kế tiếp”… và theo ông thì âm vị là “đơn vị khu biệt âm thanh nhỏ nhất có tham gia vào thế đối lập âm vị học về trật tự thời gian”, hoặc âm vị là đơn vị âm vị học tuyến tính nhỏ nhất
Theo Ðinh Lê Thư và Nguyễn Văn Huệ, “nguời ta thường định nghĩa âm vị là đơn vị nhỏ nhất của cơ cấu âm thanh ngôn ngữ, dùng để cấu tạo và phân biệt hình thức ngữ âm của những đơn vị có nghĩa của ngôn ngữ từ và hình vị Ví dụ: các từ tôi và đôi, ta và đa trong tiếng Việt Phân biệt nhau bởi các âm vị /t/, /đ/ Nếu thay âm vị này bằng một âm vị khác trong cùng một âm tiết sẽ làm cho âm tiết đó thay
Trang 29KHOA CNTT –
ĐH KHTN
đổi về nghĩa hoặc mất nghĩa Ví dụ, ta có từ “toàn”, nếu thay âm vị /t/ bằng âm vị /h/, thì sẽ được “hoàn” có nghĩa khác”
1.5.2 Chức năng của âm vị
Các âm vị trên nguyên tắc nhất định phải có sự khác nhau, ít nhất là về một đặc trưng nào đó Chính nhờ sự khác biệt này mà các âm vị có thể tạo ra sự khác biệt về hình thức âm thanh của các hình vị và từ, tạo nên những tín hiệu khác biệt đối với sự cảm thụ của con người Theo đó, âm vị có 2 chức năng cơ bản: chức năng khu biệt vỏ âm thanh của hình vị và từ, và chức năng cấu tạo nên những thành tố của đơn vị có nghĩa
1.5.3 Tách âm vị và xác định âm vị trên chuỗi sóng âm
Số lượng từ trong mỗi ngôn ngữ đều rất lớn Xây dựng hệ nhận dạng theo từ có khả năng phân biệt số lượng từ lớn đó quả là một thách thức Thay vào đó, người ta nghĩ ra cách xây dựng hệ nhận dạng dựa trên hướng tiếp cận âm vị Theo đó, chỉ cần nhận dạng khoảng vài chục âm vị sẽ có thể nhận dạng được toàn bộ từ của một ngôn ngữ (Theo thống kê, số âm vị trong một ngôn ngữ dao động từ khoảng 20 đến 60) Và đây cũng chính là hướng tiếp cận đúng đắn cho nhận dạng tiếng nói tiếng Việt Tuy nhiên, người ta lại gặp một khó khăn khác, đó là tách âm vị và xác định âm vị trên chuỗi sóng âm: Cho một dãy tín hiệu tiếng nói đã thu sẵn Nhiệm vụ của chúng ta là tìm ranh giới của tất cả các âm vị và cho biết các âm vị đó là âm vị gì Khoan hãy nói đến khả năng thực hiện công việc đó tự động bằng máy Ngay cả con ngườ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 Cả khi 2 âm vị thuộc 2 âm tiết khác nhau, nếu đứng kế nhau vẫn có thể xảy ra sự chồng lấp Vì vậy, công việc tách âm vị trên chuỗi sóng âm chỉ mang tính tương đối
Trang 30a dài hơn ở hình b
• Cách tách âm vị nào là chính xác hơn? Cách a hay cách b?
HÌNH 5 – Hai cách tách âm vị cho cùng một sóng âm của chữ “hai”
Trong đồ án này, một phương pháp tách và nhận dạng âm vị tự động dùng mô hình HMM kết hợp mô hình ngôn ngữ để nhận dạng âm vị triphone (âm vị mang 3 thông tin, thông tin về nó, thông tin âm vị đứng trước và âm vị đứng sau nó) được nêu ra Phương pháp này về cơ bản giải quyết tốt công việc học và tách âm vị một cách tự động bằng máy Kết quả tách âm vị được dùng cho quá trình nhận dạng tiếng nói tiếng Việt và đã đạt được kết quả khả quan
Trang 31Phần 2.2 giới thiệu những vấn đề cơ bản của HMM
Phần 2.3 giới thiệu về Nhận dạng tiếng nói và nhận dạng âm vị dựa trên HMM
Phần 2.4 là sơ lược về mô hình HMM cho âm vị được sử dụng trong bài làm
2.2 Những vấn đề cơ bản của HMM
Mô hình HMM là mô hình thống kê thường xuyên được sử dụng để mô hình hóa tiếng nói, sử dụng cho công việc nhận dạng Cấu trúc bên trong của HMM không phải dựa vào các kiến thức về tiếng nói nhưng nó lại được sử dụng trong nhận dạng để tính toán các đặc trưng số của tiếng nói
2.2.1 Các kiến thức toán của HMM và các vấn đề khi sử dụng HMM vào nhận dạng tiếng nói
Mô hình Markov ẩn HMM là 1 mô hình thống kê dựa vào mô hình Markov Vì vậy để hiểu được mô hình HMM chúng ta sẽ xem xét qua về mô hình Markov và
Trang 32KHOA CNTT –
ĐH KHTN
2.2.1.1 Giới thiệu về nhận dạng thống kê và HMM
Quá trình thống kê là quá trình xác định xác suất của 1 số sự kiện và xác suất
mối quan hệ giữa các sự kiện trong 1 tiến trình tại các thời điểm khác nhau
Biến cố ngẫu nhiên và hàm mật độ xác suất:
Gọi X là tập các biến ngẫu nhiên X={X1, X2, …, Xn} mà tồn tại ít nhất một sự kiện của tập X này xuất hiện Gọi xác suất của sự kiện Xi la P(Xi) Khi đó ta có xác suất của X là P(X)=1 Nếu gọi P(Xi ) là xác suất của biến cố Xi thì ta có:
P(X)= Σ P(Xi)=1
Xác suất có điều kiện:
Gọi A và B là các biến ngẫu nhiên Xác suất có điều kiện được mô tả như sau: Giả sử sụ kiện A đã xảy ra với xác suất P(A) Xác suất của sự kiện A với điều kiện sự kiện B đã xảy kí hiệu là P(A|B) được tính như sau:
rạc Ci (chưa biết), thông qua P(Ci): xác suất của lớp Ci và P(x|Ci) Một tiến trình được gọi là tiến trình Markov (Markov process) nếu xác suất của 1 sự kiện tại 1 thới điểm bị ràng buộc bởi các sự kiện trong quá khứ xác định Như vậy, mô hình Markov là một mô hình thống kê thuần túy Trạng thái là 1 định nghĩa giúp chúng ta hiểu được sự biến đổi của sự kiện theo thời gian Biến cố chính
trong tiến trình Markov là “đạt trạng thái i tại thời điểm t” Một tiến trình Markov
Trang 33P(st | st-1,st-1, …, st-k )=P(st | st-1)
Nhiệm vụ chính của tiến trình Markov là tạo ra chuỗi trạng thái S=s1, s2, …, sT Mô hình Markov ẩn HMM được phát triển dựa trên mô hình Markov Các khía cạnh chính yếu về sử dụng mô hình HMM trong nhận dạng tiếng nói sẽ được trình bày dưới đây
Trang 34Tập hợp các xác suất khởi tạo mô hình HMM i : π={πi}
Tuy nhiên trong nhận dạng tiếng nói các mô hình HMM chủ yếu được khởi tạo tại trạng thái đầu tiên nên ta bỏ qua tập xác suất khởi tạo mô hình HMM
Ý nghĩa của ai j là : xác suất chuyển trạng từ trạng thái i tại thời điểm t-1 sag
trạng thái j tại thời điểm t Chúng ta gọi ma trận A={ai j } là ma trận chuyển trạng thái Đối với mô hình Markov, khi trạng thái trước được xác định thì xác suất
chuyển trạng thái tới trạng thái tiếp theo cũng hoàn toàn xác định
Để áp dụng HMM vào các sóng âm thanh, 1 hàm thống kê sẽ được gắn vào các trạng thái Đầu tiên sóng âm tiếng nói sẽ được chuyển đổi thành chuỗi các vector đặc trưng theo thời gian (sẽ được giới thiệu trong phần rút trích đặc trưng
sóng âm) Chuỗi các vector đặc trưng này gọi là chuỗi các vector quan sát
O=o1,o2,…,oT , với ot là vector đặc trưng cho chuỗi sóng âm tại t Xác suất mà hàm thống kê nói trên tính là xác suất vector đặc trưng ot đạt trạng thái j tại thời điểm t Xác suất này gọi là xác suất quan sát hay xác suất output và nó đặc trưng cho tập tham số thứ hai của HMM:
bj (ot)=P(ot|st=j), (t=1,2,…,T; j=1,2,…,n)
Đặt B={bj (ot)}
Tổng quát mô hình HMM có thể khởi tạo tại bất kì trạng thái nào, Xác xuất mô hình HMM khởi tạo tại trạng thái i kí hiệu là πi Tập xác suất π= {πi}, gọi là tập
xác suất khởi tạo mô hình HMM, là tập trạng thái thứ 3 của mô hình HMM Tuy
nhiên trong bài toán nhận dạng tiếng nói hầu hết các mô hình HMM đều khởi tạo tại
Trang 35KHOA CNTT –
ĐH KHTN
Như vậy ta trong nhận dạng tiếng nói một mô hình HHM λ sẽ được đặc trưng bởi tập trạng thái và 2 tập tham số A và B nói trên: λ=(A, B)
2.2.1.3 Ví dụ về nhận dạng từ đơn dựa trên HMM
Giả sử chuỗi sóng âm của từ cần nhận dạng được mã hóa bởi chuỗi vector đặc trưng (chuỗi quan sát) O=o1,o2, …, oT với oi là vector đặc trưng tại thời điểm t Việc nhận dạng tiếng đơn là đi tính:
arg PwiO
Có nghĩa là tìm từ có xác suất P(wi|O) lớn nhất, với wi là từ (đối với tiếng Việt là âm tiết) trong danh sách từ cần nhận dạng (tổng quát là từ trong từ điển), trong nhận dạng từ này được mô hình hóa bởi một số mô hình HMM Xác suất này không thể tính được trực tiếp nhưng có thể dùng định luật Bayes:
i =
Ở đây xác suất P(O) là hằng số khi cho O trên tất cả các từ có thể wi Xác suất P(wi) chỉ liên quan đến mô hình ngôn ngữ (sẽ giới thiệu trong phần sau), chúng ta cũng có thể xem như là hằng số Như vậy vấn đề của việc nhận dạng chỉ là việc tính xác suất P(O|wi)
Ví dụ, trong 1 mô hình nhận dạng đơn giản nhất, mỗi âm tiết wi sẽ được mô hình hóa bởi mô hình HMM λi, như vậy việc tính xác suất P(O|wi) có thể qui về tính xác suất P(O|λi )
Trong trường hợp nhận dạng âm vị mỗi âm tiết wi không tương ứng với 1 mô hình λi.Mỗi âm tiết tương ứng với 1 dãy các âm vị, mỗi âm vị được mô hình hóa bởi 1 mô hình HMM nên mỗi âm tiết được mô hình hóa bởi dãy các HMM âm vị λ1,
λ2, …, λk Vì vậy việc tính xác suất P(O|wi) được qui về tính xác suất P(O|λ1λ2…λk)
Trang 36KHOA CNTT –
ĐH KHTN
2.2.1.4 Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM
Giả thuyết 1: Giả thuyết về xác suất chuyển trạng thái:
Giả thiết thứ nhất dựa trên chính mô hình Markov Vì xác suất chuyển trạng thái ai j chỉ phụ thuộc vào trạng thái phía trước nó không hề phụ thuộc vào chuỗi quan sát nên ta có thể xem ai j như là hằng Xác suất chuyển trạng thái xuất hiện tại các thời điểm khác nhau và các trạng thái khác nhau nên ta có thể xem chúng là độc lập Vì vậy việc tính xác suất của 1 chuỗi trạng thái wi trong 1 mô hình HMM λ tương có thể qui về:
P(|λ)(| 1) ( 1) )
Giả thuyết 2: Giả thuyết về xác suất quan sát:
Gọi chuỗi trạng thái của mô hình HMM ứng với chuỗi vector quan sát O là
chuỗi quan sát Gọi việc tìm chuỗi trạng thái trong mô hình HMM có xác suất cao nhất ứng với 1 chuỗi quan sát O gọi là quan sát O Từ định nghĩa của xác suất quan
sát b chúng ta có thể thấy rằng xác định chuỗi quan sát O (xác định chuỗi trạng thái ứng với chuỗi vector đặc trưng O) cũng là 1 tiến trình thống kê Tuy nhiên nó không phải là chuỗi Markov Khi một HMM tiến hành mô hình hóa 1 chuỗi quan sát của tiếng nói (tức xác định chuỗi quan sát ứng với chuỗi vector đặc trưng sóng âm), mỗi trạng thái có thể phát sinh tại bất kì vector quan sát nào (với 1 số ràng buộc), nhưng với xác suất khác nhau Do đó sẽ không biết được trạng thái nào sẽ gán với vector nào Như vậy sẽ không biết được chuỗi trạng thái S=s0s1… sT nào sẽ phát sinh tại chuỗi vector đặc trưng O cho trước Đây chính là điều tiến trình Markov này được
gọi là ẩn Mặc dù xác suất của 1 chuỗi chuỗi trạng thái ứng với O là không biết
được nhưng tuy nhiên xác suất của sự kiện quan sát vector ot (xác định trạng thái của Ot ) tại các thời điểm t khác nhau là độc lập và hoàn toàn xác định được (điều
này là rất cần thiết đối với tất cả các quá trình tính toán dựa trên HMM)
Trang 37với bst(Ot)là xác suất của vector đặc trưng Ot đạt trạng thái s tại thời điểm t Với P(S|λ) và P(O|λ) được tính toán theo 2 giả thiết trên ta có thể tính xác suất kết của O và S được tạo ra bởi mô hình λ như sau:
P( |λ) ( |λ) ( | ,λ)
P(O|S, λ)=bS1(O1)bS2 (O2) … bST (OT) P(S| λ)= aS1S2 aS2S3 … aST-1 ST
Vì vậy chúng ta có:
( ) sss ( T
TTT 1
1( ) b
21
Trang 38KHOA CNTT –
ĐH KHTN
2.2.1.5 Ba vấn đề thiết yếu của mô hình HMM và cách giải quyết các vấn đề trên
Giả sử cho 1 HMMs λ=(A, B) và chuỗi quan sát O= O=O1, O2, …, On
Tất cả các ứng dụng dựa trên mô hình Markov ẩn sẽ phải giải quyết 3 vấn đề sau:
i Vấn đề tính toán: Làm sao để tính được P(O| λ) (xác suất của việc xuất hiện
chuỗi quan sát O trong mô hình HMMs) với khối lượng tính toán tối thiểu
ii Vấn đề ước lượng tham số cho HMM: Vấn đề này được đặt ra trong quá
trình huấn luyện.Chúng ta sẽ xác định các mô hình λ dựa vào dữ liệu huấn luyện Làm sao xác định được các tham số của mô hình HMM λ=(A, B) sao cho P(O | S, λ) (hoặc P(O,S| λ) ) là lớn nhất
iii Vấn đề Decoding (nhận dạng): Cho 1 mô hình HMM λ đã được huấn luyện
Làm sao chúng ta tính được chuỗi trạng thái S=s1, s2, … sT tương ứng với chuỗi
quan sát O P(O,S| λ), sao cho xác suất của (chuỗi trạng thái của chuỗi quan sát O
trùng với chuỗi S) là lớn nhất
Trước khi nêu cách giải quyết 3 vấn đề trên xin trình bày 2 thuật toán có liên quan đó là thuật giải forward- backward
Thuật giải forward
Hàm forward αt(i) được định nghĩa như sau:
Trang 39KHOA CNTT –
ĐH KHTN
Như vậy chúng ta có có thể tính được xác suất :
= N
Thuật giải Backward:
Hàm backward βt(i) được định nghĩa như sau:
βt (i)= P(Ot+1,Ot+2, …, OT| st=i, λ)
Ý nghĩa của hàm này như sau: nó là xác suất kết của chuỗi vector sóng âm thứ i+1 đến vector sóng âm thứ T với trạng thái i tại vector thứ t và mô hình λ Nó khác trường hợp thuật giải forward là trạng thái tại vector đặc trưng thứ t (là trạng thái i) là biết trước
Chúng ta có thể tính βt (i) đệ qui như sau:
1 Với t=T :
βT (i)=1, 1≤ i ≤N 2 Với t = T-1 , T-2, …, 1 ta có
1) ()(
β Như vậy ta có
= N
11) ( )(
2.2.1.5.1 Giải quyết vấn đề tính toán
Trang 402.2.1.5.2 Giải quyết vấn đề ước lượng tham số cho mô hình HMM
Có 2 giải thuật để giải quyết vấn đề này đó là thuật giải phân đoạn K-mean và thuật giải Baum-Welch
Thuật giải ước lượng tham số Baum-Welch: Ở đây tham số của mô hình λ=(A,B) được tính toán nhằm tăng xác suất P(O|λ) cho đến khi nó đạt giá trị cực đại Như đã trình bày ở trên việc tính toán P(O|λ) là tính tổng tất cả các P(O,I|λ) trên tất cả các chuỗi trạng thái I chứ không phải cho 1 chuỗi riêng biệt nào
Phần quan trọng của thuật toán Baum-Welch là hàm maximisation (EM) Thuật toán này được sử dụng để giải quyết tình trạng thông tin không đầy đủ trong dữ liệu huấn luyện (tức không biết được chuỗi trạng thái) Hàm EM thường được sử dụng nhất trong nhận dạng tiếng nói là đó là chuẩn maximum- likelihood (ML) Giải pháp của giải thuật ML là đưa ra các công thức nhằm cập nhật các giá trị tham số cũ của HMM Để quá trình huấn luyện đạt được các tham số tốt thì cần có các tập tham số khởi tạo của HMM tốt, bởi vì Baum-Welch là 1 thuật toán chỉ cho kết quả tốt nhất trong cục bộ
expectation-Ý tưởng của ML là ước lượng các tham số của HMM λ sao cho xác suất
likelihood P(O|λ) lớn nhất với tập hợp các chuỗi quan sát {O} Một điểm nữa của
ML là thuật giải không thực hiện tính P(O|λ) trên tất cả các chuỗi quan sát mà chỉ 1 số chuỗi S có P(λ|S) vượt trội Điều này làm giảm chi phí tính toán rất nhiều nhưng kết quả đạt được không giảm bao nhiêu Trong thực tế để thuận tiện cho tính toán
người ta không dùng likelihood nguyên thủy mà dùng xác suất log_likelihood (lấy logarith của likelihood)