Tải bản đầy đủ (.docx) (58 trang)

PHƯƠNG PHÁP PHÂN LỚP SUPPORT VECTOR MACHINE (SVM)

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 (497.48 KB, 58 trang )

LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến PGS.TS. Đỗ Phúc, người đã truyền đạt
những kiến thức quý báu không chỉ là lý thuyết mà còn hướng dẫn cách thức vận
dụng chúng vào việc nghiên cứu và khám phá tri thức, đặc biệt trong lĩnh vực Khai
phá dữ liệu, giúp em có nhiều hiểu biết hơn và ngày càng yêu thích lĩnh vực này. Em
xin chân thành cảm ơn Thầy vì sự hướng dẫn của Thầy trong quá trình thực hiện báo
cáo này.
Xin chân thành cảm ơn sự giúp đỡ của các anh chị, bạn bè và những người đã
thường xuyên trao đổi, thảo luận và đóng góp ý kiến cho tôi về các vấn đề liên quan
trong thời gian qua.
Mặc dù cố gắng thực hiện báo cáo một cách tốt nhất nhưng chắc chắn rằng
không tránh khỏi những thiếu sót. Mong quý Thầy cô và các bạn góp ý. Tôi xin chân
thành cảm ơn!
Sinh viên thực hiện
Lê Thanh Trọng
MSHV: CH1101052
Lớp: CH CNTT K6
MỤC LỤC
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
I. GIỚI THIỆU
1.1. Tri thức và phân lớp văn bản
Với sự phát triển không ngừng của máy tính nói chung và các thiết bị chứa dữ
liệu ngày càng được cải tiến, có dung lượng khổng lồ nói riêng cùng sự bùng nổ thông
tin trên Internet thì khối lượng thông tin ngày càng vô cùng lớn. Chắc chắn rằng một
đời người không thể nào đọc hay học hết được. Chính vì vậy mà việc tổ chức thông
tin hay phân loại thông tin thật sự là một điều quan trọng và cần thiết để chúng ta có
thể tìm thấy được những thông tin cần thiết và bổ ích. Thông tin được tổ chức tốt và
phân loại hợp lý thì con người mới có thể khai thác, khám phá và tổng hợp các thông
tin đó thành các tri thức quý giá. Do đó, phân lớp dữ liệu là điều vô cùng thiết yếu và


quan trọng và là tiền đề cơ sở cho việc khám phá tri thức khi thông tin xung quanh ta
ngày càng tăng rất nhanh.
Trong biển cả thông tin, nếu thông tin không được phân lớp, không được sắp
xếp về mặt nội dung thì việc tìm và thu thập tri thức của con người sẽ bị hạn chế.
Nhưng với khối thông tin khổng lồ của thế giới thì ai là người thực hiện việc sắp xếp
đó? Phải chăng con người ? Đúng vậy, không ai khác hơn chính là con người.
Nhưng thật sự con người chỉ có thể thực hiện ở một mức độ nhất định vì không thể
nào duyệt bằng tay hết tất cả thông tin và đưa ra quyết định xem thông tin đó được
sắp xếp thế nào. Nếu làm như vậy chắc chắn tiêu tốn khối lượng thời gian cực kì lớn.
Với tốc độ xử lý ngày càng được cải thiện đáng nể của máy tính thì máy tính là
một công cụ hữu hiệu cho việc học, từ đó tổ chức thông tin một cách tự động. Đó
được gọi là chiến lược máy học được áp dụng để giải bài toán phân lớp dữ liệu. Trong
báo cáo này, tôi xin trình bày dữ liệu ở khía cạnh văn bản vì thông tin hầu hết thông
tin hằng ngày được thể hiện ở dạng văn bản. Vì vậy bài toán phân lớp văn bản sẽ là
chủ đề chính của báo này.
5
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Để giải quyết phần nào bài toán nói trên, tôi đã tìm hiểu về bài toán phân loại
văn bản, xây dựng và thử nghiệm một công cụ tự động huấn luyện, phân lớp và tổ
chức thông tin theo các chủ đề trên máy tính. Bước đầu tiên tôi thử nghiệm cho kết
quả tốt trên tiếng Anh lẫn tiếng Việt. Hi vọng khóa luận có thể đóng góp phần nào
cho giải quyết bài toán tổ chức và phân loại thông tin tự động.
1.2. Bài toán phân lớp văn bản
Phân lớp văn bản (Text Categorization hay Text Classification) được mô tả
như sau: Cho một số lớp văn bản đã được xác định trước, nhiệm vụ của phân lớp văn
bản là gán văn bản vào một (hay một số) lớp văn bản thích hợp dựa vào nội dung của
văn bản.
Trong những năm 80, bài toán phân lớp văn bản được đào sâu nghiên cứu và
tìm hiểu hết sức rộng rãi. Ban đầu, các kĩ thuật điều khiển bằng tay tức có sự tham gia
của các chuyên gia tri thức ( Knowledge Engineering – KE) được áp dụng trong các

