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

Nghiên cứu phương pháp thống kê Bayes và Xây dựng ứng dụng phân loại văn bản tiếng Việt

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.68 MB, 132 trang )


TRNG I HC KHOA HC T NHIÊN
KHOA CÔNG NGH THÔNG TIN

B MÔN H THNG THÔNG TIN


SINH VIÊN THC HIN

NGUYN TRN THIÊN THANH - TRN KHI HOÀNG


TÌM HIU CÁC HNG TIP CN
BÀI TOÁN PHÂN LOI VN BN VÀ
XÂY DNG PHN MM
PHÂN LOI TIN TC BÁO IN T



KHÓA LUN C NHÂN TIN HC





Tp.HCM, 2005



TRNG I HC KHOA HC T NHIÊN
KHOA CÔNG NGH THÔNG TIN



B MÔN H THNG THÔNG TIN


SINH VIÊN THC HIN

̇ NGUYN TRN THIÊN THANH - 0112243
̇ TRN KHI HOÀNG - 0112305


TÌM HIU CÁC HNG TIP CN
BÀI TOÁN PHÂN LOI VN BN VÀ
XÂY DNG PHN MM
PHÂN LOI TIN TC BÁO IN T


KHÓA LUN C NHÂN TIN HC
GIÁO VIÊN HNG DN
C nhân : NGUYN VIT THÀNH
Thc s : NGUYN THANH HÙNG



Niên khóa 2001-2005


i
LI CM N

Chúng em xin gi li cm n chân thành và sâu sc nht đn thy Nguyn

Vit Thành và thy Nguyn Thanh Hùng đã tn ty hng dn, đng viên,
giúp đ chúng em trong sut thi gian thc hin đ tài.
Chúng em xin chân thành cm n quý Thy Cô trong Khoa Công Ngh
Thông Tin truyn đt kin thc quý báu cho chúng em trong nhng nm hc
va qua.
Chúng con xin nói lên lòng bit n đi vi Ông Bà, Cha M luôn là ngun
chm sóc, đng viên trên mi bc
đng hc vn ca chúng con.
Xin chân thành cám n các anh ch và bn bè đã ng h, giúp đ và đng
viên chúng em trong thi gian hc tp và nghiên cu.
Mc dù chúng em đã c gng hoàn thành lun vn trong phm vi và kh
nng cho phép nhng chc chn s không tránh khi nhng thiu sót. Chúng
em kính mong nhn đc s cm thông và tn tình ch bo ca quý Thy Cô
và các bn.

Sinh viên thc hin,
Nguyn Trn Thiên Thanh & Trn Khi Hoàng
07/2005








ii
LI NÓI U
Trong nhng nm gn đây, s phát trin vt bc ca công ngh thông tin đã
làm tng s lng giao dch thông tin trên mng Internet mt cách đáng k đc bit

là th vin đin t, tin tc đin t Do đó mà s lng vn bn xut hin trên
mng Internet cng tng theo vi mt tc đ chóng mt. Theo s lng thng kê t

Broder et al (2003), lng thông tin đó li tng gp đôi sau t 9 đn 12 tháng, và tc
đ thay đi thông tin là cc k nhanh chóng.
Vi lng thông tin đ s nh vy, mt yêu cu ln đt ra đi vi chúng ta là
làm sao t chc và tìm kim thông tin có hiu qu nht. Phân loi thông tin là mt
trong nhng gii pháp hp lý cho yêu cu trên. Nhng mt thc t là khi lng
thông tin quá ln, vic phân loi d li
u th công là điu không tng. Hng gii
quyt là mt chng trình máy tính t đng phân loi các thông tin trên.
Chúng em đã tp trung thc hin đ tài “Tìm hiu các hng tip cn cho bài
toán phân loi vn bn và xây dng ng dng phân loi tin tc báo đin t”
nhm tìm hiu và th nghim các phng pháp phân loi vn bn áp dng trên ting
Vit.  thc hin vic phân lo
i, điu bt buc đi vi ting Vit đó là vic tách t.
Trong lun vn này, chúng em cng tìm hiu mt s cách tách t ting Vit và th
nghim mt phng pháp tách t mi thích hp cho vic phân loi mà không dùng
bt k t đin hoc tp ng liu nào. Cui cùng, chúng em xây dng phn mm
phân loi vn bn tích hp vào trang web “Toà son báo đ
in t” (Lun vn khoá
2000 - Hoàng Minh Ngc Hi (0012545), Nguyn Duy Hip (0012038)) nhm phc
v cho vic phân loi tin tc báo đin t.
Hin nay, trang web ca khoa chúng ta vn cha thc hin đc vic phân loi
t đng các tin tc ly v, do đó gây ra rt nhiu lãng phí v thi gian và công sc
ca nhà qun tr cng nh làm gii hn vic thu thp tin tc t
nhiu ngun khác
nhau. ng dng phân loi tin tc báo đin t tích hp vi vic ly tin tc t đng
ca chúng em hy vng s đem đn mt cách qun tr mi, nhanh chóng và hiu qu
hn cách ly tin truyn thng. Ngoài ra, trong điu kin cn cp nht thông tin mt




