1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng tiếng nói tiếng việt liên tụ

76 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhận dạng tiếng nói tiếng Việt liên tục
Tác giả Nguyễn Việt Sơn
Người hướng dẫn TS. Nguyễn Quốc Cường
Trường học Đại học Bách Khoa Hà Nội
Thể loại luận văn
Năm xuất bản 2004
Thành phố Hà Nội
Định dạng
Số trang 76
Dung lượng 2,39 MB

Nội dung

Trong công nghiệp cũng nh− trong đời sống hàng ngày, có rất nhiều các ứng dụng cần đến bài toán nhận dạng tiếng nói tự động nh− giao tiếp với máy tính bằng lời nói, các hệ thống điều khi

Trang 1

Lời cảm ơn

Tôi xin bày tỏ sự cảm ơn chân thành và sâu sắc đến TS Nguyễn Quốc Cường, người đã tận tình hướng dẫn tôi rất nhiều về mặt chuyên môn, hướng nghiên cứu, cách thực hiện, phát triển và hoàn thành luận văn này Những tài liệu tham khảo, những lời hướng dẫn, chỉ bảo tận tình của thầy đã giúp tôi rất nhiều trong suốt quá trình làm luận văn

Tôi xin chân thành cảm ơn ban giám đốc trung tâm MICA, PGS.TS Phạm Thị Ngọc Yến, TS Eric Castelli, cảm ơn NCS Lê Xuân Hùng, NCS Trần Đỗ Đạt, NCS

Lê Việt Bắc và toàn thể các cán bộ, các nghiên cứu viên làm việc tại trung tâm MICA đã tạo mọi điều kiện thuận lợi và giúp đỡ tôi về thiết bị, cơ sở dữ liệu tiếng nói, cách giải quyết … trong suốt quá trình thực hiện luận văn này

Cuối cùng, tôi cũng xin chân thành cảm ơn toàn thể các thầy cô giáo bộ môn

Kỹ Thuật Đo và Tin Học Công Nghiệp - Khoa Điện, cảm ơn Ban giám hiệu và Trung tâm đào tạo sau đại học của trường Đại học Bách Khoa Hà Nội đã tạo điều kiện cho tôi hoàn thành luận văn này

Hà Nội, tháng 11 năm 2004

Học viên

Nguyễn Việt Sơn

1708330001039f657a283-d01f-484a-8b8a-87ae414ed3c0

Trang 2

Mở đầu 3

Ch ư ơng 1: Tổng quan về nhận dạng Tiếng Nói 5

1.1 Nhận dạng tiếng nói 5

1.2 phân tích các tham số đặc trưng của tiếng nói 6

1.2.1 Hàm năng lượng thời gian ngắn 7

1.2.2 Hệ số MFCC 7

1.3 Các kỹ thuật nhận dạng tiếng nói 11

1.3.1 Kỹ thuật nhận dạng tiếng nói theo âm học - âm vị học 11

1.3.2 Kỹ thuật nhận dạng tiếng nói theo mẫu 13

1.3.3 Kỹ thuật nhận dạng tiếng nói dùng trí tuệ nhân tạo 14

Chương 2: mô hình markov ẩn 17

2.1 Khái niệm mô hình Markov rời rạc 17

2.2 Khái niệm mô hình Markov ẩn 19

2.2.1 Mô hình Markov ẩn rời rạc 19

2.2.2 Các thành phần cơ bản của mô hình Markov ẩn rời rạc 22

2.3 Ba bài toán cơ bản trong mô hình Markov ẩn 23

2.3.1 Bài toán 1: Đánh giá xác suất 23

2.3.2 Bài toán 2: Tìm dãy trạng thái tối ưu 26

2.3.3 Bài toán 3: ước lượng tham số của mô hình 30

2.4 Mô hình Markov ẩn liên tục 32

2.4.1 Khái niệm mô hình Markov ẩn liên tục 32

2.4.2 Một số kiểu mô hình Marrkov ẩn liên tục 33

2.4.3 Một số vấn đề khi cài đặt mô hình Markov ẩn 35

2.5 Mô hình HMM trong nhận dạng tiếng nói 37

Chương 3: Các đặc trưng của tiếng việt 39

3.1 một số đặc điểm của tiếng việt 40

3.2 hệ thống âm vị - âm tiết trong tiếng việt hiện đại 41 3.2.1 Đặc điểm 41

3.2.2 Cấu trúc âm tiết của tiếng Việt 42

3.2.3 Vị trí thanh điệu trong âm tiết tiếng Việt 43

3.2.4 Âm tắc họng 46

Chương 4: Giới thiệu hệ thống HTK 47

4.1 tổng quan về hệ thống htk 47

Trang 3

4.1.1 Khái niệm về hệ thống HTK 47

4.1.2 Cấu trúc phần mềm của hệ thống HTK 48

4.2 Các quá trình xử lý cơ bản trong hệ thống HTK 49

4.2.1 Giai đoạn chuẩn bị dữ liệu 50

4.2.2 Giai đoạn huấn luyện mô hình 51

4.2.3 Giai đoạn nhận dạng 52

4.2.4 Giai đoạn phân tích 52

Chương 5: Sử dụng hệ thống HTK nhận dạng tiếng nói tiếng việt liên tục ở mức độ âm học 54

5.1 Mô tả các bước tiến hành thí nghiệm 56

5.1.1 Phần thực hiện chung cho tất cả các thí nghiệm 56

5.1.2 Thí nghiệm 1 65

5.1.3 Thí nghiệm 2 67

5.1.4 Thí nghiệm 3 69

5.2 Đánh giá nhận xét 71

Chương 6: Kết luận - Hướng phát triển 73

6.1 Kết luận 73

6.2 Hướng phát triển 74

Tài liệu tham khảo 75

Trang 4

sử dụng các hệ cơ sở dữ liệu tương đối hoàn chỉnh (chủ yếu là tiếng Anh, tiếng Pháp

…) ở Việt Nam, hướng nghiên cứu và phát triển các hệ thống nhận dạng tiếng nói

đang phát triển mạnh mẽ Tuy nhiên, ngôn ngữ tiếng Việt lại có những đặc thù riêng biệt khác so với nhiều ngôn ngữ khác trên thế giới nên việc chọn lựa cách tiếp cận

và tìm giải quyết bài toán nhận dạng sao cho phù hợp là một vấn đề quan trọng và tương đối khó khăn Xuất phát từ điều này, luận văn được thực hiện nhằm đưa ra một số vấn đề cơ bản khi bắt đầu xây dựng một hệ thống nhận dạng tiếng nói tiếng Việt và đưa ra cách giải quyết cho bài toán nhận dạng tiếng nói tiếng Việt liên tục ở mức độ âm học Công cụ được sử dụng là HTK, một công cụ về chuỗi Markov ẩn

được sử dụng rất nhiều trong nghiên cứu nhận dạng tiếng nói tại các phòng thí nghiệm trên thế giới

Nội dung của luận văn gồm 6 chương bao gồm:

Chương 1: Tổng quan về nhận dạng tiếng nói Chương này đề cập đến những khái niệm cơ bản của nhận dạng tiếng nói và các phương pháp tiếp cận trong nhận dạng tiếng nói

Trang 5

Chương 2: Mô hình Markov ẩn Chương này trình bày các khái niệm cơ bản của mô hình Markov ẩn và khả năng áp dụng của nó trong việc giải quyết bài toán nhận dạng tiếng nói

Chương 3: Các đặc trưng cơ bản của tiếng Việt Chương này trình bày các đặc điểm cơ bản của ngôn ngữ tiếng Việt và xem xét chúng dưới góc độ của một bài toán nhận dạng tiếng nói để thấy sự ảnh hưởng của chúng đối với việc xây dựng mô hình

âm vị trong bài toán nhận dạng

Chương 4: Giới thiệu hệ thống HTK Chương này trình bày một cách khái quát cấu trúc và nguyên lý hoạt động của hệ thống nhận dạng tiếng nói HTK

Chương 5: Sử dụng hệ thống HTK nhận dạng tiếng nói tiếng Việt liên tục ở mức độ

