1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN cứu PHÂN TÍCH cú PHÁP PHỤ THUỘC CHO TIẾNG VIỆT

81 319 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 9,12 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Từ những vấn đề tồn tại và tầm quan trọng của phân tích cú pháp tiếng Việt thì việc nghiên cứu bài toán phân tích cú pháp phụ thuộc tiếng Việt cần được quan tâm và nghiên cứu một cách ng

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN



NGUYỄN VĂN KIỆT

NGHIÊN CỨU PHÂN TÍCH CÚ PHÁP PHỤ THUỘC

CHO TIẾNG VIỆT

LUẬN VĂN THẠC SĨ

NGÀNH KHOA HỌC MÁY TÍNH

Mã số: 60.48.01.01

TP HỒ CHÍ MINH – NĂM 2017

Trang 2

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN



NGUYỄN VĂN KIỆT

NGHIÊN CỨU PHÂN TÍCH CÚ PHÁP PHỤ THUỘC

CHO TIẾNG VIỆT

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 LƯU THÙY NGÂN

TP HỒ CHÍ MINH – NĂM 2017

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu khoa học của cá nhân tôi được thực hiện dưới sự hướng dẫn khoa học của TS Nguyễn Lưu Thùy Ngân Trong luận văn này, các số liệu và tài liệu tham khảo có nguồn gốc rõ ràng và tuân thủ đúng nguyên tắc trong nghiên cứu khoa học Những kết quả nghiên cứu được trình bày trong luận văn là trung thực và chưa từng được công bố dưới bất kỳ hình thức nào

Tôi xin chịu trách nhiệm hoàn toàn về nghiên cứu của mình

Tp HCM, ngày 03 tháng 03 năm 2017

Nguyễn Văn Kiệt

Trang 4

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành đến TS Nguyễn Lưu Thùy Ngân, Cô là một

người thầy đầy tâm quyết và nghiêm túc trong sự nghiệp giáo dục và nghiên cứu khoa học

Cô đã truyền cảm hứng và hướng dẫn tôi trong quá trình học tập và nghiên cứu khoa học,

từ những kiến thức cho đến những kỹ năng trong chuyên môn và nghiên cứu khoa học, đặc biệt hoàn thành luận văn Một lần nữa, tôi xin cảm ơn chân thành đặc biệt đối với người

Dù có hoàn thiện đến đâu, tôi cũng không tránh khỏi những thiếu sót và hạn chế trong việc hoàn thành luận văn này Tôi hy vọng nhận được sự phản hồi và đóng góp ý kiến quý báu từ quý thầy cô Tôi xin trân trọng cảm ơn

TP Hồ Chí Minh, tháng 03 năm 2017

Nguyễn Văn Kiệt

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5

DANH MỤC CÁC BẢNG 6

DANH MỤC CÁC HÌNH VẼ 7

DANH MỤC CÁC SƠ ĐỒ 8

MỞ ĐẦU 9

Chương 1 : TỔNG QUAN 14

1.1 Bài toán phân tích cú pháp phụ thuộc (Dependency Parsing) 14

1.2 Lịch sử phát triển phân tích cú pháp phụ thuộc 15

1.3 Phân tích cú pháp phụ thuộc tiếng Việt 19

1.4 Kết luận 21

Chương 2 : CƠ SỞ LÝ THUYẾT 22

2.1 Phân tích cú pháp phụ thuộc 22

2.2 Lịch sử phát triển cú pháp phụ thuộc 24

2.3 Các hướng tiếp cận phân tích cú pháp hướng dữ liệu (Data-driven) 24

2.4 Ngữ liệu treebank phụ thuộc 26

2.5 Phương pháp tiếp cận trong nghiên cứu cú pháp phụ thuộc tiếng Việt 28

2.5.1 Phân tích lỗi cú pháp phụ thuộc 28

2.5.2 Phân tích cú pháp phụ thuộc theo hướng transition-based 29

2.5.3 Hiệu quả của đặc trưng siêu nhãn trong phân tích cú pháp 32

2.6 Các công cụ hỗ trợ phân tích cú pháp phụ thuộc 33

2.7 Kết luận 34

Chương 3 : PHÂN TÍCH LỖI CHO PHÂN TÍCH CÚ PHÁP PHỤ THUỘC TIẾNG VIỆT 35

3.1 Phương pháp phân tích lỗi cho phân tích cú pháp phụ thuộc trên tiếng Việt 35

3.2 Kết quả phân tích lỗi trên phân tích cú pháp phụ thuộc tiếng Việt 37

3.2.1 Phân tích lỗi theo chiều dài câu 38

Trang 6

3.3.3 Phân tích lỗi theo đặc trưng ngôn ngữ 41

3.3 So sánh với các ngôn ngữ khác 46

3.4 Kết luận 48

Chương 4 : PHƯƠNG PHÁP PHÂN TÍCH CÚ PHÁP PHỤ THUỘC TIẾNG VIỆT VỚI ĐẶC TRƯNG SIÊU NHÃN (SUPERTAGS) 50

4.1 Giới thiệu phân tích cú pháp phụ thuộc với đặc trưng siêu nhãn 50

4.2 Thiết kế siêu nhãn cho phân tích cú pháp phụ thuộc tiếng Việt 51

4.3 Gán siêu nhãn tự động 54

4.4 Đặc trưng siêu nhãn phân tích cú pháp phụ thuộc các bước chuyển 55

4.4 Kết luận 56

Chương 5 : THỬ NGHIỆM, ĐÁNH GIÁ VÀ PHÂN TÍCH 57

5.1 Dữ liệu thử nghiệm 57

5.2 Các thông số đánh giá phân tích cú pháp phụ thuộc 57

5.3 Các kết quả thử nghiệm 57

5.4 Phân tích kết quả thử nghiệm 62

Chương 6 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66

6.1 Kết luận 66

6.2 Hướng phát triển 67

DANH MỤC CÁC BÀI BÁO KHOA HỌC ĐÃ CÔNG BỐ CỦA ĐỀ TÀI THẠC SĨ 68

PHỤ LỤC 1 74

PHỤ LỤC 2 77

Trang 7

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

2 NLP Natural Language Processing

3 Transition-based Dựa trên các bước chuyển

4 Graph-based Dựa trên đồ thị

5 CoNLL Conference on Computational Natural Language Learning

6 ACL Association for Computational Linguistics

7 EACL European Chapter of the Association for Computational

Linguistics

8 COLING International Conference on Computational Linguistic

11 VnDT Vietnamese dependency Treebank

12 VLSP Vietnamese Language and Speech Processing

13 LTAG Lexicalized Tree-Adjoining Grammar

14 HPSG Head-driven Phrase Structure Grammar

15 CCG Combinatory Categorial Grammar

Trang 8

DANH MỤC CÁC BẢNG

Bảng 1.1 Độ chính xác của MSTParser và MaltParser trên các ngôn ngữ 17

Bảng 1.2 So sánh giữa hai parser MSTParser và MaltParser 18

Bảng 1.3 Tóm tắt các công trình phân tích cú pháp phụ thuộc trên tiếng Việt 20

Bảng 2.1 Danh sách nhãn phụ thuộc của treebank VnDT 27

Bảng 2.2 Minh họa quá trình phân tích cú pháp phụ thuộc theo Arc-standard 30

Bảng 2.3 Mô hình đặc trưng cơ bản theo thuật toán phân tích Arc-standard 31

Bảng 3.1 Độ chính xác phân tích cú pháp phụ thuộc tiếng Việt 37

Bảng 3.2 Độ chính xác của MSTParser và MaltParser theo tiếng Việt theo chiều dài câu 38

Bảng 3.3 Độ chính xác/độ phủ của MSTParser và MaltParser theo chiều dài của quan hệ phụ thuộc 39

Bảng 3.4 Độ chính xác/độ phủ của các phụ thuộc theo khoảng cách gốc 40

Bảng 3.5 Độ chính xác/độ phủ phụ thuộc theo số lượng sibling 41

Bảng 4.1 Minh họa thiết kế ba mô hình siêu nhãn cho một câu 52

Bảng 5.1 Độ chính xác của ba bộ siêu nhãn 58

Bảng 5.2 Độ chính xác của ba mô hình siêu nhãn trên ngữ liệu treebank VnDT 59

Bảng 5.3 Độ chính xác của phân tích cú pháp tiếng Việt 60

Bảng 5.4 Sự chênh lệch độ chính xác giữa mô hình đặc trưng siêu nhãn so với mô hình cơ sở 61

Bảng 5.5 Tốc độ phân tích cú pháp phụ thuộc tiếng Việt (ms/câu) 61

Bảng 7.1 Các thư viện sử dụng trong xây dựng demo parser tiếng Việt 74

Trang 9

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Cây cú pháp phụ thuộc của một câu tiếng Việt 15

Hình 2.1 Một ví dụ về đồ thị phụ của một câu tiếng Việt 22

Hình 2.2 Minh họa cây cú pháp phụ thuộc chứa cấu trúc non-projective 23

Hình 2.3 Một ví dụ đồ thị cú pháp phụ thuộc được gán nhãn 24

Hình 2.4 Kiến trúc hệ thống phân tích cú pháp phụ thuộc hướng data-driven 25

Hình 2.5 Minh họa chuẩn CoNLL-X cho một câu tiếng Việt 28

Hình 4.1 Các phần phụ bắt buộc cho động từ chính với chủ từ, tân ngữ và vị từ 54

Hình 7.1 Kiến trúc chương trình demo phân tích cú pháp 74

Hình 7.2 Màn hình giới thiệu 75

Hình 7.3 Màn hình phân tích cú pháp phụ thuộc 76

Hình 7.4 Màn hình giới thiệu các công bố khoa học liên quan 76

Trang 10

DANH MỤC CÁC SƠ ĐỒ

Sơ đồ 3.1 So sánh độ chính xác MSTParser trên tiếng Việt và các ngôn ngữ khác theo

nhãn từ loại 46

Sơ đồ 3.2 So sánh độ chính xác MaltParser trên tiếng Việt và các ngôn ngữ khác theo nhãn từ loại 46

Sơ đồ 3.3 Độ chính xác của gốc, chủ ngữ và tân ngữ trên MaltParser 48

Sơ đồ 3.4 Độ chính xác của gốc, chủ ngữ và tân ngữ trên MSTParser 48

Sơ đồ 5.1 So sánh độ chính xác parser theo chiều dài của câu 62

Sơ đồ 5.2 So sánh độ chính xác parser theo chiều dài của quan hệ phụ thuộc 63

Sơ đồ 5.3 So sánh độ chính xác parser theo nhãn từ loại 64

Sơ đồ 5.4 So sánh độ chính xác parser theo nhãn phụ thuộc 65

Trang 11

Phân tích cú pháp trên tiếng Anh và tiếng Trung được sự quan tâm của cộng đồng

xử lý ngôn ngữ tự nhiên và phát triển mạnh mẽ Độ chính xác phân tích cú pháp tiếng Anh

đã đạt tới ngưỡng, cụ thể, phân tích cú pháp thành tố đạt độ chính xác với 93% [5] và phân tích cú pháp phụ thuộc đạt độ chính xác với 94% [6] Sự phát triển mạnh mẽ của phân tích

cú pháp đã nâng cao chất lượng cho những nghiên cứu ứng dụng trong xử lý ngôn ngữ tự nhiên Trong khi sự phát triển mạnh mẽ của phân tích cú pháp trên những ngôn ngữ khác thì tiếng Việt không đạt được những kết quả như mong muốn Cụ thể, phân tích cú pháp thành tố trên tiếng Việt chỉ đạt độ chính xác với 78% [7] và phân tích cú pháp phụ thuộc chưa đạt 73.53% [8] (LAS) Những kết quả này do một số nguyên nhân khác quan và chủ quan như tài nguyên nghiên cứu ít, chất lượng tài nguyên chưa tốt, và chưa tìm ra những phương pháp phù hợp trên tiếng Việt

Trang 12

Từ những vấn đề tồn tại và tầm quan trọng của phân tích cú pháp tiếng Việt thì việc nghiên cứu bài toán phân tích cú pháp phụ thuộc tiếng Việt cần được quan tâm và nghiên cứu một cách nghiêm túc hơn Vì vậy, luận văn này tiến hành thực hiện các nghiên cứu để tìm ra những hướng giải quyết hợp lý cho bài toán phân tích cú pháp phụ thuộc tiếng Việt

Bối cảnh nghiên cứu

Bài toán phân tích cú pháp phụ thuộc đã thu hút sự quan tâm lớn của cộng đồng xử lý ngôn ngữ tự nhiên và phát triển mạnh mẽ trong suốt một thập kỉ qua, từ bài toán nghiên cứu nền tảng cho đến sự ảnh hưởng trong những ứng dụng như rút trích thông tin, tóm tắt văn bản, dịch máy và hỏi đáp Nhiều hội nghị lớn và uy tính trong lĩnh vực xử lý ngôn ngữ tự nhiên như ACL, EACL, và COLING, cung cấp hàng loạt những bài hướng dẫn (tutorials) về phân tích cú pháp phụ thuộc [9], [10],[11], và [12] Đặc biệt, hai sự kiện nổi bật, CoNLL Shared Task năm 2016 [13] và CoNLL Shared Task năm 2017 [14] làm bùng nổ nghiên cứu phân tích cú pháp phụ thuộc hướng dữ liệu (data-driven) trên nhiều ngôn ngữ: từ 13 ngôn ngữ và 19 hệ thống trong CoNLL Shared Task năm 2006 lên tới 19 ngôn ngữ và 23 hệ thống trong CoNLL Shared Task năm 2007 Và đặc biệt hơn, năm 2017 với sự quay lại của CoNLL Shared Task với chủ đề “Universal Dependencies” Phân tích cú pháp phụ thuộc đã và đang phát triển sôi động hơn bao giờ hết vì tính ứng dụng của nó

Số lượng công trình nghiên cứu cú pháp phụ thuộc trên tiếng Việt còn ít và các kết quả chưa cao Các công trình phân tích cú pháp phụ thuộc tiếng Việt [8], [15], [16], và [17] với độ chính xác (LAS) chưa vượt qua mức 80%, mức trung bình chung mà các ngôn ngữ khác đạt được Nâng cao hiệu quả các ứng dụng xử lý ngôn ngữ tự nhiên bằng sử dụng các cấu trúc phụ thuộc, đòi hòi bộ phân tích cú pháp phải cho độ chính xác cao Đây là một thách thức và cả một quá trình để nghiên cứu phân tích cú pháp phụ thuộc tiếng Việt Các công trình, phương pháp và những kết quả đạt được của phân tích cú pháp sẽ được trình bày cụ thể hơn trong Chương 1 và 2

Trang 13

Mục tiêu luận văn

Luận văn này thực hiện hai nhiệm vụ nghiên cứu chính:

 Thứ nhất, nghiên cứu phân tích lỗi gây ảnh hưởng đến độ chính xác của bộ phân tích cú pháp phụ thuộc Hay khác hơn, chúng tôi phải trả lời cho câu hỏi: “Tại sao bộ phân tích cú pháp phụ thuộc trên tiếng Việt đạt kết quả chưa cao?” Nghiên cứu này, chúng tôi sẽ tập trung phân tích theo các yếu tố: chiều dài, đồ thị và các đặc điểm của ngôn ngữ tiếng Việt

 Thứ hai, chúng tôi đề xuất đặc trưng mới để cải tiến và nâng cao độ chính xác của bộ phân tích cú pháp phụ thuộc cho tiếng Việt

Bên cạnh đó, việc thực hiện đề tài đòi hỏi nhiều thời gian cho việc nghiên cứu và

sử dụng các công cụ hỗ trợ xây dựng, tối ưu và đánh giá bộ phân tích cú pháp phụ thuộc

tiếng Việt

Đối tượng và phạm vi nghiên cứu

Để đạt được những mục tiêu của đề tài, chúng tôi giới hạn phạm vi thực hiện đề tài như sau:

 Đối tượng nghiên cứu:

 Bài toán phân tích cú pháp phụ thuộc (dependency parsing)

 Ngôn ngữ: tiếng Việt

 Phạm vi nghiên cứu: Ngữ liệu phân tích cú pháp phụ thuộc VnDT Treebank, chứa khoảng 10, 200 cây cú pháp, trong đó 95,51% cây phụ thuộc projective và 4.49% cây phụ thuộc non-projective Trong nghiên cứu này, chúng tôi chủ yếu tập trung vào ngữ liệu cây phụ thuộc projective

Trang 14

Kết quả nghiên cứu của đề tài

Luận văn này đạt được một số kết quả nghiên cứu như sau:

 Thứ nhất, phân tích lỗi trên kết quả thử nghiệm từ hai parser tiên tiến nhất the-art) trên tiếng Việt để có sự nhìn nhận sâu sắc và từ đó góp phần cải thiện hiệu suất của bộ phân tích cú pháp

(state-of- Thứ hai, thiết kế đặc trưng siêu nhãn làm tăng độ chính xác cho bộ phân tích cú pháp phụ thuộc tiếng Việt Kết quả parser của chúng tôi đạt cao nhất trên ngữ liệu phụ thuộc với độ chính các 74.6% (LAS), cải tiến 1.07% so với công trình [8]

Từ những kết quả nghiên cứu của luận văn, chúng tôi đã công bố được 2 bài báo khoa học đăng trên hội nghị quốc tế:

 Kiet Van Nguyen, and Ngan Luu-Thuy Nguyen “Error Analysis for Vietnamese Dependency Parsing” 2015 Seventh International Conference on Knowledge and Systems Engineering (KSE), Oct 2015 [18]

 Kiet V Nguyen, and Ngan Luu-Thuy Nguyen “Vietnamese Dependency Parsing with Supertag Features” 2016 Seventh International Conference on Knowledge and Systems Engineering (KSE), Oct 2016 [19]

Cấu trúc luận văn

Bố cục luận văn gồm 6 Chương với những nội dung chính như sau:

 Chương 1: Tổng Quan

Chương này trình bày hướng tiếp cận chính trong phân tích cú pháp phụ thuộc Đồng thời, thực hiện những phân tích và đánh giá các công trình nghiên cứu tiêu biểu đã được công bố liên quan đến bài toán phân tích cú pháp phụ thuộc Từ đó, xác định những vấn đề còn tồn tại và cũng như những thách thức của bài toán phân tích cú pháp phụ thuộc cho tiếng Việt mà luận văn này tập trung giải quyết

Trang 15

 Chương 2: Cơ Sở Lý Thuyết

Trong chương này, luận văn sẽ trình bày những cơ sở lý thuyết và những công

cụ cần thiết hỗ trợ để xây dựng phương pháp phân tích cú pháp phụ thuộc cho tiếng Việt

 Chương 3: Phân Tích Lỗi Cho Phân Tích Cú Pháp Phụ Thuộc Tiếng Việt

Nội dung chính của chương này là trình bày chi tiết về phương pháp phân tích lỗi cho phân tích cú pháp phụ thuộc trên tiếng Việt Những lỗi này được phân tích

và xem xét trên nhiều khía cạnh của đồ thị và ngôn ngữ Từ đó, chúng ta có những cái sâu sắc hơn trong phân tích cú pháp phụ thuộc trên tiếng Việt và có những hướng giải quyết phù hợp

 Chương 4: Phân Tích Cú Pháp Phụ Thuộc Tiếng Việt Với Đặc Trưng Siêu Nhãn

Việc thêm đặc trưng siêu nhãn để cải thiện bộ phân tích cú pháp phụ thuộc được trình bày trong chương này Những thiết kế siêu nhãn phù hợp sẽ ảnh hưởng đến những kết quả phân tích cú pháp phụ thuộc cho tiếng Việt

 Chương 5: Thử Nghiệm, Đánh Giá và Phân Tích

Trong chương này, chúng tôi trình bày kết quả thử nghiệm của mô hình cơ sở và các mô hình siêu nhãn Từ kết quả thử nghiệm, chúng tôi tiến hành đánh giá và phân tích giữa các phương pháp với nhau

 Chương 6: Kết Luận Và Hướng Phát Triển

Chúng tôi tổng kết những kết luận của quá trình nghiên cứu bao gồm những kết quả đạt được cũng như những khó khăn, hạn chế trong nghiên cứu phân tích cú pháp phụ thuộc tiếng Việt Đồng thời, chúng tôi đề nghị những định hướng nghiên cứu

mở rộng cho những dự án nghiên cứu tương lai về phân tích cú pháp phụ thuộc tiếng Việt

Trang 16

Chương 1 : TỔNG QUAN

1.1 Bài toán phân tích cú pháp phụ thuộc (Dependency Parsing)

Phân tích cú pháp (syntactic analysis or parsing) là một trong những chủ đề trọng tâm trong lịch sử phát triển của ngôn ngữ học tính toán (computational linguistics) Mục đích của việc phân tích cú pháp là biểu diễn cấu trúc cú pháp cho tất cả những câu ngôn ngữ tự nhiên Việc phân tích từ một câu ngôn ngữ tự nhiên đến ngữ nghĩa là quan trọng và cần thiết cho việc phát triển hiểu ngôn ngữ tự nhiên (understanding natural language) Phân tích cú pháp là nền tảng cơ sở và ảnh hưởng đến hiệu quả của các ứng dụng xử lý ngôn ngữ

tự nhiên (natural language processing) như truy xuất thông tin (information extraction) [1], hỏi đáp (question answering) [2], khai phá quan điểm (opinion mining) [3], và dịch máy (machine translation) [4] Bởi vì các cấu trúc cú pháp cung cấp các thành phần cần thiết cho việc tính toán ngữ nghĩa của câu, các hệ thống phân tích cú pháp tự động (parsing system or parser) được xem là một xuất phát điểm cho các hệ thống xử lý ngôn ngữ tự nhiên thông minh

Bài toán phân tích cú pháp được mô tả cụ thể như sau:

Đầu vào: Một câu S chứa n từ: 𝑆 = 𝑤0, 𝑤0, … , 𝑤𝑛, với 𝑤0 = 𝑅𝑂𝑂𝑇

Đầu ra: Một đồ thị phụ thuộc 𝐺(𝑉, 𝐴) (kết nối, không vòng, mỗi node chỉ có

phụ thuộc vào một phần chính – head), với:

 𝑉 = {0,1, … , 𝑛} là tập hợp đỉnh của đồ thị;

 𝐴 là tập hợp các cạnh, ví dụ (𝑖, 𝑗, 𝑙𝑘) ∈ 𝐴 biểu diễn một phụ thuộc (cạnh) từ

từ 𝑤𝑖 đến 𝑤𝑗 với nhãn 𝑙𝑘 ∈ 𝐿;

 𝐿 = {𝑙1, 𝑙2, … , 𝑙𝐿} là tập hợp nhãn phụ thuộc

Trang 17

Hi ̀nh 1.1 Cây cú pháp phụ thuộc của một câu tiếng Việt

Nguồn: Được trích dẫn từ bài báo của chúng tôi [18]

Một quan hệ phụ thuộc gồm 2 phần chính (head) và phụ (dependent) Mỗi quan hệ phụ thuộc được gán một nhãn phụ thuộc (dependency label) Hình 1.1 mô tả một ví dụ phân tích cú pháp phụ thuộc trên tiếng Việt cho câu “Hai kịch bản mới mô tả cuộc sống hiện đại” Trong ví dụ này, chúng ta sẽ thấy những quan hệ phụ thuộc như một quan hệ

phụ thuộc chủ ngữ SUB từ động từ mô_tả và danh từ kịch_bản , trong đó, mô_tả là phần chính và kịch_bản là phần phụ

1.2 Lịch sử phát triển phân tích cú pháp phụ thuộc

Những khó khăn phân tích cú pháp trên những câu thực tế tạo nên những động lực nghiên cứu khác nhau của lý thuyết cú pháp và phân tích cú pháp Việc phát triển các bộ phân tích cú pháp là đồng nghĩa với việc đưa các lý thuyết cú pháp vào các chương trình máy tính Tuy nhiên, mục tiêu xử lý được tất cả các câu thực tế, lý thuyết phân tích cú pháp

là không đủ

Phân tích cú pháp là một chủ đề nghiên cứu lâu dài trong lĩnh vực ngôn ngữ học, trong khi đó khoa học máy tính đưa ra cái nhìn nhận mới mẻ về phân tích cú pháp: phân tích cú pháp được định nghĩa như là một kết quả của tính toán (Chomsky, 1957) [20] Phân tích cú pháp nhiều dạng biểu diễn, nhưng trong những năm gần đây người ta tập trung vào

ba dạng biểu diễn chính: cấu trúc ngữ đoạn (phrase structures), cấu trúc phụ thuộc (dependency structures), và cấu trúc danh mục kết nối (combinatory categorial structures) Trong luận văn này, chúng tôi tập trung nghiên cứu các cấu trúc phụ thuộc

Trang 18

Phân tích cú pháp phụ thuộc (dependency parsing) là một trong những bài toán cơ bản và được nghiên cứu sôi nổi trong lĩnh vực xử lý ngôn ngữ tự nhiên trong một thập kỉ qua Trong phân tích cú pháp phụ thuộc, nó có hai cách tiếp cận chính: các hệ thống phân tích cú pháp xây dựng dựa trên văn phạm là chính (grammar-based) và các hệ thống phân tích cú pháp xây dựng dựa trên dữ liệu (data-driven) Nhưng những nghiên cứu gần đây cho thấy việc phát triển phân tích cú phụ thuộc dựa trên các mô hình data-driven cùng với

sự phát triển của máy học và dữ liệu

Các cây phụ thuộc (dependency trees) được chia thành hai loại: projective và projective Cây phụ thuộc non-projective chứa các cạnh bắt chéo nhau, trong khi các cây projective thì không có hiện tượng này Hiện tượng non-projective phát sinh do câu chứa những quan hệ phức tạp như quan hệ phụ thuộc dài (long dependencies)

non-Phân tích cú pháp phụ thuộc được nâng tầm bởi sự thành công của CoNLL Shared Tasks (2006, 2007) [13], [14] trên việc phân tích cú pháp cho nhiều ngôn ngữ Phân tích

cú pháp phụ thuộc hướng dữ liệu (data-driven) dựa trên thuật toán phân tích mà người ta chia thành 3 hướng tiếp cận chính: graph-based, transition-based, và hydrid Hướng tiếp cận hydrid là sự kết hợp giữa hai hướng tiếp cận graph-based và transition-based Độ chính xác của phân tích cú pháp theo hướng tiếp cận graph-based (đại diện là MSTParer) và hướng tiếp cận transition-based (đại diện là MaltParser) được trình bày cụ thể qua Bảng

1.1

Trang 19

Ba ̉ ng 1.1 Độ chính xác của MSTParser và MaltParser trên các ngôn ngữ

Chú thích: Nguồn số liệu được trích dẫn từ bài báo [21]

So sánh những đặc điểm tương phản và những kết quả đạt của hai hướng tiếp cận khác nhau mà đại diện là hai bộ phân tích cú pháp phụ thuộc nổi tiếng: MSTParser và MaltParser được trình bày trong Bảng 1.2

Trang 20

Ba ̉ ng 1.2 So sánh giữa hai parser MSTParser và MaltParser

MSTParser

 Được phát triển bởi McDonald và các đồng nghiệp [22]

 Ý tưởng cơ bản:

+ Định nghĩa không gian các đồ thị phụ thuộc ứng cử cho một câu

+ Học (Learning): mô hình suy luận cho việc tính điểm cho một đồ thị phụ thuộc của một câu

+ Phân tích (Parsing): tìm đồ thị phụ thuộc có điểm cao nhất dựa trên mô hình học suy luận

+ Học (Leaning): mô hình cho việc tính điểm các chuyển tiếp

có khả năng

+ Phân tích (Parsing): xây dựng chuỗi chuyển đổi tối ưu

 Đặc điểm:

+ Huấn luyện cục bộ của mô hình các chuyển tiếp tối ưu

+ Tìm kiếm/suy luận tham lam

80.75%

Chú thích: Các thông tin được thống kê từ bài báo [22]

Hiện nay, phân tích cú pháp phụ thuộc phát triển trên hai hướng tiếp chính based và transition) kết hợp với nhiều phương pháp khác để cải tiến nhằm tăng độ chính xác Cụ thể, công trình nghiên cứu [23] tiếp cận theo hướng transition-based, với độ chính xác UAS (trên tiếng Anh) tăng từ 92.1 đến 92.2 và công trình nghiên cứu [24] tiếp cận theo hướng graph-based với độ chính xác UAS (trên tiếng Anh) từ 92.92 đến 93.64 Để đạt kết

