CHƯƠNG 2: NHẬN DẠNG TIẾNG VIỆT PHÁT ÂM LIÊN TỤC
2.2 Mô hình Markov ẩn
2.2.3 Ba bài toán cơ bản của mô hình Markov ẩn và giải pháp
- Tính xác suất của chuỗi quan sát.
- Tìm được chuỗi trạng thái tốiưu nhất.
- Tính các tham số của mô hình sao cho xác suất quan sát là lớn nhất.
Bài toán 1: Tính xác suất của chuỗi quan sát Chuỗi quan sátO and chuỗi trạng tháir có độ dài là T
𝑂 = 𝑜1, 𝑜2, … 𝑜𝑇 𝑟 = (𝑟1, 𝑟2, … 𝑟𝑇)
Xác suất của chuỗi trạng thái đƣợc cho bởi mô hình𝜆 đƣợc định nghĩa nhƣ sau:
𝑃 𝑂 𝜆 = 𝑃 𝑂 𝑟, 𝜆 𝑃 𝑟 𝜆
𝑄
(2.11)
là tổng xác suất của chuỗi trạng tháir đƣợc cho bởi mô hình𝜆và chuỗi quan sátO đƣợc cho bởi chuỗi trạng tháir và𝜆 cho tất cảchuỗi trạng thái Q.
Xác suất chuỗi trạng tháir đƣợc tính nhƣ sau
𝑃 𝑟 𝜆 = 𝜋𝑟1𝑎𝑟1𝑟2𝑎𝑟2𝑟3… 𝑎𝑟𝑇−1𝑟𝑇 (2.12)
Là bằng tích xác suất ban đầu𝜋𝑟1của trạng thái𝑟1 và các xác suất chuyển 𝑎𝑟𝑖𝑟𝑗 tương ứng với chuỗi trạng tháir. Với chuỗi trạng thái r đã cho, xác suất của chuỗi quan sát O đƣợc tính nhƣ sau
𝑃 𝑂 𝑟, 𝜆 = 𝑏𝑟1 𝑜1 𝑏𝑟2 𝑜2 … 𝑏𝑟𝑇(𝑜𝑇) (2.12) Tích của các xác suất ký hiệu quan sát cho mỗi trạng thái𝑟𝑖. Do đó
𝑃 𝑂 𝜆 = 𝑃 𝑂 𝑟, 𝜆 𝑃 𝑟 𝜆
𝑄
= 𝜋𝑟1𝑏𝑟1 𝑜1 𝑎𝑟1𝑟2𝑏𝑟2 𝑜2 …
𝑟1,𝑟2,…,𝑟𝑇
𝑎𝑟𝑇−1𝑟𝑇𝑏𝑟𝑇(𝑜𝑇) (2.13)
đƣợc mô tả nhƣ sau: Trạng thái𝑟1đƣợc chọnban đầu với xác suất𝜋𝑟1 phát xạ ký hiệu𝑜1 với xác suất𝑏𝑟1 𝑜1 . Sau đó quá trình tiếp tục từ trạng thái𝑟1 tới𝑟2 với xác suất𝑎𝑟1𝑟2 và phát xạ ký hiệu𝑜2 với xác suất𝑏𝑟2 𝑜2 . Quá trình này dừng lạiở trạng thái𝑟𝑇. Quá trình tính toán này cóđộ phức tạp là2𝑇𝑁𝑇. Do đó việc tính toán theo cách trên là không khả thi vì khối lương tính toán rất lớn, ta cần tìm kiếm một phương pháp kháchiệu quả hơn đó là dùng thủ tục Forward-Backward.
Thủ tục Forward, ta định nghĩa biến tiến𝛼𝑡(𝑖) nhƣ sau
𝛼𝑡 𝑖 = 𝑃 𝑜1, 𝑜2, … 𝑜𝑡, 𝑟𝑡 = 𝑖 𝜆 (2.14)
Là xác suất của chuỗi quan sát O đến thờiđiểm𝑡 và trạng thái𝑖ở thờiđiểm 𝑡 đƣợc sinh ra bởi mô hình𝜆. 𝛼1(𝑖)ở thờiđiểm khởi tạo cho trạng thái𝑖 đƣợc định nghĩa nhƣ sau
𝛼1 𝑖 = 𝜋𝑖𝑏𝑖 𝑜1 , 1 ≤ 𝑖 ≤ 𝑁 (2.15) Tính𝛼𝑡(𝑗) đƣợc tính đệ qui nhƣ sau
𝛼𝑡+1 𝑗 = 𝛼𝑡 𝑖 𝑎𝑖𝑗
𝑁 𝑖=1
𝑏𝑗 𝑜𝑡+1 , 1 ≤ 𝑡 ≤ 𝑇 − 1; 1 ≤ 𝑗 ≤ 𝑁 (2.16) Thay vì việc phải tính toán tất cả các đườngđi có thể, tương tự như mô hình Markov đầu, tất cả các đườngđi trước𝛼𝑡(𝑖) được hợp nhất thành𝛼𝑡+1(𝑖) được đánh trọng số bởi các xác suất chuyển tương ứng𝑎𝑖𝑗. Từđó ta có thể dễ dàng nhận thấy rằng
𝑃 𝑂 𝜆 = 𝑃(𝑜1, 𝑜2, … , 𝑜𝑇, 𝑟𝑇 = 𝑖 𝜆)
𝑁 𝑖=1
= 𝛼𝑇(𝑖)
𝑁 𝑖=1
(2.17) Quá trình tính toán này chỉ có độ phức tạp là𝑁2𝑇 tốt hơn rất nhiều so với2𝑇𝑁𝑇. Điểm khác biệt chính giữa cách tính trước và thủ thục Forward là tất cả chuỗi trạng thái có khả năng ở thờiđiểm𝑡 − 1 sẽ đƣợc hợp nhất thành𝛼𝑡(𝑖) với𝑡 > 1.
Thủ tục Backward, định nghĩa biến lùi𝛽𝑡(𝑖) cũng tương tự như𝛼𝑡(𝑖) 𝛽𝑡 𝑖 = 𝑃(𝑜𝑡+1, 𝑜𝑡+2, … , 𝑜𝑇 𝑟𝑡 = 𝑖, 𝜆 ) (2.18)
Đây là xác suất của chuỗi quan sát từ thờiđiểm 𝑡 + 1 cho tới kết thúc cho bởi trạng thái𝑖ở thờiđiểm𝑡 và mô hình𝜆. Cũng nhƣ𝛼𝑡(𝑖), 𝛽𝑡(𝑖) đƣợc định nghĩa quy nạp nhƣ sau
𝛽𝑇 𝑖 = 1, 1 ≤ 𝑖 ≤ 𝑁
𝛽𝑡 𝑖 = 𝑎𝑖𝑗𝑏𝑗 𝑜𝑡+1 𝛽𝑡+1 𝑗 , 𝑡 = 𝑇 − 1, 𝑇 − 2, … ,1
𝑁 𝑗 =1
(2.19) Cũng như với biến𝛼, đườngđi đúng được hợp nhất thành𝛽𝑡 𝑖 . Và vấnđề giờđây có thểđƣợc giải quyết bằng cách sử dụng các biến𝛼 và𝛽.
Bài toán 2: Chọn chuỗi trạng thái tối ƣu - Thuật toán Viterbi
Để tìm được chuỗi trạng thái tốiưu, ta phải xácđịnh một tiêu chí tốiưu. Chỉ chọn trạng thái tốiưu nhất cho mỗi thờiđiểm𝑡 có thể không cho ra được một đườngđi đúng vì các xác suất chuyển trạng thái có thể bằng không. Do đó người ta cần tìm đườngđi hợp lý nhất𝑟 = (𝑟1, 𝑟2… 𝑟𝑇). Điều này có thể thực hiện được bằng cách sử dụng thuật toán Viterbi. Cho điểm số của đườngđi tính như sau:
𝛿𝑡 𝑖 = max
𝑟1,𝑟2…𝑟𝑡−1,𝑟𝑡𝑃(𝑟1𝑟2… 𝑟𝑡−1, 𝑟𝑡 = 𝑖, 𝑜1𝑜2… 𝑜𝑡 𝜆 ) (2.20) Tương tự như thủ tục Forward, 𝛿𝑡+1 𝑖 đượcđịnh nghĩa như sau
𝛿1 𝑖 = 𝜋𝑖𝑏𝑖 𝑜1 𝛿𝑡+1 𝑖 = max
𝑖 𝛿𝑡 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜𝑡+1) (2.21) Mỗi𝛿𝑡+1 𝑖 đƣợc hình thành bằng cách sử dụng lại giá trị tốiđa 𝛿𝑡 𝑖 đƣợc đánh trọng số bởi xác suất chuyển tương ứng𝑎𝑖𝑗. Để xácđịnh chuỗi trạng thái tốiưu, ta phải theo dõimỗi giá trịmax 𝛿𝑡(𝑖) và lấy giá trị𝑟arg 𝑚𝑎𝑥 𝛿𝑡(𝑖) sử dụng quay lui.
Bài toán 3: Ƣớc lƣợng tham số cho mô hình
Một vấnđề khó khăn hơn rất nhiều phát sinh là khi ƣớc tính các tham số cho mô hình. Không có một giải pháp kín nàođể tối đa hóa xác suất của chuỗi quan sát cho mô hình mà chỉ tồn tại phương pháp lặpđi lặp lại thường được biết tới là phương pháp Baum-Welch hay phương pháp tốiđa hóa kỳ vọng - EM (expectation-maximization).
Đầu tiên, ta định nghĩa hai xác suất:
𝛾𝑡 𝑖 = 𝑃 𝑟𝑡 = 𝑖 𝑂, 𝜆
𝜉𝑡 𝑖, 𝑗 = 𝑃(𝑟𝑡 = 𝑖, 𝑟𝑡+1 = 𝑗 𝑂, 𝜆 ) (2.22) 𝛾𝑡 𝑖 là xác suất của trạng thái𝑟𝑖ở thờiđiểm 𝑡 và𝜉𝑡 𝑖, 𝑗 là xác suất của trạng thái𝑟𝑖ở thờiđiểm 𝑡 và trạng thái𝑟𝑗ở thời điểm 𝑡 + 1. 𝛾𝑡 𝑖 có thể đƣợc diễn tả thông qua hai biến𝛼𝑡(𝑖) và𝛽𝑡(𝑖) đƣợc tạoở thủ tục Forward-Backward nhƣ sau:
𝛾𝑡 𝑖 = 𝑃 𝑟𝑡 = 𝑖 𝑂, 𝜆 =𝑃 𝑟𝑡 = 𝑖, 𝑂 𝜆
𝑃 𝑂 𝜆
= 𝑃 𝑟𝑡 = 𝑖, 𝑂 𝜆 𝑃 𝑂, 𝑟𝑡 = 𝑖 𝜆
𝑁𝑖=1
=𝑃 𝑜1, 𝑜2 … 𝑜𝑡, 𝑟𝑡 = 𝑖 𝜆 𝑃 𝑜𝑡, 𝑜𝑡+1… 𝑜𝑇 𝑟𝑡 = 𝑖, 𝜆 𝑃 𝑂, 𝑟𝑡 = 𝑖 𝜆
𝑁𝑖=1
= 𝛼𝑡(𝑖)𝛽𝑡(𝑖) 𝛼𝑡(𝑖)𝛽𝑡(𝑖)
𝑁𝑖=1
(2.23)
𝛼𝑡(𝑖) dùng cho chuỗi quan sát𝑜1, 𝑜2… 𝑜𝑡 và𝛽𝑡(𝑖) cho𝑜𝑡, 𝑜𝑡+1… 𝑜𝑇. 𝜉𝑡 𝑖, 𝑗 có thể được biểu diễn dưới dạng 𝛼 và𝛽
𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑟𝑡 = 𝑖, 𝑟𝑡+1 = 𝑗 𝑂, 𝜆 = 𝑃 𝑟𝑡 = 𝑖, 𝑟𝑡+1 = 𝑗 𝑂, 𝜆
𝑃 𝑂 𝜆
= 𝑃 𝑟𝑡 = 𝑖, 𝑟𝑡+1 = 𝑗 𝑂, 𝜆 𝑃 𝑂, 𝑟𝑡 = 𝑖 𝜆
𝑁𝑖=1
= 𝑃 𝑜1, 𝑜2… 𝑜𝑡, 𝑟𝑡 = 𝑖 𝜆 𝑎𝑖𝑗𝑏𝑗 𝑜𝑡+1 𝑃 𝑜𝑡+1, 𝑜𝑡… 𝑜𝑇 𝑟𝑡 = 𝑗, 𝜆 𝑃 𝑂, 𝑟𝑡 = 𝑖 𝜆
𝑁𝑖=1
= 𝛼𝑡(𝑖)𝑎𝑖𝑗𝑏𝑗(𝑜𝑡+1)𝛽𝑡+1(𝑗) 𝛼𝑡(𝑖)𝛽𝑡(𝑖)
𝑁𝑖=1
(2.24)
So sánh𝜉𝑡 𝑖, 𝑗 và𝛾𝑡 𝑖 , ta có thể dễ dàng nhận thấy rằng một đườngđi xácđịnh có thểđƣợc mô hình hóa bằng cách thêm xác suất chuyển đƣợc yêu cầu 𝑎𝑖𝑗 và xác suất đầu ra 𝑏𝑗(𝑜𝑡+1).
Việc ƣớc lƣợng lại các tham số của mô hình Markov ẩn sử dụng 𝛾𝑡 𝑖 và𝜉𝑡 𝑖, 𝑗 đƣợc xácđịnh nhƣ sau:
𝜋 𝑖 = 𝛾𝑡 𝑖
𝑎 𝑖𝑗 = 𝑇−1𝑡=1 𝜉𝑡 𝑖, 𝑗 𝛾𝑡 𝑖
𝑇−1𝑡=1
Γ 𝑘, 𝑡 = 1, 𝑛ế𝑢 𝑣𝑘 = 𝑜𝑡 0, 𝑇𝐻 𝑘á𝑐 𝑏 𝑗 𝑘 = 𝑇−1𝑡=1 Γ 𝑘, 𝑡 𝛾𝑡 𝑖
𝛾𝑡 𝑖
𝑇−1𝑡=1
(2.25)
Cập nhật các tham số của mô hình𝜆 nhưở trên là bước tốiđa hóa của thuật toán EM. Baum và các cộng sự củaông đã chứng minh đƣợc rằng mô hình ƣớc lƣợng lại𝜆 = (𝐴 , 𝐵 , 𝜋 ) xácđịnh đƣợc điểm quan trọng của hàm khả năng (likelihood) hay𝜆 có nhiều khả năng hơn 𝜆.