Vì vậy nếu giải quyết tốt việc phân loại văn bản cho hai chủ đề tin học và viễn thông, việc phân loại văn bản cho các chủ đề khác sẽ đạt được độ chính xác cao hơn.. Cây quyết định được x
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
NGUYỄN MINH QUANG
PHÂN LOẠI VĂN BẢN BẰNG PHƯƠNG PHÁP
CÂY QUYẾT ĐỊNH
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 04 năm 2004
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học:
Phó giáo sư, Tiến sĩ PHAN THỊ TƯƠI
Cán bộ chấm nhận xét 1:
Tiến sĩ DƯƠNG TUẤN ANH
Cán bộ chấm nhận xét 2:
Tiến sĩ NGUYỄN XUÂN DŨNG
Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 04 tháng 06 năm 2004
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên : Nguyễn Minh Quang Phái : Nam Ngày, tháng, năm sinh : 18/01/1972 Nơi sinh : Hà Nội Chuyên ngành : Công Nghệ Thông Tin Mã số : 01.02.10
I TÊN ĐỀ TÀI
Phân loại văn bản bằng phương pháp cây quyết định
II NHIỆM VỤ VÀ NỘI DUNG:
Xây dựng một mô hình phân loại cho các văn bản bằng tiếng Việt dựa vào xác suất thống kê, cụ thể sử dụng giải thuật cây quyết định Việc phân loại dựa trên nội dung của các văn bản để gán các văn bản này vào các chủ đề đã được định nghĩa sẵn Một văn bản có thể thuộc cùng lúc nhiều chủ đề hoặc cũng có thể không thuộc một chủ đề cho trước nào
III NGÀY GIAO NHIỆM VỤ (Ngày bảo vệ đề cương)
01/06/2003
IV NGÀY HOÀN THÀNH NHIỆM VỤ (Ngày bảo vệ luận án tốt nghiệp)
04/06/2004
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN
Phó giáo sư, Tiến sĩ Phan Thị Tươi
Cán bộ hướng dẫn Chủ nhiệm ngành Bộ môn quản lý ngành
PGS, TS Phan Thị Tươi TS Dương Tuấn Anh
Nội dung và đề cương luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
Ngày tháng năm 2004 PHÒNG ĐÀO TẠO SĐH KHOA QUẢN LÝ NGÀNH
Trang 4Lời cám ơn
Đầu 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 đã trực tiếp hướng dẫn tôi hoàn thành đề tài này Mặc dù rất bận nhưng PGS, TS Phan Thị Tươi đã rất nhiệt tình chỉ dẫn, góp ý, cung cấp tài liệu cho tôi
Tôi xin cám ơn các thầy cô trong khoa Công Nghệ Thông Tin trường Đại Học Bách Khoa TPHCM đã truyền đạt những kiến thức, kinh nghiệm quý báu cho tôi trong suốt quá trình học tập tại khoa
Tôi cũng xin cám ơn các bạn học viên lớp cao học CNTT K12 đã động viên, giúp đỡ, góp ý cho tôi trong việc hoàn thành đề tài
Mặc dù cố gắng hết sức để hoàn thành đề tài nhưng vì thời gian có hạn nên chắc chắn đề tài sẽ có những hạn chế, sai sót Để đề tài được hoàn thiện hơn tôi rất mong nhận được sự góp ý của quý Thầy Cô và bạn bè
Trang 5Phân loại văn bản là gán văn bản vào các chủ đề đã được định nghĩa trước Một văn bản có thể thuộc một hoặc nhiều chủ đề Hiện nay lượng thông tin, văn bản có được từ mạng Internet hoặc các mạng nội bộ ngày càng đồ sộ Để có thể chọn lọc, tìm kiếm, phân loại những thông tin, văn bản này, cần phải có một công cụ hữu hiệu Đó là công cụ tự động phân loại văn bản dựa trên xác suất thống kê Công cụ này đã được các nhà nghiên cứu xây dựng và thử nghiệm trên ngôn ngữ tiếng Anh Trong luận văn này, tác giả xây dựng một mô hình phân loại văn bản cho ngôn ngữ tiếng Việt
Về bản chất, ngôn ngữ tiếng Việt rất khác so với ngôn ngữ tiếng Anh Đó là vì ngôn ngữ tiếng Việt tồn tại rất nhiều những từ kép, từ ba, từ bốn
như: tạp chí, đủng đỉnh, bất thình lình, tư bản chủ nghĩa, Việc nhận dạng
các từ này trong các văn bản tương đối khó, phải dựa vào xác suất thống kê trên một lượng văn bản lớn Ngoài ra vấn đề phân đoạn từ trong ngôn ngữ tiếng Việt cũng là một vấn đề khó và cần phải giải quyết Với các cách phân đoạn từ khác nhau, một câu có thể được hiểu theo nhiều nghĩa khác nhau
Giải thuật được tác giả lựa chọn để phân loại văn bản là giải thuật cây quyết định Đây là giải thuật có độ chính xác cao, thời gian phân loại văn bản nhanh Giải thuật này được sử dụng rất rộng rãi trong lĩnh vực trí tuệ nhân tạo
Tác giả đã xây dựng thành công việc phân loại văn bản tiếng Việt cho hai chủ đề Tin học và Viễn thông Các thông số độ chính xác của giải thuật đạt được rất cao nếu so sánh với giải thuật tương tự được xây dựng cho các văn bản tiếng Anh của các tác giả Joachims, Weiss, Yang
Trang 6Text categorization is the assignment of text documents to predefined categories One document can belong to one or more categories Nowadays, the volume of information, documents from the Internet or from Local Area Network continues to increase rapidly For better filtering, sorting, finding document, there is a need to have an effective tool This tool is the automatic text categorization based on statistic probability This tool has been researched and built for English language documents In this thesis, the author manage to build a text categorization model for Vietnamese language documents
Basically, Vietnamese language quite differs from English language Vietnamese language has many words with two, three and four syllables
such as: tạp chí, đủng đỉnh, bất thình lình, tư bản chủ nghĩa, To recognize
these words, one must base on statistic probability on a large amount of documents Besides that, segmentation in Vietnamese language is another difficult problem to be sold Different segmentations of a sentence lead to different meanings
In this thesis, decision tree algorithm has been selected for text categorization This algorithm is accurate and fast for text categorization
In artificial intelligence, this algorithm has been widely used
The author has successfully built the algorithm for text categorization
in two subjects: Informatics and Telecommunications The accuracy of this algorithm is rather high in compare with other similar algorithms built for English language documents of some authors such as Joachims, Weiss, Yang
Trang 7DANH SÁCH HÌNH
Trang
Phần 1
Phần 2
Hình 2.1 5
Hình 2.2 14
Hình 2.3 19
Phần 3 Hình 3.1 33
Hình 3.2 34
Hình 3.3 36
Hình 3.4 39
Hình 3.5 41
Hình 3.6 43
Phần 4 Hình 4.1 50
Hình 4.2 52
Hình 4.3 58
Hình 4.4 60
Hình 4.5 61
Hình 4.6 61
Hình 4.7 62
Hình 4.8 62
Hình 4.9 72
Phần 5
Trang 8DANH SÁCH BẢNG
Trang
Phần 1
Phần 2
Bảng 2.1 10 Bảng 2.2 14 Bảng 2.3 16
Phần 3
Phần 4
Phần 5
Trang 9
MỤC LỤC
Trang
PHẦN 1 1
PHÁT BIỂU VẤN ĐỀ 1
1.1 G IỚI THIỆU .1
1.2 Đ Ề TÀI NGHIÊN CỨU .2
1.3 K ẾT QUẢ ĐẠT ĐƯỢC VÀ NHỮNG ĐÓNG GÓP .3
PHẦN 2 5
CƠ SỞ LÝ THUYẾT CHO PHÂN LOẠI VĂN BẢN 5
2.1 B IỂU DIỄN VĂN BẢN .5
2.1.1 Phương pháp Boolean 6
2.1.2 Phương pháp tần xuất từ (word frequency) 7
2.1.3 Phương pháp tf x idf 7
2.1.4 Phương pháp tfc 7
2.1.5 Phương pháp ltc 7
2.1.6 Phương pháp Entropy 8
2.2 R ÚT GỌN KÍCH THƯỚC MA TRẬN .8
2.2.1 Phương pháp số lần xuất hiện 9
2.2.2 Phương pháp độ lợi thông tin 9
2.2.3 Phương pháp thống kê χ2 9
2.2.4 Phương pháp Thông tin tương hỗ 12
2.2.5 Phương pháp Độ mạnh của từ 12
2.3 C ÁC TẬP VĂN BẢN DÙNG ĐỂ PHÂN LOẠI 13
2.3.1 Tập training, tập validation và tập test 13
2.3.2 Các văn bản trong tuyển tập Reuters 13
2.4 Đ ÁNH GIÁ ĐỘ CHÍNH XÁC CỦA VIỆC PHÂN LOẠI VĂN BẢN 14
2.4.1 Phân tích giá trị của accuracy và error 16
2.4.2 Phân tích giá trị của recall và Precision 17
2.4.3 Thông số F 19
2.4.4 Trung bình Micro và trung bình Macro 20
2.5 K ẾT LUẬN 23
PHẦN 3 24
TỔNG QUAN VỀ CÁC GIẢI THUẬT DÙNG TRONG PHÂN LOẠI VĂN BẢN 24
Trang 103.1 G IẢI THUẬT N AIVE B AYES 25
3.1.1 Một số lý thuyết về xác suất 25
3.1.2 Phân loại văn bản bằng giải thuật Bayes 26
3.1.3 Đánh giá giải thuật 27
3.2 G IẢI THUẬT K N EAREST N EIGHBORS 28
3.2.1 Giải thuật K Nearest Neighbors 28
3.2.2 Đánh giá giải thuật 29
3.3 G IẢI THUẬT R OCCHIO 30
3.3.1 Giải thuật Rocchio 30
3.3.2 Đánh giá giải thuật 31
3.4 G IẢI THUẬT P ERCEPTRONS 31
3.4.1 Giải thuật Perceptrons 31
3.4.2 Đánh giá giải thuật 34
3.5 G IẢI THUẬT CÂY QUYẾT ĐỊNH ( DECISION TREE ) 35
3.5.1 Entropy 35
3.5.2 Độ lợi thông tin 36
3.5.3 Giải thuật cây quyết định 37
3.5.4 Xén tỉa cây quyết định 41
3.5.5 Đánh giá giải thuật 44
3.6 K ẾT LUẬN 44
PHẦN 4 45
THIẾT KẾ VÀ HIỆN THỰC 45
PHÂN LOẠI VĂN BẢN 45
4.1 G IẢI THUẬT VÀ MIỀN CỦA VĂN BẢN ĐƯỢC SỬ DỤNG TRONG LUẬN ÁN 45
4.2 G IẢI THUẬT CỦA CÁC BƯỚC TRONG QUÁ TRÌNH XÂY DỰNG CÂY QUYẾT ĐỊNH 46
4.2.1 Giải thuật thống kê các từ kép, từ ba 46
4.2.2 Giải thuật phân đoạn từ tiếng Việt 48
4.2.3 Biểu diễn các văn bản theo các từ trong từ điển 54
4.2.4 Chọn các từ để xây dựng cây quyết định 55
4.2.5 Xây dựng cây quyết định 56
4.2.6 Xén tỉa cây quyết định 58
4.3 C HƯƠNG TRÌNH HIỆN THỰC 63
4.3.1 Dữ liệu và ngôn ngữ lập trình 63
4.3.2 Giao diện của chương trình 63
4.3.3 Nhận xét kết quả và cải tiến 69
PHẦN 5 73
Trang 115.1 Đ ÁNH GIÁ 73
5.2 H ƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 74
TÀI LIỆU THAM KHẢO 76
PHỤ LỤC
Trang 12Phần 1
PHÁT BIỂU VẤN ĐỀ
1.1 Giới thiệu
Xử lý ngôn ngữ tự nhiên là một lĩnh vực của khoa học máy tính được
sự quan tâm của nhiều nhà khoa học và đã thu được nhiều thành tựu Một
trong những nội dung của xử lý ngôn ngữ tự nhiên là vấn đề phân loại
Phân loại trong ngôn ngữ tự nhiên là gán các đối tượng của ngôn ngữ vào
các lĩnh vực, phạm trù đã biết trước
Một số phân loại trong xử lý ngôn ngữ tự nhiên có thể kể đến như:
- Nhận dạng tác giả
- Nhận dạng ngôn ngữ
- Giải quyết nhập nhằng ngữ nghĩa
- Phân loại văn bản
- Phân loại từ (tagging)
- Prepositional phrase attachment
Trong luận án này, tác giả trình bày một hướng nghiên cứu trong lĩnh
vực xử lý ngôn ngữ tự nhiên, đó là phân loại văn bản (text
catergorization) Văn bản ở đây có thể là một mẩu tin, một báo cáo, một
bức thư điện tử, một bài báo, v…v
Phân loại văn bản là sắp xếp các văn bản vào các chủ đề hoặc lĩnh
vực khác nhau dựa trên nội dung của chúng Các chủ đề này thường đã
được định nghĩa trước, còn văn bản cần phân loại là một văn bản bất kỳ
Hiện nay với sự bùng nổ thông tin, nhu cầu về phân loại văn bản ngày
càng tăng, đòi hỏi cần phải có những bộ phân loại văn bản thông minh
hơn và có độ chính xác cao
Trang 13Một vài ứng dụng của phân loại văn bản có thể kể đến là:
- Tự động phân loại email:
• Kiểm tra xem email vừa nhận được có phải là spam email
không?
• Phân các email vào các thư mục riêng dựa vào nội dung hoặc
tác giả của email đó
• Tự động chuyển email này (routing) đến các địa chỉ khác
- Phân loại tin tức:
Mỗi ngày một hãng tin có thể nhận được hàng ngàn mẩu tin Các mẩu
tin này cần được phân loại vào những chủ đề khác nhau để tiện tham
khảo Nếu dùng phương pháp cổ điển (đọc và phân loại bằng tay) thì sẽ
tốn thời gian và cần số lượng nhân viên rất lớn, đồng thời độ chính xác sẽ
không cao do sự cảm nhận thông tin của mỗi nhân viên sẽ khác nhau
Thay vào đó nếu dùng phương pháp tự động phân loại văn bản thì hiệu
quả và độ chính xác sẽ cao hơn nhiều
- Tìm kiếm thông tin theo chủ đề:
Khi cần tìm thông tin trên Internet, người ta cần phải tìm kiếm theo từ
khóa Thông tin tìm kiếm được phải hoàn toàn khớp với từ khóa nếu
không sẽ bị loại bỏ Tuy nhiên có những thông tin mặc dù có chứa từ khóa
nhưng lại không liên quan đến vấn đề cần tìm hoặc ngược lại, có những
thông tin liên quan đến vấn đề cần tìm nhưng lại không chứa từ khóa Vì
vậy, nếu áp dụng việc tìm kiếm thông tin theo từ khóa kết hợp với chủ đề
thì sẽ nâng cao hiệu quả tìm kiếm thông tin
1.2 Đề tài nghiên cứu
Trong luận án này tác giả nghiên cứu và áp dụng giải thuật cây quyết
định để phân loại văn bản tiếng Việt
Trang 14Đối với ngôn ngữ tiếng Việt, theo sự tìm hiểu của tác giả thì cho đến
nay chưa có một công trình nào liên quan đến vấn đề này, kể cả trong
nước lẫn ngoài nước Ngôn ngữ tiếng Việt về cơ bản rất khác với ngôn
ngữ tiếng Anh và các ngôn ngữ khác nói chung Ở đây tác giả chưa đề cập
đến khía cạnh cú pháp ngôn ngữ, vì giải thuật không sử dụng đến cú pháp
Về khía cạnh ngữ nghĩa, ngôn ngữ tiếng Việt có rất nhiều điểm nhập
nhằng do bản chất phức tạp của nó Chẳng hạn ngôn ngữ tiếng Việt có rất
nhiều từ Hán Việt, từ ghép…
Trong luận án này tác giả phân loại các văn bản trong hai chủ đề tin
học và viễn thông, hai chủ đề này cùng thuộc lĩnh vực khoa học kỹ thuật
Mục đích của tác giả là xây dựng mô hình giải thuật phân loại văn bản
tiếng Việt và thử nghiệm trên hai chủ đề nói trên Nếu chủ đề của các văn
bản hoàn toàn khác nhau (giả sử như các chủ đề thuộc về các lĩnh vực
khác nhau như văn học, khoa học kỹ thuật, y học, luật pháp ) thì việc
phân loại văn bản sẽ dễ dàng hơn và đạt được độ chính xác cao hơn Hai
chủ đề trên có thể xem là tiêu biểu vì chúng rất gần nhau, đều thuộc cùng
một lĩnh vực Một văn bản có thể thuộc cùng lúc cả hai chủ đề Việc phân
loại các văn bản thuộc hai chủ đề trên sẽ khó khăn hơn và đạt được độ
chính xác thấp hơn Vì vậy nếu giải quyết tốt việc phân loại văn bản cho
hai chủ đề tin học và viễn thông, việc phân loại văn bản cho các chủ đề
khác sẽ đạt được độ chính xác cao hơn
Sau khi xây dựng thành công giải thuật phân loại văn bản cho hai chủ
đề trên, việc mở rộng để phân loại văn bản cho nhiều chủ đề là điều hoàn
toàn có thể thực hiện được một cách dễ dàng Mỗi chủ đề cần phân loại
phải có vài ngàn văn bản mẫu thì mới có thể đạt được độ chính xác cao
Thêm vào đó, cần phải có các chuyên gia thuộc các chủ đề này để tạo lập
các văn bản mẫu
1.3 Kết quả đạt được và những đóng góp
- Đề tài đã xây dựng được cây quyết định để phân loại văn bản
tiếng Việt trên hai chủ đề Tin học và Viễn Thông với thông số F1 =
94,2% Đây là kết quả tương đối cao nếu so sánh với các kết quả của các
giải thuật được xây dựng trên ngôn ngữ tiếng Anh (79,4 %) Điều này đạt
được là do trong quá trình xây dựng cây quyết định, tại mỗi bước tác giả
Trang 15đều có phân tích, lựa chọn những giải thuật tối ưu, đồng thời số lượng văn
bản dùng để huấn luyện và kiểm tra tương đối lớn
- Sử dụng kết hợp xác suất bi-gram và tri-gram trong việc phân
đoạn từ cho văn bản tiếng Việt thành các từ đơn, từ đôi, từ ba , đồng thời
đưa ra một số cải tiến nhằm năng cao độ chính xác của việc phân đoạn từ
tiếng Việt như : đưa vào công đoạn tiền xử lý trước khi phân đoạn từ, thay
đổi công thức so sánh số lần xuất hiện của các từ đôi, từ ba
- Đưa ra một phương pháp khác trong việc chọn từ để xây dựng
cây quyết định Cây quyết định được xây dựng theo phương pháp này sẽ
có độ chính xác cao hơn phương pháp cũ trong trường hợp các văn bản
thuộc cùng lúc nhiều chủ đề Với các văn bản chỉ thuộc một chủ đề,
phương pháp này có độ chính xác sấp sỉ như phương pháp cũ
Trang 16Phần 2
CƠ SỞ LÝ THUYẾT CHO PHÂN LOẠI VĂN BẢN
2.1 Biểu diễn văn bản
Bước đầu tiên trong việc phân loại văn bản là chuyển đổi văn bản này
từ một hay nhiều chuỗi các từ sang một dạng thích hợp để có thể được xử
lý bởi các giải thuật Các văn bản thường được coi là một tập hợp của các
từ mà không cần chú ý đến cấu trúc câu, trật tự các từ trong câu, thì của
câu, từ loại…
Thông thường người ta sử dụng mô hình không gian vector [CH01] để
biểu diễn một văn bản Trong mô hình này một văn bản được biểu diễn
bằng một vector các từ Số chiều M của không gian vector là số từ mẫu
dùng để biểu diễn tập văn bản Hình 2.1 biểu diễn tập gồm 3 văn bản d1,
d2, d3 với số chiều M=2 Hai từ mẫu là thuê bao và điện thoại
123
d2
d30
Hình 2.1 Mô hình không gian vector 2 chiều
điện thoại thuê bao
Trang 17Trong hình trên văn bản d1 gồm 2 từ điện thoại và 4 từ thuê bao
Một tập các văn bản sẽ được biểu diễn bởi một ma trận A với mỗi cột
là một vector biểu diễn cho một văn bản Mỗi phần tử trong ma trận A
tượng trưng cho sự xuất hiện của một từ trong một văn bản nào đó
A = (aik)
Trong đó a ik biểu diễn sự xuất hiện của từ i trong văn bản k Do mỗi
văn bản thường chỉ chứa một số từ nào đó nên ma trận A sẽ có nhiều phần
tử có giá trị bằng 0 Số hàng M của ma trận là tổng số các từ khác nhau
trong các văn bản M có thể là một số rất lớn Vì vậy một khó khăn trong
việc phân loại văn bản là phải xử lý một ma trận với kích thước rất lớn
Bằng quan sát chúng ta có thể thấy như sau:
- Nếu một từ xuất hiện trong một văn bản càng nhiều, khả năng từ đó
có liên quan đến chủ đề của văn bản đó càng lớn
- Nếu một từ xuất hiện trong hầu hết các văn bản thuộc các chủ đề
khác nhau thì từ đó không mang ý nghĩa thông tin đối với một chủ đề nào
cả
Gọi f ik là số lần từ i xuất hiện trong văn bản k
N là tổng số các văn bản
M là tổng số các từ khác nhau
n i là số văn bản có từ i xuất hiện
Có nhiều phương pháp để xác định giá trị của a ik Sau đây là một số
phương pháp phổ biến
2.1.1 Phương pháp Boolean
Trong phương pháp này, giá trị a ik bằng 1 trong trường hợp từ i có
xuất hiện trong văn bản k và bằng 0 trong trường hợp ngược lại [KL99]
0 1
ik
ik ik
f
f a
nếu nếu
Trang 182.1.2 Phương pháp tần xuất từ (word frequency)
Một phương pháp khác cũng tương đối đơn giản là a ik sẽ bằng số lần
xuất hiện của từ i trong văn bản k [KL99]
a ik = f ik
2.1.3 Phương pháp tf x idf
(term frequency x inverse document frequency)
Hai phương pháp trên chỉ quan tâm đến sự xuất hiện của từ i trong
văn bản k mà không để ý đến sự xuất hiện của từ này trong các văn bản
còn lại Trong phương pháp này a ik sẽ tỉ lệ thuận với f ik và tổng số các văn
bản N đồng thời tỉ lệ nghịch với tổng số văn bản có từ i xuất hiện [KL99]
ik
n
N f
2.1.4 Phương pháp tfc
(Term Frequency Component)
Phương pháp này tương tự như phương pháp trên Tuy nhiên trong
phương pháp này chiều dài của các văn bản sẽ được để ý đến Với cùng
số lần xuất hiện của từ i, văn bản nào có chiều dài ngắn hơn thì sẽ có hệ
số a ik lớn hơn [KL99]
i jk
i ik
ik
n
N f
n
N f
a
1
2log
Trang 19Phương pháp này có cải tiến so với phương pháp trên Vì các f ik có giá
trị biến thiên rất lớn nên chúng thường kéo theo sự biến thiên lớn của a ik
Để giảm bớt sự biến thiên này, người ta sẽ lấy logarit của fik [KL99]
=
M j
j jk
i ik
ik
n
N f
n
N f
a
1
2log
*1log
log
*1log
2.1.6 Phương pháp Entropy
Phương pháp này dựa trên lý thuyết về entropy Hệ số a ik tỉ lệ thuận
với số lần xuất hiện của từ i và entropy của từ này trong toàn tập văn bản
ij ik
ik
m
f m
f N f
a
1
loglog
11
*1log
ij
m
f m
f
log1
là Entropy của từ i
m i là tổng số lần xuất hiện của từ i trong toàn tập văn bản
Entropy của từ 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.2 Rút gọn kích thước ma trận
Một khó khăn lớn trong việc phân loại văn bản là kích thước của ma
trận A biểu diễn các văn bản quá lớn Số hàng trong ma trận bằng với số
từ để biểu diễn tập các văn bản Thông thường số từ này có thể lên đến cả
vài chục ngàn Nếu không rút gọn kích thước ma trận thì rất khó tính toán
trên ma trận này, đồng thời chi phí tính toán sẽ rất lớn Vì vậy vấn đề đặt
Trang 20ra là phải rút gọn kích thước ma trận nhưng vẫn đảm bảo đầy đủ tính
thông tin của văn bản Dưới đây là một số phương pháp dùng trong việc
rút gọn kích thước ma trận Các phương pháp này tìm ra các từ không
mang ý nghĩa thông tin cho bất cứ chủ đề nào và loại bỏ các từ này ra
khỏi ma trận
2.2.1 Phương pháp số lần xuất hiện
Trong phương pháp này, số lần xuất hiện của một từ là tổng số các
văn bản trong đó có xuất hiện từ này Mỗi từ trong ma trận sẽ được tính ra
giá trị của số lần xuất hiện Nếu giá trị này nhỏ hơn một ngưỡng đã định
trước thì từ này sẽ bị loại bỏ khỏi ma trận Phương pháp này dựa trên giả
thiết rằng những từ có số lần xuất hiện thấp sẽ ít mang ý nghĩa thông tin
cho việc phân loại văn bản [KL99][YJ97]
2.2.2 Phương pháp độ lợi thông tin
Gọi c 1 ,…,c k là các chủ đề của các văn bản
Độ lợi thông tin của một từ w được tính như sau:
+ +
−
= K
j
K j
K j
j j
j j
j
j P c P w P c w P c w P w P c w P c w c
P w
IG
)
| ( log )
| ( ) ( )
| ( log )
| ( ) ( ) ( log ) ( )
(
Trong đó
P(c j ) là xác suất của một văn bản thuộc chủ đề c j P(w) là xác suất của một văn bản có từ w xuất hiện P(c j | w) là xác suất của một văn bản thuộc chủ đề c j mà có từ w
xuất hiện
)
|(c w
P j là xác suất của một văn bản thuộc chủ đề c j mà không
có từ w xuất hiện
Các từ sẽ lần lượt được tính giá trị độ lợi thông tin Từ nào có giá trị
độ lợi thông tin nhỏ hơn một ngưỡng đã định trước sẽ bị loại bỏ khỏi ma
trận [KL99][YJ97]
2.2.3 Phương pháp thống kê χ2
Trang 21Phương pháp này xác định sự phụ thuộc giữa từ w và chủ đề c j
A là tổng số văn bản thuộc chủ đề c j có chứa từ w
B là tổng số văn bản không thuộc chủ đề c j nhưng có chứa từ w
C là tổng số văn bản thuộc chủ đề c j nhưng không chứa từ w
D là tổng số văn bản không thuộc chủ đề c j và cũng không chứa
E
E O c
i, k là các chỉ số tương ứng với các ô trong bảng 2.1
O ik là giá trị quan sát được Giá trị O 11 , O 21 , O 12 , O 22 trong bảng trên
lần lượt là A, B, C, D
E ik là giá trị phân bố Giá trị phân bố của mỗi ô trong bảng 2.1 được
tính như sau:
Văn bản có chứa từ w Văn bản không chứa từ w
Văn bản thuộc
Văn bản không
Trang 22N N
B A N
C A
N N
D C N
C A
N N
D B N
B A
N N
D B N
D C
Ta có:
))(
(
2
11
2 11 11
B A C A N
BC AD E
E O
++
(
2
21
2 21 21
D B B A N
BC AD E
E O
++
(
2
12
2 12 12
D C C A N
BC AD E
E O
++
(
2
22
2 22 22
D B D C N
BC AD E
E O
++
CB AD N c
+
×+
×+
×+
Nhận xét: giá trị χ2( )w, c j cho biết bình phương độ lệch giữa giá trị
phân bố thực tế và giá trị phân bố lý thuyết (phân bố đồng đều) của từ w
Nếu từ w được phân bố đều trong các chủ đề thì giá trị này bằng 0 Ngược
lại nếu từ w chỉ có trong chủ đề c j thì giá trị này sẽ khác 0
Giá trị thống kê χ2 của từ w trên tất cả các chủ đề được tính như sau:
Trang 23P w
1
2
χvà
2
Trong đó M là tổng số các chủ đề
2.2.4 Phương pháp Thông tin tương hỗ
Sử dụng lại các ký hiệu trong bảng 2.1, thông tin tương hỗ của từ w
và chủ đề c j được tính như sau:
j
j j
c P w P
c w P c
w I
×
∧
= log,
Công thức này được tính xấp sỉ như sau:
B A C A
N A c
w
+
×+
×
≈ log,
Thông tin tương hỗ trung bình của từ w đối các chủ đề được cho bởi:
i i avg w P c I w c
Một điểm yếu của Thông tin tương hỗ là giá trị thông tin tương hỗ của
từ w phụ thuộc vào xác suất của từ đó nên những từ ít xuất hiện sẽ có giá
trị thông tin tương hỗ cao và ngược lại [YJ97]
2.2.5 Phương pháp Độ mạnh của từ
Phương pháp này tính độ mạnh của từ w dựa trên sự xuất hiện đồng
thời của nó trong các văn bản có liên quan với nhau Hai văn bản được gọi
Trang 24là liên quan khi giá trị cosin của hai vector biểu diễn hai văn bản này nhỏ
hơn một ngưỡng nào đó [YJ97]
Giả sử x và y là hai văn bản liên quan với nhau, khi đó độ mạnh của từ
w là:
Phương pháp này giả thiết rằng các từ càng có trong nhiều văn bản
liên quan với nhau thì các từ này càng có ý nghĩa thông tin
2.3 Các tập văn bản dùng để phân loại
2.3.1 Tập training, tập validation và tập test
Tập training dùng trong quá trình xây dựng giải thuật phân loại văn
bản Mục đích của tập này là để huấn luyện giải thuật trong việc nhận
biết chủ đề của các văn bản
Tập validation dùng để hiệu chỉnh lại giải thuật sau khi giải thuật đã
được huấn luyện bởi tập training Một số giải thuật không cần đến tập
này
Tập test dùng để đánh giá độ chính xác của giải thuật sau khi giải
thuật đã được xây dựng và hiệu chỉnh hoàn chỉnh
2.3.2 Các văn bản trong tuyển tập Reuters
Tuyển tập Reuters [CH01][Yim98][KL99][Pet02] hiện nay được sử
dụng rất phổ biến trong lĩnh vực phân loại văn bản bằng ngôn ngữ tiếng
Anh Để so sánh độ chính xác của các giải thuật thì các giải thuật này
phải được xây dựng trên cùng các tập văn bản
Tuyển tập Reuters-22173 (version 1) do Carnegie Group, Inc tạo dựng
bao gồm 22173 văn bản và 182 chủ đề Có một số văn bản không được
gán chủ đề Hình 2.2 mô tả một văn bản thuộc tuyển tập này
Trang 25<REUTERS NEWID=”11”>
<DATE>26-FEB-1987 15:18:59.34</DATE>
<TOPIC><D>earn</D></TOPIC>
<TEXT>
<TITLE>COBANCO INC <CBCO> YEAR NET</TITLE>
<DATELINE> SANTA CRUZ, Calif.,Feb 26 - </DATELINE>
<BODY>Shr 34 cts vs 1.19 dlrs
Net 807,000 vs 2,858,000 Assets 510.2 mln vs 479.7 mln Deposits 472.3 mln vs 440.3 mln Loans 299.2 mln vs 327.2 mln Note: 4th qtr not available Year includes
Tuyển tập Reuter-21450 (version 2) do Lewis chỉnh sửa Bảng 2.2 liệt
kê các version của tuyển tập Reuter
Version Được xây dựng bởi Số lượng chủ đề
Số lượng văn bản trong tập
training
Số lượng văn bản trong tập
test
Phần trăm số văn bản thuộc chủ đề
Bảng 2.2 Các version của tuyển tập Reuter
văn bản
Trang 26Để phân loại một văn bản vào các chủ đề cho trước, văn bản này sẽ
lần lượt được xem xét với từng chủ đề Để đánh giá độ chính xác của việc
phân loại một văn bản vào một chủ đề nào đó ta đưa ra các công thức tính
toán như sau [Yim98][CH01][Pet02]
Recall:
Nếu a+c > 0
c a
a r
b f
+
=
Accuracy Nếu a+b+c+d > 0
d c b a
d a Acc
+++
+
=
Error Nếu a+b+c+d > 0
d c b a
c b Err
+++
+
=
Trong đó:
a là số văn bản được gán chính xác vào chủ đề này
b là số văn bản bị gán sai vào chủ đề này
c là số văn bản bị loại khỏi chủ đề này một cách không chính
xác
d là số văn bản bị loại khỏi chủ đề này một cách chính xác
b a
a p
+
=
Trang 27Bảng 2.3 tóm tắt ý nghĩa của các giá trị a, b, c, d
Văn bản thực sự thuộc chủ đề Văn bản thực sự không thuộc chủ đề Văn bản được
Văn bản không
được gán vào
Bảng 2.3 Ý nghĩa của các giá trị a, b, c, d
2.4.1 Phân tích giá trị của accuracy và error
Accuracy là phần trăm số văn bản được gán và loại bỏ khỏi chủ đề
một cách chính xác
Error là phần trăm số văn bản được gán sai hoặc loại bỏ sai khỏi chủ
đề
Từ đó suy ra:
Accuracy + Error =100%
Accuracy hoặc Error nếu thoạt nhìn sẽ là một công cụ hiệu quả để
đánh giá, so sánh độ chính xác của các giải thuật trong việc phân loại văn
bản Tuy nhiên trong một số trường hợp, Accuracy hoặc Error sẽ bị mắc
một sai lầm tiềm ẩn và sẽ không còn chính xác để được sử dụng trong
việc so sánh, đánh giá Ví dụ sau sẽ minh họa sai lầm tiềm ẩn này
Tuyển tập Reuter version 3 có tổng cộng 93 chủ đề và 7789 văn bản
trong tập training Trung bình mỗi văn bản có thể thuộc về 1,2 chủ đề
Điều này có nghĩa xác suất trung bình để một văn bản được gán vào một
chủ đề nào đó là 1,2/93 = 1,3% Giả sử tồn tại một giải thuật mà nó loại
bỏ tất cả các văn bản khỏi tất cả các chủ đề, nói cách khác tất cả các văn
bản đầu vào của giải thuật này đều không được gán cho bất cứ một chủ đề
Trang 28nào Từ đó suy ra giải thuật này có Error là 1,3% và Accuracy là 1 –
1,3% = 98,7% Đây là giá trị Accuracy rất cao mà ít có giải thuật nào đạt
được Tuy nhiên giải thuật trên lại hoàn toàn không có giá trị gì cả (do
không hề gán bất cứ văn bản nào cho một chủ đề nào)
Ví dụ trên cho thấy việc dùng giá trị Accuracy hoặc Error để so sánh
độ chính xác của các giải thuật trong việc phân loại văn bản sẽ dễ mắc
phải sai lầm, đặc biệt trong các trường hợp số lượng các chủ đề lớn và số
văn bản thuộc về mỗi chủ đề là nhỏ Trường hợp tương tự, nếu dùng các
các giá trị này để huấn luyện giải thuật thì giải thuật sẽ có khuynh hướng
loại bỏ các văn bản khỏi tất cả các chủ đề
Ngoài ra, một khuyết điểm của các giá trị Accuracy và Error là chúng
có độ nhạy thấp, xuất phát từ các công thức xác định chúng Cả hai giá trị
này đều có mẫu số là a+b+c+d (là tổng số văn bản) Vì vậy nếu có sự
thay đổi nhỏ ở tử số ( a+d đối với Accuracy và b+c đối với Error) thì các
giá trị Accuracy và Error sẽ biến thiên gần như không đáng kể Đối với
các chủ đề có ít văn bản, nói cách khác các giá trị a và c bé, thì a hoặc c
khi biến thiên từ giá trị nhỏ nhất đến giá trị lớn nhất của chúng cũng
không làm cho hai giá trị Accuracy và Error thay đổi nhiều
2.4.2 Phân tích giá trị của recall và Precision
Giá trị của Recall phản ánh phần trăm số văn bản được gán đúng vào
chủ đề trên tổng số văn bản thuộc chủ đề đó Giá trị này đạt lớn nhất khi
tất cả các văn bản thuộc chủ đề đều được gán vào chủ đề đó Điều này
không có nghĩa là tất cả các văn bản được gán vào chủ đề đều là những
văn bản thực sự thuộc chủ đề đó Vì vậy nếu lấy giá trị Recall làm mục
tiêu cho các giải thuật thì các giải thuật này sẽ có khuynh hướng gán thật
nhiều văn bản vào mỗi chủ đề, bất chấp các văn bản đó có thực sự thuộc
những chủ đề này hay không
Giá trị Precision phản ánh phần trăm số văn bản được gán đúng vào
chủ đề trên tổng số văn bản được gán vào chủ đề đó Giá trị này đạt lớn
nhất khi tất cả các văn bản được gán vào chủ đề đều là những văn bản
thực sự thuộc chủ đề đó Điều này không có nghĩa là tất cả các văn bản
thực sự thuộc chủ đề đều được gán vào chủ đề đó Vì vậy nếu lấy giá trị
Trang 29Precision làm mục tiêu cho các giải thuật thì các giải thuật này sẽ có
khuynh hướng gán thật ít văn bản vào mỗi chủ đề sao cho những văn bản
được gán thực sự là những văn bản thuộc chủ đề đó
Hai giá trị Recall và Precision mang tính trái ngược nhau Nếu thiết
kế sao cho giá trị Recall cao thì giá trị Precission sẽ thấp và ngược lại
Hình 2.3 biểu diễn mối tương quan giữa hai giá trị này
Khi xem xét một giải thuật, nếu chỉ để ý đến một trong hai giá trị
Precision hoặc Recall thì không đánh giá chính xác được giải thuật Vì
vậy cần phải xem xét cả hai Để dung hoà giữa hai giá trị này người ta
đưa ra khái niệm điểm Break-Even (BEP) Điểm Break-Even là điểm tại
đó giá trị Precision bằng với giá trị Recall
Điểm Break-Even là một thông số được sử dụng khá phổ biến để đánh
giá độ chính xác của các giải thuật phân loại văn bản Giá trị của điểm
này càng cao thì giải thuật càng có tính chính xác Tuy nhiên trong nhiều
trường hợp việc xác định giá trị điểm Break-Even tương đối khó khăn vì
hai giá trị Precision và Recall không bằng nhau mà chỉ gần nhau Trong
trường hợp này giá trị điểm Break-Even sẽ được tính xấp sỉ
Giá trị Recall có độ nhạy tương đối cao Recall được xác định bởi
a/(a+c) Thông thường hai thông số a và c có giá trị không lớn lắm trong
tập các văn bản Ngoài ra a + c luôn là một số cố định và bằng tổng số
văn bản thuộc chủ đề này Vì vậy một sự thay đổi của a trên tử số sẽ dẫn
đến một sự biến thiên lớn của giá trị Recall Nếu một văn bản được gán
đúng vào chủ đề hay gán sai vào chủ đề cũng sẽ gây nên một sự biến
thiên của Recall là 1/(a+c) Giá trị biến thiên này là lớn so với giá trị biến
thiên 1/(a+b+c+d) của Accuracy hay Error trong trường hợp tương tự Nói
cách khác Recall có độ nhạy cao hơn nhiều so với Accuracy hoặc Error
Trang 302.4.3 Thông số F
Như phân tích ở mục trên, cần phải xem xét đồng thời cả hai giá trị
Precision và Recall khi đánh giá độ chính xác của một giải thuật Điểm
Break-Even là một phương pháp kết hợp cả hai giá trị này Tuy nhiên việc
xác định giá trị của điểm Break-Even đôi lúc cũng có những khó khăn
Thông số F, do Van Rijsbergen thiết lập [KL99], là một phương pháp
đánh giá cũng dựa trên Precision và Recall nhưng khắc phục được nhược
điểm của điểm Break-Even
r p
pr p
r F
+
+
= 22 1,
β
β
β
Trong đó:
p là giá trị của Precision
r là giá trị của Recall
thuộc chủ đề
Rất nhiều văn bản được gán vào chủ đề nhưng chỉ có một số ít là thực sự thuộc chủ đề
0
Hình 2.3 Mối quan hệ giữa Precision và Recall
Trang 31β là giá trị trọng số của Precision so với Recall Trong một số trường hợp Precision và Recall không được xem trọng
như nhau
Nếu Precision và Recall được xem trọng như nhau (β =1),
công thức trên sẽ trở thành:
r p
pr F
+
= 21
Thông số F1 được sử dụng rất phổ biến trong việc đánh giá độ chính
xác của các giải thuật phân loại văn bản Giá trị của thông số này sẽ đạt
cực đại khi giá trị của Precision bằng hoặc xấp sỉ với giá trị Recall
Thông số F1 có tính tổng quát hơn điểm Break-Even Khi đạt đến
điểm Break-Even, r=p, ta có:
p r r
r r p
Lúc đó giá trị của F1 bằng đúng giá trị của điểm Break-Even
Thông số F1 có độ nhạy nằm trong khoảng giữa độ nhạy của Recall và
Accuracy
Thông số F1 được xem là thông số hữu hiệu nhất trong việc so sánh độ
chính xác của các giải thuật phân loại văn bản Thông số này tỏ ra hiệu
quả đối với các chủ đề có nhiều văn bản lẫn đối với các chủ đề có ít văn
bản
2.4.4 Trung bình Micro và trung bình Macro
Khi phân loại văn bản, tùy theo từng chủ đề mà độ chính xác có thể
khác nhau Có hai phương pháp xác định độ chính xác trung bình trên tất
cả các chủ đề, đó là trung bình Micro và trung bình Macro
Trong phương pháp trung bình Micro, các giá trị a, b, c, d được
cộng dồn trên tất cả các chủ đề Các phương pháp đánh giá độ chính xác
Trang 32sẽ dựa trên các giá trị a, b, c, d tổng cộng này để tính độ chính xác trung
bình cho toàn bộ giải thuật
Trong phương pháp trung bình Macro, độ chính xác được tính
riêng cho từng chủ đề Độ chính xác trung bình sẽ bằng trung bình các độ
chính xác của từng chủ đề
Giá trị độ chính xác trung bình Micro sẽ khác với giá trị độ chính xác trung bình Macro Ý nghĩa của chúng cũng khác nhau Trong giá trị
trung bình Micro, tất cả các văn bản đều có cùng trọng số Còn trong giá
trị trung bình Macro tất cả các chủ đề đều có cùng trọng số
Ví dụ sau sẽ minh họa cách tính giá trị trung bình Micro, giá trị trung
bình Macro và sự khác nhau của chúng
Giả sử chủ đề 1 có bảng phân bố các giá trị a 1 , b 1 , c 1 , d 1 như sau:
Văn bản thực sự thuộc
chủ đề 1
Văn bản thực sự không thuộc chủ đề 1 Văn bản được
gán vào chủ
đề 1
Văn bản không được
gán vào chủ
đề 1
Chủ đề 2 có bảng phân bố các giá trị a 2 , b 2 , c 2 , d 2 như sau:
Trang 33Văn bản thực sự thuộc
chủ đề 2
Văn bản thực sự không thuộc chủ đề 2 Văn bản được
gán vào chủ
Văn bản không được
gán vào chủ
đề 2
Để tính giá trị trung bình Micro, các giá trị a, b, c, d được cộng dồn
như trong bảng sau:
Văn bản thực sự thuộc chủ đề 1&2
Văn bản thực sự không thuộc chủ đề 1&2 Văn bản được
gán vào chủ
Văn bản không được
gán vào chủ
Giá trị Precision của chủ đề 2:
p 2 = a 2 /(a 2 +c 2 )
= 90/(90+10) = 0,9
Trang 34Giá trị Precision tính theo trung bình macro
p ma = (p 1 + p 2 ) /2
= (0,5 + 0,9) /2 = 0,7
Giá trị Precision tính theo trung bình micro
p mi = a/(a + c)
= 100 / (100 + 20) = 0,83
Giá trị Precision tính theo trung bình macro (0,7) hoàn toàn khác với
giá trị Precision tính theo trung bình micro (0,83)
2.5 Kết luận
Chương này trình bày các cơ sở lý thuyết liên quan đến việc phân loại
văn bản như biểu diễn các văn bản, rút gọn kích thước ma trận, các cách
đánh giá độ chính xác của các giải thuật Tất cả các giải thuật phân loại
văn bản đều liên quan đến những vấn đề này Để so sánh độ chính xác
của các giải thuật, cần phải so sánh chúng trên cùng một thông số trung
bình Giá trị trung bình của các thông số này trên các chủ đề phải cùng là
Micro hay Macro Đồng thời thông số này phải có độ chính xác cao trong
mọi trường hợp, ví dụ như điểm Break-Even, F1 Ngoài ra các giải thuật
phân loại văn bản cần phải được xây dựng và kiểm tra trên cùng một tập
training và tập test
Trang 35Phần 3
TỔNG QUAN VỀ CÁC GIẢI THUẬT
DÙNG TRONG PHÂN LOẠI VĂN BẢN
Có nhiều giải thuật được đưa ra để giải quyết bài toán phân loại văn
bản Về phương pháp có thể phân thành hai loại: loại nhị phân và loại m
phân (m>2)
- Loại nhị phân: đưa vào một văn bản, giải thuật sẽ lần lượt xác định
xem văn bản này có thuộc về từng chủ đề cho trước hay không Một văn
bản có thể thuộc về hơn một chủ đề Hầu hết các giải thuật đều thuộc loại
nhị phân Các giải thuật có thể kể đến là: Naive Bayes, Decision Tree,
Rocchio,…
- Loại m phân (m>2): các chủ đề sẽ được sắp xếp theo thứ tự ứng với
mức độ tương thích với văn bản đưa vào Mỗi chủ đề sẽ có một điểm số
đối với văn bản cần phân loại Nếu điểm số này lớn hơn một ngưỡng đã
xác định trước (tùy vào từng chủ đề) thì văn bản này sẽ thuộc về chủ đề
đó Một văn bản có thể thuộc về nhiều chủ đề Các giải thuật thuộc nhóm
này là: K Nearest Neighbor, WORD,…
Có nhiều phương pháp để chuyển đổi giữa 2 loại trên Chẳng
hạn để chuyển từ m phân sang nhị phân, người ta có thể chọn 1 ngưỡng
thích hợp cho m phân để thu được nhị phân Ngược lại nếu phương pháp
nhị phân có ghi lại mức độ tương thích với từng chủ đề thì người ta cũng
sẽ dễ dàng xếp các chủ đề này theo thứ tự từ cao xuống thấp và thu được
m phân
Dưới đây là một số giải thuật tiêu biểu
Trang 363.1 Giải thuật Naive Bayes
Giải thuật này được nói đến trong [CH01][LR94][DH02][KL99][YX99]
3.1.1 Một số lý thuyết về xác suất
- Các xác suất đều nằm giữa 0 và 1
0 ≤ P(A) ≤ 1
- Xác suất hợp của A và B sẽ được tính bởi công thức
P(A ∨ B) = P(A) + P(B) - P(A ∧ B)
- Xác suất có điều kiện:
Xác suất để sự kiện A xảy ra khi đã có sự kiện B là
B P
B A P B A
- Công thức Bayes:
E P
H P H E P E H
|
Trang 373.1.2 Phân loại văn bản bằng giải thuật Bayes
- Gọi tập các chủ đề là {c1, c2, … , cn}
- Gọi E làvăn bản cần phân loại
- Ta cần tìm xác suất của văn bản E đối với mỗi chủ đề ci
E P
c P c E P E c
i i
n i
i
E P
c E P c P E
c P
n i
i P E c c
P E
i =
Trong đó:
N là tổng số văn bản trong tập training
n i là số văn bản trong tập training thuộc về chủ đề c i
- Văn bản E được biểu diễn bằng các từ e i như sau:
Trang 38• e1 = sneeze; e2 = cough; e3 = fever
• E = {sneeze, cough, ¬ fever}
P(cold | E) = (0.05)(0.9)(0.8)(0.3)/P(E) = 0.01/P(E)
P(allergy | E) = (0.05)(0.9)(0.7)(0.6)/P(E) = 0.019/P(E)
P(E) = 0.089 + 0.01 + 0.019 = 0.0379 P(well | E) = 0.23
P(cold | E) = 0.26 P(allergy | E) = 0.50 Vậy xác suất của allergy là cao nhất
3.1.3 Đánh giá giải thuật
- Giải thuật đơn giản, dễ thực hiện
- Xác suất của văn bản đối với chủ đề c i phụ thuộc vào xác suất
P(c i ) Xác suất này được tính dựa vào các văn bản trong tập training Như
vậy xác suất P(c i ) phụ thuộc hoàn toàn vào tập training Giả sử số lượng
các văn bản thuộc về mỗi chủ đề trong tập training khác nhau, khi đó chủ
đề j nào có số lượng văn bản nhiều nhất sẽ có xác suất P(c j ) lớn nhất
Điều này sẽ ảnh hưởng đến độ chính xác của giải thuật
Trang 39- Trong quá trình tính toán, để đơn giản ta có giả sử các từ e i của
một văn bản là độc lập với nhau khi cho trước chủ đề c i , điều này đôi khi
gây ra sự không chính xác Nếu không đưa ra giả thuyết trên thì việc tính
toán sẽ rất phức tạp (độ phức tạp là một hàm mũ tỉ lệ với hệ số m)
3.2 Giải thuật K Nearest Neighbors
Giải thuật này được nói đến trong [CH01] [KL99] [Yim98]
[Jam02] [YX99] [Ale01]
3.2.1 Giải thuật K Nearest Neighbors
Nguyên tắc của giải thuật này khá đơn giản Với K = 1, để phân
loại một văn bản, ta tìm trong tập training một văn bản giống với văn bản
này nhất và gán chủ đề của văn bản trong tập training cho văn bản cần
j
i sim x d y d c b c
x y
i j
j
c đề chủ uộc ông d
bản văn nếu
c đề chủ uộc d bản văn nếu d
y
th kh
th
c i
01,
Trang 40b i là ngưỡng để một văn bản thuộc về chủ đề c i. Ngưỡng này
được xác định thông qua tập validation Ngưỡng tốt nhất là ngưỡng làm
cho các thông số đánh giá giải thuật, lấy ví dụ thông số F1, đạt giá trị lớn
nhất Nhờ vào ngưỡng này mà giải thuật có thể gán nhiều chủ đề cho cùng
một văn bản
D là tập training sim(x, d j ) là hàm xác định độ giống nhau giữa văn bản x và văn bản d j thuộc tập training Có nhiều giải thuật để xác định độ giống nhau
của hai văn bản, trong đó tiêu biểu là giải thuật sử dụng hàm cosin của hai
vector như sau:
( )
2 2
),(
j
d x t
ij i j
d x
d x d
t i là từ vừa có trong văn bản x vừa có trong văn bản d j
x i là số hạng biểu diễn cho từ t i trong văn bản x
d ij là số hạng biểu diễn cho từ t i trong văn bản d j
2 3
2 2
2 1
2 = x +x +x +
x
2 3
2 2
2 1
2 = j + j + j +
d
3.2.2 Đánh giá giải thuật
- Giải thuật đơn giản, dễ hiểu
- Không cần giai đoạn huấn luyện như các giải thuật khác
- Thời gian phân loại rất lớn do phải so sánh văn bản đầu vào với tất
cả các văn bản trong tập training