âm học Chương này mô tả chi tiết các thí nghiệm đã tiến hành và kết quả của các thí nghiệm nhận dạng

Chương 6: Kết luận và hướng phát triển Chương này sẽ tổng kết lại toàn bộ kết quả nghiên cứu của luận văn Từ đó đề ra phương hướng phát triển của luận văn trong thời gian tới

Trang 6

Chương 1: Tổng quan về nhận dạng Tiếng Nói

Các hệ thống nhận dạng tiếng nói có thể được phân thành các loại như sau:

ắ Hệ thống nhận dạng các từ rời rạc/liên tục

ắ Hệ thống nhận dạng có từ điển nhỏ (vài trăm từ)/từ điển lớn (hàng nghìn từ)

ắ Nhận dạng tiếng nói ở mức độ âm học/câu

Trong một hệ thống nhận dạng tiếng nói phát âm rời rạc, người nói sau khi nói một từ phải dừng lại trước khi phát âm từ kế tiếp, tức là có khoảng lặng giữa các

từ trong câu Ngược lại, hệ thống nhận dạng lời nói liên tục không đòi hỏi điều này

Độ chính xác trong hệ thống nhận dạng tiếng nói có từ điển cỡ lớn hoặc có nhiều từ

dễ lẫn thường không cao bằng hệ thống nhận dạng có vốn từ vựng cỡ nhỏ

Hình 1.1 cho ta thấy các phần tử cơ bản của một hệ thống nhận dạng tiếng nói điển hình Tín hiệu tiếng nói sau khi được số hóa được đ a vào bộ Phân tích xác ư

định đặc tính để chuyển thành một tập các vector tham số đặc trưng với các phân

đoạn tiếng nói có độ dài khoảng 10 – 30ms Các đặc tính này được đưa vào bộ Tìm kiếm để tìm kiếm các từ gần nhất với một số điều kiện ràng buộc về âm học, từ vựng

và ngữ pháp Cơ sở dữ liệu tiếng nói được sử dụng trong quá trình huấn luyện để xác

định các tham số hệ thống

Trang 7

Cơ sở dữ liệu tiếng nói

Hình 1.1: Sơ đồ khối hệ thống nhận dạng tiếng nói điển hình

Một trong những khó khăn lớn nhất của việc nghiên cứu nhận dạng tiếng nói

tự động là tính phụ thuộc đa chuyên ngành Có rất nhiều chuyên ngành khoa học liên quan đến nhận dạng tiếng nói như: Xử lý tiếng nói, vật lý (âm học), nhận dạng mẫu, lý thuyết truyền tin, ngôn ngữ học, sinh lý học, khoa học máy tính … Để có thể xây dựng thành công một hệ thống nhận dạng tiếng nói tự nhiên có từ điển cỡ lớn cần phải có nhiều kiến thức trong tất cả các chuyên ngành đó, đấy là một lượng kiến thức khổng lồ vượt quá khả năng của bất kỳ một người nào Vì vậy hầu hết các nhà khoa học thường chỉ tập trung giải quyết một số bài toán cụ thể trên cơ sở chuyên ngành hẹp của mình

1.2 phân tích các tham số đặc trưng của tiếng nói

Trong các lĩnh vực xử lý tiếng nói như nhận dạng, tổng hợp, mã hóa đều cần phải phân tích tham số tiếng nói Có nhiều phương pháp phân tích tham số của tiếng nói như LPC, MFCC, PLP … Tuy nhiên phương pháp phân tích MFCCcó nhiều u ư

điểm, và là phương pháp hay được sử dụng nhất Vì vậy phần này sẽ mô tả hàm năng lượng thời gian ngắn, và phương pháp phân tích cepstral theo thang đo mel để tính các hệ số MFCC (Mel frequency Cepstral Coefficient) thông qua việc sử dụng một dãy các băng lọc (filter bank) để trích chọn tham số của tiếng nói

từ vựng ngôn ngữ Mô hình

Các vector

đặc tính

Trang 8

1.2.1 Hàm năng lượng thời gian ngắn

Khái niệm cơ bản trong phân tích tín hiệu tiếng nói là phân tích thời gian ngắn (short time analysis) Trong khoảng thời gian dài, tín hiệu tiếng nói là không dừng, nhưng trong khoảng thời gian đủ ngắn (10 - 30 ms) thì tiếng nói được coi là dừng (ổn định về các thông số như năng lượng, tần số, tín hiệu…) Do đó, thông thường trong các ứng dụng xử lý tiếng nói người ta thường chia tiếng nói thành nhiều đoạn có thời gian bằng nhau gọi là các khung (frame), mỗi khung có độ dài khoảng từ 10 đến 30ms

Hàm năng lượng thời gian ngắn của tín hiệu tiếng nói được tính bằng cách chia tín hiệu tiếng nói thành các khung, mỗi khung dài N mẫu Mỗi khung này được nhân với một hàm cửa sổ W(n) và với hàm cửa sổ bắt đầu ở mẫu thứ m thì hàm năng lượng ngắn hạn Em được định nghĩa như sau:

1

2

[ ( ) ( )]

m N m

đây, chúng ta sẽ xem xét cách tính các hệ số MFCC trong hệ thống nhận dạng tiếng nói

1.2.2 Hệ số MFCC

Trong lĩnh vực nhận dạng tiếng nói có một phương pháp trích chọn tham số tiếng nói khác được sử dụng khá rộng rãi bởi tính hiệu quả của nó, đó là phương pháp tính các hệ số MFCC (Mel Frequency Cepstral Coefficient) thông qua việc phân tích cepstral theo thang độ đo mel Phương pháp này được xây dựng dựa trên

sự biến đổi cảm nhận của tai người đối với các dải tần số khác nhau Đối với các tần

số thấp (dưới 100Hz) thì độ cảm nhận là tuyến tính, còn đối với các tần số cao, thì

Trang 9

độ biến thiên là theo hàm logarit Các băng lọc tuyến tính ở tần số thấp và biến thiên theo hàm logarit ở tần số cao sẽ được sử dụng để trích chọn các đặc trưng âm học quan trọng của tiếng nói Mô hình tính toán các hệ số MFCC được mô tả trong hình 1.2

Bộ lọc hiệu

Các băng lọc tam giác

Tín hiệu tiếng nói s(n) được đưa qua một Bộ lọc hiệu chỉnh (Pre-emphasis)

lọc bỏ các tần số bậc thấp để phổ đồng đều hơn, như vậy sẽ làm giảm ảnh hưởng gây

ra bởi độ chính xác hữu hạn của các xử lý tín hiệu sau này Thường bộ lọc hiểu

chỉnh trong trường hợp này là bộ lọc cố định bậc một, có dạng:

H(z) = 1 – a.z-1 với 0,9 ≤ ≤ a 1.0 Quan hệ giữa tín hiệu ra với tín hiệu vào tuân theo phương trình sai phân sau:

~

( ) ( ) ( 1)

s n = s n ư a s n ưGiá trị a thường được chọn là 0,97

Sau đó tín hiệu ở đầu ra của bộ lọc hiểu chỉnh được đ a vào bộ Phân ư

khung (Frame Blocking) để phân thành các khung, mỗi khung có N mẫu Hai

khung kề nhau lệch nhau M mẫu Khung đầu tiên chứa N mẫu, khung thứ hai bắt

đầu chậm hơn khung thứ nhất M mẫu và chờm lên khung thứ nhất N – M mẫu Tương tự khung thứ ba chậm hơn khung thứ nhất N – 2M mẫu Quá trình này tiếp tục cho đến khi tất cả các mẫu tín hiệu tiếng nói cần phân tích thuộc về một hoặc

nhiều khung Bước tiếp theo trong việc xử lý là lấy cửa sổ cho mỗi khung riêng rẽ

~

( )

s n

Trang 10

Quá trình này được thực hiện nhờ khâu Lấy cửa sổ (Windowing) nhằm làm giảm sự

