intTypePromotion=1

Gán nhãn từ loại tiếng Việt sử dụng Mô hình Markov ẩn

Chia sẻ: Hoang Son | Ngày: | Loại File: PDF | Số trang:5

0
179
lượt xem
6
download

Gán nhãn từ loại tiếng Việt sử dụng Mô hình Markov ẩn

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ủ đề:
Lưu

Nội dung Text: Gán nhãn từ loại tiếng Việt sử dụng Mô hình Markov ẩn

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2