Phương pháp phân tích cú pháp phụ thuộc dựa trên đồ thị

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng mô hình phân tích cú pháp phụ thuộc cho tiếng Việt (Trang 38 - 41)

STEP STACK BUFFER OPERATOR LABEL

2.3.3 Phương pháp phân tích cú pháp phụ thuộc dựa trên đồ thị

(graph-based)

V là tập hợp tat cả các cau S được đánh chỉ mục từ 1 tới n là độ dài của câu xọ là đỉnh root được thêm vào. E là tập hợp các cạnh độc nhất nối từ x; tới x; (cạnh có hướng trỏ tới đỉnh

xj - x là từ gốc và x là từ phụ thuộc). Trọng số của cạnh (i, j) được tinh dựa trên công thức:

s(0i,t0j = t0.ƒ(,2)

Trong đó, w là vector trọng số được tỉnh chỉnh liên tục thông qua quá trình học và một thuật toán học (ví dụ như MIRA), f(i,j) là vector đặc trưng được trích xuất từ những đặc trưng tuỳ chọn (hình 2.18).

Việc phân tích cú pháp một câu s được bắt đầu với việc tạo nên một đồ thị đầy đủ (completed graph). Một đồ thị đầy đủ là một đồ thị mà tất cả các đỉnh đều có cạnh hướng tới tới các đỉnh cùng trọng số của cạnh (ngoại trừ đỉnh root chỉ có cạnh hướng tới các đỉnh khác, nhưng không

có đỉnh nào có cạnh nối tới đỉnh root). Ngoại trừ việc gán trọng số cho bất kỳ các cạnh trong,

Phương pháp phân tích cú pháp phụ thuộc dựa trên đồ thị(graph-based)

đồ thị sử dụng một mô hình máy học, ta còn cần thêm 1 mô hình có thể trích xuất được đồ thị con ở trong đồ thị đầy đủ này thỏa mãn các tính chất của một đồ thị phụ thuộc (cây khung). Chúng ta sẽ chấm điểm tất cả các đồ thị phụ thuộc con và chọn ra cây khung có điểm số cao nhất. Điểm số của một cây khung t thuộc câu 8 được tính bằng 2 công thức dưới, và cây khung phù hợp nhất của cây $ là cây khung có điểm cao nhất:

Score(t,8) = 3” s(i,7)

(7)€t

T(8) = argmaz,crs Score(t, 8)

Việc sử một thuật toán vét cạn tìm ra tất cả cây khung tồn tại và sau đó chọn cây khung phù hợp khó có thể sử dụng bởi vì chỉ phí rất cao, cách tiếp cận quy hoạch động được ưa chuộng hơn. Ta có thể trích xuất nhiều đồ thị phụ thuộc con thỏa mãn các tính chất của một đồ thị phụ thuộc (cây cú pháp phụ thuộc) bằng những thuật toán tìm kiếm cây khung lớn nhất như thuật toán Prim [23] hoặc th ; biing thuật toán này không phù

hợp để trích xuất được ên khó có thể xử lý trường hợp có chu trình giữa 244 chúng ta s án tốt hơn để có thể xử lý

Hình 2.10: Đồ thị phụ thuộc được xác định bởi thuật toán tiếp cận dựa trên đồ thị

Collins [8] đề xuất một thuật toán trích xuất đồ thị phụ thuộc từ đồ thị day đủ (theo hướng tiếp cận trên thì chính là cây khung) dựa trên mô hình phân tích cạnh (arc-factored model).

Thuật toán của Collins được sử dụng để phan tích cây cú pháp thành tố, tuy nhiên cũng có thể áp dụng vào phân tích cây cú pháp phụ thuộc. Thuật toán của Collins [8] là sự kết hợp của thuật toán CKY và kết hợp các yếu tố từ vựng, với độ phức tạp là O(n) thì đây không phải

là một thuật toán lý tưởng dé có thể sử dụng đối với những câu dài [58]. Eisner (1996) [18] và Chu, Liu (1965) [6], Edmonds (1967) [L7] đã phát triển các thuật toán thay thế với độ phức tạp thấp hơn O(n’) nhưng vẫn có thể giải quyết được bài toán.

29

Thuật toán Eisner

2.3.3.1 Thuật toán Eisner

Thuat toán Eisner là một thuật toán quy hoạch động được cải tiến từ thuật toán của Collins (S], thuật toán Eisner sử dụng bảng quy hoạch động để lưu trữ trạng thái của các cây con tốt nhất (cõy con với điểm số cao nhất) từ vị trớ từ i tới vị trớ từ j sao cho 1 < ¿ < ÿ < ứ (n là số

từ của câu). Ngoại trừ việc lưu trữ giá trị của cây tốt nhất thì thuật toán Eisner còn lưu trữ các thông tin khác như độ hoàn thiện của 1 cây con (được Eisner gọi là khung - span).

Eisner sử dụng các thành phan cơ bản được gọi là khung (span), một khung sẽ gồm từ i tới

từ j sao cho ¡ < j, một khung cơ bản gồm 2 từ liên tiếp nhau. Một khung được gọi là hoàn thiện nếu như tồn tại một đường kết nối từ w¡ > w; hoặc ngược lại (2 từ biên được kết nối với nhau), đơn giản hơn thì 2 từ ở biên phải có 1 từ đã có head (và 1 từ chưa có head - không có cạnh đến). Trường hợp của khung hoàn thiện thì từ chưa có cạnh đến cần một cạnh đến từ một khung khác. Một khung chưa hoàn thiện là 2 từ ở biên đều không có cạnh đến. Nếu 2 khung

fi, k] và [k, j] có thể kết hợp du qf=Loán ei hợp chúng lại với nhau trong 1 điều kiện nhất định. Dé 2

thiện thì phải đảm bảo

khung có từ biên (cần

thuật toán Eisner.

# initialize the table

€[s|ls]ldl[c]= 0.0 vs € {1,...,n}, de {—,—},e € {0,1}

1 2 3

4| for k in 1.

5| for s in Lin:

6 if (t=s+k)>n: break

7

8 # create incomplete subtrees

9 Cls|lfll--l[0| = maxs<uce(Cls][ul[][1] + Clu + 1|l[<—|[1] + st, s))

10 €[s|[fl[—-l[0] = maxs<uce(Cls|[ul[] [1] + Clu + 1(4(—|(H] + s(s, ¢))

11

12 # create complete subtrees

13 ỉIs|[fJ|[l| = maxe<u<e(Cls][u}[—][1] + Clu]{Â][—][0])

4 €[s|[fl[—-l[1] = max:<„<:(Cf[s|[w][—ơll0] + Clu) [4 [][)

Hình 2.11: Thuật toán Eisner[5]

Trong thuật toán 2.11, C là bảng quy hoạch động s, t là 2 từ biên của khung, d là direction,

khi d là “©” thể hiện có cạnh trỏ vào từ s (từ t sẽ cần thêm 1 head), không nhất thiết từ t phải trỏ sang từ s (ti s có cha ở trong khung), khi d là “>” thể hiện có cạnh trỏ vào từ t (và

từ s sẽ cần 1 cha). Biến e là 1 bit, thể hiện đây có phải là một cây hoàn thiện hay không. Day không phải là thuật toán phân tích cú pháp phụ thuộc Eisner, để có thể xây dựng ra một cay

cú pháp phụ thuộc, ta cần xây dựng đệ quy cây từ bảng C.

Thuật toán Eisner

"Thuật toán bắt đầu bằng việc khởi tạo table C với toàn bộ các cây đều có điểm là zero. Tiếp theo, tương ứng với bất kỳ đoạn [s, t] có độ dài k, xây dựng các cây chưa hoàn thiện dành cho đoạn [s, t] bằng việc xét tất cả khung hoàn thiện fs, u} và [u+1, t] kết hợp với cạnh t — s hoặc

s > t. Tiếp theo tạo dựng một khung hoàn thiện bằng việc kết hợp 1 khung hoàn thiện và 1 khung chưa hoàn thiện với s < u < f. Hình 2.12, 2.13, 2.14 trình bày đơn giản việc tạo nên các khung hoàn thiện một cách đơn giản.

Hình 2.12: Khung hoàn thiệ iên trái (hình bên trái) và từ

trung tâm (headword) là if en phi

B ¡71m x

1

wi wy Wị | ... | Win W

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng mô hình phân tích cú pháp phụ thuộc cho tiếng Việt (Trang 38 - 41)

Tải bản đầy đủ (PDF)

(81 trang)