không liên tục của tín hiệu tiếng nói tại phần đầu và cuối mỗi khung Nếu ta định nghĩa cửa sổ là w(n), 0 ≤ n ≤ N-1, kết quả sau khi lấy cửa sổ là:

~

( ) ( ) ( )

x n = x n w n 0 ≤ ≤ n N-1 Thông thường cửa sổ Hamming sẽ được sử dụng, cửa sổ này có dạng:

2( ) 0.54 0.46.cos

Khâu Biến đổi Fourier rời rạc (FFT) được dùng để tính FFT, thực hiện phép

biến đổi mỗi khung với N mẫu từ miền thời gian sang miền tần số FFT là thuật toán tính DFT nhanh, công thức DFT được xác định như sau:

2 1

0

( ) ( ).

N k

Sau đó tín hiệu tiếp tục được đ a vào khâu Biến đổi sang thang đo Mel trên ư

miền tần số Như đã nói ở trên, tai người không cảm nhận sự thay đổi tần số của

tiếng nói theo thang tuyến tính mà theo theo thang đo mel (tuyến tính ở tần số dưới 1000Hz và biến đổi theo hàm logarit ở tần số cao) Người ta chọn tần số 1KHz, 40dB trên ngưỡng nghe là 1000 mel, do đó ta có công thức gần đúng biểu diễn quan

hệ tần số ở thang đo mel và thang tuyến tính như sau:

đến Fs/2 (Fs là tần số lấy mẫu tiếng nói) Nhưng cũng có thể một dải tần giới hạn từ LOFREQ đến HIFREQ sẽ được dùng để lọc đi các tần số không cần thiết cho việc

xử lý Chẳng hạn trong xử lý tiếng nói qua đường điện thoại, ta có thể lấy giới hạn của giải tần là từ LOFREQ = 300 đến HIFREQ = 3400

Trang 11

Hình 1.3: Các băng lọc tam giác theo thang tần số mel

Kết quả sau khi tính FFT ta thu được phổ tín hiệu s(fn), đó thực chất là một dãy số có độ dài tùy thuộc vào số điểm tính FFT ở bước xử lý này ta sẽ tính phổ năng lượng W(n) = | s(fn) | 2, và cho W(n) đi qua một dãy K băng lọc dạng tam giác

ta được một dãy các Tính tổng của các trong từng băng lọc, ta thu được một dãy các hệ số m

Do độ nhạy của các hệ số cepstral bậc thấp làm cho phổ toàn bộ bị đổ dốc, và

độ nhạy của các hệ số cepstral bậc cao gây ra nhiễu, nên người ta thường đưa tín

hiệu qua khâu Cepstral có trọng số với mục đích là sử dụng cửa sổ cepstral để cực

tiểu hóa các độ nhạy này

Công thức biểu diễn các hệ số cepstral có trọng số là:

^

1 sin 2

Trang 12

Ngoài ra để nâng cao chất lượng nhận dạng, người ta đ a tín hiệu qua khâu ư

Đạo hàm các hệ số MFCC theo thời gian nhằm thêm các giá trị đạo hàm theo thời

gian của các hệ số MFCC vào trong vector tham số tiếng nói, các giá trị đó được tính theo công thức sau:

^ 1

2 1

1.3 Các kỹ thuật nhận dạng tiếng nói

Hiện nay có 3 kỹ thuật phổ biến được sử dụng trong hệ thống nhận dạng tiếng nói đó là:

ắ Kỹ thuật nhận dạng tiếng nói theo âm học - âm vị học (The acoustic - phonetic approach)

ắ Kỹ thuật nhận dạng tiếng nói theo nhận dạng mẫu (The pattern recognition approach)

ắ Kỹ thuật nhận dạng tiếng nói sử dụng mạng trí tuệ nhân tạo (Artificial Intelligence Approache)

1.3.1 Kỹ thuật nhận dạng tiếng nói theo âm học - âm vị học

Kỹ thuật này dựa trên lý thuyết về âm học - âm vị học cho rằng tồn tại các

đơn vị ngữ âm xác định có tính phân biệt trong lời nói và các đơn vị ngữ âm đó được

đặc trưng bởi một tập các đặc tính tín hiệu tiếng nói Bước đầu tiên trong nhận dạng tiếng nói theo kỹ thuật này là phân đoạn và gán nhãn Bước này chia tín hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một (hoặc một vài) đơn vị ngữ

âm, đồng thời gán nhãn cho mỗi đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp Bước tiếp theo (bước nhận dạng) dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp … để xác định ra một từ hoặc một chuỗi từ đúng trong số một chuỗi

Trang 13

các nhãn ngữ âm được tạo ra sau b ớc thứ nhất Sơ đồ khối của hệ thống nhận dạng ưtiếng nói theo kỹ thuật này được biểu diễn ở hình 1.4

Phân tích tiếng nói

Lựa chọn

Hình 1.4: Sơ đồ khối hệ thống nhận dạng tiếng nói dùng kỹ thuật nhận dạng âm học - âm vị học

Nguyên lý hoạt động của hệ thống này như sau: Tín hiệu tiếng nói sau khi số hóa sẽ

được đưa tới khối phân tích tín hiệu tiếng nói nhằm xác định các độ đo phổ tín hiệu tiếng nói biến đổi theo thời gian Các kỹ thuật phân tích tiếng nói phổ biến là sử dụng băng lọc, mã hóa tiên đoán tuyến tính (LPC)… Bước sau đó là tách đặc tính tín hiệu tiếng nói nhằm biến đổi các độ đo phổ thành một tập các đặc tính mô tả các tính chất âm học của các đơn vị ngữ âm khác nhau Các đặc tính đó có thể là: Tính chất âm mũi, âm xát, vị trí các formant, âm hữu thanh hay vô thanh, tỷ số mức năng lượng tần số cao so với mức năng lượng tần số thấp… Tiếp theo là bước phân đoạn

và gán nhãn ở bước này hệ thống nhận dạng tiếng nói cố gắng tìm các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của đơn vị ngữ âm Đây là bước chủ yếu của hệ thống nhận dạng tiếng nói theo khuynh hướng âm học - âm vị học, và là bước khó thực hiện tin cậy nhất Bước cuối cùng là dựa vào một số nguyên tắc lựa chọn để kết hợp chính xác các khối ngữ âm để tạo thành các từ nhận dạng

Đặc điểm của hệ thống nhận dạng tiếng nói theo kỹ thuật nhận dạng âm học -

âm vị học là:

Trang 14

ắ Để đảm bảo độ chính xác thì người thiết kế phải có kiến thức khá sâu rộng về âm học, âm vị học

ắ Sự phân tích các khối ngữ âm còn mang tính trực giác, khó chính xác

ắ Sự phân loại theo các khối âm thường không tối u do khó sử dụng các ưcông cụ toán học để phân tích

1.3.2 Kỹ thuật nhận dạng tiếng nói theo mẫu

Kỹ thuật này không cần xác định đặc tính âm học hay phân đoạn tiếng nói

mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng Các hệ thống nhận dạng tiếng nói xây dựng theo kỹ thuật này được phát triển theo hai b ớc: ưBước thứ nhất, hệ thống sử dụng một tập mẫu tiếng nói (cơ sở dữ liệu tiếng nói) để huấn luyện tạo ra các mẫu tiếng nói đặc trưng (mẫu tham chiếu) B ớc thứ hai hệ ưthống nhận dạng các mẫu tiếng nói từ bên ngoài, so sánh chúng với các mẫu đặc trưng để đưa ra quyết định nhận dạng

Trong kỹ thuật này nếu cơ sở dữ liệu tiếng nói dùng cho huấn luyện có đủ các phiên bản của mẫu cần nhận dạng thì quá trình huấn luyện có thể xác định chính xác các đặc tính âm học của mẫu (mẫu ở đây có thể là âm vị, từ, cụm từ, …) Hiện nay có một số kỹ thuật nhận dạng mẫu được áp dụng khá thành công trong lĩnh vực nhận dạng tiếng nói là lượng tử hóa vector, so sánh thời gian động, mô hình Markov

