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

Nghiên cứu cải tiến một số phương pháp phân loại văn bản tự động và áp dụng trong xử lý 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 (2.07 MB, 119 trang )




ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





NGHIÊN CỨU CẢI TIẾN MỘT SỐ PHƯƠNG PHÁP
PHÂN LOẠI VĂN BẢN TỰ ĐỘNG VÀ ÁP DỤNG
TRONG XỬ LÝ VĂN BẢN TIẾNG VIỆT


Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10















Hà Nội - 2008
HƯỚNG DẪN KHOA HỌC:
PSG.TS. NGUYỄN NGỌC BÌNH
LƯU TRƯỜNG HUY
LUẬN VĂN THẠC SĨ
1


MỤC LỤC
Danh sách các hình 4
Danh sách bảng 5
Danh sách từ viết tắt 6
Bảng thuật ngữ Anh-Việt 7
MỞ ĐẦU 8
1. Cơ sở khoa học và tính thực tiễn của đề tài. 8
2. Phạm vi và mục đính nghiên cứu của để tài 9
3. Bố cục và cấu trúc của luận văn 9
CHƢƠNG 1 - TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI VĂN BẢN 11
1.1. Tổng quan 11
1.2. Các bƣớc chính trong bài toán phân loại văn bản 13
CHƢƠNG 2 - BIỂU DIỄN VĂN BẢN TRONG PHÂN LOẠI VĂN BẢN 15
2.1. Các vector thuộc tính 15
2.2. Việc lựa chọn thuộc tính 16
2.2.1. Loại bỏ các từ dừng 16
2.2.2. Xác định gốc của từ 17
2.2.3. Lựa chọn thuộc tính 17
2.3. Một số phƣơng pháp lựa chọn thuộc tính trong phân loại văn bản 17
2.3.1. Ngƣỡng tần xuất văn bản (DF) 17
2.3.2. Lợi ích thông tin (IG) 18

2.3.3. Thông tin tƣơng hỗ (MI) 19
2.3.4. Thống kê Chi bình phƣơng
2

20
2.3.5. Cƣờng độ của từ (TS) 21
2.3.6. Một số phƣơng pháp khác 22
2.4. Tổng kết chƣơng 22
CHƢƠNG 3 - CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN TRUYỀN
THỐNG 24
3.1. Phƣơng pháp Rocchio 24
3.2. Phƣơng pháp k- Nearest Neighbour 24
3.3. Phƣơng pháp Naïve Bayes (NB) 25
3.4. Phƣơng pháp Linear Least Square Fit- LLSF 27
2


3.5. Phƣơng pháp Centroid- based vector 28
3.6. Phƣơng pháp SVM- Support Vector Machine 28
3.7. Một số phƣơng pháp khác 32
3.8. Phƣơng pháp đánh giá 32
3.9. Tổng kết chƣơng 33
CHƢƠNG 4 - PHÂN LOẠI VĂN BẢN TIẾNG VIỆT 35
4.1. Tiếng Việt và một số đặc điểm của tiếng Việt 35
4.1.1. Cấu trúc từ trong tiếng Việt 35
4.1.2. So sánh tiếng Việt và tiếng Anh 37
4.2. Bài toán phân loại văn bản tiếng Việt 38
4.3. Vấn đề tách từ trong văn bản tiếng Việt 39
4.3.1. Tách từ trong văn bản tiếng Việt dựa trên từ 40
4.3.2. Tách từ trong văn bản tiếng Việt dựa trên ký tự 41

4.3.3. Một số phƣơng pháp tách từ trong văn bản tiếng Việt 41
4.4. Thực nghiệm và kết quả 47
4.5. Tổng kết chƣơng 51
CHƢƠNG 5 - ỨNG DỤNG PHÂN CỤM TRONG CẢI TIẾN PHÂN LOẠI
VĂN BẢN 53
5.1. Giới thiệu 53
5.2. Phân cụm dữ liệu 54
5.3. Một số phƣơng pháp phân loại văn bản sử dụng phân cụm 56
5.3.1. Phƣơng pháp 1 56
5.3.2. Phƣơng pháp 2 58
5.3.3. Phƣơng pháp 3 61
5.4. Nhận xét 64
5.5. Thực nghiệm và kết quả thực nghiệm 65
5.6.Tổng kết chƣơng 68
CHƢƠNG 6 - CẢI TIẾN GIẢI THUẬT CHIẾT XUẤT THUỘC TÍNH
NHÓM XÂU CON CHÍNH VÀ ÁP DỤNG TRONG PHÂN LOẠI VĂN
BẢN TIẾNG VIỆT 70
6.1. Giới thiệu 70
6.2. Cây hậu tố 71
3


6.3. Thuộc tính nhóm xâu con chính 73
6.3.1. Các nhóm xâu con 74
6.3.2. Các nhóm xâu con chính 75
6.4. Thuật toán 77
6.5. Nhận xét và đề xuất cải tiến thuật toán và chƣơng trình 79
6.6. Thực nghiệm và kết quả 80
6.7. Tổng kết chƣơng 83
CHƢƠNG 7 - CÁC CỘNG CỤ HỖ TRỢ VÀ CÁC CHƢƠNG TRÌNH 85

7.1. Công cụ chiết xuất nội dung từ các web-site báo điện tử 85
7.2. Chƣơng trình phân đoạn từ tiếng Việt và tạo các ma trận thuộc tính 88
7.3. Công cụ chiết xuất thuộc tính KSG và đƣa ra ma trân thuộc tính 91
7.4. Công cụ mở rộng tập dữ liệu kết hợp phân cụm 93
7.5. Phân lọai văn bản sử dụng thƣ viện LibSVM 93
7.6. Công cụ phân loại theo phƣơng pháp kNN và Centroid based vector 94
KẾT LUẬN 96
1. Nhận xét chung 96
2. Hƣớng phát triển 98
Tài liệu tham khảo 100
PHỤ LỤC A: Phân tích thiết kế chƣơng trình phân loại văn bản tự động sử
dụng thuộc tính nhóm xâu con chính. 103
1. Yêu cầu của chƣơng trình 103
2. Phân tích 103
2.1. Mô hình ca sử dụng. 103
2.2. Biểu đồ tuần tự hệ thống và mô hình khái niệm 104
3. Thiết kế 106
3.1. Thao tác trên tập ngữ liệu 106
3.2. Xử lý thuộc tính xâu con chính. 108
3.3. Phân loại văn bản bằng phƣơng pháp SVM 110
4. Cài đặt chƣơng trình 111
PHỤ LỤC B: Cấu trúc đĩa CD đi kèm 113
PHỤ LỤC C: Chia sẽ dữ liệu, các công cụ và chƣơng trình liên quan 114
Chỉ mục từ 116
4



