Đặt vấn đề Trong thời đại bùng nổ công nghệ thông tin hiện nay, phƣơng thức sử dụng giấy tờ trong giao dịch đã dần đƣợc số hoá chuyển sang các dạng văn bản lƣu trữ trên máy tính hoặc truyền tải trên mạng. Bởi nhiều tính năng ƣu việt của tài liệu số nhƣ: cách lƣu trữ gọn nhẹ, thời gian lƣu trữ lâu dài, tiện dụng trong trao đổi đặc biệt là qua Internet, dễ dàng sửa đổi… nên ngày nay, số lƣợng văn bản số tăng lên một cách chóng mặt đặc biệt là trên world-wide-web. Cùng với sự gia tăng về số lƣợng văn bản, nhu cầu tìm kiếm văn bản cũng tăng theo. Với số lƣợng văn bản đồ sộ thì việc phân loại văn bản tự động là một nhu cầu bức thiết.
Tại sao phải phân loại văn bản tự động? Việc phân loại văn bản sẽ giúp chúng ta tìm kiếm thông tin dễ dàng và nhanh chóng hơn rất nhiều so với việc phải bới tung mọi thứ trong ổ đĩa lƣu trữ để tìm kiếm thông tin. Mặt khác, lƣợng thông tin ngày một tăng lên đáng kể, việc phân loại văn bản tự động sẽ giúp con ngƣời tiết kiệm đƣợc rất nhiều thời gian và công sức. Do vậy, các phƣơng pháp phân loại văn bản tự động đã ra đời để phục vụ cho nhu cầu chính đáng đó.2 Tổng quan tình hình nghiên cứu trong và ngoài nƣớc Công tác phân loại luôn đƣợc các thƣ viện và cơ quan thông tin trên thế giới hết sức quan tâm. Phân loại tài liệu là một khâu công tác quan trọng giúp cho việc kiểm soát thƣ mục, góp phần thúc đẩy việc khai thác, trao đổi thông tin trong phạm vi quốc gia và quốc tế.
Trên thế giới và một số thƣ viện lớn ở Việt Nam, phân loại đƣợc áp dụng sâu rộng trong việc tổ chức kho mở và tra cứu thông tin.1 Tổng quan thế giới Theo Yang & Xiu, 1999, “việc phân loại văn bản tự động là việc gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tƣơng tự của văn bản đó so với các văn 2 bản đã đƣợc gán nhãn trong tập huấn luyện”. Từ trƣớc đến nay, phân loại văn bản tự động trong tiếng Anh đã có rất nhiều công trình nghiên cứu và đạt đƣợc kết quả đáng khích lệ. Dựa trên các thống kê của Yang & Xiu (1999)[6] và nghiên cứu của chúng em, một số phƣơng pháp phân loại thông dụng hiện nay là: Support Vector Machine -Joachims, 1998[4], k-Nearest Neighbor -Yang, 1994, Linear Least Squares Fit -Yang and Chute, 1994[7] Neural Network -Wiener et al, 1995, Naïve Bayes -Baker and Mccallum, 2000, Centroid- based - Shankar and Karypis, 1998. Các phƣơng pháp trên đều dựa vào xác suất thống kê hoặc thông tin về trọng số của từ trong văn bản.
Chi tiết về ý tƣởng và công thức tính toán của mỗi phƣơng pháp sẽ đƣợc chúng em trình bày ở chƣơng 2, mục 2. Mỗi phƣơng pháp phân loại văn bản đều có cách tính toán, áp dụng công thức khác nhau, tuy nhiên, nhìn một cách tổng quan thì các phƣơng pháp đó đều phải thực hiện một số bƣớc chung nhƣ sau: đầu tiên, mỗi phƣơng pháp sẽ dựa trên các thông tin về sự xuất hiện của từ trong văn bản (ví dụ tần số, số văn bản chứa từ…) để biểu diễn văn bản thành dạng vector. Sau đó, tuỳ từng phƣơng pháp mà ta sẽ áp dụng công thức và cách thức tính toán khác nhau để thực hiện việc phân loại. Đối với tiếng Anh, các kết quả trong lĩnh vực này rất khả quan, còn đối với tiếng Việt, các công trình nghiên cứu về phân loại văn bản gần đây đã có một số kết quả ban đầu nhƣng vẫn còn nhiều hạn chế.
Nguyên nhân là ngay ở bƣớc đầu tiên, chúng ta đã gặp khó khăn trong việc xử lý văn bản để rút ra tần số xuất hiện của từ. Trong khi đó, để phân loại văn bản thì có thể nói bƣớc đầu tiên là quan trọng nhất bởi vì nếu ở bƣớc tách từ đã sai thì việc phân loại hầu nhƣ không thể thành công đƣợc. Phần trình bày tiếp theo sẽ cho chúng ta biết những thách thức đặt ra trong việc tách từ tiếng Việt, cũng nhƣ những ứng dụng thú vị của nó.2 Tổng quan trong nƣớc Vấn đề phân loại văn bản tiếng Việt đƣợc nhiều cơ sở nghiên cứu trong cả nƣớc quan tâm trong những năm gần đây. Một số công trình nghiên cứu cũng đạt đƣợc những kết quả khả quan.
Các hƣớng tiếp cận bài toán phân loại văn bản đã đƣợc nghiên cứu bao gồm: hƣớng tiếp cận bài toán phân loại bằng lý thuyết đồ thị[10], cách tiếp cận sử dụng 3 lý thuyết tập thô [9], cách tiếp cận thống kê [12], cách tiếp cận sử dụng phƣơng pháp học không giám sát và đánh chỉ mục[14, 15]. Nhìn chung, những cách tiếp cận này đều cho kết quả tốt.Tuy vậy để đi đến những triển khai khả thi thì vẫn cần đẩy mạnh nghiên cứu nhƣng vẫn dựa trên hƣớng nghiên cứu trên. Một trong những khó khăn trong việc áp dụng những thuật toán phân loại văn bản vào tiếng Việt là xây dựng đƣợc tập hợp từ vựng của văn bản. Vấn đề này liên quan tới việc phân tách một câu thành các từ một cách chính xác.
Có thể kể đến công trình nghiên cứu của GS.TSKH Hoàng Kiếm và TS. Đỗ Phúc[13] Đối với tiếng Anh, “từ là một nhóm các ký tự có nghĩa đƣợc tách biệt với nhau bởi khoảng trắng trong câu” (Webster Dictionary), do vậy việc tách từ trở nên rất đơn giản. Trong khi đối với tiếng Việt, ranh giới từ không đƣợc xác định mặc định là khoảng trắng mà tùy thuộc vào ngữ cảnh dùng câu tiếng Việt. Ví dụ các từ trong tiếng Anh là “book”, “cat”, “stadium” thì trong tiếng Việt là “quyển sách”, “con mèo”, “sân vận động”.
Vấn đề trên thực sự đƣa ra một thách thức đối với chúng ta - những ngƣời làm tin học. Thách thức nào cũng có cái hay của nó. Khi chúng ta giải quyết đƣợc việc tách từ một cách chính xác, thì kết quả mà chúng ta đạt đƣợc là bƣớc phát triển trong các hƣớng nghiên cứu có liên quan đến việc xử lý ngôn ngữ tự nhiên nhƣ: phân loại văn bản, dịch tự động, kiểm tra lỗi chính tả, kiểm tra ngữ pháp… Đây là các ứng dụng rất cần thiết đối với con ngƣời và là mục tiêu của con ngƣời đang hƣớng tới. Theo Đinh Điền (2004)[8], các phƣơng pháp tách từ sau có nguồn gốc từ tiếng Hoa đã đƣợc thử nghiệm trên tiếng Việt: Maximum Matching: forward/backward hay còn gọi LRMM (Left Right Maximum Matching); giải thuật học cải biến TBL; mạng chuyển dịch trạng thái hữu hạn có trọng số WFST (Weighted finite-state Transducer); giải thuật dựa trên nén (compression);….Theo các cách tiếp cận trên, điều kiện quan trọng cần có là một hệ thống từ điển và ngữ liệu đánh dấu đầy đủ, chuẩn xác.
Một từ điển hay một tập ngữ liệu không hoàn chỉnh sẽ làm giảm hiệu suất của thuật toán. Gần đây, một phƣơng pháp tách từ mới đƣợc giới thiệu có ƣu điểm là không cần 4 đến tập dữ liệu hay từ điển để lấy thông tin thống kê hay trọng số của từ, đó là phƣơng pháp Internet and Genetics Algorithm-based Text Categorization (IGATEC) của H. Nguyen et al (2005)[1]. Điểm sáng tạo của thuật toán là kết hợp thuật toán di truyền với việc trích xuất thông tin thống kê từ Internet thông qua một công cụ tìm kiếm (ví dụ nhƣ Google) thay vì lấy từ tập dữ liệu nhƣ các phƣơng pháp trƣớc.
Để thực hiện bƣớc tách từ trong luận văn này chúng em dựa trên ý tƣởng của mô hình N-gram là chia văn bản ra thành nhiều chuỗi, mỗi chuỗi gồm hai, ba ký tự trở lên với tập dữ liệu xây dƣng thô và dữ liệu đã đƣợc phân loại sẵn.3 Mục tiêu của luận văn Tìm hiểu thuật toán Naïve Bayes ứng dụng vào xây dựng một chƣơng trình phân loại văn bản tiếng Việt, bƣớc đầu ứng dụng vào việc phân loại các bài báo khoa học điện tử thuộc lĩnh vực CNTT trong các hội thảo nhƣ: Hội thảo Fair, hội thảo @ Cần Thơ.4 Nội dung thực hiện Bƣớc 1: - Tìm tập dữ liệu bao gồm tập kiểm thử chƣơng trình và tập máy học bao gồm các bài báo, luận văn thuộc chuyên ngành công nghệ thông tin trong đó: o Tập máy học bao gồm các bài báo đƣợc phân loại theo tri thức, phân loại thủ công hay dựa vào đề tài để phân loại làm dữ liệu o Tập dùng để kiểm thử là tập hợp các bài báo đã đƣợc phân loại sẵn dùng để kiểm thử chƣơng trình lấy kết quả thống kê khi hoàn thành chƣơng trình Bƣớc 2: - Tìm hiểu các phƣơng pháp tách từ hiện nay để chọn ra phƣơng pháp phù hợp nhất - Tách từ, xóa những stop word dựa trên phƣơng pháp đã chọn trên tập dữ liệu tìm đƣợc 5 Bƣớc 3: - Tìm hiểu các phƣơng pháp tính trọng số của từ, chọn lựa phƣơng pháp phù hợp.Xây dựng bộ từ điển các từ trong lĩnh vực Công nghệ thông tin kèm theo trọng số. Bƣớc 4: - Rút trích đặc trƣng ƣớc lƣợng xác suất theo phƣơng pháp Naïve Bayes vào chƣơng trình phân loại văn bản tiếng Việt Bƣớc 5: - Thử nghiệm và thống kê kết quả xử lý khi hoàn thành chƣơng trình dựa trên tập dữ liệu kiểm thử đã đƣợc phân loại sẵn. - Nhận xét và đánh giá 6 CHƢƠNG 2: CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN 2.1 Tổng quát về các phƣơng pháp phân loại văn bản Hiện nay phân loại văn bản tự động là một lĩnh vực đƣợc chú ý nhất trong những năm gần đây. Để phân loại văn bản ngƣời ta sử dụng nhiều cách tiếp cận khác nhau nhƣ: dựa trên từ khóa, dựa trên ngữ nghĩa các từ có tần số xuất hiện cao hay trọng số của từ, tập dữ liệu, mô hình Maximum Entropy.
Tiếng Anh là ngôn ngữ đƣợc nghiên cứu sớm nhất và đã đạt đƣợc kết quả tốt. Rất nhiều phƣơng pháp đã đƣợc áp dụng nhƣ: mô hình hồi quy phân loại dựa trên láng riềng gần nhất k-nearest neighbors phƣơng pháp dựa trên xác suất Naïve Bayes, cây quyết định học luật quy nạp, máy vector hỗ trợ Support vector Machine, mô hình cực đại entropy. Hiệu quả của các phƣơng pháp là rất khác nhau ngay cả khi chúng đƣợc áp dụng trong tiếng Anh. Việc đánh giá gặp nhiều khó khăn do thiếu các tập dữ liệu huấn luyện chuẩn.
Chƣơng hai này để giới thiệu các thuật toán đƣợc sử dụng rộng rãi và so sách sự giống và khác nhau giữa các phƣơng pháp.2 Mô tả bài toán phân loại văn bản Ý tƣởng của phƣơng pháp phân loại các chủ đề, cần dự đoán văn bản đó thuộc vào chủ đề nào trong số các chủ đề đã cho.