hệ thống đưa quyết định phân lớp. Hệ chuyên gia này bao gồm một tập các luật logic
được định nghĩa bằng tay, có dạng:
If(DNF formula) then (category)
Trong đó DNF (Disjunctive Normal Form) bao gồm các mệnh đề liên kết. Một
văn bản được phân loại vào category nếu nó thỏa mãn công thức. Một ví dụ nổi tiếng
cho cách tiếp cận này là hệ thống CONSTRUE [Hayes et al. 1990], xây dựng bởi
Carnegie Group cho tập tin tức Reuters. Bên dưới là một số ví dụ về luật được sử
dụng trong CONSTRUE.
If ((wheat & farm) or (wheat & commodity)
or (bushels & export) or (wheat & tonnes)
or (wheat & winter &¬ soft)
6
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
then WHEAT
else ¬ WHEAT
Rõ ràng điều bất tiện trong hệ chuyên gia này là các luật được tạo bằng tay và
thường gây khó khăn trong việc chỉnh sửa, cập nhật hay bổ sung các luật mới. Đó thật
sự là thảm họa hay điều không tưởng khi tập luật ngày càng tăng vì dữ liệu luôn tăng
từng ngày, từng giờ. Bên cạnh đó, nếu lĩnh vực thay đổi thì các chuyên gia phải xây
dựng lại từ đầu tập luật cho lĩnh vực đó. Điều này sẽ làm tiêu tốn rất nhiều thời gian
và công sức.
Chính vì vậy đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) dùng
khám phá nguồn tri thức xung quanh nói chung và dùng trong bài toán phân lớp văn
bản nói riêng được coi là nổi tiếng và trở nên chiếm ưu thế trong giới nghiên cứu cũng
như trong việc ứng dụng thực tiễn.
Với phương pháp máy học, sự cố gắng về phương diện công việc của kỹ sư
theo hướng không phải xây dựng một phân lớp mà xây dựng một phân lớp tự động
(học) từ một tập hợp các tài liệu đã được phân loại bằng tay. Trong các tiếp cận máy
học, các tài liệu đã được phân lớp trở thành nguồn. Trường hợp thuận lợi nhất, chúng
đã có sẵn, khi đó quá trình phân loại bắt đầu bằng việc học từ tập dữ liệu này, sau đó

sẽ thực hiện phân loại tự động với các tài liệu khác. Trường hợp ít thuận lợi, không có
sẵn tài liệu đã phân loại bằng tay; khi đó quá trình phân loại bắt đầu một hành động
phân loại và chọn một phương pháp tự động ngay lập tức. Do đó, cách tiếp cận máy
học là thuận lợi hơn cách tiếp cận kỹ sư tri thức.
I.3. Mô hình phân lớp
Phương pháp máy học đã mang lại kết quả ấn tượng và vô cùng hiệu quả với
nhiều kỹ thuật được đề xuất và khiến cho phân lớp tự động trở thành xu thế và là lựa
chọn cho việc phân lớp bằng tay. Sau đây là mô hình phân lớp văn bản dựa vào kỹ
thuật máy học.
7
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Hình 1.1: Bài toán phân loại văn bản dựa trên kỹ thuật máy học
Cách tiếp cận máy học dựa trên một tập dữ liệu có sẵn từ đầu Ω= {d
1
, …, d
|Ω|
}
⊂D, trong đó D làtập tất cả các tài liệu đã được phân lớp trước, d
j
là văn bản thứ j, Tập
các lớp C={c
1
, …, c
|C|
}, c
i
là kí hiệu của lớp thứ i. Hàm
{ }
FTDxC ,: →Φ


với mọi
xCcd
ij
Ω∈,
, Một tài liệu d
j
là mẫu dương của c
i
nếu
( )
Tcd =Φ

,
, và là một mẫu âm
nếu
( )
Fcd =Φ

,
.
Với mỗi cách phân loại được đưa ra, người ta mong muốn đánh giá được hiệu
quả phân loại của chúng. Bởi vậy, trước khi xây dựng phân loại người ta chia tập dữ
liệu ban đầu thành 2 tập hợp:
8
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Tập huấn luyện Tr={d
1
, …, d
|TV|
}. Phân lớp Φ cho các phân loại C={c

1
, …, c
|C|
}
được xây dựng quy nạp dựa trên sự quan sát các đặc trưng của các tài liệu trong Tr.
Tập kiểm tra Te={d
|TV+1|
, …d
|

|
}, được sử dụng để kiểm tra hiệu quả của phân
lớp. Mỗi d
j
∈T
e
được đưa vào hệ thống phân lớp để xác định giá trị, và so sánh giá trị
này với quyết định
( )
cd,
Φ
 của chuyên gia. Hiệu quả của phân lớp dựa trên sự phù