iii
cách nhanh chóng nh hin nay, phn mm phân loi vn bn t đng ca chúng
em còn có kh nng ng dng cho nhiu loi trang báo đin t ting Vit khác.
Ni dung ca lun vn đc trình bày bao gm 8 chng; trong đó, 3 chng
đu trình bày các hng tip cn cho phân loi vn bn và tách t ting Vit hin
nay; 2 chng tip theo trình bày hng tip cn ca lun v
n đi vi phân loi vn
bn và tách t ting Vit; 3 chng cui trình bày h thng th nghim vn bn,
ng dng vào phân loi tin tc bán t đng, và cui cùng là đánh giá, kt lun quá
trình nghiên cu ca lun vn.
Ü Chng 1. Tng quan: gii thiu s lc v các phng pháp phân loi vn
bn và các hng tip cn cho vic tách t ti
ng Vit; đng thi xác đnh
mc tiêu ca đ tài.
Ü Chng 2. Mt s phng pháp phân loi vn bn: gii thiu tóm tt mt
s phng pháp phân loi vn bn dành cho ting Anh.
Ü Chng 3. Phng pháp tách t ting Vit hin nay: trình bày tóm tt
mt s phng pháp tách t ting Vit hin nay, u đim và hn ch ca các
ph
ng pháp đó.
Ü Chng 4. Phng Tách t Ting Vit không da trên tp ng liu
đánh du (annotated corpus) hay t đin (lexicon) – Mt thách thc:
trình bày phng pháp tách t ting Vit mi ch da vào vic thng kê t
Internet thông qua Google mà không cn bt k t đin hay tp ng liu nào.
Ü Chng 5. Bài toán phân loi tin tc báo đin t: trình bày hng tip c
n
cho bài toán phân loi tin tc báo đin t.

Ü Chng 6. H thng th nghim phân loi vn bn: gii thiu v h thng
th nghim các phng pháp tách t và phân loi vn bn do chúng em xây
dng. Ngoài ra, trong chng 6, chúng em trình bày v d liu dùng đ th
nghim và các kt qu th nghim thu đc.
Ü Chng 7. ng dng phân loi tin tc báo đi
n t bán t đng: gii
thiu ng dng phân loi tin tc báo đin t do chúng em xây dng tích hp



iv
trên trang web do lun vn “Tòa son báo đin t” khóa 2000 xây dng ca
sinh viên Hoàng Minh Ngc Hi (0012545), Nguyn Duy Hip (0012038)
Ü Chng 8. Tng kt: là chng cui cùng ca đ tài, tóm li các vn đ đã
gii quyt và nêu mt s hng phát trin trong tng lai.





























v
MC LC
Chng 1. TNG QUAN 2
1.1. t vn đ 2
1.2. Các phng pháp phân loi vn bn 2
1.3. Tách t Ting Vit – Mt thách thc thú v 3
1.4. Mc tiêu ca lun vn 5
1.4.1. Phn tìm hiu các thut toán phân loi vn bn 5
1.4.2. Phn tách t ting Vit 5
1.4.3. Phn mm phân loi tin tc báo đin t bán t đng 5
1.4.4. óng góp ca lun vn 6
Chng 2. CÁC PHNG PHÁP PHÂN LOI VN BN TING ANH 8
2.1. Bi cnh các phng pháp phân loi vn bn hin nay 8
2.2. Các phng pháp phân loi vn bn ting Anh hin hành 8
2.2.1. Biu din vn bn 8
2.2.2. Support vector Machine(SVM) 10
2.2.3. K–Nearest Neighbor (kNN) 12

2.2.4. Naïve Bayes (NB) 13
2.2.5. Neural Network (NNet) 15
2.2.6. Linear Least Square Fit (LLSF) 17
2.2.7. Centroid- based vector 18
2.3. Kt lun 19
Chng 3. CÁC PHNG PHÁP TÁCH T TING VIT HIN NAY 22
3.1. Ti sao tách t ting Vit là mt thách thc? 22
3.1.1. So sánh gia ting Vit và ting Anh 22
3.1.2. Nhn xét 23
3.2. Bi cnh các phng pháp tách t hin nay 23
3.2.1. Bi cnh chung 23
3.2.2. Các hng tip cn da trên t (Word-based approaches) 24
3.2.3. Các hng tip cn da trên ký t (Character-based approaches) 26
3.3. Mt s phng pháp tách t ting Vit hin nay 28
3.3.1. Phng pháp Maximum Matching: forward/backward 28



