Tải bản đầy đủ (.pdf) (32 trang)

Tiểu luận môn Máy học và ứng dụng PHÂN LOẠI VĂN BẢN BẰNG PHƯƠNG PHÁP MÁY HỌC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 32 trang )











































GVHD : PGS.TS Vũ Thanh Nguyên
HVTH : Lâm Vinh Đạo
Lớp : Cao học 08
MSHV : CH1301084









BÁO CÁO
MÁY HỌC VÀ ỨNG DỤNG

TP.HCM, tháng 3 năm 2014





ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Tên đề tài:
PHÂN LOẠI VĂN BẢN BẰNG
PHƯƠNG PHÁP MÁY HỌC


MỤC LỤC
CHƯƠNG 1 : TỔNG QUAN 1
CHƯƠNG 2 : CÁC HƯỚNG TIẾP CẬN PHÂN LOẠI VĂN BẢN 2
I. Biểu diễn văn bản 2
II.Các phương pháp phân loại văn bản 3
II.1. Phương pháp SVM – Support Vector Machine 3
II.2. Phương pháp K – Nearest Neighbor ( kNN) 4
II.3.Phương pháp Naïve Bayes (NB) 6
II.4. Phương pháp Linear Least Square Fit – LLSF 7
II.5. Phương pháp Centroid – based vector 8
III.Kết luận : 9
CHƯƠNG 3 : PHÂN LOẠI VĂN BẢN TIẾNG VIỆT 11
I.RÚT TRÍCH ĐẶC TRƯNG VĂN BẢN VÀ BIỂU DIỄN BẰNG MÔ
HÌNH VECTOR 11
I.1.Tách từ trong văn bản : 11
I.2.Xác định từ loại của từ 17
I.3. Loại bỏ các từ tầm thường 18
I.4.Trích chọn đặc trưng văn bản 19
II. SỬ DỤNG THUẬT TOÁN NAIVE BAYES ĐỂ PHÂN LOẠI VĂN BẢN
24
II.1.Lý do chọn Naïve Bayes : 24

II.2. Ý tưởng và công thức Bayes : 25
II.3. Một số cải tiến : 26


KẾT LUẬN 28
TÀI LIỆU THAM KHẢO : 29















1

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
CHƯƠNG 1 : TỔNG QUAN
Ngày này , sự bùng nổ thông tin do bị tác động bởi sự xuất hiện của các siêu
phương tiện và World Wide Web (WWW) đã làm cho không gian dữ liệu gia tăng
thường xuyên , điều này tạo ra một thách thức cho các hệ thống truy vấn thông tin
sao cho có hiệu qủa . Một trong những khó khăn mà các hệ thống thông tin thường

phải gặp đó là tần suất cập nhật của các thông tin qúa lớn .Phương thức sử dụng
giấy trong giao dịch đang dần được số hóa , do nhiều tính năng vượt trội mà phương
thức này mang lại , như là có thể lưu trữ lâu dài , cập nhật , sửa đổi , tìm kiếm một
cách nhanh chóng . Do đó số lượng văn bản số hóa ngày nay đang tăng dần theo cấp
số nhân , cùng với sự gia tăng của số lượng văn bản , nhu cầu tìm kiếm văn bản
cũng tăng theo , khi đó phân loại văn bản tự động là một yêu cầu cấp thiết được đặt
ra . Phân loại văn bản giúp sẽ giúp chúng ta tìm kiếm thông tin một cách nhanh
chóng hơn thay vì phải tìm lần lượt trong từng văn bản , hơn nữa khi mà số lượng
văn bản đang gia tăng một cách nhanh chóng thì thao tác tìm lần lượt trong từng
văn bản sẽ mất rất nhiều thời gian , công sức và là một công việc nhàm chán và
không khả thi. Chính vì thế nhu cầu phân loại văn bản tự động là thực sự cần thiết.
Hiện nay đã có rất nhiều công trình nghiên cứu về phân loại văn bản và đã có
được những kết qủa đáng khích lệ , như là : Support Vector Machine , K – Nearest
Neighbor , Linear Least Squares Fit , Neural Network , Naïve Bayes , Centroid –
Based … Điểm chung của các phương pháp này đều dựa vào xác suất thống kê hoặc
dựa vào trọng số của các từ , cụm từ trong văn bản .Trong mỗi phương pháp đều có
cách tính toán khác nhau , tuy nhiên các phương pháp này đều phải thực hiện một
số bước chung , như : đầu tiên mỗi phương pháp sẽ dựa vào thông tin về sự xuất
hiện của các từ trong văn bản ( tần số xuất hiện trong tập văn bản ,…) để biểu diễn
thành dạng vector , sau đó tùy từng bài toán cụ thể mà chúng ta sẽ quyết định chọn
áp dụng phương pháp nào , công thức tính toán nào cho phù hợp để phân loại tập
văn bản dựa trên tập các vector đã xây dựng được ở bước trên , nhằm mục đích đạt
được kết qủa phân loại tốt nhất .
2

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
CHƯƠNG 2 : CÁC HƯỚNG TIẾP CẬN PHÂN LOẠI VĂN BẢN
Cùng với các hướng nghiên cứu khác về xử lý và rút trích thông tin trong văn
bản như phân cụm ( clustering) , tổng luợc văn bản ( text summarization ) , phân

