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