vi
3.3.2. Phng pháp gii thut hc ci bin ( TBL) 30
3.3.3. Mô hình tách t bng WFST và mng Neural 31
3.3.4. Phng pháp quy hoch đng (dynamic programming) 34
3.3.5. Phng pháp tách t ting Vit da trên thng kê t Internet và thut
toán di truyn (Internet and Genetics Algorithm-based Text Categorization for
Documents in Vietnamese - IGATEC) 34
3.4. So sánh các phng pháp tách t Ting Vit hin nay 37
3.5. Kt lun 37
Chng 4. TÁCH T TING VIT KHÔNG DA TRÊN TP NG LIU ÁNH
DU (ANNOTATED CORPUS) HAY T IN (LEXICON) – MT THÁCH THC 40
4.1. Gii thiu 40

4.2. Các nghiên cu v thng kê da trên Internet 40
4.2.1. Gii thiu 40
4.2.2. Mt s công trình nghiên cu v thng kê da trên Internet 41
4.2.3. Nhn xét 43
4.3. Các phng pháp tính đ liên quan gia các t da trên thng kê 43
4.3.1. Thông tin tng h và t-score dùng trong ting Anh 44
4.3.2. Mt s ci tin trong cách tính đ liên quan ng dng trong tách t ting
Hoa và ting Vit 46
4.3.3. Nhn xét v các cách tính đ liên quan khi áp dng cho ting Vit 48
4.4. Tin x lý (Pre-processing) 49
4.4.1. X lý vn bn đu vào 49
4.4.2. Tách ng & tách stopwords 50
4.5. Hng tip cn tách t da trên thng kê t Internet và thut toán di truyn
(Internet and Genetic Algorithm - based ) 51
4.5.1. Công c trích xut thông tin t Google 51
4.5.2. Công c tách t dùng thut toán di truyn (Genetic Algorithm – GA) 53
4.6. Kt lun 61
Chng 5. BÀI TOÁN PHÂN LOI TIN TC IN T 63
5.1. Lý do chn phng pháp Naïve Bayes 63
5.2. Thut toán Naïve Bayes 64
5.2.1. Công thc xác sut đy đ Bayes 64



vii
5.2.2. Tính đc lp có điu kin (Conditional Independence) 65
5.2.3. Ngun gc thut toán Naïve Bayes 65
5.2.4. Phng pháp Naïve Bayes trong phân loi vn bn 66
5.2.5. Hai mô hình s kin trong phân loi vn bn bng phng pháp Naïve
Bayes 68

5.3. Bài toán phân loi tin tc đin t ting Vit 70
5.3.1. Quy c 70
5.3.2. Công thc phân loi vn bn trong IGATEC [H. Nguyen et al, 2005] 71
5.3.3. Công thc Naïve Bayes trong bài toán phân loi tin tc đin t ting Vit
s dng thng kê t Google 72
5.4. Kt lun 74
Chng 6. H THNG TH NGHIM PHÂN LOI VN BN 76
6.1. Gii thiu h thng th nghim Vikass 76
6.1.1. Chc nng h thng Vikass 76
6.1.2. T chc và x lý d liu 76
6.1.3. Mt s màn hình ca h thng Vikass 79
6.2. Th nghim các cách trích xut thông tin 82
6.2.1. Các phng pháp th nghim 82
6.2.2. Nhn xét 84
6.3. D liu th nghim 84
6.3.1. Ngun d liu 84
6.3.2. S lng d liu th nghim 84
6.3.3. Nhn xét 86
6.4. Th nghim các công thc tính đ tng h MI 87
6.4.1. Các phng pháp th nghim 87
6.4.2. Kt qu 87
6.4.3. Nhn xét 88
6.5. Th nghim phân loi tin tc đin t 89
6.5.1. Thc đo kt qu phân loi vn bn 89
6.5.2. Các phng pháp th nghim 91
6.5.3. Kt qu 91
6.5.4. Nhn xét 96




viii
Chng 7. NG DNG PHÂN LOI TIN TC IN T T NG 99
7.1. Gii thiu tòa son báo đin t 99
7.2. Tính cn thit ca phân loi tin tc t đng 99
7.3. Phân tích hin trng 100
7.3.1. Mô hình DFD quan nim cp 2 hin hành cho ô x lý Nhn bài và Tr bài
100
7.3.2. Phê phán hin trng 103
7.3.3. Mô hình DFD quan nim cp 2 mi cho ô x lý Nhn bài và Tr bài 104
7.4. Trin khai DLL 105
7.5. Chng trình cài đt “Tòa son báo đin t” đã tích hp module phân loi tin
tc 106
7.6. Kt qu 110
Chng 8. TNG KT 112
8.1. Kt qu đt đc 112
8.1.1. V mt lý thuyt 112
8.1.2. V mt thc nghim 113
8.2. Hn ch và hng phát trin 113
8.3. Kt lun 114




ix
DANH SÁCH HÌNH
Hình 2. 1. Biu din vn bn 9
Hình 2. 2. Siêu mt phng h phân chia d liu hun huyn thành 2 lp + và – vi khong
cách biên ln nht. Các đim gn h nht là các vector h tr ,Support Vector (đc
khoanh tròn) 11
Hình 2. 3. Hình Kin trúc mô đun (Modular Architecture) . Các kt qu ca tng mng con