Danh sách các hình
Hình 1-1: Các bƣớc chính trong phân loại văn bản 13

Hình 1-2: Mô hình trong học máy 14
Hình 2-1: Biểu diễn văn bản bằng vector thuộc tính 15
Hình 3-1: SVM với siêu phẳng phân chia hai nhóm dữ liệu mẫu 29
Hình 4-1: Tình hình hiện tại của bài toán tách từ tiếng Việt 40
Hình 5-1: Phân loại kết hợp phân cụm 54
Hình 5-2: Thuật toán phân loại văn bản sử dụng phân cụm của Zeng, H.J 60
Hình 5-3: Thuật toán của phân loại văn bản sử dụng phân cụm của
Kyriakopoulou, A. 63
Hình 5-4: Biểu đồ so sánh độ chính xác theo tỷ lệ tập huấn luyên 68
Hình 6-1: Cây hậu tố 72
Hình 6-2: Thuật toán chiết xuất thuộc tính nhóm xâu con chính 77
Hình 7-1: Minh họa nội dung chính của bài báo trên trang web 85
Hình 7-2: Giao diện công cụ chiết xuất nội dung 86
Hình 7-3: Minh họa kết quả phân chia dữ liệu cho k-fold cross validation 87
Hình 7-4: Minh họa cấu trúc thƣ mục đầu vào chƣơng trình phân đoạn từ tiếng
Việt và tạo các ma trận thuộc tính 88
Hình A-1: Biểu đồ ca sử dụng 104
Hình A-2: Biểu đồ tuần tự hệ thống 105
Hình A-3: Mô hình khái niệm hệ thống 106
Hình A-4: Biểu đồ lớp ca sử dụng thao tác corpus 107
Hình A-5: Biểu đồ tuần tự ca sử dụng thao tác corpus 107
Hình A-6: Biểu đồ lớp KSG 109
Hình A-7: Biểu đồ tuần tự KSG 109
Hình A-8: Biểu đồ lớp SVM 110
Hình A-9: Biểu đồ tuần tự SVM 111

5


Danh sách bảng

Bảng 3-1: Kết quả thực nghiệm của T. Joachims, so sánh phƣơng pháp SVM
với một số phƣơng pháp khác trên Corpus Reuters 31
Bảng 4-1: Cấu trúc âm tiết trong tiếng Việt 35
Bảng 4-2: So sánh tiếng Việt và Tiếng anh 37
Bảng 4-3: Thống kế nguồn gốc dữ liệu trong corpus 49
Bảng 4-4: Thống kê dữ liệu trong corpus cho từng nhóm văn bản 50
Bảng 4-5: Kết quả phân loại sử dụng một số phƣơng pháp truyền thống 51
Bảng 5-1: Kết quả thực nghiệm phân lọai sử dụng phân cụm 67
Bảng 6-1: Sự phụ thuộc của số thuộc tính KSG với các tham số đầu vào 81
Bảng 6-2: Kết quả sử dụng hàm nhân tuyến tính và hàm nhân RBF 82
Bảng 6-3: So sánh phƣơng pháp SVM và SVM+KSG 83
Bảng A-1: Danh sách ca sử dụng 104
Bảng A-2: Ánh xạ giữa lớp thiết kế và các file cài đặt 111
6


Danh sách từ viết tắt
Từ viết tắt
Từ gốc
ARAM
Adaptive Resonance Associative Map
CBC
Clustering Based Text Classification
Conf
Confidence Weight
CSDL
Cơ sở dữ liệu
DF
Document Frequency
FSM

Finite State Machine
GA
Genetics Algorithm
HMM
Hiden Markov Model
IDF
Inverse Document Frequency
IG
Information Gain
kNN
k- Nearest Neighbour
KSG
Key SubString Group
LLSP
Linear Least Square Fit
LRMM
Left Right Maximum Matching
MI
Mutual Information
MM
Maximum Matching
MM
Maximum Entropy
NB
Naïve Bayes
NLP
Natual Language Processing
POS
Part Of Speed
SVM

Support Vector Machine
TBL
Transformation based learning
TC
Text Categorization
TF
Term Frequency
TM2
Second Moment of Term
TS
Term Strength
TSVM
Transductive Support Vector Machine
WFST
Weight Finite State Transducer


7


Bảng thuật ngữ Anh-Việt

Tiếng Anh
Tiếng Việt
Bioinfomatics
Tin sinh học
Centroid
Trọng tâm
Context predicate
Thành phần ngữ cảnh

Corpus
Tập ngữ liệu
Co-training
Đồng huấn luyện
Data clustering
Phân cụm dữ liệu
Data mining
Khai phá dữ liệu
Discriminative learning
Học phân biệt
Empirical risk minimization
Tối thiểu hóa rủi ro thực nghiệm
Fard clustering
Phân cụm cứng
Feature
Thuộc tính
Feature selection
Lựa chọn thuộc tính
Generative learning
Học suy diễn
Incremental clustering
Phân cụm bổ sung
Incremental supervised learning
Học có giám sát bổ sung
Inductive learning
Học quy nạp
Key sub-string group
Nhóm xâu con chính
Key-substring group feature
Thuộc tính nhóm xâu con chính

Machine Learning
Học máy
Mutual information
Thông tin tƣơng hỗ
Pattern regconition
Nhận dạng mẫu
Reinforcement Learning
Học củng cố
Stop word
Từ dừng
Suffix tree
Cây hậu tố
Syllable
Âm tiết
Unseen new document
Văn bản mới cần đoán nhận
Word clustering
Phân cụm theo từ
Word stemming
Xác định từ gốc
8


MỞ ĐẦU
1. Cơ sở khoa học và tính thực tiễn của đề tài.
Từ khi Internet ra đời, chúng ta đã chứng kiến sự phát triển không ngừng
về số lƣợng thông tin trực tuyến trên Internet. Nếu chúng ta xem World Wide
Web nhƣ một Cơ sở dữ liệu-CSDL, thì CSDL này là khổng lồ, rất hỗn tạp và
đa phƣơng tiện, tuy nhiên trong số đó có hơn 80% lƣợng thông tin là dƣới
dạng văn bản. Với CSDL lớn nhƣ thế, việc tìm kiếm thông tin nào đó của

chúng ta có thể không đạt kết quả nhƣ mong muốn, mặc dù thông tin này là
tồn tại ở đâu đó. Phân loại văn bản là một trong những công cụ hữu hiệu nhất
để làm giảm bớt nhƣng khó khăn trong tìm kiếm thông tin, và là công cụ hết
sức quan trọng trong việc quản lý, tổ chức và sắp xếp thông tin.
Phân loại văn bản tự động là tác vụ tự động xác định một tài liệu (dạng văn
bản ở dạng ngôn ngữ tự nhiên) thuộc một hoặc một số hạng mục đã đƣợc định
trƣớc. Phân loại văn bản là rất quan trọng và đƣợc sử dụng trong rất nhiều ứng
dụng nhƣ lọc văn bản (text filtering), tổ chức tài liệu, chống spam mail.
Trong nhƣng năm cuối của thập niên 90, thế kỷ trƣớc và những năm đầu thế
kỷ 21, nhiều phƣơng pháp cũng nhƣ thuật toán đã đƣợc giới thiệu để giải
quyết bài toán này đặc biệt cho tiếng Anh (hay một số ngôn ngữ Âu Ấn gần
với tiếng Anh là tiếng Đức, Pháp…). Đối với một số ngôn ngữ châu Á nhƣ
tiếng Việt, tiếng Trung, tiếng Nhật và tiếng Hàn, bài toán này trở nên khó
khăn hơn do các tính chất đặc thù của các ngôn ngữ này.
Ở Việt Nam, bài toán xử lý ngôn ngữ tự nhiên, dịch tự động, tìm kiếm, tóm
tắt, và phân loại văn bản cũng đã đƣợc nhà nƣớc, các viện nghiên cứu, các
trƣờng đại học và các công ty công nghệ thông tin quan tâm, đầu tƣ nghiên
cứu và đã có nhƣng thành quả nhất định và rõ rệt. Trong luận văn của mình,
tôi xin chọn hƣớng nghiên cứu cải tiến một số phƣơng pháp phân loại văn bản
tự động và áp dụng trong xử lý văn bản tiếng Việt, có thừa kế các kết quả
đang có trên thế giới và ở Việt Nam, để nâng cao độ chính xác và hiệu năng
với khía cạch đặc thù của tiếng Việt với mong muốn góp một phần sức lực của
mình cho vấn đề nêu trên ở nƣớc nhà.
9


2. Phạm vi và mục đính nghiên cứu của để tài
Luận văn tập trung chủ yếu tập trung vào các vấn đề sau:
- Tìm hiểu bài toán phân loại văn bản tự động và một số thuật toán tiêu biểu
và đã đƣợc đánh giá là hiệu quả trên thế giới nhƣ SVM (Support Vector

Machine), kNN (k- Nearest Neighbor), Naïve Bayes…
- Tìm hiểu về bài toán phân loại văn bản tiếng Việt, với các vấn đề sau:
+ Thuận lợi và khó khăn.
+ Đặc điểm của tiếng Việt, cấu trúc từ trong tiếng Việt.
+ Vấn đề phân đoạn từ trong tiếng Việt, Vietnamese word segmentation,
vấn đề tập ngữ liệu tiếng Việt (Vietnamese corpus) …
+ Áp dụng một số thuật toán vào bài toán phân loại văn bản tiếng Việt.
+ Cài đặt các công cụ và thuật toán liên quan.
+ Thực nghiệm và kết quả thực nghiệm phân loại văn bản tiếng Việt sử
dụng một số thuật toán tiêu biểu.
- Nghiên cứu một số hƣớng cải tiến của phân loại văn bản phù hợp với bối
cảnh Việt Nam và tiếng Việt.
+ Sử dụng phân cụm trong phân loại văn bản.
+ Sử dụng thuộc tính nhóm xâu con chính trong phân loại văn bản.
+ Cài đặt các công cụ và thuật toán liên quan.
+ Thực nghiệm và kết quả thực nghiệm.
3. Bố cục và cấu trúc của luận văn
Luận văn đƣợc cấu trúc nhƣ sau.
- Chƣơng 1: Trình bày tổng quan về phân loại văn bản.
- Chƣơng 2: Trình bày vấn đề biểu diễn văn bản trong phân loại văn bản
dƣới dạng vector thuộc tính, và một số phƣơng pháp giảm kích thƣớc
của không gian thuộc tính nhƣ sử dụng danh sách từ dừng, tìm gốc của
từ, vấn đề trọng số và các phƣơng pháp lựa chọn thuộc tính.
- Chƣơng 3: Trình bày các phƣơng pháp phân loại văn bản truyền thống.
- Chƣơng 4: Áp dụng trong phân loại văn bản tiếng Việt, đặc điểm của
tiếng Việt, so sánh với các ngôn ngữ khác, thực nghiệm và kết quả thực
nghiệm cho bài toán phân loại tiếng Việt.
10



- Chƣơng 5: Trình bày việc ứng dụng phân cụm vào phân loại văn bản để
nâng cao độ chính xác với tập dữ liệu có nhãn nhỏ, các thuật toán tiêu
biểu của phƣơng pháp này, thực nghiệm và kết quả thực nghiệm.
- Chƣơng 6: Trình bày việc sử dụng thuộc tính là các nhóm xâu con chính
vào phân loại văn bản để tránh việc phân đoạn từ trong phân loại văn
bản, một bài toán vẫn còn mở, và nâng cao độ chính xác, cấu trúc dữ
liệu cây hậu tố, thuật toán, thực nghiệm và kết quả thực nghiệm.
- Chƣơng 7: Cài đặt các chƣơng trình và cộng cụ hỗ trợ.
- Cuối cùng là kết luận và các hƣớng phát triển cho luận văn.
- Ba phụ A, B, C lần lƣợt bao gồm phân tích thiết kế chƣơng trình phân
loại văn bản tự động sử dụng thuộc tính nhóm xâu con chính, cấu trúc
CD đính kèm và giới thiệu website chia sẻ tập ngữ liệu và chƣơng trình.
11


