Nhừng vấn đề còn chưa khắc phục được và đề xuất cách giải quyết

Một phần của tài liệu Một phương pháp nhận dạng văn bản tiếng việt nghiên cứu các phép xử lý và nhận dạng văn bản, ứng dụng mô hình markov ẩn trong nhận dạng cấu trúc chữ việt (Trang 34)

VI.2. Bài toán 2

Chúng ta phải tìm dãy trạng thái Q = (qi, q2, qr) để P(0, Q I X) -> max. Có một thuật toán nổi tiếng để giải quyết vấn đề này, đó là giải thuật vỉterbi1DugadllRabmerl. Nó là giải thuật cảm ứng mà tại mỗi bước tính tới thời điểm t, ta giữ lại những dãy trạng thái tốt nhất (cho xác suất P(Oi, 0 2, Ot, qi, q2, qt I A,) cực đại) để từ đó đánh giá và tìm ra những dãy ưạng thái tốt nhất làm cực đại hoá xác suất P(Oị, Ơ2,

Ot+1, q 1, 2, qt+1 I

Xét biểu thức cua P(0, QI Ằ). Ta có

Q I — ^ql-bql(0i).âqiq2.bq2(02).aq2q3.... SqT-lqT-bqT(OT)

---J---

Lc M inh Hoàng M ột phương pháp nhận dạng văn bàn tiếng Việt s?* «*v35sp°

Ta định nghĩa: f(k, j) là xác suất lớn nhất có thể có được khi mô hình chuyến theo một dày trạng thái qi, q2, qk nào đó và phát sinh dãy quan sát Oi, 0 2, Ok. Có nghĩa là:

f( k, j) = max P ( 0 1, 0 2 v . . , 0 k, q 1, q 2,...,qk|Ầ) (VI.2.1)

{qt}r=!.qk=j

max |n:q]b q] (O, )aqiq2b q2( 0 2)...aqk 2qk !bqk. l ( 0 ] [. 1) a qk_,qkbqk(Ok)

= ™ * , k b q , ( 0 l ) a q1qỉ V ° 2 ) - - a <UA V , ( ° n ) V , J b J ( ° k )

\Qt /Ui

Dễ thấy rằng f(l, j) = 7ĩjbj(Oi). (VI.2.2)

Với k > 2, tiếp tục xét biểu thức của f(k, j) ta có:

f(k,j) = max{n b (0 ,)a qiq2bqj( 0 2)...a b (Ok_,)]a