s là giá tr đu vào cho mng siêu ch đ và đc nhân li vi nhau đ d đoán
ch đ cui cùng . 16
Hình 3.4. Các hng tip cn c bn trong tách t ting Hoa và các hng tip cn hin ti
đc công b trong tách t ting Vit 24
Hình 3.5. S đ h thng WFST 31
Hình 3.6. Toàn cnh h thng IGATEC 35
Hình 4. 1. Ni dung thông tin cn ly 50
Hình 4. 2. Biu din cá th bng các bit 0,1 55
Hình 4. 3. Thang t l phát sinh loi t 57
Hình 4. 4.Quá trình lai ghép 58
Hình 4. 5. Quá trình đt bin 59
Hình 4. 6. Quá trình sinh sn 59
Hình 4. 7. Quá trình chn cá th 60
Hình 5. 1. Minh ha quy c cho vn bn 70
Hình 5. 2.Minh ha ch đ “Xã hi” 70
Hình 6. 1. T chc file d liu 77
Hình 6. 2. Ch đ Th thao 77
Hình 6. 3. Màn hình tách t 79
Hình 6. 4. Màn hình trích xut t Google 80
Hình 6. 5. Màn hình phân loi tin tc đin t 81
Hình 6. 6. Cây ch đ 86
Hình 6. 7. Biu đ so sánh kt qu các công thc tính đ tng h MI 88
Hình 6. 8. Các thông s dùng tính đ thu v, đ chính xác 89
Hình 6. 9. Biu đ F1 cho cp 1 94
Hình 6. 10. Biu đ F1 cho cp 2 96



x
Hình 7. 1.Mô hình DFD hin hành 100

Hình 7. 2. Mô hình DFD ci tin 104
Hình 7. 3. Màn hình ly tin tc cho phép phân loi t đng 106
Hình 7. 4. Màn hình bt đu. Click Next đ bt đu cài đt 107
Hình 7. 5.Màn hình chn ch đ cài đt hoc tháo g chng trình 107
Hình 7. 6.Màn hình chn đng dn đ cài đt chng trình. 108
Hình 7. 7.Màn hình cài đt chng trình 108
Hình 7. 8.Màn hình chn chc nng g chng trình 109
Hình 7. 9.Màn hình g chng trình thành công 109







xi
DANH SÁCH BNG
Bng 3. 1. So sánh gia ting Vit và ting Anh 23
Bng 4. 1. Thng kê đ dài t trong t đin 54
Bng 4. 2. Tham s thc hin GA 56
Bng 6. 1. Mô t mt s control ca màn hình tách t 79
Bng 6.2. Mô t mt s control ca màn hình trích t Google 80
Bng 6.3. Bng mô t mt s control ca màn hình phân loi tin tc đin t 81
Bng 6. 4. Tham s s dng dch v Google 82
Bng 6. 5. Mt s câu truy vn đc bit ca Google 83
Bng 6. 6. Kt qu thc nghim các công thc tính đ tng h MI 87
Bng 6. 7. Bn trng hp ca phân loi vn bn 90
Bng 6. 8. Kt qu phân loi vn bn cho tng ch đ 94
Bng 7. 1. Bng kho d liu nhng bài vit cha đc đng 102
Bng 7. 2. Bng mô t các ô x lý ca mô hình DFD hin hành 103

Bng 7. 3. Bng mô t ô x lý phân loi tin tc t đng 105





1

C
C
h
h




n
n
g
g


1
1


T
T



N
N
G
G


Q
Q
U
U
A
A
N
N




t vn đ
Các phng pháp phân loi vn bn
Tách t ting Vit – Mt thách thc thú v
Mc tiêu ca lun vn
Phn tìm hiu các thut toán phân loi vn bn
Phn tách t ting Vit
Phn mm phân loi tin tc báo đin t bán t đng



2
Chng 1. TNG QUAN

1.1. t vn đ
Trong thi đi bùng n công ngh thông tin hin nay, phng thc s dng giy
t trong giao dch đã dn đc s hoá chuyn sang các dng vn bn lu tr trên
máy tính hoc truyn ti trên mng. Bi nhiu tính nng u vit ca tài liu s nh
cách lu tr gn nh, thi gian lu tr lâu dài, tin dng trong trao đi đc bit là
qua Internet, d dàng s
a đi… nên ngày nay, s lng vn bn s tng lên mt
cách chóng mt đc bit là trên world-wide-web. Cùng vi s gia tng v s lng
vn bn, nhu cu tìm kim vn bn cng tng theo. Vi s lng vn bn đ s thì
vic phân loi vn bn t đng là mt nhu cu bc thit.
Ti sao phi phân loi vn bn t
 đng? Vic phân loi vn bn s giúp chúng ta