CHƢƠNG 1 - TỔNG QUAN VỀ BÀI TOÁN PHÂN
LOẠI VĂN BẢN
1.1. Tổng quan
Ngày nay với lƣợng thông tin lớn trên Internet cũng nhƣ trong Intranet của
các tổ chức, doanh nghiệp. Nhu cầu có một công cụ trợ giúp để tìm, lọc và
quản lý tài nguyên trở nên quan trọng và cần thiết. Đây cũng là các lý do để
phân loại văn bản ra đời. Phân loại văn bản là tác vụ gán các văn bản dạng
ngôn ngữ tự nhiên vào một hoặc một số hạng mục đã định trƣớc.

Về mặt toán học có thể định nghĩa phân loại văn bản nhƣ sau:
Cho C là tập các nhóm: C={c
1
,c
2
,…, c

m
}
D là tập các văn bản: D={d
1
,d
2
,…, d
n
}
Phân loại văn bản là một hàm
fTC
đƣợc định nghĩa trong (1-1):
: {0,1}fTC C D
(1-1)
Với:
( , ) 0
ij
fTC c d 
, nếu d
j
không thuộc nhóm c
i
.

( , ) 1
ij
fTC c d 
, nếu d
j
thuộc nhóm c

i
.
Phân loại văn bản tự động là một công cụ hết sức quan trọng trong việc
quản lý và tổ chức thông tin nhƣ là việc sắp xếp thời gian thực các email hay
các tệp vào các tổ chức thƣ mục, xác định chủ đề để hỗ trợ thao tác xử lý chủ
để chỉ định, hay tìm các tài liệu phụ hợp với một sở thích nào đó.

Phân loại văn bản tự động bắt đầu xuất hiện từ nhƣng năm 60 và phát
triển mạnh mẽ trong thập kỷ trƣớc. Có hai hƣớng tiếp cận chính để xây dựng
các hệ thống phân loại văn bản. Một số hệ thống sử dụng phƣơng pháp dựa
trên heuristic, tƣơng tự nhƣ trong hệ chuyên gia để phân loại và chẩn đoán.
Các kỹ sƣ trí thức sẽ định nghĩa các luật giữa dữ liệu đầu vào (các từ, hay các
thuộc tính) và đầu ra là các nhóm. Việc phân loại sẽ thực hiện bằng cách thực
hiện quá trình suy diễn dựa trên các đầu vào và tri thức chuyên gia để suy ra
kết quả phân loại. Cách tiếp cận thứ hai là sử dụng học máy và có sử dung tập
văn bản đƣợc phân loại bằng tay trƣớc. Phƣơng pháp này đƣợc đánh giá là ít
12


tốn kém, xây dựng nhanh hơn và cho độ chính xác cao hơn. Tuy nhiên, phân
loại văn bản đƣa ra rất nhiều các thách thức cho học máy. Kích thƣớc không
gian thuộc tính lớn, lên tới hàng chục nghìn khi các từ đƣợc sử dụng, thậm chí
là hơn trong một số trƣờng hợp sử dụng các cụm từ, câu, hay xâu con, các đặc
điểm của ngôn ngữ tự nhiên nhƣ đồng nghĩa, trái nghĩa, phân phối không cân
bằng của từ vựng, chất lƣợng và số lƣợng của tập văn bản huấn luyện đều gây
ảnh hƣởng kết việc phân loại, hiệu năng và kết quả của nó.

Thông thƣờng phân loại văn bản thƣờng đƣợc sử dụng dƣới hai hình thức
là phân loại văn bản theo chủ đề và phân loại văn bản theo ngữ nghĩa.
- Phân loại văn bản theo chủ đề: đây là cách phân loại dựa vào chủ đề

mà văn bản có thể thuộc vào. Tập văn bản đƣợc phân thành các chủ đề khác
nhau.
Ví dụ: Giáo dục, Thể thao, Du lịch
- Phân loại văn bản theo ngữ nghĩa: đây là cách phân loại dựa vào ngữ
nghĩa trong văn bản đề phân loại chúng.
Ví dụ: Spam hay không spam, đƣợc đề nghị hay không đƣợc đề nghị

Nhận dạng mẫu và học máy đƣợc áp dụng vào phân loại văn bản, một số
phƣơng pháp đã đƣợc giới thiệu và sử dụng nhƣ Mạng Neutral, Cây quyết
định, kNN, Naïve Bayes, LLFS, SVM… các phƣơng pháp thu đƣợc các kết
quả khả quan. Gần đây, hƣớng nghiên cứu tập trung vào tăng độ chính xác và
hiệu năng của phân loại nhƣ giảm kích thƣớc không gian thuộc tính, sử dụng
tập dữ liệu gán nhãn nhỏ hay kết hợp học không giám sát. Hầu hết các
phƣơng pháp phân loại ban đầu đƣợc xây dựng và thí nghiêm cho văn bản
tiếng Anh sau đó dƣợc áp dụng cho văn bản trên các ngôn ngữ khác. Tuy
nhiên trong nhiều trƣờng hợp các ngôn ngữ khác nhau có những đặc điểm
khác nhau, nên các bƣớc trong phân loại cho các ngôn ngữ khác nhau có thể
sẽ có các biến đổi và mực độ chính xác do đó cũng khó đồng nhất cho mọi
ngôn ngữ.
13


1.2. Các bƣớc chính trong bài toán phân loại văn bản
Mô hình phân loại văn bản tổng quát gồm các bƣớc, mô tả trong hình 1-1:
- Tiền xử lý.
- Tạo chỉ mục.
- Chọn thuộc tính.
- Áp dụng thuật toán phân loại.
























Tiền xử lý là việc biểu diễn văn bản ở dạng thích hợp cho phân loại nhƣ
xóa bỏ các định dạng văn bản nếu văn bản ở dạng khác nhƣ .doc, .pdf,
.html…Tiến hành việc tách từ, bỏ đi các từ dừng và chọn gốc của từ.
Tiền xử lý
Tạo chỉ mục
Chọn thuộc tính
Áp dụng
Thuật toán


