CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT
1.3 Bài toán 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.
c1
c2
K
d1 d1
d2 d2
d3 d3
D C
Phân loại
Tập văn bản Tập chủ đề
c|C|
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 bản thủ công đòi hỏi tốn nhiều công sức và thời gian của con người. Bên cạnh đó, kết quả phân loại còn phụ thuộc cả vào trình độ và cá tính của người phân loại, do đó kết quả phân loại bằng tay thường mang tính chủ quan. Một hệ thống phân loại tự động được xây dựng không những có thể thay thế hoàn toàn con người trong lĩnh vực này mà thậm chí còn cho ra các kết quả tốt hơn rất nhiều.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 12/67
Để 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 một cách tương đối máy móc, cụ thể là khi tìm thấy ở lề trên bên trái có ký hiệu “NĐ” thì hệ thống sẽ phân văn bản đó vào nhóm “Nghị định”, tương tự như vậy với các ký hiệu “CV”, “QĐ” thì hệ thống sẽ phân văn bản này vào nhóm “Công văn”, và “Quyết định”. Thuật toán này tương đối hiệu quả song lại chỉ phù hợp cho các nhóm dữ liệu tương đối đặc thù. Khi phải làm việc với các văn bản ít đặc thù hơn thì cần phải xây dựng các thuật toán phân loại dựa trên nội dung của văn bản và so sánh độ phù hợp của chúng với các văn bản đã được phân loại bởi con người. Đây là tư tưởng chính của thuật toán học máy. Trong mô hình này, các văn bản đã được phân loại sẵn và hệ thống của chúng ta phải tìm cách để tách ra đặc thù của các văn bản thuộc mỗi nhóm riêng biệt. Tập văn bản mẫu dùng để huấn luyện gọi là tập huấn luyện (train set) hay tập mẫu (pattern set), quá trình phân loại văn bản bằng tay gọi là quá trình huấn luyện (training), còn quá trình máy tự tìm đặc thù của các nhóm gọi là quá trình học (learning). Sau khi máy đã học xong, người dùng sẽ đưa các văn bản mới vào và nhiệm vụ của máy là tìm ra xem văn bản đó phù hợp nhất với nhóm nào mà con người đã huấn luyện nó.
Một trong những ứng dụng quan trọng nhất của phân loại văn bản là ứng dụng tìm kiếm văn bản. Từ tập dữ liệu đã được phân loại, các văn bản sẽ được đánh chỉ số đối với từng lớp tương ứng. Người dùng có thể xác định chủ đề mà mình muốn tìm thông qua các truy vấn.
1.3.2 Nền tảng học máy trong bài toán phân loại
Quy trình phân loại đối với bài toán phân loại văn bản dựa trên kỹ thuật học máy gồm các bước [1]:
Từ tập dữ liệu ban đầu, chuẩn bị dữ liệu huấn luyện (Training Data) và tập dữ liệu kiểm tra (Test Data).
Tiền xử lý 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 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 13/67
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. Kích thước của hai tập dữ liệu này không nhất thiết phải bằng nhau.
Giả sử D là tập tất cả các văn bản đã được phân lớp từ trước: D = {d1, d2, …, dm}, trong đó di tương ứng với văn bản thứ i. Tập các lớp C = {c1, c2, …, c|C|}, ci là kí hiệu của lớp thứ i.
Tập huấn luyện: ký hiệu tập dữ liệu huấn luyện là Tr = {d1, d2, …, dn}.
Hàm phân loại Φ cho các phân loại trong tập C được xây dựng theo quy nạp dựa trên sự quan sát các đặc trưng của các văn bản trong Tr.
Tập kiểm tra: ký hiệu tập dữ liệu kiểm tra là Te = {dn+1, dn+2, …, dm}, được sử dụng để kiểm tra hiệu quả phân lớp. Mỗi dj Te được đưa vào hệ thống phân loại để xác định giá trị hàm Φ(dj, Ci), và so sánh giá trị này với quyết định ~
(dj, Ci) của chuyên gia. Hiệu quả của việc phân loại dựa trên sự phù hợp giữa Φ(dj, Ci) và ~
(dj, Ci).
Việc chọn các tập dữ liệu huấn luyện và tập dữ liệu kiểm tra thường đảm bảo Tr
Te = . Nếu điều kiện này bị vi phạm thì kết quả đánh giá hiệu quả của mô hình sẽ mất đi yếu tố khách quan, khoa học.
Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật học máy hiện nay đều dựa vào tần suất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn bản, hoặc dựa vào tần suất xuất hiện của từ trong văn bản và tần suất văn bản (số văn bản trong tập dữ liệu huấn luyện chứa từ đó). Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả phân loại, không thể có một kết quả phân loại tốt nếu như không tách được đúng các từ trong văn bản. Bởi vậy, một vấn đề quan trọng đối với bài toán phân loại văn bản là phải tách được chính xác các từ trong văn bản. Các văn bản được viết bằng các ngôn ngữ khác nhau thì có các đặc trưng riêng của ngôn ngữ đó, và không có một phương pháp chung nào để tách các từ trong các văn bản được viết bằng các ngôn ngữ khác nhau.
1.3.3 Phương pháp máy vector hỗ trợ (Support Vector Machines)
Support Vector Machines (SVMs) là một phương pháp học máy mới, được giới thiệu bởi Vladimir Vapnick và các cộng sự vào năm 1970, nhưng lần đăng báo đầu tiên là vào năm 1995. Từ đó đến nay, nhiều kết quả nghiên cứu và thực nghiệm thấy rằng SVMs hoàn toàn phù hợp với nhiệm vụ phân loại.
Phương pháp phân loại SVMs dựa trên nền tảng học máy có giám sát, xuất phát từ lý thuyết học thống kê, và nguyên tắc tối thiểu hoá rủi ro cấu trúc (Structural Risk Minimisation), nghĩa là SVMs sẽ cố gắng tìm cách phân loại văn bản sao cho lỗi xảy ra trên tập kiểm tra là nhỏ nhất. Ý tưởng chính của phương pháp SVMs sẽ là: với một lớp văn bản cho trước, tìm một mặt phẳng phân tách tối ưu (cho sai số nhỏ nhất) chia tập dữ liệu thành hai phần, một phần thuộc phía dương của siêu phẳng thì thuộc về chủ đề văn bản đó, phần còn lại (thuộc phía âm của siêu phẳng) thì không thuộc chủ đề đó.
Ta có thể hiểu, siêu phẳng là một mặt hình học f(x) trong không gian N chiều, với x RN.
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 14/67
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 đối vớ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 riêng được xác định thông qua hai đại lượng Precision (độ chính xác) và Recall (độ bao).
Hai đại lượng được xác định như sau [25][26]:
Trong hình trên:
Tổng số văn bản được gán nhãn dương = a.
Tổng số văn bản thực sự mang nhãn dương = c.
Số văn bản được gán nhãn dương và đúng b = a ∩ c.
Khi đó:
Precision: Pr = a b , Recall: Re =
c b .
a
c b= a ∩ c
Tổng số văn bản kiểm tra Tổng số văn bản mang
nhãn dương Tổng số văn bản được
chương trình gán nhãn dương
Số văn bản được gán nhãn dương và đúng
Hình 1-7: Minh hoạ cách tính độ chính xác (precision) và độ bao (recall).
Nhận xét:
Khi độ chính xác Pr càng tiến dần đến 1 thì tập văn bản tìm được càng có nhiều phần tử thuộc tập văn bản đúng, khi đó độ chính xác càng cao. Khi độ bao Re càng tiến dần đến 1 thì tập hợp văn bản đúng càng có nhiều phần tử thuộc tập tìm được. Khi độ chính xác Pr = 1 thì tập văn bản tìm được là tập con của tập văn bản đúng, khi độ
Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 15/67
bao Re = 1 thì tập văn bản đúng là tập con của tập văn bản tìm được. Trong trường hợp lý tưởng, Pr = Re = 1 thì tập văn bản tìm được và tập văn bản đúng hoàn toàn trùng nhau, khi đó kết quả thu được là chính xác tuyệt đối.