Gán nhãn từ loại tiếng Việt sử dụng mô hình Markov ẩn
TÓM TẮT
Gãn nhãn từ loại là một trong những bài toán cơ bản của xử lý ngôn ngữ tự nhiên, nó là bước tiền
xử lý quan trọng có ảnh hưởng trực tiếp tới các phân tích văn phạm ở mức sâu. Trong bài báo này,
chúng tôi trình bày quá trình thực nghiệm áp dụng mô hình Markov ẩn cho bài toán gán nhãn từ
loại tiếng Việt. Để thuận tiện cho việc so sánh kết quả, chúng tôi sử dụng kho dữ liệu của nhóm
VLSP để huấn luyện và đánh giá chương trình. Độ chính xác trung bình của bộ gán nhãn đạt
92.2%. Chúng tôi cũng khảo sát tầm ảnh hưởng của tập huấn luyện đến bộ gán nhãn và mở rộng
kho ngữ liệu để cải thiện độ chính xác của bộ gán nhãn.
thực nghiệm mô hình Markov ẩn cho bài toán gán nhãn từ loại tiếng Việt, chúng tôi còn chỉ ra tầm ảnh hưởng của độ lớn tập dữ liệu huấn luyện đến độ chính xác của bộ gán nhãn. MÔ HÌNH MARKOV ẨN (HIDDEN MARKOV MODEL – HMM) HMM là một mô hình thống kê có chứa các tham số quan sát được và các tham số ẩn chưa biết. Mô hình Markov ẩn được biểu diễn dưới dạng đồ thị chuyển trạng thái (Hình 1). Các nút là các trạng thái, qi là các trạng thái ẩn, oi là các trạng thái quan sát được. Các cung là các chuyển trạng thái có gán xác suất. Phạm Thị Minh Thu và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 96(08): 39 - 43 40 Việc xác định các tham số ẩn dựa vào các tham số đã biết thông qua các xác suất chuyển trạng thái (từ trạng thái trước sang trạng thái qt) và xác suất nhả trạng thái (trạng thái quan sát được ot nhận trạng thái ẩn qt). Hình 1: Minh họa mô hình Markov ẩn Trong mô hình Markov ẩn tổng quát bậc n, trạng thái qt phụ thuộc vào n trạng thái đứng trước nó. Trong nghiên cứu này chúng tôi chỉ xét với n = 1, tức trạng thái qt phụ thuộc vào trạng thái qt-1 và độc lập với các trạng thái khác, tức là: P(qt|qt-1,qt-2,) = P(qt|qt-1) (1) P(qt,qt-1,qt-2,) = P(qt|qt-1) P(qt-1|qt-2) (2) SỬ DỤNG MÔ HÌNH MARKOV ẨN GÁN NHÃN TỪ LOẠI TIẾNG VIỆT Mô tả bài toán Đầu vào (Input) của bài toán là một câu hay một văn bản tiếng Việt đã được tách từ. Ta cần gán cho mỗi từ một nhãn từ loại tương ứng để thu được đầu ra (Output) mong muốn. Giả sử cho một chuỗi các từ S = w1 w2 wn và tập hữu hạn các nhãn từ loại T = {T1, T2, , Tm}. Khi đó, các từ wi là các đối tượng quan sát được và các nhãn ti là các trạng thái ẩn. Ta phải xác định nhãn từ loại ti tương ứng cho mỗi từ wi để thu được T* = t1 t2 tn (ti ∈ T) để có P(T*/S) là lớn nhất. Tức là ta phải đi tìm: T* = argmax P(T | S) (3) Sử dụng Bayes, P(T|S) được viết theo công thức (4). (4) Ta đang quan tâm tới việc tìm chuỗi nhãn phù hợp nhất làm cực đại công thức (3) nên mẫu số trong tất cả các trường hợp là giống nhau, vì vậy ta có thể loại bỏ nó. Do đó, bài toán trở thành tìm chuỗi các nhãn thỏa mãn công thức (5): T* = argmax P(S | T)P(T) (5) Áp dụng luật chuỗi xác suất ta được (6) : T* = argmax P(w1, w2,, wn | t1, t2,, tn)* P(t1, t2,, tn) (6) Sử dụng mô hình Markov ẩn bậc 1 công thức (6) trở thành công thức (7). (7) Trong mô hình HMM, thuật toán Viterbi thường được sử dụng để tìm dãy trạng thái tối ưu. Với bài toán gán nhãn từ loại, thuật toán này dựa trên công thức truy hồi dưới đây: (8) (9) Để tường minh hơn, chúng tôi xin mô tả quá trình tìm ra nhãn cho một câu ví dụ tiếng Việt cụ thể, chẳng hạn câu Tôi viết báo_cáo. Giả sử ký hiệu nhãn Danh từ là NN, nhãn Động từ là VB, nhãn bắt đầu câu là Start, các nhãn khác là ≠ và có bảng xác suất chuyển như sau: Bảng 1. Bảng xác suất chuyển từ loại Sau Trước ≠ NN VB Start 0.3 0.4 0.3 ≠ 0.2 0.2 0.6 NN 0.4 0.1 0.5 VB 0.1 0.8 0.1 Bảng 2. Xác suất nhận nhãn từ loại Từ Nhãn Tôi viết báo_cáo ≠ 0.01 0.02 0.02 NN 0.8 0.01 0.5 VB 0.19 0.97 0.48 Quá trình xác định từ loại cho mỗi từ được mô tả như sau: Khởi trạng : 1)(0 =startφ Xác suất Viterbi cho các thẻ từ đầu tiên : )|()|()()( 01 ≠≠=≠ toipstartpstartφφ = 0.003 Tương tự, ta có: 32.0)(1 =NNφ , 057.0)(1 =VBφ )( )()|()|( SP TPTSPSTP = ∏∏ = − = = n i ii n i ii ttPtwPT 1 1 1 * )|()|(maxarg )]|()|()([max)( 111 kjjikiTkji ttPtwPtt ××= +≤≤+ σσ )]|()|()([maxarg)( 1 1 1 kjjiki Tk ji ttPtwPtt ××= + ≤≤ + σψ Phạm Thị Minh Thu và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 96(08): 39 - 43 41 Xác suất Viterbi cho các thẻ của từ thứ hai: ),|()|()(max{)( 12 ≠≠≠≠=≠ vietppφφ )}|()|()(),|()|()( 11 ≠≠≠≠ vietpVBpVBvietpNNpNN φφ = 0.00256 Do đó, NN=≠)(2ψ Tương tự, ta có: )(2 NNφ = 000456.0 , VBNN =)(2ψ )(2 VBφ = 1552.0 , NNVB =)(2ψ Xác suất Viterbi cho các thẻ của từ thứ ba : )|_()|()({max)( 23 ≠≠≠≠=≠ caobaoppφφ , )|_()|()(2 ≠≠ caobaopNNpNNφ , )}|_()|()(2 ≠≠ caobaopVBpVBφ = 0003104.0 Do đó, VB=≠)(3ψ Tương tự, ta có: )(3 NNφ = 06208.0 , VBNN =)(3ψ )(2 VBφ = 0074496.0 , VBVB =)(3ψ Kết quả: Tôi//NN viết//VB báo_cáo//NN Quy trình thực nghiệm và dữ liệu Vấn đề đầu tiên cần quan tâm chính là các nhãn từ loại được ký hiệu như thế nào. Với mục đích sử dụng chung kho ngữ liệu để tiện so sánh kết quả nên chúng tôi xây dựng tập nhãn từ loại tương tự với tập nhãn của nhóm VLSP. Tập nhãn đó được giới thiệu ở bảng 3. Vấn đề thứ hai là cần phải có tập ngữ liệu để thống kê xác suất. Như đã giới thiệu ở trên, chúng tôi sử dụng dữ liệu của đề tài cấp Nhà nước KC01.01/06-10 "Nghiên cứu phát triển một số sản phẩm thiết yếu về xử lí tiếng nói và văn bản tiếng Việt". Kết quả của đề tài được đăng tải trên websites để phục vụ cho các nghiên cứu tiếng Việt. Tập dữ liệu gồm 20000 câu được chuẩn hoá theo tập nhãn quy ước của chúng tôi, trong đó tất cả các loại dấu câu, các ký hiệu đặc biệt được gán nhãn //S. Xác suất được tính từ tập dữ liệu huấn luyện theo công thức Maximum Likehood Estimate. Khi gán nhãn, những từ mới không có trong tập huấn luyện được xử lý bằng công thức Laplace Smoothing. Quy trình thực nghiệm gán nhãn của chúng tôi gồm các bước sau: Bước 1: Đọc tệp dữ liệu huấn luyện. Bước 2: Huấn luyện tính xác suất. Bước 3: Gán nhãn từ loại sử dụng mô hình Markov ẩn và thuật toán quy hoạch động Viterbi. Bước 4: Đánh giá bộ gán nhãn. Kết quả thực nghiệm Chúng tôi cài đặt chương trình gán nhãn từ loại tiếng Việt VnPOS bằng ngôn ngữ C# trên Winform thực hiện các chức năng: Đọc file huấn luyện; Tính và hiển thị bảng xác suất; Hiển thị từ điển; Gán nhãn file văn bản, gán nhãn câu được nhập vào từ bàn phím; Đánh giá độ chính xác của quá trình gán nhãn. Hình 2 dưới đây là minh họa giao diện chính chương trình. Hình 2. Giao diện chính chương trình VnPOS Phạm Thị Minh Thu và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 96(08): 39 - 43 42 Bảng 3. Tập nhãn từ loại tiếng Việt STT Nhãn Loại từ STT Nhãn Loại từ 1 NN Danh từ thường 8 NP Danh từ riêng 2 NC Danh từ chỉ loại 9 PP Đại từ 3 AD Phụ từ 10 RB Trợ từ 4 CC Liên từ 11 UH Thán từ 5 D Định từ và số từ 12 VB Động từ 6 IN Giới từ 13 X Từ không phân loại 7 JJ Tính từ 14 S Ký hiệu đặc biệt Tập dữ liệu gồm 20000 câu được chia thành tập huấn luyện gồm 16000 câu và tập dùng để đánh giá gồm 4000 câu. Sau nhiều lần thực nghiệm, độ chính xác trung bình của bộ gán nhãn là 92.2%. Độ chính xác được đánh giá bằng [số từ được gán nhãn đúng] / [tổng số từ trong văn bản]. Kết quả này khá tương đồng so với bộ gán nhãn VietTagger của nhóm VLSP (93%). Trong một thực nghiệm khác, chúng tôi sử dụng toàn bộ 20000 câu của tập ngữ liệu để huấn luyện và xây dựng tập dữ liệu đánh giá khoảng 1000 câu. Kết quả độ chính xác của chương trình được cải tiến đáng kể, đạt trên 95%. Qua đó cho thấy việc mở rộng kho ngữ liệu cải thiện đáng kể độ chính xác của bộ gán nhãn. Để kiểm chứng kỹ hơn nhận định trên, chúng tôi tiến hành thay đổi độ lớn của tập huấn luyện. Kết quả cho thấy tập dữ liệu huấn luyện càng lớn thì độ chính xác của bộ gán nhãn càng cao (Hình 3). Hình 3. Kết quả bộ gán nhãn khi thay đổi độ lớn tập huấn luyện. KẾT LUẬN Trong bài báo này, chúng tôi đã giới thiệu về bài toán gán nhãn từ loại, mô hình Markov ẩn và quy trình áp dụng mô hình này cho bài toán gán nhãn từ loại tiếng Việt. Chương trình gán nhãn VnPOS do chúng tôi cài đặt thu được độ chính xác trung bình là 92.2% Chúng tôi dự định mở rộng kho ngữ liệu đồng thời áp dụng kỹ thuật tích hợp luật vào quá trình gán nhãn để hi vọng nâng cao chất lượng của VnPOS. TÀI LIỆU THAM KHẢO [1]. Diệp Quang Ban, (2004), Ngữ pháp Việt Nam, Nxb Đại học sư phạm. [2]. Nguyễn Văn Châu, Phan Thị Tươi, Cao Hoàng Trụ, (2006), "Gán nhãn từ loại cho Tiếng Việt dựa trên văn phong và tính toán xác suất", Tạp chí KH&CN, tập 9, số 2. [3]. Dinh Dien, Hoang Kiem, (2003), "POS- Tagger for English-Vietnamese Bilingual Corpus", HLT-NAACL 2003 Proceeding Workshop. [4]. Leech G., Garside R., and Bryant M., (1994), "CLAWS4: The tagging of the British National Corpus", In Proceedings of COLING 94, 622-628. [5]. Nguyễn Thị Huyền, Vũ Xuân Lương, Lê Hồng Phương, (2003), "Sử dụng bộ gán nhãn từ loại xác suất QTAG cho văn bản Tiếng Việt". Báo cáo hội thảo ICT.rda. [6]. Tran T-O, Le A-C, Ha Q-T, Le H-Q, (2009), "An Experimental Study on Vietnamese POS Tagging", Asian Language Processing, International Conference on, 23-27. [7]. Christopher D.Manning Hinrich Schutze, (1999), Founddations of Statistical Natural Language Processing, Massachusetts Institute of Technology, USA. [8]. Scott M. Thede and Mary P. Harper, (1999), "A Second-Order Hidden Markov Model for Part- of-Speech Tagging", Proceedings of the ACL. 82.6 86.7 92.2 95.1 75 80 85 90 95 100 10 1 2 16 20 Sè c©u (®¬n vÞ ngh×n) F-score (%) Phạm Thị Minh Thu và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 96(08): 39 - 43 43 SUMMARY AN EXPERIMENTAL STUDY ON VIETNAMESE PART -OF-SPEECH TAGGING USING HIDDEN MARKOV MODEL Pham Thi Minh Thu*, Dao Thi Thuy Quynh College of Sciences - TNU Part-of-Speech tagging is one of the basic problems of natural language processing, it is an important pre-processing step that effects directly to the futher grammatical analysis. In this paper, we present the experimental application of Hidden Markov model for Vietnamese POS tagging. In order to facilitate the comparison of results, we use the corpus of VLSP group for training and evaluating our POS-Tagger. Average accuracy is about 92.2%. We also investigate the impact of the training set and expand the corpus to improve the accuracy of the POS-Tagger. Key words: Part-Of-Speech tagging (POS tagging), POS-Tagger, Hidden Markov Model (HMM), corpus, training, testing * Tel: 0988 356337, Email: thupm84@gmail.com
File đính kèm:
- gan_nhan_tu_loai_tieng_viet_su_dung_mo_hinh_markov_an.pdf