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

Phân loại văn bản dùng thuật toán Bayes

41 979 0

Đ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 41
Dung lượng 1,29 MB

Nội dung

Đề tài: Phân loại văn bản dùng thuật toán Bayes LỜI NÓI ĐẦU Thống kê (toán học) là bộ môn toán học rất quan trọng và có nhiều ứng dụng to lớn trong thực tế, giúp con người rút ra thông tin từ dữ liệu quan sát, nhằm giải quyết các bài toán thực tế trong cuộc sống. Ngày nay , sự bùng nổ thông tin do bị tác động bởi sự xuất hiện của các siêu phương tiện và World Wide Web (WWW) đã làm cho không gian dữ liệu gia tăng thường xuyên, điều này tạo ra một thách thức cho các hệ thống truy vấn thông tin sao cho có hiệu qủa. Một trong những khó khăn mà các hệ thống thông tin thường phải gặp đó là tần suất cập nhật của các thông tin qúa lớn. Phương thức sử dụng giấy trong giao dịch đang dần được số hóa, do nhiều tính năng vượt trội mà phương thức này mang lại, như là có thể lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm một cách nhanh chóng. Do đó số lượng văn bản số hóa ngày nay đang tăng dần theo cấp số nhân, cùng với sự gia tăng của số lượng văn bản, nhu cầu tìm kiếm văn bản cũng tăng theo, khi đó phân loại văn bản tự động là một yêu cầu cấp thiết được đặt ra. Phân loại văn bản giúp sẽ giúp chúng ta tìm kiếm thông tin một cách nhanh chóng hơn thay vì phải tìm lần lượt trong từng văn bản, hơn nữa khi mà số lượng văn bản đang gia tăng một cách nhanh chóng thì thao tác tìm lần lượt trong từng văn bản sẽ mất rất nhiều thời gian, công sức và là một công việc nhàm chán và không khả thi. Chính vì thế nhu cầu phân loại văn bản tự động là thực sự cần thiết. Trang 1 Đề tài: Phân loại văn bản dùng thuật toán Bayes MỤC LỤC MỤC LỤC 2 DANH MỤC HÌNH ẢNH 4 DANH MỤC BẢNG BIỂU 5 CHƯƠNG 1: CÁC HƯỚNG TIẾP CẬN PHÂN LOẠI VĂN BẢN 6 1.1. Biểu diễn văn bản 6 1.2. Các phương pháp phân loại văn bản 7 1.2.1. Phương pháp SVM – Support Vector Machine 7 1.2.2. Phương pháp K – Nearest Neighbor ( kNN) 8 1.2.3. Phương pháp Naïve Bayes (NB) 9 1.2.4. Phương pháp Linear Least Square Fit – LLSF 11 1.2.5. Phương pháp Centroid – based vector 12 1.2.6. Kết luận 13 CHƯƠNG 2: CÁC HƯỚNG TIẾP CẬN TÁCH TỪ 15 2.1. Các hướng tiếp cận dựa trên từ 15 2.2. Các hướng tiếp cận dựa trên kí tự 16 CHƯƠNG 3: PHÂN LOẠI VĂN BẢN TIẾNG VIỆT 17 3.1. Tách từ trong văn bản 17 3.2. Xác định từ loại của từ 18 3.3. Loại bỏ các từ tầm thường 18 3.4. Phương pháp trích rút đặc trưng văn bản 19 3.4.1. Các ý tưởng cơ bản 19 3.4.2. Phương pháp truyền thống rút trích đặc trưng văn bản 20 3.4.3. Phương pháp rút trích đặc trưng đề nghị sử dụng 21 Trang 2 Đề tài: Phân loại văn bản dùng thuật toán Bayes CHƯƠNG 4: SỬ DỤNG THUẬT TOÁN NAIVE BAYES ĐỂ PHÂN LOẠI VĂN BẢN 23 4.1. Lý do chọn Naïve Bayes 23 4.2. Áp dụng cho bài toán phân loại văn bản 23 5.2. Phân loại văn bản 29 CHƯƠNG 6: GIAO DIỆN VÀ THỰC NGHIỆM 34 6.2. Cơ sở dữ liệu 34 6.3. Thuật ngữ chuyên ngành 36 6.4. Thiết kế giao diện chương trình 36 Trang 3 Đề tài: Phân loại văn bản dùng thuật toán Bayes DANH MỤC HÌNH ẢNH Trang 4 Đề tài: Phân loại văn bản dùng thuật toán Bayes DANH MỤC BẢNG BIỂU Trang 5 Đề tài: Phân loại văn bản dùng thuật toán Bayes CHƯƠNG 1: CÁC HƯỚNG TIẾP CẬN PHÂN LOẠI VĂN BẢN 1.1. Biểu diễn văn bản Như đã trình bày ở phần trên, bước đầu tiên trong quy trình phân loại văn bản là thao tác chuyển văn bản đang được mô tả duới dạng chuỗi các từ thành một mô hình khác, sao cho phù hợp với các thuật toán phân loại ,thông thường nguời ta thường biểu diễn văn bản bằng mô hình vector. Ý tưởng của mô hình này là xem mỗi một văn bản (D i ) được biểu diễn theo dạng ( ) i, d D i i = , trong đó i là chỉ số dùng để nhận diện văn bản này và d i là vector đặc trưng của văn bản D i này, trong đó: ), ,,( www d in2i1i i = , và n là số luợng đặc trưng của vector văn bản, w ij là trọng số của đặc trưng thứ j, { } n1,2, ,j∈ . Một vấn đề cần quan tâm khi biểu diễn văn bản theo vector đặc trưng chính là việc chọn lựa đặc trưng và số chiều cho không gian vector. Cần phải chọn bao nhiêu từ , là các từ nào, phương pháp chọn ra sao ?. Đây là câu hỏi chúng ta phải trả lời trong quá trình chuyển văn bản sang thành vector, có nhiều cách tiếp cận khác nhau để trả lời cho câu hỏi này, tiêu biểu là sử dụng phương pháp Information Gain, phương pháp DF – Thresolding hay phương pháp Term Strength. Phương pháp Information Gain sử dụng độ đo MI ( Mutual Information) để chọn ra tập từ khóa đặc trưng có độ đo MI cao nhất. Tuy nhiên, việc chọn lựa phương pháp nào thì tuỳ thuộc vào độ thích hợp, phù hợp của phương pháp, của độ đo mà phương pháp đó sử dụng so với bài toán mà chúng ta đang xem xét giải quyết, có thể là nếu văn bản là một trang web thì sẽ có phương pháp để chọn lựa đặc trưng khác so với các văn bản loại khác. Các đặc trưng của văn bản khi biểu diễn dưới dạng vector: - Số nhiều không gian đặc trưng thường lớn. - Các đặc trưng độc lập nhau. - Các đặc trưng rời rạc: vector đặc trưng d i có thể có nhiều thành phần mang giá trị 0 do có nhiều đặc trưng không xuất hiện trong văn bản d i (nếu chúng ta tiếp cận theo cách sử dụng giá trị nhị phân 1, 0 để biểu diễn cho việc có xuất hiện hay không một đặc trưng nào đó trong văn bản đang được biểu diễn thành vector), tuy nhiên nếu đơn thuần cách Trang 6 Đề tài: Phân loại văn bản dùng thuật toán Bayes tiếp cận sử dụng giá trị nhị phân 0, 1 này thì kết qủa phân loại phần nào hạn chế là do có thể đặc trưng đó không có trong văn bản đang xét nhưng trong văn bản đang xét lại có từ khóa khác với từ đặc trưng nhưng có ngữ nghĩa giống với từ đặc trưng này, do đó một cách tiếp cận khác là không sử dụng số nhị phân 0, 1 mà sử dụng giá trị số thực để phần nào giảm bớt sự rời rạc trong vector văn bản. 1.2. Các phương pháp phân loại văn bản 1.2.1. Phương pháp SVM – Support Vector Machine SVM là phương pháp phân loại rất hiệu qủa được Vapnik giới thiệu năm 1995 . Ý tưởng của phương pháp là cho trước một tập huấn luyện được biểu diễn trong không gian vector, trong đó mỗi một văn bản được xem như một điểm trong không gian này .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 , tạm gọi là lớp + ( cộng ) và lớp – ( trừ). Chất lượng của siêu mặt phẳng này được quyết định bởi một khoảng cách ( được 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ì càng có sự phân chia tốt các điểm ra thành hai lớp, nghĩa là sẽ đạt được kết qủa phân loại tốt. Mục tiêu của thuật toán SVM là tìm được khoảng cách biên lớn nhất để tạo kết qủa phân loại tốt . Hình 1. 1: Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và – Có thể nói 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 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ố khi phân loại là thấp nhất, nghĩa là kết qủa phân loại sẽ cho kết qủa tốt nhất . Phương trình siêu mặt phẳng chứa vector d i trong không gian như sau : Trang 7 Đề tài: Phân loại văn bản dùng thuật toán Bayes 0b w . d i =+ → →        <+ → → − >+ → → + =         → → =         → 0b w . d i , 0bw. d i , w . d i sign d i h Như thế vector h(d i ) biểu diễn sự phân lớp của vector d i vào hai lớp . Gọi Y i mang giá trị +1 hoặc -1, khi đó Y i = +1 văn bản tương ứng với vector d i thuộc lớp + và ngược lại nó sẽ thuộc vào lớp - . Khi này để có siêu mặt phẳng h ta sẽ giải bài toán sau : Tìm Min w → với w → và b thỏa điều kiện : 1b))w d i (sign( y i :n1,i ≥+−∈∀ Chúng ta thấy rằng SVM là mặt phẳng quyết định chỉ phụ thuộc vào các vector hỗ trợ có khoảng cách đến mặt phẳng quyết định là 1/w i . Khi các điểm khác bị xóa đi thì thuật toán vẫn cho kết qủa 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, 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ả. 1.2.2. Phương pháp K – Nearest Neighbor ( kNN) kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua . kNN được đánh giá là một trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản . Ý tưởng của phương pháp này đó là khi cần phân loại một văn bản mới , thuật toán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide , Cosine , Manhattan , …) 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 nearest neighbor – k láng giềng gần nhất , sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đó , trọng số của một chủ đề chính là tổng tất cả cá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 không xuất hiện trong k láng giềng sẽ có trọng số bằng 0 . Sau đó các Trang 8 Đề tài: Phân loại văn bản dùng thuật toán Bayes chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại. Trọng số của chủ đề c j đối với văn bản x được tính như sau : b j c j , d i y. {kNN} d i d i , x simc j x, W −       → ∑ ∈ →         → → =         → Trong đó : y (d i , c) thuộc {0,1} , với : - y = 0 : văn bản d i không thuộc về chủ đề c j - y = 1 : văn bản d i thuộc về chủ đề c j sim (x , d) : độ giống nhau giữa văn bản cần phân loại x và văn bản d . Chúng ta có thể sử dụng độ đo cosine để tính khoảng cách : d i x d i . x d i , x cos d i , x sim → → → → =         → → =         → → - b j là ngưỡng phân loại của chủ đề c j được tự động học sử dụng một tập văn bản hợp lệ được chọn ra từ tập huấn luyện. Để chọn được tham số k tốt nhất cho thao tác phân loại , thuật toán cần được chạy thử nghiệm trên nhiều giá trị k khác nhau , giá trị k càng lớn thì thuật toán càng ổn định và sai sót càng thấp . 1.2.3. Phương pháp Naïve Bayes (NB) Naïve Bayes (NB) là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi trong lĩnh vực máy học [Mitchell, 1996] [Joachims, 1997] [Jason, 2001], được sử dụng lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm 1961 [Maron, 1961] sau đó trở Trang 9 Đề tài: Phân loại văn bản dùng thuật toán Bayes nên phổ biến dùng trong nhiều lĩnh vực như trong các công cụ tìm kiếm [Rijsbergen et al, 1970], các bộ lọc email [Sahami et al, 1998]… NB là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi trong lĩnh vực máy học và nhiều lĩnh vực khác như trong các công cụ tìm kiếm , các bộ lọc mail … Ý tưởng cơ bản của cách tiếp cận này là sử dụng xác suất có điều kiện giữa từ hoặc cụm từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân loại.Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau. Như thế NB không tận dụng được sự phụ thuộc của nhiều từ vào một chủ đề cụ thể . Chính giả định đó làm cho việc tính toán NB hiệu qủa và nhanh chóng hơn các phương pháp khác với độ phức tạp theo số mũ vì nó không sử dụng cách kết hợp các từ để đưa ra phán đoán chủ đề. Thuật toán Naïve Bayes dựa trên định lý Bayes được phát biểu như sau: Áp dụng trong bài toán phân loại, các dữ kiện gồm có:  D: tập dữ liệu huấn luyện đã được vector hóa dưới dạng  C i : phân lớp i, với i = {1,2,…,m}.  Các thuộc tính độc lập điều kiện đôi một với nhau. Theo định lý Bayes: Theo tính chất độc lập điều kiện: Trong đó:  là xác suất thuộc phân lớp i khi biết trước mẫu X. Trang 10 [...]... thut toỏn Bayes xỏc sut l phõn lp i xỏc sut thuc tớnh th k mang giỏ tr xk khi ó bit X thuc phõn lp i Cỏc bc thc hin thut toỏn Naùve Bayes: Bc 1: Hun luyn Naùve Bayes (da vo tp d liu), tớnh Bc 2: Phõn lp v , ta cn tớnh xỏc sut thuc tng phõn lp khi ó bit trc Xnew Xnew c gỏn vo lp cú xỏc sut ln nht theo cụng thc Ngoi ra cũn cú cỏc phng phỏp NB khỏc cú th k ra nh ML Naùve Bayes, MAP Naùve Bayes, Expected... t Nu mc ph ny ln hn ngng T ó c nh ngha trc thỡ dng Ngc li thỡ t lower = lower 1 v upper = upper + 1 v quay li bc 4 Trang 22 ti: Phõn loi vn bn dựng thut toỏn Bayes CHNG 4: S DNG THUT TON NAIVE BAYES PHN LOI VN BN 4.1 Lý do chn Naùve Bayes NB l phng phỏp phõn loi da vo xỏc sut c s dng rng rói trong lnh vc mỏy hc v nhiu lnh vc khỏc nh trong cỏc cụng c tỡm kim , cỏc b lc mail im quan trng ca phng... Var Bit Class Doc1 1 0 Math Doc2 0 1 Comp Doc3 1 1 Comp Doc4 1 0 Math Doc5 0 1 Math Trang 25 ti: Phõn loi vn bn dựng thut toỏn Bayes Doc6 0 1 Docnew = (1,0) Trang 26 Comp ti: Phõn loi vn bn dựng thut toỏn Bayes Vy vn bn mi thuc lp Math 4.3 Mt s ci tin : Cỏc cụng thc chun ca Bayes trờn dựng thụng tin xỏc sut hc t tp d liu hun luyn Tuy nhiờn õy , chỳng ta ang xut s dng phng phỏp ca H.Nguyn khụng... cú u im l ci t n gin , tc thc hin thut toỏn nhanh , d dng cp nht d liu hun luyn mi v cú tớnh c lp cao vi tp hun luyn Chớnh nhng c im ú nờn Naùve Bayes c ngh s dng phõn loi vn bn 4.2 p dng cho bi toỏn phõn loi vn bn í tng: í tng c bn ca cỏch tip cn Naùve Bayes l s dng xỏc sut cú iu kin gia t v ch d oỏn xỏc sut ch ca mt vn bn cn phõn loi im quan trng ca phng phỏp ny chớnh l ch gi nh rng s xut... xỏc sut thuc tng phõn lp khi ó bit trc Xnew Xnew c gỏn vo lp cú xỏc sut ln nht theo cụng thc Ngoi ra cũn cú cỏc phng phỏp NB khỏc cú th k ra nh ML Naùve Bayes, MAP Naùve Bayes, Expected Naùve Bayes Núi chung Naùve Bayes l mt cụng c rt hiu qa trong mt s trng hp Kt qa cú th rt xu nu d liu hun luyn nghốo nn v cỏc tham s d oỏn (nh khụng gian c trng) cú cht lng kộm Nhỡn chung õy l mt thut toỏn phõn loi tuyn... ú : Trang 27 ti: Phõn loi vn bn dựng thut toỏn Bayes - p(ci) : tn s xut hin ca ch ci trờn search engine - j : ch s ca cỏc ch cn phõn loi 4.3.3 c lng P(Y|X) T 2 cụng thc trờn , chỳng ta cú cụng thc cho phõn loi vn bn s l : P(Y = ci | w1 w 2 w m)) = p( c i ) k p( w k & ci ) j p c j k p w k & c j Trang 28 ( ) ( ) ti: Phõn loi vn bn dựng thut toỏn Bayes CHNG 5: PHN LOI VN BN DA VO THUT TON LOGIC... nh sau : sim(d,cj)= 1 m à (t , c ) (8) R t d Trang 32 j ti: Phõn loi vn bn dựng thut toỏn Bayes T tng àR(t,cj) l c s tớnh lc lng tp m ca quan h R thut ng - phõn loi trờn tp thut ng trong vn bn d v phõn loi cj Nh vy sim(d,cj) = 1 Card[R(t,cj)] m iu phi chng minh Trang 33 ti: Phõn loi vn bn dựng thut toỏn Bayes CHNG 6: GIAO DIN V THC NGHIM 6.1 Xõy dng chng trỡnh phn mm Ton b ng dng c ci t trờn mụi... b.Bng tbl_Tranning (Hun luyn) : Bng 6 2: Bng tbl_Tranning (Hun luyn) Trang 34 ti: Phõn loi vn bn dựng thut toỏn Bayes c.Bng tbl_TL (T l) : Bng 6 3: Bng tbl_TL (T l) d.Bng tbl_ketqua : Bng 6 4: Bng tbl_ketqua e.Bng tbl_File: Bng 6 5: Bng tbl_File Trang 35 ti: Phõn loi vn bn dựng thut toỏn Bayes f.Kt ni c s d liu: Bng 6 6: Kt ni c s d liu 6.3 Thut ng chuyờn ngnh m bo tớnh chớnh xỏc cao trong vic xõy... thuc ca mt t lờn mt t khỏc : p( w1 | w 2) = p( w1 & w 2) p( w1) Thụng tin ph thuc ln nhau (mutual information) ca cỏc t ghộp c cu to bi n ting ( cw = w1w2wn) Trang 17 ti: Phõn loi vn bn dựng thut toỏn Bayes MI(cw) = p( w1 & w 2 & & w n ) ( ) n p w j p( w1 & w 2 & & w n ) j =1 3.2 Xỏc nh t loi ca t xỏc nh t loi ca t ting Vit , cú mt cụng trỡnh khỏ tt l VnQTag ca nhúm tỏc gi Nguyn Th Minh Huyn VnQTag... hnh loi b cỏc t tm thng (stopword) Trong mt vn bn , khụng phi tt c cỏc t u cú ng ngha tng ng nhau , v khụng phi tt c cỏc t u dựng miờu t ni dung ca vn bn Do Trang 18 ti: Phõn loi vn bn dựng thut toỏn Bayes ú trong bt k mt vn bn no thỡ chc chn s cú nhng t m khụng mang ng ngha ca vn bn, v cỏc t nh vy thỡ c gi l stopword V vỡ vy chỳng ta s loi b cỏc t ny ra khi vn bn Trong cỏc ngụn ng t nhiờn thỡ cỏc . vector đặc trưng chính là việc chọn lựa đặc trưng và số chiều cho không gian vector. Cần phải chọn bao nhiêu từ , là các từ nào, phương pháp chọn ra sao ?. Đây là câu hỏi chúng ta phải trả lời trong. Information Gain sử dụng độ đo MI ( Mutual Information) để chọn ra tập từ khóa đặc trưng có độ đo MI cao nhất. Tuy nhiên, việc chọn lựa phương pháp nào thì tuỳ thuộc vào độ thích hợp, phù hợp của. thuật toán Bayes chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại. Trọng số của chủ đề c j đối với văn bản

Ngày đăng: 03/07/2015, 14:44

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w