Tải bản đầy đủ (.pdf) (81 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.12 MB, 81 trang )

ĐẠ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


ĐẠ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


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

1


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
Cô kính yêu.
Trong quá trình học tập, nghiên cứu và làm việc tại trường Đại học Công nghệ thông
tin - Đại học Quốc Gia TP. HCM, tôi cũng không thể nào quên được công ơn của các thầy
cô giáo đã giảng dạy và hướng dẫn tôi trong quá trình hoàn thành các môn học. Tôi xin
được gửi lời cảm ơn chân thành nhất đến quý thầy cô.
Để hoàn thành luận văn này, tôi không thể quên được công ơn sinh thành và dưỡng

dục của bố mẹ tôi. Cảm ơn bố mẹ, những người luôn dõi theo từng bước của tôi và là nguồn
động lực tinh thần lớn của tôi trên mọi chặng đường.
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

2


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
3.2.2. Phân tích lỗi theo cấu trúc đồ thị phụ thuộc ................................................... 40

3


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

4


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

STT
1
2
3
4
5
6

Ý nghĩa

Kí hiệu
POS
NLP
Transition-based
Graph-based
CoNLL
ACL

7

EACL


8
9
10
11
12
13
14
15

COLING
UAS
LAS
VnDT
VLSP
LTAG
HPSG
CCG

Part of Speech
Natural Language Processing
Dựa trên các bước chuyển
Dựa trên đồ thị
Conference on Computational Natural Language Learning
Association for Computational Linguistics
European Chapter of the Association for Computational
Linguistics
International Conference on Computational Linguistic
Unlabeled Attachment Score
Labeled Attachment Score

Vietnamese dependency Treebank
Vietnamese Language and Speech Processing
Lexicalized Tree-Adjoining Grammar
Head-driven Phrase Structure Grammar
Combinatory Categorial Grammar

5


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

6


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

7


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

8


MỞ ĐẦU
Đặt vấn đề
Phân tích cú pháp (syntactic analysis or parsing) là một trong những chủ đề trọng
tâm trong quá trình phát triển của ngôn ngữ học tính toán (computational linguistics) và xử
lý ngôn ngữ tự nhiên (NLP). 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 nhiều
đến các ứng dụng xử lý ngôn ngữ tự nhiên (natural language processing) như trích 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.
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.

9


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.
10


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.


11


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 (state-ofthe-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.
 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.

12



 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.

13



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.

14


Hin
̀ h 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.
15


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à nonprojective. 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).
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.

16


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

MST

Malt

Arabic

66.91

66.71


Bulgarian

87.57

87.41

Chinese

85.90

86.92

Czech

80.18

78.42

Danish

84.79

84.77

Dutch

79.19

78.59


German

87.34

85.82

Japanese

90.71

91.65

Portuguese

86.82

87.60

Slovene

73.44

70.30

Spanish

82.25

81.29


Swedish

82.55

84.58

Turkish

63.19

65.68

Trung bình

80.83

80.75

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.

17


Bảng 1.2. So sánh giữa hai parser MSTParser và MaltParser
Đặc điểm


Parser

Độ chính xác

 Đượ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.
MSTParser
+ 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.

80.83%.

 Đặc điểm:
+ Huấn luyện toàn cục của mô hình cho các đồ thị phụ thuộc tối
ưu.
+ Tìm kiếm/suy luận toàn diện.
 Được phát triển bởi Hall và các đồng nghiệp [22].
 Ý tưởng cơ bản:

+ Định nghĩa hệ thống chuyển tiếp (transition system) cho
việc chuyển một câu thành một đồ thị phụ thuộc (dependency
graph) tương ứng.
MaltParser + 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.


80.75%.

 Đặ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.
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 (graphbased 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
18


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.

19


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
STT

Tên công trình

Đặc điểm

Kết quả và hạn chế

1

 Dựa trên Việt Treebank để
xây dựng Treebank phụ  Xây dựng treebank phụ
thuộc.
thuộc chứa 10000 câu.
 Định nghĩa tập nhãn phụ  Kết quả thử nghiệm:
thuộc theo lược đồ phụ thuộc

+ UAS: 73.03%
được phát triển bởi nhóm
+ LAS: 66.35%
Xây dựng Treebank
NLP của Đại học Stanford và  Hạn chế: Những hướng dẫn
cho phân tích cú
dựa trên đặc điểm văn phạm
cho việc gán nhãn cần phải
pháp phụ thuộc
tiếng Việt.
được định nghĩa rõ ràng
tiếng Việt [16].
 Đề xuất thuật toán chuyển đổi
hơn. Tồn tại một vài lỗi trên
tự động treebank thành tố
trebank như: xác định sai
sang treebank phụ thuộc.
gốc (root) trong các câu có
nhiều mệnh đề, xác định sai
 Thử nghiệm phân tich cú
các phụ thuộc giữa các
pháp phụ thuộc cho tiếng Việt
token đặc biệt.
sử dụng MaltParser và
treebank phụ thuộc.

2

Từ chuyển đổi
Treebank đến phân

tích cú pháp phụ
thuộc cho tiếng
Việt [15].

 Kết quả thử nghiệm trên
MSTParser
cao
hơ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  Sử dụng hai mô hình học  Với độ chính xác:
tiếng Việt dựa trên
không giám sát Skip-gram và + UAS: 76.29%
đặc trưng biểu diễn
GloVe
+ LAS: 69.25%
phân bố từ [26]


 Trình bày phương pháp
chuyển đổi tự động Việt
Treebank sang những cây
phụ thuộc
 Kiểm tra Treebank phụ thuộc
trên hai bộ phân tích tiên tiến
nhất:
MSTParser

MaltParser.

20


4

Nghiên cứu thử
 Với độ chính xác:
nghiệm phân tích  Thử nghiệm dựa trên phương
+ UAS: 73.53%
cú pháp phụ thuộc
pháp mạng neural network
+ LAS: 80.66%
tiếng Việt [8]

Các nghiên cứu phân tích cú pháp phụ thuộc trên tiếng Việt đạt kết quả tương đối
thấp so với những ngôn ngữ khác. Điều này đồng nghĩa với việc giới xử lý ngôn ngữ tự
nhiên Việt Nam nổ lực và nghiên cứu nghiêm túc hơn trong vấn đề xây dựng và phát triển
các bài toán cơ bản như bộ phân tích cú pháp phụ thuộc tiếng Việt.


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.

21


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.

2.1.

Phân tích cú pháp phụ thuộc
Đồ thị phụ thuộc (dependency graph) biểu diễn các từ và quan hệ cú pháp phụ thuộc

giữa các từ thông qua các cạnh có hướng. Hình 2.1 biểu diễn một đồ thị phụ thuộc cho một
câu: 𝐻𝑎𝑖 𝑘ị𝑐ℎ 𝑏ả𝑛 𝑚ớ𝑖 𝑚ô 𝑡ả 𝑐𝑢ộ𝑐 𝑠ố𝑛𝑔 ℎ𝑖ệ𝑛 đạ𝑖. Ví dụ này minh họa cho cấu trúc phụ
thuộc projective (các cạnh phụ thuộc không chéo nhau). Đồ thị cú pháp phụ thuộc có một
node gốc duy nhất Root nằm ở phía bên trái nhất của câu. Chúng ta có thể thấy rằng đồ thị
phụ thuộc là projective nếu và chỉ nếu mỗi cạnh từ từ 𝑤 đến từ 𝑢 tồn tại một cạnh có hướng
trên đồ thị từ 𝑤 đến mỗi từ giữa 𝑤 và 𝑢 trong một câu.

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

22


Một dạng đồ thị phụ thuộc khác là non-projective. Đồ thị này chứa các cạnh bắt
chéo nhau và Hình 2.2 là một ví dụ minh họa. Chúng ta có thể thấy hai quan hệ phụ thuộc
(𝑙à𝑚– ℎô𝑚𝑞𝑢𝑎 )và (𝑣𝑖ệ𝑐– 𝑚à) bắt chéo nhau. Trong các ngôn ngữ linh động như Séc, Hà
Lan và Đức, tần số suất hiện các phụ thuộc non-projective nhiều. Nhưng trên tiếng Việt thì
cấu trúc phụ thuộc khá nhỏ (chiếm 4.49% trong ngữ liệu VnDT), chúng ta có thể bỏ qua
cấu trúc này và tập trung nghiên cứu vào cấu trúc non-projective chiếm đa số (95.51%).

Hin
̀ h 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 governordependent). Phần chính (head) thường được gọi là cha (parent) và phần phụ (modifier)
23


×