hợp giữa
( )
cd,Φ

( )
cd,

Φ

. Số tài liệu trong tập luyện và tập kiểm tra thường được
chọn theo tỷ lệ tương ứng là 70% và 30%. Trong đó,
φ
=∩
TeTr
, nếu điều kiện này bị
vi phạm thì kết quả đánh giá hiệu quả của mô hình mất đi yếu tố khách quan, khoa
học.
Phân loại văn bản chủ yếu dựa trên cơ chế rút trích thông tin. Kỹ thuật rút trích
thông tin được sử dụng trong 3 giai đoạn của quá trình phân loại văn bản:
1 -Đánh chỉ số: các văn bản ở dạng thô cần được chuyển sang một dạng biểu
diễn nào đó để xử lý. Quá trình này được gọi là quá trình biểu diễn văn bản, dạng biểu
diễn của văn bản phải có cấu trúc và dễ dàng xử lý.
2 -Kỹ thuật: kỹ thuật ở đây là phương pháp học để phân loại văn bản, nó
thường được sử dụng trong quá trình xây dựng quy nạp của các phân loại.
3 - Đánh giá: đánh giá hiệu quả của các phân lớp được thực hiện.
Sự khác nhau trong các cách tiếp cận trước đây phần lớn là để giải quyết (2)
mặc dù trong một số ít đề xuất cũng sử dụng (1) và (3).
Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật máy học hiện
nay đều dựa vào tần suất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn
9
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
bản, hoặc dựa vào tần suất xuất hiện của từ trong văn bản và tần suất văn bản (số các
văn bản trong tập dữ liệu huấn luyện có chứa từ đó). Độ chính xác của kết quả tách từ
có ảnh hưởng rất lớn đến kết quả của phân loại, không thể có một kết quả phân loại
tốt nếu như không tách được đúng các từ trong văn bản. Bởi vậy, một vấn đề quan
trọng đối với phân loại văn bản là phải tách được chính xác các từ trong văn bản. Các
văn bản được viết bằng các ngôn ngữ khác nhau thì có đặc trưng riêng của ngôn ngữ
đó, và không có một phương pháp chung nào để tách các từ trong các văn bản được
viết bằng các ngôn ngữ khác nhau.

Tóm lại, một bài toán phân loại văn bản dựa trên kỹ thuật máy học gồm các
bước sau:
- Chuẩn bị tập dữ liệu huấn luyện (Training Set) và tập dữ liệu kiểm tra (Test Set).
- Tách từ trong văn bản.
- Biểu diễn văn bản.
- Phương pháp học để phân loại văn bản.
- Đánh giá hiệu quả của phương pháp học.
I.4. Phương pháp biểu diễn văn bản
Các chuỗi tách được trong văn bản có thể là từ theo đúng định nghĩa trong
tiếng Việt, nhưng cũng có khi là các ký hiệu viết tắt, các từ phiên âm tên nước ngoài,
… ví dụ, cty (công ty), btc (ban tổ chức), lđbđvn (liên đoàn bóng đá Việt Nam), …
Mà các kí hiệu này nhiều khi lại có giá trị thông tin cao để biểu diễn văn bản. Do đó,
để dễ diễn đạt chúng ta định nghĩa:
- Thuật ngữ hoặc từ: là một chuỗi các kí tự xuất hiện trong văn bản, mà
không phải là dấu câu, con số, từ dừng.
- Từ đặc trưng: Sau khi dùng các phương pháp trích chọn thuật ngữ để biểu
diễn văn bản, ta thu được một tập các thuật ngữ T


từ tập thuật ngữ ban đầu
T (T

<<T), thì mỗi thuật ngữ trong T


được gọi là từ đặc trưng (dùng để
biểu diễn văn bản), hay thuật ngữ đặc trưng.
10
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
I.4.1. Các kỹ thuật trích chọn đặc trưng của văn bản

