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  
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  
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  
pdf 11 trang Mãnh Khiết 15/01/2024 13100 Free
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:

  • pdfphan_lop_van_ban_tieng_viet_tu_dong_theo_chu_de.pdf