Tập văn bản




Đánh giá kết quả
Hình 1-1: Các bƣớc chính trong phân loại văn bản
14


Tạo chỉ mục là việc tính toán trọng số cho các thuộc tính bằng cách áp
dụng các phƣơng pháp tính trọng số nhƣ tần xuất từ TF, tần xuất từ kết hợp
tần xuất văn bản ngƣợc TFIDF…
Chọn thuộc tính là căn cứ vào trọng số, sử dụng một số phƣơng pháp chọn
thuộc tính nhƣ Tần xuất văn bản, Lợi ích thông tin, Thông tin tƣơng hỗ để
loại đi các thuộc tính không có ý nghĩa thông tin và không ảnh hƣởng đến kết
quả phân loại. Việc lựa chọn thuộc tính giúp giảm kích thƣớc không gian
thuộc tính, giảm thời gian tính toán, tránh overfitting, và tăng hiểu năng của
thuật toán sử dụng.
Áp dụng thuật toán phân loại là việc sử dụng một thuật toán phân loại hợp
lý để tiến hành huấn luyện và kiểm thử hiệu quả phân loại.
Việc đánh giá kết quả bao gồm xem xét và đánh giá thời gian huấn luyện,
thời gian kiểm thử, độ chính xác của phân loại. Các Tiêu chí thông thƣờng là
thời gian tính toán hiệu quả và độ chính xác cao.
Trong học máy, bài toán phân loại văn bản đƣợc minh họa nhƣ trong Hình
1-2.



Hình 1-2: Mô hình trong học máy


15


CHƢƠNG 2 - BIỂU DIỄN VĂN BẢN TRONG PHÂN
LOẠI VĂN BẢN

Hầu hết các thuật toán sử dụng trong phân loại văn bản đều sử dụng cách
tiếp cận dựa trên nền tảng nội dung của văn bản, thực hiện huấn luyện từ nội
dung của các văn bản đó. Vậy thì phƣơng pháp trình diễn nào sẽ đƣợc sử dụng
cho các văn bản và bằng cách nào ta có thể xử lí đƣợc một số lƣợng lớn thuộc
tính. Đó chính là những điểm then chốt trong việc áp dụng học máy để xử lý
văn bản.
2.1. Các vector thuộc tính
Phƣơng pháp trình bày văn bản đƣợc sử dụng thƣờng xuyên trong việc tìm
kiếm thông tin và học máy trong xử lý ngôn ngữ tự nhiên là biểu diễn văn bản
thành vector các thuộc tính (các từ). Phƣơng pháp biểu diễn văn bản này sử
dụng tất cả các từ của văn bản và không sử dụng bất cứ thứ tự hay cấu trúc
nào của văn bản. Khi có một tập các văn bản, mỗi văn bản sẽ đƣợc thể hiện
bằng một vector bao gốm tất cả các từ xuất hiện trong tập văn bản đó.

Hình 2-1: Biểu diễn văn bản bằng vector thuộc tính

Dĩ nhiên, ta cũng có thể đƣợc sử dụng thêm một số thông tin khác trong tập
văn bản nhƣ cấu trúc của các câu, vị trí của các từ hoặc những từ bên cạnh.
16


Câu hỏi ở đây là chúng ta sẽ thu đƣợc gì từ những thông tin bổ sung này và
chúng ta sẽ phải đánh đổi cái gì cho điều đó. Hiện tại, chƣa có nghiên cứu cụ

thể và khả quan nào về vấn đề này. Tuy nhiên, đã có những bằng chứng cho
thấy đối với những văn bản dài, việc xem xét các thông tin bổ sung ngoài tập
hợp các từ là không có nhiều ý nghĩa.

Hiện nay, các phƣơng pháp thể hiện văn bản hoặc sử dụng các thuộc tính
boolean để cho biết nếu một từ nào đó đã xuất hiện trong một văn bản không,
hoặc sử dụng tần số xuất hiện của một từ trong một văn bản cho trƣớc. Cho dù
là phƣơng pháp nào đƣợc sử dụng đi chăng nữa, vần đề ở đây là, số lƣợng
thuộc tính sẽ là rất lớn, đặc biệt khi mà văn bản rất dài. Để giải quyết vấn đề
này ta phải loại bỏ đi một số thuộc tính và giảm kích thƣớc của không gian
thuộc tính.
2.2. Việc lựa chọn thuộc tính
Quá trình lựa chọn sẽ chọn những thuộc tính để sử dụng trong việc phân
loại. Các thuộc tính không có (hoặc ít) ý nghĩa thông tin cũng nhƣ không ảnh
hƣởng đến kết quả phân loại có thể bị lƣợc bỏ, nhƣ thế việc phân loại sẽ đƣợc
thực hiện trong một không gian thuộc tính nhỏ hơn. Bằng cách thu nhỏ lại
kích cỡ của không gian thuộc tính, không những việc huấn luyện và kiểm thử
sẽ trở nên hiệu quả hơn, mà những ảnh hƣởng của overfitting đƣợc hạn chế đi.
Quá trình lựa chọn bao gồm các bƣớc sau: loại bỏ các từ dừng, xác định gốc
của từ, và lựa chọn thuộc tính.
2.2.1. Loại bỏ các từ dừng
Các từ có tần xuất xuất hiện lớn, có nội dung thông tin thấp, hoặc không có
tác dụng phân biệt đƣợc gọi là các từ dừng.
Ví dụ trong tiếng Anh các mạo từ “a, the, an, that, so…”, là các từ dừng
vì chúng chứa đựng ít thông tin cũng nhƣ nội dung thông tin thấp. Việc loại bỏ
các từ dừng đƣợc thực hiện bằng cách, một danh sách các từ dừng đƣợc cung
cấp từ trƣớc, trong quá trình xử lý văn bản, nếu một từ thuộc danh sách này thì
sẽ bị loại bỏ và không đƣợc đƣa vào không gian thuộc tính.
17



2.2.2. Xác định gốc của từ
Việc xác định gốc của từ làm giảm bớt những hình thái khác nhau của một
từ gốc. Ví dụ, từ “asks”, “asked”, và “asking” sẽ đƣợc rút gọn thành “ask”.
Quá trình này rút gọn lại số lƣợng những từ đặc trƣng (hay từ có khả năng thể
hiện đặc trƣng cao).
2.2.3. Lựa chọn thuộc tính
Mặc dù đã loại đi những từ stop word và chặn các hình thái khác nhau của
một từ gốc, số lƣợng từ riêng biệt có thể vẫn rất lớn, và hầu hết chúng lại chỉ
xuất hiện thi thoảng trong văn bản. Mô hình phân biệt từ [4] gợi ý những từ có
tần số xuất hiện thấp thì thƣờng không có ích trong việc phân loại. Những từ
đó nên đƣợc loại bỏ nhằm làm giảm kích thƣớc của không gian vector.
Phƣơng pháp lựa chọn thuộc tính đƣợc nghiên cứu nhiều, và đến nay vẫn
còn tiếp tục. Năm 1997, Yang và Pedersen đã nghiên cứu, thực nghiệm và đƣa
ra kết quả so sánh các phƣơng pháp lựa chọn thuộc tính [5]. Tuy nhiên sau đó
có rất nhiều các phƣơng pháp khác ra đời và đƣợc đánh già là hiệu quả hơn
các phƣơng pháp truyền thống. Dƣới đây trình bày một số phƣơng pháp truyền
thống cũng nhƣ một số kết quả nghiên cứu về lựa chọn thuộc tính từ năm 2000
đến nay.
2.3. Một số phƣơng pháp lựa chọn thuộc tính trong phân loại văn
bản
2.3.1. Ngƣỡng tần xuất văn bản (DF)
Tần xuất văn bản (DF) của một từ đƣợc xác định bằng số lƣợng văn bản
chứa từ đó. Ta tính giá trị tần số văn bản cho mỗi từ đơn trong tập văn bản
huấn luyện và loại bỏ khỏi không gian thuộc tính những từ có giá trị tần số
văn bản nhỏ hơn một số ngƣỡng giá trị cho trƣớc. Ở đây sử dụng giả định là
những từ ít xuất hiện sẽ không chứa ý nghĩa thông tin cho việc phân loại và
không ảnh hƣởng đến hiệu năng toàn cục. Vậy loại bỏ chúng đi sẽ thu nhỏ lại
kích cỡ của không gian thuộc tính. Phƣơng pháp này còn giúp cải tiến độ
chính xác khi những từ hiếm lại là những từ gây nhiễu.


18


Giới hạn Tần xuất văn bản là phƣơng pháp đơn giản nhất cho việc giảm bớt
từ vựng. Nó có thể thực hiện việc giới hạn đối với mọi tập văn bản lớn, với độ
phức tạp tính toán tỉ lệ thuận với số lƣợng các văn bản có trong tập huấn
luyện. Tuy nhiên, phƣơng pháp này đƣợc đánh giá là không ổn định trong việc
nâng cao hiệu quả, và không phải là một nguyên lí tiêu chuẩn cho việc lựa
chon thuộc tính. Bên cạnh đó, Tần xuất văn bản cũng không đƣợc sử dụng cho
quá trình loại bỏ từ mang ý nghĩa đặc biệt bởi sự giả định trong quá trình lấy
lại thông tin. Tức là, một số từ có tần xuất văn bản thấp nhƣng có nhiều ý
nghĩa thông tin thì không nên bị bỏ đi.
Một số biến thể của phƣơng pháp này là sử dụng tần xuất văn bản ngƣợc
(IDF) hay kết hợp với tần xuất của từ TF-IDF. Tần xuất của một từ t trong văn
bản d đƣợc định nghĩa là số lần xuất hiện của từ đó trong d.IDF đƣợc tính theo
công thức:

r
i
ri
T
IDF(t )=log
#T (t )



(2-1)
Trong (2-1),
r

T
là số văn bản của tập huấn luyện,
# ( )
ri
Tt
là số văn bản có
chứa từ t
i
.
TF-IDF đƣợc tính theo công thức:

ij ij j
TFIDF(t )=TF ×IDF(t )
(2-2)
Trong (2-2) t
ij
biểu thị từ t
j
trong văn bản d
i
, TF
ij
là tấn suất của từ t
j
trong văn
bản d
i
, IT-IDF đƣợc đánh giá là hiệu quả hơn so với DF, IDF và TF. Do tính
dễ hiểu, đơn giản trong cài đặt nên phƣơng pháp này đƣợc sử dụng trong các
thực nghiệm liên quan tiếp sau.

2.3.2. Lợi ích thông tin (IG)
Phƣơng pháp này đƣợc sử dụng thƣờng xuyên nhƣ một tiêu chuẩn trong
lĩnh vực học máy. Phƣơng pháp này xác định số lƣợng thông tin thu đƣợc cho
quá trình dự đoán bằng cách xác định liệu một từ nào đó có xuất hiện hay
không trong một văn bản. Nếu ta coi {c
i
}
m
i=1
biểu thị cho tập các lớp. Lợi ích
thông tin từ t sẽ đƣợc xác định nhƣ (2-3):
19



11
( ) ( )log ( ) ( ) ( | )log ( | )
mm
r i r i r r i r i
ii
G t P c P c P t P c t P c t

  


1
( ) ( | )log ( | )
m
r r i r i
i

P t P c t P c t