loại văn bản tự động là một hướng nghiên cứu được quan tâm trong nhiều năm gần
đây . Để phân loại văn bản các công trình nghiên cứu thường dựa vào từ khóa , dựa
trên ngữ nghĩa của từ , tập thô hay một số mô hình khác .
I. Biểu diễn văn bản
Như đã trình bày ở phần trên , bước đầu tiên trong qui trình phân loại văn bản là
thao tác chuyển văn bản đang được mô tả duới dạng chuỗi các từ thành một mô
hình khác , sao cho phù hợp với các thuật toán phân loại ,thông thường nguời ta
thường biểu diễn văn bản bằng mô hình vector. Ý tưởng của mô hình này là xem
mỗi một văn bản ( D
i
) được biểu diễn theo dạng


i,
d
D
i
i

, trong đó i là chỉ số
dùng để nhận diện văn bản này và
d
i
là vector đặc trưng của văn bản D
i
này , trong
đó :
), ,,(
www
d

in2i1i
i

, và n là số luợng đặc trưng của vector văn bản ,
w
ij

trọng số của đặc trưng thứ j ,
 
n1,2, ,j
.
Một vấn đề cần quan tâm khi biểu diễn văn bản theo vector đặc trưng chính là
việc chọn lựa đặc trưng và số chiều cho không gian vector . Cần phải chọn bao
nhiêu từ , là các từ nào , phương pháp chọn ra sao ? . Đây là câu hỏi chúng ta phải
trả lời trong qúa trình chuyển văn bản sang thành vector , có nhiều cách tiếp cận
khác nhau để trả lời cho câu hỏi này , tiêu biểu là sử dụng phương pháp Information
Gain , phương pháp DF – Thresolding hay phương pháp Term Strength . Phương
pháp Information Gain sử dụng độ đo MI ( Mutual Information) để chọn ra tập từ
khóa đặc trưng có độ đo MI cao nhất . Tuy nhiên , việc chọn lựa phương pháp nào
thì tuỳ thuộc vào độ thích hợp , phù hợp của phương pháp , của độ đo mà phương
pháp đó sử dụng so với bài toán mà chúng ta đang xem xét giải quyết , có thể là nếu
văn bản là một trang web thì sẽ có phương pháp để chọn lựa đặc trưng khác so với
các văn bản loại khác .
3

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Các đặc trưng của văn bản khi biểu diễn dưới dạng vector :
- Số nhiều không gian đặc trưng thường lớn .
- Các đặc trưng độc lập nhau.

- Các đặc trưng rời rạc : vector đặc trưng d
i
có thể có nhiều thành phần mang
giá trị 0 do có nhiều đặc trưng không xuất hiện trong văn bản d
i
(nếu chúng
ta tiếp cận theo cách sử dụng giá trị nhị phân 1 , 0 để biểu diễn cho việc có
xuất hiện hay không một đặc trưng nào đó trong văn bản đang được biểu
diễn thành vector) , tuy nhiên nếu đơn thuần cách tiếp cận sử dụng giá trị nhị
phân 0 , 1 này thì kết qủa phân loại phần nào hạn chế là do có thể đặc trưng
đó không có trong văn bản đang xét nhưng trong văn bản đang xét lại có từ
khóa khác với từ đặc trưng nhưng có ngữ nghĩa giống với từ đặc trưng này ,
do đó một cách tiếp cận khác là không sử dụng số nhị phân 0 ,1 mà sử dụng
giá trị số thực để phần nào giảm bớt sự rời rạc trong vector văn bản.
II.Các phương pháp phân loại văn bản
II.1. Phương pháp SVM – Support Vector Machine
SVM là phương pháp phân loại rất hiệu qủa được Vapnik giới thiệu năm 1995 .
Ý tưởng của phương pháp là cho trước một tập huấn luyện được biểu diễn trong
không gian vector , trong đó mỗi một văn bản được xem như một điểm trong không
gian này .Phương pháp này tìm ra một siêu mặt phẳng h quyết định tốt nhất có thể
chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng , tạm gọi là
lớp + ( cộng ) và lớp – ( trừ) .Chất lượng của siêu mặt phẳng này được quyết định
bởi một khoảng cách ( được gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến
mặt phẳng này . Khoảng cách biên càng lớn thì càng có sự phân chia tốt các điểm ra
thành hai lớp , nghĩa là sẽ đạt được kết qủa phân loại tốt . Mục tiêu của thuật toán
SVM là tìm được khoảng cách biên lớn nhất để tạo kết qủa phân loại tốt .

4

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học

GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo

Có thể nói SVM thực chất là một bài toán tối ưu , mục tiêu của thuật toán là tìm
được một không gian H và siêu mặt phẳng quyết định h trên H sao cho sai số khi
phân loại là thấp nhất , nghĩa là kết qủa phân loại sẽ cho kết qủa tốt nhất .
Phương trình siêu mặt phẳng chứa vector d
i
trong không gian như sau :
0b
w
.
d
i









































0b
w
.
d
i
,
0b

w
.
d
i
,
w
.
d
i
sign
d
i
h

Như thế vector h(d
i
) biểu diễn sự phân lớp của vector d
i
vào hai lớp . Gọi Y
i

mang giá trị +1 hoặc -1 , khi đó Y
i
= +1 văn bản tương ứng với vector d
i
thuộc lớp
+ và ngược lại nó sẽ thuộc vào lớp - . Khi này để có siêu mặt phẳng h ta sẽ giải bài
toán sau :
Tìm Min
w


với
w

và b thỏa điều kiện :
1b))w
d
i
(sign(
y
i
:n1,i 

Chúng ta thấy rằng SVM là mặt phẳng quyết định chỉ phụ thuộc vào các vector
hỗ trợ có khoảng cách đến mặt phẳng quyết định là 1/w
i
. Khi các điểm khác bị xóa
đi thì thuật toán vẫn cho kết qủa giống như ban đầu . Chính đặc điểm này làm cho
SVM khác với các thuật toán khác như kNN , LLSF , Nnet , NB vì tất cả dữ liệu
trong tập huấn luyện đều được dùng để tối ưu hóa kết qủa .
II.2. Phương pháp K – Nearest Neighbor ( kNN)
kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã
được nghiên cứu trong nhiều năm qua . kNN được đánh giá là một trong những
5

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân
loại văn bản .
Ý tưởng của phương pháp này đó là khi cần phân loại một văn bản mới , thuật

toán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như
Euclide , Cosine , Manhattan , …) của tất cả các văn bản trong tập huấn luyện đến
văn bản này để tìm ra k văn bản gần nhất ,gọi là k nearest neighbor – k láng giềng
gần nhất , sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề.
Khi đó , trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các
văn bản trong k láng giềng có cùng chủ đề , chủ đề nào không xuất hiện trong k
láng giềng sẽ có trọng số bằng 0 . Sau đó các chủ đề sẽ được sắp xếp theo giá trị
trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn
bản cần phân loại.
Trọng số của chủ đề c
j
đối với văn bản x được tính như sau :

b
j
c
j
,
d
i
y.
{kNN}
d
i
d
i
,
x
sim
c

j
x,
W 
































Trong đó :
y (d
i
, c) thuộc {0,1} , với :
-
y = 0 : văn bản d
i
không thuộc về chủ đề c
j
- y = 1 : văn bản d
i
thuộc về chủ đề c
j

sim (x , d) : độ giống nhau giữa văn bản cần phân loại x và văn bản d .
Chúng ta có thể sử dụng độ đo cosine để tính khoảng cách :
d
i
x
d
i
.
x
d
i
,

x
cos
d
i
,
x
sim





























- b
j
là ngưỡng phân loại của chủ đề c
j
được tự động học sử dụng một tập văn
bản hợp lệ được chọn ra từ tập huấn luyện.
6

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Để chọn được tham số k tốt nhất cho thao tác phân loại , thuật toán cần được
chạy thử nghiệm trên nhiều giá trị k khác nhau , giá trị k càng lớn thì thuật toán
càng ổn định và sai sót càng thấp .
II.3.Phương pháp Naïve Bayes (NB)
NB là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi trong lĩnh
vực máy học và nhiều lĩnh vực khác như trong các công cụ tìm kiếm , các bộ lọc
mail …
Ý tưởng cơ bản của cách tiếp cận này là sử dụng xác suất có điều kiện giữa từ
hoặc cụm từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân
loại.Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất
hiện của tất cả các từ trong văn bản đều độc lập với nhau. Như thế NB không tận
dụng được sự phụ thuộc của nhiều từ vào một chủ đề cụ thể . Chính giả định đó làm
cho việc tính toán NB hiệu qủa và nhanh chóng hơn các phương pháp khác với độ
phức tạp theo số mũ vì nó không sử dụng cách kết hợp các từ để đưa ra phán đoán
chủ đề.

Mục đích chính là làm sao tính được xác suất Pr(C
j
, d’) , xác suất để văn bản
d’nằm trong lớp C
j
.Theo luật Bayes , văn bản d’ sẽ được gán vào lớp C
j
nào có xác
suất Pr(C
j
, d’) cao nhất .
Công thức để tính Pr(C
j
, d’) như sau :
 
   
   























c
c
'
d
'
1i
C
'
|
w
i
Pr.
c
'
Pr
d
'
1i
C
j
|

w
i
Pr.
C
j
Pr
argmax
C
c
j
d
'
H
BAYES

Với :
- TF(w
i
, d’) là số lần xuất hiện của từ w
i
trong văn bản d’
- |d’| là số lượng các từ trong văn bản d’
- w
i
là một từ trong không gian đặc trưng F với số chiều là |F|
7

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
- Pr(C

j
) được tính dựa trên tỷ lệ phần trăm của số văn bản mỗi lớp tương ứng
 



C
C
'
C
'
C
j
C
C
j
C
j
Pr

trong tập dữ liệu huấn luyện
-
 
 
 






F
w
'
c
j
,
w
'
TFF
c
j
,
w
i
TF1
C
j
|
w
i
Pr

Ngoài ra còn có các phương pháp NB khác có thể kể ra như ML Naïve Bayes ,
MAP Naïve Bayes , Expected Naïve Bayes . Nói chung Naïve Bayes là một công cụ
rất hiệu qủa trong một số trường hợp. Kết qủa có thể rất xấu nếu dữ liệu huấn luyện
nghèo nàn và các tham số dự đoán (như không gian đặc trưng) có chất lượng
kém.Nhìn chung đây là một thuật toán phân loại tuyến tính thích hợp trong phân
loại văn bản nhiều chủ đề . NB có ưu điểm là cài đặt đơn giản , tốc độ thực hiện
thuật toán nhanh , dễ dàng cập nhật dữ liệu huấn luyện mới và có tính độc lập cao
với tập huấn luyện .

II.4. Phương pháp Linear Least Square Fit – LLSF
LLSF là một cách tiếp cận ánh xạ được phát triển bởi Yang và Chute vào năm
1992 . Ban đầu LLSF được thử nghiệm trong lĩnh vực xác định từ đồng nghĩa sau
đó sử dụng trong phân loại vào năm 1994 . Các thử nghiệm cho thấy hiệu suất phân
loại của LLSF có thể ngang bằng với phương pháp kNN kinh điển.
Ý tưởng của LLSF là sử dụng phương pháp hồi quy để học từ tập huấn luyện và
các chủ đề có sẵn.
Tập huấn luyện được biểu diễn dưới dạng một cặp vector đầu vào và đầu
ra như sau:
-Vector đầu vào là một văn bản bao gồm các từ và trọng số.
-Vector đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn bản ứng với
vector đầu vào .
8

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Giải phương trình các cặp vector đầu vào , đầu ra chúng ta sẽ thu được ma trận
đồng hiện của hệ số hồi quy của từ và chủ đề .
Phương pháp này sử dụng công thức :
BFA
2
min
arg
F
F
LS


Trong đó :
- A, B là ma trận đại diện tập dữ liệu huấn luyện ( các cột trong ma trận tương

ứng là các vector đầu vào và đầu ra).
- F
LS
là ma trận kết qủa chỉ ra một ánh xạ từ một văn bản bất kỳ vào vector của
chủ đề đã gán trọng số.
Nhờ vào việc sắp xếp trọng số của các chủ đề , chúng ta được một danh sách
chủ đề có thể gán cho văn bản cần phân loại . Nhờ đặt ngưỡng lên trọng số của các
chủ đề mà ta tìm được chủ đề thích hợp cho văn bản đầu vào . Hệ thống tự động học
các ngưỡng tối ưu cho từng chủ đề , giống với kNN . Mặc dù LLSF và kNN khác
nhau về mặt thống kê , nhưng chúng ta vẫn tìm thấy điểm chung trong cách làm của
hai phương pháp này là qúa trình học ngưỡng tối ưu.
II.5. Phương pháp Centroid – based vector
Là một phương pháp phân loại đơn giản , dễ cài đặt và tốc độ nhanh do có độ
phức tạp tuyến tính O(n).
Ý tưởng của cách tiếp cận này là mỗi lớp trong dữ liệu huấn luyện sẽ được biểu
diễn bằng một vector trọng tâm . Việc xác định lớp của một văn bản bất kỳ sẽ thông
qua việc tìm vector trọng tâm nào gần với vector biểu diễn văn bản thứ nhất.Lớp
của văn bản chính là lớp mà vector trọng tâm đại diện và khoảng cách được xác
định theo độ đo cosine.
Chúng ta có công thức tính vector trọng tâm của lớp i :





{i}
d
j
d
j

{i}
1
C
i


Độ đo khoảng cácg giữa vector x và vector C
i
:
9

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
C
i
.
x
C
i
.
x
C
i
,
x
cos

















Trong đó :
- x là vector văn bản cần phân loại
- {i} là tập hợp các văn bản thuộc chủ đề C
i

- Chủ đề của vector x là C
x
thỏa mãn cos(x, C
x
)= arg max (cos(x,C
i
)).
III.Kết luận
Các thuật toán phân loại trên từ thuật toán phân loại hai lớp (SVM) đến các
thuật toán phân loại đa lớp (kNN) đều có điểm chung là yêu cầu văn bản phải được
biểu diễn dưới dạng vector đặc trưng . Ngoài ra các thuật toán như kNN , NB ,
LLSF đều phải sử dụng các ước lượng tham số và ngưỡng tối ưu khi phân loại văn
bản , trong khi thuật toán SVM có thể tự xác định các tham số tối ưu này trong qúa

trình thực hiện thuật toán .Xét về mặt thời gian , các phương pháp có thời gian huấn
luyện khác nhau, các phương pháp kNN , NB , LLSF có thời gian huấn luyện và
phân loại văn bản nhanh hơn so với các thuật toán còn lại , đồng thời dễ dàng cài
đặt hơn.
Một câu hỏi được đặt ra là : “ Để có được một kết qủa phân loại đạt kết qủa tốt
thì cần những yếu tố gì ? ”
Có 3 yếu tố quan trọng tác động đến kết qủa phân loại văn bản :
1) Cần một tập dữ liệu huấn luyện chuẩn và đủ lớn để cho thuật toán học
phân loại . Nếu chúng ta có được một tập dữ liệu chuẩn và đủ lớn thì qúa
trình huấn luyện sẽ tốt và khi đó chúng ta sẽ có kết qủa phân loại tốt sau
khi đã được học .
2) Các phương pháp trên hầu hết đều sử dụng mô hình vector để biểu diễn
văn bản , do đó phương pháp tách từ trong văn bản đóng vai trò quan
trọng qúa trình biểu diễn văn bản bằng vector . Yếu tố này rất quan trọng ,
vì có thể đối với một số ngôn ngữ như tiếng Anh chẳng hạn thì thao tác
10

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
tách từ trong văn bản đơn giản chỉ là dựa vào các khoảng trắng , tuy
nhiên trong các ngôn ngữ đa âm tiết như tiếng Việt và một số ngôn ngữ
khác thì sử dụng khoảng trắng khi tách từ là không chính xác , do đó
phương pháp tách từ là một yếu tố quan trọng.
3) Thuật toán sử dụng để phân loại phải có thời gian xử lý hợp lý , thời gian
này bao gồm : thời gian học , thời gian phân loại văn bản , ngoài ra thuật
toán này phải có tính tăng cường (incremental function) nghĩa là không
phân loại lại toàn bộ tập văn bản khi thêm một số văn bản mới vào tập
dữ liệu mà chỉ phân loại các văn bản mới mà thôi , khi đó thuật toán phải
có khả năng giảm độ nhiễu ( noise ) khi phân loại văn bản.




