{q.ỉt=l

= m ạx{p(01,...,0k_1,q1,...qk_1|X)]aqk _ljbj(Ok)

{qt ìt=i

Vì khi xét mọi dây qi, q2, qic-1 thì qk. 1 chỉ có thể nhận các giá trị từ 1 tới N. Vậy công thức trên có thể viết

f ( k j ) = m a x ( [ P ( 0 1, . . . , 0 k_1, q 1, q 2,...,qk_1 =i|?i)].aij.bJ( O k))

l< i< N J J

= m a x ( f ( k - l,i).aiJ.bJ( O k)) (VI.2.3)

l<i<N

(Bơi f(k - 1, i) và các độ đo xác suất a,j, b,() đều là các số không âm) Ta có công thúc truy hồi xây dựng f(k, j).

Tất nhiên cuối cùng ta quan tâm đến các f(T, j): Xác suất lớn nhất để mô hình chuyển trạng thái theo một dãy Q = (qi, q2, qr = j) nào đó và phát sinh dãy quan sát o = (O), 0 2, 0 T).

Giả sư rằng f(T, j*) là giá ữị l(ýn nhất trong các f(T, j) thì f(T, j*) chính là cực đại cua xác suất đê mô hình chuyến trạng thái theo dãy trạng thái Q = (qi, q2, q r = j )

Lê M inh Hoàng <*& Một phương pháp nhận dạng văn bán tiếng Việt

và phát sinh dãy quan sát o . vấn đề còn lại là lần theo vết của quá trình tối ưu để tìm lại toàn bộ dãy trạng thái Q đó. Tất cả quá trình có thể giải bằng phương pháp quy hoạch động như sau:

{

Input: Mô hình X = (A, B, n) , dãy quan sát o = (Oi, 0 2, . . . , Or) (adsbygoogle = window.adsbygoogle || []).push({});

Output: Dầy trạng thái Q* = (q*i, q*2, •••/ q*T> đ ề P(0, Q* IX) đạt cực đại > for j := 1 to N do f[l, j] := 7tjbj (Oi) ; {Tính cácf(k, j)} for k := 2 to T do f o r j : = 1 t o N do {Tính các f[k, j]} begin f [ k , j ] := - 1 ; for i : = 1 to N do

if f[k - 1, i] * a¿j * bj (Ok) > f[k, j] then f[k, j] := f[k - 1, i] * a±j * bjío*);

{TraceỊk, j] := Arg max [f(k -1 , i) * a,j * b,(Ok)] (1 á ¡ á N)}

Trace[k, j] := i; end;

end;

{Truy vết tìm dãy trạng thái Q*}

P := 1; for j := 2 to N do if f[T, j] > f[T, p] then p := j; for j := T downto 1 do begin q*j := p; p := T r a c e [j, p ] ; end;

Công thức truy hồi tính f(k, j) rất giống với công thức truy hồi tính các (Xk(j), chỉ có khác là phép lấy tổng (X) được thay bằng phép lấy max. Khi cài đặt, người ta có thể sư dụng logarit: tính trước các logarit của a,j, bj(.) rồi cài đặt thuật toán tương tự, khi đó ta có thê giảm bớt các phép nhân là phép tính khá chậm, thay bằng phép cộng là phép toán thực hiện nhanh hơn .

Nếu xem xét giải thuật Viterbi dưới bài toán đồ thị. Xét đồ thị có hướng G=(V,E) có TxN đỉnh xếp tiên lưới kích thước TxN:

• Nhũng đỉnh ở hàng 1, cột j có trọng số ln(7tjbj(Oi)) = ln(7ĩj) + ln(bj(Oi)) (Vj)

Lc M inh H oàng Một phương pháp nhận dạng v ăn bàn tiếng V iệt «s*

Đỉnh ở (hàng t, cột i) có cung nối tới đỉnh ở (hàng t + 1, cột j) và trọng số cung đó là: ln(ajj.bj(Ot+i)) = ln(ajj) + ln(bj(Ot+i)), (1 < i, j < N; 1 < t < T):

1 ... ... j N L In ^ + lr K ty O J J V j I 1 t+1 ln(atl)+ln(tyOH1)) vi, j f(T, 1) ... f(T, i) ... f(T ,j) ... f(T, N)

H ình 13: Dạng đồ thị của thuật toán V iterbi

Xét mỗi đường đi trên đồ thị xuất phát từ một đỉnh ở hàng 1 tới một đỉnh ở hàng T, nếu ghi nhận lại các số hiệu cột của những nút đi qua, ta sẽ được một dãy trạng thái Ọ - (qi, (\2, qr). Trọng số (độ dài) đường đi này chính là ln(P(0,Q I Ằ,)). Đồ thị G là có lìướng và không có chu trình nên thuật toán Viterbi đơn giản là tìm đường đi dài nhất xuất phát từ một nút trên hàng 1 tới một nút trên hàng T bằng phương pháp tối ưu theo từng lóp (critical path). Trên đánh giá lý thuyết, độ phức tạp tính toán cua thuật toán Viterbi là 0 (N 2T). Bài toán thứ 2 được giải quyết xong.

V 1.3. Bài toán 3

Bài toán này liên quan tới vấn đề huấn luyện HMM, có thể mô tả một cách hình thức như sau: với một dãy quan sát đưa vào đế học, quá trình huấn luyện phải mã hoá dãy quan sát theo một cách nào đó để nếu sau này gặp phải một dãy quan sát khác có n h i ề u đặc t r ư n g t u o n g tụ- thì nó có thể "đoán nhận" được. Khác với hai bài toán đầu tiên có tư tưởng giải thuật hết sức rõ ràng, bài toán huấn luyện là một

---y---

Lê M inh Hoàng M ột phương pháp nhận dạng văn bản tiếng V iệt «£*

bài toán khó bởi nó liên quan đến vấn đề cảm tính: Với hai dãy quan sát, dựa vào đâu để nói rằng chúng khác nhau hay tương tự nhau, và nếu chúng tương tự nhau thì 0 mức độ nào?. Chính vì vậy, tuỳ theo từng vấn đề cụ thể mà người ta sử dụng những tiêu chuẩn và quá trình huấn luyện đặc thù.

Phương pháp chung nhất là dựa vào tiêu chuẩn tối ưu ML của bài toán 1 để huấn luyện HMM làm cực đại hoá tiêu chuẩn tối ưu. Tức là ta phải tỉm các tham số xác suất tốt nhất đẻ mô hình có tính tương thích cao với dãy huấn luyện. Điều đó có nghĩa là với một mô hình ban đầu = (A, B, 7t). Ta phải chỉnh lại các tham số xác suất đê được mô hình x = (A ,B,7ĩ) mà P(0 I X) > P (0 I X) với dãy huấn luyện o. Sau đó sử dụng X để hiệu chỉnh tiếp cho tới khi đến được điếm giới hạn.

Tại mỗi bước huấn luyện, đê hiệu chỉnh lại các tham số, ta có thể sử dụng giải thuật ước lượng Baum-Welch1Rabmcr!. Giả thiết ràng một mô hình HMM ban đầu (À.) là đã biết và ta cần phải cải thiện dần để làm cực đại P (0 I Ằ). Mô hình HMM ban đầu có thê được xây dựng theo bất kỳ cách nào. Ta định nghĩa một vài ký hiệu cho việc xây dựng thuật toán:

Xét Yt(i) được định nghĩa như sau:

Yt(i) = P(qt = i I o, k)

Là xác suất đế mô hình ở trạng thái i tại thời điểm t khi phát sinh dãy quan sát o = (Oi, 0 2, Ot). Theo luật Bayes, ta có.

P(q,=i,Q|X) q,(i)P,(i) P(0|Jl) p ío|à)

ớ đây a t(i) và pt(i) là các biến xuôi và biến ngược trong bài toán 1. • a,(i) = P (0,, 0 2, .... 0 „ q, = i U )

• 0,(i) = P(Ow ,O„2, ...,0Tlq, = U )

Lc M inh Hoàng Một phương pháp nhận dạng văn bản tiếng Việt SP*

Ta định nghĩa 4i(i, j) như sau: ẽ,t(i, j) = P(qt - i, Qt+1 = j I o , Ả). Đây là xác suất khi mô hỉnh đang có trạng thái i tại thời điểm t, thực hiện phép chuyển sang trạng thái j tại thời điêm t + 1 khi phát sinh dãy quan sát o = (0], 0 2, Or). Cũng theo luật Bayes, ta có: (adsbygoogle = window.adsbygoogle || []).push({});

r P ( q t = ũ q t+i = j , o | x )

Nhưng o = (Oi, 0 2, 0 [) nên ta có:

Tư số = P (0,, Ot, q, = i, qt+i = j, Ot+i , 0 T I X)

= P(0,, Ot, qt = i, qt+i =J, Ot+, I X).P(Ot+2, 0 TI qt+i = j, X)

(Từ tính chất cua xích Markov, các ký hiệu quan sát Ot + 2 ..Oi được phát sinh bằng các trạng thái qt+2-.-q-r, nhữiig trạng thái này chỉ phụ thuộc vào qt+i chứ không phụ thuộc vào trạng thái của mô hình tại những thời điểm trước đó: qt, qt-i, ... cũng như không phụ thuộc vào các ký hiệu quan sát đã phát sinh: Oi, 0 2, Ot+i).

Vậy thỉ Tử số = a t(i).ajj.bj(Ot+i).ßt+i(j) Từ đây ta có a 1(i)a1|b J( 0 t+l)ßt+l 0 ) ,J P(0|Ằ) Ta chú ý tới một đặc điểm: j=i

Nếu ta cộng tất cả các Yt(i) với t từ 1 tới T thì ta có một số là kỳ vọng mẫu của xác suất để mô hình chuyển đến trạng thái i. Nếu ta chỉ cộng các Yt(i) với t từ 1 tới T - 1 thì ta có kỳ vọng mẫu của xác suất để mô hình chuyển ra khỏi trạng thái i. Tương tự như vậy nếu đein cộng tất cả các £t(i, j) với t từ 1 tới T - 1, ta có kỳ vọng mẫu của xác suất đê mô hình chuyển từ trạng thái i sang trạng thái j:

Lê Minh Hoàng ^ Một phương pháp nhận dạng văn bán tiếng V iệt «£*

T - l

• ^ Y t ( i ) = kỳ vọng mẫu của xác suất để mô hình chuyển ra khỏi trạng thái i

• ^ 4 t ( i j ) = kỷ vọng mẫu của xác suất để mô hình chuyển tò trạng thái i sang trạng thái j

Bây giờ ta trình bày công thức ước lượng Baum-Weich: Tính các tham số của mô hình X = (A ,B ,ir):

Công thức ước lượng cho 7tj đơn giản chính là xác suất để mô hình ở ưạng thái i tại thòi điểm 1. Công thức ước lượng a,ị là tỉ lệ của kỳ vọng mẫu của xác suất chuyển tù trạng thái i sang trạng thái j chia kỳ vọng mẫu của xác suất để mô hình chuyển ra khỏi trạng thái i Công thức ước lượng cho bj(vk) là tỉ lệ của kỳ vọng mẫu của xác suất để mô hình ở trạng thái j và phát sinh ký hiệu Vịc chia kỳ vọng mẫu của xác suất đê mô hình ở trạng thái j.

Ta tạo ra một mô hình khởi tạo X và ước lượng lại tham số của nó để được mô hình Ằ. = (A ,B,7ĩ). Có thể chứng minh rằng P (0 I Ằ) < P (0 I AẠ Cứ tiếp tục chỉnh tham số như vậy cho tới khi P (0 I A.) đạt tới giá trị cực đại (không thể tối ưu thêm được nữa). Ta giải quyết xong bài toán 3.

Có một điểm quan trọng cần lưu ý là: giải thuật huấn luyện này chỉ đẩy P (0 I Ằ) đến inột điểm dừng nào đó, điểm dừng này có thể là một điểm uốn hay một điếm cực

T - l t= l • 7 I i = Y , ( Ì ) , (Vi: 1 < i < N ) (Vi,j: 1 < i j < N ) • b | ( v k ) = — — ĩ --- ZU (j> (Vj: I < j < N ; Vk: i < k < M )

Le M inh Hoàng Một phương pháp nhận dạng văn bán tiếng V iệt \S*

đại địa phương mà không phải là điểm cực đại tổng thể[JuanB]|Parkl998). Một trong những lý do là bản chất của công thức ước lượng Baum-Weich là giải thuật leo đồi (Hill Climbing) và HMM sau khi huấn luyện bằng giải thuật Baum-Weich sẽ phải có dáng điệu phụ thuộc vào HMM khởi tạo. Neu HMM khởi tạo là một HMM từ trái sang phai thỉ sau khi huấn luyện ta vẫn được một HMM từ trái sang phải, chỉ có khác là sau mỗi bước huấn luyện thì khả năng phát sinh ra dãy huấn luyện của HMM sẽ tốt hơn mà thôi.

Ta xét một VI dụ:

Xét HMM với 3 trạng thái và tập 3 kỷ hiệu quan sát: N = M = 3; V = ịl, 2, 3}.

7T= ị Ma trận xác suất chuyển: A = {ũịị} = (1, 0, 0 ), 0 . 5 0 . 5 0 0 0 . 5 0 . 5 0 0 1 . 0 Ma trận xác suất phát xạ mẫu: B {bj(vỵ)} = ịbjk} 0 . 9 8 0 . 0 1 0 . 0 1 ' 0 . 0 1 0 . 9 8 0 . 0 1 0 . 0 1 0 . 0 1 0 . 9 8

