ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
NGUYỄN ĐĂNG KHOA
MÔ HÌNH CÔNG CỤ
PHÂN TÍCH NGỮ NGHĨA
THEO ABSTRACT MEANING
REPRESENTATION (AMR)
LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN TUẤN ĐĂNG
TP HỒ CHÍ MINH - 2017
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu khoa học của riêng tôi.
Các đoạn trích dẫn và số liệu sử dụng trong luận văn đều có dẫn nguồn rõ ràng. Các
kết quả nghiên cứu, thực nghiệm được đánh giá một cách khách quan. Nếu những
điều đã nêu trên không đúng, tôi xin hoàn toàn chịu trách nhiệm về luận văn của
mình.
Học viên thực hiện
Nguyễn Đăng Khoa
i
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành tới TS. Nguyễn Tuấn Đăng –
người Thầy đã cung cấp cho tôi những kiến thức quý báu trong các môn học cũng
như đã tận tình hướng dẫn tôi trong suốt quá trình thực hiện đề tài. Sự hướng dẫn
cùng những lời khuyên bổ ích và những góp ý của Thầy là động lực lớn giúp tôi hoàn
thành đề tài của mình.
Và, tôi xin gửi lời cảm ơn tới gia đình, những người luôn bên tôi trong những
lúc khó khăn nhất, luôn động viên, khuyến khích tôi trong cuộc sống và trong công
việc.
Học viên thực hiện
Nguyễn Đăng Khoa
ii
MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC ...................................................................................................................1
Danh mục các ký hiệu và chữ viết tắt .........................................................................3
Danh mục các bảng .....................................................................................................4
Danh mục hình vẽ, đồ thị ............................................................................................5
MỞ ĐẦU .....................................................................................................................7
CHƯƠNG 1
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR .....................9
1.1
Khái niệm Abstract Meaning Representation................................................9
1.2
Tình hình nghiên cứu về parsing AMR trên thế giới ..................................10
1.3
Những vấn đề còn tồn tại .............................................................................12
1.4
Nội dung của luận văn .................................................................................12
CHƯƠNG 2
2.1
GIỚI THIỆU VỀ CAMR ...............................................................15
Các thành phần của CAMR .........................................................................15
2.1.1
Một số khái niệm quan trọng ................................................................15
2.1.2
Thuật giải parsing .................................................................................16
2.1.3
Tập các action .......................................................................................18
2.2
Huấn luyện hệ thống ....................................................................................19
2.2.1
Thuật giải huấn luyện ...........................................................................19
2.2.2
Tập các nét đặc trưng ............................................................................20
2.2.3
Đánh giá tập các action .........................................................................20
CHƯƠNG 3
CẢI TIẾN TRONG CÁC ACTION CỦA CAMR ........................21
3.1
Cải tiến action NEXT NODE-lc ..................................................................21
3.2
Cải tiến action REATTACHk-lr ...................................................................33
1
3.3
Đánh giá lại tập các action ...........................................................................38
CHƯƠNG 4
CẢI TIẾN CAMR BẰNG CÁC LỚP HIỆU CHỈNH ...................45
4.1
Mục đích xây dựng hai lớp hiệu chỉnh ........................................................45
4.2
Lớp hiệu chỉnh thứ nhất ...............................................................................47
4.2.1
Những khó khăn cho quá trình huấn luyện ...........................................47
4.2.2
Phương pháp xử lý ngữ liệu đầu vào ....................................................49
4.3
Lớp hiệu chỉnh thứ hai .................................................................................50
4.3.1
Phương pháp xác định lỗi parsing các khái niệm .................................50
4.3.2
Phương pháp sửa lỗi parsing các khái niệm .........................................53
CHƯƠNG 5
THỬ NGHIỆM ..............................................................................58
5.1
Quy trình thử nghiệm ..................................................................................58
5.2
Kết quả thử nghiệm .....................................................................................60
5.3
Nhận xét về ưu khuyết điểm của các phương pháp được đề ra ...................61
5.3.1
Ưu điểm ................................................................................................61
5.3.2
Khuyết điểm ..........................................................................................62
CHƯƠNG 6
KẾT LUẬN VÀ KHUYẾN NGHỊ ................................................63
6.1
Kết luận........................................................................................................63
6.2
Phương hướng nghiên cứu sắp tới ...............................................................63
DANH MỤC CÔNG BỐ KHOA HỌC CỦA TÁC GIẢ..........................................64
TÀI LIỆU THAM KHẢO .........................................................................................65
2
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Từ viết tắt
Giải thích
AMR
Abstract Meaning Representation
MST
Maximum Spanning Tree
LF
Logical First
Smatch
Evaluation Metric for Semantic Feature Structures
SemEval
Semantic Evaluation
3
DANH MỤC CÁC BẢNG
Bảng 2.1. Bảng các action của CAMR (nguồn [11]) ................................................18
Bảng 3.1. Kết quả tổng hợp thử nghiệm đánh giá lại tập các action ........................39
Bảng 3.2. Một số con số chi tiết sau thử nghiệm đánh giá lại tập các action ...........40
Bảng 4.1. So sánh số node được align thành công trước và sau khi áp dụng lớp hiệu
chỉnh thứ nhất ............................................................................................................50
Bảng 4.2. Danh sách mẫu sửa lỗi khái niệm cho câu ở Ví dụ 8 ...............................54
Bảng 5.1. Kết quả thử nghiệm trên test set của bộ ngữ liệu huấn luyện ...................61
4
DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Cấu trúc Gold AMR ứng với Ví dụ 1 trình bày dưới dạng text ..................9
Hình 1.2. Cấu trúc Gold AMR ứng với Ví dụ 1 trình bày dưới dạng đồ thị.............10
Hình 1.3. Đồ hình mô tả quá trình parsing của CAMR với các cải tiến đã thực hiện
được tô màu xám .......................................................................................................14
Hình 2.1. AMR Graph và Span Graph của nó cho câu “The police want to arrest
Micheal Karras” (nguồn [11]) ...................................................................................16
Hình 2.2. Mã giả cho Thuật giải parsing của CAMR (nguồn [11]) ..........................17
Hình 2.3. Mã giả cho Thuật giải huấn luyện của CAMR (nguồn [11]) ....................19
Hình 3.1. Gold AMR ứng với Ví dụ 2 ......................................................................22
Hình 3.2. AMR ứng với Ví dụ 2 thu được từ CAMR nguyên bản ...........................23
Hình 3.3. Minh họa cho Ví dụ 2................................................................................24
Hình 3.4. Mã giả cho việc cải tiến action NEXT NODE-lc ......................................25
Hình 3.5. AMR ứng với Ví dụ 2 trả về từ CAMR sau khi được cải tiến ..................26
Hình 3.6. Gold AMR ứng với Ví dụ 3 ......................................................................27
Hình 3.7. AMR ứng với Ví dụ 3 thu được từ CAMR nguyên bản ...........................28
Hình 3.8. AMR ứng với Ví dụ 3 trả về từ CAMR sau khi được cải tiến ..................28
Hình 3.9. Minh họa cho Ví dụ 3................................................................................29
Hình 3.10. Gold AMR ứng với Ví dụ 4 ....................................................................30
Hình 3.11. AMR trả về nếu thêm các node con vào đầu hàng đợi σ ........................31
Hình 3.12. AMR trả về nếu thêm các node con vào cuối hàng đợi σ trước kí tự kết
thúc ............................................................................................................................32
Hình 3.13. Mã giả hàm thêm phần tử vào σ..............................................................32
Hình 3.14. Gold AMR ứng với Ví dụ 5 ....................................................................35
Hình 3.15. AMR ứng với Ví dụ 5 thu được từ CAMR nguyên bản .........................36
Hình 3.16. AMR ứng với Ví dụ 5 trả về từ CAMR sau khi được cải tiến ................38
Hình 3.17. Gold AMR cho trường hợp cải tiến action NEXT-NODE-lc không hiệu
quả .............................................................................................................................41
Hình 3.18. Cấu trúc AMR trả về trước khi thay đổi action NEXT-NODE-lc ...........41
Hình 3.19. Cấu trúc AMR trả về sau khi thay đổi action NEXT-NODE-lc ..............42
5
Hình 3.20. Gold AMR cho trường hợp cải tiến action REATTACHk-lr không hiệu
quả .............................................................................................................................44
Hình 4.1. Gold AMR ứng với Ví dụ 6 ......................................................................46
Hình 4.2. Gold AMR ứng với Ví dụ 7 ......................................................................48
Hình 4.3. Gold AMR ứng với câu ở Ví dụ 8 ............................................................51
Hình 4.4. Cấu trúc AMR được CAMR trả về khi parse câu ở Ví dụ 8 .....................53
Hình 4.5. Cấu trúc AMR sau khi sửa lỗi node (x28 / giant)..........................56
Hình 4.6. Cấu trúc AMR sau khi sửa lỗi các khái niệm ...........................................57
Hình 5.1. Đồ hình mô tả quá trình huấn luyện ..........................................................59
Hình 5.2. Đồ hình mô tả quá trình thử nghiệm .........................................................60
6
MỞ ĐẦU
MỞ ĐẦU
Luận văn tập trung trình bày về những cải tiến mà tôi đã thực hiện được trên
CAMR (một transition-based AMR Parser) [9] và mô tả quá trình huấn luyện, kiểm
thử, kết quả thử nghiệm của hệ thống trong quá trình tham gia vào Subtask Parsing
của Task 9 (Abstract Meaning Representation Parsing and Generation) tại SemEval2017.
Hiện nay, việc nghiên cứu Phân tích câu về dạng Abstract Meaning
Representation (AMR) đang ngày càng thu hút được sự chú ý và tham gia của nhiều
nhà khoa học trên thế giới. Đã có hai năm liên tục task AMR Parsing được tổ chức
trên SemEval. Việc nghiên cứu về chủ đề này và tham gia vào task của SemEval là
một cơ hội quý báu cho bản thân tôi, mang lại nhiều kinh nghiệm về việc nghiên cứu
khoa học trong một môi trường quốc tế chuyên nghiệp.
Mục tiêu của nghiên cứu là đề xuất một mô hình parser cải tiến theo Abstract
Meaning Representation (AMR) với độ chính xác cao hơn các mô hình đã có.
Đối tượng và phạm vi nghiên cứu chủ yếu của luận văn là cải tiến một mô hình
AMR parser có độ chính xác cao nhất hiện nay (CAMR) trên bộ ngữ liệu huấn luyện
sinh học được sử dụng cho Subtask Parsing của Task 9 tại SemEval-2017.
Khác với Task 8 tại SemEval-2016, bộ ngữ liệu sinh học sử dụng cho Subtask
Parsing của Task 9 tại SemEval-2017 là bộ ngữ liệu của một ngành khoa học đặc thù
và là các câu trong các bài báo khoa học. Việc nghiên cứu tốt việc phân tích các câu
thuộc bộ ngữ liệu này sẽ mở ra nhiều hướng tiếp cận mới có thể được áp dụng cho
việc phân tích các câu trong các bài báo khoa học cho nhiều lĩnh vực khác, không
riêng gì lĩnh vực sinh học.
Đồng thời, các nghiên cứu về AMR chỉ mới bắt đầu trong vài năm trở lại đây
và có nhiều tiềm năng to lớn trong việc mô tả ngữ nghĩa của ngôn ngữ tự nhiên. Khả
năng có thể ứng dụng vào các lĩnh vực Dịch máy, Trích xuất thông tin,… là rất lớn.
Dependency parsing cũng đã được một số nhà khoa học Việt Nam nghiên cứu cho
tiếng Việt và họ vẫn đang tiếp tục xây dựng bộ ngữ liệu dependency tree [13]. Sau
khi nghiên cứu, cải tiến AMR Parser thành công với input đầu vào là dữ liệu từ các
7
MỞ ĐẦU
dependency parser, thì sẽ mở ra con đường tiếp tục nghiên cứu AMR Parsing cho
tiếng Việt.
8
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR
CHƯƠNG 1 TỔNG QUAN PHÂN TÍCH CÂU
VỀ DẠNG AMR
1.1 Khái niệm Abstract Meaning Representation
Abstract Meaning Representation (AMR) là một dạng chú thích ngữ nghĩa cho
câu. AMR nhỏ gọn và có thể đọc được bởi con người. AMR được biểu diễn dưới
dạng một đồ thị có gốc, có hướng và có thể có cạnh vòng [1]. Trong đó, các đỉnh của
đồ thị thể hiện các khái niệm (concept), các cạnh thể hiện mối quan hệ (relation) giữa
các khái niệm đó. AMR tuy mới được chú ý nghiên cứu, tuy nhiên nó cũng thể hiện
nhiều tiềm năng có thể ứng dụng được trong các hệ thống dịch máy, các hệ thống hỏi
đáp hay các hệ thống trích xuất thông tin.
Ví dụ 1. Với câu “The supernatant was separated from the pellet and used in the experiments”
trong training set của bộ ngữ liệu huấn luyện sinh học.
(a / and
:op1 (s / separate-01
:ARG1 (s2 / supernatant)
:ARG2 (p / pellet))
:op2 (u / use-01
:ARG1 s2
:ARG2 (e / experiment-01)))
Hình 1.1. Cấu trúc Gold AMR ứng với Ví dụ 1 trình bày dưới dạng text
9
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR
Hình 1.2. Cấu trúc Gold AMR ứng với Ví dụ 1 trình bày dưới dạng đồ thị
Hình 1.1 và Hình 1.2 lần lượt mô tả cấu trúc gold AMR cho câu ở Ví dụ 1 ở
dạng text trong file gold AMR (biểu diễn dưới dạng ký pháp PENMAN) và dạng hình
vẽ đồ thị. Khi được viết dưới dạng text, mỗi node trong cấu trúc AMR sẽ được biểu
thị dưới dạng (id / tên_node). Trong đó, mỗi node được gắn một id duy nhất
và thành phần id được dùng để mô tả các mối liên kết ngữ nghĩa trong câu
(reentrancy). Như ở trên ví dụ, từ “supernatant” được dùng làm chủ thể (ARG1) cho
cả hai động từ “was separated” và “used”. Các cạnh được biểu diễn dưới dạng
:tên_cạnh khi được viết dưới dạng text.
1.2 Tình hình nghiên cứu về parsing AMR trên thế giới
Hiện tại, đang có nhiều giải pháp khác nhau được các nhà khoa học đưa ra để
phân tích câu thành dạng AMR.
Hệ thống phân tích AMR đầu tiên được công bố là của Jeffrey Flanigan [6]. Hệ
thống của Flanigan được xây dựng trên mô hình xác suất thống kê và được huấn luyện
dựa trên bộ ngữ liệu LDC2013E117, bao gồm các câu đã được phân tích thủ công về
dạng AMR trước đó. Hệ thống có các bước xử lý chính như sau. Đầu tiên, hệ thống
sẽ xác định các khái niệm trong câu bằng cách sử dụng mô hình semi-Markov. Kế
tiếp, tìm ra tất cả các quan hệ có thể có giữa các khái niệm đã được nhận dạng. Sau
khi có được tập tất cả các mối quan hệ có thể có thì tiếp tục dùng một thuật giải (tương
10
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR
tự thuật giải tìm maximum spanning tree (MST) hay được sử dụng trong các
dependency parser) do tác giả tự phát triển để tìm ra đồ thị con có các cạnh (quan hệ)
có trọng số lớn nhất. Cuối cùng tác giả sử dụng Lagrangian Relaxation để đảm bảo
đồ thị con trả về đúng chuẩn của một cấu trúc AMR. Hệ thống này tập trung đi thẳng
vào vấn đề ngữ nghĩa của một câu là các đối tượng mà câu đề cập và mối liên hệ ngữ
nghĩa giữa chúng. Do là AMR Parser đầu tiên được công bố và dữ liệu huấn luyện
chỉ dựa trên bộ ngữ liệu LDC2013E117 (hơn 10,000 câu) nên đã có nhiều hệ thống
khác sau đó vượt qua được độ chính xác mà parser này đạt được.
Một hệ thống khác là CAMR do Chuan Wang phát triển được xây dựng trên ý
tưởng của một transition-based dependency parser [11]. Quá trình phân tích AMR
của hệ thống này cũng có hai bước. Đầu tiên, câu tiếng Anh sẽ được chuyển về dạng
dependency tree bằng một dependency parser có sẵn. Sau đó, parser do Chuan Wang
phát triển sẽ tiếp tục chuyển dependency tree về dạng AMR bằng một chuỗi các action
(hành động sửa đổi). Quá trình chuyển dependency tree về dạng AMR được huấn
luyện và thử nghiệm tương tự với ý tưởng của một transition-based dependency parser.
Tuy nhiên, mô hình của hệ thống và tập hợp các action của Chuan Wang đề ra có
nhiều sự khác biệt so với các dependency parser. Lợi điểm của hệ thống này là tận
dụng được các dependency parser đã được xây dựng từ trước và được huấn luyện trên
các bộ ngữ liệu lớn hơn nhiều lần so với các bộ ngữ liệu được xây dựng riêng cho
AMR parsing. Đồng thời, một lợi điểm nữa là dependency tree và AMR cũng có
nhiều điểm tương đồng về mặt ngôn ngữ học. Tuy nhiên cũng có nhiều điểm khác
biệt giữa dependency tree và AMR như không phải từ nào trong câu cũng xuất hiện
trên AMR, nhưng đối với dependency tree thì không từ nào trong câu bị loại bỏ. Năm
2016, Chuan Wang đã có một số cải tiến liên quan đến vấn đề bổ sung thông tin ngữ
nghĩa cho quá trình huấn luyện parser [9-11].
Các nhà nghiên cứu của Microsoft Research cũng đang phát triển một hệ thống
phân tích AMR [12]. Thay vì sử dụng dependency tree để làm input thì họ sử dụng
dạng Logical First (LF) được trả về từ một parser khác để chuyển đổi về dạng AMR.
Hệ thống của họ có một tập các quy tắc chuyển LF sang AMR. Nhờ vậy, họ đã thử
11
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR
nghiệm tập các quy tắc này trên nhiều ngôn ngữ khác nhau chứ không phải chỉ cho
tiếng Anh mà còn cho tiếng Pháp, Đức, Tây Ban Nha và tiếng Nhật.
Các hệ thống phân tích AMR nói trên đều được đánh giá bằng Smatch
(Evaluation Metric for Semantic Feature Structures) [4] với điểm số F-score. Nhờ có
một công cụ đánh giá chung nên có thể dễ dàng đánh giá chính xác độ chính xác giữa
các parser với nhau.
Hiện nay, trên diễn đàn SemEval-2016, đã có Task 8 liên quan đến AMR
Parsing được tổ chức với nhiều parser được điểm số F-score cao như RIGA [2], ICLHD [3], UCL+Sheffield [5], CUNLP [7],… Với SemEval-2017 Task 9 Subtask
Parsing, thì việc parsing AMR được thực hiện trên một lĩnh vực cụ thể là các câu ngữ
liệu sinh học liên quan đến quá trình khám phá bệnh ung thư. Ngoài ra, task Việc
nghiên cứu phương pháp phân tích câu thành cấu trúc AMR đang được chú ý và tham
gia bởi nhiều nhà khoa học trên thế giới.
1.3 Những vấn đề còn tồn tại
• Việc nghiên cứu Phân tích câu về dạng AMR được tổ chức tại SemEval-2016
tập trung chủ yếu vào các câu tin tức được thu thập trên mạng. Đối với các câu
trong bài báo khoa học của một lĩnh vực khoa học đặc thù ở SemEval-2017 thì
việc nghiên cứu còn được bỏ ngỏ.
• Điểm số F-score của các hệ thống tham gia tại SemEval-2016 chưa thật sự cao
để có thể ứng dụng vào thực tế (điểm F-score cao nhất 0,62).
• Đối với CAMR, trên cấu trúc AMR trả về còn nhiều node chưa được hoàn
thiện như còn null_edge, null_node,… Có nhiều trường hợp CAMR
không phân tích được các thuật ngữ khoa học và trả về các node riêng lẻ hay
trả về các node khái niệm nhưng bị sai phân loại, thiếu node, dư node,…
Luận văn này tập trung nghiên cứu đào sâu vào CAMR – một trong các AMR
parser tốt nhất hiện nay [8], để giải quyết các vấn đề còn tồn tại được nêu ra ở trên.
1.4 Nội dung của luận văn
Luận văn vào bao gồm 6 chương chính, trong đó:
12
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR
• Chương 1 sẽ nêu một cách tổng quan tình hình nghiên cứu về AMR Parsing
trên thế giới, đề ra một số vấn đề còn tồn tại.
• Chương 2 sẽ tập trung giới thiệu về CAMR và các thành phần của nó để làm
cơ sở cho các cải tiến được trình bày trong các chương sau đó.
• Chương 3 sẽ tập trung giới thiệu các cải tiến được thực hiện trong nhân của
CAMR.
• Chương 4 sẽ tập trung trình bày về hai lớp hiệu chỉnh cho CAMR, giúp CAMR
xử lý tốt hơn các câu trong bộ ngữ liệu sinh học.
• Chương 5 trình bày về quy trình thử nghiệm và tham gia vào Subtask Parsing
của Task 9 tại SemEval-2017.
• Chương 6 nêu ra những kết luận và phương hướng nghiên cứu sắp tới.
Hình 1.3 mô tả quá trình parsing của CAMR và các cải tiến đã thực hiện được
với các thành phần có sự cải tiến được tô màu xám. Trong đó, quá trình parsing của
CAMR sẽ được mô tả và giới thiệu cụ thể hơn trong chương 2. Các cải tiến thực hiện
được trong cấu trúc của CAMR sẽ được mô tả ở chương 3. Chương 4 sẽ mô tả các
lớp hiệu chỉnh được xây dựng để tăng cường độ chính xác cho CAMR.
13
TỔNG QUAN PHÂN TÍCH CÂU VỀ DẠNG AMR
Hình 1.3. Đồ hình mô tả quá trình parsing của CAMR với các cải tiến đã thực hiện
được tô màu xám
14
GIỚI THIỆU VỀ CAMR
CHƯƠNG 2 GIỚI THIỆU VỀ CAMR
CAMR là một AMR parser do Chuan Wang phát triển được xây dựng trên ý
tưởng của một transition-based dependency parser [9-11]. Như đã giới thiệu ở chương
trước, quá trình phân tích AMR của hệ thống này có hai bước. Đầu tiên, câu tiếng
Anh sẽ được chuyển về dạng dependency tree bằng một dependency parser có sẵn.
Sau đó, CAMR sẽ tiếp tục chuyển dependency tree về dạng AMR bằng một chuỗi
các action. Tại SemEval-2016 Task 8, CAMR là một trong những AMR parser đạt
được điểm F-score cao nhất (0,62) [8]. Những thông tin chi tiết hơn về CAMR sẽ
được giới thiệu trong chương này để làm tiền đề cho việc giới thiệu các cải tiến ở các
chương sau.
2.1 Các thành phần của CAMR
2.1.1 Một số khái niệm quan trọng
Hệ thống chuyển đổi (transition system) được sử dụng trong CAMR là một bộ
bốn:
S = (S, T, s0, St),
(nguồn [11])
Trong đó:
• S là một tập các trạng thái parsing.
• T là một tập các action, mỗi action là một hàm t: S → S.
• s0 là một hàm khởi tạo, mapping mỗi câu đầu vào w với
cây dependency của nó vào một trạng thái khởi tạo.
• St ⊆ S là một tập các trạng thái kết thúc.
Mỗi trạng thái parsing sẽ bao gồm bộ ba (σ, β, G), với:
• σ là hàng đợi chứa index của các node trong cây dependency tree, những
node xuất hiện trong hàng đợi này là những node chưa được duyệt qua
bởi CAMR. Kí hiệu σ = σ0|σ’ có nghĩa phần tử σ0 là phần tử đầu tiên của
hàng đợi σ.
15
GIỚI THIỆU VỀ CAMR
• β là một hàng đợi tương tự như σ nhưng β chứa các node có liên kết trực
tiếp với σ0. Khi đang duyệt node σ0, CAMR sẽ tuần tự xử lý từng cạnh
một (σ0, β0), (σ0, β1), (σ0, β2),…
• G là một span graph chứa toàn bộ thông tin về cấu trúc AMR và thông
tin aligning giữa các node trên AMR và các token ở trong câu. Hình 2.1
là một ví dụ minh họa về span graph. Trong đó, ngoại trừ chứa đầy đủ
thông tin về các node trong cấu trúc AMR, trên span graph còn chứa
thêm index của token trên câu đầu vào có liên hệ với node đó của AMR.
Hình 2.1. AMR Graph và Span Graph của nó cho câu “The police want to arrest
Micheal Karras” (nguồn [11])
Hình 2.1 là một hình vẽ minh họa cho cây AMR và cấu trúc span graph của nó.
Trong đó, cấu trúc hai cây gần như tương tự nhau. Với span graph, mỗi node trong
đồ thị có lưu index của token có liên quan trên câu đầu vào. Ví dụ node “want-01” có
liên quan đến token ở ví trí 3-4 là chữ “want” ở trong câu. Lưu ý là ở đây có một node
ROOT được chèn vào.
2.1.2 Thuật giải parsing
Thuật giải parsing của CAMR được miêu tả như Hình 2.2 sau:
16
GIỚI THIỆU VỀ CAMR
Parsing algorithm
Input: sentence w = w0...wn và các cây dependency Dw
Output: parsed graph Gp
1. s ← s0(Dw, w)
2. while s not in St do
3.
T ← tất cả action khả dụng với s
4.
bestT ← arg maxt∈Tscore(t, s)
5.
s ← apply bestT to s
6. end while
7. return Gp
Hình 2.2. Mã giả cho Thuật giải parsing của CAMR (nguồn [11])
Tại bước thứ nhất, CAMR sẽ sử dụng hàm s0 để khởi tạo trạng thái ban đầu cho
quá trình parsing. Trong đó, toàn bộ node trên cây dependency sẽ được thêm vào
hàng đợi σ theo thứ tự duyệt đồ thị theo chiều sâu. Hàng đợi β sẽ được khởi tạo với
các node con trực tiếp của σ0. Nếu σ0 là node lá thì hàng đợi β sẽ rỗng. Ban đầu toàn
bộ node và cạnh trên đồ thị G đều được gắn nhãn null.
Lần lượt từng action thích hợp sẽ được áp dụng trên đồ thị G cho đến khi s đạt
được trạng thái kết thúc. Ở đây, trạng thái kết thúc xuất hiện khi σ0 = TER = -1.
Tại mỗi bước lặp, CAMR sẽ tìm ra tất cả các action có thể được thực hiện với
trạng thái parsing hiện tại s. Tất cả action sẽ được đánh giá thông qua hàm score(t, s).
score(t, s) = ω
⃗⃗ ·φ(t, s)
(nguồn [11])
Trong đó, ω
⃗⃗ là một vector trọng số được xây dựng trong quá trình huấn luyện
hệ thống; φ(t, s) là một hàm trích xuất vector nét đặc trưng cho action t và trạng thái
parsing s.
Cuối cùng, sau khi đạt được trạng thái kết thúc thì CAMR sẽ trả về đồ thị Gp
của trạng thái parsing cuối cùng.
17
GIỚI THIỆU VỀ CAMR
2.1.3 Tập các action
Tập các action là thành phần quan trọng nhất của một transition-based parser.
Có tổng cộng 8 loại action được sử dụng trong CAMR [11]. Trong đó, các action
được phân thành hai loại là action với node và action với cạnh.
Bảng 2.1. Bảng các action của CAMR (nguồn [11])
Action
Current state ⇒ Result state
(σ0|σ’, β0|β’, G)
NEXT EDGE-lr
⇒ (σ0|σ’, β’, G’)
(σ0|σ’, β0|β’, G)
SWAP-lr
⇒ (σ0|β0|σ’, β’, G’)
(σ0|σ’, β0|β’, G)
REATTACHk-lr
⇒ (σ0|σ’, β’ , G’)
(σ0|σ’, β0|β’, G)
REPLACE HEAD
⇒ (β0|σ’, β = CH(β0, G’), G’)
(σ0|σ’, β0|β’, G)
REENTRANCEk-lr
⇒ (σ0|σ’, β0|β’, G’)
(σ0|σ’, β0|β’, G)
MERGE
⇒ (σ’’|σ’, β’, G’)
(σ0|σ1|σ’, [], G)
NEXT NODE-lc
⇒ (σ1|σ’, β = CH(σ1, G’), G’)
(σ0|σ1|σ’, [], G)
DELETE NODE
⇒ (σ1|σ’, β = CH(σ1, G’), G’)
Assign labels
Precondition
δ[(σ0, β0) → lr]
δ[(β0, σ0) → lr]
δ[(k, β0) → lr]
NONE
β is not
empty
δ[(k, β0) → lr]
NONE
γ[σ0 → lc]
β is empty
NONE
Bảng 2.1 mô tả các action được sử dụng cho CAMR. Từ trên bảng có thể thấy
rõ các action với cột Precondition là “β is empty” là các action xử lý node, các action
với cột Precondition là “β is not empty” là các action xử lý cạnh. Cột
“Current state ⇒ Result state” mô tả trạng thái của bộ ba (σ, β, G) trước và sau khi
thực hiện action. Cột “Assign labels” mô tả xử lý gắn nhãn của action.
18
GIỚI THIỆU VỀ CAMR
Ví dụ với action NEXT NODE-lc, sau khi thực hiện action này hàng đợi σ sẽ
được xóa đi phần tử σ0. Hàng đợi β sẽ là tất cả các node con của σ1, với σ1 là phần tử
đầu tiên trên σ sau khi thực hiện action.
Về ứng dụng cụ thể từng action vào mỗi trường hợp nhất định thì có thể tham
khảo ở tài liệu [9-11].
2.2 Huấn luyện hệ thống
2.2.1 Thuật giải huấn luyện
Input: sentence w = w0...wn, Dw, Gw
Output: vector ω
1. s ← s0(Dw, w)
2. while s not in St do
3.
T ← tất cả action khả dụng với s
4.
bestT ← arg maxt∈Tscore(t, s)
5.
goldT ← Oracle(s, Gw)
6.
if bestT <> goldT then
7.
vector ω ← vector ω − φ(bestT, s) + φ(goldT, s)
8.
end if
9.
s ← apply goldT to s
10.end while
Hình 2.3. Mã giả cho Thuật giải huấn luyện của CAMR (nguồn [11])
Thuật giải huấn luyện của CAMR được trình bày trong Hình 2.3 ở trên. Trong
đó phần lớn xử lý tương tự với thuật giải parsing. Điểm khác nhau chủ yếu từ dòng 5
đến dòng 8. Trong đó, thuật giải huấn luyện sử dụng hàm Oracle() để tìm ra gold
action cho trạng thái parsing s bằng cách tham khảo gold AMR. Nếu như gold action
tìm được khác với best action tìm được ở trên thì sẽ tiến hành cập nhật lại vector trọng
số. Gold action sẽ được áp dụng trên trạng thái parsing s hiện tại và vòng lặp lại tiếp
tục cho đến khi xuất hiện điều kiện kết thúc. Ngoài ra, output của thuật giải huấn
luyện là vector trọng số ω
⃗⃗ , chứ không phải là một cấu trúc AMR cụ thể như output
của thuật giải parsing.
19
GIỚI THIỆU VỀ CAMR
2.2.2 Tập các nét đặc trưng
Trong quá trình huấn luyện và parsing ở trên, CAMR sử dụng hàm score(t, s)
để tìm ra action tốt nhất để áp dụng lên trạng thái s. Trong đó, score(t, s) = ω
⃗⃗ ·φ(t, s),
với ω
⃗⃗ được CAMR điều chỉnh trong quá trình huấn luyện. Còn φ(t, s) là một hàm
trích xuất vector đặc trưng từ tập các nét đặc trưng được xây dựng sẵn.
Tập các nét đặc trưng của CAMR đã được miêu tả chi tiết trong tài liệu [11].
Trong đó, mỗi loại action sẽ chú trọng đến một số nét đặc trưng nhất định. Các nét
đặc trưng không cần thiết cho action đang được đánh giá sẽ không được sử dụng. Đó
là nguyên do cho sự xuất hiện của hàm φ(t, s).
2.2.3 Đánh giá tập các action
Tập các action là thành phần quan trọng nhất đối với một transition-based parser.
Đối với CAMR thì cũng không ngoại lệ. Việc đánh giá tập các action có đủ độ phủ
để chuyển tất cả các cây dependency về cấu trúc AMR hay không là rất quan trọng.
Trong tài liệu [11], mặc dù chưa đưa ra được các chứng minh toán học cần thiết,
tác giả cũng đã đề ra phương pháp thực nghiệm để kiểm tra xem tập các action có độ
phủ cần thiết hay chưa?
Để đánh giá tập các action, tác giả thực hiện hàm Oracle() liên tục cho từng câu
w và cây dependency Dw đầu vào của nó để nhận được cấu trúc “pseudo-gold” G’w.
Sau đó, cấu trúc G’w sẽ được so sánh với gold AMR để đánh giá điểm F-score. Điểm
F-score càng cao trên toàn bộ ngữ liệu huấn luyện thì độ phủ của tập các action càng
tốt. Quy trình này phụ thuộc rất lớn vào việc hàm Oracle() trả về action tối ưu tại mỗi
trạng thái parsing.
Thông qua quá trình đánh giá tập các action, tác giả đã công bố điểm F-score
đạt được 99% trên phần newswire của bộ ngữ liệu huấn luyện (LDC2013E117).
Ở trên, tôi đã trình bày một các tóm tắt các thành phần chính của CAMR để làm
tiền đề cho việc giới thiệu các cải tiến ở các chương sau. Để tìm hiểu chi tiết hơn về
CAMR thì có thể tham khảo ở các tài liệu [9-11].
20
CẢI TIẾN TRONG CÁC ACTION CỦA CAMR
CHƯƠNG 3 CẢI TIẾN TRONG CÁC
ACTION CỦA CAMR
Trong tài liệu [11], tác giả đã công bố kết quả F-score 99% trong quá trình đánh
giá tập các action trên phần newswire của bộ ngữ liệu huấn luyện (LDC2013E117)
và đưa ra khẳng định rằng tập các action của tác giả hoàn toàn có thể chuyển cấu trúc
của cây dependency về cấu trúc của AMR thông qua một loạt các action. Tuy nhiên,
khi tôi thực hiện lại quá trình đánh giá trên với bộ ngữ liệu sinh học được sử dụng
cho SemEval-2017 Task 9 Subtask AMR Parsing thì kết quả F-score chỉ đạt 86,98%,
không được như mong đợi. Điều này chứng tỏ tập các action đã bộc lộ các khiếm
khuyết trên bộ ngữ liệu sinh học và cần phải được cải tiến.
Từ yêu cầu cải tiến các action được đề ra ở trên, sau quá trình đánh giá tập các
action, tôi đã chọn ra các câu có điểm số F-score thấp để tiến hành chạy từng bước
và đánh giá. Từ đây, tôi đề ra hai cải tiến đã được tìm ra và áp dụng thử nghiệm trên
bộ ngữ liệu sinh học.
3.1 Cải tiến action NEXT NODE-lc
Như đã giới thiệu trong phần trên, action NEXT NODE-lc được sử dụng trong
trường hợp đã xác định được nội dung của node σ0. Node σ0 sẽ được gắn nhãn khái
niệm lc và bị loại ra khỏi hàng đợi σ. Hàng đợi β sẽ được khởi tạo lại và tất cả các
node con của σ1 (node đầu tiên của hàng đợi σ sau khi đã loại σ0) sẽ được bổ sung
vào hàng đợi β.
Trong quá trình thực hiện chạy từng bước, tôi nhận thấy sau khi thực hiện action
NEXT NODE-lc vào thì cấu trúc AMR của các node con sẽ được chốt lại sau đó,
không có thêm thao tác nào duyệt lại các node con. Có nhiều trường hợp cấu trúc các
node con chưa hoàn chỉnh nhưng tuyệt nhiên không có cơ chế để duyệt lại và thực
hiện thêm các thao tác biến đổi cho các node con. Nhận xét sơ bộ của tôi là CAMR
cần thêm các thao tác duyệt lại cây AMR trước khi trả về kết quả để hạn chế tối đa
những trường hợp node con chưa hoàn chỉnh trên.
21
CẢI TIẾN TRONG CÁC ACTION CỦA CAMR
Ví dụ 2: Với câu “Effects of selumetinib treatment on the induction of apoptosis
in NSCLC and CRC cell lines” trong bộ ngữ liệu training. Cấu trúc gold AMR của
câu này như sau:
(a / affect-01
:ARG0 (t / treat-04
:ARG2 (s / small-molecule
:name (n / name
:op1 "selumetinib")))
:ARG1 (i / induce-01
:ARG2 (a2 / apoptosis))
:location (a3 / and
:op1 (c / cell-line
:mod (d / disease
:name (n2 / name
:op1 "NSCLC")))
:op2 (c2 / cell-line
:mod (d2 / disease
:name (n3 / name
:op1 "CRC")))))
Hình 3.1. Gold AMR ứng với Ví dụ 2
Cấu trúc AMR nhận được sau khi thực hiện quá trình đánh giá tập các action:
22