Tải bản đầy đủ (.pdf) (127 trang)

Phân loại văn bản theo chủ đề bằng phương pháp không ảnh số

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 (1.1 MB, 127 trang )

Đại Học Quốc Gia Tp. Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-------------------

NGUYỄN AN NHƠN

PHÂN LOẠI VĂN BẢN THEO CHỦ ĐỀ BẰNG
PHƯƠNG PHÁP SUPPORT VECTOR MACHINES
KẾT HỢP VỚI CÁC KỸ THUẬT HỖ TRỢ
Chuyên ngành : Công Nghệ Thông Tin
Mã Số ngành

: 01.02.10

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 10 năm 2005


LỜI CẢM ƠN
Trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS. TS. Phan Thị Tươi,
người đã cho tôi cơ hội đến với chuyên ngành xử lý ngôn ngữ tự nhiên (Natural
Language Processing). Cô cũng là người hướng dẫn tôi trong suốt quá trình
thực hiện luận văn. Luận văn này được hoàn thành dưới sự hướng dẫn tận tình
của Cô cũng như các tài liệu được Cô cung cấp.
Tôi xin chân thành cảm ơn các Thầy Cô trong Khoa Công Nghệ Thông Tin
, Trường Đại Học Bách Khoa đã truyền đạt những kiến thức quý báu trong suốt
khoá học. Tôi xin cảm ơn Thầy Cao Hoàng Trụ đã truyền đạt những kiến thức
về các kỹ thuật học máy nói chung và phương pháp Support Vector Machines
nói riêng.
Tôi xin cảm ơn các đồng nghiệp ở công ty PSV đã chia sẽ công việc và hỗ


trợ về mặt kỹ thuật để tôi có thể hoàn thành luận văn này.
Tôi xin cảm ơn các bạn học viên cao học CNTT K14 đã giúp đỡ và đóng
góp ý kiến trong việc hoàn thành đề tài.
Cuối cùng, tôi xin cảm ơn gia đình đã hỗ trợ về mặt tinh thần cho tôi trong
suốt thời gian khoá học, đặc biệt trong giai đoạn thực hiện luận văn.


TÓM TẮT NỘI DUNG
Việc phân loại văn bản tự động đang trở thành một công việc quan trọng
khi số lượng dữ liệu dạng văn bản bùng nổ. Các văn bản này có thể tồn tại
trực tuyến trên Internet, mail điện tử, cơ sở dữ liệu, các thư viện số. Mục tiêu
của việc phân loại văn bản là gán các văn bản cho trước vào một số chủ đề đã
được định nghóa trước.
Các thực nghiệm cho thấy phương pháp Support Vector Machines (SVMs)
rất thích hợp cho việc phân loại văn bản. Hiệu suất của phương pháp này tốt
hơn hẳn các phương pháp phân loại văn bản phổ biến khác như k-nearest
neighbor (kNN), neural networks (NNet), và Naive Bayes (NB). Mục tiêu của
phương pháp này là suy diễn ra một luật suy diễn từ các mẫu phân loại thuộc
các khái niệm khác nhau bằng các tổng quát hoá các mẫu huấn luyện.
Sử dụng giải thuật SMO, máy học Support Vector Machines đã thể hiện độ
chính xác cao trên tập kiểm tra. Số lượng mẫu huấn luyện tối thiểu cần thiết
để có thể đạt được độ chính xác tốt (khoảng 90%) là khoảng 300 mẫu (150
mẫu dương và 150 mẫu âm). Trong luận văn này, giải thuật SMO đã được cải
tiến về các điều kiện dừng và công thức tính hàm mục tiêu. Điều này đã mang
lại hiệu suất học cao và độ chính xác phân loại tốt.
Trong khái niệm tiền xử lý văn bản, việc loại bỏ từ kết thúc không ảnh
hưởng đến độ chính xác phân loại văn bản. Ảnh hưởng của việc chọn lựa từ
khóa đã được kiểm tra thông qua việc thay đổi ngưỡng độ lợi thông tin. Loại
các từ có giá trị phân loại thấp giúp giảm số chiều không gian từ khóa, điều
này giúp tăng hiệu suất phân loại. Một phương pháp khác để thu giảm không

gian từ khoá là gom nhóm từ và văn bản. Trong phương pháp này, các văn bản
huấn luyện được gom nhóm đồng thời với việc gom nhóm các từ khoá. Phương
pháp này giúp giảm mức độ thưa của dữ liệu mẫu.


Đối với ngôn ngữ tiếng Việt, các từ không phân cách nhau bởi khoảng
trắng mà ta phải dựa vào nghóa của chúng. Để tăng hiệu suất phân loại của
giải thuật Support Vector Machines đối với các văn bản tiếng Việt, giải thuật
phân đoạn từ N-gram được sử dụng để phân đoạn các văn bản thành các từ
theo ý nghóa. Giải thuật này cũng đã được kiểm tra với kết quả rất tốt.


