Đồ 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 .... 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 t
Trang 1ĐẠ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
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
Trang 2LỜ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
Trang 3LỜ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
Trang 4MỤ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 GIỚI THIỆU VỀ CAMR 15
2.1 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
Trang 53.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
Trang 6DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
AMR Abstract Meaning Representation
Smatch Evaluation Metric for Semantic Feature Structures SemEval Semantic Evaluation
Trang 7DANH MỤC CÁC BẢNG
Bảng 2.1 Bảng các action của CAMR (nguồn [11]) 18Bảng 3.1 Kết quả tổng hợp thử nghiệm đánh giá lại tập các action 39Bảng 3.2 Một số con số chi tiết sau thử nghiệm đánh giá lại tập các action 40Bả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 50Bảng 4.2 Danh sách mẫu sửa lỗi khái niệm cho câu ở Ví dụ 8 54Bảng 5.1 Kết quả thử nghiệm trên test set của bộ ngữ liệu huấn luyện 61
Trang 8DANH 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-l 41
Trang 9Hì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
Trang 10MỞ ĐẦ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 SemEval-
2017
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
Trang 11MỞ ĐẦU
dependency parser, thì sẽ mở ra con đường tiếp tục nghiên cứu AMR Parsing cho tiếng Việt
Trang 12CHƯƠ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
Trang 13TỔ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ế
Trang 14tự 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ử
Trang 15TỔ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], ICL-
HD [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
Trang 16• 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
Trang 17TỔ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
Trang 18CHƯƠ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 σ
Trang 19GIỚ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:
Trang 20Parsing algorithm
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
Trang 21GIỚ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 Assign labels Precondition
NEXT EDGE-l r
(σ0|σ’, β0|β’, G)
⇒ (σ0|σ’, β’, G’) δ[(σ0, β0) → lr]
β is not empty
SWAP-l r
(σ0|σ’, β0|β’, G)
⇒ (σ0|β0|σ’, β’, G’) δ[(β0, σ0) → lr]REATTACHk -l r
(σ0|σ’, β0|β’, G)
⇒ (σ0|σ’, β’ , G’) δ[(k, β0) → lr]REPLACE HEAD
(σ0|σ’, β0|β’, G)
⇒ (β0|σ’, β = CH(β0, G’), G’) NONEREENTRANCEk -l r
(σ0|σ’, β0|β’, G)
⇒ (σ0|σ’, β0|β’, G’) δ[(k, β0) → lr]MERGE
(σ0|σ1|σ’, [], G)
⇒ (σ1|σ’, β = CH(σ1, G’), G’) 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
Trang 22Ví dụ với action NEXT NODE-l c, 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]
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
Trang 23GIỚ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)
Để đá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]
Trang 24CHƯƠ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-l c đượ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 l c 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-l c 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
Trang 25CẢ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:
: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:
Trang 26:ARG2 (x9 / apoptosis) :null_edge (x12 / and
:op2 (x14 / cell-line
:mod (x13 / disease
:name (n1 / name
:op1 "CRC"))) :op1 (xap0 / cell-line
:mod (x11 / disease
:name (n2 / name
:op1 "NSCLC"))))))
Hình 3.2 AMR ứng với Ví dụ 2 thu được từ CAMR nguyên bản
Từ hai cấu trúc AMR ở trên, có thể dễ thấy kết quả nhận được khá tương đồng
so với cấu trúc gold AMR Điểm F-score đạt được của câu này là 0,90 Nếu sau đó, node (x12 / and) được thực hiện action REATTACHk -l r trực tiếp vào node xap1 / affect-01 như ở Hình 3.3 thì sẽ có một kết quả hoàn hảo với điểm F-score bằng 1,00
Trang 27CẢI TIẾN TRONG CÁC ACTION CỦA CAMR
Hình 3.3 Minh họa cho Ví dụ 2
Một số nhận xét rút ra từ ví dụ trên, action REATTACHk -l r là một phép biến đổi chỉ thực hiện trên các phần tử thuộc hàng đợi β và action REATTACHk -l r chỉ có thể thực hiện được sau khi đã xác định được node cha xap1 cần reattach vào vì không
có căn cứ để thực hiện REATTACHk -l r một node con vào một node cha nếu như chưa xác định được node cha là gì? Nhưng với thiết kế hiện tại của CAMR, trình tự duyệt các node được thực hiện theo phương pháp duyệt theo chiều sâu, nên sau khi thực hiện duyệt xong node root xap1 thì quá trình parse phải kết thúc
Trang 28hành thực hiện thêm các action cần thiết với các node con của σ0 Tuy nhiên, việc thay đổi hàng đợi như thế nào cần được thử nghiệm kĩ lưỡng Mã giả của quá trình can thiệp và thêm các node con vào hàng đợi σ như sau:
Function NEXT2
1 currentSigma0 σ[0] // lưu lại phần tử đầu tiên của σ // xử lý nguyên bản của CAMR
// lấy phần tử đầu tiên ra khỏi σ
// thực hiện các phép biến đổi
// xử lý nguyên bản của CAMR
2 If len(nodes[currentSigma0].children) > 0
3 For child in nodes[currentSigma0].children
4 If child không thuộc σ and child không thuộc γ
5 PushToSigma(child)
6 Thêm child vào γ
// xử lý nguyên bản của CAMR
// thêm các node con của σ[0] mới vào β
// xử lý nguyên bản của CAMR
Hình 3.4 Mã giả cho việc cải tiến action NEXT NODE-l c
Ở trên đoạn mã giả trên, tôi sẽ lưu lại σ0 vào biến currentSigma0 trước khi CAMR xóa σ0 khỏi hàng đợi σ Sau khi CAMR thực hiện các biến đổi cần thiết, tôi tiến hành kiểm tra xem node currentSigma0 có node con hay không? Nếu có node con thì sẽ chỉ add những node con vào hàng đợi σ nếu node con đó chưa có trong hàng đợi σ và danh sách γ Ở đây, nếu node con vẫn còn trong hàng đợi σ có nghĩa là node con đã được lên lịch để xử lý tiếp sau đó Việc bổ sung thêm sẽ bị trùng một cách vô ích Danh sách γ là một danh sách mà tôi thêm vào để đánh dấu các node đã được xử lý thêm vào σ rồi Nếu không có danh sách γ thì tính dừng của thuật giải không còn đảm bảo Tại dòng 5, node child được thêm vào hàng đợi σ bằng hàm
PushToSigma(node) do có một số yêu cầu đặc biệt khi thêm node vào hàng đợi σ Chi tiết về hàm này sẽ được giới thiệu ở phần sau
Trang 29CẢI TIẾN TRONG CÁC ACTION CỦA CAMR
:ARG2 (x9 / apoptosis)) :location (x12 / and
:op2 (x14 / cell-line
:mod (x13 / disease
:name (n1 / name
:op1 "CRC"))) :op1 (xap0 / cell-line
:mod (x11 / disease
:name (n2 / name
:op1 "NSCLC")))))
Hình 3.5 AMR ứng với Ví dụ 2 trả về từ CAMR sau khi được cải tiến
Trong đó, sau khi áp dụng action NEXT NODE-l c cho node xap1 /
affect-01 (cấu trúc AMR lúc này giống như ở Hình 3.2 ở trên), tại bước này:
- Hàng đợi σ ở CAMR nguyên bản: [xap1 / affect-01, -1]
- Hàng đợi σ ở CAMR sửa đổi:[xap1 / affect-01, x4 / treat-04, x7 / induce-01, -1]
Lưu ý, trong CAMR, -1 được sử dụng như kí hiệu kết thúc Khi duyệt đến phần
tử -1 trên hàng đợi σ thì quá trình parsing kết thúc
Thay vì kết thúc quá trình parse như CAMR nguyên bản sau khi xóa xap1 / affect-01 khỏi σ, hàng đợi σ sẽ được bổ sung các node x4 / treat-04 và x7 / induce-01 vào Lúc này CAMR sẽ buộc phải xử lý lại các node x4 / treat-
04, x7 / induce-01 trước khi kết thúc quá trình parsing Khi thực hiện xử lý lại
x7 / induce-01
Trang 30action REATTACHk -l r node x12 / and vào node xap1 / affect-01 Và ta được kết quả như Hình 3.5
Ngoài trường hợp ở trên, sau khi bổ sung cải tiến action NEXT NODE-l c, thì có một số trường hợp khác cũng được cải thiện F-score như với Ví dụ 3
Ví dụ 3: Với câu “Again, the proliferation rate of these cell populations was
assessed when cultured on plastic” trong bộ ngữ liệu training
:ARG1 p2 :location (p3 / plastic)) :mod (a2 / again))
Hình 3.6 Gold AMR ứng với Ví dụ 3
Trang 31CẢI TIẾN TRONG CÁC ACTION CỦA CAMR
(x11 / assess-01
:mod (x1 / again) :ARG1 (x5 / rate
:degree-of (x4 / proliferate-01
:ARG0 (x9 / population
:mod (x8 / cell)))) :time (x13 / culture-01
:location (x15 / plastic)))
Hình 3.7 AMR ứng với Ví dụ 3 thu được từ CAMR nguyên bản
(x11 / assess-01
:mod (x1 / again) :ARG1 (x5 / rate
:degree-of (x4 / proliferate-01
:ARG0 (x9 / population
:mod (x8 / cell)))) :time (x13 / culture-01
:ARG1 x9
:location (x15 / plastic)))
Hình 3.8 AMR ứng với Ví dụ 3 trả về từ CAMR sau khi được cải tiến
Hình 3.6 miêu tả cấu trúc gold AMR ứng với câu trong Ví dụ 3 Sau khi cải tiến
action NEXT NODE-l c, cấu trúc AMR trả về (Hình 3.8) có F-score là 0,9473 so với F-score 0,8889 trong cấu trúc AMR trả về trước khi cải tiến (Hình 3.7) Ở đây, node
x9 / population (node con của node x13 / culture-01) được bổ sung vào bằng action REENTRANCEk -l r (Hình 3.9)
Trang 32Hình 3.9 Minh họa cho Ví dụ 3
Những sửa đổi ở trên mang lại độ chính xác cao hơn cho hàm Oracle() của CAMR Ở đây, trong quá trình thử nghiệm, các node con được thêm vào hàng đợi σ theo hai cách khác nhau là: thêm các node con vào đầu hàng đợi và thêm các node con vào cuối hàng đợi nhưng trước kí tự kết thúc
Ưu điểm của việc thêm các node con vào đầu hàng đợi σ là những sự khác biệt trong xử lý sẽ diễn ra ngay sau đó, và có thể theo dõi sự thay đổi một cách dễ dàng thông qua quá trình chạy từng bước Tuy nhiên, việc thêm các node con vào đầu hàng đợi cũng bộc lộ những khuyết điểm nhất định như trong Ví dụ 4 sau
Ví dụ 4: Với câu “Related chromosome binding sites for zeste, suppressors of
zeste and Polycomb group proteins in Drosophila and their dependence on Enhancer
of zeste function” trong bộ ngữ liệu training
Trang 33CẢI TIẾN TRONG CÁC ACTION CỦA CAMR
Hình 3.10 Gold AMR ứng với Ví dụ 4
Hình 3.10 miêu tả gold AMR ứng với câu trong Ví dụ 4 Khi so sánh với Hình 3.11, có thể dễ dàng nhận thấy node x16 / organism cần phải được tiếp tục thực
hiện action SWAP-l r thành node con của m / molecular-physical-entity
Tuy nhiên việc SWAP-l r này đã không diễn ra như mong muốn mặc dù node cha trực tiếp của node x16 / organism là x14 / protein đã được thêm vào hàng đợi σ
khi thực hiện action NEXT NODE-l c cho node x3 / bind-01 Nguyên nhân cho
sự không hiệu quả ở đây là node xap1 / molecular-physical-entity thuộc một nhánh khác và hoàn toàn chưa được xác định khi CAMR duyệt lại node x3 / bind-01 và x14 / protein Do node xap1 / molecular-physical-entity
chưa được xác định tại thời điểm đó nên không có căn cứ để thực hiện action
SWAP-l r cần thiết
Trang 34:name (x6 / name :op1 "zeste"))))