I. Tổng quan về bài toán phân loại văn bản
Phân loại văn bản (Text Categorization) là một bài toán quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên và khai phá dữ liệu. Với sự phát triển mạnh mẽ của internet và các dịch vụ truyền thông điện tử, lượng văn bản số hoá tăng exponentially hàng ngày. Việc tự động phân loại văn bản thành các danh mục khác nhau trở nên cần thiết để giúp người dùng quản lý và tìm kiếm thông tin hiệu quả hơn. Ứng dụng phân loại văn bản rất đa dạng như lọc email spam, phân loại tài liệu, phân tích tâm luận, và các hệ thống đề xuất nội dung. Bài toán này đòi hỏi các thuật toán máy học tiên tiến để đạt độ chính xác cao.
1.1. Nhu cầu và ý nghĩa của phân loại văn bản
Sự phát triển của mạng truyền thông và dịch vụ email tạo ra khối lượng lớn thư rác (spam) và tin nhắn không mong muốn. Người dùng cần công cụ tự động để phân loại và lọc nội dung. Các phương pháp truyền thống dùng từ khoá hoặc blacklist có hiệu quả hạn chế. Do đó, phân loại dựa trên nội dung văn bản sử dụng thuật toán máy học như Naive Bayes và SVM là giải pháp hiệu quả và cần thiết.
1.2. Các thách thức trong phân loại văn bản
Phân loại văn bản gặp nhiều thách thức như đặc trưng dữ liệu cao chiều, độ thưa của ma trận từ, và sự đa nghĩa của ngôn ngữ tự nhiên. Cần tiền xử lý dữ liệu và kỹ thuật trích chọn đặc trưng tốt. Cải tiến thuật toán là chìa khóa để nâng cao độ chính xác phân loại.
II. Giải thuật Naive Bayes trong phân loại văn bản
Naive Bayes là một thuật toán học máy dựa trên định lý Bayes và giả định độc lập có điều kiện giữa các đặc trưng. Đây là phương pháp phổ biến và hiệu quả cho bài toán phân loại văn bản vì tính đơn giản, nhanh chóng và dễ cài đặt. Công thức xác suất Bayes cơ bản là: P(C|X) = P(X|C)P(C)/P(X), trong đó C là lớp văn bản và X là các từ. Luận văn tập trung nghiên cứu Multinomial Naive Bayes và các cải tiến như Weight-normalized Complement Naive Bayes (WCNB) và Transformed Weight-normalized Complement Naive Bayes (TWCNB) để cải thiện hiệu quả phân loại so với phương pháp chuẩn.
2.1. Định lý Bayes và phân bố Multinomial
Định lý Bayes là nền tảng toán học của Naive Bayes classifier. Phân bố Multinomial được sử dụng để mô hình hoá tần suất xuất hiện của các từ trong văn bản. Công thức Bayes tính xác suất một lớp C cho trước quan sát X dựa vào xác suất có điều kiện. Giả định độc lập Naive giúp giảm độ phức tạp tính toán và làm cho mô hình dễ hiểu.
2.2. Các cải tiến Naive Bayes
Multinomial Naive Bayes (MNB) là phiên bản chuẩn nhưng có độ lệch cao. Complement Naive Bayes (CNB) sử dụng bù ngược để cải thiện hiệu quả. WCNB và TWCNB là các cải tiến heuristic tiếp theo, sử dụng chuẩn hoá trọng số và biến đổi để nâng cao độ chính xác phân loại với tập dữ liệu không cân bằng.
III. Giải thuật Support Vector Machine SVM
Support Vector Machine (SVM) là một thuật toán học máy mạnh mẽ sử dụng phân tách tuyến tính trong không gian đặc trưng để phân loại dữ liệu. Lý thuyết SVM dựa vào việc tìm siêu phẳng tối ưu có khoảng lề (margin) cực đại. Các khái niệm quan trọng bao gồm điều kiện Karush-Kuhn-Tucker (KKT) và lý thuyết đối ngẫu (Duality). SVM phi tuyến sử dụng hàm nhân (kernel function) để ánh xạ dữ liệu lên không gian chiều cao, giúp giải quyết các bài toán không tách được tuyến tính. Luận văn so sánh hiệu quả của SVM với Naive Bayes trong phân loại văn bản trên các tập dữ liệu mẫu.
3.1. Nguyên lý và tối ưu hoá SVM
SVM tìm siêu phẳng tối ưu bằng cách cực tiểu hoá hàm lỗi với ràng buộc khoảng lề cực đại. Bài toán đối ngẫu (Duality) được giải quyết bằng phương pháp giảm đạo hàm. Điều kiện KKT đảm bảo nghiệm tối ưu. Soft margin cho phép lỗi phân loại tùy chỉnh để tránh overfitting.
3.2. SVM phi tuyến và hàm nhân
Hàm nhân (kernel function) như RBF kernel hoặc polynomial kernel giúp SVM xử lý dữ liệu phi tuyến. Thuật toán Sequential Minimal Optimization (SMO) được sử dụng để tối ưu hoá SVM hiệu quả. SVM đa lớp được triển khai bằng cách kết hợp SVM nhị phân.
IV. Kết quả thực nghiệm và đánh giá
Luận văn tiến hành thử nghiệm cả hai giải thuật Naive Bayes và SVM trên ba bộ dữ liệu mẫu bao gồm 20 Newsgroups, WebKB, và Reuters-21578. Phương pháp đánh giá sử dụng các chỉ số hiệu suất như độ chính xác (Accuracy), Precision, Recall, và F-measure. Kết quả cho thấy cải tiến TWCNB đạt hiệu quả gần tương đương với SVM nhưng có thời gian huấn luyện nhanh hơn đáng kể. Thực hiện kiểm chứng trên các tập dữ liệu đa dạng để đánh giá tính khái quát của mô hình.
4.1. Bộ dữ liệu và cài đặt thực nghiệm
20 Newsgroups chứa 18,846 tin nhắn từ 20 nhóm tin tức khác nhau. WebKB gồm 8,282 trang web từ 4 loại. Reuters-21578 là tập dữ liệu văn bản tin tức lớn với hàng chục danh mục. Cài đặt sử dụng Python hoặc Java với các thư viện máy học như scikit-learn.
4.2. Phân tích kết quả và kết luận
Kết quả thử nghiệm cho thấy TWCNB đạt F-measure cao trên tất cả các bộ dữ liệu. SVM vẫn là lựa chọn tốt nhất nhưng chi phí tính toán cao hơn. Naive Bayes cải tiến là giải pháp cân bằng giữa hiệu quả và tốc độ, thích hợp cho ứng dụng thực tế.