Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ

45 1.3K 12
Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ

Đ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

Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ 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 Naïve Bayes và Logic Mờ MỤC LỤC 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 19 3.4.3. Phương pháp rút trích đặc trưng đề nghị sử dụng 21 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 Trang 2 Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ 4.3. Một số cải tiến : 27 4.3.1. Ước lượng P(X|Y) 27 4.3.2. Ước lượng P(Y) 27 4.3.3. Ước lượng P(Y|X) 28 CHƯƠNG 5: PHÂN LOẠI VĂN BẢN DỰA VÀO THUẬT TOÁN LOGIC MỜ 29 5.1. Mô hình chung 29 5.2. Phân loại văn bản 29 5.2.1. Mỗi liên hệ giữa phân loại và thuật ngữ mờ 29 5.2.2. Độ đo tương tự mờ (Fuzzy Similarity Measure) 30 5.2.3. Trường hợp đặc biệt của độ đo tương tự mờ 31 CHƯƠNG 6: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 33 6.1. Mô hình useCase: 33 6.2. Đặc tả useCase: 33 6.3. Biểu đồ hoạt động của hệ thống 34 6.4. Cơ sở dữ liệu 36 6.3. Thuật ngữ chuyên ngành 38 6.4. Thiết kế giao diện chương trình 38 CHƯƠNG 7: KẾT LUẬN 43 7.1. Đánh giá về hệ thống 43 7.2. Hướng phát triển 43 Phụ lục: 44 Tài liệu tham khảo : 45 DANH MỤC HÌNH ẢNH Trang 3 Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ Trang 4 Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ 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 Naïve Bayes và Logic Mờ 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 qui 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 dạng 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ố chiề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 0, 1 để 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 Naïve Bayes và Logic Mờ 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. 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: 0b w . d i =+ → → Trang 7 Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ        <+ → → − >+ → → + =         → → =         → 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 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. Trang 8 Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ 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ở 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 … Trang 9 Đề tài: Phân loại văn bản dùng thuật toán Naïve Bayes và Logic Mờ Ý 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 quả 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.  xác suất là phân lớp i.  xác suất thuộc tính thứ k mang giá trị x k khi đã biết X thuộc phân lớp i. Các bước thực hiện thuật toán Naïve Bayes: Trang 10 [...]... ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M 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 Naùve Bayes Núi chung Naùve Bayes l mt cụng c rt hiu qa trong mt s trng hp... Trang 21 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M Bc 5 : Kim tra mc ph ca cỏc 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 Naùve Bayes v Logic M 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... thut toỏn Naùve Bayes v Logic M CHNG 6: PHN TCH THIT K H THNG 6.1 Mụ hỡnh useCase: Mụ hỡnh useCase tng quỏt: Hỡnh 6 1: Biu useCase tng quỏt h thng 6.2 c t useCase: useCase Hun luyn Trang 33 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M useCase Phõn loi vn bn: 6.3 Biu hot ng ca h thng Biu hot ng ca useCase Hun luyn Trang 34 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M Hỡnh 6... ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M - 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 Naùve Bayes v Logic M CHNG 5: PHN LOI VN BN DA VO THUT TON LOGIC M 5.1 Mụ hỡnh chung Mụ hỡnh chung ca... Doc2 0 1 Comp Doc3 1 1 Comp Doc4 1 0 Math Doc5 0 1 Math Doc6 0 1 Comp Trang 25 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M Docnew = (1,0) Trang 26 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M 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... tip cn khỏc nhau nhm nõng cao kt qa Hng tip cn ny thng kt hp gia hng da trờn thng kờ v da trờn t in nhm tn dng cỏc mt mnh ca cỏc phng phỏp ny Tuy Trang 15 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M nhiờn hng tip cn Hybrid li mt nhiu thi gian x lý, khụng gian a v ũi hi nhiu chi phớ 2.2 Cỏc hng tip cn da trờn kớ t Trong ting vit, hỡnh v nh nht l ting c hỡnh thnh bi nhiu ký t trong bng ch... Qua nhiu cụng trỡnh nghiờn cu ca cỏc tỏc gi ó c cụng b, hng tip cn tỏch t da trờn nhiu ký t, c th l cỏch tỏch t hai ký t c cho l s la chn thớch hp Trang 16 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M CHNG 3: PHN LOI VN BN TING VIT 3.1 Tỏch t trong vn bn Phng phỏp tỏch tỏch t ting Vit da trờn thng kờ t Internet v thut gii di truyn IGATEC (Internet and Genetics Algorithm based Text Categorization... 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 Naùve Bayes v Logic M 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... 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 ú trong bt k mt vn bn no chc chn s cú nhng t m khụng mang ng ngha ca Trang 18 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M vn bn, cỏc t nh vy c gi l stopword 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 mo t, gii t, liờn t l cỏc stopword Ngoi ra cng cú mt s ng t, tớnh t, phú t... w ij = 0 Do ú, vn bn dj thỡ c biu din bng vector dj, trong ú vector dj = {w j1,wj2,wj3, ., wjt} 3.4.2 Phng phỏp truyn thng rỳt trớch c trng vn bn Trang 19 ti: Phõn loi vn bn dựng thut toỏn Naùve Bayes v Logic M Theo truyn thng, mt vn bn D thỡ c biu din bng mt vector c trng theo dng (d1,d2,,dn), trong ú di l trng s ca c trng th i v n l s lng cỏc c trng Mi mt c trng tng ng vi mt t xut hin trong tp hun . 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. 0. Sau đó các 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. Trang 8 Đề tài: Phân loại văn bản dùng thuật

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan