Tải bản đầy đủ (.docx) (9 trang)

Nghiên cứu Áp Dụng Naïve Bayes Phân Loại Văn Bản Tiếng Việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (333.65 KB, 9 trang )

Trường Đại Học Bách Khoa TP Hồ Chính Minh
Khoa Khoa Học Máy Tính

Đề tài:

Áp Dụng Naïve Bayes Phân Loại Văn Bản
Tiếng Việt
Người thực hiện: Lâm Bảo Vương -12073142
Người hướng dẫn: TS. Cao Hoàng Trụ

TP Hồ Chí Minh Tháng 12 Năm 2013

Mục Lục


2


I.

Giới thiệu đề tài
Phân loại văn bản được coi quá trình xác định văn bản thuộc vào những thể loại văn bản
(hay còn gọi là lớp văn bản) nào đã cho trước. Hiện nay có nhiều phương pháp phân loại
văn bản như Support vector Machine (SVM), K–Nearest Neighbor (kNN), Neural
Network…Những phương pháp phân loại này tìm một hàm f(x) để phân loại văn bản.
Naïve Bayes là phương pháp văn phân loại văn bản dựa vào thống kê và xác suất.
Bài báo cáo này sẽ trình bày cơ bản về giải thuật Naïve Bayes và áp dụng giải thuật vào
để xác định văn bản đó thuộc loại văn bản thuộc thể loại là thể thao hoặc văn bản không
thuộc loại văn bản thể thao.

II.



Ý tưởng
Naïve Bayes là giải thuật dựa trên xác suất, do đó bài báo cáo này sẽ áp dụng giải thuật
để xây dựng chương trình phân loại văn bản.Ý tưởng của chương trình là sẽ tính xác suất
có điều kiện các từ xuất hiện trong văn bản cần xác định thuộc về loại văn bản nào đã
được học trước đó. Nếu xác suất thuộc về lớp nào lớn hơn thì văn bản đó thuộc về lớp đó.
Để phân loại được văn bản thì chúng ta phải cho máy tính học thế nào là văn bản thuộc
thể thao (gọi tắc là lớp Thể Thao) -thế nào là văn bản không phải văn bản thể thao (gọi
tắc là lớp không phải Thể Thao). Bước cho máy tính học được gọi là bước huấn luyện
(train). Bước phân loại văn bản thuộc lớp nào được gọi là bước phân lớp( test). Nội dung
chi tiết của từng bước sẽ được mô tả trong mục IV của bài báo cáo.

III.

Giới thiệu thuật toán Naïve Bayes
Naïve Bayes (NB) là phương pháp phân loại dựa vào xác suất có điều kiện và được ứng
dụng rất rộng rãi bởi tính dễ hiểu và dễ triển khai.

1. Thuật toán Naïve Bayes:
Thuật toán Naïve Bayes dựa trên định lý Bayes được phát biểu như sau [5]:

Áp dụng trong bài toán phân loại, các dữ kiện gồm có:




D: tập dữ liệu huấn luyện đã được vector hóa dưới dạng
Ci: phân lớp i, với i = {1,2,…,m}.
Các thuộc tính độc lập điều kiện đôi một với nhau.
Theo định lý Bayes:

3


Theo tính chất độc lập điều kiện:

Trong đó:




là xác suất thuộc phân lớp i khi biết trước mẫu X.
xác suất là phân lớp i.
xác suất thuộc tính thứ k mang giá trị xk khi đã biết X thuộc phân lớp i.

2. Các bước thực hiện thuật toán Naïve Bayes:
Bước 1: Huấn luyện Naïve Bayes (dựa vào tập dữ liệu), tính và
Bước 2: Phân lớp , ta cần tính xác suất thuộc từng phân lớp khi đã biết trước X new. Xnew
được gán vào lớp có xác suất lớn nhất theo công thức

IV.

Chương trình áp dụng
Thuật toán gồm 2 bước : huấn luyện và phân lớp [4,1]
 Bước 1: huấn luyện:
Ở bước huấn luyện này chủ yếu là tính và
Đầu vào của chương trình là đoạn văn bản đươc gán nhãn thuộc về một chủ đề đã được
lựa chọn. Trong báo cáo này thì chủ để được lựa chọn là thể thao. Do đó những đoạn văn
bản thuộc về chủ đề thể thao thì được gán nhãn là 1, những đoạn văn bản không thuộc
chủ đề thể thao được gán nhãn là 0.
Đầu ra của chương trình là các trị xác suất và .

 Bước 2: Phân lớp:
Đầu vào của chương trình là đoan văn bản cần phân loại
Đầu ra là nhãn / lớp của văn bản cần phân loại.

4


V.

Đánh giá:
Sau khi phân lớp cho các văn bản. chúng ta phải xem xét xem chương trình áp dụng giải
thuật này phân lớp văn bản đúng được bao nhiêu phần trăm [1]. Để đánh giá độ chính
xác, thường thì lập bản thống kê sau:
Actual class
(observation)
predicted class
(expectation)

tp
(true positive)
Correct result
fn
(false negative)
Missing result

fp
(false positive)
Unexpected result
tn
(true negative)

Correct absence of result

Trong đó:
a: là số lương đối tượng thuộc về lớp đang xét được phân đúng vào lớp.
b là số lượng đối tượng không thuộc về lớp đang xét nhưng được phân vào lớp đó.
c: là số đối tượng thuộc về lớp đang xét nhưng được bộ phân lớp loại khỏi lớp đó.
d: là số lượng đối tượng không thuộc vào lớp đang xét và được bộ phân lớn loại khỏi lớp
đó.
Để đánh giá chất lượng độ phân lớn Trong bài báo cáo này sử dụng 2 độ đo là độ chính
xác (Precision) và độ phủ (Recall)

VI.

Hướng dẫn sử dụng chương trình phân lớp văn bản.
Chương trình phân lớp văn bản thuộc thể loại thể thao và không thuộc loại thể thao

5


1 Giao diện chương trình

Hình 1: Giao diện của chương trình..

3. Định dạng
Dữ liệu huấn luyện và dữ liệu phân lớp văn bản là gồm nhiều file có cấu trúc là < văn
bản> | <class>;
Trong đó:




Nội dung văn bản cần phân loại thuộc lớp nào.
Class =1 là thuộc thể loại thể thao. Class=0 là không thuộc loại thể thao.

Trong chương trình có tạo sẵn 50 file huấn luyện và 50 file phân lớp
Ví dụ :
Trước đó, trong suốt trận đấu với Galatasaray hôm thứ tư vừa qua, khoảng 45.000 CĐV
Real chọn cách đeo mặt nạ Ronaldo để thể hiện sự ủng hộ dành cho siêu sao người Bồ
Đào Nha.Đây là điều chưa từng xảy ra với một ngôi sao bóng đá và được xem là một
nguồn động viên tinh thần lớn lao cho CR7, khi anh đang rất cần sự ủng hộ trong cuộc
đua tranh Quả Bóng Vàng FIFA 2013.Tuy nhiên, Ribery không hề ganh tị với Ronaldo,
bởi anh cảm nhận rõ tình cảm lớn hơn nhận được từ các CĐV Bayern tại Allianz Arena
mỗi dịp cuối tuần.Với đóng góp to lớn vào chiến công ăn ba của Bayern mùa vừa qua
cũng như chiếc Siêu Cup châu Âu mà đội này đoạt được hồi cuối hè, Ribery nổi lên như
là một ứng viên nặng ký đoạt Quả Bóng Vàng FIFA 2013 | 1
6


Black Friday (Ngày thứ Sáu đen) là lễ hội mua sắm lớn nhất trong năm của người Mỹ,
mở màn cho mùa shopping trước Lễ Giáng sinh. Theo truyền thống, sự kiện này được tổ
chức ngay sau ngày Lễ Tạ Ơn. Các cửa hàng, siêu thị trên khắp nước Mỹ sẽ đồng loạt mở
cửa sớm, tung khuyến mãi để thu hút người tiêu dùng. Tuy nhiên, năm nay, hầu hết các
hãng bán lẻ lớn đều khởi động Black Friday sớm một ngày | 0.

4. Cấu trúc project
 Cấu trúc package
STT
1
2
3


Pakage
naivebayes.gui
naivebayes.gui.dto
naivebayes.process

4
naivebayes.gui.resources
 Cấu trúc Class

Ý nghĩa
Chứa các class về giao diện của chương trình
Chứa các class Data Transfer Object
Chứa các class xử lý chính phân loại văn bản sử
dụng Naïve Bayes
Chứa Resource của chương trình

ST
T
1
2
3
4
5
6
7

Class
naivebayes.gui.ComponentID
naivebayes.gui.GuiCreate
naivebayes.gui.GuiListener

naivebayes.gui.GuiMain
naivebayes.gui.GuiProcess
naivebayes.gui .NaiveBayesTabPanel
naivebayes.gui.dto.VocabularyDTO

8

naivebayes.gui.resources.Resources

9

naivebayes.process .NaiveBayesProcess

Ý nghĩa
Class chứa ID của các Button..
Class tạo giao diện
Class xử lý sự kiện Button…
Class hàm main
Class xử lý chung
Class TabPanel
Class đối tượng Data Transfer
Object
Class chứa tài nguyên của chương
trình.( Hình ảnh..)
Class xử lý cho huấn luyện và test
Naïve Bayes

7



Một số hình ảnh

Hình 2: Kết quả huấn luyện

Hình 3 : Kết quả phân lớp

8


VII.

Tài liệu tham khảo

[1] Pat Langley, Stephanie Sage: Induction of Selective Bayesian Classifiers. In
Proceedings of the 10th UAI 1994: 399-406
[2] S.L. Ting, W.H. Ip, Albert H.C. Tsang . Is Naïve Bayes a Good Classifier for
Document Classification? International Journal of Software Engineering and Its
Applications Vol. 5, No. 3, July, 2011
[3] />[4] />[5] />
9



×