Với dãy quan sát o = (1, 2, 3, 1, 2, 3). Bằng công thức, ta tính được: P (0 Ị Ả) *0.0000291217

Đưa dãy quan sát này vào huấn luyện lại HMM, ta được HM M mới X :

'0 1 0" 1 0 0 "

A / a ij} 0 0 1 ; B = fbj(vk); = { b Jk} = 0 1 0

0 0 1 0.25 0.25 0.5

71 (tí i) (1,0, 0). Và tính được:

---J---

Lê M inh Hoàng Một phương pháp nhận dạng văn bản tiéng Việt «£*

P ( 0 / X ) ~ 0.0156250000 (adsbygoogle = window.adsbygoogle || []).push({});

Nhưng với HMM Ầ* (A *, tì*, n ) dưới đây, là một HMM chỉ cho phép chuyển trạng thải từ ỉ sang 2, từ 2 sơng 3, từ 3 sang 1 và ở trạng thải i thì chì phát sinh dược ký hiệu I với xác suất 100% thì ta có thể dễ dàng nhận thấy P (0 í'Ầ ) = 1.

"0 1 0 ' '1 0 0"

0 0 1 ;B* = 0 1 0

1 0 0 0 0 1

VII. NHẠN XÉT

Trẽn đây, tôi đã trình bày các khái niệm liên quan tới mô hình Markov ẩn cùng với ba vấn đề lớn đặt ra và những phương pháp giải quyết chúng. Qua đó, có thể hiểu một HMM như một máy có hai tiến trình xen kẽ, mà tiến trình chuyển trạng thái chỉ có thể nhìn thấy một cách gián tiếp thông qua tiến trình phát sinh dãy quan sát. Với nguyên tắc làm việc như vậy, HMM gần giống với Automate hữu hạn, sự khác biệt là ơ chỗ: Với Autoinate hữu hạn đoán nhận từ trong văn phạm chính quy thỉ câu trả lời chỉ là: Có đoán nhận được hay không. Còn ở HMM thì với một dãy quan sát, cảu tra lời phải là: "Có thể phát sinh được dãy quan sát đó với xác suất là bao nhiêu". Một điểm khác biệt lớn nữa là với Automate hữu hạn thì mỗi chữ cái nhận vào đều tác động đến việc chuyển trạng thái của Automate; còn những ký hiệu quan sát được phát sinh không hề tác động gì lên tiến trinh chuyển trạng thái của HMM, tiến trình đó chi tuân theo quy luật cùa xích Markov rời rạc và thuần nhất.

Trong cách giải quyết ba bài toán của HMM, thuật toán Viterbi đề xác định dãy trạng thái ẩn là một thuật toán hay. Việc sử dụng logarit thay cho các tham số xác suất trong quá trình thực hiện đã làm giảm đáng kể chi phí tính toán, nhưng quan trọng hơn là ta có thể tránh được phép nhân các độ đo xác suất (thường là những số dương nhở hơn 1). Những phép nhân cỡ hàng trăm hay hàng nghìn những con số như vậy khi thực hiện trên máy tính có thể làm tích tụ những sai số đáng kể hoặc cho kết quà nhỏ tới mức máy tính hiểu là 0.

---y---

Lê M inh Hoàng «•V Một phương pháp nhặn dạng văn bản tiếng V iệt «£*

Bài toán 1 là mục tiêu cho quá trình huấn luyện của bài toán 3. Nếu như những công thức truy hồi đẽ tính tiêu chuân tối ưu tương đối đơn giản thì những công thức ước lượng tham số của giải thuật Baum-Weich lại khá phức tạp, thế hiện một quá trình tính toán nặng nề[DuBadl[Parkl995]. Trên lý thuyết, trong giải thuật Baum-Weich, để tránh trường hợp thương số của phép chia trong những biểu thức trung gian bằng 0, ta có thể khởi tạo mô hình ban đầu có các xác suất bj(k) > £ (s là một hằng số dương nhỏ, để P(0 I A.) > 0) và giản ước bớt các công thức ước lượng ajj và bj(.) cho tăng độ chính xác. Tuy nhiên điều đó không có ích gì trong thực tế bởi khái niệm bằng 0 trong máy tính được hiểu là số dương nhỏ hơn giới hạn biểu diễn của bộ xử lý số thực. Việc nhân liên tiếp nhiều độ đo xác suất hoàn toàn có thể khiến kết quả nhỏ hơn giới hạn đó. Sử dụng logarit cũng chỉ có lợi trong lưu trữ chứ không có lợi gì trong tính toán bởi trong các công thức ước lượng đó có lẫn cả phép cộng. Muốn thực hiện tốt thuật toán, không có cách nào khác là phải mô phỏng các phép xử lý

Một phần của tài liệu Một phương pháp nhận dạng văn bản tiếng việt nghiên cứu các phép xử lý và nhận dạng văn bản, ứng dụng mô hình markov ẩn trong nhận dạng cấu trúc chữ việt (Trang 34)