HUTECH
B GIÁO DC VÀ ÀO TO
TRNG I HC K THUT CÔNG NGH
KHOA CÔNG NGH THÔNG TIN
B MÔN CÔNG NGH PHN MM LUN VN TT NGHIP
TÌM HIU V PHÂN LOI VN BN
VÀ XÂY DNG CHNG TRÌNH NG DNG Sinh viên thc hin:
1. H tên: PHAN THANH BÌNH
MSSV: 10102019
2. H tên: LÊ BCH V
MSSV: 10102218 TP. H CHÍ MINH
NM HC: 2005-2006
HUTECH
B GIÁO DC VÀ ÀO TO
TRNG I HC K THUT CÔNG NGH
KHOA CÔNG NGH THÔNG TIN
B MÔN CÔNG NGH PHN MM
nhu cu phân loi các thông tin đã xut hin t rt sm. Nhng nu dùng con
ngi đ phân loi các thông tin thì s mt rt nhiu công sc và tin bc. Cho
nên ngi ta đã tìm ra nhiu phng pháp phân loi vn bn t đng giúp gim
gánh nng cho con ngi.
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 2
TÓM TT NI DUNG
Trong lun vn này chúng tôi s trình bày v các phng pháp phân loi vn
bn và hin thc gii thut K-Nearest Neightbour (K-NN). ây là gii thut
không quá phc tp nhng có đ chính xác khá cao.
Các phn trong lun vn s đc trình bày nh sau:
Chng 1: Chng này s trình bày v nhu cu thc tin ca vic phân loi
vn bn và các ng dng thc t ca các ph ng pháp phân loi vn bn t
đng. Chng này s cho ta thy s cn thit ca vic phân loi vn bn t
đng trong thi đi ngày nay.
Chng 2: Chng này trình bày v các c s lý thuyt liên quan đn quá trình
phân loi vn bn t đng. Cung cp các kin thc rt quan trng dùng đ cài
đt và kim tra hiu qu ca các phng pháp phân loi t đng.
Chng 3: Chng này trình bày tng quan mt s phng pháp phân loi vn
bn t đng nh: Gii thut Rocchio, Gii thut K-Nearest Neighbour, Naïve
Bayes, Gii thut cây quyt đnh, Gii thut mng neuron, Gii thut Support
Vector Machine.
Chng 4: Chng này s trình bày bng thit k và cài đt chng trình phân
loi vn bn t đng theo phng pháp K-Nearest Neighbour. Sau đó chúng tôi
s trình bày các kt qu đt đc sau khi chy th nghim chng trình nh đ
chính xác, tc đ ca chng trình. minh ha cho vic ng dng phng
DANH MC HÌNH 9
DANH MC BNG 11
Chng 1 12
PHÁT BIU VN 12
1.1. Gii thiu 12
1.1.1. ng c thúc đy vic phân loi vn bn t đng
13
1.1.2. Mt s ng dng ca vic phân loi vn bn theo ch đ
14
1.2. Ni dung đ tài
15
1.3. ng dng m rng - Lp ch mc và tìm kim ca Lucene
16
1.3.1. Gii thiu Lucene
16
1.3.2. C s nn tng ca Lucene
18
1.3.3. Mc đích, chc nng, công dng
18
1.3.4. To ch mc và tìm kim
19
Chng 2 20
C S LÝ THUYT PHN LOI VN BN 20
2.1. Biu din vn bn 20
2.1.1. Phng pháp Boolean
23
2.1.2. Phng pháp tn sut t (work frequency)
24
2.1.3. Phng pháp tf-idf (frequency x inverse document frequency)
24
2.4. ánh giá đ chính ca vic phân loi vn bn
34
2.4.1. Thông s precision.
35
2.4.2. Thông s recall
35
2.4.3. Thông s f (f-score)
35
2.4.4. Thông s accuracy
36
2.4.5. Thông s error
36
Chng 3 37
CÁC GII THUT PHÂN LOI VN BN 37
3.1. Gii thut Rocchio 37
3.1.1. Gii thiu
37
3.1.2. Giai đon hun luyn
38
3.1.3. Giai đon phân loi
39
3.1.4. ánh giá gii thut
40
3.2. Gii thut K-Nearest Neighbour
41
3.2.1. Gii thiu
41
3.2.2. Giai đon hun luyn
42
3.2.3. Giai đon phân loi
3.5.2. ánh giá gii thut
53
3.6. Gii thut Support Vector Machine
54
3.6.1. Các mt phân cách (Hyperplanes)
54
3.6.2. Gii thut Support Vector Machine.
55
3.6.3. Nhân xét.
56
3.7. Chn gii thut
57
Chng 4 58
THIT K VÀ HIN THC CHNG TRÌNH PHÂN LOI VN BN 58
4.1. Quá trình xây dng gii thut K-Nearest Neighbour 58
4.1.1. Xây dng t đin (danh sách t khóa)
58
4.1.2. Giai đon hun luyn
58
4.1.3. Giai đon phân loi
59
4.2. S đ usecase
60
4.3. S đ tun t ca vài nghip v chính
61
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 7
4.3.1. Hun luyn vn bn 61
4.6. Thit k giao din
76
4.6.1. Màn hình chính ca chng trình
76
4.6.2. Màn hình to loi vn bn
76
4.6.3. Màn hình hun luyn chng trình
77
4.6.4. Màn hình phân loi d liu
77
4.6.5. Màn hình kt qu phân loi
78
4.6.6. Màn hình to ch mc (reverted index)
78
4.6.7. Màn hình trích rút d liu trên mng
79
4.6.8. Trang ch tìm kim theo ch đ
79
4.6.9. Trang tìm kim theo ch đ
80
4.7. Kt qu đt đc
80
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 8
Chng 5 83
ÁNH GIÁ VÀ HNG PHÁT TRIN 83
5.1. ánh giá 83
5.1.1. Kt qu đt đc
Hình 15. S đ use case mô t các nghip v ch ng dng 60
Hình 16. S đ tun t ca quá trình hun luyn chng trình 61
Hình 17. S đ tun t ca quá trình phân loi vn bn 62
Hình 18. S đ tun t ca quá trình đánh giá kt qu phân loi 64
Hình 19. S đ tun t ca quá trình đánh giá kt qu phân loi 65
Hình 20. S đ tun t ca quá trình lp ch mc 66
Hình 21. S đ tun t ca quá trình tìm kim 67
Hình 22. Package reader 68
Hình 23. Pakage analysis 69
Hình 24. Pakage training 70
Hình 25. Pakage category 72
Hình 26. Package store 72
Hình 27. Package crawler 73
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 10
Hình 28. Package index 74
Hình 29. Package util 75
Hình 30. C s d liu 75
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 11
DANH MC BNG
Bng 1. Ví d mt t đin 21
Bng 2. Các version ca tuyn tp Reuter. 31
Bng 3 . Thng kê mt s ch đ trong tp Reuters 33
Bng 4. Thng kê mt s ch đ trong tp 20-newsgroup 34
Sinh ra ngôn ng t nhiên (Natural Language Generation)
Máy dch thut (Machine Translation)
Tr li câu hi (Question Answering)
Tìm kim thông tin (Information Retrieval)
Trích rút thông tin (Information Extraction)
Kim chng vn bn (Text-Proofing)
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 13
Tóm tc t đng (Automatic Summarization)
M h v ng ngha (Syntactic ambiguity)
X lý ngôn ng bng thng kê (Statistical Natural Language Processing)
Trong lun vn này chúng tôi trình bày là phân loi vn bn t đng - mt
hng nghiên cu trong lnh vc x lý ngôn ng t nhiên bng thng kê. Mc
tiêu ca vic phân loi vn bn t đng là phi vit mt chng trình có kh
nng phân loi chính xác mt vn bn bt k (bng ting Anh).
1.1.1. ng c thúc đy vic phân loi vn bn t đng
Phân loi vn bn t đng đem li rt nhiu li ích trong đi sng hin nay.
Tht vy, s phát trin vt bc ca Internet dn đn s bùng n ca các vn
bn trc tuyn, cho nên cn phi phân loi các vn bn nhn đc vào các ch
đ khác nhau.
Nu vic phân loi vn bn c đin đc thc hin th công, ngha là thông
qua con ngi (các chuyên gia ca tng lnh vc), thì s lng chuyên gia
tham gia vào vic phân loi là rt ln và thi gian phân loi cng ln hn, điu
này rt tn kém và gây nhàm chán cho các chuyên gia này. Tuy nhiên vic
phân loi th công cng không tránh khi nhng ý kin ch quan ca nhng
chuyên gia, vì vy đ chính xác cng không cao.
Khi đó các công c ph ân loi vn bn t đng rt hu ích cho ngi đc trong
vic t chc d liu. Do đó vic phân loi tin hành bng máy có u đim là
Vic phân loi vn bn có th áp dng trong các h thng tìm kim thông tin
nhm tng hiu sut cng nh tng đ chính xác ca vic tìm kim. Do s phát
trin ca Internet, s lng thông tin trc tuyn ngày càng tng. Mt thao tác
ph bin trên Internet là tìm kim. Tuy nhiên, do khi lng thông tin rt ln
nên các c máy tìm kim (search engine) thng t chc d liu vào các ch đ
giúp không gian tìm kim gim đi, qua đó tng hiu sut ca h thng.
Ngoài ra vic tìm kim theo t khoá thng không đt đc đ chính xác cao
nên các search engine thng kt hp vi tìm kim theo ch đ nhm ci thin
đ chính xác ca vic tìm kim.
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 15
d. Phân loi email
Chc nng ca mt h thng phân loi email t đng là:
- T chi mail theo lut.
- Phân phi mail vào các folder đnh trc.
- Chuyn mail đn đa ch khác.
1.2. Ni dung đ tài
Trong lun vn chúng tôi tìm hiu và áp dng phng pháp k – Nearest
Neighbour đ phân loi vn bn ting Anh. i vi ngôn ng ting Anh hin
nay có rt nhiu công trình liên quan nh: Google, Yahoo, …
Các vn bn cn phân loi trong lun vn chúng tôi gói gn trong 5 ch đ: Trí
tu nhân to (artificial intelligence), Cu trúc d liu + gii thut (structure and
algorithm), mng máy tính (network), sinh hc (biology), bóng đá (football).
Các ch đ trên đc thu thp t các trang web đc Google phân loi sn do
đó mi th loi rt đa dng v ni dung. Trong đó hai ch đ cu trúc d liu +
gii thut và trí tu nhân to đc xem là tiêu biu nht cho vic phân loi vì
chúng giao nhau rt ln, thêm vào đó là ch đ mng máy tính cng rt gn vì
tìm kim đy đ chc nng cho website ca mình.
Ta có th xem Lucene là mt tng phía di, giúp x lí thao tác index và search
cho các chng trình bên trên, nh trong hình sau:
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 17
Hình 1. Mô hình kin trúc ca Lucene
Mt s chng trình tìm kim có đy đ chc nng đc xây dng da trên c
s Lucene. Nu bn đang tìm mt s th cn thit đã đc xây dng sn hay
mt khung làm vic dùng cho vic crawling, x lí vn bn, và tìm kim, bn có
th xem ti trang Lucene Wiki (http://wiki.apache.org/jakarta-
lucene/PoweredBy) vi nhiu chng trình: Zilverline, SearchBlox, Nutch,
LARM, và jSearch.
Vi s phong phú ca thông tin, và thi gian là mt trong nhng th quý giá
ca hu ht mi ngi, chúng ta cn làm cho nhng câu truy vn tr nên linh
hot, đc lp, đc bit đ nhanh chóng ct ngang rào cn phân loi cng nhc
và tìm kim chính xác sau đó đa ra kt qu hp lý nht theo yêu cu.
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 18
1.3.2. C s nn tng ca Lucene
Lucene là sn phm sáng to ca Doug Cutting và sn có trên SourceForge,
cho phép mi ngi download. Nó gia nhp dòng sn phm phn mm Apache
Software Foundation's Jakarta mã ngun m bng Java vào tháng 9 nm 2001.
T khi đc ph bin rng rãi, Lucene ngày càng đc nhiu ngi dùng và
các nhà phát trin ng h. Tháng 11 nm 2002, phiên bn Lucene 1.2 đc phát
bn có th to index cho các vn bn, hay phiên bn ca vn bn nhm
d dàng trong vic phc hi.
Tt nhiên, nhiu công c tìm kim có th thc hin hu ht các chc nng trên,
nhng ít có công c tìm kim mã ngun m nào li d dùng và linh hot nh
Lucene.
1.3.4. To ch mc và tìm kim
Trc tiên, bn cn đ d liu vào ng dng tìm kim ca mình (indexing) hay
ly d liu ra (searching).
- To ch mc (Indexing) bng các to các đi tng Documents vi nhng
Fields ca nó (là mt cp tên/giá tr) và đ nó vào mt IndexWriter đ phân
tích ni dung ca các Field values thành các token và to ra index.
- Tìm kim (Searching) dùng mt đi tng IndexSearcher. Trc ht, ly
câu truy vn (kiu String) t ngi dùng, truyn nó cho QueryParser (và nh là
QueryParser cn phi đc khi to trc đó, có cùng loi Analyzer khi bn
xây dng index; QueryParser s dùng Analyzer đ phân tích chui truyn vào)
và tr v mt đi tng Query. Sau đó, ly đi tng Query này dùng cho
phng thc IndexSearcher.search(). Nó s tr v đi tng Hits, là mt tp
hp các đi tng Document đc tìm thy. i tng Hits cng cha c score
cho mi Document.
HUTECH
Lun vn tt nghip GVHD: Th.s Nguyn Chánh Thành
SVTH: Phan Thanh Bình & Lê Bch V Trang 20
Chng 2
C S LÝ THUYT PHN LOI VN BN
2.1. Biu din vn bn
Hu ht các vn bn đu chuyn đi mt hay nhiu chui gm các t sang mt
dng thích hp đ có th đc x lý bi gii thut. Các vn bn đc coi là mt
bn.
Mt khi t đin đc to ra nhng vector t đin riêng l đc phát sinh.
Mô hình không gian vector biu din nhng vn bn nh nhng vector trng s
trong không gian n chiu to thành mô hình biu din d liu ca chúng ta.
Phng pháp này cn x lý trc mt lng d liu tng đi nh đ làm tin
ích khi chúng ta x lý mt khi lng d liu khng l.
Trong mô hình này mt vn bn đ c biu din bng mt vector các t vi s
chiu t là tng s t khác nhau ca t đin.
Mi t (term) th i trong mt vn bn d hoc trong câu truy vn th j có mt
giá tr trng s là w
ij
Ví d:
Biu din mt tp hp gm ba vn bn D1, D2, Q vi s chiu t = 3 ngha là
trong t đin có 3 t là T1, T2, T3.
Vn bn D1 cha 2 t T1, 3 t T2 và 5 t T3 => D1 = 2T1 + 3T2 + 5T3
Vn bn D2 cha 3 t T1, 7 t T2 và 1 t T3 => D2 = 3T1 + 7T2 + T3
là s thc.
Nh vy mt vn bn hoc câu truy vn đc biu din di dng:
S chiu = t = | tng s t vng |
d
j
= (w
1j
, w
2j
, …, w
tj
)
tn2n1nn
t222122
t112111
t21
w… w wD
… … … … …
w… w wD
w… w wD
T … T T
T
3
T
1
T
2
D
1
= 2T
1
+ 3T
2
+ 5T
3
D
2
ch đ ca vn bn càng ln.
Nu mt t xut hin trong hu ht các vn bn, mà các vn bn đó đu thuc
các ch đ khác nhau, thì t đó không có ý ngha đi vi bt k mt ch đ
nào.
Gi
f
ij
là s ln xut hin ca t i trong vn bn j.
N là tng s các vn bn.
t là tng s t khác nhau trong t đin.
df
i
là tng s vn bn cha t i.
Có nhiu phng pháp đ xác đnh giá tr ca trng s w
ij
2.1.1. Phng pháp Boolean
. Sau đây là mt vài
phng pháp ph bin.
Mt vn bn đc biu din mi mt tp hp các t khóa. Các câu truy vn
da trên phng pháp Boolean là các biu thc Boolean gm các t khóa đc
lien kt vi nhau bi các toán t AND, OR, NOT và các du ngoc đ ch
phm vi. Ví d nh:
[[Rio & Brazil] | [Hilo & Hawaii]] & hotel & !Hilton]
D liu kt xut là các vn bn có liên quan hoc không liên quan và không có
sp xp.
ây là phng pháp đc s dng ph bin vì nó đn gin, d truy vn, hình
thc rõ ràng. Giá tr w
ij
ch bng 1 hoc 0, ngha là t i có hoc không xut