2. Phân loại văn bản
2.1. Lý thuyết chung về phân loại văn bản
2.1.1. Bài tốn phân loại văn bản
Phân loại văn bản tức là gán văn bản vào một hoặc một số nhĩm văn bản đã được biết trước. Phân loại văn bản cĩ hai dạng là phân loại nhị phân và phân loại theo cấp độ. Phân loại nhị phân tức là xét xem văn bản là thành viên hay khơng là thành viên của nhĩm. Phân loại theo cấp độ tức là mỗi văn bản được gán một giá trị biểu thị mức độ liên quan của văn bản đối với nhĩm.
Theo cách truyền thống, việc phân loại văn bản cĩ thể thực hiện một cách thủ cơng, tức là đọc từng văn bản một và gán nĩ vào nhĩm phù hợp. Cách thức này sẽ tốn nhiều thời gian và chi phí nếu như số lượng văn bản lớn. Do vậy, cần phải xây dựng các cơng cụ phân loại văn bản một cách tự động
Để 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 tốn học máy (Machine Learning). Tuy nhiên, cịn cĩ các thuật tố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 tố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 tố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 tố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 tố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.
Một ứng dụng khác của phân loại văn bản là trong lĩnh vực hiểu văn bản. Phân loại văn bản cĩ thể được dùng để lọc ra một số văn bản hoặc một phần văn bản mà khơng làm mất đi tính phong phú của ngơn ngữ tự nhiên.
Trong phân loại văn bản, sự phụ thuộc của một văn bản vào một nhĩm cĩ thể là các giá trị rời rạc đúng và sai (true hoặc false, để hiểu rằng văn bản đĩ thuộc hay khơng thuộc một nhĩm nào đĩ) hoặc các giá trị liên tục (một số thực, chỉ ra độ phù hợp của văn bản với một nhĩm nào đĩ). Khi câu trả lời đưa ra bắt buộc phải là đúng hoặc sai thì giá trị liên tục cĩ thể được rời rạc hĩa bằng cách đặt ngưỡng. Ngưỡng đặt ra tùy thuộc vào thuật tốn và yêu cầu người dùng.
2.1.2. Quá trình phân loại phân loại văn bản
Phân loại văn bản là một thể loại của bài tốn khai phá văn bản, vì vậy nĩ cũng cĩ các bước cơ bản của quá trình bài tốn Khai phá văn bản. Đĩ là các giai đoạn tiền xử lý văn bản, đưa văn bản về dạng cĩ cấu trúc và khai phá các định dạng cĩ cấu trúc này bằng các thuật tốn của học máy. Đặc thù hơn, nĩ cĩ các bước sau:
• Chuẩn bị tập dữ liệu huấn luyện (Training Data) và dữ liệu kiểm tra (Test Data)
• Xử lý tách từ trong văn bản
• 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 dữ liệu huấn luyệ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.
Tuy nhiên, đối với một số bài tốn cĩ tính đặc thù, việc học của thuật tốn khơng ngừng lại ở quá trình đánh giá sau khi thẩm định với dữ liệu kiểm tra mà việc học được tiếp tục khi thuật tốn được áp dụng cho các văn bản mới. Hệ thống SpamAssassin là một hệ thống điển hình cho việc liên tục học trong quá trình ứng dụng.
2.2. Phương pháp phân loại dựa trên lý thuyết xác suất Bayesian
Các phương pháp phân loại văn bản gồm cĩ: • Phương pháp cây quyết định
• Phương pháp K- láng giềng • Phương pháp Bayesian
Trong phần này chúng ta sẽ nghiên cứu kĩ về lý thuyết Bayesian áp dụng cho bài tốn phân loại văn bản.
Lý thuyết Bayes đưa ra rằng, xác suất xuất hiện một sự kiện nào đĩ (chẳng hạn như một lá thư nào đĩ là thư rác) khi đã cĩ một sự kiện khác đã xảy ra (chẳng hạn lá thư đĩ chứa từ khĩa đặc biệt nào đĩ) phụ thuộc vào xác suất xảy ra đồng thời cả hai sự kiện đĩ và xác suất của sự kiện xảy ra trước đĩ.
Đĩ chính là cơng thức xác suất cĩ điều kiện:
P(A/B)=P(A^B)/P(B) (2.3) Theo cơng thức nhân xác suất ta lại cĩ:
P(A/B)=P(A^B)/P(B)=P(B/A)*P(A)/P(B) (2.4)
Hay nĩi cách khác, xác suất của một thư thuộc lớp thư rác khi biết các từ khĩa trong thư đĩ được tính thơng qua thống kê về các từ khĩa của xuất hiện trong lượng thư rác đã xác định. Đĩ là nguyên tắc nĩi chung của phân loại bằng phương pháp thống kê, trong đĩ phương pháp phân loại văn bản Bayesian là một trong những
phương pháp thống kê được sử dụng nhiều trong hầu hết các ứng dụng phân loại văn bản [11].
2.2.1. Phân loại bằng phương pháp Bayesian
Trong phương pháp này, để đơn giản hố, người ta coi mỗi tài liệu chỉ thuộc về một lớp hay một chủ đề nào đĩ. Sự tạo thành tài liệu được mơ hình bằng các quá trình sau:
1. Mỗi chủ để hay lớp cĩ một xác suất tiên nghiệm Pr(c), với Pr( ) 1
c c =
. Thực chất đây chính là xác suất mà tác giả của tài liệu lựa chọn ngẫu nhiên một chủ đề nào đĩ.
2. Với mỗi lớp c, các tài liệu trong lớp được sinh ra với xác suất Pr(d | c).
Như vậy, xác suất để sinh ra tài liệu từ lớp c là Pr(c)Pr(d | c). Với mỗi tài liệu
d, xác suất hậu nghiệm để d được sinh ra từ lớp c, sẽ được tính theo cơng thức Bayes như sau:
Pr( ) Pr( | ) Pr( | ) Pr( ) Pr( | ) c d c c d d = (2.5)
trong đĩ duyệt qua tồn bộ các lớp của tập mẫu.
Pr(d | c) được ước lượng bằng cách mơ hình hố phân bố cĩ điều kiện của thuật ngữ và chủ đề, với tập các tham số . Chúng ta ước lượng dựa trên 2 nguồn thơng tin chính:
▪ Tri thức tiên nghiệm trước khi xem xét bất cứ tập tài liệu mẫu nào cho bài tốn hiện tại.
▪ Các thuật ngữ trong tập tài liệu mẫu D.
Sau khi quan sát tập dữ liệu mẫu D, phân bố hậu nghiệm của là Pr(| D). Dựa trên những phân bố này, ta cĩ được:
Pr( | ) Pr( | , ) Pr( | ) Pr( | ) Pr( | , ) Pr( | ) Pr( | ) Pr( | , ) c d c d D c d c D d = = (2.6)
2.2.2. Mơ hình học thống kê Naive Bayes
Mơ hình học thống kê được sử dụng nhiều nhất là naive Bayes learner bởi tính đơn giản, tốc độ huấn luyện và tốc độ cập nhật của mơ hình. Trong mơ hình này, các thuật ngữ được coi là độc lập với nhau, phân bố chung của các thuật ngữ là tích của các phân bố thành phần, trong đĩ mơ hình của các phân bố thành phần phụ thuộc vào mơ hình biểu diễn tài liệu. Cĩ hai mơ hình thường được sử dụng là mơ hình nhị phân và mơ hình đa thức [11].
Trong mơ hình nhị phân, các tham số c t, là xác suất một tài liệu c chứa thuật ngữ t ít nhất một lần. Với định nghĩa này, ta cĩ:
, , , Pr( | ) c t (1 c t) t d t W t d d c = − (2.7)
với W là tập các đặc trưng. Ta khơng cần tính , , (1 c t)
t W t d −
cho mỗi tài liệu
thử, thay vào đĩ ta cĩ thể viết lại biểu thức trên như sau: , , , Pr( | ) (1 ) 1 c t c t t d c t t W d c = − − (2.8)
Tính tốn rồi lưu trữ trước tích (1 c t,)
t W
−
cho tất cả các lớp c. Nhờ đĩ, trong thời gian kiểm thử, ta chỉ cần tính phép nhân đầu tiên mà thơi.
Trong mơ hình đa thức, ta cĩ thể coi mỗi lớp là một con súc sắc cĩ |W| mặt. Các tham số c t, được thay thế bằng c t, , là xác suất xuất hiện mặt t W khi reo xúc sắc c. Giả sử thuật ngữ t xuất hiện n(d,t) lần trong tài liệu d, khi đĩ, tài liệu d cĩ độ dài length d ( , )
t
l = n d t . Độ dài của tài liệu là một biến ngẫu nhiên L tuân theo lu ật phân bố nào đĩ của từng lớp. Với mơ hình này, ta cĩ:
( , ) Pr( | ) Pr( | ) Pr( | , ) Pr( ) ( , ) d d d n d t d t t d d c L l c d l c l L l n d t = = = = (2.9)
trong đĩ 1 2 ! ( , ) ( , )! ( , )!... d d l l n d t n d t n d t =
là các hệ số đa thức. Thơng thường,
người ta cũng giả thiết phân bố độ dài của tài liệu ở tất cả các lớp là như nhau. Cả hai dạng phân loại naive Bayes trên đều phải thực hiện nhân một lượng lớn các xác suất nhỏ, khiến cho kết quả thu được thường vơ cùng bé. Cần cẩn thận lưu trữ tất cả các số dưới dạng logarit và đề phịng các giá trị underflow khơng mong muốn. Việc nhân nhiều giá trị nhỏ hoặc cịn dẫn đến một hiệu ứng khác nữa là lớp cĩ giá trị vượt đỉnh thường rất gần với 1, trong khi các lớp khác thường cĩ xác suất khơng đáng kể. Tuy nhiên, hiện tượng này khơng cịn rõ ràng khi hai hay nhiều lớp đều cĩ thể là các ứng cử viên hợp lý.
Trong các bài tốn chỉ cĩ 2 lớp (two-class problems), đơi khi người ta sử dụng hàm logit (logit function) để cải thiện kết quả. Giả sử các nhãn lớp là +1 và -1. Khi đĩ, hàm logit được định nghĩa như sau:
( ) 1 log ( ) 1 LR d it d e− = + (2.10) trong đĩ Pr( 1| ) ( ) Pr( 1| ) C d LR d C d = + =
= − được gọi là tỷ số khả năng (likelihood ratio).
Chú ý, LR(d) trải từ 0 đến ∞, cịn logit(d) chạy từ ½ cho đến 1. Hàm logit(x) cĩ độ dốc rất lớn khi x → 0 và bị san phẳng nhanh chĩng khi giá trị x lớn dần lên. Vấn đề đặt ra là phải tìm một ngưỡng thích hợp cho hàm logit này.
2.3. Bài tốn phân loại văn bản tiếng Việt 2.3.1. Một số đặc điểm của tiếng Việt 2.3.1. Một số đặc điểm của tiếng Việt
Tiếng Việt thuộc nhĩm ngơn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm tách rời nhau và được thể hiện bằng một chữ viết. Tuy nhiên, khơng giống với những ngơn ngữ đơn lập khác như tiếng Trung, tiếng Thái, tiếng Việt được viết dựa trên bảng chữ cái latin, do đĩ việc xử lý tiếng Việt cĩ nhiều điểm khác so với các ngơn ngữ trên. Vể mặt ngơn ngữ học, từ là đơn vị cơ bản để cấu tạo nên câu, do đĩ việc phân tách các đơn vị từ là một vấn đề cần giải quyết trước tiên trong các bài tốn xử lý văn bản. Sau đây chúng ta sẽ tìm hiểu một vài đặc điểm quan trọng về từ của tiếng Việt.
a. Khái niệm từ trong tiếng Việt
Trong tiếng Việt, cĩ một đơn vị ngơn ngữ đặc biệt đĩ là âm tiết (tiếng). Âm tiết trong văn bản tiếng việt được định nghĩa là một cụm các chữ cái được viết liền nhau, các âm tiết được phân cách nhau bởi kí tự trắng (‘ ‘). Ví dụ, từ “máy tính”
được cấu tạo bởi hai âm tiết là “máy”, và “tính”.
Hiện nay cĩ rất nhiều cách định nghĩa từ trong tiếng Việt, nhìn chung các quan điểm đều thống nhất ở một số điểm sau :
• Một từ được cấu tạo nên bởi các âm tiết. • Một từ cĩ thể bao gồm một hay nhiều âm tiết.
• Một từ phải mang một nghĩa trọn vẹn và độc lập về mặt cú pháp.
Ví dụ, “chị” là một từ được cấu tạo bởi một âm tiết, “âm nhạc” là một từ được cấu tạo bởi 2 âm tiết là “âm”, “nhạc”. Từ “âm nhạc” đĩng vai trị là chủ ngữ trong câu sau : “âm nhạc là cho cuộc sống tốt đẹp hơn”.
Do đặc điểm từ trong tiếng Việt được cấu tạo bởi nhiều âm tiết nên khác với các ngơn ngữ như tiếng Anh, tiếng Pháp, việc tách từ trong tiếng Việt khơng thể căn cứ vào dấu trắng vì làm như vậy ta chỉ thu được các âm tiết. Theo các nhà ngơn ngữ học thì trong tiếng Việt cĩ đến 80% các từ được cấu tạo bởi 2 âm tiết trở lên .
Một đặc điểm khác của tiếng Việt là các từ trong tiếng Việt khơng cĩ biến thể về hình thái học giống như trong tiếng Anh. Ví dụ, các từ “does”, “did” là hai biến thể về hình thái học của từ “do”. Do dĩ cơng đoạn loại bỏ biến thể về hình thái học trong xử lý đối với tiếng Việt là khơng khơng cần thiết.
b. Từ loại
Giống như trong những ngơn ngữ khác, mỗi từ trong tiếng Việt về mặt ngữ pháp đều thuộc về một loại nào đĩ như danh từ, động từ, tính từ,.... Việc xác định loại từ của các từ trong tiếng Việt phức tạp hơn nhiều so với các ngơn ngữ Châu Âu như tiếng Anh, Pháp, Đức do chúng ta khơng thể căn cứ vào hình thái học của từ để xác định loại của từ. Ví dụ, trong tiếng Anh, ta cĩ thể xác định ngay một từ tính từ nếu nĩ cĩ đuơi là “able”. Đối với tiếng Việt việc xác định loại của từ chỉ cĩ thể căn cứ vào ngữ cảnh. Ví dụ, chúng ta xét hai câu sau :
1. Thành cơng của dự án đã gây tiếng vang lớn. 2. Bạn là người rất thành cơng trong sự nghiệp.
Trong câu (1), từ “thành cơng” là danh từ, trong câu (2), “thành cơng” lại là tính từ.
Bài tốn xác định từ loại của từ là một bài tốn phức tạp trong xử lý tiếng Việt và đã được thực hiện bởi nhiều nhĩm nghiên cứu nhưng vẫn chưa đạt đến kết quả trọn vẹn.
c. Cụm từ
Cụm danh từ là một tập hợp của hai hay nhiều từ đĩng vai trị như là một danh từ trong câu. Cấu trúc của cụm danh từ là một vấn đề cịn nhiều tranh cãi giữa các nhà ngơn ngữ học. Đứng trên quan điểm của một số tác giả , một cụm danh từ bao gồm 3 phần : Phần chính mang ý nghĩa chính của cụm danh từ, phần phụ trước gồm các chỉ định từ, và phần phụ sau gồm các từ bổ nghĩa cho phần chính. Ví dụ, cụm danh từ : “tất cả các quyển sách tin học” bao gồm các phần như sau :
• phần chính là : “quyển sách” • phần phụ trước : “ tất cả các” • phần phụ sau : “tin học”
Khơng phải mọi cụm danh từ đều phải bao gồm cả 3 phần như trên, ví dụ : cụm danh từ “cơng nghệ truyền thơng” bao gồm phần chính là “cơng nghệ” và phần phụ sau là “truyền thơng”. Việc xác định các cụm danh từ là một bài tốn phức tạp trong xử lý tiếng Việt, một trong những giải pháp thu được kết quả khá chính xác là phương pháp học dựa trên các luật biến đổi. Trong phạm vi của đồ án,