ẩn và mạng Neural Hình 1.5 biểu diễn sơ đồ khối của hệ thống nhận dạng tiếng nói dùng kỹ thuật nhận dạng theo mẫu

Phân loại mẫu

Các mẫu chuẩn/các mô hình

Quyết định logic

Tiếng nói

được nhận dạng

Các mẫu tham chiếu Mẫu thử

Hình 1.5: Sơ đồ khối hệ thống nhận dạng tiếng nói

dùng kỹ thuật nhận dạng theo mẫu

Trang 15

Hoạt động của hệ thống có thể được tóm tắt như sau: Đầu tiên tín hiệu tiếng nói

được đi qua Hệ thống phân tích để phân tích thành một chuỗi các vector mang

tham số đặc trưng nhằm cho mẫu nhận dạng Các tham số đặc trưng này thường là kết quả của một số kỹ thuật phân tích phổ như: Các bộ lọc thông dải, phân tích mã hóa tiên đoán tuyến tính (LPC), phép biến đổi Fourier rời rạc (DFT)… Đối với quá trình huấn luyện hệ thống nhận dạng, các vector tham số đặc trưng trên sẽ được đ a ư

qua khâu Huấn luyện mẫu để tạo ra tập các Mẫu chuẩn hoặc Mô hình chuẩn Tập

các mô hình này sẽ được dùng làm mẫu tham chiếu hay mẫu chuẩn cho hệ thống nhận dạng Ngược lại, đối với quá trình nhận dạng, các vector tham số đăcc trưng

cho tín hiệu tiếng nói cần nhận dạng sẽ được đưa tới bộ Phân loại mẫu Khối này có

nhiệm vụ so sánh mẫu đầu vào cần nhận dạng với các mẫu tham chiếu đã được xác

định Đầu ra của nó được đưa tới khối Quyết định logic, khối này dựa trên một số

tiêu chuẩn để quyết định xem mẫu tham chiếu nào có đặc tính gần nhất với mẫu cần nhận dạng

Một số đặc điểm của hệ thống nhận dạng tiếng nói dùng kỹ thuật nhận dạng theo mẫu:

ắ Hiệu năng của hệ thống rất nhạy cảm đối với dữ liệu đưa vào huấn luyện Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ thống càng cao, tuy nhiên dung lượng bộ nhớ và thời gian luyện mẫu cũng tăng theo

ắ Các mẫu tham chiếu thường phụ thuộc vào môi tr ờng phát âm và các đặc ưtính truyền dẫn của môi trường

ắ Kỹ thuật này có thể được sử dụng để nhận dạng từ mà không đòi hỏi khả năng am hiểu sâu về ngôn ngữ

1.3.3 Kỹ thuật nhận dạng tiếng nói dùng trí tuệ nhân tạo

Có thể coi đây là sự kết hợp của các kỹ thuật trên với ý tưởng tận dụng tối đa các ưu điểm của từng kỹ thuật, đồng thời cố gắng mô phỏng khả năng của con người khi phân tích và cảm nhận các sự kiện bên ngoài nói chung và tiếng nói nói riêng

Trang 16

Tiếng nói

Xác định câu Xác định từ Kết nối âm vị Gán nhãn Phân đoạn Trích chọn đặc tính

Việc sử dụng hệ chuyên gia ở đây nhằm mục đích tận dụng các nguồn kiến thức của con người vào trong hệ thống nhận dạng, đó là:

ắ Kiến thức về âm học: Nhằm để phân tích phổ và xác định đặc tính âm học của các mẫu tiếng nói đầu vào

ắ Kiến thức về từ vựng: Sử dụng để kết hợp các khối ngữ âm thành các từ cần nhận dạng

ắ Kiến thức về cú pháp: Nhằm kết hợp các từ thành các câu cần nhận dạng

Trang 17

ắ Kiến thức về ngữ nghĩa: Nhằm xác định đặc tính logic của các câu đã

được nhận dạng

Tùy theo các hệ thống khác nhau mà có sự kết hợp các nguồn kiến thức từ các hệ chuyên gia là khác nhau Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào một bộ phận nhận dạng tiếng nói Phương pháp thông dụng nhất là xử

lý “từ dưới lên trên” (Bottom up) (Hình 1.6) Theo cách này, các tiến trình xử lý của

hệ thống được triển khai tuần tự từ thấp lên cao Trong sơ đồ hình 1.6, các bước xử

lý ở mức thấp (Xử lý tín hiệu, Trích chọn đặc tính Phân đoạn, Gán nh∙n) được ,

triển khai trước khi thực hiện các bước xử lý ở mức cao hơn (Kết nối âm vị, Xác

định từ, Xác định câu) Mỗi bước xử lý đòi hỏi một hoặc một số nguồn kiến thức nhất định Ví dụ: Bước Kết nối âm vị cần có sự hiểu biết sâu sắc về Nguyên tắc ngữ

âm của các đơn vị ngữ âm, bước Xác định từ đỏi hỏi quá trình Tra từ điển để có các kiến thức về từ vựng, bước Xác định câu đòi hỏi kiến thức về Mô hình ngôn ngữ

,đây là các nguyên tắc ngữ pháp

Do các ưu điểm của kỹ thuật nhận dạng theo mẫu nên kỹ thuật này đã và

đang được áp dụng thành công trong các ứng dụng nhận dạng tiếng nói thực tế Vì vậy luận văn này sẽ sử dụng kỹ thuật nhận dạng tiếng nói theo mẫu để giải quyết bài toán nhận dạng tiếng nói Tiếng Việt liên tục

Trang 18

Chương 2: mô hình markov ẩn

Trong chương này chúng ta sẽ nghiên cứu một mô hình hệ thống kê nổi tiếng

được sử dụng rộng rãi để đặc tả các thuộc tính phổ của các khung tiếng nói, đó là mô hình Markov ẩn (Hidden Markov Model - HMM) Giả thiết cơ bản của các mô hình Markov ẩn là ta có thể đặc tả tốt tín hiệu tiếng nói như là một quá trình ngẫu nhiên có tham số, và những tham số của quá trình có thể được ớc lượng một cách ưchính xác Thực nghiệm đã chứng minh rằng phương pháp nhận dạng sử dụng mô hình Markov ẩn cho độ tin cậy cao và tích hợp tốt trong những hệ thống nhận dạng gồm cả hai phần ngữ pháp và ngữ nghĩa Lý thuyết cơ bản về mô hình Markov ẩn đã

được đề cập tới qua một loạt bài báo của Baum [2] và các đồng sự vào cuối những năm 60, và được Baker, Jelinek cùng mộ số người khác áp dụng cho các ứng dụng

xử lý tiếng nói vào những năm 70

Chương này bắt đầu bằng việc nhắc lại lý thuyết về chuỗi Markov rồi mở rộng ý tưởng sang mô hình Markov ẩn qua một số ví dụ đơn giản Chúng ta sẽ tập trung vào ba bài toán cơ bản của mô hình Markov ẩn, đó là: Đánh giá xác suất của một dãy quan sát đối với một mô hình Markov ẩn cho trước; Xác định dãy trạng thái tối ưu nhất đối với một dãy quan sát và mô hình đã cho; Hiệu chỉnh tham số mô hình để mô hình giải thích tốt nhất cho dãy ký hiệu quan sát thu được Khi ba bài toán cơ bản này được giải quyết, ta sẽ dễ dàng áp dụng mô hình Markov ẩn vào nhận dạng tiếng nói

2.1 Khái niệm mô hình Markov rời rạc

Xét một hệ thống được biểu diễn tại mỗi thời điểm bởi một phần tử trong tập hợp N trạng thái S1, S2, … , SN Tại những thời điểm rời rạc cách đều, hệ thống thực hiện thay đổi trạng thái (mỗi trạng thái có thể quay trở lại chính trạng thái đó) theo một tập hợp các xác suất tương ứng với trạng thái Ta ghi nhận các thời điểm thay

đổi trạng thái đó là t = 1, 2, … trong đó qt là trạng thái của hệ tại thời điểm t

Trang 19