a. Loại bỏ các từ dừng
Trong ngôn ngữ tự nhiên, có rất nhiều từ dùng để biểu diễn cấu trúc câu, nhưng
hầu như không mang ý nghĩa về mặt thể hiện nội dung của văn bản, ví dụ như các loại
từ: các từ quan hệ, kết từ, Các loại từ này xuất hiện thường xuyên trong văn bản
nhưng không hề mang bất cứ một thông tin nào về nội dung của văn bản, những từ
này gọi là từ dừng (stop word). Việc loại bỏ các từ này, đồng nghĩa với việc giảm số
chiều của văn bản, tăng độ chính xác và tốc độ xử lý văn bản.
Ví dụ: Một số từ dừng trong tiếng Việt:
có thể khi mà Là rõ ràng
sau khi Bởi Không thể với
trước khi vì thay vì quả thật
trước hết nhưng vì vậy với lại
tóm lại nếu cho nên tất cả
tất cả thì nếu không hầu hết
phần lớn do loại trừ
hầu như vì thế ngoài ra
khi đó cho nên một số
Bảng 1.1: Một số từ dừng trong văn bản tiếng Việt
Xuất phát từ định nghĩa, từ dừng là từ không mang lại ý nghĩa nội dung cho
văn bản, vì nó xuất hiện trong hầu hết các văn bản. Chúng ta có thể loại bỏ từ dừng
trong văn bản bằng cách đặt ngưỡng để phát hiện từ dừng, ví dụ nếu chúng ta thấy
một từ nào đó xuất hiện trong hơn một nửa số văn bản thì có thể coi đó là từ dừng.
Tùy thuộc vào từng bài toán cụ thể mà ta đưa ra một ngưỡng phát hiện từ dừng thích
hợp.
11
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
b. Giảm số chiều
Giảm số chiều thực chất là giảm số thuật ngữ trong tập hợp T, nghĩa là, giảm
kích thước của không gian vector từ |T| thành |T


|<<|T|.
Giảm số chiều có khuynh hướng làm giảm hiện tượng overfiting. Có hai hướng
khác nhau trong việc giảm số chiều, phụ thuộc vào nhiệm vụ giảm số chiều là bộ phận
hay tổng thể:
- Giảm số chiều bộ phận: Cho một loại c
i
, một tập các thuật ngữ , |T

|<<|T|,
được chọn chỉ để thực hiện phân lớp cho loại c
i
.
- Giảm số chiều tổng thể: Một tập các thuật ngữ T

, với |T