ABSTRACT
Text categorization is becoming increasingly important given the large
volume of online text available through the Internet, electronic mail, corporate
databases, medical patient records and digital libraries. The goal of text
categorization is to classify documents into a certain number of predefined
categories.
Evidence shows that Support Vector Machines (SVMs) are well suited for
text categorization, outperforming other well-known text categorization
methods such as k-nearest neighbor (kNN), neural networks (NNet), and Naïve
Bayes (NB). Support vector learning attempts to induce a decision rule from
which to categorize examples of different concepts by generalizing from a set
of training examples.
Using the SMO algorithm, linear support vector machines showed very
good overall categorization accuracy on the test collection. The minimum
number of training examples required to achieve good classification accuracy
(around 90%) was found to be a training set size of around 300 examples (150
positive and 150 negative instances). In this thesis, the SMO was improved by
changing the stop conditions and the formula used to calculate target function.

This lead to a very good performance and accuracy.
In terms of document pre-processing, the exclusion of stemming, inclusion
of stop-words did not significantly affect the classifier’s accuracy. The effect of
variations in feature selection was also tested, using information gain (IG)
threshold. Removal of rare terms reduces the dimensionality of the feature
space, and can lead to an increase in text categorization performance.
However, excessive term removal is not recommended. Another method was


used to reduce the feature space is co-clustering of words and texts. In this
method, training texts are clustered, and at the same time, features are also
clustered in order to tackle the data sparseness problem.
For Vietnamese language, the words are not separated by blank space but we
must base on their meanings. To accommodate the Support Vector Machines
algorithm to Vietnamese documents, the N-gram segmentation algorithm was
used to parse the documents to full meaning words. This algorithm also was
tested with an accurate result.


MỤC LỤC
Phần 1 ............................................................................................................................................ 1
PHÁT BIỂU VẤN ĐỀ ................................................................................................................. 1
1 - Giới thiệu.................................................................................................................................. 1
2 - Đề tài nghiên cứu .................................................................................................................... 3
3 - Những kết quả nghiên cứu liên quan.................................................................................... 4
3.1 - Những đề tài nghiên cứu trong nước ............................................................................. 4
3.2 - Những đề tài nghiên cứu ngoài nước ............................................................................ 5
4 - Kết quả đạt được và những đóng góp .................................................................................. 6
Phần 2 ............................................................................................................................................ 8
CƠ SỞ LÝ THUYẾT PHÂN LOẠI VĂN BẢN......................................................................... 8

1 - Biểu diễn văn bản ................................................................................................................... 8
1.1 - Phương pháp Boolean ................................................................................................... 9
1.2 - Phương pháp tần xuất từ (work frequency)................................................................... 9
1.3 - Phương pháp tf x idf (term frequency x inverse document frequency) ....................... 10
1.4 - Phương pháp tfc (term frequency component) ............................................................ 10
1.5 - Phương pháp ltg (log term component) ....................................................................... 10
1.6 - Phương pháp Entropy.................................................................................................. 11
2 - Chọn lựa từ khoá (feature selection) ................................................................................. 11
2.1 - Phương pháp ngưỡng từ khóa văn bản ........................................................................ 12
2.2 - Phương pháp độ lợi thông tin ...................................................................................... 12
2.3 - Phương pháp thông tin tương hỗ.................................................................................. 13
2.4 - Phương pháp thống kê χ 2 ............................................................................................ 14
2.5 - Phương pháp độ mạnh của từ...................................................................................... 14
3 - Chọn tập văn bản dùng để phân loại ................................................................................. 15
3.1 - Tập Reuters – 21578................................................................................................... 15
3.2 - Tập 20-newsgroup ...................................................................................................... 16
4 - Các phương pháp đánh giá việc phân loại văn bản .......................................................... 17
4.1 - Phương pháp F-measure ............................................................................................. 17


4.2 - Phương pháp F-measure trung bình ............................................................................ 19
Phần 3 .......................................................................................................................................... 20
CÁC GIẢI THUẬT PHÂN LOẠI VĂN BẢN ......................................................................... 20
1 - Giải thuật Naive Bayes (NB) ............................................................................................... 20
1.1 - Giải thuật .................................................................................................................... 20
1.2 - Đánh giá: .................................................................................................................... 22
2 - Giải thuật mạng Neural (Neural Network) ....................................................................... 22
2.1 - Giải thuật .................................................................................................................... 22
2.2 - Đánh giá: .................................................................................................................... 25
3 - Giải thuật cây quyết định..................................................................................................... 26

3.1 - Giải thuật phân loại .................................................................................................... 26
3.2 - Giải thuật xây dựng cây quyết định............................................................................ 27
3.3 - Đánh giá: .................................................................................................................... 29
4 - Giải thuật Support Vector Machines ................................................................................. 29
4.1 - Mô hình học máy tuyến tính ....................................................................................... 30
4.2 - Khái niệm về Kernel .................................................................................................. 32
4.3 - Lý thuyết tổng quát hoá .............................................................................................. 36
4.4 - Lý thuyết về tối ưu ..................................................................................................... 40
4.5 - Lý thuyết Support Vector Machines ........................................................................... 44
4.6 - Các ứng dụng Support Vector Machines..................................................................... 55
Phần 4 .......................................................................................................................................... 59
THIẾT KẾ VÀ HIỆN THỰC ................................................................................................... 59
1 - Đặc tả hệ thống ..................................................................................................................... 59
2 - Giải thuật huấn luyện ........................................................................................................... 61
2.1 - Biểu diễn văn bản ....................................................................................................... 61
2.2 - Thiết kế giải thuật học máy SVMs ............................................................................. 74
3 - Giải thuật phân loại .............................................................................................................. 85
3.1 - Phân loại nhị phân ...................................................................................................... 86
3.2 - Mở rộng hệ thống phân loại nhị phân thành đa chủ đề .............................................. 87
4 - Hiện thực chương trình ........................................................................................................ 88


4.1 - Giao diện chương trình................................................................................................ 88
4.2 - Nhận xét kết quả ........................................................................................................ 88
Phần 5 .......................................................................................................................................... 96
ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN ................................................................................ 96
1 - Đánh giá ................................................................................................................................. 96
2 - Hướng phát triển của đề tài ................................................................................................ 98
Phụ lục A ..................................................................................................................................... 99
MÃ GIẢ GIẢI THUẬT SMO ................................................................................................... 99

Phụ lục B.................................................................................................................................... 102
GIẢI THUẬT SMO ĐÃ CẢI TIẾN ....................................................................................... 102
Phụ lục C ................................................................................................................................... 106
GIAO DIỆN CHƯƠNG TRÌNH.............................................................................................. 106
1 - Màn hình danh sách các mô hình phân loại .................................................................... 106
2 - Màn hình thêm mô hình mới ............................................................................................. 107
3 - Màn hình thêm chủ đề mới ................................................................................................ 108
4 - Màn hình thêm văn bản ..................................................................................................... 109
5 - Màn hình phân loại mẫu .................................................................................................... 110
TÀI LIỆU THAM KHẢO........................................................................................................ 111


DANH MỤC HÌNH
Hình 2.1 Mô hình vector 2 chiều ..................................................................................... 8
Hình 2.2 Thống kê một số chủ đề trong tập Reuters..................................................... 16
Hình 2.3 Thống kê một số chủ đề trong tập 20-newsgroup .......................................... 17
Hình 3.1 Mô hình một Perceptron................................................................................. 23
Hình 3.2 Mô hình mạng neural ..................................................................................... 24
Hình 3.4 Mô hình lan truyền dữ liệu ............................................................................. 25
Hình 3.5 Cây quyết định cho chủ đề “earning” ............................................................ 27
Hình 3.6 Entropy của tập S ........................................................................................... 28
Hình 3.7 Đường phân cách (w,b) cho tập huấn luyện hai chiều ................................... 31
Hình 3.8 Ánh xạ sang không gian đặc trưng ................................................................. 33
Hình 3.9 Biên hình học của một điểm ........................................................................... 38
Hình 3.10 Biên hình học của tập mẫu ........................................................................... 38
Hình 3.11 Biến gia cố cho bài toán phân loại .............................................................. 39
Hình 3.12 Đường phân cách biên tối đại với các điểm suppor vector được tô đậm ..... 46
Hình 3.13 Biên insensitive cho bài toán hồi qui một chiều ........................................... 51
Hình 3.14 Biên insensitive cho bài toán hồi qui phi tuyến ............................................ 51
Hình 3.15 Sai số ε-insensitive tuyến tính cho ε = 0 and ε != 0 ..................................... 53

Hình 3.16 Sai số ε-insensitive bậc hai cho ε = 0 and ε != 0 ......................................... 54
Hình 4.1 Mô hình huấn luyện ........................................................................................ 61
Hình 4.2 Sơ đồ giải thuật phân đoạn từ ........................................................................ 63
Hình 4.3 Xét vị trí k có phải là điểm phân đoạn từ....................................................... 65
Hình 4.4 Sơ đồ các điểm phân đoạn từ ......................................................................... 66
Hình 4.5 Ba phương pháp huấn luyện SVMs: Chunking, Osuna và SMO ..................... 77
Hình 4.6 Ràng buộc giữa hai hệ số Lagrange............................................................... 78
Hình 4.7 Mô hình phân loại .......................................................................................... 86


Hình 4.8 Quan hệ giữa tỉ lệ loại bỏ từ và độ chính xác ................................................ 92
Hình 4.9 Quan hệ giữa tỉ lệ loại bỏ từ và tốc độ học .................................................... 93
Hình 4.10 Quan hệ giữa hằng số C và thời gian học ................................................... 95
Hình C.1 Danh sách các mô hình................................................................................ 106
Hình C.2 Thêm mô hình............................................................................................... 107
Hình C.3 Thêm chủ đề phân loại ................................................................................ 108
Bảng C.5 Danh sách các văn bản ............................................................................... 108
Hình C.4 Chọn file để upload...................................................................................... 109
Hình C.5 Gán chủ đề cho các mẫu.............................................................................. 110


DANH MỤC BẢNG
Bảng 2.1 Thống kê kết quả phân loại ........................................................................... 18
Bảng 3.1 Hiệu suất của hệ thống nhận dạng mặt người SVM ...................................... 58
Bảng 4.1 Độ chính xác của các hệ thống phân loại ..................................................... 89
Bảng 4.2 Tần xuất xuất hiện của các từ đôi và các tiếng............................................. 90
Bảng 4.3 Danh sách các nhóm từ, văn bản ................................................................... 94
Bảng C.1 Danh sách các mô hình ............................................................................... 106
Bảng C.2 Thông tin mô hình ....................................................................................... 107
Bảng C.3 Danh sách các chủ đề ................................................................................. 107

Bảng C.4 Thông tin chủ đề .......................................................................................... 108
Bảng C.6 Chọn văn bản cần upload ........................................................................... 109
Bảng C.7 Danh sách các mô hình ............................................................................... 110
Bảng C.8 Danh sách các maãu ..................................................................................... 110



Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

Phần 1
PHÁT BIỂU VẤN ĐỀ
1 - Giới thiệu
Việc phân loại văn bản là công việc gán một văn bản ngôn ngữ tự nhiên
vào một hay nhiều chủ đề đã được định nghóa sẵn dựa vào nội dung của nó.
Phân loại văn bản thuộc lónh vực xử lý ngôn ngữ tự nhiên (natural language
processing). Mục tiêu của một hệ thống phân loại văn bản tự động là nó phải
có khả năng phân loại một văn bản bất kỳ một cách chính xác.
Phân loại văn bản tự động có lợi ích rất quan trọng trong cuộc sống hiện
nay. Thật vậy, sự phát triển vượt bậc của Internet đã dẫn đến sự bùng nổ các
văn bản trực tuyến. Khi đó các công cụ phân loại văn bản tự động rất hữu ích
cho người đọc trong việc tổ chức dữ liệu. Công việc phân loại văn bản cổ điển
được tiến hành một cách thủ công bởi các chuyên gia lónh vực. Điều này rất
tốn kém và gây nhàm chán cho các chuyên gia này. Việc phân loại tiến hành
bằng máy có ưu điểm là hiệu suất cao, có thể hoạt động bất kỳ lúc nào. Tuy
nhiên vấn đề ta cần quan tâm là độ chính xác của hệ thống.
Một số ứng dụng của việc phân loại văn bản theo chủ đề là:
Phân loại văn bản theo ngôn ngữ
Ở một số trung tâm kiểm duyệt văn bản, số lượng văn bản nhận được rất

lớn. Các văn bản này có thể được biểu diễn từ các ngôn ngữ khác nhau. Ta có
thể dùng các hệ thống phân loại văn bản theo ngôn ngữ để gán các văn bản
này vào từng ngôn ngữ cụ thể. Các chuyên gia ngôn ngữ sẽ kiểm duyệt các
văn bản này theo ngôn ngữ chuyên môn của họ.
Phân loại thông tin theo chủ đề

1


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

Cũng giống như việc phân loại văn bản theo ngôn ngữ, việc phân loại
thông tin theo chủ đề sẽ phân chia các thông tin nhận được vào các chủ đề
khác nhau. Nếu việc phân loại này được thực hiện thủ công, nghóa là thông
qua con người, thì số lượng chuyên gia tham gia vào việc phân loại là rất lớn
và thời gian phân loại cũng lớn hơn. Việc phân loại thủ công cũng không tránh
khỏi ý kiến chủ quan của những chuyên gia, vì vậy độ chính xác cũng không
cao. Trong khi đó, nếu thực hiện theo cách tự động sẽ tận dụng được khả năng
quét các văn bản và khả năng xử lý nhanh của máy tính. Do đó hiệu suất sẽ
lớn hơn và độ chính xác sẽ cao hơn nếu như máy tính được huấn luyện tốt.
Tìm kiếm thông tin
Việc phân loại văn bản có thể áp dụng trong các hệ thống tìm kiếm thông
tin nhằm tăng hiệu suất cũng như tăng độ chính xác của việc tìm kiếm. Do sự
phát triển của Internet, số lượng thông tin trực tuyến ngày càng tăng. Một thao
tác phổ biến trên Internet là tìm kiếm. Tuy nhiên, do khối lượng thông tin rất
lớn nên các máy tìm kiếm (search engine) thường tổ chức dữ liệu vào các chủ
đề giúp không gian tìm kiếm giảm đi, qua đó tăng hiệu suất của hệ thống.
Ngoài ra việc tìm kiếm theo từ khoá thường không đạt được độ chính xác cao

