Ph ng pháp tf-idf frequency x inverse document frequency .... Ph ng pháp tfc Term Frequency Component .... Ph ng pháp ltc Log Term Component .... Package textcategory.analysis .... Packa
Trang 3H U
H
Ngày nay, vi s phát tri n c a công ngh thông tin, thì s l ng thông tin
c ng bùng n nhanh chóng Các thông tin t n t i d i nhi u hình th c khác nhau nh : các trang web, th đi n t , c s d li u… Do đó công vi c tìm
ki m thông tin theo n i dung nào đó c ng tr nên khó kh n T th c ti n này nhu c u phân lo i các thông tin đã xu t hi n t r t s m Nh ng n u dùng con
ng i đ phân lo i các thông tin thì s m t r t nhi u công s c và ti n b c Cho nên ng i ta đã tìm ra nhi u ph ng pháp phân lo i v n b n t đ ng giúp gi m gánh n ng cho con ng i
Trang 4H U
H
TĨM T T N I DUNG
Trong lu n v n này chúng tơi s trình bày v các ph ng pháp phân lo i v n
b n và hi n th c gi i thu t K-Nearest Neightbour (K-NN) ây là gii thu t khơng quá ph c t p nh ng cĩ đ chính xác khá cao
Các ph n trong lu n v n s đ c trình bày nh sau:
Ch ng 1: Ch ng này s trình bày v nhu c u th c ti n c a vi c phân lo i
v n b n và các ng d ng th c t c a các ph ng pháp phân lo i v n b n t
đ ng Ch ng này s cho ta th y s c n thi t c a vi c phân lo i v n b n t
đ ng trong th i đ i ngày nay
Ch ng 2: Ch ng này trình bày v các c s lý thuy t liên quan đ n quá trình
phân lo i v n b n t đ ng Cung c p các ki n th c r t quan tr ng dùng đ cài
đ t và ki m tra hi u qu c a các ph ng pháp phân lo i t đ ng
Ch ng 3: Ch ng này trình bày t ng quan m t s ph ng pháp phân lo i v n
b n t đ ng nh : Gi i thu t Rocchio, Gi i thu t K-Nearest Neighbour, Nạve Bayes, Gi i thu t cây quy t đ nh, Gi i thu t m ng neuron, Gi i thu t Support Vector Machine
Ch ng 4: Ch ng này s trình bày b ng thi t k và cài đ t ch ng trình phân
lo i v n b n t đ ng theo ph ng pháp K-Nearest Neighbour Sau đĩ chúng tơi
s trình bày các k t qu đ t đ c sau khi ch y th nghi m ch ng trình nh đ chính xác, t c đ c a ch ng trình minh h a cho vi c ng d ng ph ng pháp phân lo i v n b n t đ ng, chúng tơi cĩ cài đ t các module crawler dùng
đ rút trích v n b n trên m ng máy tính, module index dùng đ l p ch m c các
v n b n đã phân lo i và m t trang web tìm ki m
Ch ng 5: Ch ng này s trình bày các th o lu n và rút ra các k t lu n và k t
qu đ i chi u v i m c tiêu đ ra Cu i cùng là đ nh h ng phát tri n c a đ tài
Trang 5v h nh phúc và luôn nhi t tình ch b o cho các sinh viên Ti p theo chúng tôi xin cám n các anh ch trong công ty Th ng m i c ph n HPT chi nhánh
th ng m i TP-HCM đã nhi t tình giúp đ và t o đi u ki n cho chúng tôi tìm
ki m v n b n và d li u ki m ch ng ch ng trình Cu i cùng xin cám n đ n các b n thân h c cùng khóa 01- TH đã quan tâm đ ng viên c húng tôi trong quá trình th c hi n đ tài này
Trang 6H U
H
M C L C
L I NÓI U 1
TÓM T T N I DUNG 2
L I C M N 3
M C L C 4
DANH M C HÌNH 9
DANH M C B NG 11
Ch ng 1 12
PHÁT BI U V N 12
1.1 Gi i thi u 12
1.1.1 ng c thúc đ y vi c phân lo i v n b n t đ ng 13
1.1.2 M t s ng d ng c a vi c phân lo i v n b n theo ch đ 14
1.2 N i dung đ tài 15
1.3 ng d ng m r ng - L p ch m c và tìm ki m c a Lucene 16
1.3.1 Gi i thi u Lucene 16
1.3.2 C s n n t ng c a Lucene 18
1.3.3 M c đích, ch c n ng, công d ng 18
1.3.4 T o ch m c và tìm ki m 19
Ch ng 2 20
C S LÝ THUY T PH N LO I V N B N 20
2.1 Bi u di n v n b n 20
2.1.1 Ph ng pháp Boolean 23
2.1.2 Ph ng pháp t n su t t (work frequency) 24
2.1.3 Ph ng pháp tf-idf (frequency x inverse document frequency) 24
2.1.4 Ph ng pháp tfc (Term Frequency Component) 25
2.1.5 Ph ng pháp ltc (Log Term Component) 25
2.1.6 Ph ng pháp Entropy 26
Trang 7H U
H
2.2 Rút g n danh sách t 26
2.2.1 Ph ng pháp ng ng t n xu t c a v n b n 27
2.2.2 Ph ng pháp đ l i thông tin 27
2.2.3 Ph ng pháp thông tin t ng h 28
2.2.4 Ph ng pháp đ m nh c a t 28
2.2.5 Ph ng pháp th ng kê χ2 29
2.3 T p v n b n dùng đ phân lo i 30
2.3.1 Gi i thi u 30
2.3.2 T p Reuters 30
2.3.3 T p 20-newsgroup 33
2.4 ánh giá đ chính c a vi c phân lo i v n b n 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
Ch ng 3 37
CÁC GI I THU T PHÂN LO I V N B N 37
3.1 Gi i thu t Rocchio 37
3.1.1 Gi i thi u 37
3.1.2 Giai đo n hu n luy n 38
3.1.3 Giai đo n phân lo i 39
3.1.4 ánh giá gi i thu t 40
3.2 Gi i thu t K-Nearest Neighbour 41
3.2.1 Gi i thi u 41
3.2.2 Giai đo n hu n luy n 42 Giai đo n phân lo i
Trang 8H U
H
3.2.4 ánh giá gi i thu t 44
3.3 Gi i thu t Nạve Bayes 45
3.3.1 Gi i thi u 45
3.3.2 Giai đo n hu n luy n 46
3.3.3 Giai đo n phân lo i 46
3.3.4 ánh giá gi i thu t 47
3.4 Gi i thu t cây quy t đ nh 47
3.4.1 Cây quy t đ nh 47
3.4.2 Entropy và đ l i thơng tin 49
3.4.3 C t nhánh cây quy t đ nh 49
3.4.4 Nh n xét 50
3.5 Gi i thu t m ng Neuron (Neural Network) 50
3.5.1 Gi i thu t 50
3.5.2 ánh giá gi i thu t 53
3.6 Gi i thu t Support Vector Machine 54
3.6.1 Các m t phân cách (Hyperplanes) 54
3.6.2 Gi i thu t Support Vector Machine 55
3.6.3 Nhân xét 56
3.7 Ch n gi i thu t 57
Ch ng 4 58
THI T K VÀ HI N TH C CH NG TRÌNH PHÂN LO I V N B N 58
4.1 Quá trình xây d ng gi i thu t K-Nearest Neighbour 58
4.1.1 Xây d ng t đi n (danh sách t khĩa) 58
4.1.2 Giai đo n hu n luy n 58
4.1.3 Giai đo n phân lo i 59
4.2 S đ usecase 60
4.3 S đ tu n t c a vài nghi p v chính 61
Trang 9H U
H
4.3.1 Hu n luy n v n b n 61
4.3.2 Phân lo i v n b n 62
4.3.3 ánh giá k t qu phân lo i 63
4.3.4 Trích rút d li u trên m ng 65
4.3.5 L p ch m c 66
4.3.6 Tìm ki m 67
4.4 S đ l p 68
4.4.1 Pakage textcategory.reader 68
4.4.2 Package textcategory.analysis 69
4.4.3 Package textcategory.training 70
4.4.4 Package textcategory.category 72
4.4.5 Package store 72
4.4.6 Package crawler 73
4.4.7 Package index 74
4.4.8 Package util 74
4.5 Thi t k c s d li u 75
4.6 Thi t k giao di n 76
4.6.1 Màn hình chính c a ch ng trình 76
4.6.2 Màn hình t o lo i v n b n 76
4.6.3 Màn hình hu n luy n ch ng trình 77
4.6.4 Màn hình phân lo i d li u 77
4.6.5 Màn hình k t qu phân lo i 78
4.6.6 Màn hình t o ch m c (reverted index) 78
4.6.7 Màn hình trích rút d li u trên m ng 79
4.6.8 Trang ch tìm ki m theo ch đ 79
4.6.9 Trang tìm ki m theo ch đ 80
t qu đ t đ c
Trang 10H U
H
Ch ng 5 83
ÁNH GIÁ VÀ H NG PHÁT TRI N 83
5.1 ánh giá 83
5.1.1 K t qu đ t đ c 83
5.1.2 Các h n ch c a đ tài 84
5.2 H ng phát tri n c a đ tài 84
PH L C 86
1 T đi n gi i thích các thu t ng 86
2 Các mã ngu n m đ c s d ng trong lu n v n 87
3 Tài li u tham kh o 87
Trang 11H U
H
DANH M C HÌNH
Hình 1 Mô hình ki n trúc c a Lucene 17
Hình 2 Mô hình không gian vector 3 chi u 22
Hình 3 nh minh h a cho gi i thu t phân lo i v n b n Rocchio 39
Hình 4 Mình h a xác đ nh vector Q gi ng D1 hay D2 theo gi i thu t KNN 44
Hình 5 Cây quy t đ nh cho ch đ “earning” 48
Hình 6 Bi u đ th hi n hi u qu c a vi c c t nhánh 50
Hình 7 Mô hình m t Perceptron 51
Hình 8 Mô hình m ng neuron 53
Hình 9 Mô hình lan truy n d li u 53
Hình 10 ng phân cách 54
Hình 11 Các tr ng h p c a đ ng phân cách 55
Hình 12 Bi u di n nhi u ch đ khác nhau trong ph ng pháp SVM 55
Hình 13 Mô t ph ng pháp SVM 56
Hình 14 Ví d c n phân lo i v n b n x v i K = 3 59
Hình 15 S đ use case mô t các nghi p v ch ng d ng 60
Hình 16 S đ tu n t c a quá trình hu n luy n ch ng trình 61
Hình 17 S đ tu n t c a quá trình phân lo i v n b n 62
Hình 18 S đ tu n t c a quá trình đánh giá k t qu phân lo i 64
Hình 19 S đ tu n t c a quá trình đánh giá k t qu phân lo i 65
Hình 20 S đ tu n t c a quá trình l p ch m c 66
Hình 21 S đ tu n t c a quá trình tìm ki m 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
Trang 13H U
H
DANH M C B NG
B ng 1 Ví d m t t đi n 21
B ng 2 Các version c a tuy n t p Reuter 31
B ng 3 Th ng kê m t s ch đ trong t p Reuters 33
B ng 4 Th ng kê m t s ch đ trong t p 20-newsgroup 34
B ng 5 Các tr ng h p phân lo i 35
B ng 6 Tóm t t hi u qu c a các gi i thu t ( b i Yang & Liu) 57
B ng 7 K t qu đ t đ c c a ch ng trình demo 82
Trang 14t , báo chí và các v n b n tr c tuy n Khái ni m phân lo i v n b n đ c đ nh ngh a nh sau:
“Phân lo i v n b n (Text Categorization) là vi c quy t đ nh xem m t m u v n
b n thu c v m t ch đ nào đó trong t p ch đ cho tr c ây là ch c n ng
x lý v n b n t ng quát có ích cho vi c l p ch m c và truy xu t thông tin sau này, là m t công đo n trong h th ng x lý ngôn ng t nhiên đ phân tích n i dung và trong nhi u vai trò khác.”
X lý ngôn ng t nhiên (NLP: Natural Language Processing) là lnh v c thu c ngành trí tu nhân t o và ngôn ng h c Nó có nh ng ph ng pháp giúp cho vi c x lý, thao tác và hi u ngôn ng t nhiên m t cách d dàng và làm cho các câu l nh trong máy tính hi u đ c các ngôn ng c a nhân lo i Do đó,
nó thu hút r t nhi u nhà khoa h c nghiên c u và đã đ t đ c nh ng thành t u đáng k Sau đây là m t vài thành t u có th k đ n nh :
c v n b n (Text to Speech)
Nhân d ng ti ng nói (Speech Recognition)
Sinh ra ngôn ng t nhiên (Natural Language Generation)
Máy dch thu t (Machine Translation)
Tr l i câu h i (Question Answering)
Tìm ki m thông tin (Information Retrieval)
Trích rút thông tin (Information Extraction)
Ki m ch ng v n b n (Text-Proofing)
Trang 15Khi đó các công c ph ân lo i v n b n t đ ng r t h u ích cho ng i đ c trong
vi c t ch c d li u Do đó vi c phân lo i ti n hành b ng máy có u đi m là
hi u su t cao, có th ho t đ ng b t k lúc nào.Tuy nhiên v n đ ta c n quan tâm là đ chính xác c a h th ng
Th t v y, n u th c hi n theo cách t đ ng s t n d ng đ c kh n ng quét các
v n b n và kh n ng x lý nhanh c a máy tính Do đó hi u su t s l n h n và
đ chính xác s cao h n n u nh máy tính đ c hu n luy n t t
Trang 16H U
H
a Phân lo i v n b n theo ngôn ng
m t s trung tâm ki m duy t v n b n, s l ng v n b n nh n đ c r t l n Các v n b n này có th đ c bi u di n t các ngôn ng khác nhau Ta có th dùng các h th ng phân lo i v n b n theo ngôn ng đ gán các v n b n này vào
t ng ngôn ng c th Các chuyên gia ngôn ng s ki m duy t các v n b n này theo ngôn ng chuyên môn c a h
b Phân lo i thông tin theo ch đ
C ng gi ng nh vi c phân lo i v n b n theo ngôn ng , vi c phân lo i thông tin theo ch đ s phân chia các thông tin nhn đ c vào các ch đ khác nhau
N u vi c phân lo i này đ c th c hi n th công, ngh a là thông qua con ng i, thì s l ng chuyên gia tham gia vào vi c phân lo i là r t l n và th i gian phân
lo i c ng l n h n Vi c phân lo i th công c ng không tránh kh i ý ki n ch quan c a nh ng chuyên gia, vì v y đ chính xác c ng không cao Trong khi đó,
ph bi n trên Internet là tìm ki m Tuy nhiên, do kh i l ng thông tin r t l n nên các c máy tìm ki m (search engine) th ng t ch c d li u vào các ch đ giúp không gian tìm ki m gi m đi, qua đó t ng hi u su t c a h th ng
Ngoài ra vi c tìm ki m theo t khoá th ng không đ t đ c đ chính xác cao nên các search engine th ng k t h p v i tìm ki m theo ch đ nh m c i thi n
đ chính xác c a vi c tìm ki m
Trang 17Các v n b n c n phân lo i trong lu n v n chúng tôi gói g n trong 5 ch đ : Trí
tu nhân t o (artificial intelligence), C u trúc d li u + gi i thu t (structure and algorithm), mng máy tính (network), sinh h c (biology), bóng đá (football) Các ch đ trên đ c thu th p t các trang web đ c Google phân lo i s n do
đó m i th lo i r t đa d ng v n i dung Trong đó hai ch đ c u trúc d li u +
gi i thu t và trí tu nhân t o đ c xem là tiêu bi u nh t cho vi c phân lo i vì chúng giao nhau rt l n, thêm vào đó là ch đ m ng máy tính c ng r t g n vì chúng đi u thu c cùng m t l nh v c khoa h c máy tính Ngoài ra, các ch đ còn l i đ i di n cho các v n b n hoàn toàn khác nhau nên vic phân lo i v n
b n s d dàng h n và đ t đ chính xác cao h n Do đó m t v n b n có th thu c cùng lúc c hai ho c nhi u ch đ thì vi c phân lo i s khó kh n h n và
m c đ chính xác c ng th p h n N u gi i quy t đ c tình hu ng khó kh n trên thì vic phân lo i v n b n cho các ch đ khác s đ t đ chính xác cao
h n
Tóm l i, sau khi xây d ng thành công gi i thu t phân lo i v n b n cho các ch
đ trên, thì vi c m r ng phân lo i v n b n cho nhi u ch đ khác là đi u hoàn toàn có th t h c hi n đ c m t cách d dàng M i ch đ c n phân lo i ph i trên vài tr m v n bn m u và ph i có các chuyên gia riêng t o l p thì m i có
th đ t đ c đ chính xác cao
Trang 18g n đây, h u h t các th vi n tìm ki m thông tin (IR: Information Retrieval)
b ng Java đ u hoàn toàn mi n phí
Lucene có th t o ch m c cho b t kì thông tin d ng text nào b n mu n, sau đó
th c hi n tìm ki m theo nhi u tiêu chu n khác nhau M c dù ch làm vi c v i text, nh ng có nhi u tính n ng khác đ c cung c p đ b n có th t o index cho
v n b n Word, file PDF, XML, hay các trang HTML Lucene không quá phc
t p Nó cung c p m t khung làm vi c c b n, h tr b n xây d ng m t công c tìm ki m đ y đ ch c n ng cho website c a mình
Ta có th xem Lucene là m t t ng phía d i, giúp x lí thao tác index và search cho các ch ng trình bên trên, nh trong hình sau:
Trang 19s Lucene N u b n đang tìm m t s th c n thi t đã đ c xây d ng s n hay
m t khung làm vi c dùng cho vi c crawling, x lí v n b n, và tìm ki m, b n có
th xem t i trang Lucene Wiki lucene/PoweredBy) vi nhi u ch ng trình: Zilverline, SearchBlox, Nutch, LARM, và jSearch
(http://wiki.apache.org/jakarta-V i s phong phú c a thông tin, và th i gian là m t trong nh ng th quý giá
c a h u h t m i ng i, chúng ta c n làm cho nh ng câu truy v n tr nên linh
ho t, đ c l p, đ c bi t đ nhanh chóng c t ngang rào c n phân lo i c ng nh c
và tìm ki m chính xác sau đó đ a ra k t qu h p lý nh t theo yêu c u
Trang 20T khi đ c ph bi n r ng rãi, Lucene ngày càng đ c nhi u ng i dùng và các nhà phát tri n ng h Tháng 11 n m 2002, phiên b n Lucene 1.2 đ c phát hành, r i đ n 1.3 Ngoài nh ng t ch c đ c đ c p đ n trang "Powered by Lucene", còn có các tp chí nh FedEx, Overture, Mayo Clinic, Hewlett Packard, New Scientist magazine, Epiphany, và m t s khác
Doug Cutting, m t nhà phát tri n đ y kinh nghi m trong l nh v c text-search (tìm ki m v n b n) và công c ph c h i đã sáng t o ra Lucene Cutting là tác
gi chính c a c máy tìm ki m V-Twin và hi n nay là ki n trúc s thâm niên
t i Excite Ông đã thi t k Lucene nh m giúp vi c t o index và kh n ng tìm
ki m có th phát tri n trên nhi u ng d ng, bao g m:
Searchable email : M t ng d ng email cho phép ng i dùng tìm ki m các thông đi p đã đ c l u tr và thêm vào nh ng thông đi p m i đ
Trang 21H U
H
Content search: M t ng d ng cho phép ng i dùng tìm ki m các v n
b n đã đ c l u l i theo m t n i dung c th ; nó có th tích h p vào trong m t h p tho i m v n b n ( Open Document dialog)
Version control và content management: m t h th ng qu n lí v n
b n có th t o index cho các v n b n, hay phiên b n c a v n b n nh m
d dàng trong vi c ph c h i
T t nhiên, nhi u công c tìm ki m có th th c hi n h u h t các ch c n ng trên,
nh ng ít có công c tìm ki m mã ngu n m nào l i d dùng và linh ho t nh Lucene
Tr c tiên, b n c n đ d li u vào ng d ng tìm ki m c a mình (indexing) hay
l y d li u ra (searching)
Fields c a nó (là m t c p tên/giá tr ) và đ nó vào m t IndexWriter đ phân
tích n i dung c a các Field values thành các token và t o ra index
câu truy v n (ki u String) t ng i dùng, truy n nó cho QueryParser (và nh là QueryParser c n ph i đ c kh i t o tr c đó, có cùng lo i Analyzer khi b n xây d ng index; QueryParser s dùng Analyzer đ phân tích chu i truy n vào)
và tr v m t đ i t ng Query Sau đó, l y đ i t ng Query này dùng cho
ph ng th c IndexSearcher.search() Nó s tr v đ i t ng Hits, là m t t p
h p các đ i t ng Document đ c tìm th y i t ng Hits c ng ch a c score
cho m i Document
Trang 22t
Ví d , nh ng t nh : economics và economy s có cùng cách th hi n là econom
Nh ng đ c tính b t ngu n t nh ng t p v n b n hu n luy n đ c dùng đ t o
m t t đi n ch a nh ng t g c, nh ng t nh n d ng, và s l n m t t xu t hi n trong t p hu n luy n
Trang 23M t khi t đi n đ c t o ra nh ng vector t đi n riêng l đ c phát sinh
Mô hình không gian vector bi u di n nh ng v n b n nh nh ng vector tr ng s trong không gian n chi u t o thành mô hình bi u di n d li u c a chúng ta
Ph ng pháp này c n x lý tr c m t l ng d li u t ng đ i nh đ làm ti n ích khi chúng ta x lý m t kh i l ng d li u kh ng l
Trong mô hình này mt v n b n đ c bi u di n b ng m t vector các t v i s chi u t là t ng s t khác nhau c a t đi n
M i t (term) th i trong m t v n b n d ho c trong câu truy v n th j có m t giá tr tr ng s là wij
Ví d :
Bi u di n m t t p h p g m ba v n b n D1, D2, Q v i s chi u t = 3 ngh a là trong t đi n có 3 t là T1, T2, T3
Trang 24n
t2 22
12
2
t1 12
11
1
t 2
1
w
… w
w
D
…
…
w
D
w
… w
w
D
T
… T
Trang 25H U
H
M i dòng là m t vector bi u di n cho m t v n b n, m i ph n t wij trong ma
tr n t ng tr ng cho s xu t hi n c a m t t trong m t v n b n nào đó; wij = 0 ngh a là t đó không có trong v n b n (do m i v n b n ch ch a m t s t nào đó)
Quan sát ta th y
N u m t t xu t hi n trong v n b n càng nhi u, kh n ng t đó liên quan đ n
ch đ c a v n b n càng l n
N u m t t xu t hi n trong h u h t các v n b n, mà các v n b n đó đ u thu c các ch đ khác nhau, thì t đó không có ý ngh a đ i v i b t k m t ch đ nào
M t v n b n đ c bi u di n m i m t t p h p các t khóa Các câu truy v n
d a trên ph ng pháp Boolean là các bi u th c Boolean g m các t khóa đ c lien kt v i nhau b i các toán t AND, OR, NOT và các d u ngo c đ ch
ph m vi Ví d nh :
[[Rio & Brazil] | [Hilo & Hawaii]] & hotel & !Hilton]
D li u k t xu t là các v n b n có liên quan ho c không liên quan và không có
s p x p
ây là ph ng pháp đ c s d ng ph bi n vì nó đ n gi n, d truy v n, hình
th c rõ ràng Giá tr wij ch b ng 1 ho c 0, ngh a là t i có ho c không xu t
hi n trong v n b n j
Trang 26Hai ph ng pháp trên đu có chung nh c đi m là ch quan tâm đ n s xu t
hi n c a t i trong v n b n j, mà không quan tâm đ n s xu t hi n c a t này trong các v n b n còn l i Kh c ph c b ng ph ng pháp này b ng ý t ng là
m t t i mang ý ngh a càng l n n u t đó xu t hi n trong v n b n càng nhi u
đ ng th i ít xu t hi n trong các v n b n còn l i, giá tr wij s t l thu n v i fij
ij tf * log
w
) max( ij
ij ij
0 1
ij
ij ij
f f w
Trang 27Ph ng pháp này t ng t ph ng pháp trên, nh ng nó quan tâm đn đ dài
c a v n b n, ngh a là đ dài v n b n càng ng n thì v n b n càng ch a ít t i Trong tr ng h p các v n b n có cùng s l n xu t hi n c a t i, thì v n b n nào
có chi u dài ng n h n thì giái tr c a tr ng s wij s l n h n
Hai ph ng pháp tf x idf và tfc đ u có chung nh c đi m là giá tr c a tr ng s
ph thu c hoàn toàn vào giá tr c a fij Trong khi giá tr c a f ij có giá tr bi n thiên r t l n, đ ng th i kéo theo s bi n thiên c a wij c ng r t l n vì fij t l thu n v i wij gi m b t s bi n thiên này ng i ta thay fij b ng log2(fij + 1)
ij
ij
df
N idf
i kj
i ij
ij
df
N f
df
N f
*
Trang 28H U
H
Ph ng pháp nào d a trên lý thuy t v entropy Giá tr tr ng s wij t l thu n
v i s l n xu t hi n c a t i và entropy c a t này trong t t c các v n b n
nh ng t không có ý ngh a trong phân lo i v n b n ví d nh nh ng t k t thúc (stop-word) nh ‘and’, ‘belong to’… và r t nhi u t xu t hi n trong h u h t các
ch đ c n phân lo i N u ta đ nh ng t này trong danh sách t khóa thì chúng
s gây m t th i gian và không gian l u tr cho vi c hu n luy n và phân lo i
ik ij
ij
m
f m
f N
f w
1
2 2
log
1 1
* 1 log
=
M k
j kj
i ij
ij
df
N f
df
N f
w
1
2 2
2
2 2
log
* 1 log
log
* 1 log
ik
m
f m
f
N 1
2 2
log log
1
Trang 29H U
H
Có n m ph ng pháp dùng đ lo i b các t th a th ng đ c dùng là: ng ng
t n xu t v n b n (Document Frequency thresholding - DF), đ l i thông tin
(Information Gain.IG), thông tin t ng h (Mutual Information.MI), ph ng
pháp th ng kê 2 (CHI), đ m nh c a t (Term Strength)
Ph ng pháp này xét đ n s l n xu t hi n c a các t khóa trong các v n b n Ý
t ng c a ph ng pháp này là tính t n xu t c a t ng t khóa trong t t các v n
Ta s l n l t đ c tính giá tr đ l i thông tin c a t t c các t khóa T nào
có giá tr đ l i thông tin nh h n m t ng ng đã đ nh tr c s b lo i b kh i
danh sách t
++
−
= K
j
K j
K j
j j
j j
j
j P c P w P c w P c w P w P c w P c w c
P w
IG
)
|(log)
|()()
|(log)
|()()(log)()
(
Trang 30- I(w, c j ) là thông tin t ng h c a t khóa w v i ch đ c j
đ n gi n cho vi c tính toán, ta có công th c tính x p x sau:
Khi đó, l ng thông tin t ng h gi a w và c đ c tính theo công th c sau:
Thông tinh t ng h trung bình c a t khóa w đ i v i t t c ch đ là:
Thông tinh t ng h t i đa c a t khóa w đ i v i t t c ch đ là:
Ph ng pháp này tính đ m nh c a t w d a trên s xu t hi n c a nó trong các
v n b n liên quan Hai v n b n đ c g i là lien quan v i nhau khi giá tr cosin
c a hai vector bi u di n cho hai v n b n này (đ c trình bày trong ph n sau)
nh h n m t giá tr đ c quy đ nh tr c
( ) ( ) ( ( ) )
j
j j
c P w
P
c w P c
i
i avg w P c I w c
A
N A c
w
I j
+
× +
×
≈ log
,
Trang 31H U
H
G i x và y là hai v n b n có liên quan v i nhau, đ m nh c a t khóa w là:
Ph ng pháp này cho r ng các t càng xu t hi n nhi u trong các v n b n liên quan thì chúng càng có nhi u ý ngh a thông tin
- i l ng th ng kê (w,c) đo s phân b c a t khóa w trong ch đ c
Giá tr th ng kê χ2 trung bình trên t t c ch đ đ c tính nh sau:
avg w P c w c
1
2 2
,
χ χ
CB AD N
c
w j
+ +
+ +
2 2
χ
Trang 32T p hu n luy n ch a các v n b n đã đ c gán vào các ch đ cho tr c, dùng
đ hu n luy n gi i thu t cho “máy h c” cách nh n bi t ch đ c a các v n b n, máy h c b ng cách t p h p các t trong t p v n b n này vào c s tri th c Do
đó t p d li u cho giai đo n này c c k quan tr ng trong vi c phân lo i v n b n sau này v i c s tri th c đó
T p hi u ch nh đ c dùng đ đi u ch nh l i gi i thu t phân lo i sau khi máy đã
h c t t p hu n luy n Chú ý có m t s gi i thu t không c n t p h p này
T p ki m tra dùng đ đánh giá tính kh thi và đ chính xác c a gi i thu t phân
lo i sau khi xây d ng thành công ch ng trình
T p Reuter đ c dùng r t ph bi n trong vi c phân lo i v n b n b ng ngôn ng
ti ng Anh T t c các v n b n này g m 21578 v n b n đ c g i là
Reuters-21578, do nhóm Reuter xây dng vào n m 1987, đ a vào s d ng cho m c đích nghiên c u vào n m 1990 Các v n bn này đ c ch nh s a b i D.D Lewis và Peter Schoemaker vào 1996 vi đ nh d ng ngôn ng đánh d u t ng quát chu n SGML (Standard Generalized Markup Language) nh m làm gi m
b t s t i ngh a c a các t trong v n b n Lewis và Schoemaker tìm th y v à đã
lo i b 595 v n b n b trùng l p trong t p Reuter, đ ng th i thêm các đ nh ngh a m i K t qu đ c bi t hi n nay c a t p Reuter-21578 đ c chia làm 22
t p tin - m i t p tin ch a 1000 v n b n và lo i b g n 578 Các v n b n đ c
đ nh d ng v i các nhãn SGML đ xác đ nh các lo i v n b n khác nhau nh : title, text, places, people và topics
Tuy n t p Reuter-21450 (version 2) do Lewis ch nh s a
Trang 33c tính trong phiên b n hi n nay c a t p Reuters đ c xem là vô d ng cho
m c đính nh p li u; khi ngh đ n nh ng tính n ng nh gôm các tên ch đ thì
nó r t tai h i cho đ chính xác i u đó cho th y s c n thi t ph i đi u ch nh l i Reuter-21578 thành phiên b n phù h p h n cho vi c nh p li u Chúng ta xóa đi
nh ng v n b n không có gán nhãn, các th SGML và chia các t p v n b n m t cách tho i mái thành t p hu n luy n và t p ki m tra
T p hu n luy n dùng đ t o m t t đi n Chi ti t s trình bày trong mc 4.2
Trang 34H U
H
<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN"
CGISPLIT="TRAINING-SET" OLDID="5555" NEWID="12">
<DATE>26-FEB-1987 15:19:15.45</DATE>
<TOPICS><D>earn</D><D>acq</D></TOPICS><PLACES><D>usa</D></PLACES>
<PEOPLE></PEOPLE> <ORGS></ORGS> <EXCHANGES></EXCHANGES>
<COMPANIES></COMPANIES> <UNKNOWN> F
f0773 reutes u f BC-OHIO-MATTRESS-<OMT>-M
02-26 0095</UNKNOWN> <TEXT>
<TITLE>OHIO MATTRESS <OMT> MAY HAVE LOWER 1ST QTR NET</TITLE>
<DATELINE> CLEVELAND, Feb 26 -</DATELINE>
<BODY>Ohio Mattress Co said its first quarter, ending February
28, profits may be below the 2.4 mln dlrs, or 15 cts a share,
earned in the first quarter of fiscal 1986 The company said
any decline would be due to expenses [ ] including
conducting appraisals, in connection with the acquisitions
Reuter  </BODY>
BEGDOCID_1 OHIO MATTRESS <OMT> MAY HAVE LOWER 1ST QTR NET
Ohio Mattress Co said its first quarter, ending February 28,
profits may be below the 2.4 mln dlrs, or 15 cts a share, earned
in the first quarter of fiscal 1986 The company said any decline would be due to expenses [ ] including conducting appraisals,
in connection with the acquisitions
Trang 35Chúng ta không s d ng nh ng ch đ (ho c nh ng v n b n thu c nhi u ch
đ ) mà h u nh là nó ch a trong m t v n b n, n u v n b n này ch thu c m t
ho c m t vài ch đ đã đ c phân cho nó
đ c dùng trong nghiên c u T p 20-newsgroup không h tr đa ch đ , tuy nhiên t p d li u này l i h tr phân lo i đa c p
Trang 36c gán tp (true positive) fp (false positive) Không đ c gán fn (false negative) tn (true negative)
Trang 37th hi n gi i thu t phân l i càng đúng đ n.Giá tr này đ c tính nh sau:
tr này đ t l n nh t khi t t c các v n b n thu c ch đ đ u đ c gán vào ch
đ đó Tuy nhiên không ph i t t c các v n b n đ c gán vào m t ch đ đ u
th c s thu c v ch đ đó Giá tr Recall đ c tính nh sau:
Hai giá tr Precision và R ecall là hai giá tr có tính trái ng c nhau N u ch
d a vào m t trong hai giá tr này đ đánh giá hi u qu thì không chính xác l m
Do đó ng i ta tìm m t giá tr chung đ đánh giá Giá tr đó là thông s f do Van Rijbergen đ xu t
precision recall
fscore
11
2+
=
fn tp
tp recall
+
=
fp tp
tp precision
+
=
Trang 38tn tp accuracy
+ + +
+
=
fn fp tn tp
fn fp error
++++
=
Trang 39gi m b t nh ng yêu c u v chi phí x lý b ng m t ph ng pháp phân lo i
tr ng tâm g i là phân lo i Rocchio - gi i thu t l y thông tin n i ti ng đ c phát tri n b i Rocchio vào n m 1970 Cách ti p c n này là m t v n b n tr ng tâm cho m i ch đ , và phân nhóm các ch đ , thông qua vi c s d ng nh ng đi m
t ng đ ng b ng cách so sánh m i tính n ng c a v n b n tr ng tâm c a ch đ
đó v i nh ng v n b n th Chi phí cho vi c x lý không gi m, nh ng kh n ng
th p h n gi i thu t KNN Nh ng v n b n đã phân lo i có s càng cao thì chi phí càng l n Tr phi có nh ng d đ nh cho vi c dùng m i ch đ tr ng tâm,
nh ng cách hi n th c còn khá nghèo nàng
Thay vào đó là s gi ng nhau c a m t v n b n mà không th phân lo i cho t t
c các v n b n trong m t ch đ M t thay th t nhiên b ng cách nào đó đ l y
m t v n b n riêng đ i di n cho các ch đ g i là m u và đ so sánh v i v n b n
c n phân lo i v i m i ch đ m u khác nhau Ít nh t b ng tr c quan, cái này
ch c ph i l u vi c tính toán dùng đ so sánh v i cách ti p c n KNN m c
tr c
Bây gi chúng ta s nói đ n m t m u t t nh t đ c bi t làm c s cho vi c ti p
c n đ n gi i thu t phân lo i v n b n, đó là gi i thu t Recchio Tr c đây gi i thu t Recchio đ c thi t k thích h p cho vi c l y thông tin ph n h i
Ph n h i nh ng v n b n có ích cho ng i dùng - nh ng câu h i luôn có v n đ
th thách bên trong l nh v c l y thông tin t i u hóa cho vi c l y chính xác
nh ng v n b n đ có th phân lo i t t Gi i thu t Recchio thích h p cho vi c
l y thông tin trong l nh v c phân lo i v n b n
Ý t ng c b n đ ng sau vi c áp d ng cách ti p c n gi i thu t Recchio đ phân
i v n b n là ph i xây d ng m t vector m u cho m i ch đ M t ch đ đã
Trang 40H U
H
có vector m u là vector đ i di n cho các v n b n đ c gán cho m t ch đ này
Có m t s cách ti p c n khác liên quan đ n vi c t i u m t vector m u và m u Rocchio đ c g i ý nh m t trong s chúng
M i tr ng s trong vector m u đ c tính toán tr c và tr cho trung bình s l n
xu t hi n c a cùng tr ng s cho t t c các v n b n không xu t hi n trong m t
ch đ K t qu là m t ph ng pháp hi u qu mà d dàng th c hi n Gi i thu t Rocchio m u, trong khi ph ng pháp mô hình không gian vector và gi i thu t
ph n h i thích h p cho v n b n g c và l c thông tin l y đ c, g m có nh ng thành ph n đ c phát hi n nh m đ ngh cho nh ng cách th c hi n khác nhau
m t cách đa d ng n u có th
M u cho m i ch đ đ c tính nh tr ng s khác nhau gi a t ng c a t t c các
v n b n hu n luy n thu c và không thu c ch đ đó
3.1.2 Giai đo n hu n luy n
Gi i thu t Rocchio đ c xây d ng cho m i ch đ trong t p hu n luy n m t vector m u Vector m u này s đ i di n cho t t c các v n b n trong ch đ đó
V n b n c n phân lo i s đ c so sánh v i vector m u này N u đ gi ng nhau
v n b n không ph i trong ch đ C knày
Vector m u c k c a ch đ k đ c xây d ng nh sau:
ik k
C
w C