11

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
CHƯƠNG 3 : PHÂN LOẠI VĂN BẢN TIẾNG VIỆT
Để tiến hành phân loại văn bản nói chung, chúng ta sẽ thực hiện các bước như
sau :
 Bước 1 : Rút trích đặc trưng văn bản và biểu diễn văn bản bằng mô hình
vector.
 Bước 2 : Áp dụng thuật toán phân loại văn bản . Bước này chúng ta sẽ đề
xuất sử dụng thuật toán Navie Bayes để phân loại văn bản vì nhìn chung đây
là một thuật toán phân loại tuyến tính thích hợp trong phân loại văn bản

nhiều chủ đề . NB có ưu điểm là cài đặt đơn giản , tốc độ thực hiện thuật
toán nhanh , dễ dàng cập nhật dữ liệu huấn luyện mới và có tính độc lập cao
với tập huấn luyện .
I.RÚT TRÍCH ĐẶC TRƯNG VĂN BẢN VÀ BIỂU DIỄN BẰNG MÔ HÌNH
VECTOR
Để rút trích đặc trưng của văn bản , chúng sẽ thực hiện thao tác tách từ trong văn
bản , xác định từ loại của từ và sau đó tiến hành biểu diễn các văn bản bằng mô hình
vector .
I.1.Tách từ trong văn bản :
Phương pháp tách tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải di
truyền – IGATEC (Internet and Genetics Algorithm based Text Categorization for
Documents in Vietnamese) do H. Nguyễn đề xuất năm 2005 như một hướng tiếp
cận mới trong tách từ với mục đích phân loại văn bản mà không cần dùng đến một
từ điển hay tập ngữ liệu học nào . Trong hướng tiếp cận này , tác giả kết hợp giữa
thuật toán di truyền với dữ liệu thống kê được lấy từ Internet .
Trong tiếp cận của mình , tác giả đã mô tả hệ thống tách từ gồm các thành phần
1.1 Online Extractor : Thành phần này có tác dụng lấy thông tin về tần số xuất
hiện của các từ trong văn bản bằng cách sử dụng một search engine nổi tiếng như
Google hay Yahoo chẳng hạn . Sau đó , tác giả sử dụng các công thức dưới đây để
12

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
tính toán mức độ phụ thuộc lẫn nhau (mutual information) để làm cơ sở tính fitness
cho GA engine.
 Tính xác suất các từ xuất hiện trên Internet :

 
MAX
)

w
2
&
w
1
count(
)
w
2
&
w
1
p(
MAX
count(w)
wp



Trong đó : MAX = 4 * 10
9

count(w) số lượng văn bản trên Internet được tìm thấy có
chứa từ w hoặc cùng chứa w1 và w2 đối với count(w1&w2).

 Tính xác suất độ phụ thuộc của một từ lên một từ khác :
 
w
1
p

)
w
2
&
w
1
p(
)
w
2
|
w
1
p( 


Thông tin phụ thuộc lẫn nhau (mutual information) của các từ ghép được
cấu tạo bởi n tiếng ( cw = w
1
w
2
…w
n
)
 




n

1j
)
w
n
& &
w
2
&
w
1
p(
w
j
p
)
w
n
& &
w
2
&
w
1
p(
MI(cw)

1.2 GA Engine for Text Segmentation : mỗi cá thể trong quan thể được biểu
diễn bởi chuỗi các bit 0,1 , trong đó , mỗi bit đại diện cho một tiếng trong văn bản ,
mỗi nhóm bit cùng loại đại diện cho cho một segment. Các cá thể trong quần thể
được khởi tạo ngẫu nhiên , trong đó mỗi segment được giới hạn trong khoảng 5 .

GA engine sau đó thực hiện các bước đột biến và lai ghép nhằm mục đích làm tăng
giá trị fitness của các cá thể để đạt được cách tách từ tốt nhất có thể.
1.2.1 Khởi tạo quần thể:
a. Biểu diễn cá thể :
13

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Giả sử văn bản đầu vào t bao gồm n tiếng như sau : T=s
1
s
2
…s
n
.Mục đích của
qúa trình thực hiện thuật toán GA là tìm cách tách ra các từ có độ phù hợp cao
nhất : t=w
1
w
2
…w
m
với w
k
=s
i
…s
j
( 1 <= k <= m , 1 <= i,j <= n).Sau đó mỗi cá thể
trong quan thể được biểu diễn bởi chuỗi các bit 0,1 , trong đó , mỗi bit đại diện cho

một tiếng trong văn bản , mỗi nhóm bit cùng loại đại diện cho cho một segment.
Tác giả đã đưa ra ví dụ như sau :


b. Khởi tạo các tham số :
Trong bước này để cho GA chạy , chúng ta phải khởi tạo giá trị các tham số ,
bao gồm : số thế hệ tiến hóa , kích thước quần thể , tỷ lệ lai ghép, … Qua nhiều lần
thử sai , tác giả đã đưa ra giá trị cho các tham số như sau :

Tham số
Giá
trị
Số thế hệ tiến hóa
100
Kích thước quần thể
50
Tỷ lệ lai ghép
95%
Tỷ lệ đột biến
5%
Top N cá thể được chọn
100
Tỷ lệ từ 1 tiếng (mono –
gram)
10%
Tỷ lệ từ 2 tiếng (bi – gram)
70%
Tỷ lệ từ 3 tiếng (tri – gram)
10%
14


Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Tỷ lệ từ 4 tiếng (quad –
gram)
10%

c. Khởi tạo cá thể :
Mục đích của thuật toán di truyền là thực hiện tiến hóa các cá thể qua các thế hệ
nhằm đạt đến độ hội tụ của chỉ số thích nghi . Ở đây , chúng ta thấy rằng , nếu cá
thể được khởi tạo ngẫu nhiên sẽ có độ thích nghi thấp , khi đó sẽ phải được tiến hóa
qua nhiều thế hệ để đạt được độ hội tụ cần thiết , tuy nhiên số thế hệ tiến hóa càng
nhiều thì thời gian tiêu tốn và chi phí tính toán càng cao .Do đó giải pháp tối ưu là
khởi tạo một số cá thể ban đầu gần với điểm hội tụ thì sẽ giúp giảm bớt số thế hệ
tiến hóa .
d. Khởi tạo cá thể bằng phương pháp Maximum Matching : Forward /
Backward
Phương pháp này có độ chính xác khá cao nên sử dụng để khởi tạo cá thể ban
đầu là phù hợp , vì như thế sẽ tạo ra được các các thể gần đúng nhất để giảm số lần
tiến hóa .Bên cạnh đó phương pháp cũng khá đơn giản vì thực hiện tuyến tính nên
cũng có thời gian tính toán thấp hơn các phương pháp khác.Sau khi khởi tạo
xong ,quần thể sẽ được tiến hóa qua các qúa trình lai ghép , đột biến , sinh sản.
1.2.2 Tiến hóa cá thể:
a. Qúa trình lai ghép
Phương pháp lai ghép được tác giả thực hiện bằng cách dựa trên một điểm ngẫu
nhiên trong chuỗi các bit 0 , 1 của các cá thể . Khi có một cặp cá thể bố mẹ , thế hệ
con được tạo ra dựa trên sự kết hợp từ phần đầu tiên của bố với phần cuối của mẹ
và ngược lại .

15


Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo

b. Qúa trình đột biến
Ý tưởng thực hiện đột biến được thực hiện bằng cách hoán chuyển vị trí của 2
bit liền nhau tại một vị trí ngẫu nhiên , cách làm này thể hiện tính tự nhiên do là một
tiếng nếu kết hợp với tiếng trước nếu không phù hợp thì có thể kết hợp với từ đứng
sau ( bit đứng sau ) như thế sẽ tạo ra được các từ có ý nghĩa và loại bỏ các từ vô
nghĩa nếu ghép 2 bit ở 2 vị trí ngẫu nhiên trong câu.
Ví dụ :


c. Qúa trình sinh sản
16

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Sau khi đã lai ghép và đột biến chúng ta sẽ kết hợp các cá thể bố mẹ với cá thể
con vừa được tạo ra để phục vụ cho bước chọn cá thể . Sau khi kết hợp , chúng ta sẽ
chọn lọc các cá thể trong quần thể để đạt được nhiều kết qủa tách từ tốt .
Ví dụ :

d. Qúa trình chọn cá thể
Qúa trình chọn lựa cá thể là buớc rất quan trọng trong qúa trình tiến hóa , vì qúa
trình này sẽ chọn các cá thể tốt , chính việc chọn lựa này sẽ quyết định đến qúa trình
tiến hóa ở thế hệ tiếp theo , cũng như ảnh hưởng đến độ hội tụ trong thuật toán di
truyền.Sau khi chọn lựa , quần thể sẽ được sắp xếp theo giá trị của độ thích nghi
giảm dần ,khi đó qúa trình chọn lọc cá thể sẽ chọn N cá thể có độ thích nghi cao
nhất để hình thành nên một quần thể mới nhằm chuẩn bị cho qúa trình tiến hóa tiếp

theo .
Cách thức lựa chọn cá thể thoả mãn điều kiện như sau :

 






N
1i
)
id
i
fit(fit(pop)
m
1k
w
k
MI)
w
m