nên các search engine thường kết hợp với tìm kiếm theo chủ đề nhằm cải thiện
độ chính xác của việc tìm kiếm.
Phân loại email
Chức năng của một hệ thống phân loại email tự động là:
− Từ chối mail theo luật.
− Phân phối mail vào các folder định trước.
− Chuyển mail đến địa chỉ khác (forward).

2


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

2 - Đề tài nghiên cứu
Trong nội dung của luận án, tác giả xây dựng một hệ thống dùng để phân
loại văn bản theo chủ đề. Nhân của hệ thống phân loại này là một máy học
theo mô hình Support Vector Machines. Ngoài ra, để tăng độ chính xác của hệ
thống, tác giả sử dụng thêm một số phương pháp hỗ trợ tiền xử lý như phương
pháp chọn từ khóa giúp giảm kích thước không gian huấn luyện, phương pháp
Clustering nhằm giải quyết vấn đề dữ liệu thưa, phương pháp phân đoạn từ để
tách các từ đôi, từ ba.
Phương pháp Support Vector Machines được hiện thực theo cách tiếp cận
học máy. Mục tiêu của phương pháp này là tìm kiếm một đường biên tối ưu để
phân chia các văn bản mẫu vào hai tập rời nhau. Phương pháp Support Vector
Machines được các nhà khoa học trong ngành xử lý ngôn ngữ tự nhiên đánh
giá là có hiệu suất và độ chính xác cao. Tuy nhiên phương pháp này thuộc vào
họ phân loại nhị phân, nghóa là các văn bản được gán vào một trong hai chủ đề
cho trước. Vì vậy, trong luận án này tác giả mở rộng phương pháp Support

Vector Machines thành phân loại đa chủ đề với số chủ đề do người sử dụng
định nghóa.
Vì phương pháp Support Vector Machines dựa trên cơ sở xác suất thống kê
nên cũng gặp phải một số nhược điểm giống như các phương pháp dựa xác
suất trước đó. Nhược điểm thứ nhất là do các phương pháp này giả định các
văn bản trong cùng một loại được tạo ra bởi các từ với phân bố giống nhau,
điều này làm giảm độ chính xác của hệ thống phân loại. Nhược điểm thứ hai là
vấn đề dữ liệu thưa do xác suất xuất hiện của các từ khoá trong các văn bản
quá nhỏ, do đó kết quả việc phân loại cũng bị giảm độ chính xác. Vì vậy tác
giả dùng kỹ thuật Clustering như là một phương pháp hỗ trợ khắc phục các
nhược điểm treân.

3


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

Ngoài ra, việc phân đoạn từ của các văn bản tiếng Việt nói riêng và các
văn bản tiếng châu Á nói chung hoàn toàn khác với các ngôn ngữ Âu – Mỳ.
Nếu như các từ trong ngôn ngữ Âu - Mỹ cách nhau bằng khoảng trắng (từ đơn)
thì một từ tiếng Việt có thể bao gồm nhiều âm tiết. Do đó tác giả sử dụng
phương pháp N-gram để tách các từ đôi, từ ba trong các văn bản. Điều này
giúp cải thiện độ chính xác của hệ thống.
Như đã đề cập trong phần trên, hệ thống được xây dựng theo mô hình phân
loại đa chủ đề. Tuy nhiên, không mất tính tổng quát, trong phần hiện thực, tác
giả chỉ dùng tập văn bản thuộc ba chủ đề là “xã hội”, “khoa học” và “thể
thao”. Cả ba chủ đề trên đều là các chủ đề mang tính xã hội, được thu thập từ
các báo trực tuyến, vì vậy các khía cạnh trong các bài báo rất đa dạng, số

lượng từ khoá rất lớn. Do đó ta có thể đánh giá một cách chính xác hiệu suất
của hệ thống. Bên cạnh đó, để kiểm tra khả năng phân loại các văn bản trong
các chủ đề gần nhau, tác giả xây dựng thêm mô hình phân loại cho tập văn
bản gồm hai chủ đề “bóng đá” và “quần vợt”. Đây là hai chủ đề con rất gần
nhau và cùng thuộc về chủ đề thể thao, do đó biên để phân loại các văn bản
trong hai chủ đề này có khoảng cách rất nhỏ.

3 - Những kết quả nghiên cứu liên quan
Trong phần này tác giả trình bày một số kết quả nghiên cứu trong nước và
ngoài nước liên quan đến đề tài nghiên cứu của luận án.

3.1 - Những đề tài nghiên cứu trong nước
3.1.1 Phân đoạn từ tiếng Việt dùng corpus và các mô hình thống kê, Trần
Ngọc Tuấn, Đại Học Quốc Gia Thành phố Hồ Chí Minh.
Trong đề tài này, tác giả giới thiệu về các phương pháp phân đoạn từ được
dùng cho ngôn ngữ tiếng Việt. Trong đó N-gram là phương pháp được giới

4


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

thiệu và sử dụng chủ yếu. Tác giả cũng giới thiệu mô hình Markov ẩn. Đây là
mô hình xác suất được dùng phổ biến trong lónh vực xử lý ngôn ngữ tự nhiên.
Tác giả đã xây dựng một chương trình demo phân đoạn văn bản trên tập
corpus là tập “Bách Khoa toàn thư mạng”.
3.1.2 Phân loại văn bản bằng phương pháp cây quyết định, Nguyễn Minh
Quang, Đại Học Quốc Gia Thành phố Hồ Chí Minh.

Tác giả Trần Minh Quang đã giới thiệu các lý thuyết cơ bản trong lónh vực
phân loại văn bản. Tác giả cũng giới thiệu một số phương pháp phân loại văn
bản phổ biến:
Phương pháp Naive Bayes
Phương pháp k – Nearest Neighbour
Phương pháp Rocchio
Phương pháp Perceptron
Phương pháp cây quyết định
Tác giả đã hiện thực chương trình demo dùng phương pháp cây quyết định
để phân loại các văn bản thuộc chủ đề “Vi Tính” và chủ đề “Viễn Thông”.
Đây là các chủ đề tiếng Việt, do đó tác giả đã sử dụng thêm phương pháp
phân đoạn từ để tăng độ chính xác của hệ thống.

3.2 - Những đề tài nghiên cứu ngoài nước
3.2.1 Clustering Approaches to Text Categorization, Hiroya Takamura,
Nara Institute of Science and Technology
Tác giả Takamura đã giới thiệu lý thuyết về phương pháp Support Vector
Machines, giới thiệu một số Kernel thông dụng.
Tác giả cũng đưa ra cách tiếp cận kết hợp giữa phương pháp Clustering và
việc phân loại văn bản.

5


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

3.2.2 Support Vector Machines: Training and Applications, Edga E.
Osuna, Federico Girosi, Massachusetts Institute of Technology

Các tác giả đã trình bày lý thuyết Support Vector Machines và xây dựng
một ứng dụng nhận dạng mặt người theo phương pháp này.
3.2.3 Improment to SMO Algorithm for SVM Regression, S.S. Keerthi,
S.K. Shevade, C.Bhattacharyya, K.R.K. Murthy, National University
of Singapore
Đây là một nhóm nghiên cứu chủ yếu về đề tài phân loại văn bản nói
chung và phương pháp Support Vector Machines nói riêng.
Trong đề tài nghiên cứu này các tác giả nghiên cứu cải tiến giải thuật
SMO sao cho giải thuật này đáp ứng việc hồi qui. Các tác giả cũng đã đề ra
một số kinh nghiệm giúp tăng độ chính xác và tốc độ học của giải thuật thông
qua các kinh nghiệm chọn các cặp hệ số nhân Lagrange để kết hợp.

4 - Kết quả đạt được và những đóng góp
− Xây dựng được một hệ thống phân loại văn bản theo phương pháp Support
Vector Machines với độ chính xác khá tốt. Tác giả chọn giải thuật SMO
(Sequential Minimal Optimization) để hiện thực phương pháp trên. Hiệu suất
của hệ thống được đánh giá qua hai tập dữ liệu là: “khoa học – xã hội – thể
thao” và “bóng đá – quần vợt”.
− Mở rộng phương pháp Support Vector Machines thành hệ thống phân loại
đa chủ đề với số chủ đề được người sử dụng thêm vào tuỳ ý. Việc này mang
lại ý nghóa thực tế rất lớn nhưng chưa được các tác giả trước đó quan tâm do
các giải thuật mở rộng chưa được pháp triển.
− Tối ưu giải thuật SMO nguyên thuỷ bằng cách cache dữ liệu và thay đổi
cách chọn giá trị ngưỡng β. Việc cache các giá trị giúp tốc độ học tăng lên rất
nhiều ( speed up ≅ 318 lần) bằng cách giảm thời gian tính toán các giá trị E ñaõ
6


Phân loại văn bản theo chủ đề


GVHD: PGS.TS Phan Thị Tươi

được tính trước đó. Giá trị ngưỡng β được chọn dựa vào hai thông số là blow và
bup giúp giảm số bước lặp và tăng độ chính xác của giải thuật.

