Với một bộ phân tích cú pháp tốt, chúng ta có thể tích hợp vào nhiều ứng dụng trong xử lí ngôn ngữ tự nhiên như dịch máy, tóm tắt văn bản, các hệ thống hỏi đáp, trích chọn thông tin,....
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
——————————
Hà Mỹ Linh
PHÂN TÍCH CÚ PHÁP PHỤ THUỘC
TIẾNG VIỆT
LUẬN VĂN THẠC SĨ KHOA HỌC
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
——————————
Hà Mỹ Linh
PHÂN TÍCH CÚ PHÁP PHỤ THUỘC
TIẾNG VIỆT
Chuyên ngành: Cơ sở toán cho tin học
Mã số: 60460110
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Lê Hồng Phương
Hà Nội - 2015
Trang 3Lời cảm ơn
Em xin gửi lời cảm ơn tới các thầy giáo, cô giáo, cán bộ khoa Toán Cơ -Tin học, trường Đại học Khoa học tự nhiên, Đại học Quốc gia Hà Nội đã tận tình dạy dỗ và giúp đỡ em trong suốt thời gian học cao học và làm việc tại Bộ môn Tin học
Trong quá trình thực hiện luận văn này cũng như trong suốt những năm học vừa qua, em đã nhận được sự chỉ bảo và hướng dẫn nhiệt tình của TS Lê Hồng Phương và TS Nguyễn Thị Minh Huyền Em xin gửi tới Thầy Cô lời cảm ơn chân thành nhất
Em cũng xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, khuyến khích
và tạo điều kiện cho em trong quá trình học tập và thực hiện luận văn này Mặc dù đã cố gắng để hoàn thành luận văn, nhưng do hạn chế về kinh nghiệm
và thời gian, nên luận văn không thể tránh khỏi những thiếu sót Em mong nhận được sự cảm thông và những ý kiến đóng góp của các thầy cô và các bạn
Hà Nội, tháng 9 năm 2015
Học viên
Hà Mỹ Linh
Trang 4Mục lục
1.1 Cú pháp phụ thuộc 3
1.1.1 Định nghĩa cú pháp phụ thuộc 3
1.1.2 Biểu diễn cú pháp phụ thuộc 5
1.2 Các thuật toán phân tích cú pháp phụ thuộc 7
1.2.1 Phân tích cú pháp phụ thuộc dựa trên đồ thị 9
1.2.2 Phân tích cú pháp phụ thuộc dựa trên các bước chuyển 11 2 Xây dựng tập nhãn phụ thuộc cho tiếng Việt 16 2.1 Kho ngữ liệu tiếng Việt - Viettreebank 16
2.2 Tập nhãn quan hệ phụ thuộc đa ngôn ngữ 19
2.3 Tập nhãn quan hệ phụ thuộc cho tiếng Việt 23
3 Thực nghiệm 33 3.1 Các công cụ phân tích cú pháp phụ thuộc 33
3.1.1 MSTParser 33
3.1.2 MaltParser 35
3.2 Thuật toán xây dựng tài nguyên tiếng Việt tự động 39
3.2.1 Tập luật tìm phần tử trung tâm 40
Trang 53.2.2 Thuật toán chuyển tự động từ Viettreebank sang cú pháp
phụ thuộc 41 3.3 Kết quả thực nghiệm 45
Trang 6Danh sách bảng
1.1 Kết quả phân tích cú pháp phụ thuộc của hai mô hình cho hệ
thống CoNLL-X (Buchholz và Marsi 2006) 8
1.2 Các đặc trưng dùng trong MSTParser 10
1.3 Các đặc trưng dùng trong MaltParser 14
1.4 Ví dụ về phân tích cú pháp dựa vào các bước chuyển 15
2.1 Tập nhãn từ loại tiếng Việt 18
2.2 Tập nhãn cụm từ tiếng Việt 19
2.3 Tập nhãn mệnh đề tiếng Việt 19
2.4 Tập nhãn chức năng cú pháp tiếng Việt 20
2.5 So sánh tập nhãn phụ thuộc tiếng Việt với tập nhãn phụ thuộc đa ngôn ngữ (UD) và tập nhãn phụ thuộc tiếng Anh (SD) 32
3.1 Kết quả của MSTParser 35
3.2 Kết quả của MaltParser 39
3.3 Tập quy tắc xác định phần tử trung tâm 40
3.4 Câu tiếng Việt theo định dạng CoNLL-X chưa được phân tích 45
3.5 Câu tiếng Việt theo định dạng CoNLL-X đã được phân tích phụ thuộc 46
3.6 Kết quả phân tích cú pháp phụ thuộc với tập dữ liệu 2700 46 3.7 Kết quả phân tích cú pháp phụ thuộc với tập dữ liệu 6546 câu 47
Trang 7Danh sách hình vẽ
1.1 Cấu trúc cụm từ 4
1.2 Đồ thị phụ thuộc của một câu tiếng Anh 6
1.3 Ví dụ về phân tích cú pháp dựa trên đồ thị 11
3.1 Cú pháp thành phần của một câu tiếng Việt 41
Trang 8Lời mở đầu
Xử lí ngôn ngữ tự nhiên (Natural Language Processing - NLP) là một nhánh trong trí tuệ nhân tạo, tập trung các ứng dụng nhằm giúp các hệ thống máy tính hiểu và xử lí được ngôn ngữ của con người Xử lí ngôn ngữ tự nhiên là một trong những vấn đề khó và thu hút rất nhiều nhóm nghiên cứu vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ - là công cụ hoàn hảo nhất của tư duy và giao tiếp Phân tích cú pháp là một trong những vấn đề quan trọng trong lĩnh vực xử lí ngôn ngữ tự nhiên Với một bộ phân tích cú pháp tốt, chúng ta có thể tích hợp vào nhiều ứng dụng trong xử lí ngôn ngữ tự nhiên như dịch máy, tóm tắt văn bản, các hệ thống hỏi đáp, trích chọn thông tin, để tăng tính chính xác của các ứng dụng đó
Trong phân tích cú pháp, phân tích cú pháp phụ thuộc nghiên cứu về sự phụ thuộc giữa các từ trong câu dựa trên ngữ nghĩa Gần đây, phân tích cú pháp phụ thuộc thu hút được sự quan tâm của nhiều nhóm nghiên cứu ngôn ngữ tự nhiên trên thế giới bởi quan hệ phụ thuộc giữa hai từ trong câu nghiên cứu khử nhập nhằng ngữ nghĩa của câu và cú pháp này có khả năng mô hình hóa các ngôn ngữ có trật tự từ tự do Đối với nhiều ngôn ngữ như tiếng Anh, tiếng Pháp, tiếng Trung, đã có rất nhiều nghiên cứu và các công cụ phân tích cú pháp phụ thuộc với hiệu quả cao Tuy nhiên, các tiếp cận cho bài toán này hầu hết dựa trên học máy và đòi hỏi kho ngữ liệu với nhiều thông tin về từ loại và quan hệ phụ thuộc nên có rất ít công bố nghiên cứu về phân tích cú pháp phụ thuộc tiếng Việt
Hiện nay, các công cụ phân tích cú pháp phụ thuộc cho tiếng Việt đã đạt được một số kết quả nhất định Nhóm tác giả Nguyễn Lê Minh và cộng sự [1]
sử dụng thuật toán phân tích cú pháp dựa vào đồ thị, thực nghiệm với công cụ
Trang 9MSTParser và bộ dữ liệu khá hạn chế gồm 450 câu làm bằng tay với độ chính xác là 63.11% Nhóm tác giả Lê Hồng Phương và cộng sự [20] nghiên cứu phân tích cú pháp phụ thuộc dựa vào văn phạm kết nối cây từ vựng hóa, thực nghiệm huấn luyện với 8637 câu trong kho ngữ liệu cú pháp thành phần tiếng Việt, phân tích 441 câu có độ dài nhỏ hơn 30 từ và đạt độ chính xác là 73.21% Gần đây nhất là công bố của nhóm nghiên cứu của tác giả Nguyễn Quốc Đạt và cộng sự [7], tác giả đã chuyển tự động kho ngữ liệu cú pháp thành phần sang kho ngữ liệu cú pháp phụ thuộc, cùng với tập 33 nhãn quan hệ phụ thuộc với độ chính xác là 71.66% Tuy nhiên, hầu hết các nghiên cứu đối với tiếng Việt đều chưa thống nhất được tập nhãn phụ thuộc, các nhãn phụ thuộc chưa được mô tả một cách rõ ràng và hiệu quả phân tích còn khá hạn chế
Luận văn sẽ trình bày về vấn đề phân tích cú pháp phụ thuộc, tập trung vào việc xây dựng tập nhãn phụ thuộc cho tiếng Việt và thử nghiệm trên hai công
cụ phân tích cú pháp là MaltParser và MSTParser Nội dung chính của luận văn gồm có 3 chương:
• Chương 1 Tổng quan: Chương này trình bày những vấn đề liên quan tới
cú pháp phụ thuộc, các khái niệm cơ bản về phân tích cú pháp phụ thuộc
Và một số những thuật toán phân tích cú pháp phụ thuộc tốt nhất hiện nay
• Chương 2 Xây dựng tập nhãn phụ thuộc cho tiếng Việt: Chương này trình bày về việc nghiên cứu và xây dựng tập nhãn phụ thuộc cho tiếng Việt có đối sánh với tập nhãn phụ thuộc đa ngôn ngữ của nhóm nghiên cứu trường Đại học Stanford Ngoài ra, Chương này cũng so sánh sự khác nhau giữa hai bộ nhãn để thấy được những đặc trưng trong tiếng Việt
• Chương 3: Thực nghiệm: Chương này trình bày về một số công cụ phân
Trang 10Chương 1
Tổng quan về cú pháp phụ thuộc
Chương này sẽ trình bày các kiến thức cơ sở sử dụng trong các phần sau, đặc biệt là khái niệm liên quan tới phân tích cú pháp phụ thuộc và các thuật toán phân tích cú pháp phụ thuộc điển hình
1.1 Cú pháp phụ thuộc
Cú pháp là chủ đề nghiên cứu của hai cộng đồng gồm những người làm ngôn ngữ và những người làm tin học Cú pháp vừa là đối tượng nghiên cứu, vừa là một trong các cấp độ cần mô tả đối với cộng đồng những người làm ngôn ngữ Đối với cộng đồng những người làm tin học, cần làm cho máy tính phân tích được cú pháp với hai mục tiêu là xây dựng các ứng dụng, giải quyết một số bài toán thực tế, đối tượng nghiên cứu của họ là các hệ hình thức và các thuật toán
1.1.1 Định nghĩa cú pháp phụ thuộc
Kiến thức và ví dụ trong phần này trình bày theo tài liệu của các tác giả Joakim Nivre và Johan Hall cùng cộng sự [9]
Cú pháp là quy tắc dùng các tiếng để đặt câu văn cho chính xác Để sử dụng ngôn ngữ linh hoạt, ta phải hiểu rõ về cú pháp Muốn hiểu rõ về cú pháp, ta phải hiểu thế nào là câu, các loại câu, mệnh đề, các loại mệnh đề, cùng cấu trúc của chúng
Với một câu có thể có hai cách phân tích cú pháp: phân tích cú pháp thành
Trang 11Tài liệu tham khảo
Tài liệu tiếng Việt [1] Nguyễn Lê Minh, Hoàng Thị Điệp, Trần Mạnh Kế (2008), Nghiên cứu luật hiệu chỉnh kết quả dùng phương pháp MST phân tích cú pháp phụ thuộc tiếng việt, Kỷ yếu Hội thảo ICT.rda’08, Hanoi, Vietnam, pp 258–267 [2] Lê Hồng Phương, Nguyễn Thị Minh Huyền, Nguyễn Phương Thái, Phan Thị Hà (2010), Trích rút tự động văn phạm LTAG cho tiếng Việt, Tạp chí Tin học và Điều khiển học
[3] Nguyễn Phương Thái, Vũ Xuân Lương, Nguyễn Thị Minh Huyền (2008), Xây dựng treebank tiếng Việt, Kỷ yếu hội thảo ICT.rda’08, Hà Nội
Tài liệu tiếng Anh [4] Christopher D Manning and Hinrich Sch¨utze (1999), Foundations of Statis-tical Natural Language Processing, Massachusetts Institute of Technology, USA
[5] Daniel Cer, Marie-Catherine de Marneffez, Daniel Jurafskyz, Christopher
D Manning (2010), Parsing to Stanford Dependencies: Trade-offs between speed and accuracy, In Proceedings of LREC-10
Trang 12Conference on Application of Natural Language to Information Systems, NLDB’14, Springer LNCS, pp 196-207
[8] Jiang Guo, Wanxiang Che, David Yarowsky, Haifeng Wang, Ting Liu (2015) Cross-lingual Dependency Parsing Based on Distributed Represen-tations, In Proceedings of the 53nd Annual Meeting of the Association for Computational Linguistics, China
[9] Joakim Nivre, Johan Hall, Jens Nilsson, Atanas Chanev, Gulsen Eryigit, Sandra Kubler, Svetoslav Marinov, Erwin Marsi (2007), MaltParser: A language-independent system for data-driven dependency parsing, Natural Language Engineering, 13(2), pp 95-135
[10] Joakim Nivre, Marco Kuhlmann, Johan Hall (2009), An Improved Oracle for Dependency Parsing with Online Reordering, In Proceedings of the 11th International Conference on Parsing Technologies (IWPT), Paris, France,
pp 73–76
[11] J Pennington, R Socher, and C Manning (2014) Glove: Global vectors for word representation, In Proceedings of EMNLP, pages 1532–1543, Doha, Qatar
[12] J Turian, L Ratinov, and Y Bengio (2010), Word representations: A simple and general method for semi-supervised learning, In Proceedings of ACL, pages 384–394, Uppsala, Sweden
[13] K Crammer and Y Singer (2003), Ultraconservative Online Algorithms for Multiclass Problems, Journal of Machine Learning Research 3: pp.951-991 [14] Le-Hong, P., T-M-H Nguyen, T-L Nguyen, and M-L Ha (2015), Fast De-pendency Parsing using Distributed Word Representations, Springer Pro-ceedings of PAKDD 2015 Workshops (LNAI), HCM City, Vietnam
[15] Nguyen, T.L., Ha, M.L., Nguyen, V.H., Nguyen, T.M.H., Le-Hong, P (2013), Building a treebank for Vietnamese dependency parsing, In: The 10th IEEE RIVF, Hanoi, Vietnam, IEEE
Trang 13[16] Marie-Catherine de Marneffe, Christopher D Manning (2008), Stanford typed dependencies manual, Stanford University, Technical report
[17] Marie-Catherine de Marneffe, Miriam Connor, Natalia Silveira, Samuel R Bowman, Timothy Dozat and Christopher D Manning (2013), More con-structions, more genres: Extending Stanford Dependencies, In Proceedings
of the Second International Conference on Dependency Linguistics
[18] Marie-Catherine de Marneffe, Natalia Silveira, Timothy Dozat, Katri Haver-inen, Filip Ginter, Joakim Nivre, and Christopher D Manning (2014), Uni-versal Stanford Dependencies: A cross-linguistic typology, In LREC 2014 [19] Mikolov, T., Sutskever, I., Chen, K., Corrado, G.S., Dean, J (2013), Dis-tributed representations of words and phrases and their compositionality, In Burges, C., Bottou, L., Welling, M., Ghahramani, Z., Weinberger, K., eds.: Advances in Neural Information Processing Systems 26 Curran Associates, Inc, pp 3111–3119
[20] P Le-Hong, T M H Nguyen, and R Azim (2012), Vietnamese parsing with
an automatically extracted tree-adjoining grammar, in Proceedings of the IEEE International Conference in Computer Science: Research, Innovation and Vision of the Future, RIVF, HCMC, Vietnam
[21] Ryan McDonald, Joakim Nivre (2011), Analyzing and Integrating Depen-dency Parsers, Computational Linguistics, 37(1)
[22] Ryan McDonald, Joakim Nivre (2006), CoNLL-X Shared Task: Multi-lingual Dependency Parsing, Tenth Conference on Computational Natural Lan-guage Learning - New York City
Trang 14Website [25] http://www.seas.upenn.edu/ strctlrn/MSTParser/MSTParser.html [26] http://nlp.stanford.edu/software/lex-parser.shtml
[27] http://www.maltparser.org
[28] http://bionlp.utu.fi/fintreebank.html
[29] http://stp.lingfil.uu.se/ mojgan/UPDT.html
[30] http://universaldependencies.github.io/docs/
[31] http://www.csie.ntu.edu.tw/ cjlin/liblinear/