Số câu Số cụm danh từ Số từ
Tập dữ liệu huấn luyện 3552 78751 18165
Tập dữ liệu kiểm tra 1777 39005 9136
Total 5329 117756 27301
Gọi w0 và p0 là từ và nhãn từ loại của từ tại vị trí từ đang xét; wn và pn là từ và nhãn từ loại của tại vị trí n trong đó n là kích thước cửa sổ trượt.
Xem xét ví dụ “những bông hoa mặt_trời xinh_đẹp ngả bóng xuống…”, giả sử từ đang xét là “mặt_trời”, ta có:
w0 : “mặt_trời” p0 : N w1 : “xinh_đẹp” p1 : A-H w-1 : “hoa” p-1 : N Tập thuộc tính được chia thành các nhóm sau:
- Các thuộc tính liên quan đến từ vựng, ví dụ w0, w1, w2, w-1, w-2. - Các thuộc tính liên quan nhãn từ loại, ví dụ p0, p1, p2, p-1, p-2.
- Các thuộc tính kết hợp từ vựng và nhãn từ loại, ví dụ w0p0p-1, w0p0p1, w-
Việc lựa chọn thuộc tính phải được thử nghiệm một cách tỉ mỉ, cẩn thận. Nếu quá ít thuộc tính thì thời gian huấn luyện và kiểm tra mô hình nhanh sẽ nhưng kết quả thu được thấp. Nếu quá nhiều thuộc tính sẽ làm cho việc huấn luyện và kiểm tra mô hình kém hiệu quả, có khi kết quả thu được không cao.
Với CRF++, tập thuộc tính được sinh ra một cách tự động từ tệp mẫu thuộc tính do người dùng cung cấp như tham số đầu vào. Tệp mẫu bao gồm nhiều mẫu thuộc tính, mỗi mẫu được biểu diễn trên một dòng. Trong đó, mỗi mẫu có dạng %x[hàng, cột] sẽ được sử dụng để xác định một từ trong chuỗi dữ liệu đầu vào. “Hàng” chỉ quan hệ về vị trí với từ hiện tại đang xét và “cột” chỉ vị trí tuyệt đối của cột.
Ví dụ một câu đầu vào như sau:
Ngày N-H B thứ N-H I Ba M I Từ đang xem xét phúc thẩm V-H O vụ án N-H B Lã Thị Kim Oanh Np-H I Một số mẫu thuộc tính là: Bảng 8: Một số ví dụ về mẫu thuộc tính Mẫu thuộc tính Thuộc tính được
mở rộng
Mô tả
%x[0,0] Ba Từ ở vị trí hiện tại
%x[0,1] M Nhãn từ loại của từ hiện tại
%x[-1,0] thứ Từ ở trước từ hiện tại 1 vị trí
%x[2,1] N-H Nhãn từ loại của từ sau 2 vị trí
%x[0,0]/%x[0,1] ba/M
ABC%x[-2,0]123 ABCNgày123
… …
Có hai loại mẫu thuộc tính, được phân biệt bằng kí tự đầu tiên của tên mẫu:
- Loại 1(mẫu unigram): xác định bởi kí tự đầu tiên là „U‟. Đây là mẫu mô tả các thuộc tính unigram, là các thuộc tính kết hợp mẫu và nhãn của từ đang xem xét.
Xét mẫu U01:%x[0,1], CRF++ sẽ tự động sinh ra tập các hàm thuộc tính (func1, …. funcN) có dạng sau:
func1 = If (nhãn = B và thuộc tính = “U01:M”) return 1 else return 0 func2 = If (nhãn = I và thuộc tính = “U01:M”) return 1 else return 0 func3 = If (nhãn = O và thuộc tính = “U01:M”) return 1 else return 0 …
Như vậy, với một mẫu thuộc tính, số hàm thuộc tính được sinh ra bởi mẫu thuộc tính đó là (L*N), trong đó L là số các lớp nhãn (với bài toán phân tách cụm từ, L = 3) và N là số chuỗi duy nhất được mở rộng từ mẫu đã cho.
- Loại 2 (mẫu bigram), xác định bởi kí tự đầu tiên là „B‟. Đây là mẫu mô tả các thuộc tính bigram, là các thuộc tính kết hợp mẫu và nhãn của từ đang xem xét và nhãn của từ liền trước nó. Loại mẫu này sẽ sinh ra một cách tự động các liên kết giữa nhãn hiện tại và nhãn của từ liền trước nó. Như vậy sẽ tạo ra (L*L*N) hàm thuộc tính. Khi số lượng các lớp lớn, loại mẫu này sẽ sinh ra hàng tỉ thuộc tính khác nhau, và rất có thể ảnh hưởng tới sự hiệu quả trong khi huấn luyện và sử dụng mô hình.
Hình 17: Sự tác động của tập thuộc tính đến độ chính xác của mô hình phân cụm
- Ba thực nghiệm đầu chỉ sử dụng thông tin về nhãn từ loại của từ với kích thước cửa sổ lần lượt là 0, 1, 2.
- Ba thực nghiệm tiếp theo tôi thêm thông tin về từ vựng của từ cũng với kích thước cửa sổ là 0, 1, 2. Các thuộc tính liên kết giữa từ vựng và nhãn từ loại cũng được sử dụng trong những thí nghiệm này.
- Thực nghiệm 7 áp dụng việc chọn lựa thuộc tính. Kết quả thu được như hình 17. Kết quả thu được cho thấy, thông tin từ vựng và từ loại với kích thước cửa sổ trượt bằng 1 ảnh hưởng nhiều tới độ chính xác của hệ thống. Nếu chỉ sử dụng thông tin về từ loại, thí nghiệm Pos2 cho kết quả thấp hơn Pos1 một chút. Tuy nhiên, nếu thêm thông tin từ vựng thì kết quả lại cao hơn. Độ đo F1 ở thực nghiệm 5 cao hơn 3.29% so với thực nghiệm 2. Mở rộng kích thước cửa sổ trượt thêm 1 cho cả từ vựng và từ loại thu được kết quả cao hơn 9.13% so với chỉ sử dụng thông tin từ vựng và từ loại của từ đang xem xét. Kết quả tốt nhất thu được ở thực nghiệm 7 với F1 = 82.59% khi áp dụng lựa chọn thuộc tính. Tập thuộc tính sử dụng trong thực nghiệm 7 được mô tả chi tiết trong bảng 9.
Bảng 9: Chi tiết tập thuộc tính của thí nghiệm 7 Mẫu thuộc tính unigram Mẫu thuộc tính unigram
Từ vựng W-2, W-1, W0, W1, W2, W-2W-1, W-1W0, W0W1, W1W2 Từ loại P-3, P-2, P-1, P0, P1, P2, P3, P-2P-1, P-1P0, P0P1, P1P2, P-2P-1P0, P-1P0P1, P0P1P2 Kết hợp W-2P-2, W-1P-1, W0P0, W1P1, W2P2, P0P1W0, P-1P0W0
Mẫu thuộc tính bigram
Từ vựng W0, W-1, W-1W0
Từ loại P-2, P-1, P0, P1, P0P1, P-1P0
Kết hợp W-1P-1, W0P0
Sử dụng tập thuộc tính này, tôi tiến hành 5 lần lựa chọn ngẫu nhiên tập dữ liệu học và dữ liệu kiểm tra. Kết quả thu được trong bảng 10. Thí nghiệm lần 4 đạt kết quả cao nhất, tuy nhiên chênh lệch giữa các lần thí nghiệm là không đáng kể. Độ đo F1 trung bình của 5 lần thực nghiệm là 82.67%.
Bảng 10: Kết quả của bộ phân tách cụm danh từ tiếng Việt STT STT Số cụm danh từ Độ chính xác (Accuracy) Độ chính xác (Precision) Độ hồi tưởng (Recall) F1 1 9136 94.08 82.90 82.28 82.59 2 9113 93.77 82.28 82.21 82.24 3 9130 93.88 82.53 82.50 82.52 4 8949 94.30 83.27 83.28 83.28 5 9173 94.15 82.64 82.85 82.74 Trung bình 9100 94.04 82.72 82.62 82.67
4.2.2.2. Đánh giá sự phụ thuộc của kích thước tập dữ liệu huấn luyện
Để đánh giá sự ảnh hưởng của kích thước tập dữ liệu huấn luyện đến độ chính xác của hệ thống, tôi lựa chọn ngẫu nhiên kích thước của tập dữ liệu học, lần lượt là 500, 1000, 2000, 3000, 4329 câu. Tập dữ liệu kiểm tra được cố định là 1000 câu. Sử dụng tập thuộc tính như thực nghiệm 7, kết quả thu được như hình 18, trong đó các số trên biểu đồ là độ đo F1 của mỗi trường hợp. Kết quả cho thấy, khi tăng kích thước tập dữ liệu huấn luyện thì bộ phân tách dự đoán chính xác hơn.
Hình 18: Kết quả bộ phân tách cụm danh từ theo kích thước tập dữ liệu huấn luyện luyện
4.2.2.3. Đánh giá và phân tích lỗi
Kết quả thu được cho thấy rất nhiều cụm danh từ có cấu trúc đệ quy được phân tách khá tốt. Ví dụ : “Ông Hoàng Tuấn Việt – chi cục trưởng Chi cục Hải quan cửa khẩu cảng sân bay Vũng Tàu” là một cụm danh từ đệ quy có cấu trúc tương đối phức tạp (hình 18):
Hình 18 : Cây phân tích cú pháp của một cụm từ tiếng Việt
Hệ thống đã phân tách thành ba cụm danh từ chính xác như sau:
Từ Từ loại Nhãn đúng Nhãn dự đoán
ông Nc-H B-NP B-NP
Hoàng_Tuấn_Việt Np I-NP I-NP
- - O O
chi_cục_trưởng N-H B-NP B-NP
Chi_cục N-H B-NP I-NP
Hải_quan N I-NP I-NP
cửa_khẩu N-H B-NP B-NP
cảng N-H I-NP I-NP
sân_bay N I-NP I-NP
Tuy nhiên, kết quả cũng cho thấy rằng thông tin từ loại trong tập dữ liệu huấn luyện ảnh hướng rất nhiều tới độ chính xác của hệ thống. Ví dụ, “nghề nuôi tôm sú” là một cụm danh từ được bộ phân tách gãn nhãn như sau:
Từ Từ loại Nhãn đúng Nhãn dự đoán
nghề N-H B-NP B-NP
Nuôi V-H I-NP O
tôm_sú N-H I-NP B-NP
Hầu hết các ví dụ trong tập dữ liệu học, động từ “nuôi ” nằm ngoài cụm danh từ, vì vậy ở ví dụ trên hệ thống cũng gán nhãn là O. Do đó, cụm “nghề nuôi tôm_sú” đã phân tách thành hai cụm danh từ là “nghề” và “tôm_sú”.
Một ví dụ khác “đại_diện viện_kiểm_sát”: là một cụm danh từ nhưng được hệ thống tách thành hai cụm danh từ. Một phần lý do là trong tập dữ liệu học, các từ được gán nhãn là Np-H thường là từ bắt đầu của một cụm danh từ.
Từ Từ loại Nhãn đúng Nhãn dự đoán
đại_diện N-H B-NP B-NP
Viện_Kiểm_sát Np-H I-NP B-NP
Tương tự ví dụ này, cụm danh từ “lọ thuốc Pennicillin” cũng được dự đoán thành hai cụm danh từ:
Từ Từ loại Nhãn đúng Nhãn dự đoán
lọ N-H B-NP B-NP
thuốc N I-NP I-NP
Penicillin Np-H I-NP B-NP
Những kết quả thực nghiệm trên cho thấy mô hình CRFs là một trong những phương pháp tiềm năng để giải quyết bài toán phân tách cụm danh từ tiếng Việt. Tôi cũng tin tưởng rằng, nếu lựa chọn tập thuộc tính phù hợp hơn và tập dữ liệu học lớn hơn, đa dạng hơn thì hệ thống sẽ đem lại kết quả cao hơn nữa.
KẾT LUẬN
Luận văn đã hệ thống hóa một số vấn đề về phân tách cụm danh từ tiếng Việt và đã đạt được những kết quả sau:
- Giới thiệu khái quát về bài toán phân tách cụm danh từ, khảo sát các nghiên cứu trước đó và các kết quả đã đạt được về phân tách cụm danh từ với các ngôn ngữ tiếng Anh, tiếng Trung, tiếng Hàn,… Luận văn nghiên cứu các phương pháp giải quyết bài toán, trong đó trình bày chi tiết hai thuật toán là thuật toán học dựa vào biến đổi và thuật toán máy vector hỗ trợ. Từ những khảo sát này, luận văn đề xuất phương án phân tách cụm danh từ tiếng Việt bằng phương pháp học máy sử dụng mô hình CRFs.
- Trình bày cơ bản về mô hình CRFs, gồm định nghĩa, cách ước lượng tham số cho CRFs và suy diễn CRFs. Các ưu điểm của CRFs so với các mô hình trước đó như HMMs, MEMMs cũng được tìm hiểu, phân tích.
- Nghiên cứu về cấu trúc và các đặc điểm của cụm danh từ tiếng Việt, từ đó chỉ ra những khó khăn mà mô hình phân tách cụm danh từ tiếng Việt gặp phải. Dựa vào cấu trúc này, luận văn đề xuất phương pháp xây dựng tập dữ liệu cho bài toán phân tách cụm danh từ tiếng Việt từ Viet treebank.
- Xây dựng tập dữ liệu cụm danh từ tiếng Việt gồm 5329 câu từ Viet treebank, biểu diễn theo định dạng IOB2.
- Áp dụng mô hình CRFs, kết quả thực nghiệm trên tập dữ liệu do luận văn xây dựng cho kết quả khả quan. Luận văn tiến hành thực nghiệm với các tập thuộc tính khác nhau, từ đó lựa chọn được tập thuộc tính cho kết quả cao nhất với độ đo F1 trung bình là 82.67%.
Bên cạnh đó, do thời gian và kiến thức có hạn, luận văn vẫn còn một vài hạn chế sau:
- Bộ dữ liệu được xây dựng tự động, mặc dù có rà soát thủ công nhưng do hạn chế về mặt thời gian và nguồn lực nên không tránh khỏi sai sót. Vì vậy đánh giá trên tập dữ liệu này có thể chưa mang tính khách quan.
- Luận văn sử dụng mô hình CRFs cho bài toán phân tách cụm danh từ tiếng Việt nên chưa có sự đối sánh kết quả với các phương pháp khác để chọn được phương án tốt nhất.
- Rà soát lại bộ dữ liệu, từ đó nghiên cứu và hiệu chỉnh bộ tiêu chí để xây dựng tập dữ liệu cho bài toán phân tách cụm danh từ tiếng Việt, mục tiêu là xây dựng được tập dữ liệu tiếng Việt chuẩn cho bài toán này.
- Áp dụng thêm một số thuật toán khác CRFs, từ đó tìm ra được phương pháp hiệu quả nhất đối với bài toán phân tách cụm danh từ tiếng Việt. Thử nghiệm trên nhiều bộ dữ liệu khác ngoài bộ dữ liệu do luận văn xây dựng (nếu có). - Trong các thử nghiệm trên, luận văn mới chỉ sử dụng các thuộc tính liên quan
tới từ vựng và từ loại. Các mẫu thuộc tính khác sẽ được nghiên cứu trong thời gian tới.
Tài liệu tham khảo Tài liệu tham khảo tiếng Việt
[1] Diệp Quang Ban và Hoàng Bân (2004), Ngữ pháp tiếng Việt, Nhà xuất bản Giáo dục, Hà Nội.
[2] Đồng Thị Bích Thủy, Hồ Bảo Quốc (2008), “Ứng dụng xử lý ngôn ngữ tự nhiên trong hệ tìm kiếm thông tin văn bản tiếng Việt”.
[3] Lại Thị Hạnh (2002), “Trích cụm danh từ tiếng Việt nhằm phục vụ cho các hệ thống tra cứu thông tin đa ngôn ngữ”, Luận văn Thạc sĩ tại Đại học Khoa học Tự nhiên TP.HCM.
[4] Nguyễn Tài Cẩn (1999), Ngữ pháp tiếng Việt, Nhà xuất bản Đại học Quốc gia Hà Nội.
[5] Nguyễn Chí Hiếu, “Ứng dụng xử lý ngôn ngữ tự nhiên trong dịch máy”. [6] Trần Ngọc Tuấn, Phan Thị Tươi (2004), “Phân tích cụm danh từ tiếng Việt sử
dụng văn phạm hợp nhất”, Tạp chí Bưu chính viễn thông.
Tài liệu tham khảo tiếng Anh
[7] Abney, Steven (1991), Parsing by chunks, In Berwick, Abney, and Tenny, editors, Principle-Based Parsing, Kluwer Academic Publishers.
[8] Andrew McCallum, Freitag, and Pereia (2000), “Maximum entropy markov models for information extraction and segmentation”, Proc. Interational Conference on Machine Learning.
[9] Andrew McCallum (2003), “Efficiently Inducing Features of Conditional Random Fields”, Conference on Uncertainty in Artificial Intelligence (UAI). [10] Akshar Bharathi, Prashanth R.Mannem (2007), “Introduction to the Shallow
Parsing Contest for South Asia Languages”, Proceedings of the IJCAI-2007 Workshop on Shallow Parsing for South Asian languages.
[11] Eric Brill (1993), A Corpus-Based Approach to Language Learning, phD thesis, University of Pennsylvania.
[12] Erik F. Tjong Kim Sang, Sabine Buchholz (2000), “Introduction to the CoNLL-2000 Shared Task: Chunking”, Proceedings of CoNLL-2000 and
[13] Erik F. Tjong Kim Sang (2000), “Noun Phrase Representation by System Combination”, Proceedings of ANLP-NAACL 2000, Seattle, WA, USA.
[14] Fabrizio Sebastiani (2002), “Machine Learning in Automated Text Categorization”, ACM Computing Survey, 34(1), pp.1-47.
[15] Fang Xu, Chengqing Zong (2006), “A Hybrid Approach to Chinese Base Noun Phrase Chunking”, Proceedings of the Fifth SIGHAN Workshop on
Chinese Language Processing, pp.87–93.
[16] Hanna M.Wallach (2004), “Conditional Random Fields: An Introduction”,
University of Pennsylvania CIS Technical Report MS-CIS-04-21.
[17] Hanna Wallach (2002), Efficient Training of Conditional Random Fields, Master of Science School of Cognitive Science Division of Informatics University of Edinburgh.
[18] Hong Shen and Anoop Sarkar, “Voting between Multiple Data Representations for Text Chunking”, Proceedings of the 18th Conference of the Canadian Society for Computational Studies of Intelligence.
[19] Lance A.Ramshaw, Mitchell P.Marcus (1995), “Text Chunking using Transformation-Based Learning”, Proceedings of the ACL 3rd Workshop on
Very Large Corpora, pp. 82-94 .
[20] Lafferty, John D.; McCallum, Andrew; Pereira, Fernando C. N.: Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. Proceedings of the Eighteenth International Conference on Machine Learning (ICML 2001), Morgan Kaufmann Publishers, 2001, pp. 282
[21] Le Minh Nguyen, Huong Thao Nguyen, Phuong Thai Nguyen, Tu Bao Ho, Akira Shimazu, “An empirical study of Vietnamese noun phrase chunking with discriminative sequence models”, Proceedings of the 7th Workshop on
Asian Language Resources, pp.9-16.
[22] Michael I. Jordan (2004), Graphical Models, Statistical Science (Special Issue on Bayesian Statistics), 19, pp.140-155.
[23] Michele Banko, Michael J Cafarella, Stephen Soderland, Matt Broadhead and Oren Etzioni (2007), “Open Information Extraction from the Web”, Proceedings
of the International Joint Conference on Artificial Intelligence.
[24] Nguyen Phuong Thai, Vu Xuan Luong, Nguyen Thi Minh Huyen, Nguyen Van Hiep, Le Hong Phuong, “Building a Large Syntactically-Annotated
Corpus of Vietnamese”, Proceedings of the 3rd Linguistic Annotation
Workshop (LAW) at ACL-IJCNLP 2009.
[25] H.X. Phan, M.L. Nguyen, Y. Inoguchi, and S. Horiguchi (2007), “High- Performance Training Conditional Random Fields for Large-Scale Applications of Labeling Sequence Data”, IEICE Transactions on
Information and Systems, Vol.E90-D, No.1, pp.13-21.
[26] J. Lafferty, A. McCallum, and F. Pereia (2001), “Conditional ramdom fields: probabilistic models for segmenting and labeling sequence data”, In International Conference on Machine Learning.
[27] Philipp Koehn (2004), “Pharoh: A Beam Search Decoder for Phrase-Based Statistical Machine Translation Models”, 6th Conference of the Association