Trang 21

(graph-quả cao như trên, các nhà nghiên cứu dùng những phương pháp học kết hợp thêm một số phương pháp được cụ thể trong [23], [24] Trong thời gian gần đây, Parsey McParseface [6] của Google đã gây chú ý cho cộng đồng NLP với độ chính xác phân tích cú pháp phụ thuộc trên tiếng Anh vượt qua 94% (UAS) Một cột mốc thành công của Neural Network được Google áp dụng thành công trên bài toán phân tích cú pháp Bên cạnh đó, các nhà nghiên cứu còn xây dựng công cụ hỗ trợ tối ưu hóa các tham số trong các giai đoạn (thuật toán phân tích, mô hình đặc trưng, và thuật toán học) [25] và hướng dẫn phân tích lỗi gây ảnh hưởng đến độ chính xác [21] Từ những thành tựu đạt được trong xử lý cú pháp phụ thuộc, mở ra các hướng và phương pháp tiếp cận mới để nâng cao hiệu quả phân tích cú pháp phụ thuộc cho những ngôn ngữ mới.

1.3 Phân tích cú pháp phụ thuộc tiếng Việt

Các công trình [15], [16] đã nghiên cứu và xây dựng ngữ liệu treebank phụ thuộc tiếng Việt nhờ vào các kỹ thuật chuyển đổi từ cấu trúc ngữ đoạn sang cấu trúc phụ thuộc Sau khi xây dựng treebank phụ thuộc tiếng Việt, họ tiến hành nghiên cứu và xây dựng bộ phân tích cú pháp phụ thuộc cho tiếng Việt dựa trên các bộ phân tích cú pháp phụ thuộc tiên tiến nhất: MaltParser và MSTParser Độ chính xác các bộ phân tích phụ thuộc tiếng Việt đạt độ chính xác trên ngữ liệu treebank VnDT [8]: với độ chính xác LAS cao nhất là 73.53% Với kết quả này, độ chính xác của bộ phân tích cú pháp trên tiếng Việt chưa đạt được mức trung bình chung của các ngôn ngữ trên 80% [21] Đó là một thách thức và cả một quá trình để nghiên cứu trên tiếng Việt đạt độ chính xác cao hơn Các công trình nghiên cứu phân tích cú pháp phụ thuộc trên tiếng Việt được trình bày chi tiết trong Bảng 1.3

Trang 22

Ba ̉ ng 1.3 Tóm tắt các công trình phân tích cú pháp phụ thuộc trên tiếng Việt

 Định nghĩa tập nhãn phụ thuộc theo lược đồ phụ thuộc được phát triển bởi nhóm NLP của Đại học Stanford và dựa trên đặc điểm văn phạm tiếng Việt

 Đề xuất thuật toán chuyển đổi

tự động treebank thành tố sang treebank phụ thuộc

 Thử nghiệm phân tich cú pháp phụ thuộc cho tiếng Việt

sử dụng MaltParser và treebank phụ thuộc

 Xây dựng treebank phụ thuộc chứa 10000 câu

 Kết quả thử nghiệm: + UAS: 73.03%

+ LAS: 66.35%

 Hạn chế: Những hướng dẫn cho việc gán nhãn cần phải được định nghĩa rõ ràng hơn Tồn tại một vài lỗi trên trebank như: xác định sai gốc (root) trong các câu có nhiều mệnh đề, xác định sai các phụ thuộc giữa các token đặc biệt

 Kiểm tra Treebank phụ thuộc trên hai bộ phân tích tiên tiến

MaltParser

 Kết quả thử nghiệm trên

MaltParser

 Trên MSTParser:

+ UAS: 76.21 % + LAS: 66.95%

 Trên MaltParser:

+ UAS: 74.52%

+ LAS: 65.77%

 Hạn chế: Đạt độ chính xác khá cao, nhưng chưa chỉ ra được những lỗi gây ảnh hưởng độ chính xác

3

Cải tiến phân tích

cú pháp phụ thuộc

tiếng Việt dựa trên

đặc trưng biểu diễn

phân bố từ [26]

 Sử dụng hai mô hình học không giám sát Skip-gram và GloVe

 Với độ chính xác:

+ UAS: 76.29%

+ LAS: 69.25%

Trang 23

1.4 Kết luận

Với những thành tựu phân tích cú pháp phụ thuộc trên nhiều ngôn ngữ khác nhau, đặc biệt trên tiếng Anh với độ chính xác vượt qua 94% Các công trình nghiên cứu phân tích cú pháp phụ thuộc đã đóng góp cho khoa học về nhiều khía cạnh như các thuật toán phân tích, các thuật toán học, và mô hình đặc trưng Đặc biệt, sự đóng góp lớn của các công trình nghiên cứu lên quan đến hai hệ thống phân tích cú pháp MSTParser và MaltParser Khi tiếp cận trên một ngôn ngữ mới, chúng ta sẽ có nhiều sự lựa chọn về phương pháp một cách nhanh chóng để tiếp cận

Các nghiên cứu về phân tích cú pháp phụ thuộc trên tiếng Việt chưa đạt được kết quả như mong đợi, độ chính xác còn thấp so với những ngôn ngữ khác Chúng ta cần nghiên cứu trên những phương pháp và kỹ thuật tiên tiến để đạt được những mục tiêu đề ra và có thể áp dụng kết quả nghiên cứu phân tích cú pháp phụ thuộc vào các ứng dụng xử lý ngôn ngữ tự nhiên

Trang 24

Chương 2 : CƠ SỞ LÝ THUYẾT

Phân tích cú pháp là một trong những bài toán nghiên cứu nền tảng trong lĩnh vực ngôn ngữ học tính toán và xử lý ngôn ngữ tự nhiên Phân tích cú pháp có nhiều hướng tiếp cận khác nhau nhưng ba loại phân tích cú pháp thu hút được nhiều sự quan tâm nhiều của

cộng đồng nghiên cứu ngôn ngữ học tính toán là phân tích cú pháp thành tố (Phrase Structure Parsing), phân tích cú pháp phụ thuộc (Dependency Parsing), và phân tích cú pháp CCG (Combinatory Categorial Grammar Parsing) Trong nghiên cứu này, chúng tôi

tập trung vào phân tích cú pháp phụ thuộc, một loại phân tích cú pháp dựa trên văn phạm

từ vựng hóa (Lexicalized Grammar) Trước khi tiến hành nghiên cứu và thử nghiệm phân tích cú pháp phụ thuộc tiếng Việt, chúng tôi trình bày lại các kiến thức nền tảng, phương pháp và các công cụ hỗ trợ việc nghiên cứu phân tích cú pháp phụ thuộc

Hi ̀nh 2.1 Một ví dụ về đồ thị phụ của một câu tiếng Việt

Trang 25

Hi ̀nh 2.2 Minh họa cây cú pháp phụ thuộc chứa cấu trúc non-projective

Mỗi đồ thị phụ thuộc tuân theo một số qui tắc sau:

1 Nó có kết nối yếu (đồ thị có hướng)

2 Mỗi từ có chính xác một cạnh đến trên đồ thị (trừ node root, nó không có cạnh đến nào)

3 Nó không có vòng

4 Nếu câu có n từ (bao gồm cả gốc), thì đồ thị có chính xác n – 1 cạnh

Một đồ thị phụ thuộc thỏa mãn các ràng buộc (1), (2), (3), 𝑣à(4) thì nó được gọi là cây (tree) Người ta thường dùng thuật ngữ cây cú pháp phụ thuộc (dependency tree) để chỉ đầu ra (output) của bài toán phân tích cú pháp phụ thuộc

Các cạnh có hướng (directed edges) trên đồ thị phụ thuộc biểu diễn quan hệ phụ thuộc giữa các từ trong câu Ví dụ, một quan hệ giữa động từ và danh từ có thể tạo thành quan hệ chủ ngữ, và một quan hệ giữa danh từ và tính từ có thể tạo thành quan hệ bổ ngữ Quan hệ giữa hai từ được gọi là quan hệ phụ thuộc (head-modifier hoặc governor-dependent) Phần chính (head) thường được gọi là cha (parent) và phần phụ (modifier)

Trang 26

thường được gọi là con (child) Nhưng trong báo cáo này, chúng tôi dùng quan hệ head (chính) – modifier (phụ) để chỉ mối quan hệ phụ thuộc

Phân tích cú pháp phụ thuộc trong một thập kỉ qua đã thu hút sự quan tâm rộng rãi của cộng đồng ngôn ngữ học tính toán và có nhiều thành công trong việc giải quyết các vấn đề xử lý ngôn ngữ tự nhiên từ dịch máy đến xây dựng các ontology

2.3 Các hướng tiếp cận phân tích cú pháp hướng dữ liệu (Data-driven)

Phân tích cú pháp phụ thuộc có hai hướng tiếp cận chính, đó là phân tích cú pháp

phụ thuộc dựa trên văn phạm (grammar-based dependency parsing) và phân tích cú pháp phụ thuộc dựa trên dữ liệu (data-driven dependency parsing) Trong nghiên cứu cua tôi,

tôi tập trung vào mô hình phân tích phổ biến - phân tích cú pháp phụ thuộc dựa trên dữ liệu Không giống với hướng tiếp cận phân tích cú pháp dựa trên văn phạm, hướng phân tích dựa trên dữ liệu là dùng phương pháp học để sản sinh các cây cú pháp phụ thuộc cho

Trang 27

các câu dựa trên ngữ liệu đã được gán nhãn sẵn Thuận lợi của mô hình này là dễ dàng thực hiện trên bất kỳ miền dữ liệu hoặc ngôn ngữ nào mà có sẵn treebank

Dựa trên thuật toán phân tích cú pháp, người ta chia phân tích cú pháp phụ thuộc dựa trên dữ liệu có ba hướng tiếp cận chính: graph-based, transition-based và hydrid Trong

đó, hướng phân tích hydrid là sự kết hợp giữa hai hướng tiếp cận graph-based và based Kiến trúc của hệ thống phân tích cú pháp phụ thuộc dựa trên hướng tiếp cận data-driven được mô tả trong Hình 2.4 Hệ thống phân tích cú pháp này cần dữ liệu huấn luyện (training data), dữ liệu huấn luyện này được lấy ra từ treebank Chúng ta sử dụng các thuật toán học (learning algorithm) trên dữ liệu huấn luyện để tạo ra mô hình phân tích (parsing model) Để có một hệ thống phân tích cú pháp hoàn chỉnh, hệ thống cần có một thuật toán phân tích (parsing algorithm)

transition-Hi ̀nh 2.4 Kiến trúc hệ thống phân tích cú pháp phụ thuộc hướng data-driven

Các hệ thống phân tích cú pháp phụ thuộc graph-based tham số hóa mô hình thông qua các đồ thị phụ thuộc con và học các tham số này để tính toán chính xác các đồ thị cho mỗi câu trong tập huấn luyện Hệ thống phân tích cố gắng tìm ra đồ thị phụ thuộc có điểm cao nhất từ tập hợp các đồ thị ứng cử, điều này có thể được xem như một chiến lược suy luận toàn cục (global inference) Công trình nghiên cứu phân tích cú pháp phụ thuộc nổi tiếng nhất được đề xuất nhóm nghiên cứu McDonald [27] và các cộng sự từ năm 2006 Kết

Trang 28

quả nghiên cứu này là hệ thống phân tích cú pháp MSTParser Hiện tại, hệ thống này đã được công bố và sử dụng miễn phí cho mục đích nghiên cứu.

Các hệ thống phân tích cú pháp phụ thuộc transition-based tham số các model thông qua các bước chuyển (transitions) của máy chuyển đổi trạng thái trừu tượng (abstract state machine) Các tham số này được học thông qua các kỹ thuật phân lớp để dự đoán trạng thái chuyển phù hợp nhất dựa trên lịch sử trạng thái (state history) Suy luận trong hệ thống này

là cục bộ bởi vì hệ thống phân tích cú pháp phụ thuộc bắt đầu từ một trạng thái cố định ban đầu, và xây dựng đồ thị phụ thuộc một cách tham lam với những bước chuyển có điểm cao nhất tại mỗi trạng thái cho đến khi gặp trạng thái mục tiêu Công trình nghiên cứu nổi bật nhất về hệ thống phân tích cú pháp phụ thuộc transition-based là MaltParser [28] Công trình này được nghiên cứu bởi Nirve và các đồng nghiệp từ 2006 Hiện tại, bộ phân tích này đã được công bố và sử dụng miễn phí cho mục đích nghiên cứu

Công trình [21] mô tả phân tích lỗi (error analysis) để thấy sự khác biệt giữa hệ thống phân tích cú pháp phụ thuộc MSTParser và MaltParser McDonald và Nirve đã thực hiện phân tích các lỗi trên 2 bộ phân tích cú pháp phụ thuộc nổi tiếng, dựa trên kết quả phân tích của 13 ngôn ngữ từ CoNLL Shared Task 2006 [13] Họ đã tiến hành phân tích trên nhiều khía cạnh khác nhau: chiều dài, cấu trúc đồ thị và các loại nhãn (nhãn từ loại và nhãn phụ thuộc) Những kết quả cho thấy cả hai mô hình trái ngược nhau, có thể kết hợp với nhau để tạo ra một hình tốt hơn Trong luận văn, chúng tôi thực hiện các phương pháp phân tích lỗi tương tự trên tiếng Việt

2.4 Ngữ liệu treebank phụ thuộc

Trên tiếng Việt, ít tài nguyên cho phục phục vụ việc nghiên cứu Treebank là một trong những tài nguyên quan trọng cho xử lý ngôn ngữ tự nhiên Treebank là tập hợp các cây cú pháp được biểu diễn dưới một mô hình ngữ pháp cụ thể Việt Treebank [17] là một treebank tiếng Việt, một phần của dự án quốc gia - VLSP (Vietnamese Language and Speech Processing) Treebank tiếng Việt chứa khoảng 10,200 cây cú pháp thành tố (tương đương khoảng 220,000 tokens)

Trang 29

Treebank phụ thuộc tiếng Việt VnDT (Vietnamese Dependency Treebank) chứa các cây cú pháp phụ thuộc được chuyển từ Việt Treebank theo phương pháp tiếp cận của Nguyen [15] Treebank VnDT chứa tất cả 33 nhãn phụ thuộc, các nhãn này được trình bày chi tiết trong Bảng 2.1 Tỉ lệ cấu trúc non-projective trong VnDT chiếm 4.49% Số phần trăm các câu có chiều dài dưới 30 chiếm tới 80% và chiều dài trung bình của các câu trong VnDT là 21.45 token, nhìn chung câu khá dài so với những ngôn ngữ khác

Ba ̉ ng 2.1 Danh sách nhãn phụ thuộc của treebank VnDT

O.F.Tags O.F.Tags liên quan tới các nhãn chức năng, được xem như

các loại phụ thuộc: LOC, TMP, PRP, MNR, PRD, vv

7.05

Bộ ngữ liệu phụ thuộc treebank VnDT sử dụng định dạng dữ liệu CoNLL-X, được

để xuất bởi CoNLL Shared Task [14] Chuẩn dữ liệu này bao gồm 10 cột dữ liệu: ID (chỉ

số các từ, bắt đầu từ 1), FORM (từ), LEMMA (từ gốc), CPOSTAG (nhãn từ loại chung),

Trang 30

POSTAG (nhãn từ loại mịn), FEATS (các đặc trưng về hình thái), HEAD (phần chính), DEPREL (nhãn phụ thuộc), PHEAD (phần chính projective), và PDEPREL (nhãn phụ thuộc của PHEAD) Mỗi câu được phân cách nhau bằng một dòng trắng Trong treebank VnDT chỉ sử dụng các cột dữ liệu ID, FORM, CPOS, POSTAG, HEAD, và DEPREL; và giá trị các cột còn lại mặc định “_” Cây cú pháp phụ thuộc trong Hình 1.1 được minh họa theo chuẩn dữ liệu CoNLL-X như sau:

ID FORM LEMMA CPOSTAG POSTAG FEATS HEAD DEPREL PHEAD PDEPREL

Hi ̀nh 2.5 Minh họa chuẩn CoNLL-X cho một câu tiếng Việt

Để xây dựng một hệ thống phân tích cú pháp theo hướng tiếp cận data-driven, chúng

ta phải có một tập hợp lớn các cây cú pháp phụ thuộc – treebank Trong nghiên cứu này, tôi đã sử dụng treebank VnDT để tiến hành các thử nghiệm

2.5 Phương pháp tiếp cận trong nghiên cứu cú pháp phụ thuộc tiếng Việt

Luận văn này tập trung thực hiện hai nhiệm vụ nghiên cứu: phân tích lỗi và sử dụng đặc trưng siêu nhãn Mục này trình bày những lý thuyết liên quan mà luận văn này

đã sử dụng

2.5.1 Phân tích lỗi cú pháp phụ thuộc

Với những kết quả phân tích cú pháp phụ thuộc từ CoNLL Shared Task 2006 [13], hai nhà nghiên cứu tiên phong trong lĩnh vực phân tích cú pháp phụ thuộc McDonald và Nirve, họ đã tiến hành đưa ra phương pháp phân tích lỗi cú pháp phụ thuộc Đây là một trong những bước quan trọng để phân tích và đánh giá những tồn tại mà các phương pháp

Trang 31

tiếp cận đang đối mặt, và từ đó để có cái nhìn sâu sắc hơn về phân tích cú pháp phụ thuộc

để đưa ra những hướng tiếp cận mới phụ hợp và đạt hiệu quả

McDonald và Nirve đã đề xuất phương pháp phân tích lỗi cú pháp phụ thuộc [21]

Họ đã tiến hành phân tích và so sánh các lỗi trên hai phương pháp tiếp cận graph-based và transition-based Họ đã thực hiện hàng loạt thí nghiệm trên kết quả phân tích cú pháp phụ thuộc của 13 ngôn ngữ từ CoNLL Shared Task 2006 Những thử nghiệm này được xem xét trên nhiều khía cạnh như những đặc điểm về cấu trúc và ngôn ngữ Những kết quả của việc phân tích đã chứng minh được sự trade-off giữa hai mô hình và việc kết hợp giữa hai

mô hình tạo ra mô hình lai để đạt kết quả tốt hơn, đã được đề xuất

2.5.2 Phân tích cú pháp phụ thuộc theo hướng transition-based

Phương pháp phân tích cú pháp phụ thuộc transition-based là một loại phân tích cú pháp dựa trên những kỹ thuật máy học trong việc tận dụng các cấu trúc phụ thuộc từ kho ngữ liệu treebank Phương pháp này tạo ra mô hình phân tích tham số hóa trên một loạt các

di chuyển để xác định trạng thái đích

A Thuật toán phân tích cú pháp Arc-standard

Trong mô hình arc-standard (được đề xuất bởi Nirve [28]), cấu hình 𝑐 = (𝑠, 𝑏, 𝐴) bao gồm một stack s, một buffer b và một tập hợp các cạnh 𝐴 Cấu hình khỏi tạo ban đầu cho câu 𝑤1, … , 𝑤𝑛 là 𝑠 = [𝑅𝑂𝑂𝑇], 𝑏 = 𝑤1, … , 𝑤𝑛, và 𝐴 = Cấu hình c ở trạng thái kết thúc nếu buffer b là rỗng và stack s chứa duy nhất một nốt ROOT si là từ thứ i nằm ở đỉnh của stack s và bi là phần tử thứ I của buffer b Hệ thống arc-standard gồm 3 loại di chuyển:

 LEFT-ARC: thêm 1 cạnh s1  s2 và xóa s2 khỏi stack với điều kiện |s| ≥ 2

 RIGHT-ARC: thêm 1 cạnh s2  s1 và xóa s1 khỏi stack với điều kiện |s| ≥ 2

 SHIFT-ARC: di chuyển b1 từ buffer b đến stack s với điều kiện |b| ≥ 1

Bảng 2.2 minh họa một ví dụ phân tích cú pháp phụ thuộc theo mô hình

arc-standard cho câu “Hai kịch bản mới mô tả cuộc sống hiện đại ”

Trang 32

Ba ̉ ng 2.2 Minh họa quá trình phân tích cú pháp phụ thuộc theo Arc-standard

[Hai kịch_bản mới mô_tả cuộc_sống hiện_đại ]

2 SHIFT [ROOT Hai]

[kịch_bản mới mô_tả cuộc_sống hiện_đại ]

3 SHIFT [ROOT Hai kịch_bản]

[mới mô_tả cuộc_sống hiện_đại ]

4 LEFT-ARC{DET} [ROOT kịch_bản]

[mới mô_tả cuộc_sống hiện_đại ]

A  (kich_bản, hai)

5 SHIFT [ROOT kịch_bản mới]

[mô_tả cuộc_sống hiện_đại ]

6 RIGHT-ARC {NMOD} [ROOT kịch_bản]

[mô_tả cuộc_sống hiện_đại ]

A  (kich_bản, mới)

8 LEFT-ARC{SUB} [ROOT mô_tả] [cuộc_sống

hiện_đại ] A  (kich_bản, mới)

9 SHIFT [ROOT mô_tả cuộc_sống] [hiện_đại ]

10 SHIFT [ROOT mô_tả cuộc_sống

hiện_đại] [.]

11 RIGHT-ARC{NMOD} [ROOT mô_tả cuộc_sống] [.] A  (cuộc_sống, hiện đại)

12 RIGHT-ARC{DOB} [ROOT mô_tả] [.] A  (mô_tả, cuộc_sống)

13 SHIFT [ROOT mô_tả ] []

14 RIGHT-ARC{PUNCT} [ROOT mô_tả] [] A  (mô_tả, )

15 RIGHT-ARC{ROOT} [ROOT] [] A  (ROOT, mô_tả)

Thuật toán phân tích dựa trên các bước chuyển: Cho một hàm oracle o dự đoán chính xác bước chuyển kế tiếp, thuật toán được mô tả như sau:

Trang 33

5 return G = ({w0, w1, …, wn}, Ac)

Với hàm oracle o được thực hiện như sau:

Cs(x = x1, …, xn) = ([0], [1, …, n], )

1 while (Buffer β khác rỗng và !(Stack σ chỉ chứa gốc))

2 If (σ[0] là phần chính của σ[1] và tất cả con của σ[1] được đính vào nó và σ[1] không phải là nốt gốc)

3 Thực hiện bước chuyển Left-Arc

4 Ngược lại nếu (σ[1] là phần chính của σ[0] và tất cả cây con σ[0] được đính vào nó và σ[0] không là gốc)

5 Thực hiện bước chuyển Right-Arc

6 Ngược lại thực hiện bước chuyển SHIFT

B Mô hình đặc trưng cho thuật toán học

Các loại đăng trưng trong phân tích cú pháp phụ thuộc tập trung vào ba loại cơ bản:

từ (word form), nhãn từ loại (POS) và nhãn phụ thuộc (dependency type) Để sinh ra nhiều đặc trưng hơn, các hệ thống phân tích cú pháp phụ thuộc có thể kết hợp các loại đặc trưng

cơ bản với nhau Biểu diễn đặc trưng dựa trên lịch sử (history-based) được sử dụng trong phân tích cú pháp phụ thuộc dựa trên các bước chuyển Bảng 2.3 mô tả mô hình đặc trưng

trong hệ thống phân tích cú pháp Arc-standard

Ba ̉ ng 2.3 Mô hình đặc trưng cơ bản theo thuật toán phân tích Arc-standard

S0.w; B0.w; B1.w;

head(S0).w

S0.pos; S1.pos; B0.pos;

B1.pos; B2.pos; B3.pos rdep(S0).lab; ldep(B0).lab;

rdep(B0).lab Chú thích: Si và Bi là phần tử thứ i của stack và buffer trong hệ thống phân tích cú pháp Arc-standard ldep, redep và head là các hàm với giá trị trả về tương ứng là phần phụ (dependent) trái nhất, phần phụ phải nhất và phần chính của phần tử hiện tại trên stack hoặc buffer pos, w, và lab tương ứng là nhãn từ loại, từ và nhãn phụ thuộc

Mục tiêu của quá trình các bước chuyển là dự đoán chính xác một chuỗi di chuyển

Trang 34

điểm này là tích giữa trọng số và các đặc trưng Các đặc trưng này biểu diễn thông tin của

từ vựng (từ và nhãn từ loại) dựa trên cấu hình hiện tại Tuy nhiên, những thông tin này không đủ để dự đoán chính xác các bước chuyển (transitions), bởi vì mục đích các đặc trưng dùng để khử nhập nhằng, từ vựng thì phân bố thưa thớt và nhãn chưa đủ mịn

Nhiều công trình nghiên cứu cú pháp phụ thuộc transition-based đã chứng minh được tính hiệu quả của tận dụng của việc sử dụng nhiều đặc trưng như đặc trưng làm mịn nhãn từ loại hơn [29], các đặc trưng phi cục bộ (non-local) [30], và các đặc trưng siêu nhãn [31] Vì vậy, việc nghiên cứu và tìm ra các đặc trưng phù hợp với một ngôn ngữ là rất quan trọng trong việc xây dựng phân tích cú pháp phụ thuộc

2.5.3 Hiệu quả của đặc trưng siêu nhãn trong phân tích cú pháp

Siêu nhãn (supertags) là một nhãn chứa thông tin cú pháp được rút trích ra từ các cây cú pháp phụ thuộc của ngữ liệu treebank Các thông tin này rất hiệu quả trong việc khử nhập nhằng giữa các cấu trúc cú pháp Có nhiều hệ thống phân tích cú pháp được cải tiến với đặc trưng siêu nhãn, nổi bật có các công trình sau: phân tích phụ thuộc trên tiếng Anh [32], phân tích cú pháp phụ thuộc tiếng Đức với mô hình văn phạm ràng buộc trọng

số, và phân tích cú pháp phụ thuộc tiếng Hindi bằng cách tận dụng siêu nhãn CCG [33] Đối với tiếng Anh, Ouchi và các đồng nghiệp [31] đã đề xuất hai mô hình siêu nhãn cho phân tích cú pháp phụ thuộc transition-based với sự cải thiện 1.3% (UAS)

Ochi và các cộng sự đã đề xuất thiết kế hai mô hình siêu nhãn để cải tiến phân tích

cú pháp phụ thuộc tiếng Anh Hai mô hình được thiết kế chủ yếu dựa trên thông tin có sẵn

từ ngữ liệu treebank, những thông tin mà họ sử dụng như: nhãn phụ thuộc, vị trí (trái hoặc phải) của phần chính và phần phụ Số lượng siêu nhãn của hai mô hình lần lượt là 79 và

312 Mô hình 1 hiệu quả hơn mô hình 2, góp phần làm độ chính xác của parser tăng 91.35% Các thiết và các đặc trưng của siêu nhãn được trình bày chi tiết trong bài báo [31] Trong luận văn này, chúng tôi sẽ thiết kế một đặc trưng mới cho tiếng Việt, dựa trên thiết kế của Ouchi và các đồng nghiệp

Trang 35

2.6 Các công cụ hỗ trợ phân tích cú pháp phụ thuộc

Phân tích cú pháp phụ thuộc là một trong những đề tài nghiên cứu nổi bật trong ngôn ngữ học tính toán trong một thập kỉ qua, kể từ sự thành công của hai Shared Tasks (2006, 2007) Và vì thế có rất nhiều công cụ hỗ trợ phát triển đã được công bố và sử dụng

miễn phí cho mục đích nghiên cứu Luận văn này sử dụng các công cụ liên quan như:

 Công cụ 1 và 2: Hai công cụ hỗ rợ mạnh về phân tích cú pháp phụ thuộc: MSTParser

[27] và MaltParser [34] Hai công cụ này tích hợp sẵn từ định dạng dữ liệu đầu vào cho đến các thuật toán phân tích, thuật toán học, và các mô hình đặc trưng Chúng

ta có thể dùng hai công cụ này cài đặt trên bất kỳ ngôn ngữ mới nào Hai parser này

hỗ trợ trên ngôn ngữ lập trình Java

 Công cụ 3: Đối với Maltparser, chúng ta có công cụ hỗ trợ tối ưu hóa các tham số

trong hệ thống phân tích cú pháp với tên gọi là MaltOptimizer [25], được xây dựng bởi A và các cộng sự Một công cụ mã nguồn mở hỗ trợ các nhà nghiên cứu và phát phát triển MaltOptimizer hỗ trợ trên ngôn ngữ lập trình Java

 Công cụ 4: Để đánh giá nghiên cứu phân tích cú pháp phụ thuộc, Nilsson và Nirve

đã xây dựng hệ thống MalEval [35] Công cụ vừa hỗ trợ đánh giá vừa cho phép người dùng hiển thị các cây cú pháp phụ thuộc một cách trực quan Công cụ MaltEval hỗ trợ trên ngôn ngữ lập trình Java

 Công cụ 5: vnTokenizer [36] là một công cụ tách từ tự động cho tiếng Việt, được viết bởi Le và các cộng sự Công cụ này được viết trên ngôn ngữ Java Đạt độ chính xác từ 96 – 98%

 Công cụ 6: Nghiên cứu này sử dụng công cụ gán nhãn tự động RDRPOSTagger

dựa trên rule-based được xây dựng bởi Đạt Nguyễn và các cộng sự [37] RDRPOSTagger là một công cụ hỗ trợ mạnh, dễ sử dụng và được sử dụng trên nhiều ngôn ngữ khác nhau cho gán nhãn từ loại RDRPOSTagger đạt 93.42% trên tiếng Việt và hỗ trợ trên hai ngôn ngữ lập trình Java và Python

 Công cụ 7: Công cụ C&C [38] hỗ trợ gán các siêu nhãn cho phân tích cú pháp CCG Đặc biệt, công cụ này sử dụng phương pháp Maximum Entropy Trong luận văn

Trang 36

này, chúng tôi sử dụng công cụ C&C để gán tự động các mô hình siêu nhãn cho tiếng Việt

Bên cạnh những phương pháp tiếp cận chính, cộng đồng nghiên cứu xử lý ngôn ngữ

tự nhiên còn phát triển các phương pháp phân tích lỗi và khám phá ra những đặc trưng có thể cải tiến được phân tích cú pháp phụ thuộc Đây là hai phương pháp mà chúng tôi lựa chọn để phát triển trong luận văn này

Trang 37

Chương 3 : PHÂN TÍCH LỖI CHO PHÂN TÍCH CÚ PHÁP PHỤ

THUỘC TIẾNG VIỆT

Chương này giới thiệu phương pháp phân tích lỗi cho phân tích cú pháp phụ thuộc tiếng Việt Chúng tôi đã thực hiện và công bố được một bài báo khoa học tại hội nghị quốc

tế KSE 2015 với chủ đề “Phân tích lỗi cho phân tích cú pháp phụ thuộc tiếng Việt –

Error Analysis for Vietnamese Dependency Parsing” [18] Chúng tôi tập trung vào phân

tích lỗi theo những khía cạnh khác nhau dựa trên cấu trúc phụ thuộc để có cái nhìn sâu sắc

và từ đó, nhận ra những khuyết điểm của phân tích cú pháp phụ thuộc trên tiếng Việt Những đóng góp này có thể giúp chúng ta phát triển và cải thiện phân tích cú pháp phụ thuộc tiếng Việt

3.1 Phương pháp phân tích lỗi cho phân tích cú pháp phụ thuộc trên tiếng

Việt

Chúng tôi tiến hành thực hiện các phương pháp phân tích lỗi (error analysis) dựa trên những đặc điểm cấu trúc đồ thị và ngôn ngữ của các cấu trúc phụ thuộc Những kết quả phân tích của những phân tích thử nghiệm được thống kê dựa trên độ chính xác và độ phủ của phân tích cú pháp phụ thuộc trên dữ liệu dự đoán và dữ liệu chuẩn Quá trình phân

tích phân tích lỗi được thực hiện theo hai bước quan trọng sau:

 Bước 1: Sử dụng hai hệ thống phân tích cú pháp nổi bật là hệ thống phân tích cú

pháp phụ thuộc dựa trên đồ thị MSTParser và hệ thống phân tích cú pháp phụ thuộc dựa trên các bước chuyển MaltParser để huấn luyện và kiểm tra thông qua phương pháp thử nghiệm n-fold cross-validation Theo lược đồ thử nghiệm và đánh giá này, chúng tôi sử dụng n-1 gói (fold) dữ liệu để huấn luyện và một gói còn lại để đánh

giá, lần lượt thực hiện trên n lần

Bước 2: Phân tích lỗi được thực hiện dựa trên 3 nhân tố chính: chiều dài (độ dài của

câu, độ dài của các phụ thuộc), cấu trúc đồ thị (khoảng cách gốc, số lượng sibling),

Trang 38

và đặc trưng ngôn ngữ học (nhãn từ loại và nhãn phụ thuộc), cách tiếp cận này đã được thực hiện trên các ngôn ngữ khác [21] và [39].

Trước khi tiến hành lỗi, chúng tôi cần làm rõ một số định nghĩa của các nhân tố liên

quan đến các khái niệm trong đồ thị phụ thuộc và ngôn ngữ học như:

 Chiều dài của một câu (sentence length) được tính bằng số từ/token trong một câu

Trong Hình 1.1, câu “Hai kịch bản mới mô tả cuộc sống hiện đại ” có chiều dài

bằng 7

 Chiều dài của một phụ thuộc (dependency length) là khoảng cách của một cạnh

giữa phần chính (head) và phần phụ (dependent) của nó Chiều dài của một quan hệ phụ thuộc từ từ wi đến từ wj được tính bằng 𝑖– 𝑗 ∨ Trong Hình 1.1, cạnh phụ thuộc

từ mô_tả đến kịch_bản có chiều dài của quan hệ phụ thuộc bằng 2

 Sibling của một phụ thuộc: Hai cạnh phụ thuộc (𝑖, 𝑗, 𝑙) và(𝑖’, 𝑗’, 𝑙’) được xem là sibling nếu chúng cùng biểu diễn cho một phần chính (head), trong trường hợp này

thì i = i’ Trong Hình 1.1, các cạnh từ từ kịch_bản đến từ hai và mới được xem là

sibling với nhau

 Nhãn từ loại của phần phụ (dependent): Trong nghiên cứu này, chúng tôi chỉ xem

xét độ chính xác theo nhãn từ loại của phần phụ Chúng tôi chỉ tập trung vào phân tích một số nhãn từ loại chính như danh từ (noun), động từ (verb), tính từ (adjective),

phụ từ (adjunct), giới từ (preposition) và các từ nối (conjunction)

 Nhãn phụ thuộc (dependency label): Là nhãn để chỉ mối quan hệ giữa phần chính

(head) và phần phụ (dependent) Trong nghiên cứu này, chúng tôi chỉ tập trung vào những quan hệ phổ biến như gốc (root), chủ ngữ (subject), tân ngữ (direct object và indirect object), bổ ngữ danh từ (noun modifier), bổ ngữ động từ (verb modifier),

bổ ngữ tính từ (adjective modifier), các quan hệ kết hợp (coordination và

conjunction)

Trang 39

3.2 Kết quả phân tích lỗi trên phân tích cú pháp phụ thuộc tiếng Việt

Những kết quả phân tích lỗi được chúng tôi phân tích và so sánh trên dữ liệu kiểm tra (test data) và dữ liệu dự đoán (predicted data) Với những kết quả thu được, chúng tôi tiến hành so sánh chúng với những báo cáo trong bài báo trên những ngôn ngữ khác [21]

Trước khi tiến hành phân tích lỗi, chúng tôi cần thực hiện các thử nghiệm cần thiết

để thu được dữ liệu dự đoán Chúng tôi đã tiến hành huấn luyện và đánh giá trên hai bộ phân tích cú pháp phụ thuộc tiên tiến MSTParser và MaltParser Trong thử nghiệm này, chúng tôi sử dụng phương pháp thử nghiệm và đánh giá 5-fold cross-valiation với kích thước trung bình mỗi fold là 2400 cây cú pháp phụ thuộc (tương đương với khoảng 43,750 từ/token) Đối với bộ phân tích MaltParser, chúng tôi đã sử dụng công cụ tối ưu hóa dành cho bộ phân tích MaltParser là MaltOptimizer để tối ưu và chọn thuật toán phân tích, thuật toán học, mô hình đặc trưng và các thông số liên quan phù hợp với ngữ liệu treebank VnDT Đối với bộ phân tích MSTParser, chúng tôi đã sử dụng mô hình phân tích cú pháp phụ thuộc non-projective Trong những thử nghiệm này, chúng tôi đã sử dụng bộ nhãn từ loại chuẩn để huấn luyện và đánh giá

Bảng 3.1 trình bày kết quả thử nghiệm phân tích cú pháp phụ thuộc trên tiếng Việt của trung bình năm lần đo Nhìn chung trong thử nghiệm này, độ chính xác MSTParser vượt trội so với MaltParser Đối với độ chính xác UAS, MSTParser thu được 76.58% hơn 0.5% so với MaltParser (76.08%) Về độ chính xác LAS, MSTParser tốt hơn với độ chính xác 70.10% và trong khi đó, MaltParser chỉ đạt 69.88% Trong thử nghiệm này, chúng tôi tính độ chính xác bao gồm cả việc tính độ chính xác của các phụ thuộc của các dấu chấm câu (punctuation)

Ba ̉ ng 3.1 Độ chính xác phân tích cú pháp phụ thuộc tiếng Việt

Trang 40

3.2.1 Phân tích lỗi theo chiều dài câu

A Chiều dài của câu (sentence length)

Độ chính xác của hai bộ phân tích cú pháp theo chiều dài được trình bày chi tiết trong Bảng 3.1 Gọi  là độ chênh lệch độ chính xác giữa hai bộ phân tích cú pháp Trong thử nghiệm, độ lệch || không vượt quá 1% Nhìn chung, cả hai bộ phân tích cú pháp cho tiếng Việt có xu hướng chính xác cao hơn đối với những câu ngắn Tượng tự những ngôn ngữ khác, MaltParser có xu hướng phân tích tốt cho những câu ngắn (độ dài từ 11-20 chiếm 35.39%) Vì MaltParser sử dụng chiến lược tìm kiếm tham lam và độ lan truyền lỗi sẽ giảm nếu phân tích trên những câu ngắn

Ba ̉ ng 3.2 Độ chính xác của MSTParser và MaltParser theo tiếng Việt theo chiều dài câu Chiều dài câu Tỉ lệ (%) MSTParser MaltParser 

B Chiều dài của quan hệ phụ thuộc (dependency length)

Độ chính xác (precision) và độ phủ (recall) của mỗi bộ phân tích liên quan đến chiều dài của quan hệ phụ thuộc dựa trên dữ liệu dự đoán (predicted data) và dữ liệu vàng (gold data) Độ chính xác là tỉ lệ phần trăm các phụ thuộc với chiều dài d (d≥1) được dự đoán chính xác Độ phủ là tỉ lệ phần trăm các phụ thuộc của dữ liệu vàng với chiều dài d (d≥1)

Ngày đăng: 23/12/2018, 06:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm