Ngày nay sự phát triển của máy tính đặc biệt là Internet đã dẫn tới sự bùng nổ thông tin Rất nhiều tài liệu văn bản mới được tạo ra hàng ngày với số lượng ngày càng lớn Do đó cần phải được phân loại để việc tìm kiếm được dễ dàng hơn Việc phân loại này có thể được làm thủ công đọc từng văn bản và phân loại chúng dự vào kinh nghiệm cách làm này rất mất thời gian không đáp ứng được nhu cầu và thực tế văn bản ngày càng nhiều Do đó cách phân loại tốt nhất là sử dụng học máy xử lý ngôn ngữ tự nhiên để phân loại Việc xử lý ngôn ngữ tự nhiên trong Tiếng Anh đã có nhiều nghiên cứu trên thế giới nhưng để áp dụng cho Tiếng Việt cũng có một vài điểm cần phải cải tiến ví dụ như StopWords Tách từ trong Tiếng Việt cũng khác so với Tiếng Anh Bên cạnh đó là các thuật toán phân loại nhiều thuật toán phát triển phục vụ mục đích phân loại phân nhóm văn bản Các thuật toán như K Nearest Neighbor Cây quyết định Naive Bayes và tiêu biểu thuật toán Support Vector Machine SVM Thuật toán SVM có ưu điểm đó là xử lý trong không gian số nhiều chiều tiết kiệm tài nguyên hệ thống và có tính linh hoạt cao nhờ vào khả năng áp dụng Kernel hàm nhân mới cho phép linh động giữa các phương pháp tuyến tính và phi tuyến tính từ đó khiến cho hiệu suất phân loại lớn hơn Với 1725 văn bản công văn nhà nước thu thập được được chia làm 10 lĩnh vực khác nhau luận văn tiến hành tiền xử lý số lượng văn bản Bằng cách thêm vào các từ StopWords thuộc văn bản công văn nhà nước tách từ tiếng việt sử dụng TF TDF để trích rút vector đặc trưng Sau đó sử dụng thuật toán Máy vector hỗ trợ với hàm nhân tuyến tính Linear để tạo ra Model phân loại văn bản với độ chính xác trung bình cho 10 lĩnh vực trên là 91 một số lĩnh vực cho độ chính xác rất cao đó là lĩnh vực Công nghệ thông tin Đất đai với độ chính xác là 100 Kết quả thực nghiệm cho thấy tính khả quan việc tiền xử lý văn bản sử dụng TF IDF và thuật toán Máy vector hỗ trợ khi áp dụng phân loại văn bản công văn nhà nước theo lĩnh vực
1 ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THANH XUÂN ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC Chuyên ngành : Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC SĨ KỸ THUẬT Ngƣời hƣớng dẫn khoa học: TS PHẠM MINH TUẤN Đà Nẵng - Năm 2018 LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung luận văn thực dƣới hƣớng dẫn trực tiếp TS Phạm Minh Tuấn Mọi tham khảo dùng luận văn đƣợc trích dẫn rõ ràng trung thực tên tác giả, tên cơng trình, thời gian địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, tơi xin chịu hồn tồn trách nhiệm Tác giả luận văn Nguyễn Thanh Xuân MỤC LỤC TRANG BÌA LỜI CAM ĐOAN MỤC LỤC TRANG TÓM TẮT LUẬN VĂN DANH MỤC CÁC KÝ HIỆU, CÁC CHỬ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH MỞ ĐẦU 1 Lý chọn đề tài Mục đích nghiên cứu Đối tƣợng phạm vi nghiên cứu Phƣơng pháp nghiên cứu Ý nghĩa khoa học ý nghĩa thực tiễn luận văn Cấu trúc luận văn CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu .4 1.2 Tiền xử lý văn 1.2.1 Xử lý ngôn ngữ tự nhiên 1.2.2 Biểu diễn văn dƣới dạng vector đặc trƣng .8 1.2.3 Giảm chiều liệu 11 1.3 Học máy .11 1.3.1 Khái niệm 11 1.3.2 Các phƣơng pháp học máy 13 1.4 Một số giải thuật học máy phân loại văn 14 1.5 Máy vector hỗ trợ (SVM) 15 1.5.1 Lý thuyết máy vector hỗ trợ .15 1.5.2 Hàm nhân (Kernel Function) 20 CHƢƠNG ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC 24 2.1 Bài toán thực tế 24 2.2 Phân tích thiết kế hệ thống 24 2.2.1 Mục tiêu 24 2.2.2 Mô hình hoạt động phần mềm 25 2.2.3 Chức phần mềm 25 2.3 Sử dụng máy vector hỗ trợ để phân loại 27 2.3.1 Tiền xử lý văn 27 2.3.2 Phân loại văn dựa vào máy vector hỗ trợ .34 2.3.3 Kiểm thử, đánh giá hàm phân loại 34 CHƢƠNG TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ .35 3.1 Môi trƣờng triển khai 35 3.1.1 Bài toán 35 3.1.2 Ngơn ngữ lập trình 35 3.1.3 Các thƣ viện hỗ trợ 36 3.1.4 Tập liệu training testing 37 3.1.5 Hình ảnh Demo chƣơng trình .43 3.2 Mơ hình phân loại văn 44 3.2.1 Mô hình phân loại sử dụng xử lý văn loại bỏ tất ký tự không mang nghĩa 44 3.2.2 Mơ hình phân loại sử dụng xử lý văn loại bỏ tất các ký tự đặc biệt, thay ký tự lỗi định dạng thành ký tự có nghĩa .45 3.3 Đánh giá kết 47 3.3.1 Đánh giá toán phân loại 47 3.3.2 Đánh giá mơ hình phân loại cơng văn theo lĩnh vực 48 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 52 TÀI LIỆU THAM KHẢO 53 PHỤ LỤC 55 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẠN VĂN THẠC SĨ (BẢN SAO) BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN TRANG TÓM TẮT LUẬN VĂN ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC Học viên: Nguyễn Thanh Xuân Chuyên ngành: Khoa học máy tính Mã số: 8480101 Khóa: K34 Trƣờng Đại học Bách khoa - Đại học Đà Nẵng Ngày nay, phát triển máy tính, đặc biệt Internet dẫn tới bùng nổ thông tin Rất nhiều tài liệu, văn đƣợc tạo hàng ngày với số lƣợng ngày lớn Do cần phải đƣợc phân loại để việc tìm kiếm đƣợc dễ dàng Việc phân loại đƣợc làm thủ cơng đọc văn phân loại chúng dự vào kinh nghiệm, cách làm thời gian, không đáp ứng đƣợc nhu cầu thực tế văn ngày nhiều Do đó, cách phân loại tốt sử dụng học máy, xử lý ngôn ngữ tự nhiên để phân loại Việc xử lý ngôn ngữ tự nhiên Tiếng Anh có nhiều nghiên cứu giới, nhƣng để áp dụng cho Tiếng Việt có vài điểm cần phải cải tiến ví dụ nhƣ: StopWords, Tách từ Tiếng Việt khác so với Tiếng Anh Bên cạnh thuật tốn phân loại, nhiều thuật tốn phát triển phục vụ mục đích phân loại, phân nhóm văn Các thuật tốn nhƣ K-Nearest Neighbor, Cây định, Naive Bayes tiêu biểu thuật tốn Support Vector Machine (SVM) Thuật tốn SVM có ƣu điểm xử lý khơng gian số nhiều chiều, tiết kiệm tài ngun hệ thống có tính linh hoạt cao nhờ vào khả áp dụng Kernel (hàm nhân) cho phép linh động phƣơng pháp tuyến tính phi tuyến tính từ khiến cho hiệu suất phân loại lớn Với 1725 văn công văn nhà nƣớc thu thập đƣợc, đƣợc chia làm 10 lĩnh vực khác nhau, luận văn tiến hành tiền xử lý số lƣợng văn Bằng cách thêm vào từ StopWords thuộc văn công văn nhà nƣớc, tách từ tiếng việt, sử dụng TF-TDF để trích rút vector đặc trƣng Sau sử dụng thuật tốn Máy vector hỗ trợ với hàm nhân tuyến tính Linear để tạo Model phân loại văn với độ xác trung bình cho 10 lĩnh vực 91%, số lĩnh vực cho độ xác cao lĩnh vực “Cơng nghệ thơng tin”, “Đất đai” với độ xác 100% Kết thực nghiệm cho thấy tính khả quan việc tiền xử lý văn sử dụng TF-IDF thuật toán Máy vector hỗ trợ áp dụng phân loại văn công văn nhà nƣớc theo lĩnh vực Từ khóa: Phan o i van n Tiếng Việt, Máy Vector hỗ trợ VECTOR MACHINE APPLICATION SUPPORTS SORTING DISPATCH BY FIELD ABSTRACT Today, the development of computers, especially the internet, has led to the information explosion A lot of new documents are created daily in increasing numbers Therefore, for search is easier documents should be classified The Classifies can be done manually by reading each text and categorizing them by the experience, and this way need a lot of time, does not meet the actuality of the documents increase Therefore, the best classification is to use machine learning, natural language processing to classify The natural language processing in English has had many studies in the world, but to apply for Vietnamese there are a few points to improve such as: StopWords, Word segmentation is different from English Besides the classification algorithms, many algorithms developed for the purposes of classification, clustering of the document Algorithms such as the K-Nearest Neighbor, Decision Tree, Naïve Bayes, and the Support Vector Machine (SVM) algorithm The SVM algorithm has the advantage of being able to process in multidimensional space, saving system resources and having high flexibility due to the Kernel trick capability allowing for flexibility between the linear methods Calculate and non-linear since it makes the classification efficiency greater With 1725 government documents collected, divided into 10 different categories, the thesis proceeds to pre-processing the number of documents By adding the words StopWords under the document of the government, word segmentation from the Vietnamese, use Tf–idf term weighting to Feature Extraction Then use the Support Vector Machine algorithm with Linear Kernel to create a document classification model with an average precision of 91% for the top 10 categories, some categories for that very high accuracy, are “Công nghệ thông tin”, “Đất đai” with an accuracy of 100% Experimental results show that TF-IDF's preprocessed text processing and Support Vector Machine algorithms for the classification documents by categories Keyword: Vietnamese document classification, Support Vector Machine DANH MỤC CÁC KÝ HIỆU, CÁC CHỬ VIẾT TẮT SVM Suport Vector Machine BoW Bag of Words TF-IDF Term frequency – Inverse document frequency kNN K-Nearest Neighbor CPA principle component analysis LDA linear discriminant analysis ML Machine Learning DANH MỤC CÁC BẢNG Bảng 1.1 Công thức hàm nhân SVM 23 Bảng 2.1 Ví dụ danh sách từ StopWord Tiếng Việt .29 Bảng 2.2 Top 77 từ Tiếng Việt xuất nhiều văn 30 Bảng 2.3 Từ điển từ xuất câu 31 Bảng 2.4 Bảng TF .32 Bảng 2.5 Bảng IDF .33 Bảng 2.6 Bảng TF-IDF 34 Bảng 3.1 Tập liệu training testing 37 Bảng 3.2 Kết đánh giá phân loại văn theo 10 lĩnh vực, sử dụng xử lý văn loại bỏ ký tự không mang nghĩa (PP1) 49 Bảng 3.3 Kết đánh giá phân loại văn theo 10 lĩnh vực, sử dụng xử lý văn loại bỏ ký tự đặc biệt, thay ký tự lỗi định dạng thành ký tự có nghĩa (PP2) 50 DANH MỤC CÁC HÌNH Hình 1.1: Mơ hình tốn phân loại văn bản, tài liệu Hình 1.2: StopWords .6 Hình 1.3: Tách từ Tiếng Việt Hình 1.4: Mơ Phỏng túi đựng từ (BoW) Hình 1.5: Quá trình học máy 12 Hình 1.6: Mơ hình tốn phan lớp nhị phan sử dụng SVM 18 Hình 1.7: Ứng dụng SVM toán nhạn dạng phan lớp [19] 20 Hình 1.8: Hàm nhân 21 Hình 1.9: Mơ hoạt động hàm Nhân mơ hình SVM [19] 23 Hình 2.1: User sử dụng phần mềm phân loại văn 25 Hình 2.2: Mơ hình hoạt động phần mềm phân loại 25 Hình 2.3: Quá trình tiền xử lý văn 26 Hình 2.4: Training sử dụng mơ hình SVM 26 Hình 2.5: Phân loại văn 27 Hình 3.1: Công văn lĩnh vực Giao thông vận tải 38 Hình 3.2: Cơng văn lĩnh vực Đất đai .39 Hình 3.3: Cơng văn lĩnh vực Giáo dục đào tạo 40 Hình 3.4: Cơng văn lĩnh vực Cơng nghệ thông tin 41 Hình 3.5: Cơng văn lĩnh vực Giao thơng vận tải bị lỗi Font chữ 42 Hình 3.6: Ứng dụng phân loại văn tự động Web 43 Hình 3.7: Màn hình tải văn lên để tiến hành phân loại 43 Hình 3.8: Màn hình kết phân loại 44 Hình 3.9: Phƣơng pháp xử lý văn loại bỏ tất ký tự không mang nghĩa .45 Hình 3.10: Phƣơng pháp xử lý văn loại bỏ tất các ký tự đặc biệt, thay ký tự lỗi định dạng thành ký tự có nghĩa 46 Hình 3.11: Mơ tả cách tính Precision Recall 47 Hình 3.12: Biểu đồ so sánh kết hai phƣơng pháp (PP1, PP2) 51 MỞ ĐẦU Lý chọn đề tài Trong quan hành việc phân loại văn bản, công văn theo lĩnh vực nhƣ: Công nghệ thông tin, Du lịch, Giao thông vận tải, Giáo dục đào tạo, … công việc thực hàng ngày, việc đƣợc thực văn thƣ quan, đơn vị nhiên việc tốn nhiều cơng sức có khơng xác Do tính cấp thiết cần phải có cơng cụ phân loại tự động giúp cho cơng việc đơn giản, nhanh xác Phân loại văn tự động cho phép phân loại nhanh, chi phí thấp, thực đƣợc lƣợng tài liệu lớn với độ xác chấp nhận đƣợc Phân loại văn tự động khơng cịn vấn đề năm gần Bắt nguồn từ yêu cầu thực tế nhƣ yếu tố xung quang toán phân loại nhiều giải thuật đƣợc nghiên cứu phát triển nhằm giải vấn đề đƣợc đƣa Phân loại văn toán xử lý ngơn ngữ tự nhiên nhƣng đƣợc gắn liền với học máy (Machine Learning) thuộc toán phân loại Trong học máy việc áp dụng vào tốn phân loại có nhiều phƣơng pháp nhƣ Naive Bayes, Cây định, Máy vector hỗ trợ, K-nearest neighbor, Mạng Noron nhân tạo, … Trong khuôn khổ đề tài chọn phƣơng pháp Máy vector hỗ trợ cho toán phân loại văn Các thử nghiệm thực tế cho thấy phƣơng pháp máy vector hỗ trợ khả phân loại tốt toán phân loại văn nhƣ nhiều ứng dụng khác Việc phân loại văn tự động tiếng anh đƣợc áp dụng từ lâu, nhƣng với văn tiếng việt có số khó khăn văn tiếng việt có từ ghép gây nhập nhằng mặt ngữ nghĩa trình tiền xử lý văn bản, trích chọn đặc trƣng Vì lý nhƣ tơi đề xuất chọn đề tài luận văn cao học: “Ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh vực” Mục đích nghiên cứu Xây dựng chƣơng trình có khả phân loại văn bản, công văn theo lĩnh vực (nhƣ Giáo dục đào tạo, Giao thông, Đất đai, Khiếu nại tố cáo, …) dựa việc phân tích nội dung văn thành từ khóa, trích rút đặc trƣng áp dụng máy vector hỗ trợ để học, phân loại dựa đặc trƣng Để thoả mãn mục tiêu cần đạt đƣợc mục tiêu cụ thể sau: Nghiên cứu bƣớc giải toán học máy Nắm vững lý thuyết phân lớp học máy, Máy vector hỗ trợ 57 42 "ơ" "" 43 "Ư" "" 44 "-" "" 45 "Aạ" "" 46 "ạ" "" 47 "Aả" "" 48 "ả" "" 49 "Âấ" "" 50 "ấ" , "" 51 "Âầ" "" 52 "ầ" "" 53 "Âẩ" "" 54 "È" "ẩ" 55 "¢É" "Ẫ" 56 "É" "ẫ" 57 "¢Ë" "Ậ" 58 "Ë" "ậ" 59 "¡¾" "Ắ" 60 "¾" , "ắ" 61 "¡»" "Ằ" 62 "»" "ằ" 63 "¡¼" "Ẳ" 58 64 "ẳ" "" 65 "Ăẵ" "" 66 "ẵ" "" 67 "¡Ỉ" "Ặ" 68 "Ỉ" "ặ" 69 "" "Ẹ" 70 "Đ" , "ẹ" 71 "" "Ẻ" 72 "Ỵ" "ẻ" 73 "EÏ" "Ẽ" 74 "Ï" "ẽ" 75 "£Õ" "Ế" 76 "Õ" "ế" 77 "£Ị" "Ề" 78 "Ị" "ề" 79 "£Ĩ" "Ể" 80 "Ĩ" , "ể" 81 "£Ơ" "Ễ" 82 "Ơ" "ễ" 83 "£Ö" "Ệ" 84 "Ö" "ệ" 85 "IØ" "Ỉ" 59 86 "Ø" "ỉ" 87 "IÞ" "Ị" 88 "Þ" "ị" 89 "Oä" "Ọ" 90 "ä" "ọ" 91 "Oá" "Ỏ" 92 "á" "" 93 "Ôố" "" 94 "ố" "" 95 "Ôồ" "" 96 "ồ" "" 97 "Ôổ" "" 98 "ổ" "" 99 "Ôỗ" "" 100 "ỗ" "" 101 "Ôộ" "" 102 "ộ" "ộ" 103 "¥í" "Ớ" 104 "í" "ớ" 105 "¥ê" "Ờ" 106 "ê" "ờ" 107 "¥ë" "Ở" 60 108 "ë" "ở" 109 "Ơỡ" "" 110 "ỡ" "" 111 "Ơợ" "" 112 "ỵ" "ợ" 113 "" "Ụ" 114 "ơ" "ụ" 115 "" "Ủ" 116 "đ" "ủ" 117 "¦ø" "Ứ" 118 "ø" "ứ" 119 "¦õ" "Ừ" 120 "õ" "ừ" 121 "¦ư" "Ử" 122 "ử" "" 123 "Ưữ" "" 124 "ữ" "" 125 "Ưự" "Ự" 126 "ù" "ự" 127 "Yú" "Ỳ" 128 "ú" "ỳ" 129 "Yỵ" "" 61 130 "ỵ" "" 131 "Yỷ" "" 132 "û" "ỵ" 133 "Yü" "Ỷ" 134 "ü" "ỷ" ... quan việc tiền xử lý văn sử dụng TF-IDF thuật toán Máy vector hỗ trợ áp dụng phân loại văn công văn nhà nƣớc theo lĩnh vực Từ khóa: Phan o i van n Tiếng Việt, Máy Vector hỗ trợ VECTOR MACHINE APPLICATION... loại văn 14 1.5 Máy vector hỗ trợ (SVM) 15 1.5.1 Lý thuyết máy vector hỗ trợ .15 1.5.2 Hàm nhân (Kernel Function) 20 CHƢƠNG ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG... 24 Chƣơng - ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC 2.1 BÀI TOÁN TRONG THỰC TẾ Trên sở lý thuyết đƣợc chƣơng I, luận văn tiến hành xây dựng ứng dụng phân loại văn tự động