Hình 2.1: Mô hình Markov với 5 trạng thái (S 1 … S 5 )

Để mô tả đầy đủ xác suất của hệ thống này ta cần chỉ ra trạng thái hiện thời (tại thời điểm t) cũng như các trạng thái trước đó Tuy nhiên, trong trường hợp đặc biệt đối với một chuỗi Markov bậc 1 rời rạc về thời gian thì xác suất hệ thống chuyển đến trạng thái Sj được coi là chỉ phụ thuộc vào trạng thái ngay tr ớc đó, ưnghĩa là:

Trang 20

2.2 Khái niệm mô hình Markov ẩn

2.2.1 Mô hình Markov ẩn rời rạc

ở phần trên chúng ta đã xét những mô hình Markov mà trong đó mỗi trạng thái tương ứng với một sự kiện quan sát được Do đó, đầu ra của những mô hình như vậy tại bất kỳ một trạng thái nào sẽ là không ngẫu nhiên Vì vậy mô hình này có nhiều hạn chế trong việc ứng dụng để giải quyết các vấn đề phức tạp Phần này sẽ

mở rộng quan niệm về mô hình Markov trong trường hợp kết quả quan sát là một hàm xác suất của trạng thái, đó là mô hình Markov ẩn (Hidden Markov Model - HMM)

Mô hình Markov ẩn là một quá trình ngẫu nhiên được nhúng hai lần, trong đó quá trình ngẫu nhiên chính không quan sát được một cách trực tiếp (ẩn) mà chỉ có thể quan sát được thông qua một tập hợp các quá trình ngẫu nhiên khác, chúng tạo thành một dãy quan sát

Để minh họa các khái niệm cơ bản của mô hình Markov ẩn, chúng ta sẽ cùng nhau xét một số ví dụ đơn giản về thí nghiệm tung đồng xu

Ví dụ 3.1: Cho một đồng xu tốt, tức là xác suất khi tung được mặt sấp và mặt ngửa

là như nhau: P(H) = P(T) = 0.5; trong đó H là ký hiệu của mặt sấp, T là ký hiệu của mặt ngửa Giả sử lần đầu tung đồng xu ta được mặt sấp (H) Hỏi:

a Xác suất để 10 lần tung kế tiếp sẽ được: T T H T H H T H H T

b Xác suất để 10 lần tung kết tiếp sẽ được: T T T T T T T T T T

c Xác suất để trong 5 trong số 10 lần tung kết tiếp là H

Lời giải như sau:

a. Vì đồng xu tung có xác suất mặt sấp và mặt ngửa là như nhau P(H)= P(T)=0.5 nên với những lần tung độc lập thì xác suất của dãy quan sát có chiều dài 10 là:

P(T T H T H H T H H T) = (0,5)10

b Tương tự ta có:

P(T T T T T T T T T T) = (0,5)10

c. Xác suất để có 5 lần xuất hiện mặt sấp H trong số 10 lần tung chính là số dãy

quan sát có chiều dài 10 trong đó có 5H và 5T:

Trang 21

P(5H, 5T) = (10/5)(0,5)10 = 0,25 Vì là có (10/5) các lấy 5H, 5T trong 10 lần tung, và mỗi dãy có xác suất 0,510

Ví dụ 3.2: Bài toán với mô hình tung đồng xu

Giả sử bạn ở trong một căn phòng với một màn chắn và bạn không nhìn thấy

điều gì xảy ra Phía bên kia của màn chắn có một người thực hiện thí nghiệm tung

đồng xu (sử dụng một hay nhiều đồng xu) Tại bất kỳ thời điểm nào, anh ta đều không nói với bạn anh ta đã chọn đồng xu nào để tung, anh ta chỉ cho bạn biết kết quả của mỗi lần tung đồng xu là sấp hay ngửa mà thôi Theo cách đó, một chuỗi các thực nghiệm tung đồng xu ẩn sẽ được thực hiện với dãy quan sát bao gồm một loạt các trường hợp sấp và ngửa Dãy quan sát sẽ được biểu diễn dạng:

O = O1 O2 O3 … OT = H H T T T H T T H … H Câu hỏi đặt ra ở đây là làm thế nào chúng ta có thể xây dựng được một mô hình Markov ẩn để giải thích cho dãy quan sát nhận được t ơng ứng với đồng xu ưnào được tung

Vấn đề đầu tiên ta phải giải quyết trong bài toán này là quyết định xem những trạng thái trong mô hình sẽ tương ứng với những trường hợp nào và cần có bao nhiêu trạng thái Có một lựa chọn là giả sử rằng chỉ có một đồng xu được tung Trong trường hợp này chúng ta có thể mô hình hóa tình huống với một mô hình hai trạng thái, trong đó mỗi trạng thái sẽ tương ứng với kết quả của lần tung trước đó (mặt sấp hay mặt ngửa) Mô hình này được minh họa trong hình 2.2

Hình 2.2: Mô hình Markov ứng với thí nghiệm tung 1 đồng xu

Trong trường hợp này mô hình Markov là quan sát được và kết quả duy nhất của mô hình này được xác định dựa trên giá trị tham số của mô hình

Mô hình thứ hai minh họa trong hình 2.3 được dùng để giải thích cho chuỗi quan sát trên Trong trường hợp này, mô hình có hai trạng thái, mỗi trạng thái tương

Trang 22

ứng với trường hợp đồng xu xác định được tung Mỗi trạng thái được đặc trưng bởi phân bố xác suất của mặt sấp P1 và mặt ngửa 1 – P1 của đồng xu tương ứng Sự chuyển đổi trạng thái được biểu diễn bởi một ma trận chuyển trạng thái aij, với aij là xác suất chuyển từ trạng thái thứ i ở thời điểm t sang trạng thái thứ j ở thời điểm t+1

Hình 2.3: Mô hình Markov ứng với thí nghiệm tung 2 đồng xu

Mô hình thứ ba được minh họa trong hình 2.4 Mô hình này tương ứng với trường hợp sử dụng ba đồng xu và việc lựa chọn một trong số ba đồng xu cũng là do một sự kiện mang tính xác suất

Hình 2.4: Mô hình Markov ứng thí nghiệm tung ba đồng xu

Câu hỏi đặt ra ở đây là: Trong ba mô hình chỉ ra trong các hình 2.2, 2.3, 2.4, mô hình nào phù hợp nhất với những quan sát thực tế? Rõ ràng ta thấy mô hình một

đồng xu là mô hình đơn giản nhất, chỉ có một tham số duy nhất chưa biết là P(H) Còn với mô hình hai đồng xu thì có chứa đến bốn tham số chưa biết là: a11, a22, P1,

P2 Mô hình ba đồng xu có tới chín tham số chưa biết là: a11, a12, a21, a22, a31, a32, P1,

Trang 23

P2, P3 Như vậy, với số bậc tự do càng cao thì những mô hình Markov lớn dường nh ư

sẽ mô hình hóa thí nghiệm tung đồng xu tốt hơn so với những mô hình có kích thước nhỏ Mặc dù về lý thuyết điều này là đúng, nhưng trên thực tế phải có những giới hạn về kích thước của mô hình

2.2.2 Các thành phần cơ bản của mô hình Markov ẩn rời rạc

Qua các ví dụ trên, chúng ta đã có một chút hình dung sơ bộ về mô hình Markov ẩn và cách áp dụng nó vào trong một số trường hợp đơn giản Bây giờ chúng

ta sẽ định nghĩa một số thành phần cơ bản của mô hình Markov ẩn Một mô hình Markov ẩn được mô tả bởi các thông số sau:

1 Số trạng thái của mô hình N: Mặc dù các trạng thái là ẩn, nhưng trong

nhiều ứng dụng thực tế, mỗi trạng thái thường gắn với một ý nghĩa vật lý nào

đó Ví dụ, trong mô hình tung đồng xu, mỗi trạng thái tương ứng với một

