Tài liệ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

  • Số trang: 89 |
  • Loại file: PDF |
  • Lượt xem: 148 |
  • Lượt tải: 0
sakura

Đã đăng 11429 tài liệu

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN H BỘ MÔN CÔNG NGHỆ PHẦN MỀM C LUẬN VĂN TỐT NGHIỆP U TE 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 Sinh viên thực hiện: 1. 2. Họ tên: PHAN THANH BÌNH MSSV: 10102019 Họ tên: LÊ BẠCH VŨ MSSV: 10102218 TP. HỒ CHÍ MINH NĂM HỌC: 2005-2006 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN H BỘ MÔN CÔNG NGHỆ PHẦN MỀM C LUẬN VĂN TỐT NGHIỆP U TE 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 Sinh viên thực hiện: 1. 2. Họ tên: PHAN THANH BÌNH MSSV: 10102019 Họ tên: LÊ BẠCH VŨ MSSV: 10102218 Giảng viên hướng dẫn: Ths. NGUYỄN CHÁNH THÀNH TP.HCM, THÁNG 1 NĂM 2006 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành LỜI NÓI ĐẦU Ngày nay, với 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 H U TE C gánh nặng cho con người. H 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 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 1 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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à giải 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 trong thời đại ngày nay. H độ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ự C 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 TE 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, Naïve U Bayes, Giải thuật cây quyết định, Giải thuật mạng neuron, Giải thuật Support H 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. SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 2 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành LỜI CẢM ƠN Lời cám ơn đầu tiên chúng tôi xin gởi đến Thạc sĩ Nguyễn Chánh Thành. Thầy đã tận tình hướng dẫn và định hướng cho chúng tôi từ đồ án cơ sở, đồ án chuyên ngành và nay là luận văn tốt nghiệp. Chúng tôi xin chúc thầy luôn vui 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 H 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 H U TE quá trình thực hiện đề tài này. C 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 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 3 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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 H 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 C 1.1.2. Một số ứng dụng của việc phân loại văn bản theo chủ đề .............. 14 TE 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 U 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 H 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 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 4 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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.2.5. Phương pháp thống kê χ ............................................................... 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 H 2.3.3. Tập 20-newsgroup ........................................................................... 33 C 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 TE 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 U 2.4.5. Thông số error ................................................................................. 36 Chương 3...................................................................................................................... 37 H 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 3.2.3. Giai đoạn phân loại.......................................................................... 43 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 5 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 3.2.4. Đánh giá giải thuật .......................................................................... 44 3.3. Giải thuật Naï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 H 3.4.3. Cắt nhánh cây quyết định. ............................................................... 49 3.4.4. Nhận xét.......................................................................................... 50 C 3.5. Giải thuật mạng Neuron (Neural Network) ............................................ 50 TE 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 U 3.6.1. Các mặt phân cách (Hyperplanes) ................................................... 54 3.6.2. Giải thuật Support Vector Machine................................................. 55 H 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 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 6 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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 H 4.4.3. Package textcategory.training ......................................................... 70 C 4.4.4. Package textcategory.category ........................................................ 72 4.4.5. Package store. .................................................................................. 72 TE 4.4.6. Package crawler ............................................................................... 73 4.4.7. Package index .................................................................................. 74 4.4.8. Package util ..................................................................................... 74 U 4.5. Thiết kế cơ sở dữ liệu ............................................................................. 75 4.6. Thiết kế giao diện ................................................................................... 76 H 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 4.7. Kết quả đạt được..................................................................................... 80 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 7 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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 H U TE C H 3. Tài liệu tham khảo ..................................................................................... 87 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 8 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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 Hình 9. Mô hình lan truyền dữ liệu .............................................................................. 53 Hình 10. Đường phân cách .......................................................................................... 54 C 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 TE 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 U 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 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 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 9 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành Hình 28. Package index ............................................................................................... 74 Hình 29. Package util ................................................................................................... 75 H U TE C H Hình 30. Cơ sở dữ liệu ................................................................................................. 75 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 10 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 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 H U TE C H Bảng 7. Kết quả đạt được của chương trình demo....................................................... 82 SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 11 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành Chương 1 PHÁT BIỂU VẤN ĐỀ 1.1. Giới thiệu Luận văn này trình bày về vấn đề phân loại văn bản tự động theo các chủ đề cho trước. Đề tài này đã được nghiên cứu từ đầu thập niên 1960. Kể từ đó, đề tài này đã liên tục được nghiên cứu và phát triển thông qua các thư viện điện 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 H bản thuộc về một chủ đề nào đó trong tập chủ đề cho trước. Đây là chức năng C 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 TE dung và trong nhiều vai trò khác.” Xử lý ngôn ngữ tự nhiên (NLP: Natural Language Processing) làĩnh l 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 U 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 đó, H 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 dịch 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) SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 12 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành  Tóm tắc tự động (Automatic Summarization)  Mơ hồ về ngữ nghĩa (Syntactic ambiguity)  Xử lý ngôn ngữ bằng thống kê (Statistical Natural Language Processing) Trong luận văn này chúng tôi ình tr bày là phân lo ại văn bản tự động - một hướng nghiên cứu trong lĩnh vực xử lý ngôn ngữ tự nhiên bằng thống kê. Mục tiêu của việc phân loại văn bản tự động là phải viết một chương trình có khả năng phân loại chính xác một văn bản bất kỳ (bằng tiếng Anh). 1.1.1. Động cơ thúc đẩy việc phân loại văn bản tự động Phân loại văn bản tự động đem lại rất nhiều lợi ích trong đời sống hiện nay. H Thật vậy, sự phát triển vượt bậc của Internet dẫn đến sự bùng nổ của các văn bản trực tuyến, cho nên cần phải phân loại các văn bản nhận được vào các chủ C đề khác nhau. Nếu việc phân loại văn bản cổ điển được thực hiện thủ công, nghĩa là thông TE qua con người (các chuyên gia của từng lĩnh vực), 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, điều này rất tốn kém và gây nhàm chán cho các chuyên gia này. Tuy nhiên việc U phân loại thủ công cũng không tránh khỏi những ý kiến chủ quan của những chuyên gia, vì vậy độ chính xác cũng không cao. H 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. SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 13 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 1.1.2. Một số ứng dụng của việc phân loại văn bản theo chủ đề 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 H theo chủ đề sẽ phân c hia các thông tin nhận đượ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, C 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ủ TE quan của những chuyên gia, vì vậy độ chính xác cũng không cao. Trong khi đó, 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 U sẽ cao hơn nếu như máy tính được huấn luyện tốt. c. Tìm kiếm thông tin H Việc phân loại văn bản có thể áp dụng trong các hệ thống tìm kiếm thông tin nhằm tăng hiệu suất cũng như tăng độ chính xác của việc tìm kiếm. Do sự phát triển của Internet, số lượng thông tin trực tuyến ngày càng tăng. Một thao tác 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. SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 14 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành d. Phân loại email Chức năng của một hệ thống phân loại email tự động là: - Từ chối mail theo luật. - Phân phối mail vào các folder định trước. - Chuyển mail đến địa chỉ khác. 1.2. Nội dung đề tài Trong luận văn chúng tôi tìm hiểu và áp dụng phương pháp k – Nearest Neighbour để phân loại văn bản tiếng Anh. Đối với ngôn ngữ tiếng Anh hiện nay có rất nhiều công trình liên quan như: Google, Yahoo, … H 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 C algorithm), mạng 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 TE đó 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 rất lớn, thêm vào đó là chủ đề mạng máy tính cũng rất gần vì U 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 việc phân loại văn H 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ì việc 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 bản 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. SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 15 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 1.3. Ứng dụng mở rộng - Lập chỉ mục và tìm kiếm của Lucene 1.3.1. Giới thiệu Lucene Lucene là bộ công cụ mã nguồn mở viết bằng Java hỗ trợ việc tạo chỉ mục (indexing) và tìm kiếm (searching) văn bản. Đây là bộ công cụ dễ sử dụng, linh hoạt và khá mạnh với mô hình kiến trúc hướng đối tượng. Lucene là một thành viên rất được ưa chuộng trong các dự án của Apache Jakarta. Trong vài năm 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 H text, nhưng có nhiều tính năng khác được cung cấp để bạn có thể tạo index cho C văn bản Word, file PDF, XML, hay các trang HTML. Lucene không quá ph ức 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ụ TE 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 H U cho các chương trình bên trên, như trong hình sau: SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 16 Luận văn tốt nghiệp TE C H GVHD: Th.s Nguyễn Chánh Thành Hình 1. Mô hình kiến trúc của Lucene U Một số chương trình tìm kiếm có đầy đủ chức năng được xây dựng dựa trên cơ 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 H 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 (http://wiki.apache.org/jakarta- lucene/PoweredBy) với nhiều chương trình: Zilverline, SearchBlox, Nutch, LARM, và jSearch. 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. SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 17 Luận văn tốt nghiệp GVHD: Th.s Nguyễn Chánh Thành 1.3.2. Cơ sở nền tảng của Lucene Lucene là sản phẩm sáng tạo của Doug Cutting và sẵn có trên SourceForge, cho phép mọi người download. Nó gia nhập dòng sản phẩm phần mềm Apache Software Foundation's Jakarta mã nguồn mở bằng Java vào tháng 9 năm 2001. 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ạpt chí như FedEx, Overture, Mayo Clinic, Hewlett Packard, New Scientist magazine, Epiphany, và một số khác. H 1.3.3. Mục đích, chức năng, công dụng Doug Cutting, một nhà phát triển đầy kinh nghiệm trong lĩnh vực text-search C (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 TE 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 U các thông điệp đã được lưu trữ và thêm vào những thông điệp mới để tạo index khi chúng đến. H  Online documentation search: một documentation reader -- CD, Web hay được nhúng vào một ứng dụng - cho phép người dùng tìm kiếm các văn bản hướng dẫn trực tuyến.  Searchable Webpages: Một trình duyệt Web hay máy chủ proxy có thể xây dựng một công cụ tìm kiếm riêng để tạo index cho mỗi trang Web mà người dùng đã vào, cho phép người dùng dễ dàng vào lại các trang Web đó.  Website search: Một chương trình CGI giúp người dùng tìm được Website của bạn. SVTH: Phan Thanh Bình & Lê Bạch Vũ Trang 18
- Xem thêm -