tìm kim thông tin d dàng và nhanh chóng hn rt nhiu so vi vic phi bi tung
mi th trong  đa lu tr đ tìm kim thông tin. Mt khác, lng thông tin ngày
mt tng lên đáng k, vic phân loi vn bn t đng s giúp con ngi tit kim
đc rt nhiu thi gian và công sc.
Do vy, các phng pháp phân loi v
n bn t đng đã ra đi đ phc v cho
nhu cu chính đáng đó.
1.2. Các phng pháp phân loi vn bn
Theo Yang & Xiu (1999), “vic phân loi vn bn t đng là vic gán các nhãn
phân loi lên mt vn bn mi da trên mc đ tng t ca vn bn đó so vi các
vn bn đã đc gán nhãn trong tp hun luyn”.
T trc đn nay, phân loi vn bn t đng trong ting Anh đã có rt nhiu
công trình nghiên cu và đt đc kt qu đáng khích l
. Da trên các thng kê ca
Yang & Xiu (1999) và nghiên cu ca chúng em, mt s phng pháp phân loi
thông dng hin nay là: Support Vector Machine [Joachims, 1998], k-Nearest
Neighbor [Yang, 1994], Linear Least Squares Fit [Yang and Chute, 1994] Neural
Network [Wiener et al, 1995], Naïve Bayes [Baker and Mccallum, 2000], Centroid-

based [Shankar and Karypis, 1998]. Các phng pháp trên đu da vào xác sut



3
thng kê hoc thông tin v trng s ca t trong vn bn. Chi tit v ý tng và
công thc tính toán ca mi phng pháp s đc chúng em trình bày  chng 3,
mc 3.3.
Mi phng pháp phân loi vn bn đu có cách tính toán khác nhau, tuy nhiên,
nhìn mt cách tng quan thì các phng pháp đó đu phi thc hin mt s bc
chung nh sau: đu tiên, mi phng pháp s da trên các thông tin v s xut hi
n
ca t trong vn bn (ví d tn s, s vn bn cha t…) đ biu din vn bn thành
dng vector; sau đó, tu tng phng pháp mà ta s áp dng công thc và phng
thc tính toán khác nhau đ thc hin vic phân loi.
i vi ting Anh, các kt qu trong lnh vc này rt kh quan, còn đi vi ting
Vit, các công trình nghiên cu v phân lo
i vn bn gn đây đã có mt s kt qu
ban đu nhng vn còn nhiu hn ch. Nguyên nhân là ngay  bc đu tiên, chúng
ta đã gp khó khn trong vic x lý vn bn đ rút ra tn s xut hin ca t. Trong
khi đó, đ phân loi vn bn thì có th nói bc đu tiên là quan trng nht bi vì
nu  bc tách t đ
ã sai thì vic phân loi hu nh không th thành công đc.
Phn trình bày tip theo s cho chúng ta bit nhng thách thc đt ra trong vic tách
t ting Vit, cng nh nhng ng dng thú v ca nó.
1.3. Tách t Ting Vit – Mt thách thc thú v
i vi ting Anh, “t là mt nhóm các ký t có ngha đc tách bit vi nhau
bi khong trng trong câu” (Webster Dictionary), do vy vic tách t tr nên rt
đn gin. Trong khi đi vi ting Vit, ranh gii t không đc xác đnh mc đnh
là khong trng mà tùy thuc vào ng cnh dùng câu ting Vit. Ví d các t trong

ting Anh là “book” , “cat”, “stadium” thì trong ting Vit là “quyn sách”, “con
mèo”, “sân vn đng” … V
n đ trên thc s đa ra mt thách thc đi vi chúng
ta - nhng ngi làm tin hc.
Tuy nhiên, thách thc nào cng có cái thú v ca nó. Nu chúng ta gii quyt
đc vic tách t mt cách tho đáng, thì thành qu mà chúng ta đt đc là mt
nn tng đ phát trin cho các hng nghiên cu khác có liên quan đn vic x lý
ngôn ng t nhiên nh: phân loi vn bn, dch t đng, ki
m tra li chính t, kim



4
tra ng pháp… ó là các ng dng rt thit thc vi đi sng con ngi và là mc
tiêu ca con ngi đang chinh phc.
Mt s nc châu Á nh Trung Quc, Nht Bn, Hàn Quc, Vit Nam s dng
loi hình ngôn ng gn nh tng t nhau v mt hình thái và cú pháp. Do đó ta có
th áp dng, ci tin mt s phng pháp tách t ca các nc bn đc bi
t là Trung
Quc vào vic tách t ting Vit.
Theo inh in (2004), các phng pháp tách t sau có ngun gc t ting Hoa
đã đc th nghim trên ting Vit : Maximum Matching: forward/backward hay
còn gi LRMM (Left Right Maximum Matching); gii thut hc ci bin TBL;
mng chuyn dch trng thái hu hn có trng s WFST (Weighted finite-state
Transducer); gii thut da trên nén (compression);….Theo các cách tip cn trên,
điu kin quan trng cn có là mt h
 thng t đin (LRMM) và ng liu đánh du
(TBL, WFST) đy đ, chun xác. Mt t đin hay mt tp ng liu không hoàn
chnh s làm gim hiu sut ca thut toán.
Tuy nhiên, khó có th to ra đc mt t đin hoàn chnh nht là trong thi đi

ngày nay, ngôn ng còn tip tc phát trin và thay đi tng ngày. Xét v mt ph
bin, ti
ng Anh là ngôn ng đc dùng rng rãi trong giao dch trên th gii. Do đó
đ to ra mt tp ng liu ting Anh tha các tiêu chí chn mu ng liu là không
quá phc tp. Trong khi đó, Vit Nam ch mi cho phép truy cp Internet trong
vòng chc nm tr li đây, do đó s lng trang web ting Vit là không nhiu. Cho
đn nay, vn cha có mt tp ng liu hun luyn chun nào dành cho vic tách t

và phân loi trang web ting Vit đc công b.
Gn đây, mt phng pháp tách t mi đc gii thiu có u đim là không cn
dùng tp ng liu hay t đin đ ly thông tin thng kê hay trng s ca t, đó là
phng pháp Internet and Genetics Algorithm-based Text Categorization
(IGATEC) ca H. Nguyen et al (2005). im sáng to ca thut toán là kt hp
thut toán di truyn vi vic trích xut thông tin th
ng kê t Internet thông qua mt
công c tìm kim (nh Google chng hn) thay vì ly t tp ng liu nh các
phng pháp trc.



5
Chúng em thc hin bc tách t trong lun vn này da trên ý tng ca thut
toán IGATEC nhng có b sung nhiu ci tin đáng k đ tng đ chính xác đng
thi thc hin các thí nghim chi tit nhm so sánh các cách áp dng thut toán đ
tìm ra cách ti u nht.
1.4. Mc tiêu ca lun vn
1.4.1. Phn tìm hiu các thut toán phân loi vn bn
Trong khuôn kh lun vn này, chúng em tìm hiu  mc c bn mt s phng
pháp phân loi vn bn hin có đang áp dng cho ting Anh và đa ra mt s so
sánh nht đnh gia các phng pháp: Support Vector Machine (Joachims, 1998), k-

Nearest Neighbor (Yang, 1994), Linear Least Squares Fit (Yang and Chute, 1994)
Neural Network (Wiener et al, 1995), Naïve Bayes (Baker and Mccallum, 2000),
Centroid-based (Shankar and Karypis, 1998).
Sau đó, chúng em s chn và áp dng mt phng pháp cho bài toán phân loi
tin tc báo đin t ting Vit chp nhn đc, phù h
p vi mc đ và thi gian cho
phép ca mt lun vn đi hc.
1.4.2. Phn tách t ting Vit
Hin nay các phng pháp tách t ting Vit đc công b vn cha nhiu và
hng tip cn ch yu da vào tp hun luyn và t đin. Nh chúng ta đã bit,
vic to ra h thng d liu đó không phi là mt sm mt chiu, mà yêu cu đu t
khá nhiu công sc, thi gian và tin bc.
Trong lun vn này, chúng em c g
ng tìm hiu, ci tin, cài đt, th nghim
mt phng pháp tách t ting Vit theo hng tip cn IGATEC, có đ chính xác
chp nhn đc, và điu quan trng là không cn dùng tp ng liu (corpus) đ
phân đnh ranh gii t.
Sau đó, chúng em s cài đt, th nghim đ chính xác ca phng pháp tách t
này trong khía cnh phân loi vn bn
1.4.3. Phn mm phân loi tin tc báo đin t bán t đng



6
 th nghim hng nghiên cu tách t ting Vit và phân loi vn bn ca
lun vn, chúng em tích hp phn mm phân loi tin tc vào trang web báo đin t
có sn đc xây dng trên nn DotNetNuke Portal ca lun vn khoá 2000 ( Hoàng
Minh Ngc Hi (0012545), Nguyn Duy Hip (0012038) )
Nh chúng ta đu bit, điu kin mng cung cp cho các trng đi hc  nc
ta hin nay là khá hn ch

, khó đáp ng đc hoàn toàn vic cho phép các sinh viên
lên mng Internet đ xem các tin tc mi hng ngày.  gii quyt phn nào vn đ
trên, chúng ta có th chn lc mt s tin tc t các ngun khác, đng ti trên trang
web ni b ca trng. Trên c s đó, chúng em tích hp phn mm phân loi tin
tc báo đin t t đng vào toà son báo đin t cho phép ly tin t
đng t các
trang web khác. Nh vy, công vic ly tin và phân loi tin tc gi đây đã tr nên
rt d dàng và nhanh chóng, tit kim nhiu công sc và thi gian cho nhà qun tr.
Không ch ng dng cho các trng đi hc, phn mm phân loi tin tc ca
chúng em còn có th ng dng, h tr cho nhiu công vic khác nh : lu tr
(clipping) báo chí, xây dng b ng liu cho các bài toán cn d
liu đc phân
loi, tin đ cho các bài toán khác nh phân loi website.
1.4.4. óng góp ca lun vn
Lun vn đã thc hin vic đc nhiu ci tin ca hng tip cn tách t ting
Vit dùng trong phân loi vn bn theo phng pháp da trên thng kê Internet.
i vi tách t ting Vit, chúng em đ ngh thêm mt công thc tính toán đ
tng h mi, t đó thc hin th nghim tính hiu qu ca cách tính này so vi
cách công thc  nh
ng công trình khác.
Trong quá trình xây dng thut toán di truyn dùng trong tách t, chúng em đã
ci tin hình thc đt bin mi phù hp vi hình thc cu to t trong câu.
i vi vic phân loi vn bn, chúng em ci tin công thc tính trong hng
tip cn Naïve Bayes phù hp vi phng pháp tính da trên thng kê t Google.