đồng xu được tung Nói chung, các trạng thái thường liên kết với nhau sao cho từ một trạng thái bất kỳ đều có thể chuyển đến một trạng thái bất kỳ khác Tuy nhiên, trong phần sau, chúng ta sẽ xem xét những kiểu liên kết của các trạng thái thích hợp cho những ứng dụng nhận dạng tiếng nói Ta định nghĩa các trạng thái độc lập là tập S = {S1, S2, … , SN}, và trạng thái ở thời

điểm t là qt

2 Số các ký hiệu quan sát khác nhau cho mỗi trạng thái M: Các ký hiệu quan

sát này thường gắn với các quan sát vật lý đầu ra của hệ thống được mô hình hóa Ví dụ, với thí nghiệm tung đồng xu, các ký hiệu quan sát là mặt sấp và mặt ngửa Ta ký hiệu tập các ký hiệu quan sát là: V = {v1, v2, , vM}

3 Ma trận phân bố xác suất chuyển trạng thái: A = {aij} trong đó aij là xác suất chuyển từ trạng thái i ở thời điểm t sang trạng thái j ở thời điểm t+1

1

[ | ] 1 i,j N

a =P q+ =S q =S ≤ ≤ Trong trường hợp từ một trạng thái bất kỳ có thể chuyển đến 1 trạng thái bất

kỳ khác chỉ bằng 1 bước thì ta có aij > 0 (với mọi i,j)

4 Ma trận phân bố xác suất các giá trị quan sát được ở trạng thái j:

B={bj(k)} trong đó bj(k) là xác suất nhận được ký hiệu quan sát vk ở trạng thái j

Trang 24

b k

=

5 Ma trận phân bố xác suất trạng thái ban đầu của hệ thống:π ={ }πj trong

đó π là xác suất mô hình ở trạng thái i tại thời điểm ban đầu t = 1 j

i 1

[ ] 1

N t

2.3 Ba bài toán cơ bản trong mô hình Markov ẩn

Với mô hình HMM như trên, chúng ta cần tập trung giải quyết 3 bài toán cơ bản sau đây để có thể áp dụng được mô hình Markov ẩn trong các ứng dụng thực tế

2.3.1 Bài toán 1: Đánh giá xác suất

Cho một d∙y quan sát O=O 1 O 2 …O T và mô hình Markov ẩn λλλλλ = (A, B, π) H∙y tính xác suất của d∙y quan sát trên theo mô hình P(O|λλλλλ).

Đây là bài toán yêu cầu tính toán xác suất của một mô hình đã biết có thể tạo

ra một chuỗi quan sát cho trước Có thể nói cách khác, đây là bài toán đánh giá xem mô hình đã cho có tốt với dãy quan sát cho trước hay không Trong trường hợp ta phải chọn một trong số nhiều mô hình thì lời giải cho bài toán 1 sẽ cho ta lựa chọn

được mô hình thích hợp nhất đối với dãy quan sát cho trước

Cách giải quyết: Cách tường minh nhất để tính được xác suất trên là thông

qua việc đánh số mọi chuỗi trạng thái có chiều dài T (T là số lượng quan sát trong chuỗi) Khi đó sẽ có NT chuỗi trạng thái như vậy Ta sẽ xem xét một trong các dãy trạng thái đó:

q = (q1 q2 q3 … qT) trong đó q1 là trạng thái khởi đầu

Khi đó, xác suất của dãy quan sát O cho bởi dãy trạng thái q sẽ là:

Trang 25

( | , ) ( | , )

T

t t t

,

|()

|,(O q λ P O q λ P q λ

2.3.1.1 Thủ tục tiến (Forward Procedure)

Ta định nghĩa biến tiến (forward variable) αt(i) như sau:

αt(i) = P(O1 O2 … Ot, qt = i | λ) (2.8)

αt(i) là xác suất của dãy quan sát bộ phận O1 O2 … Ot và trạng thái i đạt được tại thời

điểm t Khi đó ta có thể dùng phép quy nạp để tính αt(i) như sau:

Bước 1: Khởi tạo

)()

1 i πibi o

Bước 2: Quy nạp

Trang 26

a Minh họa chuỗi thao tác để tính toán biến tiến ααt (i)

b Thực hiện tính ααt (i) dưới dạng mạng lưới các quan sát t và trạng thái i

Bước 1 khởi tạo các biến αt(i) là xác suất suất hiện đồng thời trạng thái i và quan sát ban đầu O1 Bước 2 được minh họa bằng hình 2.5, qua đó ta thấy từ thời

điểm t ứng với N trạng thái i 1≤ i ≤ N,, hệ thống có thể đạt đến trạng thái j ở thời

điểm t+1 Vì αt(i) là xác suất của sự kiện được quan sát O1 O2 … Ot, và trạng thái của hệ tại thời điểm t là i nên αt(i).aij chính là xác suất của sự kiện được quan sát O1

O2 … Ot và trạng thái j đạt được tại thời điểm t+1 từ trạng thái i ở thời điểm t trước

đó Lấy tổng tất cả các xác suất này trên tất cả N trạng thái i tại thời điểm t (1≤ ≤i N)

ta được xác suất của trạng thái j tại thời điểm t+1 với tất cả các quan sát bộ phận trước thời điểm t+1 Do đó dễ nhận thấy rằng, αt+1(j) bằng tổng trên nhân với

bj(Ot+1) Cuối cùng, bước 3 cho ta kết quả P(O|λ) là tổng của những biến tiến cuối cùng αt+1(j) theo đúng định nghĩa:

Trang 27

αT(i) = P(O1 O2 … Ot, qT = i | λ) Vì vậy P(O|λ) chính là tổng của các αT(i), 1≤ i ≤ N

Ta có nhận xét rằng, việc tính toán theo thủ tục tiến cần khoảng N2.T phép tính, mà cụ thể ở đây là cần N(N+1)(T-1)+N phép tính nhân, và N(N-1)(T-1) phép tính cộng Như vậy giả sử cũng lấy các giá trị như trên với N = 5 và T = 100 thì ta cần khoảng 3000 phép tính, con số này nhỏ hơn rất nhiều so với 1072 phép tính trong phương pháp tính trực tiếp ở trên

2.3.1.2 Thủ tục lùi (Backward Procedure)

Tương tự như trên ta có thể xét biến lùi βt(i) với định nghĩa như sau:

βt(i) = P(Ot+1Ot+2 OT, qt=i|λ) (2.12)

βt(i) là xác suất của dãy quan sát bộ phận từ thời điểm t+1 đến thời điểm cuối, căn

cứ vào trạng thái i tại thời điểm t và mô hình λ Có thể tính βt(i) bằng cách quy nạp như sau:

P O λ β i

=

=∑Trong phần sau ta sẽ thấy cách áp dụng 2 thủ tục này trong việc giải quyết Bài toán

3 của mô hình Markov ẩn

2.3.2 Bài toán 2: Tìm dãy trạng thái tối ưu

Cho d∙y quan sát O = O 1 O 2 … O T và mô hình λλλλλ Làm thế nào lựa chọn

được một d∙y trạng thái q = (q 1 q 2 … q T ) là tối ưu nhất

Đây là bài toán trong đó ta cố gắng tháo gỡ phần “ẩn” của mô hình để tìm ra dãy trạng thái đúng ẩn bên dưới Khác với bài toán 1, là bài toán với kết quả cho ra

Trang 28

là chính xác, ở bài toán 2 ta có nhiều cách để tìm ra dãy trạng thái tối ưu ứng với dãy quan sát cho trước Vấn đề ở đây là ta sẽ định nghĩa dãy trạng thái thế nào là tối

ưu, vì có nhiều tiêu chuẩn tối u Chẳng hạn, một tiêu chuẩn tối ưu là chọn ra trạng ưthái qt mà nó phù hợp nhất một cách riêng biệt tại thời điểm t Tiêu chuẩn tối ưu này làm cực đại số kỳ vọng của những trạng đúng

Cách giải quyết: Để thực hiện giải pháp này, ta định nghĩa biến xác suất như sau:

),

|()

t

t N

t i

điều kiện trạng thái qt = i tại thời điểm t

Sử dụng γt(i) ta có thể tính được trạng thái phù hợp nhất qt* tại thời điểm t như

( min arg

1

γMặc dù biểu thức trên làm cực đại số lượng mong đợi các trạng thái đúng (bằng cách chọn trạng thái phù hợp nhất ứng với thời điểm t) nhưng vẫn có một vài vấn đề với dãy trạng thái nhận được Ví dụ khi HMM có xác suất chuyển đổi trạng thái là 0 (aij = 0 đối với một vài i, j) thì dãy trạng thái tối ưu nhận được trong thực tế

có thể không phải là một dãy trạng thái hợp lệ Đó là do ph ơng pháp trên chỉ đơn ư

Trang 29

giản là xác định trạng thái phù hợp nhất tại mỗi thời điểm mà không quan tâm đến xác suất xảy ra của các dãy trạng thái

Một giải pháp cho vấn đề này là thay đổi tiêu chuẩn tối ưu Ví dụ, chúng ta

có thể tính được dãy trạng thái mà làm cực đại số lượng mong đợi các cặp trạng thái

đúng (qt, qt+1) hay bộ ba trạng thái đúng (qt, qt+1, qt+2), v.v… Mặc dù tiêu chuẩn này

có thể hợp lý đối với một số ứng dụng nhưng tiêu chuẩn được sử dụng rộng rãi nhất

là tìm ra chuỗi trạng thái đơn tốt nhất, nghĩa là làm cực đại P(q|O,λ) cũng là làm cực

đại P(q,O|λ) Phương pháp quy hoạch động để tìm chuỗi trạng thái đơn tốt nhất chình là giải thuật Viterbi

2.3.2.1 Thuật toán Viterbi

Để tìm dãy trạng thái đơn tốt nhất q = (q1 q2 … qT ) đối với dãy quan sát

O = O1O2…OT ta định nghĩa đại lượng sau:

q q

t quan sát đầu tiên trong đó có quan sát cuối cùng là ở trạng thái i

Bằng qui nạp ta có:

[max () ] ( ))

Trang 30

2.3.2.2 Một cách cài đặt khác của thuật toán Viterbi

Bằng cách tính toán logarit của các tham số mô hình, ta có thể cài đặt thuật toán Viterbi ở phần trước mà không cần thực hiện một phép nhân nào như sau:

Bước 0: Tiền xử lý

log( ) 1( ) log[ ( )] 1 1log( ) 1 ,

N i

Trang 31

2.3.3 Bài toán 3: ước lượng tham số của mô hình

Cần phải điều chỉnh tham số của mô hình λλλλλ = (A, B, πππππ) như thế nào để P(O|λλλλλ) đạt cực đại

Đây là bài toán tối ưu tham số mô hình để mô tả tốt nhất dãy quan sát cho trước Dãy quan sát dùng để hiệu chỉnh các tham số của mô hình được gọi là dãy huấn luyện Bài toán huấn luyện là bài toán cơ bản và trọng yếu nhất trong 3 bài toán vì nó cho phép ta tối ưu các tham số mô hình với dữ liệu luyện, tức là tạo ra mô hình tốt nhất cho hiện tượng thực tế

Cách giải quyết:

Không có cách nào giải quyết tập tham số mô hình để làm cực đại xác suất của dãy quan sát một cách chặt chẽ Tuy nhiên, ta có thể hiệu chỉnh λ = (A, B, π) để P(O|λ) đạt cực đại địa phương bằng cách dùng một thủ tục lặp, chẳng hạn như phương pháp Baum - Welch, còn gọi là phương pháp cực đại kỳ vọng (expectation maximiztion -EM) hay dùng các phương pháp gradient Trong phần này ta sẽ xem xét phương pháp lặp do Baum và các đồng sự đề xướng để tìm ra các tham số mô hình tối ưu nhất (tiêu chuẩn ML – maximum likehood)

Để mô tả thủ tục ước lượng lại tham số mô hình, đầu tiên ta định nghĩa ξt(i,j)

là xác suất có trạng thái i tại thời điểm t và trạng thái j tại thời điểm t+1 với mô hình

λ và dãy quan sát O đã cho, tức là:

),

|,

(),

Trang 32

Ta đã định nghĩa ở phần trước γt(i) là xác suất trạng thái i ở thời điểm t với dãy quan sát O và mô hình λ, vì vậy ta có mối liên hệ giữa γt(i) với ξt(i,j) như sau:

Nếu lấy tổng γt(i) theo thời gian t, kết quả nhận được chính là số lần trung bình hệ thống ở trạng thái i tại thời điểm t, hay tương đ ơng với số kỳ vọng các ưchuyển đổi trạng thái được thực hiện từ trạng thái i (nếu bỏ qua t = T trong phép lấy tổng) Tương tự nếu lấy tổng ξt(i,j) theo t (từ t = 1 đến t = T - 1) thì ta được số kỳ vọng chuyển đổi từ trạng thái i sang trạng thái j, tức là:

ư

=

∑ = số kỳ vọng chuyển đổi từ trạng thái i sang trạng thái j trong O

Từ các công thức trên, ta có thể đưa ra một phương pháp đánh giá lại tham số của một mô hình Markov ẩn như sau:

1 1

1 1

1

( , ) ( )

( ) ( ) ( )

( ) ( )

T

t t

ij T

t t T

i

i i

ζγ

( )

( ) ( )

( ) ( )

t k

t k

T t t

o v

t t T

t

o v T

Trang 33

Từ mô hình hiện thời λ = (A, B, π), sử dụng các công thức trên ta được mô hình đánh giá lại λ = ( A , B ,π) Baum và các đồng sự đã chứng minh được rằng:

1 Mô hình ban đầu λ đạt tới trạng thái tới hạn của một hàm likehood, tức là

λư= λ

2 Hoặc là mô hình λư tốt hơn mô hình λ theo nghĩa là: P(O| λư ) > P(O|λ)

Hay nói một cách khác là đã tìm ra mô hình mới λư giải thích được dãy quan sát O tốt hơn so với mô hình cũ λ

Dựa vào thủ tục trên, nếu lặp lại việc ước lượng bằng cách thay λư vào vị trí của λ thì ta có thể cải tiến được xác suất của dãy quan sát O cho bởi mô hình đó cho

đến khi đạt được trạng thái tới hạn

Một đặc điểm hết sức quan trọng của thủ tục ước lượng tham số ở trên là nó vẫn đảm bảo các ràng buộc thống kê trên các tham số của mô hình, tức là:

(2.38)

2.4 Mô hình Markov ẩn liên tục

2.4.1 Khái niệm mô hình Markov ẩn liên tục

Mô hình Markov ẩn đã trình bày ở trên được gọi là mô hình Markov ẩn rời rạc vì dãy quan sát bao gồm các ký hiệu nằm trong một bộ từ vựng hữu hạn Tuy nhiên trong thực tế các dãy quan sát thường là biểu diễn cụ thể của các tín hiệu liên tục, vì vậy để sử dụng được mô hình HMM rời rạc ở trên chúng ta cần sử dụng kỹ thuật l ợng tử hóa vector để chuyển thành các ký hiệu rời rạc Tất nhiên việc làm ưnày sẽ làm giảm độ chính xác của tín hiệu Do đó để đạt hiệu quả nhận dạng, mô hình Markov ẩn được mở rộng sử dụng các hàm mật độ xác suất liên tục: Mô hình này được gọi là mô hình HMM liên tục

Xác suất của 1 dãy quan sát O tại trạng thái j là một hàm có dạng tổ hợp của các thành phần Gaussian và có dạng như sau:

Trang 34

1 0

NN Ni

a a

Trong đó: O là vector quan sát, K là số thành phần tổ hợp

Cjk là hệ số tổ hợp của thành phần Gaussian thứ k tại trạng thái j

1 1 j N

K

jk k

2.4.2 Một số kiểu mô hình Marrkov ẩn liên tục