w
2
w
1
fit(fit(id)


Trong đó ,id =w
1
w
2
…w
m
là một cá thể trong quần thể .

17

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo


e. Độ hội tụ
Qúa trình thực hiện thuật toán GA cố gắng tăng độ thích nghi (fitness) của mỗi
cá thể , điều này cũng có nghĩa là tăng chất lượng của từ được từ . Và do đó ở mỗi
thế hệ tiến hóa , chỉ số thích nghi của quần thể sẽ tăng lên dần đến một ngưỡng hội
tụ T . Khi đó sau một qúa trình tiến hóa độ chêng lệch giữa chỉ số thích nghi của hai
cá thể trong quần thể sẽ giảm dần và tiến dần về 0 hoặc đạt đến ngưỡng hội tụ T mà
chúng ta đã chọn .
1.3.Nhận xét
Phương pháp do tác giả H.Nguyễn đề xuất có ưu điểm là không cần sử dụng bất
cứ tập huấn luyện hoặc từ điển nào do đó không mất thời gian để huấn
luyện.Phương pháp tách từ cũng không phức tạp. Tuy nhiên khi so sánh với các
phương pháp LRMM và WFST đã được trình bày ở trên thì IGATEC có độ chính
xác thấp hơn nhưng hoàn toàn chấp nhận được, thời gian chạy ban đầu hơi chậm do
phải lấy thông tin từ mạng Internet.
I.2.Xác định từ loại của từ
Để xác định từ loại của từ tiếng Việt , có một công trình khá tốt là VnQTag của

nhóm tác giả Nguyễn Thị Minh Huyền . VnQTag giúp gán nhãn từ loại tự động cho
văn bản tiếng Việt . Chương trình VnQTag được nhóm tác giả trên chỉnh sửa lại
thành phiên bản dùng cho tiếng Việt từ phần mếm QTAG của nhóm tác giả O.
Mason, Đại học Bermingham, Anh. QTAG là chương trình gán nhãn từ loại tự
18

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
động dựa vào thống kê tức là dựa vào xác suất. Qua một số thử nghiệm thực
tế ,VnQTag cho kết quả có độ chính xác khá cao.
QTAG là một bộ gán nhãn xác suất độc lập với ngôn ngữ. Phương pháp xử lý
của QTAG có thể mô tả tổng quát như sau. Đầu tiên tiến hành học từ vựng, bộ
nhãn từ loại, cùng với xác suất từ vựng và xác suất ngữ cảnh từ một kho ngữ liệu đã
được gán nhãn bằng tay. Dựa vào những dữ liệu đã học được này, bộ gán nhãn tìm
những nhãn có thể được và tần số của nó cho từng từ trong kho dữ liệu mới đã được
tách từ. Nếu việc tìm kiếm một từ trong danh sách từ vựng đã học thất bại thì tất cả
các nhãn sẽ được gán cho từ đó. Cuối cùng, bộ gán nhãn thực hiện bước loại bỏ
nhập nhằng bằng cách sử dụng thông tin về xác suất phân bố từ vựng đã được học
trước đó.
Dữ liệu đầu vào của VnQTag là văn bản đã được tách từ trong từng câu có được
từ kết quả của bước tách từ ở phần trên, kết quả đầu ra của chương trình là một từ
loại tương ứng sẽ được gán cho từng từ trong văn bản. VnQTag sử dụng đồng thời
từ điển để liệt kê các từ loại có thể cho một từ, và một kho văn bản mẫu để loại bỏ
nhập nhằng.
I.3. Loại bỏ các từ tầm thường
Sau khi đã tiến hành tách từ trong văn bản , chúng ta sẽ tiến hành loại bỏ các từ
tầm thường (stopword) .Trong một văn bản , không phải tất cả các từ đều có ngữ
nghĩa tương đương nhau , và không phải tất cả các từ đều dùng để miêu tả nội dung
của văn bản .Do đó trong bất kỳ một văn bản nào thì chắc chắn sẽ có những từ mà
không mang ngữ nghĩa của văn bản , và các từ như vậy thì được gọi là

stopword .Và vì vậy chúng ta sẽ loại bỏ các từ này ra khỏi văn bản . Trong các ngôn
ngữ tự nhiên thì các mạo từ , giới từ , liên từ là các stopword . Ngoài ra cũng có một
số động từ , tính từ , phó từ thì cũng được xem như là các stopword. Danh sách các
từ stopword được liệt kê trong phụ lục .

19

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
I.4.Trích chọn đặc trưng văn bản
4.1 Các ý tưởng cơ bản
Các phương pháp rút trích thông tin cổ điển thì coi mỗi một văn bản như là tập
các từ khóa và gọi tập các từ khóa này là tập các term . Một phần tử trong tập term
thì đơn giản là một từ , mà ngữ nghĩa của từ này giúp tạo thành nên nội dung của
văn bản .Vì vậy , tập term được sử dụng để tạo các chỉ mục và tóm lược nội dung
của văn bản .
Giả sử cho một tập term của một văn bản nào đó , chúng ta có thể nhận thấy
rằng không phải tất cả các từ trong tập term này đều có mức độ quan trọng như
nhau trong việc mô tả nội dung văn bản . Ví dụ , bây giờ chúng ta xét một tập gồm
một trăm ngàn văn bản , giả sử có một từ A nào đó xuất hiện trong một trăm ngàn
văn bản này thì chúng ta có thể khẳng định rằng từ A này không quan trọng và
chúng ta sẽ không quan tâm đến nó , bởi vì chắc chắn là nó sẽ không cho chúng ta
biết được về nội dung của các văn bản này .Vì vậy từ A sẽ bị loại ra khỏi tập các
term ,khi chúng ta xây dựng tập term cho văn bản để miêu tả nội dung ngữ nghĩa
của các văn bản này . Kết qủa này có được thông qua thao tác xác định trọng số cho
mỗi một từ trong tập term của một văn bản .
Đặt k
i
là từ thứ i trong tập term, d
j

là văn bản j , và w
ij
>= 0 là trọng số của từ k
i

trong văn bản d
j
.Giá trị của trọng số này thì rất là quan trọng trong việc miêu tả nội
dung của văn bản .
Đặt t là số luợng các từ trong tập term của hệ thống . K = { k
1
,k
2
,k
3
…, k
t
} là
tập tất cả các từ trong tập term , trong đó k
i
là từ thứ i trong tập term . Trọng số w
ij

>0

là trọng số của từ k
i
trong văn bản d
j .
Với mỗi một từ ,nếu nó không xuất hiện

trong văn bản thì w
ij
= 0 . Do đó , văn bản d
j
thì được biểu diễn bằng vector dj ,
trong đó vector dj = {w
j1,
w
j2,
w
j3,….,
w
jt
}.
4.2 Mô hình vector
Mô hình vector đưa ra một mô hình khung ,trong đó mỗi một thành phần trong
mô hình này là sự kết hợp giữa hai tập term . Điều này được thực hiện bằng cách
xác định trọng số của các từ trong tập term của tất cả các văn bản . Các trọng số của
20

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
các từ này sau này sẽ được dùng làm nền tảng để xác định mức độ tương đồng giữa
hai vector đặc trưng ( trong bài toán phân nhóm văn bản thì tập term được gọi là
vector đặc trưng hoặc là đặc trưng ).
Trong mô hình vector , giá trị trọng số w
ij
(sự kết hợp của một cặp (k
i,
d

j
)) là một
số thực dương . Khi đó, vector d
j
= = {w
j1,
w
j2,
w
j3,….,
w
jt
}, trong đó t là số luợng các
từ trong hệ thống .
Mô hình vector đề nghị một công thức để đánh giá mức độ tương đồng giữa hai
văn bản d
a
và d
b
, bằng cách so sánh mức độ tương đồng giữa hai vector d
a
và d
b
.
Ví dụ như là có thể dùng công thức tính cosin của một góc để xác định mức tương
đồng giữa hai vector , như hình dưới đây :











t
1i
2
bi
t
1i
2
ai
t
1i
biai
ba
ba*
ba
ww
ww
dd
dd
dd
)(
||||
),sim(








Trong đó
||
d
a

||
d
b
là chuẩn của các vector d
a
và d
b

Ở trên , chúng ta sử dụng công thức cosine để xác định mức độ tương đồng giữa
hai vector , ngoài ra chúng sẽ có hai công thức nũa để xác định mức độ tương đồng
này , đó là khoảng cách Euclidean và Manhattan .
4.3 Mô hình tương tự
Trong phần này , chúng ta xem xét ba phương pháp khác nhau , dùng để xác
định mức độ tương đồng giữa hai vector đặc trưng v
a
và v
b .
Trong đó
 
wwwv

in2i1ii
, ,,
và ,
10 
w
ij
,
 
nj , ,2,1
, và n là tổng số
đặc trưng của vector .
 
bai ,

21

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo
Có ba phương pháp xác định mức độ tương đồng giữa hai vector này , đó là
dùng : Hệ số Cosine , Khoảng cách Euclidean và Manhattan .
4.3.1 Hệ số Cosine
Hệ số cosine là một hệ số được dùng phổ biến để xác định mức độ tương đồng
giữa các vector đặc trưng của hai văn bản .Nếu hệ số cosine giữa hai văn bản càng
lớn thì mức độ tương đồng giữa chúng càng lớn .
Cho hai vector v
a
và v
b
, mức độ tương đồng giữa hai vector này được xác định
bằng công thức :


 
 







n
1i
2
bi
n
1i
2
ai
n
1i
biai
ba
ww
ww
vv
,cos_sim

4.3.2 Khoảng cách Euclidean
Khoảng cách Euclidean là một phương pháp phổ biến nhất để xác định mức độ
tương đồng giữa các vector đặc trưng của hai văn bản .

Cho hai vector v
a
và v
b
, khoảng cách Euclidean được định nghĩa như sau :

 
 




n
1i
2
ba
ww
vv
biai
,euc_dist


 
n
,euc_dist
vv
ba
nằm trong khoảng 0 và 1, do đó mức độ tương đồng
giữa hai vector này được xác định bằng công thức như sau :


 
1,_
vv
ba
simeuc
 
n
,euc_dist
vv
ba
=
 




n
1i
2
ww
biai
1
1
n

4.3.3 Khoảng cách Manhattan
Khoảng cách Manhattan là một phương pháp thứ ba dùng để xác định mức độ
tương đồng giữa các vector đặc trưng của hai văn bản .
Cho hai vector v
a

và v
b
, khoảng cách Manhattan được định nghĩa như sau :

 



n
i
biai
ww
man
1
ba
vv
,_dist

22

Máy học và Ứng dụng Phân loại văn bản bằng phương pháp máy học
GVHD: PGS.TS Vũ Thanh Nguyên HVTH: Lâm Vinh Đạo

 
n
,_dist
vv
ba
man
nằm trong khoảng 0 và 1, do đó mức độ tương đồng

giữa hai vector này được xác định bằng công thức như sau :

 
1,_
vv
ba
simman
 
n
,_dist
vv
ba
man
=



n
i
biai
ww
n
1
1
1

Nhận xét : Ba phương pháp trên thì cho kết qủa tốt như nhau trong việc xác
định mức độ tương đồng giữa các vector . Tuy nhiên , chúng ta thấy rằng khoảng
cách Manhattan là phù hợp nhất ,vì ngoài việc cho kết qủa tốt như hai phương pháp
kia ,nó còn hiệu qủa trong thực hiện do công thức tính toán đơn giản hơn so với

phương pháp Euclidean và Cosine .
4.4 Phương pháp rút trích đặc trưng :
4.4.1 Phương pháp truyền thống rút trích đặc trưng văn bản
Theo truyền thống , một văn bản D thì được biểu diễn bằng một vector đặc trưng
theo dạng (d
1
,d
2
,…,d
n
) , trong đó d
i
là trọng số của đặc trưng thứ i và n là số lượng
các đặc trưng . Mỗi một đặc trưng tương ứng với một từ xuất hiện trong tập huấn
luyện , sau khi loại bỏ các stopword ra khỏi các văn bản .
Phương pháp 1:
Phương pháp phổ biến nhất để rút trích các đặc trưng là dựa vào tần suất xuất
hiện của các từ riêng biệt trong các văn bản . Phương pháp này thực hiện thông qua
hai bước sau
 Bước 1 : Loại bỏ các từ chung (ngữ nghĩa của các từ này không ảnh hưởng
đến nội dung của văn bản) ra khỏi văn bản bằng cách sử dụng một từ điển
đặc biệt , hoặc là sử dụng danh sách các từ tầm thường ( stopword ) .
 Bước 2 : Xác định tần suất xuất hiện tf
ij
của các từ T
j
còn lại trong mỗi văn
bản D
i
và đặc biệt là số lần xuất hiện của T

j
trong D
i
. Sau đó dựa vào tần
suất xuất hiện của các từ này , chúng ta sẽ tính giá trị trọng số cho các từ T
j

này . Và n từ T
j
có giá trị trọng số lớn nhất sẽ được chọn làm n đặc trưng của
văn bản .

×