1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng

89 455 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 3

H 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 4

H 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 5

v 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 6

H 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 7

H 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 8

H 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 9

H 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 10

H 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 11

H 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 13

H 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 14

t , 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 15

Khi đó 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 16

H 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 17

Cá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 18

g 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 19

s 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 20

T 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 21

H 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 22

t

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 23

M 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 24

n

t2 22

12

2

t1 12

11

1

t 2

1

w

… w

w

D

w

D

w

… w

w

D

T

… T

Trang 25

H 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 26

Hai 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 27

Ph 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 28

H 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 29

H 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 31

H 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 32

T 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 33

c 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 34

H 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> &#5;&#5;&#5;F

&#22;&#22;&#1;f0773&#31; reutes u f BC-OHIO-MATTRESS-&lt;OMT>-M

02-26 0095</UNKNOWN> <TEXT>&#2;

<TITLE>OHIO MATTRESS &lt;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 &#3; </BODY>

BEGDOCID_1 OHIO MATTRESS &lt;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 35

Chú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 36

c gán tp (true positive) fp (false positive) Không đ c gán fn (false negative) tn (true negative)

Trang 37

th 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 38

tn tp accuracy

+ + +

+

=

fn fp tn tp

fn fp error

++++

=

Trang 39

gi 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 40

H 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

Ngày đăng: 24/11/2014, 04:24

HÌNH ẢNH LIÊN QUAN

Hình 1. Mô hình ki n trúc c a Lucene - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 1. Mô hình ki n trúc c a Lucene (Trang 19)
Hình 2. Mô hình không gian vector 3 chi u. - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 2. Mô hình không gian vector 3 chi u (Trang 24)
Hình 3.  nh minh h a cho gi i thu t phân lo i v n b n Rocchio - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 3. nh minh h a cho gi i thu t phân lo i v n b n Rocchio (Trang 41)
Hình 4. Mình h a xác đ nh vector Q gi ng D1 hay D2 theo gi i thu t - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 4. Mình h a xác đ nh vector Q gi ng D1 hay D2 theo gi i thu t (Trang 46)
Hình 5. Cây quy t đ nh cho ch   đ  “earning” - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 5. Cây quy t đ nh cho ch đ “earning” (Trang 50)
Hình 6. Bi u đ  th  hi n hi u qu  c a vi c c t nhánh - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 6. Bi u đ th hi n hi u qu c a vi c c t nhánh (Trang 52)
Hình 7. Mô hình m t Perceptron - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 7. Mô hình m t Perceptron (Trang 53)
Hình 8. Mô hình m ng neuron - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 8. Mô hình m ng neuron (Trang 55)
Hình 10.  ng phân cách - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 10. ng phân cách (Trang 56)
Hình 11. Các tr ng h p c a đ ng phân cách - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 11. Các tr ng h p c a đ ng phân cách (Trang 57)
Hình 13. Mô t   ph ng pháp SVM - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 13. Mô t ph ng pháp SVM (Trang 58)
Hình 15. S  đ  use case mô t  các nghi p v  ch   ng d ng - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 15. S đ use case mô t các nghi p v ch ng d ng (Trang 62)
Hình 16. S  đ  tu n t  c a quá trình hu n luy n ch ng tr ình - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 16. S đ tu n t c a quá trình hu n luy n ch ng tr ình (Trang 63)
Hình 17. S  đ  tu n t  c a quá trình phân lo i v n b n - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 17. S đ tu n t c a quá trình phân lo i v n b n (Trang 64)
Hình 18. S  đ  tu n t  c a quá trình đánh giá k t qu  phân lo i - tìm hiểu về phân loại văn bản và xây dựng chương trình ứng dụng
Hình 18. S đ tu n t c a quá trình đánh giá k t qu phân lo i (Trang 66)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w