Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngôn ngữ. Nhiệm vụ của bài toán này là gán các tài liệu văn bản vào nhóm các chủ đề cho trước. Đây là một bài toán rất thường gặp trong thực tế điển hình như: một nhà chuyên phân tích thị thường chứng khoán, anh ta cần phải tổng hợp rất nhiều tài liệu, bài viết về thị trường chứng khoán để đọc và đưa ra phán đoán của mình. Tuy nhiên, anh ta không thể đọc tất cả các bài viết, bài báo hay các tài liệu để rồi phân loại chúng đâu là tài liệu chứng khoán sau đó anh ta mới đọc kỹ chúng cho mục đích của anh ta. Lý do của vấn đề này là bởi vì số lượng bài viết, bài báo hiện nay rất nhiều, đặc biệt là trên internet, nếu để đọc hết được tất cả tài liệu đó thì sẽ mất rất nhiều thời gian. Một ví dụ khác trong thực tế là việc phân loại spam mail. Khi một mail được gửi đến hộp thư, nếu để người dùng phải đọc tất cả các mail thì sẽ tốn rất nhiều thời gian vì spam mail rất nhiều. Vì vậy, cần có một hệ thống phân loại đâu là spam mail và đâu là mail tốt.Để giải bài toán này đã có rất nhiều phương pháp được đưa ra như: thuật toán Naïve Bayes, KNN (KNearestNeighbor), Cây quyết định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural Network) và SVM (Support Vector Machine). Mỗi phương pháp đều cho kết quả khá tốt cho bài toán này, tuy nhiên phương pháp phân loại văn bản bằng thuật toán Bayes được sử dụng phổ biến hơn cả và dễ dàng cài đặt. Chính vì vậy chúng em lựa chọn đề tài: “Phân loại văn bản bằng thuật toán Naïve Bayes” làm đề tài kết thúc môn học của mình.Chúng em xin chân thành cảm ơn các thầy, cô bộ môn đã tận tình giảng dạy em trong suốt thời gian học tập vừa qua. Nhờ có sự chỉ dạy tận tình của thầy Đoàn Thanh Nghị trực tiếp hướng dẫn giảng dạy, cùng sự đào tạo của các thầy cô bộ môn khác trong thời gian qua giúp chúng em hoàn thành bài tiểu luận này. Do đây là lần đầu tiên triển khai một hệ thống có tính thực tiễn cao, nên quá trình triển khai có thể còn nhiều sai sót. Mong các thầy cô đóng góp ý kiến giúp chúng em hiểu rõ hơn về bài toán.
TRƯỜNG ĐẠI HỌC KHOA HỌC – ĐẠI HỌC HUẾ KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN HỌC MÁY HỌC Đề tài: PHÂN LOẠI VĂN BẢN BẰNG THUẬT TỐN NẠVE BAYES Giảng viên: TS Đoàn Thanh Nghị Lớp: Cao học KHMT-AG, 2018 Nhóm thực hiện: Phạm Hiếu Nghĩa; Đồn Văn Đông An Giang, tháng năm 2018 Tiểu luận môn học: Máy học Nhận xét giáo viên: ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… ………….…… LỜI MỞ ĐẦU Phân loại văn vấn đề quan trọng lĩnh vực xử lý ngôn ngữ Nhiệm vụ toán gán tài liệu văn vào nhóm chủ đề cho trước Đây toán thường gặp thực tế điển hình như: nhà chun phân tích thị thường chứng khoán, cần phải tổng hợp nhiều tài liệu, viết thị trường chứng khốn để đọc đưa phán đốn Tuy nhiên, đọc tất viết, báo hay tài liệu để phân loại chúng đâu tài liệu chứng khoán sau đọc kỹ chúng cho mục đích Lý vấn đề số lượng viết, báo nhiều, đặc biệt internet, để đọc hết tất tài liệu nhiều thời gian Một ví dụ khác thực tế việc phân loại spam mail Khi mail gửi đến hộp thư, để người dùng phải đọc tất mail tốn nhiều thời gian spam mail nhiều Vì vậy, cần có hệ thống phân loại đâu spam mail đâu mail tốt Để giải toán có nhiều phương pháp đưa như: thuật tốn Nạve Bayes, K-NN (K-Nearest-Neighbor), Cây định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural Network) SVM (Support Vector Machine) Mỗi phương pháp cho kết tốt cho toán này, nhiên phương pháp phân loại văn thuật toán Bayes sử dụng phổ biến dễ dàng cài đặt Chính chúng em lựa chọn đề tài: “Phân loại văn thuật tốn Nạve Bayes” làm đề tài kết thúc mơn học Chúng em xin chân thành cảm ơn thầy, cô môn tận tình giảng dạy em suốt thời gian học tập vừa qua Nhờ có dạy tận tình thầy Đoàn Thanh Nghị trực tiếp hướng dẫn giảng dạy, đào tạo thầy cô mơn khác thời gian qua giúp chúng em hồn thành tiểu luận Do lần triển khai hệ thống có tính thực tiễn cao, nên q trình triển khai nhiều sai sót Mong thầy đóng góp ý kiến giúp chúng em hiểu rõ toán Một lần chúng em xin chân thành cảm ơn thầy cô! Tiểu luận môn học: Máy học MỤC LỤC CHƯƠNG BÀI TOÁN PHÂN LOẠI VĂN BẢN 1.1 Giới thiệu .3 1.2 Phát biểu toán 1.3 Mơ hình tổng qt Hình 1.1 Mơ hình giai đoạn huấn luyện .5 Hình 1.2 Các bước giai đoạn huấn luyện Hình 1.3 Mơ hình giai đoạn phân lớp Hình 1.4 Các bước giai đoạn phân lớp .6 1.4 Mục đích phạm vi nghiên cứu CHƯƠNG CƠ SỞ XÂY DỰNG CHƯƠNG TRÌNH 2.1 Chương trình sử dụng 2.1.1 Microsoft SQL 2008 2.1.2 Microsoft Visual Studio 2010 2.2 Cơ sở lý thuyết .7 2.2.1 Tiền xử lý văn 2.2.2 Phương pháp biểu diễn văn 2.2.3 Mơ hình không gian vector .8 2.2.4 Khái niệm trọng số CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ 3.1 Phân tích 3.1.1 Yêu cầu đặt 3.1.2 Mục tiêu 3.2 Thiết kế 10 3.2.1 Kiến trúc chung .10 3.2.2 Thuật toán 10 Bảng 3.1 Ví dụ bảng liệu huấn luyện .12 Bảng 3.2 Ví dụ bảng liệu huấn luyện 15 3.2.3 Cơ sở liệu 15 Bảng 3.3 Bảng Từ Vựng 16 Bảng 3.4 Bảng Văn Bản .16 Bảng 3.5 Bảng Lĩnh Vực 16 Bảng 3.6 Bảng Huấn Luyện .17 Bảng 3.7 Bảng Chi Tiết Huấn Luyện 17 Bảng 3.8 Bảng Thống Kê 17 Bảng 3.9 Bảng Mã Hóa 18 3.2.4 Giao diện người dùng 18 CHƯƠNG KẾT QUẢ 18 Tiểu luận môn học: Máy học Hình 4.1 Giao diện chương trình .19 Hình 4.2 Giao diện chức Huấn luyện phần Huấn luyện 19 Hình 4.3 Giao diện chức Huấn luyện phần Thống kê Trích rút 20 Hình 4.4 Giao diện chức Phân loại 21 Hình 4.5 Quản lý Văn 21 Hình 4.6 Quản lý Từ vựng 22 Hình 4.7 Quản lý Lĩnh vực 23 Hình 4.8 Quản lý Mã hóa 24 Hình 4.9 Quản lý Huấn luyện 24 Hình 4.10 Quản lý Chi tiết huấn luyện 25 CHƯƠNG BÀI TOÁN PHÂN LOẠI VĂN BẢN 1.1 Giới thiệu Ngày nay, bùng nổ thông tin bị tác động xuất siêu phương tiện World Wide Web (WWW) làm cho không gian liệu gia tăng thường xuyên, điều tạo thách thức cho hệ thống truy vấn thơng tin cho có hiệu Một khó khăn mà hệ thống thơng tin thường phải gặp tần suất cập nhật thông tin lớn Phương thức sử dụng giấy giao dịch dần số hóa, nhiều tính vượt trội mà phương thức mang lại, lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm cách nhanh chóng Do số lượng văn số hóa ngày tăng dần theo cấp số nhân, với gia tăng số lượng văn bản, nhu cầu tìm kiếm văn tăng theo, phân loại văn tự động yêu cầu cấp thiết đặt Phân loại văn giúp giúp tìm kiếm thơng tin cách nhanh chóng thay phải tìm văn bản, mà số lượng văn gia tăng cách nhanh chóng thao tác tìm văn nhiều thời gian, công sức công việc nhàm chán khơng khả thi Chính nhu cầu phân loại văn tự động thực cần thiết Có nhiều cơng trình nghiên cứu phân loại văn có kết đáng khích lệ, là: Support Vector Machine, K–Nearest Neighbor, Linear Least Squares Fit, Neural Network, Naïve Bayes, Centroid Base… Điểm chung phương pháp dựa vào xác suất thống kê dựa vào trọng số từ, cụm từ văn bản.Trong phương pháp có cách tính tốn khác nhau, nhiên phương pháp phải thực số bước chung như: phương pháp dựa vào thông tin Tiểu luận môn học: Máy học xuất từ văn bản(tần số xuất tập văn bản,…) để biểu diễn thành dạng vector, sau tùy tốn cụ thể mà định chọn áp dụng phương pháp nào, cơng thức tính tốn cho phù hợp để phân loại tập văn dựa tập vector xây dựng bước trên, nhằm mục đích đạt kết qủa phân loại tốt 1.2 Phát biểu toán Bài toán phân loại văn phát biểu sau: Cho trước tập văn D={d1,d2,…,dn} tập chủ đề định nghĩa C={c1,c2,…,cn} Nhiệm vụ toán gán lớp D i thuộc Cj định nghĩa Hay nói cách khác, mục tiêu tốn tìm hàm f : 1.3 Mơ hình tổng qt Có nhiều hướng tiếp cận tốn phân loại văn nghiên cứu như: tiếp cận toán phân loại dựa lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê… Tuy nhiên, tất phương pháp dựa vào phương pháp chung máy học là: học có giám sát, học khơng giám sát học tăng cường Vấn đề phân loại văn theo phương pháp thống kê dựa kiểu học có giám sát đặc tả bao gồm giai đoạn: giai đoạn huấn luyện giai đoạn phân lớp - Giai đoạn huấn luyện Chúng ta có tập huấn luyện, phần tử tập huấn luyện gán vào nhiều lớp mà thể chúng mơ hình mã hố Thơng thường, phần tử tập huấn luyện thể theo dạng ( ) Trong đó, vector biểu diễn cho văn tập huấn luyện Sau đó, định nghĩa lớp mơ hình thủ tục huấn luyện Lớp mơ hình họ tham số phân loại, thủ tục huấn luyện giải thuật (hay thuật toán) để chọn họ tham số tối ưu cho phân loại Tiểu luận mơn học: Máy học Hình 1.1 Mơ hình giai đoạn huấn luyện Đầu vào : ngữ liệu huấn luyện thuật toán huấn luyện Đầu : mơ hình phân lớp (bộ phân lớp – classifier) Các bước giai đoạn huấn luyện: Hình 1.2 Các bước giai đoạn huấn luyện Trong : Ngữ liệu huấn luyện: kho ngữ liệu thu thập từ nhiều nguồn khác Tiền xử lý: chuyển đổi tài liệu kho ngữ liệu thành hình thức phù hợp để phân loại Vector hoá: mã hoá văn mơ hình trọng số Trích chọn đặc trưng: loại bỏ từ (đặc trưng) không mang thông tin khỏi tài liệu nhằm nâng cao hiệu suất phân loại giảm độ phức tạp thuật toán huấn luyện Thuật toán huấn luyện: Thủ tục huấn luyện phân lớp để tìm họ tham số tối ưu Đánh giá : bước đánh giá hiệu suất (chất lượng) phân lớp - Giai đoạn phân lớp Sau hồn thành giai đoạn huấn luyện, mơ hình phân lớp áp dụng cho văn cần phân loại Tiểu luận môn học: Máy học Hình 1.3 Mơ hình giai đoạn phân lớp Các bước giai đoạn phân lớp: Hình 1.4 Các bước giai đoạn phân lớp 1.4 Mục đích phạm vi nghiên cứu Mục đích: + Tìm hiểu thuật tốn Navie Bayes phạm vi ứng dụng phân loại văn + Nắm rõ chế học tập huấn luyện máy học + Xây dựng chương trình có khả phân loại văn sau tìm hiểu thuật tốn Phạm vi nghiên cứu: chương trình thực quy mơ nghiên cứu nhỏ với số lượng văn không nhiều vào khoảng