− Hiện thực việc phân đoạn từ bằng giải thuật N-gram giúp tăng độ chính
xác của hệ thống đối với các văn bản tiếng Việt nói riêng và tiếng châu Á nói
chung. Qua đó tác giả đã xây dựng một từ điển tiếng Việt bao gồm các từ khóa
trong các lónh vực khoa học, xã hội, thể thao và trong hai lónh vực hẹp hơn là
bóng đá và quần vợt.
− Hiện thực các giải thuật thu giảm số lượng từ khoá kết hợp với việc gom
nhóm từ / văn bản. Việc thu giảm số lượng từ khóa dựa vào information gain
giúp giảm kích thước không gian nhập cho hệ thống phân loại văn bản nhưng
lại làm mất thông tin. Trong khi đó, phương pháp clustering thực thi công việc
gom nhóm các từ khoá và các văn bản tương tự nhau. Việc gom nhóm này giúp
giảm bớt kích thước của không gian nhập. Đồng thời nó cũng giúp tăng trọng
số của các từ, điều này giúp tăng độ chính xác cho hệ thống phân loại.

7


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

Phần 2
CƠ SỞ LÝ THUYẾT PHÂN LOẠI VĂN BẢN
1 - Biểu diễn văn bản
Hầu hết các phương pháp phân loại văn bản dựa theo xác suất đều sử dụng
phương pháp biểu diễn văn bản theo mô hình không gian vector. Trong mô

hình này, mỗi văn bản được xem là một tập các từ khoá (feature) với phân bố
xuất hiện của các từ khoá này. Vì việc phân loại văn bản theo xác suất chỉ dựa
vào tần xuất xuất hiện của từ khoá mà không quan tâm đến thứ tự, cú pháp
xuất hiện của chúng. Do đó việc biểu diễn văn bản theo mô hình không gian
vector là phù hợp [3].
Trong mô hình này, tập văn bản mẫu được biểu diễn là một ma trận V[M x
L] với:
⎧V [i, j] ≠ 0 nếu từ khóa i xuất hiện trong văn bản j

⎩V [i, j ] = 0 trong trường hợp còn lại

trong đó L là số mẫu, M là tổng số từ khoá của tất cả các văn bản. Giá trị
M còn được gọi là số chiều của tập văn bản. Hình 2.1 biểu diễn một tập văn
bản có L = 2, M = 2, văn bản d1 chứa 2 từ khoá F1 và 4 từ khoá F2.
F2
4

d1

2

d2

2

4

F1

Hình 2.1 Mô hình vector 2 chieàu


8


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

Giá trị của M rất lớn do các văn bản chứa một số lượng lớn các từ khác
nhau. Tuy nhiên, trong mỗi văn bản chỉ chứa một số từ khoá, do đó phần lớn
các giá trị của ma trận V đều có giá trị là 0. Ta có thể nói ma trận V là một ma
trận thưa, điều này thường dẫn đến kết quả không chính xác cho việc phân
loại.
Như đã giới thiệu, giá trị vij ≠ 0 nếu từ khoá i xuất hiện trong văn bản thứ j.
Tuy nhiên giá trị của vij rất khác nhau tuỳ theo giải thuật. Sau đây là một số
giải thuật tính toán giá trị vij . Trong đó:


f ij là số lần từ khoá i xuất hiện trong văn bản j

• L là tổng số các văn bản
• M là tổng số các từ khoá


mi là số văn bản có từ i xuất hiện

1.1 - Phương pháp Boolean
Đây là phương pháp đơn giản nhất để biểu diễn văn bản. Trong phương
pháp này, giá trị vij bằng 1 nếu từ khoá i xuất hiện trong văn bản j và bằng 0
trong trường hợp còn lại.

⎧⎪vij = 1 nếu từ khóa i xuất hiện trong văn bản j

⎪⎩vij = 0 trong trường hợp còn lại

1.2 - Phương pháp tần xuất từ (work frequency)
Đây cũng là một phương pháp đơn giản để biểu diễn văn bản. Giá trị của
vij bằng số lần từ khóa i xuất hiện trong văn bản j.
vij = f ij

9


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

1.3 - Phương pháp tf x idf (term frequency x inverse document
frequency)
Nhược điểm của hai phương pháp trên là chỉ quan tâm đến sự xuất hiện
của từ khoá trong từng văn bản mà không quan tâm đến sự xuất hiện của từ
khóa đó trong các văn bản còn lại. Ý tưởng của phương pháp này là một từ
khóa mang ý nghóa càng lớn nếu từ đó có phân bố xuất hiện trong văn bản lớn
đồng thời xuất hiện ít trong các văn bản còn lại. Giá trị vij tỉ lệ thuận với số
văn bản M, tỉ lệ nghịch với số văn bản có chứa từ khóa i.
vij = fij * log(

M
)
mi


1.4 - Phương pháp tfc (term frequency component)
Ý tưởng của phương pháp này tương tự như phương pháp trên, tuy nhiên độ
mạnh của từ khóa càng lớn nếu nó xuất hiện trong một văn bản gồm ít từ khoá,
có nghóa là độ dài của văn bản là ngắn.
vij =