Có nhiều cách phân loại mô hình Markov ẩn liên tục Trong đó người ta thường phân loại mô hình Markov ẩn dựa vào cấu trúc ma trận chuyển trạng thái A Trong thường hợp tổng quát ta có mô hình Markov ẩn kết nối đầy đủ, nghĩa là mỗi trạng thái của mô hình đều có thể đạt được từ trạng thái còn lại bất kỳ Loại mô hình này có tính là các hệ số aij > 0

Đối với một số ứng dụng, đặc biệt là các ứng dụng xử lý tiếng nói, để mô hình hóa những đặc trưng của tín hiệu thì các mô hình kết nối đầy đủ như trên là không thích hợp Ta phải cần đến những mô hình hiệu quả hơn, đó là các mô hình trái - phải hay còn gọi là mô hình Bakis Sở dĩ mô hình có tên trái - phải là vì dãy trạng thái ẩn bên dưới mô hình có tính chất là: Khi thời gian tăng lên thì chỉ số trạng thái cũng tăng lên hoặc giữ nguyên trạng thái cũ, tức là hệ thống chuyển trạng thái

từ trái qua phải Rõ ràng loại mô hình trái - phải này rất thích hợp khi mô hình hóa những tín hiệu mà thuộc tính của nó thay đổi theo thời gian, chẳng hạn như tín hiệu tiếng nói Tính chất cơ bản của mô hình Markov ẩn trái - phải là các xác suất chuyển trạng thái đều thỏa mãn aij = 0 với mọi j < i tức là không cho phép chuyển sang trạng

Trang 35

thái có chỉ số nhỏ hơn chỉ số trạng thái hiện tại Hơn nữa, xác suất trạng thái ban

có dạng:

aij = 0 j > i + ∆i (2.43) Trong ví dụ hình 2.6, ∆i = 2 tức là không đ−ợc phép nhảy quá 2 trạng thái Khi đó ma trận chuyển trạng thái có dạng:

33 34 44

0 0

Hình 2.6: Ví dụ về các loại mô hình Markov ẩn

a Mô hình liên kết đầy đủ với 4 trạng thái

b Mô hình trái - phải (Bakis) với 4 trạng thái

Trạng thái cuối cùng trong mô hình trái - phải có có các hệ của ma trận vị trí là:

1 0

NN Ni

a a

=

Trang 36

Chú rằng những ràng buộc trên mô hình trái - phải không ảnh hưởng đến thủ tục ước lượng lại tham số dùng trong quá trình huấn luyện HMM Đó là vì những tham số có giá trị 0 lúc khởi tạo sẽ vẫn là 0 trong suốt thủ tục ớc l ợng lại ư ư

2.4.3 Một số vấn đề khi cài đặt mô hình Markov ẩn

2.4.3.1 Nhiều dãy quan sát

Trong phần trước chúng ta đã đề cập đến mô hình Markov ẩn Điều khó khăn chính khi làm việc với mô hình Markov ẩn là vấn đề huấn luyện mô hình Vì ta không thể chỉ dùng 1 dãy quan sát đơn để ước lượng các tham số cho nó Đó là do bản chất tạm thời, ngắn ngủi của các trạng thái trong mô hình chỉ cho phép một số lượng nhỏ các quan sát ở mỗi trạng thái cho đến khi chuyển sang trạng thái kế tiếp Vì vậy, để nhận được các ước lượng tham số đáng tin cậy ta phải dùng nhiều dãy quan sát để huấn luyện Khi đó thủ tục huấn luyện lại sẽ được bổ sung nh sau: ư

Giả sử ta có tập huyến luyện gồm K dãy quan sát:

O = O O O là dãy quan sát thứ k Giả sử mỗi dãy quan sát là

độc lập với nhau và mục tiêu của ta là hiệu chỉnh các tham số của mô hình để làm cực đại:

1 ( ) ( )

1

( ) ( ) ( )

1

( ) ( )

k k

T K

Trang 37

2.4.3.2 Khởi tạo các tham số ước lượng cho mô hình

Về mặt lý thuyết, các phương trình ớc l ợng của mô hình Markov ẩn tạo ra ư ưcác tham số tương ứng với cực đại địa phương của hàm thích hợp nhất (likehood) Vì vậy vấn đề quan trọng đặt ra là làm thế nào để chọn các ước lượng tham số ban đầu của mô hình để cực đại địa phương bằng hay xấp xỉ với cực đại toàn cục của hàm likehood

Về cơ bản, không có câu trả lời đơn giản và rõ ràng cho vấn đề này Kinh nghiệm cho thấy rằng, với các tham số π và A, ta có thể khởi tạo một cách ngẫu nhiên hay khởi tạo các giá trị bằng nhau, miễn là thỏa mãn các ràng buộc thống kê, thì đều cho kết quả khá tốt trong hầu hết các trường hợp Tuy nhiên, với tham số B, nếu các giá trị ban đầu được khởi tạo tốt thì quá trình ước lượng sẽ nhanh chóng hội

tụ về điểm tới hạn

Ta có thể sử dụng thuật toán phân đoạn k trung bình [1] để khởi tạo ma trận

B như sau: ứng với mỗi chuỗi quan sát O O trong tập đa quan sát

ta sử dụng thuật toán Viterbi để tìm chuỗi trạng thái thích hợp nhất, dựa vào đó ta sẽ phân hoạch được các quan sát này thành N đoạn (N là số trạng thái của mô hình) Kết quả ta có N tập quan sát, mỗi tập tương ứng với một trạng thái của mô hình Với mỗi tập xác suất thông số b

1 2

( )

T k

2.4.3.3 Dữ liệu huấn luyện không đầy đủ

Một vấn đề nữa liên quan đến việc huấn luyện mô hình Markov ẩn là tập quan sát huấn luyện là hữu hạn Như vậy luôn tồn tại một số các sự kiện có xác suất thấp Theo công thức ước lượng b j (k )ở phương trình 2.37 yêu cầu tính số lần kỳ vọng ở trạng thái j và quan sát vk Nếu tập quan sát huấn luyện quá nhỏ không xảy

ra sự kiện này (tức là qt = j và Ot = vk) thì bj(k) trước và sau khi ước lượng vẫn bằng

0 Kết quả là mô hình sẽ đào tạo ra xác suất 0 cho những quan sát có qt=j và Ot=vk Như vậy bj(k) = 0 là không đáng tin cậy do tập huấn luyện không đầy đủ

Trang 38

Cách thứ nhất để giải quyết vấn đề này là tăng kích thước của tập quan sát huấn luyện Nhưng thông th ờng thì điều này là không thể thực hiện đ ợc Cách thứ ư ưhai là giảm bớt kích thước của mô hình như giảm số trạng thái, giảm số ký hiệu quan sát ở mỗi trạng thái Điều này là có thể thực hiện được nhưng kết quả nhận dạng sẽ không được cao Hơn nữa các tham số về số trạng thái và số ký hiệu quan sát thường có ý nghĩa vật lý nào đó nên trong nhiều tr ờng hợp ta không nên thay ư

đổi chúng Cách giải quyết thứ ba và cũng là cách giải quyết đơn giản nhất là đưa vào tham số mô hình các ràng buộc về ngưỡng để đảm bảo không có ước lượng tham số nào dưới một mức đặt trước Chẳng hạn ta có thể dùng ngưỡng như sau:

( ) ( ) if b j( )

otherwise.

j j

2.5 Mô hình HMM trong nhận dạng tiếng nói

Mỗi tín hiệu tiếng nói của con người đều có thể được mã hóa bởi một chuỗi các ký hiệu (chữ viết) Các ký hiệu chữ viết này có thể là khác nhau, đối với từng ngôn ngữ khác nhau Quá trình nhận dạng tiếng nói trong hệ thống nhận dạng tiếng nói là quá trình tìm ra chuỗi các ký hiệu này từ một tín hiệu tín hiệu tiếng nói bất

kỳ Hình 2.7 chỉ ra 2 quá trình cơ bản trong quá trình nhận dạng tiếng nói, đó là quá trình tham số hóa (parameterise) và quá trình nhận dạng (recognise)

Hình 2.7: Quá trình tham số hóa và nhận dạng tiếng nói liên tục

Ngày đăng: 19/02/2024, 23:02

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN