22
Computer Based Automatic Speech Processing MỤC LỤC Mục lục8 ...............................trang 1 1. Giới thiệu..............................trang 2 2. MarKov Models (HM)......................trang 3 3. Hidden MarKov Models (HMM)- Mô hình Markov ẩn trang 5 4. Ba bài toán cơ bản của HMM..............trang 8 5. ứng dụng HMM trong tự động nhận dạng tiếng nói- ASR......................................trang 17 HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 1

Bao cao-HMM

Embed Size (px)

Citation preview

Page 1: Bao cao-HMM

Computer Based Automatic Speech Processing

MỤC LỤC

Mục lục8..............................................................................trang 1

1. Giới thiệu.....................................................................................trang 22. MarKov Models (HM).................................................................trang 33. Hidden MarKov Models (HMM)- Mô hình Markov ẩn..............trang 54. Ba bài toán cơ bản của HMM......................................................trang 85. ứng dụng HMM trong tự động nhận dạng tiếng nói- ASR.......trang 17

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 1

Page 2: Bao cao-HMM

Computer Based Automatic Speech Processing

1. Giới thiệuHọc thuyết về chuỗi Markov được phát triển vào những năm 1900. Mô hình

Markov ẩn phát triển vào cuối những năm 60 và được sử dụng rộng rãi trong lĩnh vực nhận dạng tiếng nói vào những năm 1960-1970 và được đưa vào khoa học máy tính năm 1989

Nhiều bài toán thực tế được biểu diễn dưới mối quan hệ nhân quả, nhưng chỉ quan sát được phần quả còn phần nhân thì ẩn. HMM là một thuật toán cho phép giải quyết các bài toán xác lập mối nhân quả cục bộ nói trên.

Mô hình Markov ẩn (Hidden Markov Model - HMM) 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.

Nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này. 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.

Các ứng dụng phổ biến của mô hình Markov ẩn: Tin sinh học (bioinformatics): là một lĩnh vực khoa học sử dụng các công nghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính , trí tuệ nhân tạo, hóa học và hóa sinh (biochemistry) để giải quyết các vấn đề sinh học Xử lý tín hiệu, phân tích dữ liệu và nhận dạng mẫu HMMs được dùng rất nhiều trong phân tích ngôn ngữ: Nhận dạng tiếng nói (đối tượng quan sát được: tín hiệu âm thanh, đối tượng ẩn: từ ngữ) Nhận dạng chữ viết tay (observed: kí hiệu, hidden: từ ngữ) Phân loại và gán thẻ cho từ ngữ (Part-of-speech tagging) (observed: từ ngữ, hidden: thẻ (danh từ, động từ, tính từ…) Hệ thống dịch ngôn ngữ (observed: từ nước ngoài, hidden: từ ngữ ứng với ngôn ngũ cần dịch)

2. MarKov Models (HM): HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 2

Page 3: Bao cao-HMM

Computer Based Automatic Speech Processing

Một dãy trạng thái ngẫu nhiên gọi là có thuộc tính Markov nếu như xác suất chuyển sang trạng thái tiếp theo chỉ phụ thuộc vào trạng thái hiện tại và quá khứ.

Dãy chuyển trạng quan sát được được gọi là chuỗi Markov hay Xích Markov. Dãy chuyển trạng không quan sát được gọi là mô hình Markov ẩn.

Có N trạng thái: s1, s2 .. sNCác bước thời gian rời rạc tương ứng: t=0, t=1, …Tại bước thời gian thứ t, hệ thống ở một trong các trạng thái trên, gọi là qt.

Với qt Î{s1, s2 .. sN }

Giữa mỗi bước thời gian, trạng thái tiếp theo được chọn một cách ngẫu nhiên. Trạng thái hiện tại sẽ quyết định xác xuất phân bố của trạng thái tiếp theo (thường được kí hiệu bằng vòng cung kết nối các trạng thái).

Trạng thái qt+1 độc lập có điều kiện với { qt-1, qt-2, … q1, q0 }, được đưa ra bởi qt.

P(A) là xác suất trước hay xác suất bờP(A|B) là xác suất sau hay xác suất có

điều kiện, là xác suất xuất hiện A đối với B( hay xác xuất chuyển tiếp từ B đến A)Một chuỗi q được gọi là chuỗi Markov, để thỏa thuộc tính của Markov, trạng thái tiếp theo chỉ phụ thuộc vào trạng thái hiện tại và không phụ thuộc vào trạng thái nào trong quá khứ. Đây được gọi là mô hình Markov bậc 1

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 3

S3

S1

S3

N = 3t=0, qt=q0=s3

Trạng thái hiện tại

Page 4: Bao cao-HMM

Computer Based Automatic Speech Processing

Mô hình Markov bậc 2: là mô hình được tạo ra trên cơ sở trạng thái hiện tại qt phụ thuộc và hai trạng thái liền kề trước đó

Mô hình Markov đơn giản cho dự báo thời tiết

Thời tiết trong một ngày có thể rơi vào một trong ba trạng thái sau: S1: mưa S2: mây mù S3: nắng

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 4

0.4 0.3 0.3

{ } 0.2 0.6 0.2

0.1 0.1 0.8ijA a

1S

2S

3S

1S 2S 3S

Page 5: Bao cao-HMM

Computer Based Automatic Speech Processing

Ví dụ : X¸c suÊt vµo (phï hîp model) ®Ó thêi tiÕt trong 8

ngµy nèi tiÕp nhau lµ "0= mÆt trêi - mÆt trêi - ma - ma - mÆt

trêi - cã m©y - mÆt trêi ?

C¸ch gi¶i quyÕt

Chóng ta ®Þnh nghÜa tuÇn tù viÖc quan s¸t, O nh :

O = (n¾ng, n¾ng, n¾ng, ma, ma, n¾ng, m©y,

n¾ng )

= (3, 3, 3, 1, 1, 3, 2, ,3 )

Ngµy 1 2 3 4 5 6 7 8

Đèi nhau yªu cÇu 1 bé cña ®iÒu kiÖn thêi tiÕt ë trªn kú 8

ngµy vµ chóng ta muèn tÝnh to¸n P (O/ Model) x¸c suÊt cña

viÖc quan s¸t tuÇn tù O, dựa vào mô hình dự báo thời tiết như trên.

Chóng ta cã thÓ trùc tiÕp g©y ra P (O/ Model) nh :

P(O/Model) = P [3,3,3,1,1,3,2,3Model]

= P [3]P[33]2P[13]P[11]

P[31]P[23]P[32]

= 3.(a33)2a31a11a13a32a23

= (1.0)(0.8)2(0.1)(0.4)(0.3)(0.1)(0.2)

= 1.536x10-4

ë đây chóng ta sö dông

i = p [ q1 = i] 1 i N

3. Hidden MarKov Models (HMM)- Mô hình Markov ẩnMô hình trước giả sử rằng mỗi trạng thái có thể là duy nhất tương ứng với

một bằng chứng quan sát được. Khi có được một quan sát, trạng thái nhận được của hệ thống sẽ trở thành vô giá trị(không còn nhiều ý nghĩa sử dụng). Mô hình này quá hạn chế để giải quyết các vấn đề trong trong thực tế.

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 5

Page 6: Bao cao-HMM

Computer Based Automatic Speech Processing

Để xây dựng một mô hình linh động hơn, chúng ta giả sử rằng những quan sát được của mô hình là một hàm xác xuất của mỗi trạng thái

Mỗi trạng thái có thể tạo ra một số đầu ra dựa trên phân bố xác xuất và mỗi đầu ra riêng biệt có thể có khả năng được tạo ra bởi một trạng thái nào đó. Mô hình Markov ẩn (HMM), bởi vì chuỗi trạng thái không thể quan sát trực tiếp, nó chỉ có thể xấp xỉ gần đúng với các chuỗi quan sát được hệ thống đưa ra.Giả sử bạn có một máy bán nước ngọt tự động: nó có thể ở 2 trạng thái, chọn

cola (CP) và chọn iced tea (IP), nó chuyển trạng thái ngẫu nhiên sau mỗi lần mua hàng, như sau:

Có 3 đầu ra quan sát được : cola, iced Tea, lemonadeNhư vậy mô hình Markov ẩn cho một máy bán nước ngọt tự động sẽ là

Ví dụ 1: dự báo thời tiết.Các trạng thái có thể quan sát được: Lầy lội- ẩm ướt- khô- khô hanhCác trạng thái ẩn: Nắng – mây mù- mưa

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 6

Ma trận xác xuất NOT OBSERVABLE

Page 7: Bao cao-HMM

Computer Based Automatic Speech Processing

Ví dụ 2: nhận dạng tiếng nói

Các thành phần của HMMqt - Trạng thái ở thời điểm t.ot= (ký hiệu) Quan sát tại thời điểm t.

= {i} Phân bố trạng thái ban đầuA = {aij} Phân bố xác xuất chuyển trạng thái

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 7

Page 8: Bao cao-HMM

Computer Based Automatic Speech Processing

B = {bik} Phân bố xác xuất kí hiệu quan sát được theo trạng thái

HMM được xác định bởi 5 thành phần

1- Tập hợp các trạng thái ẩn: N: số trạng thái, St trạng thái tại thời gian t

2- Tập hợp các kí hiệu quan sát được, M:số kí hiệu quan sát được

3- Phân bố trạng thái ban đầu

4- Phân bố xác xuất chuyển trạng thái

5- Phân bố xác xuất kí hiệu quan sát được theo trạng thái

Tóm lại, các thành phần của HMM gồm: 2 tham số không đổi về kích cỡ: N và M (tổng số trạng thái và tổng số kí hiệu quan sát được S,O) 3 tập hợp phân bố xác xuất: A, B,

4. Ba bài toán cơ bản của HMM

Bài toán 1: (Evaluation problem- Bài toán ước lượng)Cho dãy quan sát O = (o1o2...oT ) và HMM - l( hay ) hãy xác định xác suất

sinh dãy từ mô hình – P(O| l).

Bài toán 2: (Decoding problem- Bài toán giải mã)Cho dãy quan sát O = (o1o2...oT ) và HMM-l , hãy xác định dãy chuyển

trạng Q =(q1q2...qT ) cho xác suất sinh O lớn nhất (optimal path).Đây chính là bài toán xác định dãy chuyển trạng thái gần đúng nhất Q =(q1q2...qT ) của mô hình để tạo ra các quan sát O.

Bài toán 3: (Learning problem- Bài toán huấn luyện)Hiệu chỉnh HMM -l để cực đại hoá xác suất sinh X – P(O|l ) (tìm mô hình

“khớp” dãy quan sát nhất.)

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 8

Page 9: Bao cao-HMM

Computer Based Automatic Speech Processing

Bài toán 1: (Evaluation problem- Bài toán ước lượng)Cho dãy quan sát O = (o1o2...oT ) và HMM - l( hay ) hãy xác định xác suất

sinh dãy từ mô hình – P(O| l).

Để thực hiện bài toán này ta nghiên cứu thuật toán lan truyền xuôi –Straightforward.

Để tính xác xuất gần đúng P(O| l)của chuỗi quan sát O = (o1o2...oT ) của HMM-l , cách dễ thấy nhất là lấy tổng xác xuất của tất các các chuỗi trạng thái:

Áp dụng giả thuyết Markov:

Áp dụng giả thuyết đầu ra độc lập:

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 9

Page 10: Bao cao-HMM

Computer Based Automatic Speech Processing

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 10

Page 11: Bao cao-HMM

Computer Based Automatic Speech Processing

Độ phức tạp thời gian: O(N2T)Độ phức tạp không gian: O(NT)

Thuật toán truyền xuôi ngượcCho các thông số ntruyền ngược như bảng dưới

Vậy ta có:

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 11

Page 12: Bao cao-HMM

Computer Based Automatic Speech Processing

Bài toán 2: Thuật toán Viterbi(Decoding problem)Cho dãy quan sát O = (o1o2...oT ) và HMM-l , hãy xác định dãy chuyển

trạng Q =(q1q2...qT ) cho xác suất sinh O lớn nhất (optimal path).Đây chính là bài toán xác định dãy chuyển trạng thái gần đúng nhất Q =(q1q2...qT ) của mô hình để tạo ra các quan sát O.

Mục tiêu của bài toán này là ta đi tìm giá trị maxP(Q|O,l) khi đã có được chuỗi quan sát O = (o1o2...oT ) và HMM-l.

Quy trình thực hiện thuật toán Viterbi thực hiện như sau:

- Dãy quan sát O = (o1o2...oT ) và HMM-l

- Ứng với dãy chuyển đổi trạng thái Q =(q1q2...qT ), Xác suất quan sát O = (o1o2...oT ) và HMM-l là

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 12

Page 13: Bao cao-HMM

Computer Based Automatic Speech Processing

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 13

Page 14: Bao cao-HMM

Computer Based Automatic Speech Processing

Quy trình:

Bài toán 3: Thuật toán Baum-Welch(Learning problem)Hiệu chỉnh HMM -l để cực đại hoá xác suất sinh Q – P(O|l ) (tìm mô hình

“khớp” dãy quan sát nhất.)

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 14

Page 15: Bao cao-HMM

Computer Based Automatic Speech Processing

Kỳ vọng tìm được dãy chuyển trạng thái Q theo P(O|l )

§Ó miªu ta l¹i qu¸ tr×nh tham sè HMM, ®Çu tiªn chóng ta

ph¶i ®Þnh nghÜa t (i,j), kh¶ n¨ng i t¹i thêi ®iÓm t vµ j t¹i ®iÓm

(t + 1) ®a ra d¹ng vµ chuçi.

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 15

Page 16: Bao cao-HMM

Computer Based Automatic Speech Processing

t (i) lµ kh¶ n¨ng i t¹i ®iÓm t lµ 1 chuçi quan s¸t hoµn toµn

vµ lµ 1 d¹ng. Chóng ta cã thÓ nèi t (i) víi t(i,j) b»ng c¸ch tÝnh

qua j

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 16

Page 17: Bao cao-HMM

Computer Based Automatic Speech Processing

5. ứng dụng HMM trong tự động nhận dạng tiếng nói- ASR

Những yếu tố ảnh hưởng đến ASR- Tình huống khác nhau- Kiểu khác nhau: nhận dạng từ riêng biệt dễ hơn nhận dạng một chuỗi từ,

nhận dạng đọc dễ hơn nhận dạng hội thoại- Người nói nói khác nhau: speaker-independent VS speaker-dependent- Môi trường khác nhau: nhiễu nền

Nhiệm vụ của nhận dạng tiếng nói là nhận đầu vào sóng âm thanh và đầu ra là chuỗi của các từ.

Với một chuỗi âm thanh nhận được O = (o1o2...on )

Nhiệm vụ của ASR là tìm ra chuỗi W = (w1w2...wn ) từ tương ứng có xác xuất posterior P(W|O)

Cấu trúc của một mô hình nhận dạng tiếng nói đơn giản

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 17

Acoustic Model Language Model

Page 18: Bao cao-HMM

Computer Based Automatic Speech Processing

Mô hình thông dụng nhất dùng cho tiếng nói là constrained (miễn cưỡng), cho phép một trạng thái chuyển đổi thành chính nó hoặc thành một trạng thái khác

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 18

Page 19: Bao cao-HMM

Computer Based Automatic Speech Processing

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 19