fij * log(
M

M
)
mi
M

∑[ fkj * log( m

k =1

)]2

k

1.5 - Phương pháp ltg (log term component)
Nhược điểm của hai phương pháp trên là giá trị vij phụ thuộc quá lớn vào
f ij . Trong khi đó, giá trị f ij có giá trị biến thiên rất lớn kéo theo sự biến thiên

lớn của vij . Để giảm bớt sự biến thiên này, ta thay đại lượng fij bằng giá trị
log( fij +1).

vij =


log( fij + 1) * log(
M

M
)
mi
M 2
)]

∑ [log( fkj + 1) * log( m

k =1

k

10


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

1.6 - Phương pháp Entropy
Phương pháp này dựa trên lý thuyết về entropy. Giá trị vij tỉ lệ với tần xuất
xuất hiện của từ i và entropy của từ này trong tập mẫu:
vij = log( fij + 1) * (1 + E (i ))

trong đó E(i) là entropy của từ khoá i trong tập văn bản, E(i) được tính như
sau:

E (i ) =

M f
fij
1
ij
log(
)

log(M ) j =1 ni
ni

với ni là tổng số lần văn bản i xuất hiện trong tập văn bản.
Entropy của từ khóa i sẽ bằng -1 nếu từ i phân bố đều trong tất cả các văn
bản, đồng thời sẽ bằng 0 nếu từ i chỉ xuất hiện trong một văn bản.

2 - Chọn lựa từ khoá (feature selection)
Một đặc trưng quan trọng và cũng là vấn đề khó khăn nhất của bài toán
phân loại văn bản theo chủ đề là số từ khoá của tập văn bản là quá lớn. Điều
này dẫn đến kích thước của mô hình phân loại cũng sẽ lớn vì số lượng thông số
cho việc phân loại chính là tổng số từ khoá. Ngoài ra, khi số lượng từ khóa lớn,
tần xuất xuất hiện của chúng trong các văn bản sẽ giảm đi dẫn đến sai số trong
việc tính toán. Trong các phương pháp phân loại, chỉ có phương pháp Neural
Network có khả năng xử lý cho trường hợp này.
Do nhược điểm trên, các phương pháp phân loại thường dùng kết hợp với
phương pháp chọn lựa từ khóa. Mục tiêu của việc chọn lựa từ khóa là loại bỏ
những từ kết thúc (stop word). Đây là những từ không có ý nghóa cho việc phân
loại. Kết quả của thao tác này là số lượng từ khóa sẽ giảm đi, đồng nghóa với
số chiều của mô hình phân loại cũng giảm theo.
Theo [11], có 5 phương pháp chọn lựa từ khoá thường được dùng là:

ngưỡng tần xuất văn bản (Document Frequency thresholding - DF), độ lợi
11


Phân loại văn bản theo chủ đề

GVHD: PGS.TS Phan Thị Tươi

thông tin (Information Gain – IG), thông tin tương hỗ (Mutual Information –
MI), phương pháp thống kê χ2 (CHI), độ mạnh của từ (Term Strength).

2.1 - Phương pháp ngưỡng từ khóa văn bản
Tần xuất văn bản là số văn bản mà từ khoá xuất hiện. Ý tưởng của phương
pháp này là ta tính tần xuất văn bản của từng từ khoá và loại khỏi không gian
vector những từ khoá có tần xuất văn bản nhỏ hơn một ngưỡng cho trước. Giả
định cơ bản của phương pháp này là các từ có tần xuất văn bản thấp mang ít
thông tin để phân loại và thường là nhiễu.
Đây là kỹ thuật đơn giản nhất để thu giảm từ điển từ khoá. Nó dễ dàng
được hiệu chỉnh đối với tập văn bản lớn.

2.2 - Phương pháp độ lợi thông tin
Thông tin tương hỗ thường được dùng như là tiêu chuẩn về độ tốt trong lónh
vực học máy. Đại lượng này đo số lượng thông tin được tiên đoán đạt được khi
biết một từ khóa có xuất hiện trong văn bản hay không.
Gọi {ci }im=1 ký hiệu các chủ đề của tập văn bản. Độ lợi thông tin của từ
khoá w được định nghóa nhö sau:
m

m


m

i =1

i =1

i =1

G ( w) = −∑ P(ci ) log P(ci ) + P( w)∑ P(ci | w) log P(ci | w) +P( w )∑ P(ci | w ) log P(ci | w )

Trong đó :


P (ci ) là xác suất một văn bản thuộc chủ đề ci



P(w) là xác suất của một văn bản có từ w xuất hiện



P(w ) là xác suất của một văn bản không có từ w xuất hiện



P (ci | w) là xác suất một văn bản thuộc chủ đề ci có từ w xuất hiện



P(ci | w ) là xác suất một văn bản thuộc chủ đề ci không có từ w


xuất hiện.

12


×