|<<|T|, được chọn
để thực hiện phân lớp cho tất cả các loại C={c
1
,…,c
|C|
}.
Có rất nhiều phương pháp giảm số chiều. Trong đó phương pháp giảm số chiều
dựa trên lý thuyết thông tin được xem là rất tốt cho việc giảm số chiều văn bản.
Phương pháp này sử dụng các hàm lựa chọn thuật ngữ dựa trên lý thuyết thông tin
Các hàm lựa chọn thuật ngữ dựa trên lý thuyết thông tin
Kí hiệu:
),(
_
i

k
ctP
là xác suất cho một tài liệu ngẫu nhiên x, thuật ngữ t
k

không
xảy ra trong x và x thuộc loại c
i
, xác suất này được đánh giá bởi đếm số lần xảy ra
trong tập huấn luyện.
),(
i
k
ctP
là xác xuất chọn ngẫu nhiên một tài liệu thì tài liệu đó
có chứa từ t
k
, và thuộc lớp c
i
. P(c
i
) là xác xuất chọn ngẫu nhiên một tài liệu, thì tài liệu
này thuộc vào lớp c
i
. P(t
k
) là xác xuất chọn ngẫu nhiên một tài liệu trong tập dữ liệu
thì tài liệu đó có chứa từ t
k
. Tất cả các hàm được xác định là cục bộ cho phân loại xác

định c
i
.
Trong trường hợp cần đánh giá giá trị của thuật ngữ t
k

trong tổng thể tất cả các
phân loại độc lập, thì hàm f(t
k
) được tính như sau:
12
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
( ) ( ) ( )

=
==
||
1
,
C
i
ikksumk
ctftftf
hoặc
( ) ( ) ( ) ( )

=
==
||
1

,
C
i
ikikwsumk
ctfcPtftf
hoặc
( ) ( ) ( )
ik
C
ikk
ctftftf ,max
||
1max =
==
Trong đó,
( )
ik
ctf ,
là giá trị của từ t
k

trong lớp c
i
.
Theo phương pháp này người ta dựa vào các hàm tính toán giá trị thông tin của
từ t
k

đối với phân loại c
i


để quyết định xem có nên lựa chọn từ t
k

làm đặc trưng của tài
liệu hay không. Chúng ta chỉ giữ lại những từ có hàm giá trị thông tin không thấp hơn
ngưỡng đưa ra, nếu hàm giá trị thông tin của t
k

thấp hơn ngưỡng đưa ra thì nó sẽ bị
loại bỏ. Bảng 1.2 trình bày, một số hàm tính giá trị thông tin của từ t
k

đối với lớp c
i
.
Tên hàm Kí hiệu Công thức toán học
Hệ số liên kết DIA
(DIA association
factor)
),(
ik
ctz
)|(
ki
tcP

Lợi nhuận thông tin
(Information gain)
),(

ik
ctIG
( )
( )
( ) ( )
∑ ∑
∈ ∈},{ },{
_ _
.
,
log.,
ii
k
k
ccc ttt
cPtP
ctP
ctP
Thông tin liên hệ
(Mutual information)
),(
ik
ctMI

( )
( ) ( )
ik
ik
cPtP
ctP

.
,
log
Chi bình phương
(Chi-square)
),(
2
ik
ct
λ
)().().().(
),().,(),().,(.||
__
2
____
i
i
k
k
ikikik
ik
cPcPtPtP
ctPctPctPctPTr








13
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Hệ số NGL
(NGL coefficient)
),(
ik
ctNGL
)().().().(
),().,(),().,(.||
__
____
i
i
k
k
ikikik
ik
cPcPtPtP
ctPctPctPctPTr







Điểm tương quan
(Relevancy score)
),(
ik

ctRS
dctP
dctP
ik
ik
+
+
)|(
)|(
log
__
Hệ số GSS
(GSS coefficient)
),(
ik
ctGSS
),().,(),().,(
____
ikikik
ik
ctPctPctPctP −
Bảng 1.2: Một số hàm tính toán giá trị thông tin của từ trong phân loại
Các hàm trên cho kết quả lựa chọn từ tốt hơn là phương pháp tần xuất tài liệu.
Kết quả thực nghiệm Yang và Pedersen trên nhiều tập mẫu và phân loại khác nhau
cho thấy rằng, các kỹ thuật như: IG hoặc λ
2
có thể giảm không gian từ tới 100 lần mà
không ảnh hưởng (hoặc giảm rất ít) hiệu quả phân loại.
I.4.2. Phương pháp biểu diễn văn bản bằng mô hình không gian vector
Việc mô tả lại văn bản được coi là một khâu quan trọng trong quá trình xử lý

văn bản. Mỗi tài liệu được mô tả như một chuỗi các ký tự, cần phải được biến đổi
thành những mô tả phù hợp với nhiệm vụ và thuật toán xử lý văn bản. Có rất nhiều
phương pháp biểu diễn văn bản, mỗi phương pháp thích hợp với từng bài toán cụ thể.
Trong phần này chúng tôi xin trình bày phương pháp biểu diễn văn bản theo không
gian vector dựa vào tần suất, đây được coi là một hướng tiếp cận tương đối đơn giản
và hiệu quả để biểu diễn văn bản. Và cũng là phương pháp được sử dụng để cài đặt
thuật toán phân loại văn bản theo phương pháp Support Vector Machine, được trình
bày trong phần sau của luận văn.
Trong mô hình tần xuất, ma trận W={w
ij
} được xác định dựa trên tần số xuất
hiện của thuật ngữ t
i
trong văn bản d
j
hoặc trong toàn bộ tập văn bản D.
14
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
a. Phương pháp dựa trên tần số thuật ngữ (TF-Term Frequency)
Các giá trị w
ij

được xác định dựa trên tần số (hay số lần) xuất hiện của thuật
ngữ trong văn bản. Gọi f
ij

là tần số của thuật ngữ t
i

trong văn bản d

j
, thì w
ij
có thể được
tính bởi một trong số các công thức sau:
w
ij
= f
ij

w
ij
= 1+log(f
ij
)
w
ij
=
ij
f

Trong phương pháp này, trọng số w
ij

tỷ lệ thuận với số lần xuất hiện của thuật
ngữ t
i

trong văn bản d
j

, w
ij

càng lớn thì văn bản d
j
càng phụ thuộc nhiều vào thuật ngữ
t
i.

Tuy nhiên, cũng có những từ xuất hiện nhiều lần trong văn bản, nhưng nó lại
không có ý nghĩa nhiều đối với văn bản như tần số xuất hiện của nó. Phương pháp
IDF trình bày sau đây, phần nào khắc phục nhược điểm của phương pháp TF.
b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF - Inverse
Document Frequency )
Với phương pháp này, giá trị w
ij
được tính như sau:





−=
=
0
)log()log(log
i
i
ij
hm

h
m
w

Trong đó, m là số lượng văn bản, h
i

là số các văn bản có chứa thuật ngữ t
i

Trọng số w
ij

trong công thức này cho ta biết độ quan trọng của thuật ngữ t
i
trong văn bản d
j
. Nếu w
ij

càng lớn, thì số lượng văn bản chứa t
i
càng ít. Điều đó có
15
nếu ngược lại
nếu t
i
xuất hiện trong d
j
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM

nghĩa là t
i
là thuật ngữ quan trọng để phân biệt văn bản d
j

với các văn bản khác trong
cơ sở dữ liệu.
c. Phương pháp TF × IDF
Phương pháp này, thực chất là sự kết hợp của phương pháp TF và phương
pháp IDF. Theo phương pháp này, trọng số w
ij

được tính bằng tần số xuất hiện của
thuật ngữ t
i

trong văn bản d
j

và khả năng xuất hiện của thuật ngữ t
i

trong các văn bản
khác, cụ thể:

[ ]















+
=
0
1log)log(1
i
i
ij
ij
h
h
m
f
w

I.5. Phương pháp đánh giá hiệu quả phân lớp
Giả sử ta qui định như sau:
Tỷ lệ dương đúng TP (True Positive): là số văn bản được gán nhãn là 1 và việc
gán nhãn này là đúng.
Tỷ lệ dương sai FP (False Positive): là số văn bản được gán nhãn là 1 nhưng
việc gán nhãn này là sai.

Tỷ lệ âm sai FN (False Negative) : là số văn bản được gán nhãn là –1 nhưng
việc gán nhãn này là sai.
Tỷ lệ âm đúng TN (True Negative): là số văn bản được gán nhãn là –1 và việc
gán nhãn này là đúng.
Phân lớp
Quyết định
của
chuyên gia
16
nếu
nếu ngược lại
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
YES NO
Quyết
định của
hệ thống
Y
E
S
TP FP
N
O
FN TN
Bảng 1.3: Định nghĩa các tỷ lệ để đánh giá hiệu quả phân lớp
Hiệu quả (hay độ chính xác) của hệ thống phân lớp, được đánh giá bởi các
công thức sau:
FPTP
TP
ecision
+

=Pr
FNTP
TP
call
+
=Re
precisionrecall
precisionrecall
scoreF
+
=−
**2
I.6. So sánh giữa các phương pháp phân loại văn bản
Có nhiều phương pháp phân loại văn bản được đề xuất, sự khác nhau cơ bản
giữa các phương pháp này là ở thuật toán học quy nạp. Nhiều thực nghiệm cho thấy
các phương pháp như: cây quyết định (decision tree), k-láng giềng gần nhất (k-nearest
neighbors), phương pháp sử dụng các vector hỗ trợ (Support Vector Machines) là
những phương pháp có hiệu quả phân loại cao.
Các thuật toán phân loại trên từ thuật toán phân loại 2 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 trong khi đó thuật toán SVM có
thể tự tìm ra các tham số tối ưu này. Trong các phương pháp SVM là phương pháp sử
17
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
dụng không gian vector đặc trưng lớn nhất (hơn 10000 chiều) trong khi đó chỉ là 2000
đối với NB, 2415 cho kNN và LLSF, 1000 cho Nnet. Thời gian huấn luyện cũng khác
nhau đối với từng phương pháp, Nnet (sử dụng mỗi mạng tương ứng một chủ đề) và
SVM là hai phương pháp có thời gian huấn luyện lâu nhất trong khi đó
kNN,NB,LLSF và Centroid là các phương pháp có tốc độ (thời gian huấn luyện, phân

loại) nhanh và cài đặt dễ dàng.
Về hiệu suất, dựa vào thử nghiệm của Yang [Yang, Liu, 1997] trên tập dữ liệu
Reuter-21578 với hơn 90 chủ đề và trên 7769 văn bản, ta có thể sắp xếp các phương
pháp phân loại văn bản theo thứ tự như sau SVM > kNN >> {LLSF,NB,Nnet}. Tuy
nhiên kết quả trên có thể không còn đúng khi áp dụng thử nghiệm phân loại trên
Tiếng Việt. Các lý do chính như sau:
- Thứ nhất: không có một tập dữ liệu chuẩn dành riêng cho việc phân loại.
- Thứ hai: hiện tại chưa có chuẩn thống nhất nào cho vấn đề font và dấu câu cho
Tiếng Việt.
- Thứ ba: việc biểu diễn văn bản Tiếng Việt bằng vector đặc trưng gặp nhiều trở
ngại do bị phụ thuộc nhiều vào các phương pháp tách từ. Trong khi đó các
phương pháp này không đạt được hiệu quả cao như trong tiếng Anh.
Để có thể áp dụng các phương pháp phân loại văn bản đã được sử dụng thành
công trên nhiều ngôn ngữ (Anh, Pháp,…) như đã liệt kê trên, điều kiện tiên quyết là
phải tìm ra một phương pháp tách từ tốt để thông qua đó cải thiện hiệu quả của các
thuật toán phân loại. Trong tiếng Anh, đơn vị nhỏ nhất là “từ” nên việc tách từ trở nên
khá đơn giản, trong khi đối với một số ngôn ngữ như tiếng Hoa, Nhật, Hàn Quốc và
Tiếng Việt của chúng ta phải xử lý hoàn toàn khác do đơn vị nhỏ nhất lại là “tiếng”.
Do đó, trước khi thực hiện phân loại, chúng ta phải tìm hiểu về các hướng tiếp cận
cho việc tách từ tiếng Việt, một vấn đề khá thú vị không kém các phương pháp phân
loại.
I.7. Tình hình nghiên cứu bài toán phân loại văn bản
18
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Trong lĩnh vực khai phá dữ liệu, các phương pháp phân loại văn bản đã dựa
trên những phương pháp quyết định như quyết định Bayes, cây quyết định, k-láng
giềng gần nhất, mạng nơron, Những phương pháp này đã cho kết quả chấp nhận
được và được sử dụng trong thực tế.
Trong những năm gần đây, phương pháp phân loại sử dụng Bộ phân loại vector
hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực nhận dạng và

phân loại. SVM là một họ các phương pháp dựa trên cơ sở các hàm nhân (kernel) để
tối thiểu hóa rủi ro ước lượng. Phương pháp SVM ra đời từ lý thuyết học thống kê do
Vapnik và Chervonenkis xây dựng và có nhiều tiềm năng phát triển về mặt lý thuyết
cũng như ứng dụng trong thực tiễn.
Các thử nghiệm thực tế cho thấy, phương pháp SVM có khả năng phân loại
khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác (như
nhận dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy, ). So
sánh với các phương pháp phân loại khác, khả năng phân loại của SVM là tương
đương hoặc tốt hơn đáng kể.
Vấn đề phân loại văn bản tiếng Việt được nhiều cơ sở nghiên cứu trong cả
nước quan tâm trong những năm gần đây. Một số công trình nghiên cứu cũng đạt
được những kết quả khả quan. Các hướng tiếp cận bài toán phân loại văn bản đã được
nghiên cứu bao gồm:
- Hướng tiếp cận bài toán phân loại bằng lý thuyết đồ thị.
- Cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận
thống kê, cách tiếp cận sử dụng.
- Phương pháp học không giám sát và đánh chỉ mục.
Nhìn chung, những cách tiếp cận này đều cho kết quả chấp nhận được. Tuy
vậy để đi đến những triển khai khả thi thì vẫn cần đẩy mạnh nghiên cứu trên hướng
này. Một trong những khó khăn trong việc áp dụng những thuật toán phân loại văn
19
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
bản vào tiếng Việt là xây dựng được tập hợp từ vựng của văn bản. Vấn đề này liên
quan tới việc phân tách một câu thành các từ một cách chính xác.
II. MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP
2.1. Phương pháp cây quyết định
Phương pháp cây quyết định được Mitchell đưa ra vào năm 1996. Nó được sử
dụng rộng rãi nhất cho việc học quy nạp từ tập mẫu lớn. Đây là phương pháp học xấp
xỉ các hàm mục tiêu có giá trị rời rạc. Mặt khác cây quyết định còn có thể chuyển
sang dạng biểu diễn tương đương dưới dạng cơ sở tri thức là các luật Nếu – Thì. Cây

quyết định này được tổ chức như sau: Các nút trong được gán nhãn bởi các thuật ngữ,
nhãn của các cung tương ứng với trọng số của thuật ngữ trong tài liệu mẫu, nhãn của
các lá tương ứng với nhãn của các lớp. Cho một tài liệu d
j
, ta sẽ thực hiện so sánh các
nhãn của cung xuất phát từ một nút trong (tương ứng với một thuật ngữ nào đó) với
trọng số của thuật ngữ này trong d
j
, để quyết định nút trong nào sẽ được duyệt tiếp.
Quá trình này được lặp từ nút gốc của cây, cho tới khi nút được duyệt là một lá của
cây. Kết thúc quá trình này, nhãn của nút lá sẽ là nhãn của lớp được gán cho văn bản.
Với phương pháp này, phần lớn người ta thường chọn phương pháp nhị phân để biểu
diễn văn bản, cũng như cây quyết định.
Ví dụ, ta có bảng dữ liệu gồm 10 tài liệu được mô tả bằng vector nhị phân
thông qua 7 thuật ngữ “thời tiết”, “độ ẩm”, “lượng mưa”, “gió”, “khí hậu”, “thuyền”,
“nhiệt độ”. Trong đó cột cuối cùng trong bảng là nhãn được gán cho từng tài liệu với
chủ đề thời tiết, giá trị của tài liệu d
i
trong cột này bằng 1 tương ứng d
i
thuộc chủ đề
thời tiết, nếu giá trị này bằng 0 thì d
i
không thuộc chủ đề thời tiết.
T
à
i
l
t
h


i
đ



l
ư

n
g
i
ó
k
h
í

t
h
u
y
n
h
i

t
h

i
20

KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
i

u
t
i
ế
t
m g

m
ư
a
h

u

n
t
đ

t
i
ế
t
d
1
1 1 1 0 0 0 0 1
d
2

1 1 0 0 0 1 0 0
d
3
1 1 1 0 0 0 1 1
d
4
1 1 1 0 0 0 0 1
d
5
1 0 0 1 0 0 0 1
d
6
1 0 0 1 1 1 0 1
d
7
1 0 0 0 0 1 0 0
d
8
0 1 0 0 0 1 0 0
d 0 0 0 0 1 0 1 1
21
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
9
d
1
0
0 0 0 0 1 0 0 0
Bảng 2.1: Biểu diễn văn bản bằng vector nhị phân
Cây quyết định được xây dựng tương ứng với bảng 1.1 là:
Hình 2.1: Xây dựng cây quyết định cho tập mẫu dùng để huấn luyện

Từ cây quyết định trên ta xây dựng được cơ sở tri thức dưới dạng luật Nếu
-Thì như sau:
Nếu(thời tiết=1) và (lượng mưa=1) và (độ ẩm=1) Thì class thời tiết=1
Nếu(thời tiết=1) và (lượng mưa=0) và (độ ẩm=1) Thì class thời tiết=0
Nếu(thời tiết=1) và (gió=0) và (độ ẩm=0) Thì class thời tiết=0
22
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Nếu(thời tiết=1) và (gió=1) và (độ ẩm=0) Thì class thời tiết=1
Nếu(thời tiết=0) và (khí hậu=0) Thì class thời tiết=0
Nếu(thời tiết=0) và (khí hậu=1) và (nhiệt độ=0) Thì class thời tiết=0
Nếu(thời tiết=0) và (khí hậu=1) và (nhiệt độ=1) Thì class thời tiết=1
Xét tài liệu d, được biểu diễn bởi vector nhị phân như sau:
d = (thời tiết, lượng mưa, độ ẩm, gió, khí hậu, thuyền, nhiệt độ) =(1, 1, 1, 0, 0,
1, 0)
Quá trình tìm kiếm lời giải trên cây quyết định sẽ như sau:
Hình2.2: Quá trình tìm kiếm lời giải trên cây quyết định
Class thời tiết=1, hay nói cách khác văn bản d thuộc lớp văn bản nói về chủ đề
thời tiết (lớp thời tiết).
23
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
Các thuật toán cây quyết định ngày càng được phát triển và cải tiến. Nhưng
hầu hết các thuật toán này đều dựa vào cách tiếp cận từ trên xuống và chiến lược tìm
kiếm tham lam trong không gian tìm kiếm của cây quyết định. Trong số các thuật toán
học cây quyết định thì thuật toán ID3 và cải tiến của nó là C4.5 được đánh giá là hiệu
quả và được sử dụng phổ biến nhất. Thuật toán ID3, lần đầu tiên được giới thiệu bởi
Quinlan năm 1975, trong tạp chí Machine learing, Vol.1, N no.1.
2.2. Phương pháp K-Nearest Neighbor (kNN)
Ý tưởng chính của thuật toán này là so sánh độ phù hợp của văn bản d với từng nhóm
chủ đề, dựa trên k văn bản mẫu trong tập huấn luyện mà có độ tương tự với văn bản d
là lớn nhất.

Có 2 vấn đề cần quan tâm khi phân loại văn bản bằng thuật toán K- láng giềng
gần nhất là xác định khái niệm gần, công thức để tính mức độ gần; và làm thế nào để
tìm được nhóm văn bản phù hợp nhất với văn bản đó (nói cách khác là tìm được chủ
đề thích hợp để gán cho văn bản).
Khái niệm gần ở đây được hiểu là độ tương tự giữa các văn bản. Có nhiều cách
để xác định độ tương tự giữa hai văn bản, trong đó công thức Cosine trọng số được
coi là hiệu quả để đánh giá độ tương tự giữa hai văn bản. Cho T={t
1
, t
2
, …, t
n
} là tập
hợp các thuật ngữ; W={w
t1
, w
t2
, …, w
tn
} là vector trọng số, w
ti

là trọng số của thuật
ngữ t
i
. Xét hai văn bản X={x
1
, x
2
, …, x

n
} và Y={y
1
, y
2
, …, y
n
}, x
i
, y
i

lần lượt là tần số
xuất hiện của thuật ngữ t
i

trong văn bản X, Y. Khi đó độ tương tự giữa hai văn bản X
và Y được tính theo công thức sau:
22
)()(
)()(
),,(cos),(
∑∑

∈∈

××
×××
==
Tt

tt
Tt
tt
tt
Tt
tt
wywx
wywx
WYXineYXSim

Trong vector X, Y các thành phần x
i
, y
i

được chuẩn hoá theo tần số xuất hiện
(TF- Term Frequence) của thuật ngữ t
i

trong các văn bản X và Y. Vector W được xác
24
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU PHÂN LỚP VĂN BẢN VỚI SVM
định bằng tay hoặc được tính theo một thuật toán tham lam nào đó. Một đề xuất đưa
ra là tính vector W theo nghịch đảo tần suất văn bản IDF (Inverse Document
Frequence), khi đó văn bản được biểu diễn dưới dạng vector tần xuất TFxIDF.
Có nhiều đề xuất để tìm nhãn phù hợp gán cho văn bản khi đã tìm được k văn
bản gần nhất như gán nhãn văn bản gần nhất, gán theo số đông, gán theo độ phù hợp
của chủ đề.
2.3. Phương pháp Naïve – Bayes (NB)
NB là phương pháp phân loại dựa vào lý thuyết xác suất và đượ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 quả 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 :
25

×