Phân lớp văn bản Tiếng Việt tự động theo chủ đề
Tạp chí Khoa học Công nghệ và Thực phẩm 18 (1) (2019) 129-139
PHÂN LỚP VĂN BẢN TIẾNG VIỆT TỰ ĐỘNG THEO CHỦ ĐỀ
Mạnh Thiên Lý*, Vũ Văn Vinh, Nguyễn Văn Lễ,
Lâm Thị Họa Mi, Nguyễn Thị Thanh Thủy, Dƣơng Thị Mộng Thùy
Trường Đại học Công nghiệp Thực phẩm TP.HCM
*Email: [email protected].vn
Ng y nh n i 16/01 Ng y h p nh n ng 06/3/2019
TÓM TẮT
Mạng Internet ng y ng phát triển mạnh mẽ, mang lại nguồn thông tin vô ùng phong
phú. Nhu ầu khai thá dữ liệu, phát hiện tri thứ ũng ng y ng gia t ng. Phân lớp v n ản
óng vai trò quan trọng trong việ khai thá dữ liệu v phát hiện tri thức. Nhiều kỹ thu t
trong họ máy ược ứng dụng ể hu n luyện dữ liệu ho quá trình phân lớp. Hiện nay, ó
nhiều thu t toán ược sử dụng ể phân lớp v n ản như Naïve Bayes, K-NN, SVM,
Maximum Entropy… Trong i áo n y, nhóm tá giả sử dụng á thu t toán như Naïve
Bayes, SVM v K-NN ể thực nghiệm phân lớp v n ản tiếng Việt trên 5 ộ dữ liệu thuộc
04 chủ ề khá nhau: Du lịch, Giải trí, Giáo dụ v Pháp lu t. Cá ộ dữ liệu n y ược rút
trí h từ Website tin tức VnExpress.net. Một số ặ trưng ịnh danh riêng ượ ưa v o quá
trình xử lý ể t ng ộ hính xá trong quá trình phân lớp. Kết quả thử nghiệm cho th y thu t
toán SVM ho kết quả phân lớp với ộ hính xá ao nh t (trên %) v thời gian thử
nghiệm mô hình th p nh t.
Từ khóa: Phân lớp v n ản, Naïve Bayes, K-NN, SVM, thu t toán.
1. TỔNG QUAN VỀ PHÂN LỚP VĂN BẢN
Phân lớp v n ản (Text lassifi ation) l quá trình gán nh n (tên lớp nh n lớp) cho á
v n ản ngôn ngữ tự nhiên một á h tự ộng v o một hoặ nhiều lớp ho trướ .
Phân lớp v n ản ượ xu t hiện từ những n m 6 , nhưng h 5 n m sau tr th nh
l nh vự nghiên ứu hính trong hệ thống thông tin i sự a dạng ủa á ứng dụng. Phân lớp
v n ản ượ sử dụng ể h trợ trong quá trình tìm kiếm thông tin (Information retrieval), hiết
lọ thông tin (Information extra tion), lọ v n ản hoặ tự ộng d n ường ho á v n ản ến
những hủ ề xá ịnh trướ . Ngo i ra, phân lớp v n ản ũng ược ứng dụng trong l nh vự
hiểu v n ản. Có thể sử dụng phân lớp v n ản ể lọ v n ản hoặc một phần v n ản hứa dữ
liệu ần tìm m không l m m t i tính phứ tạp ủa ngôn ngữ tự nhiên. Phân lớp v n ản ó thể
thự hiện thủ ông hoặ tự ộng sử dụng á kỹ thu t họ máy ó giám sát. Tuy nhiên, phân lớp
thủ ông ôi khi không hính xá vì quyết ịnh phụ thuộ v o sự hiểu iết v ộng ủa người
thự hiện. Vì v y, việ xây dựng một bộ phân lớp v n ản tự ộng l r t quan trọng v ần thiết,
ặc biệt khi hầu hết á thông tin ượ sinh ra v lưu trữ iện tử. Cá i áo khoa họ v giải trí
l những ví dụ về t p á t i liệu iện tử. Với sự phát triển ng y ng mạnh mẽ ủa mạng Internet
v Intranet tạo ra nguồn thông tin vô ùng phong phú. Cá kỹ thu t phân lớp v n ản sẽ giúp
ho nguồn dữ liệu n y ượ lưu trữ tự ộng một á h hiệu quả v ượ tìm kiếm nhanh hóng.
1.1. Định nghĩa phân lớp văn bản
Phân lớp v n ản l nhiệm vụ ặt một giá trị logic ho m i ặp , trong
ó l t p á v n ản v l t p á lớp ho trướ [1].
129
ạnh Thi n n inh g n n Th ọa i g n Th Thanh Th
Giá trị ượ gán ho ặp ó ngh a l t i liệu thuộ lớp .
Giá trị ngh a l t i liệu không thuộ lớp .
Nói á h khá , phân lớp v n ản l i toán tìm một h m , trong ó
l t p á v n ản v l t p á lớp ho trướ , h m ượ gọi l ộ phân lớp.
1.2. Phân loại bài toán phân lớp văn bản
Tùy thuộc v o những r ng uộc khá nhau ể phân loại i toán phân lớp v n ản.
Nhìn hung, ó thể phân loại i toán phân lớp theo á á h sau
- Phân lớp v n ản nhị phân a lớp B i toán phân lớp v n ản ượ gọi l nhị phân
nếu , gọi l a lớp nếu .
- Phân lớp v n ản n nh n a nh n B i toán phân lớp v n ản ượ gọi l n nh n
nếu m i t i liệu ượ gán v o hính xá một lớp. Ngược lại, b i toán phân lớp v n ản ượ
gọi l a nh n nếu một t i liệu ó thể ượ gán nhiều h n một nh n.
1.3. uá t nh ây d ng bộ phân lớp văn bản
uá trình phân lớp v n ản thường gồm 2 ướ xây dựng mô hình (tạo ộ phân lớp) v
sử dụng mô hình ó ể phân lớp v n ản. Cá ông ụ phân lớp ượ xây dựng dựa trên một
thu t toán phân lớp qua ướ họ quy nạp. Trong ướ họ n y, hệ thống ó t p dữ liệu ầu
v o (t p ví dụ) m thuộ tính lớp ủa m i t i liệu (ví dụ) trong t p ó iết. Tại ó, t p
dữ liệu an ầu ượ hia th nh 2 t p dữ liệu rời nhau, một t p ượ gọi l t p hu n luyện
(training set) v một t p ượ gọi l t p kiểm tra (test set). Thông thường, t p hu n luyện
hiếm á ví dụ trong , òn t p kiểm tra hiếm số lượng ví dụ òn lại. Hệ thống
dùng t p hu n luyện ể xây dựng mô hình (xá ịnh tham số) phân lớp v dùng t p dữ liệu
kiểm tra ể ánh giá thu t toán phân lớp vừa ượ thiết l p.
uá trình thực hiện cụ thể như sau
* Bƣớc 1 ây d ng m h nh
Một mô hình sẽ ượ xây dựng dựa trên phân tí h á ối tượng dữ liệu ượ gán
nh n từ trướ . T p á m u dữ liệu n y òn ượ gọi l t p hu n luyện. Cá nh n lớp ủa t p
dữ liệu hu n luyện ượ xá ịnh i on người trướ khi xây dựng mô hình (họ ó giám sát).
Ngo i ra, òn phải sử dụng một t p kiểm tra ể tính ộ hính xá ủa mô hình. Nếu ộ
hính xá l h p nh n ượ , mô hình sẽ ượ sử dụng ể xá ịnh nh n lớp ho á dữ liệu
khá mới trong tư ng lai. Trong quá trình kiểm tra lại mô hình, sử dụng á ộ o ể ánh
giá h t lượng ủa t p phân lớp, ó l ộ hồi tư ng, ộ hính xá , ộ o F , ...
Tùy thuộ v o á h thứ xây dựng mô hình phân lớp, nhiều phư ng pháp ược sử dụng
ể giải quyết i toán như phư ng pháp Naïve Bayes, phư ng pháp K - láng giềng gần nh t
(K-NN), phư ng pháp SVM, phư ng pháp Maximum Entropy, ...ꢀ
* Bƣớc 2 d ng m h nh
Sử dụng mô hình ượ xây dựng ướ ể phân lớp dữ liệu mới.
Như v y, thu t toán phân lớp l một ánh xạ từ miền dữ liệu ó sang một miền giá trị
ụ thể ủa thuộ tính phân lớp dựa v o giá trị á thuộ tính ủa dữ liệu.
ể xây dựng mô hình trong ướ ủa quá trình phân lớp v n ản, thông thường, ượ
tiến h nh theo 2 ướ hính sau ây:
-
Tiền xử lý dữ liệu l quá trình iểu di n v n ản th nh một dạng iểu di n logi
m thu t toán ó thể xử lý ượ (ví dụ iểu di n dạng ve tor ủa v n ản).
-
Họ á ộ phân lớp sử dụng á thu t toán phân lớp ể xây dựng mô hình từ dữ
liệu qua tiền xử lý.
130
h n p v n n i ng iệ ự ng h o ch
Cá hệ thống phân lớp ó thể ứng dụng trong việ phân loại t i liệu ủa á thư viện
iện tử, phân loại v n ản áo hí trên á trang tin iện tử, phân loại v n ản tiếng Việt
ng á h xây dựng mô hình hủ ề, phân loại v n ản theo cảm xú ,... Với những hệ thống
tốt, ó thể nh n ược kết quả khả quan, giúp í h nhiều ho người dùng.
Phân loại v n ản theo cảm xú , tâm lý, quan iểm hiện ang l một trong những v n
ề ượ quan tâm nghiên ứu nhiều nh t trong l nh vực xử lý ngôn ngữ tự nhiên [2]. Cảm
xú ượ ịnh ngh a l phản ứng của on người ối với á sự kiện, hiện tượng (kể cả ên
trong hoặ ên ngo i thể) m ó ý ngh a n o ó ối với on người. Có nhiều quan iểm
khá nhau về số lượng á loại cảm xú . C n ứ v o tính h t của cảm xú ó thể phân chia
cảm xú th nh 3 loại tí h ự (positive), tiêu ự (negative) v trung l p (neutral). Nếu n
cứ v o iểu hiện v nội dung, húng ta ó thể chia cảm xú th nh 6 loại ản: vui, buồn,
gi n dữ, ngạ nhiên, ghét, sợ h i. Theo nghiên ứu của W. Gerrod Parrot, từ những cảm xú
ản nhưng dưới sự tá ộng của á kí h thí h khá nhau trong những iều kiện, ho n
cảnh khá nhau m ảm xú ủa on người ũng ó lú an xen, pha l n nhiều cảm xú khá
loại nhưng ùng tồn tại trong một thời iểm. iều n y tạo ra h ng loạt á ảm xú khá .
Phân lớp v n ản tiếng Việt ng á h xây dựng mô hình hủ ề sử dụng á h thứ tìm
một từ khóa v phát triển ể tự sinh ra á từ khá trong hủ ề dựa trên á phư ng pháp
Naïve Bayes, K-NN, SVM. M i loại v n ản (hay òn gọi l lớp – lass) tư ng ư ng với
một hủ ề, ví dụ Giáo dụ , Pháp lu t, Thời sự, Khoa họ , Xe ô tô – Xe máy, Thể thao, Giải
trí, Du lịch. B i toán phân lớp ược xây dựng từ một t p á v n ản ,
trong ó á t i liệu ượ gán nh n - với thuộc t p á hủ ề , v
xá ịnh ượ mô hình phân lớp.
Huấn luyện
Nh n
Thuật
toán
huấn
luyện
T p v n
bản
Trí h chọn
ặ trưng
V n
bản
Trí h chọn
ặ trưng
Bộ phân loại
Nh n
Phân loại
Hình 1. Mô hình phân lớp v n ản
Việ trí h họn ặ trưng ủa v n ản óng vai trò quan trọng với kết quả phân loại v n
bản. Nếu lựa chọn ặ trưng phù hợp sẽ giúp ho kết quả i toán tr nên hính xá h n.
Tuy nhiên, nếu lựa chọn quá nhiều ặ trưng sẽ l m ho quá trình hu n luyện ũng như quá
trình phân loại m t nhiều thời gian h n. Do ó, v n ề của lựa chọn ặ trưng l họn một
t p con nhỏ từ t p á ặ trưng m v n ảm bảo tính hính xá ủa quá trình phân loại. ể
t ng tính hính xá khi phân lớp, nhóm tá giả ưa thêm ặ trưng về ịnh danh tên riêng
trong quá trình xử lý. Ví dụ: một v n ản nếu ó từ “Công_Phượng”, “ uang_Hải” thì xá
xu t ao ượ phân loại v o l nh vực Thể thao, v n ản ó hứa từ “Mỹ_Tâm” thì xá su t
ao ượ phân loại v o l nh vực Giải trí.
131
ạnh Thi n n inh g n n Th ọa i g n Th Thanh Th
Trong phạm vi i áo n y, nhóm tá giả t p trung nghiên ứu phư ng pháp phân lớp
v n ản tiếng Việt b ng á h xây dựng mô hình hủ ề. Phần òn lại của i áo giới thiệu
một số phư ng pháp phân lớp v n ản, trình y kết quả thực nghiệm v kết lu n.
2. MỘT SỐ PHƢƠNG PHÁP PHÂN LỚP VĂN BẢN
2.1. Thuật toán Naïve Bayes
Naïve Bayes l kỹ thu t phân loại phổ iến trong họ máy ó giám sát. Ý tư ng hính
ủa kỹ thu t n y dựa v o xá su t ó iều kiện giữa từ hay ụm từ v nh n phân loại ể dự
oán v n ản mới ần phần loại thuộ lớp n o. Naïve Bayes ượ ứng dụng nhiều trong giải
quyết á i toán phân loại v n ản, xây dựng ộ lọ thư rá tự ộng, hay trong i toán
khai phá quan iểm i tính d hiểu, d triển khai ũng như ộ hính xá tốt [ -8].
Ý tư ng ản ủa á h tiếp n Naïve Bayes l sử dụng xá su t ó iều kiện giữa
á ặ trưng v nh n ể dự oán xá su t nh n ủa một v n ản ần phân loại. iểm quan
trọng ủa phư ng pháp n y hính l h giả ịnh r ng sự xu t hiện ủa t t ả á ặ trưng
trong v n ản ều ộ l p với nhau. Giả ịnh ó l m ho việ tính toán Naïve Bayes hiệu
quả v nhanh hóng h n á phư ng pháp khá vì không sử dụng việ kết hợp á ặ trưng
ể ưa ra phán oán nh n. Kết quả dự oán ị ảnh hư ng i kí h thướ t p dữ liệu, h t
lượng ủa không gian ặ trưng…
Thu t toán Naïve Bayes dựa trên ịnh lý Bayes ượ phát iểu như sau
Trong ó
l xá su t xảy ra của một sự kiện ng u nhiên khi biết sự kiện liên quan
xảy ra.
l xá su t xảy ra khi biết xảy ra.
l xá su t xảy ra của riêng m không quan tâm ến .
l xá su t xảy ra của riêng m không quan tâm ến .
Áp dụng trong i toán phân loại, á dữ kiện gồm ó
: t p dữ liệu hu n luyện ượ ve t hóa dưới dạng ⃗
phân loại , với .
Cá thuộ tính ộc l p iều kiện ôi một với nhau.
Theo ịnh lý Bayes:
Theo tính h t ộc l p iều kiện:
∏
Trong ó
l xá su t thuộ phân loại khi biết trước m u .
xá su t l phân loại .
xá su t thuộ tính thứ mang giá trị khi iết thuộ phân loại .
132
h n p v n n i ng iệ ự ng h o ch
Cá ước thực hiện thu t toán Naïve Bayes
Bƣớc 1: Hu n luyện Naïve Bayes (dựa v o t p dữ liệu), tính v .
Bƣớc 2 Phân loại
, ta cần tính xá su t thuộc từng phân loại khi
iết trước
.
ượ gán v o lớp ó xá su t lớn nh t theo ông thức:
( ∏ )
Ví dụ 2.1: Xét i toán phân loại email l thư rá (spam) hay không phải thư rá (non-spam).
ể ánh giá một email, ước ầu tiên phải chuyển email sang vector ) với
l giá trị á thuộ tính trong không gian ve tor ặ trưng . M i
thuộ tính ượ thể hiện i một token n. Theo phư ng pháp n giản nh t ta ó thể l p ra
một từ iển hứa á token. Sau ó với m i token trong email nếu nó xu t hiện trong từ iển
thì giá trị thuộ tính sẽ l , ngượ lại thì l . Tuy nhiên, trên thự tế, t p hu n luyện không
thường l một ộ từ iển như v y. Thay v o ó, t p hu n luyện lú n y sẽ gồm 2 kho ngữ
liệu. Kho ngữ liệu thư rá sẽ hứa một danh sá h á email ượ xá ịnh l thư rá trướ
ó, v tư ng tự với kho ngữ liệu không thư rá sẽ hứa á email hợp lệ.
Như v y, nếu v n ể giá trị á thuộ tính l hoặ thì sẽ r t khó ánh giá ượ một
email l spam hay không. ặ iệt, nếu email nh n ượ l d i, khi ó nếu ta v n sử dụng
giá trị thuộ tính l hoặ thì sự xu t hiện ủa một token lần ũng tư ng ư ng với
việ xu t hiện h lần.
2.2. Thuật toán K-Nearest Neighbors
K-Nearest Neighbors (K-NN) l phư ng pháp ể phân lớp á ối tượng dựa v o
khoảng á h gần nh t giữa ối tượng ần xếp lớp v t t ả á ối tượng trong t p dữ liệu
hu n luyện.
Một ối tượng ượ phân lớp dựa v o K láng giềng ủa nó. K l số nguyên dư ng ượ
xá ịnh trướ khi thự hiện thu t toán. Khoảng á h Eu lid thường ượ dùng ể tính
khoảng á h giữa á ối tượng [9-11].
Các bƣớc của thuật toán
1. Xá ịnh giá trị tham số K (số láng giềng gần nh t).
2. Tính khoảng á h giữa ối tượng ần phân lớp với t t ả á ối tượng trong t p dữ
liệu hu n luyện.
3. Sắp xếp khoảng á h theo thứ tự t ng dần v xá ịnh K láng giềng gần nh t với ối
tượng ần ượ phân lớp.
4. L y t t ả á lớp ủa K láng giềng gần nh t xá ịnh.
5. Dựa v o phần lớn lớp ủa láng giềng gần nh t ể xá ịnh lớp ho ối tượng.
Ví dụ 2.2:
Xét t p t i liệu hu n luyện {TL , TL , TL , TL4} v t p á từ vựng {doanh thu, áo
uộ , thuế, iện ảnh, di n viên, a s , nghi phạm, kinh doanh} ó ượ sau khi thự hiện á
ướ tiền xử lý dữ liệu. M i t i liệu thuộ một lớp hủ ề ượ xá ịnh trướ như TL v
TL thuộ lớp hủ ề Kinh doanh, TL thuộ lớp hủ ề Giải trí, TL4 thuộ lớp hủ ề Pháp
lu t. Cá t i liệu n y ượ mô hình hóa th nh á ve tor nhiều hiều. Giá trị m i hiều l tần
su t xu t hiện ủa từ vựng tư ng ứng trong t i liệu.
133
ạnh Thi n n inh g n n Th ọa i g n Th Thanh Th
Bảng 1. Tần su t ủa á từ vựng trong v n ản
Doanh
thu
Cáo
uộ
Di n
viên
Nghi
phạm doanh
Kinh
T i liệu
Thuế iện ảnh
Ca s
Lớp hủ ề
TL1
TL2
TL3
TL4
2
1
1
0
0
0
0
4
1
0
0
0
0
1
3
0
0
2
1
0
0
1
2
0
0
0
0
2
3
0
0
0
Kinh doanh
Giải trí
Giải trí
Pháp lu t
Xét t i liệu cần phân loại ó nội dung như sau
“Khi nói đến những ca sĩ thành danh trên mặt trận điện ảnh Hollywood, chắc chắn
không thể bỏ qua Jennifer Lopez. Cô đã tham gia đóng phim và lồng tiếng cho 31 bộ phim
đình đám. Có thể nói, trong điện ảnh Jennifer Lopez có khả năng diễn xuất đa năng khi cô
vừa có thể diễn những bộ phim tình cảm hài nhẹ nhàng cho đến những tác phẩm điện ảnh tội
phạm hình sự. Lopez từng được đề cử giải Quả cầu vàng cho “Vai nữ diễn viên chính xuất
sắc nhất - phim hành động hoặc hài” năm 1998”.
T i liệu n y ược biểu di n th nh ve t nhiều chiều . Sau ó sử
dụng ộ o Eu lid ể tính khoảng á h ến t t cả á t i liệu trong t p hu n luyện, sắp xếp
khoảng á h theo thứ tự t ng dần v xá ịnh K láng giềng gần nh t với ối tượng cần ược
phân lớp.
Bảng 2. Khoảng á h từ t i liệu ang xét ến á t i liệu khá
T i liệu
TL3
Khoảng á h
Lớp hủ ề
Giải trí
1,4
2,4
4,3
5,5
TL2
Giải trí
TL1
Kinh doanh
Pháp lu t
TL4
Trường hợp , chọn t i liệu ó khoảng á h ngắn nh t (láng giềng) lần lượt l
TL v TL . Cả t i liệu láng giềng n y ều thuộc lớp chủ ề giải trí nên t i liệu cần phân
loại thuộc chủ ề giải trí.
Trường hợp , chọn t i liệu ó khoảng á h ngắn nh t (láng giềng) l TL , TL
v TL . Trong ó ó t i liệu thuộc chủ ề giải trí, t i liệu thuộc chủ ề kinh doanh. Nên
t i liệu cần phân loại sẽ thuộc lớp chủ ề phổ biến h n ó l hủ ề giải trí.
2.3. Thuật toán Support Vector Machine
Support Vector Machine (SVM) l một giải thu t máy học dựa trên lý thuyết học thống
kê do Vapnik v Chervonenkis xây dựng.
B i toán ản của SVM l i toán phân loại 2 lớp Cho trước iểm trong không
gian n chiều, m i iểm thuộ v o một lớp kí hiệu l hoặc – , mụ í h của giải thu t
SVM l tìm một siêu phẳng (hyperplane) phân hoạch tối ưu ho phép hia á iểm
n y th nh 2 phần sao ho á iểm ùng một lớp n m về một phía với siêu phẳng n y. T t cả
á iểm x+ ượ gán nh n thuộc về phía dư ng ủa siêu phẳng, á iểm ượ gán
nh n – thuộc về phía âm ủa siêu phẳng. Một siêu phẳng phân hia dữ liệu ược gọi l “tốt
nh t”, nếu khoảng á h từ iểm dữ liệu gần nh t ến siêu phẳng (margin) l lớn nh t [12].
134
h n p v n n i ng iệ ự ng h o ch
Hình 2. Phân lớp với SVM trong mặt phẳng
Thuật toán t m siêu phẳng:
Bộ phân lớp tuyến tính ượ xá ịnh b ng siêu phẳng:
Trong ó v óng vai trò l tham số của mô hình. H m phân lớp nhị
phân ó thể thu ược b ng á h xá ịnh d u của .
Rosen latt ưa ra một thu t toán n giản ể xá ịnh siêu phẳng:
1.
2.
3. repeat
4.
5. for do
6.
7.
if then
9.
10.
11. until
12. return .
Việ tìm siêu phẳng tối ưu ó thể m rộng trong trường hợp dữ liệu không thể tá h rời
tuyến tính ng á h ánh xạ dữ liệu v o một không gian ó số chiều lớn h n ng á h sử
dụng một h m nhân K (Kernel).
Bảng 3. Một số h m nhân thường dùng
Kiểu h m nhân
Linear kernel
Công thức
Polynomial kernel
Radial basis function (Gaussian) kernel
Hyperbolic tangent kernel
Ví dụ 2.3:
ể kiểm tra một v n ản b t kỳ n o ó thuộ hay không thuộc một phân loại cho
trước? Nếu thì ượ gán nh n l , ngược lại thì ượ gán nh n l –1.
135
ạnh Thi n n inh g n n Th ọa i g n Th Thanh Th
Giả sử lựa chọn ược t p á ặ trưng l , thì m i v n ản sẽ
ược biểu di n b ng một vector dữ liệu , l trọng số của từ
trong v n ản . Như v y, tọa ộ của m i vector dữ liệu tư ng ứng với tọa ộ của một
iểm trong không gian .
Dữ liệu hu n luyện l t p á v n ản ượ gán nh n trước
, trong ó, l ve tor dữ liệu biểu di n v n ản
( ), , cặp ược hiểu l ve tor ượ gán nh n l .
Việ xá ịnh một v n ản ó thuộ phân loại hay không, tư ng ứng với việ xét
d u của , nếu thì thuộc , nếu thì không thuộc .
3. KẾT QUẢ THỰC NGHIỆM
ể phân lớp v n ản theo chủ ề, nhóm tá giả tiến h nh thực nghiệm trên máy tính
Macbook Pro x64, Core i7 3.30GHz, 4 CPUs, 16GB RAM. Dữ liệu trên á trang áo iện
tử ó vốn từ ngữ v nội dung r t phong phú, dữ liệu a dạng thuộ á l nh vự trong ời
sống x hội như Kinh tế, Chính trị, V n hóa, Giáo dục, Thể thao,… Nội dung á i áo
ượ ng trên á trang áo iện tử uy tín ược kiểm duyệt phù hợp với từng chủ ề. Vì
v y, việc thu th p dữ liệu từ á trang áo iện tử uy tín l m t p dữ liệu hu n luyện ó ộ
hính xá ao, áng tin y. Thực nghiệm ược tiến h nh trên t p dữ liệu tin tức tiếng Việt
ược trí h xu t từ website VnExpress.net gồm 05 bộ dữ liệu với số lượng lần lượt l 4 ,
800, , 6 v t p tin v n ản thuộc 4 chủ ề như Du lịch, Giải trí, Giáo dụ v
Pháp lu t. Trong m i bộ dữ liệu thì số lượng á á t p tin á hủ ề l như nhau. Cá
t p tin dữ liệu n y ược xử lý tá h từ b ng ông ụ vnTokenizer [13], sau ó sử dụng ông
cụ Weka (phần mềm m nguồn m h trợ xây dựng mô hình hu n luyện ho á i toán về
phân lớp dữ liệu) [14] ể biểu di n v n ản th nh dạng vector, ồng thời loại bỏ những từ
ngữ không ó ý ngh a (Stop words). Cá ve tor v n ản n y ược sử dụng l m dữ liệu hu n
luyện v dữ liệu kiểm tra.
Trong i áo n y, nhóm tá giả chạy thực nghiệm 03 thu t toán l Naïve Bayes,
SVM v K-NN trên ùng bộ dữ liệu hu n luyện. Trong ó, m i bộ dữ liệu ó 80% dữ liệu
dùng ể hu n luyện v % dữ liệu òn lại dùng ể thử nghiệm phân lớp. Bảng 4 trình y
kết quả thử nghiệm, so sánh ộ hính xá giữa á thu t toán dựa trên giá trị trung ình ủa
á tham số khi chạy thử nghiệm trên 5 ộ dữ liệu. Cá tham số gồm: t lệ v n ản ược
phân loại úng (TP Rate), t lệ v n ản phân loại sai (FP Rate), ộ hính xá (Pre ision), ộ
bao phủ (Re all) v ộ trung ình iều hòa (F-Measure).
Bảng 4. Giá trị trung ình á tham số theo phân lớp chủ ề với 05 bộ dữ liệu
ộ trung ình
T lệ úng
(TP Rate)
T lệ sai
(FP Rate)
ộ hính xá
(Precision)
ộ ao phủ
(Recall)
Thu t toán
iều hòa
(F-Measure)
SVM
0,946
0,893
0,582
0,504
0,500
0,491
0,018
0,036
0,144
0,169
0,162
0,163
0,946
0,896
0,645
0,630
0,677
0,704
0,946
0,893
0,582
0,504
0,500
0,491
0,945
0,892
0,580
0,483
0,481
0,471
NaiveBayes
K-NN (k = 1)
K-NN (k = 3)
K-NN (k = 5)
K-NN (k = 7)
Hình so sánh ộ hính xá (%) của á thu t toán khi phân loại v n ản theo 4 chủ ề
trên 05 bộ t p tin dữ liệu v n ản tiếng Việt. ộ hính xá ủa thu t toán K-NN phụ thuộc v o
136
h n p v n n i ng iệ ự ng h o ch
việc chọn giá trị cho tham số k. Kết quả cho th y giá trị của k ng nhỏ thì ộ hính xá ng
ao ( ộ hính xá ao nh t khi k = 1). Thu t toán SVM ho kết quả phân loại v n ản với ộ
hính xá ao nh t (trên %), tiếp ến l Naïve Bayes v uối ùng l thu t toán K-NN.
Hình 3. So sánh ộ hính xá á thu t toán
Hình 4 so sánh thời gian xây dựng mô hình hu n luyện v thời gian thử nghiệm của á
thu t toán. Kết quả cho th y thời gian xây dựng mô hình hu n luyện của thu t toán K-NN
th p nh t (gần b ng 0), trong khi thu t toán Naïve Bayes v SVM ó thời gian xây dựng mô
hình t ng tuyến tính theo ộ lớn của bộ dữ liệu hu n luyện. Thu t toán SVM m t nhiều thời
gian nh t ể xây dựng mô hình hu n luyện. Tuy nhiên, thời gian thử nghiệm phân loại v n
bản trên mô hình hu n luyện thì thu t toán SVM ho kết quả với thời gian thực hiện th p
nh t, kế ến l Naïve Bayes v ao nh t l K-NN.
Hình 4. Thời gian xây dựng mô hình v thời gian thử nghiệm của á thu t toán
Thực nghiệm chứng tỏ thu t toán SVM ho kết quả phân loại v n ản theo chủ ề tốt h n
Naïve Bayes v K-NN cả 2 khía ạnh l ộ hính xá cao nh t v thời gian phân loại thử nghiệm
trên mô hình th p nh t. Mặ dù SVM tốn nhiều thời gian h n ể xây dựng mô hình hu n luyện
nhưng ó thể cải thiện iều n y d d ng khi ược hu n luyện trên á hệ thống máy tính tố ộ cao.
137
ạnh Thi n n inh g n n Th ọa i g n Th Thanh Th
4. KẾT LUẬN
Trong i áo n y, nhóm tá giả trình y v n ề tiền xử lý v n ản, phư ng pháp
phân lớp v thực hiện phân lớp v n ản tiếng Việt tự ộng theo chủ ề b ng á h sử dụng 3
thu t toán Naïve Bayes, K-NN v SVM. Thực nghiệm cho th y thu t toán SVM cho kết quả
phân lớp với ộ hính xá ao nh t (trên %) v thời gian phân loại th p nh t cả 05 bộ dữ
liệu ó số t p tin lần lượt l 4 , 800, 1200, 6 v . Kết quả n y cho th y việc sử
dụng thu t toán SVM ể phân lớp v n ản tiếng Việt theo chủ ề l sự lựa chọn phù hợp
trong á ứng dụng về phân lớp v n ản.
Kết quả nghiên ứu n y l s ho nghiên ứu tiếp theo về ứng dụng phân loại v n
bản theo hướng tí h ự , tiêu ự v trung l p ể xây dựng ứng dụng phát hiện v phân loại
cảm xú : tí h ự (positive), tiêu ự (negative) v trung l p (neutral) của on người dựa trên
nội dung á i viết ó trên Internet về một chủ ề cần quan tâm.
TÀI LIỆU THAM KHẢO
1. Sebastiani F. - Machine learning in automated text categorization, ACM Computing
Surveys (CSUR) 34 (1) (2002) 1-47.
2. Ezhilarasi R. and Minu R. I. - Automatic emotion recognition and classification,
Procedia Engineering 38 (2012) 21-26.
3. Rennie J. D. M. - Improving multi-class text classification with Naive Bayes,
Massachusetts Institute of Technology, Cambridge (2001).
4. Dai W., Xue G., Yang Q., and Yu Y. - Transferring Naive Bayes classifiers for text
classification, In Association for the Advancement of Artificial Intelligence (AAAI),
(2007) 540-545.
5. Frank E. and Bouckaert R. R. - Naive Bayes for text classification with unbalanced
classes, In European Conference on Principles of Data Mining and Knowledge
Discovery (2006) 503–510.
6. Hovold J. - Naive Bayes spam filtering using word-position-based attributes, The
Common European Asylum System (CEAS) (2005).
7. Soelistio Y. E., Raditia M., and Surendra S. - Simple text mining for sentiment
analysis of political figure using naive bayes classifier method, arXiv preprint arXiv,
(2015) 99–104.
8. Pang B. and Lee L. - A sentimental education: Sentiment analysis using subjectivity
summarization based on minimum cuts, Proceedings of the 42nd annual meeting on
Association for Computational Linguistics. Association for Computational Linguistics
(2004) 271.
9. Cunningham P. and Delany S. J. - k-Nearest Neighbour Classifiers, Multiple Classifier
Systems (2007) 1–17.
10.Zhang M. and Zhou Z. - A k-Nearest Neighbor based algorithm for Multi-label
classification, Granular Computing (GrC) (2005) 718–721.
11.Dharmadhikari S. C., Ingle Maya, and Kulkarni P. - Empirical Studies on machine
learning based text classification algorithms, Advanced Computing (2011) 161–169.
12.Campbell C., Ying Y. - Learning with support vector machines, Synthesis lectures on
artificial intelligence and machine learning (2011) 1–95.
138
h n p v n n i ng iệ ự ng h o ch
13.Lê Hồng Phư ng - Vietnamese Word Tokenizer, 2018
(http://mim.hus.vnu.edu.vn/dsl/tools/tokenizer).
14. Hall M., Frank E., Holmes G., Pfahringer B., and Reutemann P. - The WEKA data
mining software: An Update, ACM SIGKDD explorations Newsletter (2009) 11-17.
ABSTRACT
AUTOMATICALLY VIETNAMESE TEXT CLASSIFICATION BY TOPIC
Manh Thien Ly*, Vu Van Vinh, Nguyen Van Le,
Lam Thi Hoa Mi, Nguyen Thi Thanh Thuy, Duong Thi Mong Thuy
Ho Chi Minh City University of Food Industry
*Email: [email protected].vn
The Internet is strongly growing every day with a huge amount of information. The need
of data mining and knowledge discovery is also increasing, in which the text classification
plays an important role. Many techniques in machine learning are applied in classification
process and achieved good results. Nowadays, there are many algorithms used for text
lassifi ation su h as Naïve Bayes, K-NN, SVM, Maximum Entropy, etc. In this paper,
Naïve Bayes, SVM and K-NN algorithms were used to experiment on Vietnamese text
classification with 05 datasets belonging to 4 different topics: Tourism, Entertainment,
Education and the Law. These datasets were extracted from vnexpress.net website. Some
unique identifiers were applied during processing to increase the classification accuracy. The
results show that SVM algorithm has the highest accuracy (over 90%) and the lowest amount
of execution time.
Keywords: Text classification, Naïve Bayes, K-NN, SVM, algorithm.
139
Bạn đang xem tài liệu "Phân lớp văn bản Tiếng Việt tự động theo chủ đề", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
phan_lop_van_ban_tieng_viet_tu_dong_theo_chu_de.pdf

