Trong quá trình chuyển đổi, chúng tôi đã xây dựng và phát triển một bộ tài liệu hướngdẫn chuyển đổi tự động gồm 31 trang và một bộ công cụ chuyển đổi tự động từ cú pháp thành tố sang cú
Trang 1DAI HỌC QUỐC GIA THÀNH PHO HO CHÍ MINH
DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
K FOR VIETNAMESE
CỬ NHÂN NGANH KHOA HỌC MAY TÍNH
TP HỒ CHÍ MINH, 1/2022
Trang 2DAI HỌC QUỐC GIA THÀNH PHO HO CHÍ MINH
DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
K FOR VIETNAMESE
CU NHAN NGANH KHOA HOC MAY TINH
GIANG VIEN HUGNG DAN
TS NGUYEN THI QUY
TP HO CHÍ MINH, 1/2022
Trang 3DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 38/QD-DHCNTT
ngày 19/01/2022 của Hiệu trưởng Trường Dai học Công nghệ Thông tin
1 PGS.TS Lê Dinh Duy - Chủ tịch.
2 ThS Nguyễn Bich Van - Thu ky.
3 PGS.TS Quản Thanh Tho - Phan Biện.
Z
Trang 4LỜI CÁM ƠN
Chúng em xin phép được gửi lời cảm ơn chân thành nhất đến TS Nguyễn ThiQuy, một người giảng viên vừa có tâm, vừa có tầm trong sự nghiệp giáo duc vànghiên cứu khoa học Nhóm chúng em thực sự may mắn khi có cơ hội tiếp xúc nhómnghiên cứu của cô thông qua các tiết học và càng may mắn hơn khi được tham giavào nhóm và thực hiện việc nghiên cứu những bài toán mới là bằng sự hướng dẫnnhiệt tình, chỉ tiết, những lời động viên và góp ý trong suốt quá trình thực hiện luậnvăn tốt nghiệp Kiến thức, kỹ năng, tầm nhìn, thái độ và cả những kinh nghiệmsống mà cô truyền đạt, dạy bảo sẽ là những hành trang quý báu, luôn đồng hànhcùng với chúng em trong tương lai Chúng em cũng xin được cảm ơn các thầy cô
m nghiên c
giáo, các anh chị em, ban bè cô đã tận tình giúp đỡ và
cho chúng em những g nh luận văn này.
Chúng em cũng xi sắc dén cá ay cô tro@g khoa Khoa học máy
tính nói riêng và ờng Đại học Công nghệ Thông
tin - Đại học Qu í Mi i đã nhiệt tình giúp đỡ,
giảng dạy, truyé i hiém sống/định hướng nghề nghiệp
ve” đến gia đình, người than, các anhchị em, bạn ac biệt late ) đã luôn đồng hành sát cánh, động viên,
khuyến khich¥ hung vuct qua khó khăn trong hoc tập va trong cuộc
Bên cạnh đó, chúng em cũng xin được trân trong cảm ơn Giáo sư Miyao Yusuke da
đầu tư tài chính và TS Nguyễn Thị Quý chỉ đạo thực hiện việc tao ra kho ngữ liệucây cú pháp thành tố NHVTB-1, NIIVTB-2 và cho phép chúng em sử dụng trong
luận văn này.
Cuối cùng, trong quá trình thực hiện khóa luận, dù có cố gắng đến đâu, chúng em
cũng không thể tránh khỏi những thiếu sót nhất định, rất mong nhận được sự phản
hồi và góp ý quý báu đến từ quý thầy cô
Một lần nữa, chúng em xin chân thành cảm ơn!
TP Hồ Chí Minh, tháng 01, năm 2022
Nhóm tác giả
Nguyễn Vương Thựnh - Luu Hoàng Sơn
Trang 5Mục lục
Muc lục iii Danh sách hình vẽ M Danh sách bảng vii
Danh sách các từ viết tắt viii
2.2.1 Các phương pháp chuyển đổi tự động 11
2.2.2 Các tài liệu hướng dẫn dán nhãn cú pháp phụ thuộc 13
3.3.2.1 Thuật toán Bisner Quy 22 3.3.2.2 Thuật toán Chu-Liu Edmons 24 33.23 MST Parser 0202020000 ee ee 26 3.4 Phương pháp đánh giá mô hinh 2 0.000.202.2002 0.000 27
11
Trang 6MỤC LỤC
4 XÂY DỰNG TÀI LIEU HƯỚNG DẪN CHUYEN DOI TỰ ĐỘNG TỪ CÚ
PHÁP THÀNH TÔ SANG CÚ PHÁP PHỤ THUỘC 29
4.1 Gidithi@u ẶẶ 29
42 Xác địnhhoad Quà gà kg gà kg kg xa 31
4.21 Bộ luật tìm head 2 va 31
4.2.2 Xác định head cho liên ngữ tiếng Việt 32
4.3 Dán nhãn tựđộng Q Q Q Q Q HH ng à k k k k Tà 33 4.3.1 Bộ luật dan nhãn tự động Ặ Q Q Q Q Q Q 33 4.3.2 Các nhãn mang đặc trưng riêng cho tiếng Việt 33
4.3.3 Các nhãn được suy ra từ bộ nhãn POS của kho ngữ liệu NIVTB 35
4.3.4 Xử lý nhập nhằn các nhãn song từ loại trong POS của NIIVTB 35
4.4 Độ phức tạp thuật toán của các bước chuyển đổi 35
5_ PHÁT TRIEN CÔNG CỤ CHUYỂN DOI TỰ DONG TỪ CÚ PHÁP THÀNH TÔ SANG CÚ PHÁP PHỤ THUỘC 38 b9 8) nh - ú((IL.(.K.: Ha 38
5.2_ Xác định head và dán nhãn tu động Ặ Ặ Ặ Q Q Q Q Q S 38 5.38 Hậu xử Ìlý ee 39
5.3.1 Bổ sung quan hệ thứ hai c Q TQ ee 39 5.3.2 Bổ sung nhãn chức năng ee 40 5.3.3 Khử nhãn NUL ¬ ®” ` S ốc 41
7.1 Kết luận
7.2 Hướng p,
Tài liệu tham
Trang 7Cây cú pháp thành tố (hình bên trái) và cây cú pháp phụ thuộc (hình bên phải) 2
Áp dụng chuyển đổi tự động vào bài toán phân tích cú pháp phụ thuộc 3
Một cây cú pháp thand@t@euePetin I.eebØẩØffjj j1 — Ty v2 6 Cây cú phấp phụ 12 RB 7 Cây cú pháp phế wố6eCua@l11|20| À Â 7
Sự khác nhau câu Cây bên trái là
Penn TIreebanlé#) cab cngphai là@©ntoNotes IReebanklil 8
Bộ luật tìm hểad@XZã ChémVa@Palmen3) .# 8
Bộ luật tìm é "©S "' II a1 9 Một cây cú : Nie ƒ ⁄ ` ằ 10
Cấu trúc chung của một bộ phan tích cú pháp phụ thuộc của hướng tiếp cận
dựa trên bước chuyén[26] cv 17Thuật toán tổng quát của hướng tiếp cận dựa trên bước chuyển[26] 17
Đồ thị phụ thuộc được xác định bởi thuật toán tiếp cận dựa trên đồ thi 21
Thuật toán Eisner|d[ 00000000000 0000000000004 22 Khung hoàn thiện có từ trung tâm (headword) là từ biên trái (hình bên trái) và
từ trung tâm (headword) là từ biên phải (hình bên phải) 23
Sự kết hợp khung chưa hoàn thiện và khung hoàn thiện thích hợp để tạo thành
khung hoàn thiện ee 23
Sự kết hợp khung chưa hoàn thiện và khung hoàn thiện thành khung hoàn thiện
Thuật toán Edmons[20Ì Ặ Ặ ee 25
Đồ thị thay đổi qua các bước của thuật toán CLE [26]} 26
Kết quả thực nghiệm của MST Parser khi sử dụng các thuật toán học khác
nhau[32] 2 ee 26 Các đặc trưng được sử dung của MSTParser[18] 27 Cây cú pháp phụ thuộc của mô hình phân tích cú pháp (hình bên trái) và cây
cú pháp phụ thuộc trong kho ngữ liệu chuẩn (hình bên phải) 28
Trang 8DANH SÁCH HÌNH VẼ
4.1
4.2
4.3
4.4
5.1
5.2
5.3
5.4
5.5
5.6
6.1
Các bước chuyển đổi từ cú pháp thành tố sang cú pháp phụ thuộc bài
Xác định mối quan hệ giữa các từ trong câu “Mùi ho ở thành phố” 36
Các chuỗi tham chiếu bắt đầu từ head cho đến headword 36
Cong cụ chuyển đổi tự động từ cú pháp thành tố sang cú pháp phụ thuộc 39
Một cây cú pháp thành tố ee 40 Một cây cú pháp phụ thuộc có thành phần NULL 40
Một cây cú pháp phụ thuộc có thành phần NULL làm head 41
Một cây cú pháp phụ thuộc sau khi loại bỏ thành NULL làm head 41
Một cây cú pháp phụ thuộc sau khi hoàn thành hậu xử lý 42
Thống kê số lượng của mỗi nhãn cú pháp phụ thuộc trong NIIVTB 44
Wa
Trang 9Kết quả thực nghiệm của Malt Parser đối với các ngôn ngữ[4]| 20
Danh sách các nhã Cho ĐỆQẶC ác nhãn ma được theo
sau bởi * là các ng tôi đề uất để phù hùợp với đặc điểm ngôn
ngữ tiếng Việt out lié es i | ae 30
Bo luat tim he epee | RB en 31
Các loại than TB ] / 40
Dinh dạng C i Se wWẶ a 4
Sự phan b a 1 ộC rong 3 tấp train, dev,tesE 45
Mô hình ẤfBtrungxeua Mali Parsof mf ee ee 46
Két qua 6 h àhá Oc MSTParser và MaltParser 47
Độ chín Bla cá bap k-iold,k==5 4 Bảng so A aert VỚI các công trình trước 4
vii
Trang 10Danh sách các từ viết tắt
NLP Natural Language Processing
CoNLL Conference on Computational Natural Language Learning
UAS Unlabeled Attachment Score
LAS Labeled Attachment Score
Trang 11TÓM TẮT
Bài toán phân tích cú pháp phụ thuộc là một trong những chủ đề quan trọng của
xử lý ngôn ngữ tự nhiên (NLP) Phân tích cú pháp phụ thuộc được ứng dụng để
cải tiến chất lượng của các hệ thống NLP như tóm tắt văn bản, hệ thống hdi-dap,
phân giải đồng tham chiếu Tuy nhiên, hiện nay tiếng Việt chưa có một bộ công
cụ phân tích cú pháp phụ thuộc đạt độ hiệu quả cao để có thể phục vụ cho các hệ
thống NLP [60] Có hai nguyên nhân chính cho vấn đề này Một là chất lượng của
các kho ngữ liệu cú pháp phụ thuộc cho tiếng Việt không đủ tốt Hai là các phương
pháp như học máy, rút trích đặc chưa phù hẹp với các đặc điểm của ngôn
ao xử lý van đề thứ nhấtngữ tiếng Việt Trong
là xây dựng một k Ế ( Việt Nhằm tiết kiệm
thuộc, chúng tôi di icc chuyến đổi tự Adng từ cú pháp thành
tố sang cú pháp
Việt là một i ọ úng tôi lựa chọn kho ngữ liệu.
Những công : © ngữ liệu cú pháp thành tố VTB[36] (gồm 1 â ưng vì sự thiếu tính nhất quán trong
kho ngữ liệu à [37] nên chúng tôi đã chọn lựa một kho ngữ
liệu cú pháp than ác là NIIVTB [38] (gồm 20.588 câu) để chuyển đổi Trong
quá trình chuyển đổi, chúng tôi đã xây dựng và phát triển một bộ tài liệu hướngdẫn chuyển đổi tự động (gồm 31 trang) và một bộ công cụ chuyển đổi tự động từ cú
pháp thành tố sang cú pháp phụ thuộc cho kho ngữ liệu NIIVTB Sau đó, chúng tôi
tiến hành thực nghiệm kho ngữ liệu cú pháp phụ thuộc vừa được chuyển đổi trên
các mô hình phân tích cú pháp phụ thuộc như MSTParser [32], MaltParser [46] và
sử dụng hai độ đo chính xác là LAS và UAS [45] để đánh giá hai mô hình Thực
nghiệm cho thấy phan tích cú pháp phụ thuộc cho tiếng Việt đạt độ chính xác cao nhất trên mô hình MaltParser (UAS - 78.55% và LAS - 74.88%)
Trang 12Chủ tịch [Microsoffloge [Bill Gates] pep sinh [ngày 28 tháng 10 năm 1955] py
tăng cao độ hiệu
Hình 1.1: Ứng dụng của bài toán phân tích cú pháp phụ thuộc vào trong hệ thống rút trích
thông tin.
Hình 1.1 là một ví dụ điển hình để làm rõ bài toán phân tích cú pháp phụ thuộc được ứngdụng như thế trong hệ thống rút trích thông tin Cụ thể là bài toán rút trích thông tin gồm 3bước là nhận diện thực thể tên riêng, rút trích các mối quan hệ và rút trích sự kiện Trong 3
bước thì bước rút trích các mối quan hệ sử dụng bài toán phân tích cú pháp phụ thuộc Nhìn
vào hình 1.1, chúng ta nhận thấy thực tế “Microsoft” và “Bill Gates” có mối quan hệ thông qua
nhãn “Org-AFE-Founder”.
Cú pháp có hai loại là cú pháp thành tố và cú pháp phụ thuộc Cú pháp thành tố dựa trên văn
Trang 13Đặt vấn đề
phạm! để biểu diễn một câu dưới dạng một cây thành tố (hình 1.2 - ảnh bên trái), cú pháp
phụ thuộc là thể hiện các mối quan hệ phụ thuộc giữa các từ trong một câu (hình 1.2 - ảnhbên phải).
Hình 1.2: Cây cú pháp thành tố (hình bên trái) và cây cú pháp phụ thuộc (hình bên phải).
Trong những năm gần đây, những công trình nghiên cứu về phân tích cú pháp phụ thuộc đang
phát triển mạnh mẽ vì những lợi ích mà phân tích cú pháp phụ thuộc mang lại Cụ thể là việc
phân tích cú pháp phụ thuộc s i ug hanh chóng nhưng van đảm bảo
cung cấp lượng thông tin š của phân tích cú pháp phụ
thuộc là không bị ràng thành tố Do đó, phân tích
cú pháp phụ thuộc sẽ l 6 xt các ngôn nềữ mà coftrat tự từ tự do Một ví duđiển hình là khi so sánh ì tiếng Séc có trật tự từ linhhoạt hơn vì vị ngữ c ữ chi vị trí Để giải quyết trường hợpnày của tiếng Séc 6 cần bổ sung thêm luật cho mỗi vị trí
mà trạng ngữ có ĐÓ a rong khi cú pháp phụ thuộc chỉ cần một
đường liên kết c i A trạ & Ngoài ra, các mối quan hệ trong cú pháp phụ
thuộc rất dễ hiểu và 8 oO mọi người, ngay cả khi họ không có kiến thức nền tang
về ngôn ngữ học.
Hầu hết các mô hình phân tích cú pháp phụ thuộc đều áp dụng các phương pháp máy học có
xác suất như phương pháp của McDonald [33; 46; 51] Ưu điểm lớn nhất của những phương pháp này là có thể thay đổi để phù hợp với nguồn ngữ liệu mới mà không cần chỉnh sửa thuật
toán Vì vậy, chúng có thể được huấn luyện trên nhiều bộ ngữ liệu thuộc các thể loại và cácngôn ngữ khác nhau miễn là bộ ngữ liệu được cung cấp phải đủ lớn Cụ thể là từ 10.000 câu
trở lên theo[55] Tuy nhiên, đây cũng xem là nhược điểm lớn nhất vì trong tiếng Việt hiện có
rất ít kho ngữ liệu cú pháp phụ thuộc mà được dán nhãn thủ công như BKTreebank [35] nhưng
kích thước của kho ngữ liệu này lại rất nhỏ (khoảng 7000 câu) Hơn nữa, việc xây dựng kho
ngữ liệu cú pháp phụ thuộc theo cách thủ công thì tốn nhiều công sức và thời gian Một cách
khác là chuyển đổi tự động từ kho ngữ liệu cú pháp thành tố sang cú pháp phụ thuộc dựa trên
†Văn phạm (grammar): là một tập luật cú pháp, biểu diễn hình thức của các các cấu trúc ngữ pháp Ví dụ
<Câu>-><Chủ ngữ>< Vị ngữ>
Trang 14Mô tả bài toán
bộ luật chuyển đổi, cách này hiệu quả hơn vì tiếng Việt có nhiều kho ngữ liệu cú pháp thành
tố lớn như Vietnamese Treebank [36] (khoảng 10.000 câu), NITVTB[38] (khoảng 20.000 câu) và
việc chuyển đổi sẽ giúp tiết kiệm một lượng lớn chi phí, tài nguyên Việt Nam đã có hai côngtrình [34; 39] thực hiện chuyển đổi tự động trên kho ngữ liệu cú pháp thành tố Vietnamese
Treebank Mặc dù hai công trình đã có những đóng góp tích cực trong việc xây dựng và phát
triển kho ngữ liệu cú pháp phụ thuộc cho tiếng Việt nhưng theo nghiên cứu [60] thì độ chính
xác của các mô hình phân tích cú pháp phụ thuộc cho tiếng Việt trong hai công trình này vẫn
còn thấp (cụ thể là thấp hơn 80%) Nguyên nhân chính có thé là do kho ngữ liệu cú pháp thành
tố Vietnamese Treebank được dùng để chuyển đổi thiếu sự nhất quán như [38; 60] đã trình bày.
Chính vì vậy, trong khóa luận này, chúng tôi quyết định chọn một kho ngữ liệu cú pháp thành
tố khác là NIIVTB và thực hiện việc chuyển đổi tự động từ cú pháp thành tố sang cú pháp
phụ thuộc trên kho ngữ liệu này.
1.2 Mô tả bài t
oh
Chúng tôi sé chuyển đổ
phụ thuộc, sau đó đem ; ql uyện trên các mô hình phân
tích cú pháp phụ th ( ay “ ) i) đó trong ai toán phân tích cú pháp phụ
thuộc cho tiếng Vị ào=la pe Vicf và đầu ra sẽ là một cây cú pháp phụ
Đầu vào: một câu }
Trang 15Các bước thực hiện
1.3 Các bước thực hiện
e Bước 1: Nghiên cứu các công trình liên quan việc chuyển đổi tự động cú pháp thành tố sang
cú pháp phụ thuộc.
e Bước 2: Tìm hiểu các công trình liên quan việc xây dựng các kho ngữ liệu cú pháp phụ thuộc
cho tiếng Việt và các tiếng khác như tiếng Anh, tiếng Trung, tiếng Nhật, tiếng Hàn
e Bước 3: Xây dựng tài liệu hướng dẫn chuyển đổi tự động cú pháp thành tố sang cú phápphụ thuộc cho tiếng Việt
e Bước 4: Phát triển một công cụ hỗ trợ chuyển đổi tự động cú pháp thành tố sang cú pháp
phụ thuộc cho tiếng Việt.
e Bước 5: Thí nghiệm, đánh giá, phân tích kho ngữ liệu chuyển đổi trên các mô hình phân
tích cú phấp phụ thuộc.
e Bước 6: Xây dựng một chương trình minh họa cho bài toán phân tích cú pháp phụ thuộc
cho tiếng Việt
e Cú pháp than
e Việc chuyển đổ hàn “G8156 pháp phụ thuộc cho tiếng Việt
1.4.2 Đối tượng nghiên cứu
e Kho ngữ liệu cú pháp thành tố NIIVTB[38].
e Các phương pháp chuyển đổi cú pháp thành tố sang cú pháp phụ thuộc.
e Phương phấp học máy: MIRA, SVM
e Các mô hình phân tích cú pháp phụ thuộc MaltParser, MSTParser.
Trang 16Chương 2
TONG QUAN TINH HÌNH
2.1 Tinh
Trong tiếng Anh, new én việc chuyền đổi tự động là do số lượng kho ngữ liệu cú
pháp phụ thuộc mà được dán nhãn thủ công thì rất ít như kho ngữ liệu của Rambow[50] hoặc
Cmejrek[63] Mặt khác, các kho ngữ liệu cú pháp thành tố vẫn chiếm ưu thế hơn, chẳng han là
của Marcus[31], hay Weischedel[62] Bên cạnh đó, sự xuất hiện của các bộ luật tìm head của
Johansson và Nugues[25], de Marneffe và Manning[13], Choi và Palmer[3] cũng góp phần quan
trọng trong việc chuyển đổi tự động từ cú pháp thành tố sang cú pháp phụ thuộc Một vài kho
ngữ chuyển đổi cú pháp phụ thuộc của các tiếng khác như tiếng Dức|52], tiếng Phap[2], tiếng
Trung[30], tiếng Han{6)
Trang 17Các công cụ chuyển đổi tự động
2.1.1 Các công cụ chuyển đổi tự động
Hiện nay, có sẵn một số công cụ hỗ trợ cho việc chuyển đổi tự động như bộ chuyển đổi LTH!,
bộ chuyển đổi Stanford2, và bộ chuyển đổi ClearNLP? Chi tiết hơn về bộ chuyển đổi LTH
thì LTH được dùng để cung cấp kho ngữ liệu cú pháp phụ thuộc tiếng Anh cho các hội thảo
“CoNLL’07-09 share tasks” gồm Nivre|45], Surdeanu[57], Hajiš[23] Công cụ chuyển đổi LTH
có sự cải tiến hơn so với tiền thân của nó là Penn2Malt*, cụ thể là tạo ra các mối quan hệ
phụ thuộc về mặt ngữ nghĩa và cú pháp bằng cách tận dụng các nhãn chức năng (TMP, PRD,
) trong cú pháp thành tố để giải quyết các hiện tượng “long-distance” như wh-movement,
topicalization, it-clefts, expletives, và gapping Hiện tượng “long-distance” thường liên quan đến
các loại nhãn rỗng.
Hình 2.1 là một ví dụ rõ ràng cho hiện tượng “long-distance” vì nhãn rỗng *T* thể hiện chowh-movement và topicalization Quan sát hình 2.2 và 2.3, chúng ta có thể thấy Penn2Malt
(hình 2.2) do không giải quyết hình 2.3) nên đã bỏ mất đi mối
quan hệ quan trọng giữa t “belong”.
SBJ (SBAR)— ý SBJ [CLR PRP
Why , they wonder 0 *T* , should it belong to the EC *T* ?
Hình 2.1: Một cây cú pháp thành tố của Penn Treebank[25].
Tiếp theo, chúng tôi giới thiệu về bộ chuyển đổi Stanford, công cụ chuyển đổi Stanford được
dùng trong hội thảo “SANCL’12 shared task” (Petrov và McDonald[49]) Công cụ chuyển đổi
này áp dụng cho cả tiếng Anh và tiếng Trung Ngoài ra, bộ nhãn cú pháp phụ thuộc mà công cụ
cung cấp thì rất “min” và rất hữu ích cho các bài toán NLP Một ưu điểm khác của bộ chuyển
đổi Stanford là không sử dụng các thông tin của các nhãn chức năng, hoặc các nhãn rỗng Các
nhãn này xuất hiện trong việc gán nhãn thủ công cây cú pháp thành tố nhưng không có trong
việc tạo tự động cây cú pháp thành tố Việc không sử dụng các loại nhãn này trong bộ chuyển
1Bộ chuyển đổi LTH: http://nlp.cs.1th.se/software/treebank_converter/
?Bộ chuyển đổi Stanford: http://n1p.stanford edu/software/stanford-dependencies shtm1
3Bộ chuyển đổi ClearNLP: https://github.com/clir/clearnlp-guidelines/blob/master/md/components/
dependency_conversion.md
4Bo chuyển đổi Penn2Malt: http://stp.lingfil.uu.se/~nivre/research/Penn2Malt html
Trang 18Các công cụ chuyển đổi tự động
VMOD bu "đi P
P VMOD VMOD PMOD
¬ |{ IIỆ= (| NMOD
(oy
Why , they wonder , der it belong to Km Ì | ở
Hình 2.2: Cây cú pháp phụ thuộc của Penn2Malt|25].
đôi khi bộ chuyể
tượng “long-distai ng mối quan hệ mà chỉ có nhãn chức năng
giải quyết được
Cả hai công cụ chuyển đổi LTH va Stanford đều giải quyết tốt hầu hết các trường hợp Song,
chúng được thiết kế dành riêng cho kho ngữ liệu cú pháp thành tố Penn Treebank([31] (chủ yếu
là kho ngữ liệu “Wall Street Journal”) nên sẽ không hiệu quả khi chuyển đổi các kho ngữ liệu
cú pháp thành tố khác Ví dụ là kho ngữ liệu cú pháp thành tố OntoNotes Treebank|62] có các
nhãn không được sử dụng trong Penn Treebank như EDITED, META, hay phương pháp gán nhãn cho cùng một câu cũng khác với Penn Treebank (hình 2.4).
Cuối cùng, chúng tôi trình bày về bộ chuyển đổi ClearNLP, đây là một công cụ chuyển đổi chủyếu dựa trên phương pháp của Stanford và tích hợp với phương pháp CoNLL để giải quyết các
hiện tượng “long-distance” cũng như hạn chế việc không xác định được các mối quan hệ Lý
do ClearNLP đặt phương pháp chuyển đổi của Stanford làm nền tảng vì bộ nhãn của Stanford
“mịn” hơn và phương pháp của Stanford phổ biến hơn phương pháp của CoNLL Ngoài ra,
ClearNLP còn xử lý được các kho ngữ liệu cú pháp thành tố mà có các định dạng khác nhau:
Penn Treebank[31], MiPACQ[40], OntoNotes Treebank[62], CRAF'T|61].
ĩ
Trang 19Các phương pháp chuyển đổi
New_ York-based New York - based
Hình 2.4: Sự khác nhau giữa hai cây cú pháp thành tố của cùng một câu Cây bên trái là Penn Treebank và cây bên phải là OntoNotes Treebank[5].
2.1.2 Các phương pháp chuyển đổi
Các cách chuyển đổi hiện nay hầu hết gồm hai bước là tìm head của các ngữ (phrase), sau đó
là gán nhãn cú pháp phụ thuộc Trong bước đầu tiên, việc xác định head của các ngữ được
thực hiện dựa trên bộ luật tì
ADJP rx JJ*|VB*|NN*|ADJP; IN; RB |ADVP; CD | QP; FW |NP; *
ADVP rv VB*;RB|JJ*;RB+; ADJP; ADVP; OP; IN; NN; CD; RP; NP; * CONJP 1 CC; TO; IN; VB; *
EDITED r VB*|VP;NN* |PRP |NP¿ TN |PP; S*; *
FRAG 1 NN*|NP;W*;S;SBAR; IN|PP; JJ| ADJP; RB | ADVP; *
INTJ 1 VB;NN*; UH; INTJ; *
S r 1TO;MD;VB*; VP; *-SBJ; *-TPC; *-PRD;S|SINV|S*Q; SBAR; NP; PP; * SBAR rx IN|TO;DT;MD; VB*; VP; *-PRD; S | STNV | S*Q; SBAR; *
WHADVP 1 WRB;WHADVP;WDT;RB;*
WHNP rx NN*|NML;CD;VBG;NP; JJ*;WP;QP; WHNP; WHADJP; * WHPP 1 IN|TO;*
xX yr *
Hình 2.5: Bộ luật tim head của Choi và Palmer|3|.
Giới thiệu sơ lược về hai bộ luật (hình 2.5 và 2.6), mỗi bộ luật gồm 3 cột, cột đầu tiên là tên
loại ngữ như: NP (cụm danh từ), VP (cụm động từ), ADJP (cụm tính từ), , cột thứ hai là
Trang 20Các phương pháp chuyển đổi
5 — VP +-PRD S SBAR ADJP UCP NP
SBAR — S SQ SINV SBAR FRAG IN DT SBARQ — SQ S SINV SBARQ FRAG
dần từ trái sang ph thể hiện bất kì loại nhãn nào cũng đều được làm head
và cụm ký tự *-TAG như *-PRD, *-TPC, chỉ bất kỳ loại ngữ nào mà được gán loại nhãn
chức năng (TAG) thì đều có thể làm head.
Tuy nhiên, việc xác định head dựa trên bộ luật thường gặp phải hai vấn đề Vấn đề đầu tiên
là bộ luật tìm head chỉ đưa ra loại ngữ (phrase) làm head nhưng không quy định loại ngữ nào không được phép làm head Một ví dụ minh họa là khi áp dụng bộ luật tìm head ((hình 2.5)
vào cây cú pháp thành tố của cụm danh từ (NP) “Three times a week” (hình 2.7) thì NP-TMP
sẽ được chọn làm head cho cụm danh từ Nhưng NP-TMP thực chất là một trạng ngữ bổ nghĩa
cho NP-H, nên là NP-H mới là head thực sự của cụm danh từ Từ vấn dé phát sinh này, Choi
và Palmer đã có thêm luật phụ để xác định head[5]
Vấn đề thứ hai là xác định head cho trường hợp song song (liên ngữ), có rất nhiều phương
pháp giải quyết (hình 2.8) như trong cách tiếp cận của Stanford thi chọn conjunct? đầu tiên
1Conjunct là một thành phần của liên ngữ Ví dụ: “Tom and Jerry” thì Tom, Jerry là các conjunct và từ
Trang 21Các tài liệu hướng dẫn dán nhãn cú pháp phụ thuộc
bên trái làm head cho tất cả liên ngữ và liên từ (conjunction) còn lại Cách của Prague thì chọn
liên từ (conjunction) đầu tiên bên phải làm head cho tất cả liên ngữ và liên từ Phương pháp
của CoNLL thi chon head theo kiểu nối tiếp, nghĩa là chọn conjunct đầu tiên làm head cho
conjunct thứ hai, và conjunct thứ hai lam head cho conjunct thứ ba, Cách của ClearNLP
thi tương tự như CoNLL chỉ khác ở điểm là liên từ (conjunction) không được phép làm head
my acc
Root, John, Mary, and Sam, Root, John, Mary, and Sam,
Stanford Prague
conj
( Y (“1y (hy cy cy ee"'y f*®
Root, John, Mary, and, Sam, Root) John, Mary, and, Sam,
CoNLL CLEAR
uyét trường hợp song songlö].
Sau khi tim head của c Ot bộ luật chuyển đổi từ cú pháp thành tố sang cú pháp phụ
thuộc sẽ được áp dụng như thuật toán của Johansson và Nugues (hình 2.9) hay Choi và Palmer
có cả một bộ quy tắc chuyển đổi tự động|3].
2.1.3 Các tài liệu hướng dẫn dán nhãn cú pháp phụ thuộc
Nhằm thuận tiện trong việc chuyển đổi tự động, trước hết chúng tôi phải hiểu được ý nghĩa, kháiniệm của các nhãn cú pháp phụ thuộc Do đó, chúng tôi đã tìm hiểu các bộ quy tắc hướng dẫn
dán nhãn thủ công cho cú pháp phụ thuộc như de Marneffe và Manning[12] hướng dẫn gán 49
nhãn Ngoài ra, trang web Universal Dependency (http: //www.universaldependencies org)
là một kho tư liệu quý báu để chúng tôi có thể tìm hiểu các nhãn cú pháp phụ thuộc của nhiều
ngôn ngữ khác nhau.
“and” là conjunction (liên từ).
10
Trang 22Tinh hình nghiên cứu trong nước
let c be a token, the highest phrase that c is the head of, and P the parent of C
returns The label on the dependency arc from c to its parent
if C is the root node
if C is S or SINV return ROOT-S
if C is SQ return ROOT-SQ
if C is SBARQ return ROOT-SBARQ
else return ROOT-FRAG else
if C is the first of more than one object return TOBJ
if C is an object return OBJ
if C is PRN return PRN
if c is punctuation return P
if C is coordinated with P return COORD
if C is PP, ADVP, or SBAR and P is VP return ADV
if C is PRT and P is VP return PRT
if C is VP and P is VP, SQ, or SINV return VC
if P is VP, S, SBAR, SBARQ, SINV, or SQ return VMOD
if P is NP, NX, NAC, or WHNP return NMOD
if P is ADJP, ADVP, WHADJP, or WHADVP return AMOD
if P is PP or WHPP return PMOD
else return DEP
end if
Hình 2.9: Bộ luật d (đc ansson và Nugues|25].
tự động” trong tinh fh Tu thé giới thi hai công trình của Việt Nam cũng gồm hai
bước là xác định head các ngữ và dán nhãn tự động theo bộ luật chuyển đổi Cả hai công trình
này đều chuyển đổi kho ngữ liệu thành tố VietTreebank[36] Đầu tiên là hệ thống chuyển đổi
của Linh{39], hệ thống sử dụng bộ nhãn cú pháp phụ thuộc của trường đại hoc Stanford gồm
53 nhãn và sau khi chọn lọc thì có 48 nhãn phù hợp với đặc điểm tiếng Việt, bộ luật tìm head
trong công trình được thừa hưởng từ bài béo[27] (hình 2.10).
Tuy nhiên, bước gán nhãn tự động cú pháp phụ thuộc chưa rõ ràng, cụ thể là chỉ với một thuậttoán được đặt tên “GetDependentLabel” để khai thác các mối quan hệ phụ thuộc nhưng không
chỉ rõ là những trường hợp nào thì gán nhãn loại gì Ví dụ đối với nhãn “nsubj” thì các trường
hợp như thế nào thì mới được gán nhãn “nsubj” Kho ngữ liệu cú pháp phụ thuộc được chuyểnđổi đạt 73.03% UAS và 66.35% LAS khi huấn luyên trên mô hình MaltParser
Tiếp theo là công trình Dat[34] Từ các công trinh[39], [27], thì công trình của tác giả Dat có
11
Trang 23Các phương pháp chuyển đổi tự động
một vài thay đổi trong bộ luật tim head (hình 2.11) Ngoai ra, hệ thống gán nhãn tự động còn
thai khác hầu hết các nhãn chức năng của cú pháp thành tố và bộ luật dán nhãn cũng rất rõ
ràng khi với từng trường hợp cụ thể thì sẽ tương ứng với nhãn gì Bộ ngữ liệu cú pháp phụ
thuộc (VnDT) trong công trình đạt kết quả tốt nhất khi huấn luyên trên mô hình MSTParser
với UAS là 79.08% và LAS là 71.66%.
Hình 2.11: Bộ luật tim head[34].
Tuy cả hai công trình trên đã có những đóng góp và phát triển kho ngữ liệu cú pháp phụ thuộc
cho tiếng Việt nhưng theo Kiet và Ngan[60] nhận định thì kết quả của các mô hình phân tích
cú pháp phụ thuộc cho tiếng Việt vẫn còn thấp, cụ thể là thấp hơn 80% Có nhiều nguyên nhân
dẫn đến van đề này như các mô hình phân tích cú pháp phụ thuộc không phù hợp với các đặc
điểm ngôn ngữ tiếng Việt, ngoài ra, bộ ngữ liệu cũng là một khía cạnh khác mà ta cần xem
12
Trang 24Các tài liệu hướng dẫn dán nhãn cú pháp phụ thuộc
xét như khi [60] phân tích bộ ngữ liệu VnDT[34] thì việc xuất hiện nhiều câu dài chứa cấu trúc
phức tạp cũng gây ra độ chính xác thấp Ngoài ra, sự không nhất quán của bộ ngữ liệu cú pháp
phụ thuộc VietTreebank được trình bày trong công trình của Quy[37] cũng ảnh hưởng ít nhiềuđến kết quả
Tw các nguyên nhân trên, khóa luận của chúng tôi sẽ chọn một bộ ngữ liệu cú pháp thành tố
khác là NITVTB[38] để thực hiện việc chuyển đổi tự động và tiến hành thực nghiệm - đánh giá trên bộ ngữ liệu cú pháp phụ thuộc vừa được chuyển đổi.
Ngoài ra, theo sự quan sát của chúng tôi thi công trinh[34] dựa theo phương pháp của LTH,
công trinh[39] thì dựa theo phương pháp Stanford và những ưu, nhược điểm của LTH, Stanford
đã được trình bày ở mục 2.1.1 Và trong khóa luận này, chúng tôi sẽ tiếp cận theo hướng của
13
Trang 25Chương 3
CƠ SỞ LÍ THUYET
3.1 Cu pháp
Cú pháp thành tổ
câu hay còn gọi
hoặc gián tiếp với
các thành tố khác nhỏ hon phù hợp với luật, cú pháp được đặt ra Một số văn phạm được áp
dụng trong phân tích cú pháp thành tố thì có thể kể đến CFG (Context-Free Grammar) hay
còn gọi là văn phạm phi ngữ cảnh Xuất phát từ một câu như là một thành tố lớn nhất, sau
đó bắt đầu phân tích xuống các thành tố nhỏ hơn, có 2 cách tiếp cận để xây dựng một cây cú
pháp thành tố : bottom-up và top-down sử dụng quy hoạch động Cú pháp thành tố cung cấp
nhiều thông tin quan trọng về mặt cú pháp, thứ cực kỳ hữu dụng cho nhiều bài toán NLP khác
(ví dụ: dich máy) Tuy nhiên có một vài điểm hạn chế tồn tại ở cú pháp thành tố Dau tiên, cú
pháp thành tố gặp nhiều khó khăn trong việc xử lý các trường hợp trật tự từ linh hoạt (tiếngViệt, tiếng Phần Lan, tiếng Séc, ) Thứ hai, phân tích cú pháp thành tố cần một bộ luật
dành riêng cho từng ngôn ngữ khác nhau, điều này có thể gây khó khăn trong việc phát triển
bộ phân tích cú pháp Cuối cùng, chứa ít thông tin về mặt ngữ nghĩa (mặc dù có chứa thông
tin về ngữ nghĩa, nhưng không phải tất cả) [4]
14
Trang 26Cú pháp phụ thuộc
3.2 Cũ pháp phụ thuộc
Cú pháp phụ thuộc là cú pháp sử dụng trực tiếp các mối quan hệ giữa các từ với nhau, không sửdụng các thành tố một cách trực tiếp, các mối quan hệ của cú pháp phụ thuộc là những đường
bắt đầu ở head-words (từ trung tâm) và kết thúc ở dependents (từ phụ thuộc) với nhãn thể
hiện mối quan hệ phụ thuộc (hình 1.2 - ảnh bên phải) Ngoài ra cú pháp phụ thuộc còn có khả
năng cung cấp thông tin về ngữ nghĩa của của các đối tượng trong câu, có thể sử dụng trong
nhiều ứng dụng khác ví dụ như co-reference resolution (phân giải đồng tham chiếu), question
answering (hỏi đáp) and information extraction (trích xuất thông tin).
Một cây cú pháp phụ thuộc có thể được biểu diễn dưới dạng một đồ thị phụ thuộc (đồ thị có
hướng, có trọng số, liên thông) Một số tính chất của cây cú pháp phụ thuộc cũng được kế thừa
từ cây đồ thị phụ thuộc, một cây cú pháp phụ thuộc thì có các tính chất sau[4]:
Pháp phụ thuộc, thể hiện rằng các mối quan hệ
giữa các cặp Oe, cát nhau (không có cạnh chéo — crossing-edge) Hình
3.1 là một cây cú pháp phụ thuộc thỏa projectivity vì tất cả các mối quan hệ không cắtnhau, hình 3.2 là một cây cú pháp phụ thuộc không thỏa projectivity bởi vì có 2 mối
quan hệ chéo nhau.
root John hit the ball with the bat
Hình 3.1: Projective tree|59].
15
Trang 27Bài toán phân tích cú pháp phụ thuộc
aN
root John saw which was a_ Yorkshire _ Terrier
Hình 3.2: Non-projective tree[59] Hai mối quan hệ ‘saw — yesterday’ va ‘dog — was’ cắt nhau.
3.3 Bài toán phân tích cú pháp phụ thuộc
Đối với bài toán phân tích cú pháp phụ thuộc thì có 2 hướng tiếp cận chính là Transition-based
và Graph-based Mỗi hướng tiếp cận đều có những thuật toán cơ sở với độ chính xác cao cùng
với ưu/nhược điểm Sau đây chúng tôi xin trình bày sơ bộ về các hướng tiếp cận, cũng như
những thuật toán cơ sở của từng hướng tiếp cận và bộ phân tích cú pháp đại diện cho cáchướng tiếp cận bài toán phân tích cú pháp phụ thuộc (MST Parser đại diện cho hướng tiếp cận
graph-based va Malt Parser
3.3.1 Transitio
Transition-based parg a „i01 5 1a trêw các transition (bước chuyển), ý
tưởng này dựa trê ầ al ] cho các ngôn ngữ lập trình là
Shift-Reduce-Parsing, ưởng cơ bản của cách tiếp cận này giống
với với thuật toái © một input buffer w — Mỗi từ của một câu là
một phần tử của bt Wai sang phải và từ ở bên trái nhất có chỉ mục là 0, một
stack s dùng để chứa các từ của buffer, một tập các label r chứa các mối quan hệ đã được định
nghĩa và một Oracle đóng vai trò như một classifier (bộ phân lớp) dé xác định mối quan hệ
nào phù hợp giữa 2 từ ở trên cùng của stack.
Một bộ phân tích cú pháp được thiết kế theo hướng tiếp cận này có phần quan trọng là classifier
(oracle [26]) và thuật toán parse Hình dưới là mô tả cách thành phần quan trọng của một bộ
phân tích cú pháp.
Ở trạng thái bắt đầu, luôn có một phần tử root tồn tai sẵn trong stack, parser sẽ lần lượt shift
(đưa vào stack) các từ ở buffer vào stack theo thứ tự từ trái sang phải Ngoại trừ việc shift,
Oracle đảm nhận việc xem xét 2 phần tử trên cùng của ngăn xếp và xác định mối quan hệ phù
hợp Thuật toán tổng quát của hướng tiếp can[26].
Có 2 cách huấn luyện một oracle thông minh hơn để chọn ra mối quan hệ phù hợp Thứ nhất,
16
Trang 28Hướng tiếp cận Naive
sĩ Dependencys2 : LEFTARC Relations
Stack | ~ RIGHTARC ——”| _—>
w3 w2
SHIFT
Hình 3.3: Cấu trúc chung của một bộ phan tích cú pháp phụ thuộc của hướng tiếp cận dua
trên bước chuyển[26]
function DEPENDENCYPARSE(wørđ) returns dependency tree
Hinh 3.4: Thuat 5ñ s«dẩẾtt n bước chuyển|20]
oracle sẽ dựa trên xá@Ếs é ién tai cu 3[26] Thứ hai là cách sử dung
Hướng tiếp cận ar tới bởi [9] va Nirve[42], sử dụng tư tưởng tìm kiếm
tham lam để xác định được mối quan hệ phù hợp nhất O mỗi bước, Oracle sẽ xem xét 3 việc
chính sau:
e Gan từ hiện tại (trên cùng của stack) làm head của từ trước đó (từ thứ hai) (LEFT ARC).
Đồng thời xoá từ thứ hai ra khỏi stack
e Gán từ trước đó lam head của từ hiện tại (RIGHT ARC) Xoá từ hiện tại ra khỏi stack.
e Hoãn lại, lưu vào stack để xử lý sau (SHIFT)
Bang 3.1 mô tả trạng thái của việc parse câu vi dụ ở hình trên (sử dụng 2 thao tác là LEFT
& RIGHT để đơn giản hoá).
Từ bảng 3.1 ta có thể nhận thấy một vài yếu điểm của thuật toán cơ bản này, cụ thể hơn ở
bước số 5 và bước số 7 có trạng thái của stack giống nhau, ta có thể gán mối quan hệ PREP
17
Trang 29Hướng tiếp cận của Nivre
STEP STACK BUFFER OPERATOR LABEL
1 root] Mùi, ho, ở, thành phố, ] | SHIFT
2 root, Mùi] hổ, ở, thành phố, ] SHIFT
3 root, Mùi, hổi ở, thành phố, ] RIGHT: Mùi — hổ NN
4 root, Mùi] 6, thành phố, |] SHIFT
5 root, Mùi, ở] thành phố, ] SHIFT
6 root, Mùi, ở, thành_ phd] 4 RIGHT: ở thành phố | POBJ
7 root, Mùi, ở] J RIGHT: Mùi — ở PREP
§ root, Mùi, ] ] RIGHT: Mùi > PUNCT
9 ] ] RIGHT: root — Mùi ROOT
Bang 3.1: Các bước phân tích cú pháp của bộ phân tích cú pháp phụ thuộc dựa trên bước
chuyển
ngay từ ở bước 5, tuy nhiên nếu làm vậy thì lại bỏ sót mối quan hệ POBJ ở bước 6 Bởi vì
thuật toán được thiết kế theo tư tưởng tham lam nên mỗi quyết định được đưa ra bởi oracle
sẽ được xem là luôn tối ưu cục bộ và không sử dụng backtrack nên nếu sai ở một bước bất kỳ
thì sẽ khiến cho parse trở nên vô dụng Oracle - thành phần đưa ra quyết định lựa chọn mối
quan hệ nào có thể được huấn luyện bằng việc sinh dữ liệu huấn liệu từ dữ liệu cây dependency
sang dang transition (như bản, ¿ng xuá từng trạng thái (còn được gọi là transition) Cách thứ 2 là sử at cla | i ng đặc trưng được lựa chon (POS tag, lemmas, wor
cho việc phan l6p
Thuật toán này con chế chang hạn như: không thể gan trước một mối quan
hệ (step 5 ở bảng 3.1), chỉ sinh ra một parse nên khó dé xác định parse này đã tốt nhất có thé
hay chưa.
3.3.1.2 Hướng tiếp cận của Nivre
Nirve và cộng sự|44; 48] đã đề xuất một thuật toán, cải tiến ở Oracle nhằm khắc phục điểm
yếu của thuật toán trên Thuật toán của Nivre thêm 1 operation Reduce để loại bỏ từ ở trên
cùng stack, và thay vì xét 2 từ trên cùng của stack s thì Nivre xét từ trên cùng của stack và từ
đầu tiên ở buffer (nếu buffer không đáp ứng được thì sẽ xét 2 từ trên cùng của stack)
Định nghĩa bài toán được trình bày như sau:
e Khởi đầu: (Ø,{01,+0a, , ta}, Ø)
e Kết thúc: (5%, Ø, L)
18
Trang 30Hướng tiếp cận của Nivre
STEP STACK BUFFER OPERATOR LABEL
1 root] Mùi, ho, ở, thành phố,.] | RIGHT: root > Mùi ROOT
2 root, Mùi] hổ, ở, thành phố, |] RIGHT: Mùi — hỗ NN
3 root, Mùi, ho] ở, thành phố, ] RIGHT: Mùi > ở PREP
4 root, Mùi, hồ, ở] thành phố, ] RIGHT: ở > thành phố | POBJ
5 root, Mùi, hổ, ở, thành phố] | [] REDUCE
6 root, Mùi, hổ,ở ] ] REDUCE
7 root, Mùi, hồ ] | REDUCE
8 root, Mùi ] J RIGHT: Mii > PUNCT
9 root, Mii, ] ]
Bảng 3.2: Các bước phân tích cú pháp của bộ phân tích cú pháp phụ thuộc dựa trên bước
chuyển - thuật toán Nivre
e Shift: (w;|S, w;|B, L) > (w;|wilS, B, L) (w; có thể là phan tử rỗng)
e Reduce: (w;|S, w¡|B, L) > (S, w¡|B, L) dr € R, wx|(ww, r, wi) € L
e Lef-Are: (w¡|5, w¡|B, L) — (8, w¡|B, LU {(w;, r, wi)} Ar © R, wel(we, tr, wi) EL
« Right-Are: (WIS, wiIB, L) > (wilwl8, B, LU {0w 1, w)} Br © R, wel(we, 2, wy) € L
Bài toán gồm các ký hiệu S, thể hiện tap các phần tử troaesstack, B thể hiện tap các phan tửnằm trong buffer, L thể hiệ DO Mbodn, có dang (wi, r, w¡) chỉ rõ
mối quan hệ phụ thuộc
hệ r, R là tập các mối 6 săn Dài toán bắt đầu với traflg thái khởi tạo gồm (8, B,
L), trong đó S, và L |
Trang thái kết thúc là the tiếp [tục parse (có thé còn phần tử trong
Từ ở dau Stack đã tìm được từ trung tâm (headword) Right-Arc thêm mối quan hệ (wi, r, w;)
nếu thoả điều kiện không tồn tại mối quan hệ nào trong L mà w; tham gia với vai trò là từ
phụ thuộc đồng thời Shift w¡ vào Stack Left-Arc thêm mối quan hệ (w;¡, r, wi) vào tập L nếuthoả điều kiện không tồn tai một mối quan hệ nào ở trong tập L mà w¡ tham gia với vai trò là
từ phụ thuộc, đồng thời Reduce w¡ ra khỏi Stack Bang 3.2 là một ví du phân tích cú phạp sử
dụng thuật toán Nivre.
Điều khiến thuật toán của Nivre được ưa thích bởi vì độ phức tạp thời gian là O(2n) đối với
việc parse một projective tree và O(n”) đối với non-projective tree nhưng vẫn đem lại độ chính
xác cao [4].
19
Trang 31Malt Parser
Language Swedish English ChineseMeasurement UAS | LAS | UAS | LAS | UAS | LAS
Nivre’s - MBL 85.8 81.5 | 87.6 85.8 | 80.4 78.6 Nivre’s - SVM 86.4 | 82.6 | 88.9 | 87.4 | 83.9 | 82.4 Convinton’s - MBL | 83.9 79.7 86.6 84.8 79.9 78.1 Convinton’s - SVM | 85 81.5 | 88.7 873 | 83.9 | 82.4
Bảng 3.3: Kết quả thực nghiệm của Malt Parser đối với các ngôn ngữ[4]
3.3.1.3 Malt Parser
Malt Parser là một bộ phân tích cú pháp được phat triển bởi Nivre[47] vào năm 2006, và đạt
được danh hiệu SOTA ở CoNLL 2007 (CoNLL shared task) trong hạng mục phân tích cú pháp phụ thuộc đa ngôn ngữ [24] Malt Parser hỗ trợ 2 thuật toán parsing là thuật toán Nivre|43]
và thuật toán Covington [9], 2 thuật toán được sử dụng để học dựa trên dữ liệu là Support
Vector Machine [20] và Memory-based Learner [11] Mặc định Malt Parser sử dụng SVM và
inh bày về kết qua đạt được của
thuật toán Nivre để phân tích cú
Malt Parser ở CoNLL shar
E={(i,j): a # #i|#i € V,øj € (V — #o)}
V là tập hợp tất cả các từ của câu S được đánh chỉ mục từ 1 tới n là độ dài của câu xo là đỉnhroot đượ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 tính dựa trên công thức:
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ậttoá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 3.13).
20
Trang 32Việ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
đồ 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ố caonhất Diém số của một cây khung t thuộc câu S đượ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 S là cây khung có điểm cao nhất:
Score(t, S) = » s(, 7)
(2,7)€t
hợp khó có thé sử dung ậ hoạch động được ưa chuộnghơn Ta có thể trích xu hi phụ thud hoa mãn cac tinh chất của một đồ thi
phụ thuộc (cây cú phí i im lẩếm cây khung lớn nhất như
thuật toán Prim [22] hua 1] Tuy nhiién nffting thuật toán này không phù
hợp để trích xuất d Gare), 2 tat toán trên khó có thể xử lý trường
hợp có chu trình g Av nề ú sécap/mot thuật toán tốt hơn để có thể xử lý
việc trích xuất ca 5 1 af f đã được tạo ra ở trên
Hình 3.5: Đồ 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ị đầy đủ (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 để phân 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
21
Trang 33Thuật toán Eisner
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 để có thể sử dụng đối với những câu dài [56] Eisner (1996) [18] và
Chu, Liu (1965) [7], Edmonds (1967) [16] đã phát triển các thuật toán thay thế với độ phứctạp thấp hơn O(n?) nhưng vẫn có thể giải quyết được bài toán
3.3.2.1 “Thuật toán Eisner
Thuật 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
[8], thuật toán Eisner sử dung 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 < ¡ < 7 <n (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 phần cơ bản được gọi là khung (span), một khung sẽ gồm từ i tới
từ j sao cho i < j, một khung Tt liên =idó u Một khung được gọi là hoàn
thiện nếu như tồn tại một ¡ (2 từ biên được kết nối với
nhau), đơn giản hơn thì head (và Itt chưa có head - không có
cạnh đến) Trường hợp en cần một cạnh đến từ một
khung khác Một khung g có cạnh đến Nếu 2 khung
i, k] và [k, j] có thể AB ner é kếế hợp chúng lại với nhau trong 1
điều kiện nhất di à Ốp vớjểhau tạo thành một khung không hoàn
hiện thì phải đả ínÏ I i ng có từ biên (cần head) ở bên trái và 1
khung có từ biên ở bê é a hung phải có từ chung Sau đây là mã giả của huật toán Eisner.
1| # initialize the table
8 # create incomplete subtrees
9 ØlsJJfl|—||0| = maxs<u<+(C[s][u][—][1] + Clu + 1][f|[<—][I] + sÉ, s))
10 Ớls|[fl[—l|0| = maxs<uce(C{s][u][][1] + Clu + 1]f|[<—][] + s(s,2))
11
12 # create complete subtrees
13 C[z|fl|[—]II] = max„<„<¿(CIslfalÍ-][1] + Cfulle][[0))
14 C[s|[/|[—][l]_=_ max:<u<¿(Œ[s|I][—]|0] + C[a][z|[—][H)
Hình 3.6: Thuật toán Eisner|4|
Trong hình 3.6, C là bảng quy hoạch động s, t là 2 từ biên của khung, d là direction, khi d là
22