7
C
C
h
h




n
n
g
g


2
2


C
C
Á
Á
C
C


P
P

H
H




N
N
G
G


P
P
H
H
Á
Á
P
P


P
P
H
H
Â
Â
N
N



L
L
O
O


I
I


V
V


N
N


B
B


N
N


T
T

I
I


N
N
G
G


A
A
N
N
H
H






Bi cnh các phng pháp phân loi vn bn hin nay
Các phng pháp phân loi vn bn ting Anh hin hành
Biu din vn bn
Support vector Machine (SVM)
K–Nearest Neighbor (kNN)
Naïve Bayes (NB)
Neural Network (NNet)
Linear Least Square Fit (LLSF)

Centroid- based vector
Kt lun



8
Chng 2. CÁC PHNG PHÁP PHÂN LOI VN BN
TING ANH
2.1. Bi cnh các phng pháp phân loi vn bn hin nay
Phân loi vn bn t đng là mt lnh vc đc chú ý nht trong nhng nm
gn đây.  phân loi ngi ta s dng nhiu cách tip cn khác nhau nh da trên
t khóa, da trên ng ngha các t có tn s xut hin cao, mô hình Maximum
Entropy, tp thô … Ting Anh là mt trong nhng ngôn ng đc nghiên cu sm
và rng rãi nht vi kt qu đt đc r
t kh quan. Mt s lng ln các phng
pháp phân loi đã đc áp dng thành công trên ngôn ng này : mô hình hi quy
[Fuhr et al,1991], phân loi da trên láng ging gn nht (k-nearest neighbors)
[Dasarathy, 1991], phng pháp da trên xác sut Naïve Bayes [Joachims, 1997],
cây quyt đnh [Fuhr et al,1991], hc lut quy np [William & Yoram, 1996], mng
nron (neural network)[Wiener et al, 1995], hc trc tuyn[William & Yoram,
1996], và máy vector h tr (SVM-support vector machine) [Vapnik, 1995]. Hiu
qu ca các phng pháp này rt khác nhau ngay c khi áp dng cho ti
ng Anh.
Vic đánh giá gp nhiu khó khn do vic thiu các tp ng liu hun luyn chun.
Thm chí đi vi tp d liu đc s dng rng rãi nht, Reuter cng có nhiu
phiên bn khác nhau. Hn na, có rt nhiu đ đo đc s dng nh recall,
precision, accuracy hoc error, break-even point, F-measure …Chng này gii
thiu các thut toán phân loi đc s dng ph bi
n nht đng thi so sánh gia
các phng pháp s dng kt qu ca [Yang, 1997].

2.2. Các phng pháp phân loi vn bn ting Anh hin hành
2.2.1. Biu din vn bn
Bc đu tiên ca mi phng pháp phân loi là chuyn vic mô t vn bn
dùng chui ký t thành mt dng mô t khác, phù hp vi các thut toán hc theo
mu và phân lp. Hu ht các thut toán đu s dng cách biu din vn bn s
dng vector đc trng, s khác nhau có chng là vic chn không gian đc trng
khác nhau. Vì vy  phn này chúng em s trình bày s lc v
 vector đc trng.



9
Ý tng chính là xem mi vn bn
i
d tng ng là mt vector đc trng
()
12
( ), ( ), , ( )
in
d TFw TFw TFw
iif
trong không gian các t
n
W (
i
w là mt t, mt đc
trng, tng ng mt chiu ca không gian). Gía tr ca
()
i
TF w chính là s ln xut

hin ca t
i
w trong vn bn
i
d . T đc chn là mt đc trng khi nó xut hin
trong ít nht 3 vn bn [Joachims, 1997].  không b ph thuc vào chiu dài vn
bn vector đc trng s đc chun hóa v chiu dài đn v :
12
22 2
()
() ()
( , , , )
() () ()
n
ii i
TF w
TF w TF w
di
TF w TF w TF w
∑∑ ∑
iif


