CHƯƠNG 1 TỔNG QUAN 1. 1 Giới thiệu Ngày nay, Internet đóng một vai trò quan trọng trong việc lưu trữ và truyền tải thông tin của nhân loại. Song song đó, quá trình xuất bản tài liệu dưới dạng số và phổ biến chúng thông qua Word Wide Web (thường gọi tắt là Web) đang diễn ra mạnh mẽ đã tạo nên sự bùng nổ thông tin trên Internet. Một ví dụ điển hình cho hình thức này đó là xuất bản báo điện tử, một loại hình báo chí được thực hiện trên hệ thống máy tính hay trên mạng Internet.
Với những ưu điểm của mình như: sự phong phú, cập nhật tin tức thường xuyên trong mọi lĩnh vực từ: chính trị, xã hội, kinh tế, văn hoá, giải trí, thể thao, công nghệ. nên các báo điện tử đã thu hút hàng triệu lượt truy cập mỗi ngày. Với tốc độ cập nhật tin tức nhanh chóng, nên số lượng tin tức được đăng sau một khoảng thời gian là rất lớn. Vì thế, một loại báo điện tử trở nên thịnh hành thời gian gần đây là báo tổng hợp tin tức từ các báo điện tử khác.
Loại báo điện tử này có khả năng tổng hợp các tin tức mới được cập nhật từ nhiều nguồn báo điện tử khác nhau, sau đó máy móc và phần mềm tự động phân loại, tổ chức và sắp xếp tin tức theo mục mà không cần con người biên tập. Một yêu cầu lớn đặt ra là làm thế nào để phân loại tin tức một cách tự động, vì số lượng tin tức cần phân loại là rất lớn. Do đó, bài toán phân loại tin tức tự động trên báo điện tử là vấn đề đang được quan tâm. Để máy tính có thể giúp được con người trong việc phân loại tin tức thì nó phải hiểu được nội dung mà tin tức đề cập đến.
Điều này thúc đẩy nhiều kỹ thuật và ứng dụng ra đời trong đó xử lý ngôn ngữ tự nhiên (Nature Language Processing) giúp cho máy tính phần nào hiểu được ngôn ngữ con người. Hướng tiếp cận nhằm hiểu một cách đầy đủ ngữ nghĩa của một mẫu tin tức trên Web đòi hỏi phân tích ngôn từ và văn phạm được sử dụng trong mẫu tin tức đó phải thật chuẩn xác. Nhưng đối với 1 một nơi được cho là khá tự do và hỗn độn trong truyền tải thông tin như Internet thì điều này là không khả thi. Một hướng tiếp cận khác hợp lý hơn là thay vì bắt buộc máy phải hiểu rõ nội dung của mẫu tin dưới dạng ngôn ngữ của con người thì ta chỉ cần yêu cầu chúng nắm bắt được các nội dung chính quan trọng mà mẫu tin đó thể hiện.
Ví dụ các mẫu tin tức liên quan đến chủ đề “Âm nhạc” thì tần suất xuất hiện của các từ như “liveshow”, “âm nhạc”, “ca sĩ”, “ca khúc”… thường nhiều hơn trong các mẫu tin tức liên quan đến “Thể thao”. Hay các từ “cổ phiếu”, “vn-index”, “niêm yết”, “trái phiếu”… xuất hiện nhiều hơn trong các mẫu tin về “Chứng khoán” so với chủ đề về “Ẩm thực”. Khai thác được thông tin này thì máy có thể hiểu được mẫu tin đang đề cập đến chủ đề nào, nên nó có thể phân loại được các mẫu tin tức. 2 Bài toán và phạm vi Về bản chất, các mẫu tin tức trên báo điện tử là các văn bản nhưng được lưu trữ dưới dạng số.
Do đó, bài toán phân loại tin tức trên báo điện tử chính là bài toán phân loại văn bản. Trong bài toán phân loại văn bản, người ta chia theo hai hướng: phân loại văn bản đơn nhãn (văn bản chỉ thuộc về một chủ đề) và phân loại văn bản đa nhãn (văn bản có thể thuộc về nhiều hơn một chủ đề). Một ví dụ về văn bản đa nhãn như một bài báo đề cập đến “sự kiện khai trương của một chuỗi nhà hàng khách sạn với các món ăn đặc sản miền tây” có thể được phân loại vào cả hai chủ đề “Kinh doanh” và “Ẩm thực”. Trong luận văn này, chúng tôi chỉ giải quyết bài toán phân loại văn bản đơn nhãn cho tiếng Việt theo phương pháp học có giám sát.
Để dễ dàng hơn trong việc trình bày, từ phần này trở về sau chúng tôi sử dụng thuật ngữ “phân loại văn bản” thay cho “phân loại tin tức” và “các văn bản” thay cho “các mẫu tin tức”. 3 Các công trình liên quan Trong bài toán phân loại văn bản, theo nghiên cứu của Sebastiani (2002) có hai hướng tiếp cận truyền thống: một là hướng tiếp cận được sử dụng phổ biến vào đầu những năm 80, đó là có sự trợ giúp của con người trong việc xây dựng hệ thống chuyên gia với các luật được xác định bằng tay. Các luật là các biểu thức luận lý bằng cách kết hợp các từ trong văn bản với các toán tự luận lý như AND, OR, NOT và mỗi một luật tương ứng với một loại chủ đề. Hai là đến những năm 90 thì hướng tiếp cận 2 học máy (machine learning) trở nên chiếm ưu thế hơn, hệ thống được cung cấp với một tập các văn bản đã được gán chủ đề hoặc chưa gán chủ đề.
Tập các văn bản này được sử dụng như là tập huấn luyện (training set) và sau đó một bộ phân loại được xây dựng tự động dựa trên tập huấn luyện này. Tiếng Anh là ngôn ngữ hiện đang được sử dụng khá thông dụng trên thế giới, nên các kỹ thuật phân loại cho văn bản tiếng Anh cũng được nghiên cứu khá nhiều. Theo hướng tiếp cận học máy, nhiều kỹ thuật đang được sử dụng và tỏ ra có hiệu quả khá cao chẳng hạn như: Naïve Bayes (NB), K-Nearest Neighbor (KNN), Support Vector Machine (SVM), Decision Tree (DT), Neural Network (NN), AdaBoost.MH, Genetic algorithms … các công trình nghiên cứu như Sebastiani (2002), Villena- Román và CS1 (2011) đã tổng hợp và so sánh hiệu quả của các kỹ thuật này trên cùng một tập dữ liệu như tập dữ liệu chuẩn Reuters-21578, kết quả thực nghiệm cho thấy kỹ thuật SVM và AdaBoost.MH cho hiệu suất cao nhất. Mỗi một kỹ thuật đều có những ưu điểm và khuyết điểm riêng như theo Sebastiani (2002) thì ưu điểm của hướng tiếp cận dựa trên luật là kết quả phân loại con người có thể dễ dàng hiểu được, nhưng kiến thức chuyên gia về lãnh vực đó được yêu cầu.
Và nó có nhược điểm là nếu số lượng chủ đề lên đến hàng trăm, hoặc thậm chí hàng ngàn thì hướng tiếp cận này không phù hợp. Trong khi đó, ưu điểm của hướng tiếp cận học máy chỉ cần kiến thức miền (domain knowledge) để gán chủ đề cho các văn bản trong tập huấn luyện, nhưng trong hầu hết các trường hợp thì con người không thể hiểu được. Vì vậy, rất khó để xác định nguyên nhân phân loại sai và tinh chỉnh hệ thống. Do đó, trong những năm gần đây các nhà nghiên cứu đã tìm cách kết hợp các kỹ thuật để bổ sung khuyết điểm cho nhau nhằm nâng cao kết quả phân loại như nghiên cứu của Villena-Román và CS (2011) đề xuất một hướng tiếp cận lai, đó là kết hợp giải thuật học máy dựa trên kỹ thuật KNN với hệ thống chuyên gia dựa trên luật.
Trong đó, hệ thống chuyên gia được dùng hậu xử lý và cải thiện kết quả được cung cấp bởi bộ phân loại KNN bằng cách lọc các văn bản false positive (các văn bản này thực chất không thuộc chủ đề c nhưng lại được phân loại thuộc chủ đề c) và giải quyết các văn bản false negatives (các văn bản thuộc chủ đề c nhưng bị phân loại không thuộc chủ đề c). 1 Cụm từ những Cộng sự được chúng tôi viết tắt thành CS 3 Sự kết hợp giữa kỹ thuật KNN với hệ thống chuyên gia dựa trên luật đạt được hai lợi ích: một là bộ phân loại không yêu cầu một chuyên gia để huấn luyện mà nó chỉ cần huấn luyện một tập các văn bản đã được gán chủ đề. Hai là bộ phân loại dễ dàng được tinh chỉnh bằng cách thêm các luật cụ thể cho các chủ đề bị đụng độ (the conflicting categories). Do đó, độ chính xác của nó cũng đạt được như trong hệ thống chuyên gia, kết quả đánh giá trên tập dữ liệu Reuters-21578 cho thấy hướng tiếp cận này đạt được độ chính xác ít nhất cũng có thể so sánh được với kỹ thuật SVM và AdaBoost.
Yuan và CS (2008) đề xuất giải quyết bài toán phân loại văn bản đa chủ đề bằng cách kết hợp kỹ thuật SVM và kỹ thuật KNN. Vì theo các tác giả thì hai kỹ thuật này được dùng phổ biến và đạt hiệu suất cao về cả lý thuyết và thực tế. Thông thường trong phân loại văn bản, hướng tiếp cận phổ biến của kỹ thuật SVM cho bài toán đa chủ đề là một đấu một (1-vs-1) và một đấu tất cả (rest). Cả hai hướng tiếp cận trên đều tốn nhiều thời gian và có nhiều trường hợp không thể phân tách được.
Do đó, để giải quyết vấn đề này các tác giả đã tích hợp phương pháp học tiến hóa (incremental learning method) vào trong bộ phân loại kết hợp SVM và KNN. Trong đó, KNN được tích hợp để phân loại các văn bản mà khó phân tách sau khi các văn bản đó được SVM phân loại. Theo nghiên cứu của các tác giả thì SVM chỉ cần huấn luyện trên một tập mẫu nhỏ, thường được gọi là vector hỗ trợ (support vector), thay vì toàn bộ tập huấn luyện. Nếu SVM được huấn luyện trên tập vector hỗ trợ thì thời gian huấn luyện được giảm đáng kể mà không làm giảm quá nhiều độ chính xác khi phân loại.
Do đó, các tác giả chia các mẫu trong tập vector hỗ trợ thành hai lớp: BSV (boundary support vector) và NSV (normal support vetor). BSV tương ứng với các vector văn bản mà không thể phân loại chính xác. Theo phân tích của các tác giả thì hai vấn đề chính yếu trong phương pháp học tiến hóa SVM là làm thế nào để xây dựng tập vector hỗ trợ mới từ tập huấn luyện ban đầu và làm thể nào để loại bỏ các mẫu văn bản cũ một cách tối ưu. Các tác giả đã chỉ ra rằng giải thuật SVM truyền thống loại bỏ tất cả kết quả huấn luyện trước và huấn luyện lại bộ phân loại mới trên toàn bộ tập dữ liệu đối với trường hợp học tiến hóa.
Cách làm này là quá chậm nên các tác giả đề xuất một cách khác đó là sử dụng phương pháp học lặp để tìm ra kết quả hội tụ tối ưu trên toàn bộ tập huấn luyện. Trước tiên, bộ phân loại cũ được kiểm tra trên tập dữ liệu tiến hóa mới. Những văn bản được phân loại không đúng sẽ được kết hợp với tập vector hỗ trợ hiện tại để 4 xây dựng một tập huấn luyện mới và các văn bản còn lại được xem là một tập kiểm tra mới.