(2-3)
Định nghĩa trên có tính chất tổng quát hơn định nghĩa đƣợc sử dụng trong
các mô hình phân loại văn bản nhị phân. Ta sử dụng định nghĩa có tính chất
tổng quát hơn bởi vì bài toán phân loại văn bản thƣờng có không gian m chiều
(đôi khi giá trị của m có thể tới hàng chục ngàn), và ta cần xác định “độ tốt”
của một từ trên tất cả các lĩnh vực.
Với tập huấn luyện, với mỗi từ đơn, ta sẽ tính đƣợc giá trị thông tin thu
đƣợc của từ đó, và loại bỏ khỏi không gian thuộc tính những từ có giá trị
thông tin thu đƣợc nhỏ hơn một số ngƣỡng xác định trƣớc. Quá trình tính toán
bao gồm cả việc tính xác suất điều kiện của một lớp khi cho trƣớc một từ và
việc tính toán entropy nhƣ định nghĩa. Ƣớc lƣợng xác suất có độ phức tạp thời
gian O(N) và độ phức tạp bộ nhớ là O(V.N). Trong đó, N là số lƣợng các văn
bản huấn luyện, V là kích thƣớc của bộ từ vựng. Quá trình tính toán entropy sẽ
diễn ra trong khoảng thời gian O(V.m).
2.3.3. Thông tin tƣơng hỗ (MI)
Phƣơng pháp này là một tiêu chuẩn thƣờng xuyên đƣợc sử dụng trong việc
mô hình hóa thống kê ngôn ngữ đối với sự liên kết các từ và ứng dụng liên
quan. Xét bảng ngẫu nhiên 2 chiều của một từ là t và một nhóm c, A là số lần
t và c cùng xuất hiện, B là số lần t xuất hiện không cần c, C là số lần c xuất
hiện không cần t, và N là tổng số văn bản, thì thông tin trao đổi giữa t và c
đƣợc xác định nhƣ (2-4):

()
( , ) log
( ). ( )
r

rr
P t c
I t c
P t P c


(2-4)

Và đƣợc ƣớc lƣợng theo (2-5):

.
( , ) log
( ).( )
AN
I t c
A C A B


(2-5)

20


I(t,c) sẽ có giá trị bằng 0 nếu t và c không phụ thuộc lẫn nhau. Để xác định
giá trị của một từ trong quá trình lựa chọn thuộc tính toàn cục, Ta kết hợp các
điểm số của môt nhóm với một từ theo hai cách:

1
( ) ( ). ( , )
m

avg r i i
i
I t P c I t c



(2-6)

max 1
( ) max { ( , )}
m
ii
I t I t c


(2-7)

Việc tính toán MI có độ phức tạp thời gian O(V.m), tƣơng tự nhƣ quá trình
tính toán IG.
Điểm yếu của phƣơng pháp này là điểm số bị ảnh hƣởng nhiều bởi xác suất
biên của các từ, giá trị này đƣợc thể hiện bằng công thức (2-8):
I(t,c) = log Pr(t|c) – log Pr(t). (2-8)

Trong số những từ mà khả năng P
r
(t|c) là tƣơng đƣơng nhau, các từ ít xuất
hiện sẽ có giá trị cao hơn các từ thông thƣờng. Bởi vậy, giá trị này không thể
đƣợc dùng để so sánh giữa các từ có tần số xuất hiện quá chênh lệch.
2.3.4. Thống kê Chi bình phƣơng
2



Phƣơng pháp này tính sự phụ thuộc giữa t và c và có thể đƣợc so sánh với
phân phối
2

. Sử dụng bảng ngẫu nhiên 2 chiều của một từ t và một lớp c, A
là số lần t và c cùng xuất hiện, B là số lần t xuất hiện không có c, C là số lần c
xuất hiện không có t, D là số lần t và c đều không xuất hiện, và N là tổng số
văn bản , trọng số của từ đƣợc xác định theo (2-9):

2
2
.( )
( , )
( ).( ).( ).( )
N AD CB
tc
A C B D A B C D



   
(2-9)

Số liệu
2

sẽ có giá trị bằng 0 nếu t và c không phụ thuộc lẫn nhau. Ta
tính, với mỗi nhóm, thông kê

2

giữa mỗi từ trong một tập văn bản huấn
luyện và nhóm đó, sau đó kết hợp giá trị nhóm chỉ định của một từ thành hai
giá trị:

21


22
arg
1
( ) ( ) ( , )
m
r i i
i
t P c t c




(2-10)
22
max 1
( ) max { ( , )}
m
ii
t t c




(2-11)

Quá trình tính toán giá trị CHI có độ phức tạp bậc hai, tƣơng tự nhƣ đối
nhƣ với IG và MI. Điểm khác biệt chính giữa CHI và MI là
2

là một giá trị
đã đƣợc chuẩn hóa, vì vậy các giá trị
2

có thể đƣợc dùng để so sánh giữa các
từ trong cùng một nhóm văn bản. Bởi vậy, phƣơng pháp này không thích hợp
với những từ có tần số thấp.
2.3.5. Cƣờng độ của từ (TS)
Phƣơng pháp này đƣợc đề xuất và đánh giá bởi Wilbur và Sirotkin [6] cho
việc làm giảm bớt từ vựng trong quá trình thu thập dữ liệu văn bản, và sau này
đƣợc ứng dụng bởi Yang và Wilbur cho việc phân loại văn bản. Phƣơng pháp
này ƣớc lƣợng mức quan trọng của từ dựa trên việc mức độ xuất hiện của từ
đó trong những tài liệu có nội dụng liên quan chặt chẽ với nhau. Nó sử dụng
một tập hợp các văn bản huấn luyện để sinh ra những cặp văn bản có độ tƣơng
tự (đƣợc tính toán dựa trên giá trị cosine của 2 vectors đại diện cho 2 văn bản
đó) lớn hơn một ngƣỡng. “Cƣờng độ từ” sau đó đƣợc tính toán dựa trên xác
suất có điều kiện của một từ sẽ xuất hiện trong nửa thứ hai của một cặp văn
bản, với điều kiện cho trƣớc là từ đó xuất hiện ở nửa thử nhất của cặp văn bản.
Nếu ta coi x và y là một cặp văn bản bất kì có nội dung liên quan, và t là một
từ, vậy thì giá trị trọng số của từ đó đƣợc xác định nhƣ (2-12):
s(t) = Pr(t

y |t


x). (2-12)

Tiêu chuẩn của cƣờng độ từ rất khác so với tiêu chuẩn đƣợc đề cập trƣớc.
Tiêu chuẩn này dựa trên quá trình phân cụm văn bản, với giả định rằng những
văn bản có nhiều từ chung thì có nội dung liên quan (với nhau), và những từ
xuất hiện trong phần gối nhau của hai văn bản là liên quan nhiều với nhau về
mặt thông tin. Phƣơng pháp này không sử dụng thông tin về các mối liên hệ
22


giữa từ và nhóm văn bản. Nó tƣơng tự nhƣ tiêu chuẩn DF, nhƣng khác so với
các phƣơng pháp IG, MI, và thông kê
2

