phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)

79 650 1
phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)

Đ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

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Đề tài: Phân loại văn bản tiếng Việt sử dụng phƣơng pháp Máy Hỗ Trợ Vector (Support Vector Machine – SVMs) Giảng viên hƣớng dẫn : ThS. GIANG THỊ THU HUYỀN Sinh viên thực hiện : HOÀNG THỊ NHUNG Lớp : HTTTA Khoá : 11 (2008-2012) Hệ : CHÍNH QUY Hà Nội, tháng 6/2012 HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Đề tài: Phân loại văn bản tiếng Việt sử dụng phƣơng pháp Máy Hỗ Trợ Vector (Support Vector Machine – SVMs) Giảng viên hƣớng dẫn : ThS. GIANG THỊ THU HUYỀN Sinh viên thực hiện : HOÀNG THỊ NHUNG Lớp : HTTTA Khoá : 11 (2008-2012) Hệ : CHÍNH QUY Hà Nội, tháng 6/2012 i HỌC VIỆN NGÂN HÀNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do – Hạnh phúc KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ TÓM TẮT ĐỀ TÀI KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Họ và tên sinh viên: HOÀNG THỊ NHUNG Lớp: HTTTA Khoá: 11 (2008-2012) Ngành đào tạo: Hệ thống thông tin quản lý Hệ đào tạo: Chính quy 1/ Tên khoá luận tốt nghiệp: Phân loại văn bản tiếng Việt sử dụng phương pháp Máy Hỗ Trợ Vector (SVMs – Support Vector Machine). 2/ Nội dung chính của khoá luận:  Chương 1: Trình bày những vấn đề cơ bản là nền tảng của các bài toán xử lý văn bản nói chung và bài toán phân loại nói riêng, các vấn đề liên quan tới việc tiền xử lý văn bản tiếng Việt, các kỹ thuật khai phá dữ liệu văn bản. Cuối cùng, trình bày về bài toán phân loại văn bản và các kỹ thuật đã được áp dụng trong bài toán này, cũng như giới thiệu qua về phương pháp phân loại văn bản SVMs.  Chương 2: Trình bày chi tiết về phương pháp phân loại văn bản SVMs.  Chương 3: Trình bày nội dung phân tích, thiết kế áp dụng phương pháp phân loại SVMs vào bài toán phân loại văn bản tiếng Việt.  Chương 4: Mô tả về chương trình xây dựng và các kết quả thực nghiệm nhằm kiểm thử chất lượng phân loại của phương pháp SVMs cho văn bản tiếng Việt. 3/ Ngày nộp khoá luận : 06/06/2012 GIÁO VIÊN HƢỚNG DẪN CHỦ NHIỆM KHOA (Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên) ii MỞ ĐẦU Sự phát triển trong lĩnh vực Công nghệ thông tin hiện nay là vô cùng lớn lao, đi đôi với nó là rất nhiều ưu điểm áp dụng trong cuộc sống của loài người chúng ta. Trong kỷ nguyên công nghệ, mọi thông tin, dữ liệu trao đổi của con người (như dữ liệu văn bản, âm thanh, hình ảnh, dữ liệu multimedia, …) đều có thể số hoá, lưu trữ và khai thác trên các thiết bị điện tử, trên máy tính và mạng Internet. Sự phát triển mạnh mẽ này đã dẫn đến việc mất khả năng kiểm soát thông tin của con người trong các phương pháp truyền thống. Nhu cầu về việc khai thác thông tin nhằm lấy ra những tri thức có ích cho con người là một trong những vấn đề được nêu ra. Đó chính là mảng đề tài về Khai phá dữ liệu (Data Mining) với các bài toán: Khai phá dữ liệu văn bản (Text Mining), Khai phá dữ liệu Web (Web Mining), Khai phá dữ liệu đa phương tiện (Multimedia Mining). Bài toán Khai phá dữ liệu văn bản đóng một vai trò quan trọng trong việc xử lý thông tin của con người, nó đang được rất nhiều nơi trên thế giới nghiên cứu và phát triển, áp dụng trên nhiều ngôn ngữ khác nhau. Phân loại văn bản là một trong những bài toán quan trọng thuộc lĩnh vực khai phá dữ liệu văn bản, nó đã được nghiên cứu và triển khai thông qua rất nhiều giải thuật khác nhau như: k láng giềng gần nhất (k-NN), mạng nơron, cây quyết định, … . Kết quả thu được với các phương pháp này cũng đã đạt được nhiều thành công trên nhiều ngôn ngữ khác nhau. Ngoài các phương pháp trên, hiện nay có nhiều phương pháp khác được nghiên cứu và hứa hẹn cho những ưu điểm tối ưu hơn, trong đó có phương pháp Máy vector hỗ trợ (Support Vector Machines - SVMs). SVMs được đánh giá là phương pháp có hiệu năng phân loại rất cao trong bài toán Phân loại văn bản. Nó đã được thực nghiệm áp dụng trên các văn bản tiếng Anh, Pháp, … và thu được kết quả khá tốt. Tuy nhiên, đối với ngôn ngữ Tiếng Việt thì đây là một phương pháp hoàn toàn mới mẻ, và đang được triển khai nghiên cứu. Chính vì lý do đó, em đã lựa chọn đề tài liên quan tới bài toán này. Với việc lựa chọn bài toán Phân loại văn bản sử dụng phương pháp SVMs, em mong muốn có những đóng góp nhất định trong lĩnh vực Khai phá dữ liệu văn bản Tiếng Việt, trên cơ sở đó xây dựng một ứng dụng có thể triển khai được rộng rãi các vấn đề liên quan tới phân loại dữ liệu văn bản. iii LỜI CẢM ƠN Để hoàn thành khóa luận tốt nghiệp đại học, trước hết em xin chân thành cảm ơn Ths Giang Thị Thu Huyền đã trực tiếp giảng dậy và tận tình giúp đỡ em trong quá trình nghiên cứu. Mặc dù có nhiều cố gắng nhưng do thời thời gian và kiến thức còn hạn chế nên chắc chắn khóa luận này vẫn còn có nhiều thiếu sót. Em rất mong nhận được những ý kiến đóng góp quý báu từ thầy cô giáo và các bạn. Hà Nội, ngày 01 tháng 06 năm 2012. Sinh viên thực hiện: Hoàng Thị Nhung iv NHẬN XÉT (Của nơi thực tập) .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… v NHẬN XÉT (Của giảng viên hƣớng dẫn) .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… .………………………………………………………………………………………………… vi MỤC LỤC CHƢƠNG 1: TỔNG QUAN LÝ THUYẾT 1 1.1 Tổng quan về khai phá tri thức 1 1.1.1 Khai phá dữ liệu 1 1.1.2 Khai phá dữ liệu văn bản 2 1.1.3 Bài toán phân loại văn bản 4 1.1.4 Các khó khăn trong khai phá dữ liệu văn bản 4 1.2 Tiền xử lý và biểu diễn văn bản tiếng việt. 5 1.2.1 Tiền xử lý văn bản tiếng Việt 5 1.2.2 Tách thuật ngữ trong văn bản Tiếng Việt 5 1.2.3 Các kỹ thuật giảm chiều văn bản 7 1.2.4 Các mô hình biểu diễn văn bản 8 1.2.4.1 Mô hình không gian vector (Vector Space Model) 9 1.2.4.2 Áp dụng phương pháp vector thưa trong biểu diễn văn bản 10 1.3 Bài toán phân loại văn bản 11 1.3.1 Tổng quan phân loại văn bản 11 1.3.2 Nền tảng học máy trong bài toán phân loại 12 1.3.3 Phương pháp máy vector hỗ trợ (Support Vector Machines) 13 1.3.2 Công thức xác định hiệu năng phân loại văn bản 14 1.4 Kết chƣơng 15 CHƢƠNG 2 . PHƢƠNG PHÁP PHÂN LOẠI MÁY VECTOR HỖ TRỢ SVMs 16 2.1 Lý thuyết học thống kê 16 2.1.1 Chiều VC (Vapnik Chervonenkis Dimension) 16 2.1.2 Rủi ro trong phương pháp học máy có giám sát 17 2.1.3 Nguyên tắc tối thiểu hoá rủi ro cấu trúc 18 2.1.4 Bổ đề Vapnik 18 2.1.5 Nguyên lý nhận dạng mẫu (Pattern Recognition) 19 2.2 Phƣơng pháp máy vector hỗ trợ SVMs 20 2.2.1 SVMs trường hợp dữ liệu tuyến tính 21 2.2.2 SVMs trường hợp tuyến tính nhưng có nhiễu 23 2.2.3 SVMs trường hợp không thể phân chia tuyến tính 25 2.3 Thuật toán tìm siêu phẳng phân tách tối ƣu 27 2.3.1 Tìm tham số α* theo thuật toán 2v-SVM 27 2.3.2 Thuật toán khởi tạo các biến α 0 29 2.3.3 Đánh giá độ phức tạp của thuật toán 2v-SVM 30 2.4 Nhận xét về phƣơng pháp SVMs 31 2.5 Kết chƣơng 31 CHƢƠNG 3. THIẾT KẾ VÀ XÂY DỰNG CHƢƠNG TRÌNH 32 3.1 Lựa chọn công cụ xây dựng giải pháp 32 3.1.1 Lựa chọn môi trường 32 3.1.2 Lựa chọn ngôn ngữ lập trình 32 3.2 Phân tích và thiết kế chức năng 32 3.2.1 Xác định yêu cầu 32 3.2.2 Thiết kế chức năng 33 3.2.2.1 Chức năng phân loại văn bản 34 3.2.2.2 Chức năng tiền xử lý văn bản 35 vii 3.3 Xây dựng các chức năng 36 3.3.1 Xây dựng chức năng tiền xử lý văn bản 36 3.3.1.1 Tiền xử lý ký tự 36 3.3.1.2 Tách từ khoá, loại bỏ từ dừng trong văn bản 36 3.3.1.3 Trích chọn tập từ đặc trưng 39 3.3.1.4 Lựa chọn mô hình biểu diễn văn bản 40 3.3.1.5 Cài đặt module tiền xử lý văn bản 40 3.3.2 Xây dựng chức năng phân loại SVMs 42 3.3.2.1 Module huấn luyện SVMs 42 3.3.2.2 Module Kiểm tra SVMs 45 3.4 Kết chƣơng 47 CHƢƠNG 4. MÔ TẢ CHƢƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM 48 4.1 Mô tả chƣơng trình 48 4.1.1 Giao diện chính của chương trình 48 4.2 Kết quả thực nghiệm 50 4.2.1 Cơ sở dữ liệu thử nghiệm 50 4.2.2 Cấu hình máy tính 50 4.2.3 Thực nghiệm phân tách từ khoá 50 4.2.3.1 Thực nghiệm về tốc độ tách từ 51 4.2.3.2 Thực nghiệm về hiệu quả tách từ 52 4.3.2.3 Đánh giá về chức năng tách từ 54 4.2.4 Thực nghiệm phân loại văn bản với SVMs 54 4.2.4.1 Thực nghiệm quá trình trích chọn tập đặc trưng 55 4.2.4.2 Thực nghiệm đánh giá hiệu năng phân loại đa lớp 56 4.2.5 Nhận xét kết quả thực nghiệm 59 4.3 Kết chƣơng 59 CHƢƠNG 5. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 60 PHỤ LỤC 1: Mô tả mã nguồn của chƣơng trình 62 PHỤ LỤC 2: Hƣớng dẫn sử dụng và cài đặt chƣơng trình. 64 PHỤ LỤC 3: Mô tả nội dung đĩa CD kèm theo 65 DANH MỤC TÀI LIỆU THAM KHẢO 66 viii DANH MỤC CÁC HÌNH Hình 1-1: Quy trình Khai phá tri thức – KDD Process. 1 Hình 1-2: Mô hình chung bài toán Khai phá văn bản. 3 Hình 1-3: Ví dụ quá trình phân loại văn bản. 4 Hình 1-4: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ. 9 Hình 1-5: Mô hình phân loại văn bản tổng quát. 11 Hình 1-6: Cấu trúc phương pháp phân loại văn bản. 12 Hình 1-7: Minh hoạ cách tính độ chính xác (precision) và độ bao (recall). 14 Hình 2-1: Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu. 16 Hình 2-2: Minh hoạ các hàm {f(x)} trong không gian 2 chiều với 4 điểm dữ liệu. 17 Hình 2-3: Phân tách tuyến tính được xác định bằng mặt hình học H (w•x + b = 0). 19 Hình 2-4: Siêu phẳng phân tách tối ưu H trường hợp tuyến tính. 21 Hình 2-5: Trường hợp dữ liệu huấn luyện có nhiễu. 24 Hình 2-6: Thực hiện ánh xạ sang không gian đặc trưng kích thước 25 lớn thông qua hàm nhân. 26 Hình 3-1: Sơ đồ chức năng hệ thống xử lý văn bản. 33 Hình 3-2: Sơ đồ minh hoạ chức năng Phân loại văn bản. 34 Hình 3-4: Mô hình bộ tiền xử lý văn bản. 35 Hình 3-5: Lược đồ tiền xử lý tập dữ liệu và trích chọn tập đặc trưng. 41 Hình 3-7: Lược đồ thực hiện module huấn luyện. 43 Hình 4-1: Giao diện chính của chương trình Phân loại văn bản SVMs. 48 Hình 4-2: Giao diện chức năng huấn luyện SVMs. 49 Hình 4-3: Giao diện chức năng kiểm tra hiệu năng SVMs. 49 Hình 4-4: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo Vietnamnet. 51 Hình 4-5: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo VnExpress. . 52 [...]... diễn văn bản Cuối cùng, đề cập đến các phương pháp tối ưu được áp dụng cho bài toán phân loại văn bản Từ đó lựa chọn phương pháp Máy vector hỗ trợ Chương 2 sẽ đề cập một cách chi tiết về phương pháp Máy vector hỗ trợ Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 15/67 Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs CHƢƠNG 2 PHƢƠNG PHÁP PHÂN LOẠI MÁY VECTOR HỖ TRỢ... loại văn bản tự động, chúng ta cần một tập các văn bản được phân loại từ trước: training set là tập văn bản được phân loại trước dùng để Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 12/67 Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs huấn luyện phân loại; test set là tập văn bản được phân loại từ trước sử dụng để kiểm tra tính hiệu quả của quá trình phân loại. .. bài toán phân loại văn bản tiếng Việt Vì vậy, phương pháp phân loại văn bản tiếng Việt sử dụng phương pháp SVMs đã được lựa chọn làm nội dung nghiên cứu và cài đặt chính của báo cáo này Nội dung chi tiết của phương pháp này sẽ được trình bày cụ thể hơn trong chương 4 của báo cáo 1.3.2 Công thức xác định hiệu năng phân loại văn bản Việc đánh giá quá trình xử lý văn bản nói chung và phân loại văn bản nói... chúng, phân tích biến đổi, lấy thông tin và hiển thị Hiển thị văn bản Xử lý văn bản Tiền xử lý làm sạch Thu thập văn bản Nguồn dữ liệu Hình 1-2: Mô hình chung bài toán Khai phá văn bản Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 3/67 Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs 1.1.3 Bài toán phân loại văn bản Phân loại văn bản là quy trình gán một tài liệu văn. .. văn bản và tách từ  Biểu diễn văn bản theo định dạng có cấu trúc  Áp dụng phương pháp học đối với tập dữ liệu huấn luyện để phân loại văn bản  Sử dụng tập dữ liệu để kiểm tra để thẩm định lại phương pháp  Đánh giá hiệu quả của phương pháp học Xây dựng biểu diễn đặc trưng văn bản Huấn luyện phân lớp Đánh giá kết quả phân lớp Hình 1-6: Cấu trúc phương pháp phân loại văn bản Để xây dựng hệ thống phân. .. với vector thưa: d0 = ((0,2), (1,3)) d1 = ((0,1), (2,7), (3,4)) d2 = ((0,1), (4,3), (5,5)) 1.3 Bài toán phân loại văn bản 1.3.1 Tổng quan phân loại văn bản Phân loại văn bản được hiểu là quá trình thực hiện việc gán chủ đề có trước cho các văn bản dựa trên nội dung của chúng d1 c1 d2 c2 D d3 C K Phân loại c|C| Tập văn bản Tập chủ đề Hình 1-5: Mô hình phân loại văn bản tổng quát Công việc phân loại văn. .. Text Mining Khai phá văn bản x Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs CHƢƠNG 1: TỔNG QUAN LÝ THUYẾT Nội dung chương này sẽ trình bày những vấn đề lý thuyết về: lĩnh vực khai phá tri thức, khai phá dữ liệu văn bản, đặc biệt là bài toán phân loại văn bản Đây là những nền tảng cơ bản của các bài toán xử lý văn bản nói chung và bài toán phân loại văn bản nói riêng Tiếp... Nhung – Lớp HTTTA-K11 Trang 11/67 Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs Để xây dựng công cụ phân loại văn bản tự động người ta thường dùng các thuật toán học máy (Machine Learning) Tuy nhiên, còn có các thuật toán đặc biệt hơn dùng cho phân loại trong các lĩnh vực đặc thù Một ví dụ điển hình là bài toán phân loại công văn giấy tờ Hệ thống sẽ tìm ra đặc thù của văn bản. .. Thị Nhung – Lớp HTTTA-K11 Trang 13/67 Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs Phương pháp này đã được nghiên cứu và áp dụng khá nhiều cho bài toán phân loại văn bản tiếng Anh và một số ngôn ngữ khác, và nhiều kết quả thực nghiệm cho thấy rằng SVMs cho kết quả phân loại đạt độ chính xác cao đối với các ngôn ngữ này Mặc dù vậy, phương pháp này lại chưa được áp dụng nhiều... đó, việc xác định một văn bản x  Tr có thuộc phân loại c hay không tương ứng với việc xét dấu của siêu phẳng f với x: d  c, nếu f(x) > 0, d  c, nếu f(x) ≤ 0 Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 20/67 Khoá luận tốt nghiệp Phân loại văn bản tiếng Việt sử dụng phương pháp SVMs Ghi chú: Phương pháp phân loại SVMs còn được gọi là phương pháp phân loại nhị phân Sau đây, ta sẽ xét . diễn văn bản 10 1.3 Bài toán phân loại văn bản 11 1.3.1 Tổng quan phân loại văn bản 11 1.3.2 Nền tảng học máy trong bài toán phân loại 12 1.3.3 Phương pháp máy vector hỗ trợ (Support Vector Machines). KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Đề tài: Phân loại văn bản tiếng Việt sử dụng phƣơng pháp Máy Hỗ Trợ Vector (Support Vector Machine – SVMs) Giảng viên hƣớng dẫn. nghiệp: Phân loại văn bản tiếng Việt sử dụng phương pháp Máy Hỗ Trợ Vector (SVMs – Support Vector Machine) . 2/ Nội dung chính của khoá luận:  Chương 1: Trình bày những vấn đề cơ bản là nền

Ngày đăng: 05/11/2014, 18:39

Từ khóa liên quan

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

Tài liệu liên quan