Hình 2. 1. Biu din vn bn
Trong thc t đ ci thin tc đ và kt qu ngi ta thng s dng
)(
i
wIDF
hoc
i

(w )TFIDF thay cho ()
i
TF w :
( ) log( )
()
i
i
m
IDF w
DF w
=

() (). ()
iii
TFIDF w TF w IDF w
=

Vi
Ü m chính là s vn bn hun luyn



10
Ü DF(w
i
) là s vn bn có cha t
i
w .
Mt vn đ ny sinh khi biu din vn bn theo hng vector đc trng chính là
vic chn đc trng và s chiu cho không gian. Cn phi chn bao nhiêu t và

chn nhng t nào ? theo nhng cách nào ? Có nhiu hng tip cn trong vn đ
này mà tiêu biu là s dng Information Gain [Yang & Petersen, 1997] ngoài ra còn
có các phng pháp nh DF-Thresolding [Yang & Petersen, 1997],
Test−
2
χ

[Schütze et al,1995] hoc Term Strength [Yang & Wilbur,1997]. Phng pháp
Information Gain s dng đ đo Mutual Information(MI) [Yang & Petersen, 1997]
đ chn ra tp đc trng con
f gm nhng t có giá tr MI cao nht.
Các đc trng ca vn bn khi biu din di dng vector :
Ü S chiu không gian đc trng thng rt ln (trên 10000)
Ü Có các đc trng đc lp nhau, s kt hp các đc trng này thng không
có ý ngha trong phân loi
Ü c trng ri rc : vector
i
d có rt nhiu giá tr 0 do có nhiu đc trng
không xut hin trong vn bn
i
d .
Ü Hu ht các vn bn có th đc phân chia mt cách tuyn tính bng các
hàm tuyn tính.
Vic phân loi s tt hn nu các thut toán tn dng đc nhng đc trng này.
Phn tip theo s nói rõ hn v các thut toán phân loi.
2.2.2. Support vector Machine(SVM)
SVM là phng pháp tip cn phân loi rt hiu qu đc Vapnik gii thiu
nm 1995 [Vapnik, 1995] đ gii quyt vn đ nhn dng mu 2 lp s dng
nguyên lý Cc tiu hóa Ri ro có Cu trúc (Structural Risk Minimization) [Vapnik,
Cortes, 1995].




11
2.2.2.1. Ý tng
Cho trc mt tp hun luyn đc biu din trong không gian vector trong đó
mi tài liu là mt đim, 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
lp + và lp –. Cht lng ca siêu mt phng này đc quyt đnh bi khong
cách (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ì mt phng quyt đnh càng tt đng thi vic phân
lo
i càng chính xác. Mc đích thut toán SVM tìm đc khong cách biên ln nht.
Hình sau minh ha cho thut toán này :

Hình 2. 2. Siêu mt phng h phân chia d liu hun huyn thành 2 lp + và –
vi khong cách biên ln nht. Các đim gn h nht là các vector h tr
,Support Vector (đc khoanh tròn)
2.2.2.2. Công thc chính
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 này 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 phân loi là
thp nht
Phng trình siêu mt phng cha vector
i
d trong không gian nh sau :
0=+⋅ bwd
i

t






<+⋅−
>+⋅+
=+⋅=
0,1
0,1
)()(
bwd
bwd
bwdsigndh
i
i
ii




12
Nh th )(
i
dh biu din s phân lp ca
i
d
vào hai lp nh đã nói. Gi
{
}

1
±
=
i
y ,
i
y = + 1, vn bn
i
d ∈ lp +;
i
y = - 1, vn bn
i
d ∈ lp - Khi này đ có siêu mt
phng h ta s phi gii bài toán sau :

Tìm Min
w vi w và b thõa điu kiên sau :
(
)
1)(:,1 ≥+⋅∈∀ bwdsignyni
ii

Bài toán SVM có th gii bng k thut s dng toán t Lagrange đ bin đi
thành dng đng thc.
im thú v  SVM là mt phng quyt đnh ch ph thuc vào các vector h tr
(Support Vector) có khong cách đn mt phng quyt đnh là
w
1
. Khi các đim
khác b xóa đi thì thut toán vn cho kt qu 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 và 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 qu. Các phiên bn
SVM tt có th k đn là SVM
Light
[Joachims, 1998] và Sequential Minimal
Optimization (SMO) [Platt, 1998]
2.2.3. K–Nearest Neighbor (kNN)
kNN là phng pháp truyn thng khá ni ting v hng tip cn da trên
thng kê đã đc nghiên cu trong nhn dng mu hn bn thp k qua [Dasarathy,
1991]. kNN đc đánh giá là mt trong nhng phng pháp tt nht (áp dng trên
tp d liu Reuters phiên bn 21450), đc s dng t nhng thi k đu ca vic
phân loi vn bn [Marsand et al, 1992] [Yang, 1994] [Iwayama, Tokunaga, 1995].
2.2.3.1.
Ý tng
Khi cn phân loi mt vn bn mi, thut toán s tính khong cách (khong cách
Euclide, Cosine ) 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 “láng ging”), sau đó dùng các khong cách này
đánh trng s cho tt c ch đ. Trng s ca mt ch đ chính là tng tt 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

×