.
2.3.6. Một số phƣơng pháp khác
LSI ( Latent Semantic Indexing) cũng là một phƣơng pháp làm giảm
kích thƣớc n của không gian thuộc tính [7]. Không gian đƣợc giảm có kích
thƣớc là hệ tọa độ trực giao m chiều với m<n. Phƣơng pháp này tƣơng đƣơng
với việc ánh xạ các từ cùng xuất hiện vào trong một trục tọa độ.
Một phƣơng pháp nữa là Trọng số tin cậy (Conf-Confidence Weight)
đƣợc đề suất bới P.Soucy [8], ý tƣởng của phƣơng pháp này là cân nhắc thêm
các thông tin về nhóm văn bản. Nó xem xét tỷ lệ giữa các văn bản trong nhóm
c chƣa từ t và tỷ lệ các văn bản không thuộc nhóm c,
c
. Nếu nhƣ hai tỷ lệ này
có sự chênh lêch lớn tức là từ t quan trong và cần có trọng số lớn.
Năm 2003, H. Xu đề suất phƣơng pháp tính trọng số TM2 (second
moment of term), với giả sử tất cả các nhóm đều tƣơng tứng với một phân

phối từ cố định [9], thực nghiệm của H. Xu cho thấy phƣơng pháp này cho
kết quả tốt hơn Conf, IDF và IG.
2.4. Tổng kết chƣơng
Nhƣ vậy, trong phân loại văn bản, văn bản đƣợc biểu diễn dƣới dạng
vector thuộc tính. Tuy nhiên khi đó ta sẽ có không gian thuộc tính với số chiều
lớn, và các vector thƣa. Để giảm độ phức tạp tính toán, tăng hiệu năng của
thuật toán phân loại, và giảm không gian bộ nhớ cần thiết để lƣu trữ dữ liệu.
Ta sử dụng các phƣơng pháp làm giảm khích thƣớc không gian thuộc tính nhƣ
loại bỏ các từ dừng bằng các xây dựng danh sách các từ dừng, xác định gốc
của từ và sử dụng các phƣơng pháp lựa chon thuộc tính nhƣ ngƣỡng tần xuất
văn bản (DF), thông tin thu đƣợc (IG), thông tin tƣơng hỗ (MI), thống kê Chi
bình phƣơng (
2

), hay cƣờng độ từ (TS). Thực nghiệm của Y. Yang [5] cho
thấy có mối quan hệ chặc chẽ giữa các phƣơng pháp DF, IG va CHI. Điều này
chứng tỏ DF không chỉ là một phƣơng pháp đơn giản mà có thể sử dụng để
thay thế IG va CHI, khi mức độ tính toán của các phƣơng này là quá phức tạp
và mất nhiều thời gian. Yang cho rằng IG va CHI tỏ ra hiệu quả nhất mặc dù
23


loại bỏ đi một số lƣợng lớn các thuộc tính mà không ảnh hƣởng đến độ chính
xác của kết quả phân loại (bỏ đi 98% các từ duy nhất), DF có kết quả tƣơng
đƣơng với CH khi 90% từ đƣợc loại và TS có kết quả tƣơng đƣơng với
khoảng 50% từ đƣợc loại.
Nhƣ vây có thể thấy DF, IG và CHI là hiệu quả và có thể áp dụng vào bài
toán phân loại văn bản trong thực tế. Lựa chọn thuộc tính tiếp tục đƣợc nghiên
cứu với nhiều công trình và kết quả cho tới nay. Tuy nhiên hiện chƣa có các
thực nghiệm và đánh giá so sánh tính hiệu quả của các phƣơng pháp lựa chọn

thuộc tính cho văn bản tiếng Việt. Đây thực sự là việc nên làm, cũng nhƣ đƣa
ra các hƣớng dẫn trong các trƣờng hợp nào, loại văn bản gì thì phƣơng pháp
nào tỏ ra hiệu quả cho cộng đồng NLP tiếng Việt.
Do tính đơn giản trong tính toán và cài đặt các thực nghiệm về sau của luận
văn chủ yếu sử dụng phƣơng pháp DF và các biến thể của nó là IDF và TF-
IDF.

24


CHƢƠNG 3 - CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN
BẢN TRUYỀN THỐNG
3.1. Phƣơng pháp Rocchio
Ý tƣởng của phƣơng pháp này là xây dựng vector mô hình cho mỗi nhóm
C
i
, prototype vector, đây là vector trung bình của tất cả các vector của văn bản
huấn luyện nằm trong nhóm C
i
:

i
i
iC
C
C centroid centroid


(3-1)
Sau đó tính mức độ tƣơng tự giữa văn bản kiểm thử và mỗi vector mô

hình, văn bản kiểm thử sẽ đƣợc gép vào nhóm có độ tƣơng tự cao nhất.
Nhận xét:
Ƣu điểm:
- Dễ cài đặt.
- Thời gian học rất nhanh.
Nhƣợc điểm:
- Tính chính xác thấp
- Các kết hợp tuyến tính quá đơn giản đề phân loại.
- Các tham số α và β trong (3-1) đƣợc xác định bằng thực nghiệm.
3.2. Phƣơng pháp k- Nearest Neighbour
kNN hay k – láng giềng gần nhất là phƣơng pháp phân loại văn bản truyền
thống khá nổi tiếng theo hƣớng tiếp cận thống kê đã đƣợc nghiên cứu trong
nhiều năm qua. kNN đƣợc đánh giá là một trong những phƣơng pháp phân
loại văn bản tốt nhất đƣợc sử dụng từ thời kỳ đầu trong những nghiên cứu về
phân loại văn bản.
Ý tƣởng của phƣơng pháp này là khi cần phân loại một văn bản mới, thuật
toán sẽ xác định khoảng cách (ở đây có thể áp dụng các công thức về khoảng
cách nhƣ Euclide, Cosine, Manhattan,…) của tất cả các văn bản trong tập
huấn luyện đến văn bản cần phân loại để tìm ra k văn bản gần nhất, gọi là k-
Nearest Neighbour (k láng giềng gần nhất), sau đó dùng các khoảng cách này
đánh trọng số cho tất cả các chủ đề. Khi đó, trọng số của một chủ đề chính là

×