BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC CẦN THƠ
PHẠM HOÀNG SƠN
NGHIÊN CỨU PHÂN LOẠI VĂN BẢN VỚI KỸ
THUẬT PHÂN TÍCH GIÁ TRỊ ĐƠN KẾT HỢP
VỚI MÁY HỌC VECTƠ HỖ TRỢ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Cần Thơ – 2012
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC CẦN THƠ
PHẠM HOÀNG SƠN
NGHIÊN CỨU PHÂN LOẠI VĂN BẢN VỚI KỸ
THUẬT PHÂN TÍCH GIÁ TRỊ ĐƠN KẾT HỢP
VỚI MÁY HỌC VECTƠ HỖ TRỢ
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Ngƣời hƣớng dẫn khoa học
TS. TRẦN CAO ĐỆ
Cần Thơ – 2012
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của bản thân. Các số liệu, kết quả trình
bày trong luận văn này là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công
trình luận văn nào trƣớc đây.
Cần Thơ, ngày tháng năm 2012
Ngƣời cam đoan
PHẠM HOÀNG SƠN
iii
LỜI CẢM ƠN
Trƣớc tiên, tôi xin chân thành cảm ơn Thầy TS. Trần Cao Đệ đã tận tình chỉ dạy và
hƣớng dẫn tôi trong quá trình học tập tại trƣờng và thực hiện luận văn này.
Tôi xin cảm ơn quý thầy, cô khoa Công nghệ thông tin và truyền thông trƣờng Đại học
Cần Thơ đã tận tình giảng dạy trong thời gian tôi học tập tại khoa.
Cuối cùng, xin cảm ơn gia đình, bạn bè và đồng nghiệp đã giúp đỡ tôi trong suốt thời
gian học và hoàn thành luận văn này.
Cần Thơ, ngày tháng năm 2012
Tác giả
Phạm Hoàng Sơn
iv
MỤC LỤC
1.
2.
3.
4.
5.
6.
7.
8.
9.
Trang bìa ............................................................................................................. i
Trang phụ bìa ..................................................................................................... ii
Lời cam đoan .................................................................................................... iii
Lời cảm ơn ........................................................................................................ iv
Mục lục ...............................................................................................................v
Danh mục các ký hiệu, các từ viết tắt .............................................................. vii
Danh sách bảng ............................................................................................... viii
Danh sách hình ................................................................................................. ix
Tóm tắt ................................................................................................................x
CHƢƠNG 1 MỞ ĐẦU .............................................................................................1
1.1 ĐẶT VẤN ĐỀ .....................................................................................................1
1.2 MỤC TIÊU NGHIÊN CỨU................................................................................1
1.3 PHẠM VI VÀ GIỚI HẠN CỦA ĐỀ TÀI NGHIÊN CỨU ................................2
1.4 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN .........................................................2
1.5 CẤU TRÚC LUẬN VĂN ...................................................................................3
CHƢƠNG 2 PHÂN LOẠI VĂN BẢN .....................................................................5
2.1 GIỚI THIỆU BÀI TOÁN PHÂN LOẠI VĂN BẢN ..........................................5
2.2 MÔ HÌNH PHÂN LOẠI VĂN BẢN ..................................................................5
2.2.1 Giai đoạn tiền xử lí ...........................................................................................5
2.2.2 Huấn luyện máy học.........................................................................................6
2.2.3 Phân loại văn bản .............................................................................................7
2.3 TIỀN XỬ LÍ VĂN BẢN .....................................................................................8
2.3.1 Chuẩn hóa văn bản ...........................................................................................8
2.3.2 Tách từ..............................................................................................................8
2.3.2.1 Vai trò của tách từ .........................................................................................8
2.3.2.2 Đặc điểm tiếng Việt ......................................................................................8
2.3.2.3 Một số phƣơng pháp tách từ tiếng Việt.........................................................9
2.3.2.4 Phƣơng pháp khớp tối đa ............................................................................10
2.3.2.5 Phƣơng pháp MMSEG ................................................................................10
v
2.3.3 Biểu diễn văn bản ...........................................................................................12
2.3.3.1 Trọng số logic .............................................................................................13
2.3.3.2 Tần suất từ ...................................................................................................13
2.3.3.3 Trọng số TFIDF ..........................................................................................13
2.3.4 Trích chọn đặc trƣng ......................................................................................13
2.3.4.1 Ngƣỡng tần suất tài liệu ..............................................................................14
2.3.4.2 Phƣơng pháp đo độ lợi thông tin .................................................................14
2.3.4.3 Phƣơng pháp lƣợng tin tƣơng hỗ ................................................................15
2.4 CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN ............................................15
2.4.1 Phƣơng pháp cây quyết định ..........................................................................15
2.4.2 Phƣơng pháp k láng giềng gần nhất ...............................................................17
2.4.3 Phƣơng pháp Bayes thơ ngây.........................................................................18
2.4.4 Phƣơng pháp máy học vectơ hỗ trợ ...............................................................19
2.5 KẾT LUẬN CHƢƠNG 2..................................................................................22
CHƢƠNG 3 PHÂN TÍCH GIÁ TRỊ ĐƠN .............................................................24
3.1 GIỚI THIỆU .....................................................................................................24
3.2 CƠ SỞ LÝ THUYẾT ........................................................................................24
3.2.1 Ý tƣởng kỹ thuật SVD ...................................................................................24
3.2.2 Tính SVD đầy đủ của một ma trận ................................................................27
3.2.2.1 Các khái niệm liên quan ..............................................................................27
3.2.2.2 Tính SVD đầy đủ của một ma trận .............................................................29
3.2.3 Tính SVD rút trích .........................................................................................33
3.3 ỨNG DỤNG SVD VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN .....................34
3.4 KẾT LUẬN CHƢƠNG 3..................................................................................37
CHƢƠNG 4 MÁY HỌC VECTƠ HỖ TRỢ ..........................................................38
4.1 GIỚI THIỆU .....................................................................................................38
4.2 GIẢI THUẬT MÁY HỌC VECTƠ HỖ TRỢ ..................................................38
4.2.1 Giải thuật SVM cho dữ liệu tách rời tuyến tính .............................................38
4.2.2 Giải thuật SVM cho dữ liệu không tách rời tuyến tính ..................................40
vi
4.3 ÁP DỤNG SVM VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN ........................44
4.4 KẾT LUẬN CHƢƠNG 4..................................................................................45
CHƢƠNG 5 PHÂN LOẠI VĂN BẢN VỚI KỸ THUẬT PHÂN TÍCH GIÁ TRỊ ĐƠN
KẾT HỢP VỚI MÁY HỌC VECTƠ HỖ TRỢ ......................................................46
5.1 MÔ HÌNH PHÂN LOẠI ...................................................................................46
5.2 TIỀN XỬ LÍ ......................................................................................................48
5.2.1 Chuẩn hóa văn bản .........................................................................................48
5.2.2 Áp dụng phƣơng pháp tách từ MMSEG ........................................................49
5.2.3 Áp dụng phần mềm vnTokenizer để tách từ ..................................................52
5.2.4 Loại stopword và từ có tần suất tài liệu thấp .................................................52
5.2.5 Mô hình hóa văn bản ......................................................................................53
5.3 ÁP DỤNG SVD RÚT TRÍCH ĐẶC TRƢNG..................................................55
5.4 HUẤN LUYỆN MÁY HỌC SVM ...................................................................56
5.5 KẾT LUẬN CHƢƠNG 5..................................................................................57
CHƢƠNG 6 THỰC NGHIỆM ...............................................................................58
6.1 TẬP DỮ LIỆU MẪU ........................................................................................58
6.2 PHƢƠNG PHÁP ĐÁNH GIÁ ..........................................................................59
6.3 KẾT QUẢ THỰC NGHIỆM ............................................................................60
CHƢƠNG 7 KẾT LUẬN........................................................................................74
TÀI LIỆU THAM KHẢO .......................................................................................76
PHỤ LỤC 1 .............................................................................................................78
vii
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Từ
Tiếng Anh
Tiếng Việt
DF
Document Frequency
Ngƣỡng tần suất tài liệu
IDF
Inverse document frequency
Tần suất tài liệu ngƣợc
IG
Informational Gain
Độ lợi thông tin
KNN
K - Nearest Neighbor
K –láng giềng gần nhất
MI
Mutual Infomation
Độ đo tƣơng hỗ
MMSEG
Maximum Matching Segmentation
Phân đoạn so khớp cực đại
SVD
Singular Value Decomposition
Phân tích giá trị đơn
SVM
Support Vector Machine
Máy học vector hỗ trợ
TF
Term Frequenct
Tần suất từ
TF_IDF
Term frequency_Inverse document
frequency
Tần suất từ_Tần suất tài liệu
ngƣợc
viii
DANH SÁCH BẢNG
Bảng
2.1
5.1
5.2
5.3
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
Tiêu đề
Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh [4]
Danh sách chuẩn hóa dấu tiếng Việt[6]
Thống kê độ dài của từ trong từ điển[4]
Ma trận trọng số từ - tài liệu
Chủ đề và số lƣợng tài liệu/chủ đề
Ma trận kiểm chứng (confusion) dự đoán 50 phần tử thuộc 3 lớp a, b, c
Ma trận confusion 2x2, hay bảng contingency[5]
Các tham số huấn luyện SVM
Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phƣơng pháp tách từ MMSEG)
Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phƣơng pháp tách từ theo phần
mềm vnTokenizer)
Tham số huấn luyện SVM
Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phƣơng pháp tách từ MMSEG,
và rút trích SVD)
Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phƣơng pháp tách từ
vnTokenizer, và rút trích SVD)
Tổng hợp các kết quả kiểm tra trên tập dữ liệu huấn luyện
Ma trận kiểm chứng trên tập dữ liệu kiểm tra và độ chính xác (sử dụng
phƣơng pháp tách từ MMSEG, và không áp dụng SVD)
Ma trận kiểm chứng trên tập dữ liệu kiểm tra và độ chính xác (tách từ bằng
phần mềm vnTokenizer, và không áp dụng SVD)
Ma trận kiểm chứng trên tập dữ liệu kiểm tra và độ chính xác (sử dụng
phƣơng pháp tách từ MMESG, và áp dụng rút trích SVD)
Ma trận kiểm chứng trên tập dữ liệu kiểm tra và độ chính xác (tách từ bằng
phần mềm vnTokenizer, và áp dụng rút trích SVD)
Tổng hợp các kết quả kiểm tra trên tập dữ liệu độc lập
Trang
9
48
49
54
58
59
60
61
62
63
64
65
66
67
69
70
71
72
73
ix
DANH SÁCH HÌNH
Hình
2.1
2.2
2.3
2.4
3.1
3.2
3.3
3.4
3.5
4.1
4.2
4.3
4.4
4.5
5.1
5.2
Tiêu đề
Sơ đồ giai đoạn tiền xử lí
Sơ đồ giai đoạn huấn luyện
Sơ đồ giai đoạn phân lớp
Siêu phẳng với lề cực đại trong R2
Quay các mũi tên có kích thƣớc cố định để mô tả hình tròn
Quay các mũi tên có chiều dài biến thiên để mô tả hình ellip
Mô tả quá trình giảm chiều
Các vectơ “left” và “right”
Minh họa SVD đƣợc rút trích
Vấn đề phân lớp tuyến tính
Siêu phẳng với lề cực đại trong R2
Dữ liệu không tách rời tuyến tính
Vấn đề phân lớp phi tuyến
Phân lớp tuyến tính trong không gian trung gian
Sơ đồ giai đoạn phân lớp SVM [1]
Sơ đồ giai đoạn phân loại văn bản [1]
Trang
6
7
7
20
25
26
27
32
33
38
39
40
43
43
46
47
x
TÓM TẮT
Với sự phát triển mạnh mẽ của internet thì khối lƣợng tài liệu điện tử ngày càng nhiều.
Do đó phân loại văn bản tự động đã trở thành phƣơng pháp quan trọng để tổ chức và
khai thác tri thức từ nguồn tài liệu này. Nhiều phƣơng pháp máy học đã đƣợc áp dụng
cho bài toán phân loại văn bản, nhƣng hầu hết chúng đƣợc áp dụng cho văn bản tiếng
Anh. Trong những năm gần đây đã có nhiều nghiên cứu về phân loại văn bản tiếng
Việt với kết quả khả quan. Tuy nhiên, cần có những nghiên cứu chuyên sâu để có thể
áp dụng các phƣơng pháp này trong thực tế.
Luận văn này nghiên cứu phân loại văn bản tiếng Việt với kỹ thuật phân tích giá trị
đơn (Singular Value Decomposition - SVD) kết hợp với máy học vectơ hỗ trợ (Support
Vector Machine - SVM). SVD là một kỹ thuật xấp xỉ ma trận đƣợc áp dụng rộng rãi
trong xử lý ngôn ngữ tự nhiên và đã trở thành nền tảng của kỹ thuật phân tích ngữ
nghĩa tiềm ẩn. Trong bài toán phân loại văn bản SVD không những xấp xỉ ma trận đặc
trƣng về số chiều nhỏ hơn mà nó còn làm tăng độ liên kết ngữ nghĩa giữa các tài liệu
và loại bỏ nhiễu. Trong khi đó, SVM là một giải thuật máy học đƣợc đánh giá là rất
phù hợp cho bài toán phân loại văn bản vì nó có thể xử lý dữ liệu với số chiều lớn, tự
động điều chỉnh tham số trong quá trình học và phù hợp với dữ liệu có thể tách tuyến
tính. Các thực nghiệm cho thấy rằng, việc kết hợp SVD và SVM để phân loại văn bản
đạt kết quả tốt hơn so với chỉ áp dụng SVM thuần túy.
Từ khóa: phân loại văn bản, máy học vectơ hỗ trợ, phân tích giá trị đơn.
xi
ABSTRACT
With the rapid growth of the internet, the volume of electronic documents has been
increasing. Therefore, automatic categorization of documents has become the key
method for information organization and knowledge discovery. Many machine
learning methods have been proposed for text categorization, but most of them have
been applied to English documents. In recent years, there have been a number of
studies into Vietnamese text categorization, and the results are encouraging However,
for these methods to be applied successfully further studies should be conducted.
This study examines the automatic categorization of Vietnamese documents with
Singular Value Decomposition (SVD) in combination with Support Vector Machine
(SVM). SVD is a matrix approximation technique which has been widely applied in
natural language processing and has become the foundation for latent semantic
analysis techniques. In text classification SVD
not only characterizes the
approximation characteristic matrix of smaller dimension, but also increases the
semantic link between the document and removes noise. Additionally, SVM is
considered as a machine learning algorithm well-suited for the text classification as it
can handle large dimensional data, automatically adjust the parameters in the learning
process and be separated linearly in accordance with data. Many experiments have
shown that the combination of SVD and SVM to classify documents achieves better
results than the application of the pure SVM.
Keywords: text classification, support vector machine learning, singular value
decomposition.
xii
CHƢƠNG 1 MỞ ĐẦU
1.1 ĐẶT VẤN ĐỀ
Trong thời đại số hóa ngày nay, nhiều nguồn thông tin dưới dạng văn bản đã được
chuyển dần sang dạng dữ liệu được lưu trữ trên máy tính hoặc truyền tải trên mạng.
Chính tính ưu việt của nó như: lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, tiện dụng
trong sử dụng và trao đổi . . . Từ các nguồn như: thư viện điện tử, thư điện tử, worldwide-web, các cơ sở dữ liệu trực tuyến… đã tạo thành một khối lượng dữ liệu khổng
lồ. Việc khai phá, tìm kiếm trên khối dữ liệu khổng lồ đó nhằm tìm ra những kiến thức
cần thiết đã trở thành vấn đề rất được quan tâm. Số lượng văn bản ngày càng nhiều thì
nhu cầu phân loại càng lớn.
Bài toán phân loại văn bản tự động là một trong những bài toán khá cổ điển trong việc
xử lý dữ liệu văn bản. Đây là vấn đề có vai trò quan trọng khi phải xử lý một khối
lượng dữ liệu lớn. Trên thế giới đã có nhiều công trình nghiên cứu về lĩnh vực này và
đạt được kết quả khả quan, nhất là đối với văn bản tiếng Anh. Tuy vậy các nghiên cứu
và ứng dụng đối với văn bản tiếng Việt còn nhiều hạn chế. Một mặt là do đặc điểm về
từ vựng và câu. Các phương pháp phân loại thường dựa trên trên việc phân tích văn
bản thành từ vựng và câu. Đây là vấn đề còn nhiều khó khăn đối với tiếng Việt.
Để có một cách tiếp cận mới, đạt hiệu quả tốt hơn trong bài toán phân loại văn bản
tiếng Việt tự động, đề tài này tập trung nghiên cứu phân loại văn bản tiếng Việt với kỹ
thuật phân tích giá trị đơn(Singular Value Decomposition - SVD) kết hợp với máy học
vector hỗ trợ (Support Vector Machine - SVM). Bởi vì SVD là kỹ thuật phân tích ma
trận có khả năng rút gọn ma trận đặc trưng, loại bỏ các thuộc tính nhiễu rất tốt. Đây là
kỹ thuật đã được áp dụng rộng rãi trong xử lý ngôn ngữ tự nhiên và là nền tảng của kỹ
thuật ngữ nghĩa tiềm ẩn. Do đó với việc kết hợp kỹ thuật phân tích giá trị đơn sẽ làm
cho bộ phân loại SVM đạt hiệu quả tốt hơn.
1.2 MỤC TIÊU NGHIÊN CỨU
Đề tài này nghiên cứu phân loại văn bản theo phương pháp máy học vector hỗ trợ
(SVM). Kỹ thuật phân tích giá trị đơn (SVD) sẽ được áp dụng để phân tách lấy các
thành phần chính của các đặc trưng nhằm rút gọn số đặc trưng và loại bỏ nhiễu.
Quá trình phân loại văn được chia thành ba giai đoạn:
Giai đoạn 1: Tiền xử lí dữ liệu. Là giai đoạn xây dựng dữ liệu mẫu và thực hiện các
công việc tiền xử lí như: chuyển dữ liệu về Font UTF-8, chuẩn hóa dấu tiếng Việt, tách
1
từ, loại bỏ stopword, mô hình hóa văn bản thành vector chứa TF_IDF của các từ. Dùng
kỹ thuật SVD để phân tích giá trị đơn và rút gọn ma trận đặc trưng nhằm giảm số chiều
không gian đang xét.
Giai đoạn 2: Huấn luyện SVM. Là giai đoạn xây dựng bộ phân lớp SVM từ các tài
liệu mẫu. Sử dụng các hàm nhân và các tham số tương ứng để tạo bộ phân lớp tốt nhất.
Giai đoạn 3: Phân loại hay phân lớp văn bản. Là giai đoạn dự đoán lớp của những
tài liệu mới (chưa biết chủ đề) dựa vào bộ phân lớp đã xây dựng.
1.3 PHẠM VI VÀ GIỚI HẠN CỦA ĐỀ TÀI NGHIÊN CỨU
Đề tài này tập trung nghiên cứu phân loại văn bản với máy học vectơ hỗ trợ. Kỹ thuật
phân tích giá trị đơn sẽ được nghiên cứu để áp dụng trong giai đoạn trích chọn đặc
trưng nhằm rút gọn số đặc trưng, loại bỏ các đặc trưng nhiễu. Số lượng chủ đề trong
nghiên cứu là có hạn, mỗi văn bản thuộc một chủ đề nhất định.
1.4 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Phân loại văn bản là một bài toán khá cổ điển trong lĩnh vực xử lý dữ liệu văn bản. Đó
là việc ánh xạ một văn bản vào một chủ đề đã biết trong một tập hữu hạn các chủ đề
dựa trên ngữ nghĩa của văn bản[1]. Với nguồn tài liệu phong phú như hiện nay thì việc
tự động phân loại một văn bản vào một chủ đề nào đó để dễ dàng tìm kiếm và sử dụng
là một việc cần thiết.
Trên thế giới bài toán phân loại văn bản được nhiều cá nhân và tổ chức quan tâm
nghiên cứu. Đã có nhiều kỹ thuật máy học và khai phá dữ liệu áp dụng cho bài toán
phân loại văn bản. Theo tổng hợp về các kỹ thuật máy học áp dụng cho bài toán phân
loại văn bản được nghiên cứu bởi nhóm tác giả trong [11] thì các phương pháp như:
cây quyết định (Decision Tree), K –láng giềng gần nhất (K – Nearest Neighbor), Bayes
ngây thơ (Bayes naïf), máy học vector hỗ trợ (SVM)… đã áp dụng vào bài toán phân
loại văn bản và đều cho kết quả khả quan. Trong đó phương pháp máy học vector hỗ
trợ cho kết quả bằng hoặc cao hơn các phương pháp khác [11][14].
Ở nước ta, trong những năm gần đây bài toán phân loại văn bản tiếng Việt cũng được
nhiều tổ chức, cá nhân quan tâm nghiên cứu. Một số công trình nghiên cứu về phân
loại văn bản tiếng Việt với các cách tiếp cận khác nhau như: máy học vector hỗ trợ [3],
cây quyết định [6], mô hình đồ thị [7], sử dụng lý thuyết tập thô và luật kết hợp [8], …
Nhìn chung, những cách tiếp cận này đều cho kết quả khá tốt. Tuy vậy để đi đến những
triển khai khả thi thì vẫn cần đẩy mạnh nghiên cứu trên hướng này.
2
Trong các cách tiếp cận trên thì SVM cho kết quả tương đương hoặc tốt hơn các
phương pháp khác. SVM là một họ các phương pháp dựa trên cơ sở các hàm nhân để
tối thiểu hóa rủi ro ước lượng. Phương pháp SVM ra đời từ lý thuyết học thống kê do
Vapnik và Chervonenkis xây dựng[19] và có nhiều tiềm năng phát triển về mặt lý
thuyết cũng như ứng dụng trong thực tiễn. Tuy nhiên, cũng như các kỹ thuật phân loại
khác, một trong những khó khăn trong việc áp dụng kỹ thuật SVM để phân loại văn
bản tiếng Việt đó là số lượng đặc trưng của văn bản thường rất lớn [1][2][3][11], chứa
nhiều đặc trưng không mang ý nghĩa phân loại hoặc nhiễu. Do đó, để bài toán phân loại
văn bản có hiệu quả và áp dụng được trong thực tiễn, cần thiết phải nghiên cứu làm
giảm số lượng đặc trưng một cách hiệu quả.
Trong bài toán phân loại văn bản đã có nhiều phương pháp trích chọn đặc được biết
đến như: phương pháp lượng tin tương hỗ (MI), phương pháp đo độ lợi thông tin (IG),
phương pháp ngưỡng tần suất tài liệu (DF)... Các phương pháp này đã đạt được những
hiệu quả nhất định khi áp dụng trong bài toán phân loại văn bản [3][11][14]. Gần đây
kỹ thuật phân tích giá trị đơn (SVD) được đề xuất và áp dụng để làm giảm số chiều của
ma trận đặc trưng một cách hiệu quả. Đây là nền tảng của kỹ thuật phân tích ngữ nghĩa
tiềm ẩn (LSI – Latent Semantic Indexing). Kỹ thuật này đã được áp dụng vào các bài
toán xử lí văn bản khác nhau như lập chỉ mục và truy vấn [12], tóm tắt văn bản [15],
phát hiện sao chép [18]. SVD không những là kỹ thuật rút trích đặc trưng tốt mà còn
nâng cao hiệu suất của bài toán xử lý văn bản [9][10][11].
Do đó, việc kết hợp SVD vào SVM để phân loại văn bản sẽ đạt hiệu quả cao. Bởi vì
SVD được sử dụng trong quá trình tiền xử lí sẽ chọn lọc đặc trưng, làm nổi trội các đặc
trưng riêng biệt, loại bỏ các đặc trưng nhiễu và đặc biệt là rút gọn không gian đặc
trưng. Trên cơ sở đó SVM sẽ tạo ra bộ phân lớp đạt hiệu quả cao và tiết kiệm tài
nguyên hơn trong quá trình xử lý.
1.5 CẤU TRÚC LUẬN VĂN
Nội dung của luận văn được chia thành 7 chương:
Chương 1: Mở đầu. Phần này trình bày đặc vấn đề, mục tiêu nghiên cứu, phạm vi và
giới hạn của đề tài nghiên cứu, ý nghĩa khoa học và thực tiển và cấu trúc luận văn.
Chương 2: Phân loại văn bản. Phần này trình các vấn đề liên quan đến bài toán phân
loại văn bản như tiền xử lí, trích chọn đặc trưng, biểu diễn văn bản và các phương pháp
phân loại văn bản.
3
Chương 3: Phân tích giá trị đơn. Phần này trình bày cơ sở lý thuyết về kỹ thuật phân
tích giá trị đơn và việc áp dụng kỹ thuật này vào bài toán phân loại văn bản.
Chương 4: Máy học vector hỗ trợ. Phần này trình bày cơ sở lý thuyết về máy học
vector hỗ trợ và việc áp dụng máy học vector hỗ trợ vào bài toán phân loại văn bản.
Chương 5: Phân loại văn bản bằng kỹ thuật phân tích giá trị đơn kết hợp với máy học
vector hỗ trợ. Phần này trình bày nghiên cứu mô hình phân loại văn bản với máy học
vector hỗ trợ kết hợp với phân tích giá trị đơn trong giai đoạn tiền xử lí.
Chương 6: Thực nghiệm và kết quả nghiên cứu. Phần này trình bày một số kết quả thí
nghiệm phân loại văn bản dựa trên bộ phân loại SVM kết hợp với SVD. So sánh, nhận
xét kết quả đạt được.
Chương 7: Kết luận. Phần này trình bày kết luận về những ưu điểm và hạn chế của
phương pháp phân loại văn bản với máy học vector hỗ trợ có kết hợp kỹ thuật phân
tích giá trị đơn, định hướng nghiên cứu và hướng phát triển của luận văn.
4
CHƢƠNG 2 PHÂN LOẠI VĂN BẢN
2.1 GIỚI THIỆU BÀI TOÁN PHÂN LOẠI VĂN BẢN
Phân loại văn bản có thể xem là bài toán phân lớp dữ liệu, đó là việc gán các nhãn phân
loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn bản
đã được gán nhãn trong tập huấn luyện [1]. Một cách hình thức, cho một tập {Si} hữu
hạn các chủ đề mỗi chủ đề gồm một số văn bản {Dij} đã được xác định trước là thuộc
về chủ đề Si (bằng chuyên gia con người chẳng hạn). Khi cần xem xét một văn bản T
để phân loại nó thuộc về chủ đề nào, người ta có thể dùng kỹ thuật phân lớp dữ liệu để
gán nhãn Sk nào đó cho T.
Có hai loại bài toán phân loại văn bản thường gặp[6]
- Đơn nhãn: là chính xác một phân loại được gán cho một văn bản, còn được gọi là
phân loại nhị phân.
- Đa nhãn: nhiều phân loại có thể được gán cho một văn bản, hay còn gọi là vấn đề
phân loại đa lớp.
Bộ phân loại văn bản thường được xây dựng dựa vào các giải thuật máy học có giám
sát. Một số giải thuật máy học được sử dụng rộng rãi như: cây quyết định, k láng giềng
gần nhất, bayes thơ ngây, máy học vector hỗ trợ…
2.2 MÔ HÌNH PHÂN LOẠI VĂN BẢN
Phân loại văn bản theo phương pháp học có giám sát được chia thành 3 giai đoạn: giai
đoạn tiền xử lí, giai đoạn huấn luyện máy học và giai đoạn phân loại [11].
2.2.1 Giai đoạn tiền xử lí
Các công việc trong giai đoạn này gồm: xây dựng dữ liệu mẫu và tiền xử lí văn bản.
Tiền xử lí văn bản bao gồm các công việc chính như: chuẩn hóa dữ liệu, tách từ, loại
tầm thường, biểu diễn văn bản, trích chọn đặc trưng. Kết thúc giai đoạn này ta thu được
không gian vector làm cơ sở cho giải thuật máy học.
Cụ thể các công việc trong giai đoạn tiền xử lí như sau:
-
Xây dựng dữ liệu mẫu: là bước tốn khá nhiều thời gian. Tài liệu có thể thu thập
từ nhiều nguồn khác nhau. Do đó phải đảm bảo các tài liệu được lựa chọn một
cách phù hợp, phân loại chuẩn xác. Vì tập dữ liệu này ảnh hưởng nhiều đến kết
quả phân loại sau này.
5
-
-
Chuẩn hóa dữ liệu: do tài liệu được thu thập từ nhiều nguồn nên các chuẩn về
font cũng khác nhau. Để thuận tiện trong quá trình xử lý thì cần phải chuẩn hóa
các tài liệu này về dạng chuẩn.
Tách từ: một tài liệu sẽ được tách ra thành danh sách các từ.
Loại từ tầm thường: từ tầm thường (stopwords) là các từ không có ý nghĩa phân
loại do tần suất xuất hiện quá nhiều hoặc quá ít trong tập dữ liệu.
Biểu diễn văn bản: mã hóa văn bản bởi mô hình vector trọng số. Cần lựa chọn
cách đánh trọng số phù hợp với giải thuật máy học.
Trích chọn đặc trưng: chọn một số đặc trưng từ các đặc trưng ban đầu. Trích
chọn đặc trưng được thực hiện bằng cách chỉ giữ lại các từ có số điểm cao nhất
dựa theo biện pháp xác định độ quan trọng của các từ được sử dụng [11].
Tập ngữ liệu
(CORPUS)
Chuẩn hóa dữ liệu
Tách từ
Loại stopwords
Biểu diễn văn bản
Trích chọn đặc trưng
Không gian vector
Hình 2.1 Sơ đồ giai đoạn tiền xử lí
2.2.2 Huấn luyện máy học
Trong giai đoạn này ta lựa chọn thuật toán máy học cho bài toán phân loại văn bản.
Một số thuật toán máy học thường được áp dụng cho bài toán phân loại văn bản như:
cây quyết định, k láng giềng gần nhất, Bayes thơ ngây, máy học vector hỗ trợ,… Mỗi
thuật toán đều có ưu điểm và hạn chế riêng. Tuy nhiên các thuật toán máy học có giám
6
sát áp dụng cho bài toán phân loại văn bản tự động có đặc điểm chung là dựa trên tập
dữ liệu đã được gán nhãn. Dữ liệu đầu vào của giai đoạn này là không gian vectơ đã
trải qua giai đoạn tiền xử lí, dữ liệu đầu ra là bộ phân lớp.
Không gian vector
Máy học
Bộ phân lớp
Hình 2.2 Sơ đồ giai đoạn huấn luyện
2.2.3 Phân loại văn bản
Trong giai đoạn này, các tài liệu cần phân lớp cũng được thực hiện các bước tiền xử lí
để tạo ra vector đặc trưng. Đưa vectơ này vào bộ phân loại để dự đoán nhãn của tài liệu
mới này. Bộ phân loại được xây dựng dựa trên phương pháp học có giám sát, phân lớp
xác định 1 lớp / 1 chủ đề biết trước.
Tài liệu cần phân loại
Tiền xử lý
Biểu diễn văn bản
Trích chọn đặc trưng
BỘ PHÂN LỚP
Nhãn của tài liệu
Hình 2.3 Sơ đồ giai đoạn phân lớp
7
2.3 TIỀN XỬ LÍ VĂN BẢN
2.3.1 Chuẩn hóa văn bản
Dữ liệu văn bản có thể đến từ nhiều nguồn với nhiều loại định dạng khác nhau, chẳng
hạn như: văn bản thuần túy (TXT), Adode’s Document Fomat (bdf), Microsoft word
(DOC), HyperText Markup Language (HTML), Extensible Markup Language
(XML)… các tài liệu này cần phải được chuyển về đúng định dạng để có thể sử dụng
trong bộ phân loại văn bản.
Ngoài ra, do dữ liệu văn bản được thu thập từ nhiều nguồn khác nhau nên vấn đề lỗi
chính tả trong các văn bản cũng phải được xử lí. Vì vấn đề này ảnh hưởng rất nhiều
đến kết quả tách từ và ảnh hưởng đến hiệu quả của bộ phân loại.
2.3.2 Tách từ
2.3.2.1 Vai trò của tách từ
Tách từ là bước đầu tiên và hết sức quan trọng trong bài toán phân loại văn bản. Tách
từ là việc chuyển đổi văn bản thành các đơn vị rời rạc, mỗi đơn vị tương ứng với một
từ hoặc cụm từ trong văn bản. Đó là dữ liệu mà giải thuật máy học có thể phân tích và
hiểu được. Mỗi ngôn ngữ tự nhiên có đặc điểm khác nhau, do đó kỹ thuật tách từ cũng
khác nhau. Đối với tiếng Anh từ là một nhóm ký tự có nghĩa, được phân cách bởi ký tự
khoảng trắng trong câu. Tuy nhiên đối với tiếng Việt một từ có thể có một hoặc nhiều
tiếng và tùy thuộc vào ngữ cảnh sử dụng từ mà có ý nghĩa khác nhau. Vì vậy việc xác
định ranh giới từ trong tiếng Việt là bài toán khó.
2.3.2.2 Đặc điểm tiếng Việt
Đơn vị cơ bản trong tiếng Việt là tiếng, không phải từ [4]. Một số đặc điểm của tiếng
Việt như sau:
Từ ở dạng nguyên thể, hình thức và ý nghĩa của từ độc lập với cú pháp
Từ được cấu trúc từ tiếng
Từ bao gồm từ đơn (từ một tiếng) và từ phức (n-tiếng, với n <=5), bao gồm từ
láy và từ ghép.
Trong khi đó, định nghĩa về từ trong tiếng Anh như sau: “Từ là một nhóm ký tự có
nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” [4]. Dưới đây là một số điểm
khác biệt chính giữa tiếng Việt và tiếng Anh.
8
Bảng 2.1 Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh [4]
Đặc điểm
Tiếng Việt
Tiếng Anh
Đơn vị cơ bản
Tiếng
Từ
Tiền tố / Hậu tố
Không có
Có
Từ loại
Không thống nhất
Được định nghĩa rõ
Ranh giới từ
Tổ hợp có nghĩa dựa vào
ngữ cảnh của các tiếng
Khoảng trắng hoặc dấu câu
Do những đặc điểm này mà ta không thể áp dụng các thuật toán tách từ tiếng Anh cho
tiếng Việt được.
2.3.2.3 Một số phương pháp tách từ tiếng Việt
Hiện nay tách từ tiếng Việt được nhiều tổ chức và cá nhân quan tâm nghiên cứu với
nhiều cách tiếp cận khác nhau. Một số cách tiếp cận cho bài toán tách từ tiếng Việt
theo[4] như: Maximum Matching: forward/backward hay còn gọi là Left Right
Manimum Matching, giải thuật học cải biến TBL, mạng chuyển dịch trạng thái. Hay
gần đây một phương pháp kết hợp phát triển dựa trên phương pháp so khớp tối đa
(Maximum Matching) với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ
vựng tiếng Việt [13] đã cho kết quả tách từ đạt 98%. Đặc điểm chung của các phương
pháp này là dựa vào từ điển và tập ngữ liệu đã đánh dấu. Do đó các phương pháp này
sẽ khó phát huy được hiệu quả khi thiếu một từ điển đầy đủ và một tập ngữ liệu hoàn
chỉnh.
Một phương pháp tách từ với hướng tiếp cận mới không cần dùng đến từ điển hay tập
huấn luyện, đó là phương pháp sử dụng giải thuật di truyền và thống kê trên internet
[4]. Điểm nổi bật của hướng tiếp cận này là thay vì phải sử dụng ngữ liệu huấn luyện
đã được gán nhãn hay từ điển vốn chưa có sẵn cho tiếng Việt. Tác giả đã sử dụng thông
tin thống kê rút trích trực tiếp từ search engine và dùng giải thuật di truyền để xác định
những từ hợp lý nhất. Phương pháp này cho hiệu quả tách từ khá cao, tuy nhiên còn
hạn chế về tốc độ xử lý do phải thống kê trực tiếp từ internet.
9
2.3.2.4 Phương pháp khớp tối đa
Phương pháp khớp tối đa (Maximum Matching) còn gọi là Left Right Maximum
Matching(LRMM). Theo phương pháp này, ta sẽ duyệt một ngôn ngữ hoặc câu từ trái
sang phải và chọn từ có nhiều âm tiết nhất có mặt trong từ điển, rồi cứ thế tiếp tục cho
từ kế tiếp cho đến hết câu. Thuật toán này được trình bày trong [17], gồm 2 dạng như
sau:
Dạng đơn giản được dùng giải quyết nhập nhằng từ đơn. Giả sử có một chuỗi ký
tự (tương đương với chuỗi tiếng trong tiếng Việt) C1, C2,…, Cn. Ta bắt đầu từ
đầu chuỗi. Đầu tiên kiểm tra xem C1 có phải là từ hay không, sau đó kiểm tra
xem C1C2 có phải là từ hay không. Tiếp tục tìm cho đến khi tìm được từ dài
nhất. Từ được đánh giá hợp lý nhất sẽ là từ dài nhất. Chọn từ đó, sau đó tìm tiếp
như trên cho những từ còn lại đến khi xác định được toàn bộ chuỗi từ.
- Dạng phức tạp: đây là dạng biến thể khác của thuật toán Maximum Matching do
Chen và Liu (1992) đề xuất. Họ cho rằng phân tích hợp lý nhất để chọn ra từ là
phân tích trên bộ ba từ có chiều dài lớn nhất. Bắt đầu từ đầu tiên của chuỗi nếu
có sự nhập nhằng (ví dụ _C1_ là từ nhưng _C1C2 cũng là từ,…) thì chúng ta tìm
những từ kế tiếp bắt đầu bằng hai từ đó, tương tự như vậy cho đến khi tìm được
tất cả các bộ ba từ. Sau đó, chọn ra bộ ba từ có chiều dài lớn nhất. Giả sử ta có
bộ ba từ dài nhất như sau:
1. _C1_ _C2_ _C3C4_
2. _C1C2_ _ C3C4_ _C5_
3. _ C1C2_ _ C3C4_ _C5 C6_
-
Căn cứ vào bộ ba từ này, từ đầu tiên C1C2 của bộ thứ 3 là đúng. Chúng ta lấy từ này và
tiếp tục quá trình trên từ C3 cho đến khi xác định được từ cuối cùng.
2.3.2.5 Phương pháp MMSEG
Phương pháp tách từ MMSEG (Maximum Matching Segmentation) được trình bày bởi
Chih – Hao Tsai[17]. MMSEG là hệ thống nhận dạng từ cho văn bản tiếng phổ thông
Trung Quốc dựa trên hai biến thể của thuật toán so khớp tối đa. Hệ thống này bao gồm
một từ điển, hai thuật toán so khớp và bốn luật giải quyết nhập nhằng. Chiến thuật cơ
bản là so khớp chuỗi ký tự đầu vào với một tập từ vựng lớn trong từ điển để tìm tất cả
(hoặc một phần) các cách tách từ hợp lý. Vì luôn có duy nhất một cách tách từ chính
xác, nên các luật giải quyết nhập nhằng sẽ được sử dụng đưa ra lựa chọn đúng nhất. Cụ
thể về các thành phần:
10
- Từ điển: gồm hai phần. Phần thứ nhất đơn giản được tổ chức thành danh sách từ
vựng, và không có thông tin thêm nào liên kết với mỗi từ vựng. Phần thứ hai chứa tất
cả các từ đơn và tần số xuất hiện của chúng (được dùng trong luật 4).
- Hai thuật toán so khớp:
Dạng đơn giản: với mỗi tiếng Cn trong chuỗi tiếng, so khớp chuỗi con bắt đầu bằng Cn
với từ điển và tìm tất cả so khớp có thể có.
Dạng phức tạp: với mỗi tiếng Cn trong chuỗi tiếng, tìm tất cả những bộ ba từ có thể có
bắt đầu với Cn, không quan tâm từ đầu tiên có bị nhập nhằng hay không. Chỉ thành lập
những bộ ba từ này khi đã có một sự nhập nhằng của từ đầu tiên. Sau đó sử dụng 4 luật
khử nhập nhằng để tìm từ đúng.
- Bốn luật giải quyết nhập nhằng:
Luật 1: So khớp cực đại
So khớp cực đại đơn giản: lấy từ có chiều dài dài nhất.
So khớp cực đại phức tạp: chọn ra từ đầu tiên trong bộ có chiều dài bộ dài
nhất.
Nếu có nhiều hơn một bộ với chiều dài bộ dài nhất, sang luật tiếp theo.
Luật 2: chiều dài trung bình của từ lớn nhất
Ở cuối mỗi chuỗi thường thấy những bộ chỉ có một hoặc hai từ. Ví dụ, những bộ sau
đây có cùng chiều dài và cùng độ biến đổi chiều dài từ.
_C1_ _C2_ _C3_
_C1C2C3_
Luật 2 chọn từ đầu tiên từ bộ với chiều dài trung bình của từ dài nhất. Trong ví dụ bên
trên, chọn từ _C1C2C3_ từ bộ thứ hai. Giả định của luật này là gặp phải những từ đa tự
hơn là những từ đơn tự.
Luật này chỉ hữu dụng trong trường hợp một hoặc nhiều vị trí từ trong những bộ rỗng.
Khi những bộ đều là những bộ ba đầy đủ, luật này không hữu dụng. Bởi vì những bộ
ba có cùng độ dài sẽ có cùng chiều dài trung bình. Vì vậy, cần phải có phương pháp
khác.
11
Luật 3: Độ biến thiên chiều dài từ nhỏ nhất
Giả sử có hai bộ có chiều dài giống nhau như sau:
_C1C2_ _C3C4_ _C5C6_
_C1C2C3_ _C4_ _C5C6_
Luật 3 chọn bộ đầu tiên với độ biến đổi chiều dài từ nhỏ nhất. Trong ví dụ trên ta sẽ
chọn từ _C1C2_ từ bộ đầu tiên.
Luật 4: Tổng lớn nhất của mức độ đo hình vị của từ một tự
Ví dụ bên dưới thể hiện hai bộ với cùng chiều dài, cùng độ biến đổi chiều dài từ và
cùng chiều dài trung bình của từ.
_C1_ _C2_ _C3C4_
_C1_ _C2C3_ _C4_
Ở đây chúng ta chỉ quan tâm đến từ một tự, cả hai bộ này đều có hai từ một tự. Công
thức được sử dụng để tính toán tổng độ tự do hình vị là logarit tần số của tất cả các từ
một tự trong một bộ. Cơ sở cho phép chuyển đổi logarit này là cùng một lượng khác
nhau về tần số không có một ảnh hưởng nhất định đến dãy sắp xếp tất cả các tần số.
Luật 4 cho phép lấy từ đầu tiên của bộ với tổng lớn nhất của logarit tần số. Vì không
thể có hai tự có chính xác cùng một tần số nên sẽ không có nhập nhằng sau khi áp dụng
luật này.
2.3.3 Biểu diễn văn bản
Sau giai đoạn tách từ, mỗi văn bản được tách thành nhiều từ rời rạc và những từ này
thể hiện nội dung, ý nghĩa của văn bản. Chúng ta cần biểu diễn văn bản sao cho máy
học có thể hiểu và phân tích được. Tùy thuộc vào từng thuật toán phân loại mà có mô
biểu diễn riêng. Một trong những mô hình biểu diễn văn bản thông dụng đó là mô hình
không gian vector[11]. Nghĩa là mô hình hóa mỗi văn bản thành một vectơ chứa trọng
số các từ. Một cách hình thức, một văn bản D có thể xem như là một vectơ D(x1,…,xm)
trong đó xi là trọng số của từ thứ i trong bộ từ vựng đang xét.
Có nhiều cách đánh trọng số xi cho mỗi từ trong văn bản D(x1,…,xm). Sau đây là một
số cách đánh trọng số từ thông dụng:
12
2.3.3.1 Trọng số logic
Là phương pháp đơn giản nhất trong việc định trọng số của từ. Theo cách này trọng số
của từ thứ i trong văn bản xi=1 nếu từ i có trong D, ngược lại xi=0 nếu từ i không có
trong D.
1
Nếu TFi > 0
xi =
(2.1)
0
Ngược lại
(TFi là số lần xuất hiện của từ thứ i trong văn bản D)
2.3.3.2 Tần suất từ
Trọng số từ là tần suất xuất hiện của từ đó trong tài liệu. Cách định trọng số này nói
rằng một từ là quan trọng cho một tài liệu nếu nó xuất hiện nhiều lần trong tài liệu đó.
𝑥𝑖 = 𝑇𝐹𝑖
(2.2)
(TFi là số lần xuất hiện của từ thứ i trong văn bản D)
2.3.3.3 Trọng số TFIDF
Trọng số từ là tích của tần suất từ (TF) và tần suất tài liệu nghịch đảo của từ đó (IDF)
và được xác định bằng công thức.
𝑥𝑖 = 𝑇𝐹𝑖 ∗ 𝑙𝑜𝑔
𝑁
𝐷𝐹𝑖
(2.3)
Trong đó:
-
TFi là số lần xuất hiện của từ thứ i trong văn bản D
DFi là tổng số văn bản có chứa từ thứ i trong tập ngữ liệu
N là tổng số văn bản trong tập ngữ liệu
Trọng số TFIDF kết hợp thêm giá trị tần suất tài liệu DF vào trọng số TF. Điều này có
nghĩa là khi một từ xuất hiện trong càng ít tài liệu (tương ứng với giá trị DF nhỏ) thì
khả năng phân biệt các tài liệu dựa trên từ đó càng cao.
2.3.4 Trích chọn đặc trưng
Các từ được dùng để biểu diễn các tài liệu còn được gọi là các đặc trưng. Để nâng cao
tốc độ và khả năng phân loại, tại bước tiền xử lý văn bản, ta loại bỏ các từ không có ý
nghĩa phân loại văn bản. Thông thường những từ này là những từ có tần số xuất hiện
quá nhiều hoặc quá ít. Tuy vậy việc loại bỏ những từ này có thể không làm giảm đáng
13