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

Phân lớp tài liệu web độc lập ngôn ngữ

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 (819.75 KB, 50 trang )

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

Nguyễn Thị Thuỳ Linh

PHÂN LỚP TÀI LIỆU WEB
ĐỘC LẬP NGƠN NGỮ

KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Cơng nghệ thông tin
Cán bộ hướng dẫn:
NCS. Phan Xuân Hiếu
Cán bộ đồng hướng dẫn: TS. Hà Quang Thuỵ

HÀ NỘI – 2006


LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới Tiến sĩ Hà Quang
Thuỵ (Trường Đại học Công Nghệ) và Nghiên cứu sinh Phan Xuân Hiếu (Japan
Advanced Institute of Science and Technology) đã chỉ bảo và hướng dẫn tận tình cho
tơi trong suốt q trình nghiên cứu Khoa học và quá trình thực hiện khoá luận này.
Em xin gửi lời cảm ơn và biết ơn sâu sắc tới các thày, cô đã dạy dỗ em trong
suốt quá trình học tập tại trường Đại học Công Nghệ. Những kiến thức các thày, cô
dạy tôi là hành trang để tôi vững bước vào đời.
Em cũng xin chân thành cảm ơn các thày, cô, anh, chị trong Bộ môn Các hệ
thống thông tin đã tạo điều kiện, giúp đỡ và động viên tinh thần cho em trong q trình
làm khố luận.
Tơi xin gửi lời cảm ơn tới các bạn sinh viên trong nhóm seminar “Khai phá dữ
liệu và khám phá tri thức” đã ủng hộ và khuyến khích tơi trong q trình nghiên cứu
và làm khố luận này.


Và cuối cùng, con xin gửi lời cảm ơn và biết ơn vô hạn tới bố, mẹ, cảm ơn em
trai tôi, những người thân yêu của tôi, đã nuôi nấng, dạy dỗ và luôn động viên, làm chỗ
dựa tinh thần cho tôi trong cuộc sống cũng như trong học tập và làm việc.
Xin chân thành cảm ơn!
Hà Nội, ngày 25 tháng 05 năm 2006
Sinh viên

Nguyễn Thị Thuỳ Linh


TÓM TẮT NỘI DUNG
Phân lớp văn bản là một trong những bài toán cơ bản và quan trọng nhất của
lĩnh vực xử lý ngơn ngữ tự nhiên. Nó có ứng dụng rất nhiều trong các bài tốn thực tế
ví dụ như: ứng dụng lọc nội dung văn bản (lọc thư rác, lọc trang web có nội dung phản
động, trang web có nội dung khơng lành mạnh,…), bài tốn phân lớp văn bản sau tìm
kiếm,… Hiện nay có rất nhiều bộ phân lớp đạt được độ chính xác cao (đều xấp xỉ
90%), tuy nhiên các bộ phân lớp này hầu hết chỉ áp dụng cho một ngôn ngữ cụ thể.
Thực tế cho thấy, đối với bài toán lọc nội dung trang Web thì một vấn đề đặt ra là phải
xử lý trên nhiều ngôn ngữ khác nhau. Một trong hướng nghiên cứu phân lớp văn bản
được quan tâm gần đây là phân lớp đa ngơn ngữ [7]. Khố luận này nghiên cứu và đề
xuất một phương pháp phân lớp nội dung Web độc lập ngơn ngữ. Phương pháp này
cho phép tích hợp thêm các ngôn ngữ mới vào bộ phân lớp và giải quyết vấn đề bùng
nổ đặc trưng thông qua hướng tiếp cận entropy cực đại và sử dụng chiến lược tối ưu
hoá hàm nhiều biến rất hiệu quả. Các kết quả thực nghiệm cho thấy hướng tiếp cận của
khoá luận rất khả quan, cụ thể, khi huấn luyện riêng biệt trên từng ngôn ngữ đều nhận
được kết quả rất cao (Anh trên 98%, Việt trên 91%), cịn khi có sự kết hợp của hai
ngôn ngữ kết quả đạt được cũng rất khả quan (Anh-Việt xấp xỉ 95%). Đặc biệt khi cho
mơ hình kiểm tra trên một tập dữ liệu hồn tồn mới kết quả cũng rất khả quan (độ
chính xác Anh-Việt xấp xỉ 84%). Bên cạnh đó, khố luận cũng đã phân tích các vấn đề
cơ bản của bài tốn phân lớp văn bản độc lập ngơn ngữ đó là sự nhập nhằng ngôn ngữ

và sự bùng nổ đặc trưng, sau đó đã đưa ra các phương pháp khắc phục khá hiệu quả.
Một đề xuất mới mà khoá luận đưa ra là mơ hình dựa trên cây phân lớp thơng minh.
Đề xuất này có nhiều triển vọng cho các ứng dụng nhỏ cần phân loại văn bản và nhận
diện được ngôn ngữ.

i


MỤC LỤC
LỜI CẢM ƠN.................................................................................................................. i
TÓM TẮT NỘI DUNG................................................................................................... i
MỤC LỤC ...................................................................................................................... ii
BẢNG KÍ HIỆU VIẾT TẮT ......................................................................................... iv
DANH MỤC BẢNG SỐ LIỆU.......................................................................................v
DANH MỤC HÌNH ẢNH............................................................................................. vi
MỞ ĐẦU .........................................................................................................................1
CHƯƠNG 1. KHÁI QUÁT VỀ PHÂN LỚP VĂN BẢN ĐỘC LẬP NGÔN NGỮ ......3
1.1. Bài toán phân lớp văn bản ...................................................................................3
1.1.1. Tổng quan......................................................................................................3
1.2. Phân lớp văn bản độc lập ngôn ngữ .....................................................................4
1.2.1. Đặt vấn đề......................................................................................................4
1.2.2. Phân lớp văn bản độc lập ngôn ngữ ..............................................................5
1.2.3. Ý nghĩa và ứng dụng .....................................................................................5
CHƯƠNG 2. CÁC MÔ HÌNH VÀ THUẬT TỐN PHÂN LỚP VĂN BẢN...............7
2.1. Giới thiệu.............................................................................................................7
2.2. Mơ hình Maximum Entropy................................................................................7
2.2.1. Giới thiệu.......................................................................................................7
2.2.2. Xây dựng mơ hình .........................................................................................9
2.3. Tổng kết chương.................................................................................................16
CHƯƠNG 3. PHÂN LỚP TÀI LIỆU WEB ĐỘC LẬP NGƠN NGỮ VỚI MƠ HÌNH

ENTROPY CỰC ĐẠI ...................................................................................................17
3.1 Giới thiệu ............................................................................................................17
3.2. Bài toán phân lớp văn bản độc lập ngôn ngữ ....................................................17
3.2.1. Vấn đề nhập nhằng ngôn ngữ......................................................................17
3.2.2. Vấn đề bùng nổ đặc trưng ...........................................................................18
3.3. Quy trình xây dựng bộ phân lớp........................................................................19
3.3.1. Tiền xử lý dữ liệu ........................................................................................19
3.3.2. Xây dựng đặc trưng .....................................................................................20
3.3.3. Lựa chọn đặc trưng......................................................................................21
3.3.4. Huấn luyện mơ hình ....................................................................................23
3.3.5. Phân lớp văn bản mới ..................................................................................23
3.4. Đánh giá độ chính xác của bộ phân lớp ............................................................24

ii


3.4.1. Các độ đo.....................................................................................................24
3.4.2. Áp dụng phương pháp ước lượng chéo trên k tập con ................................25
3.5. Xây dựng bộ phân lớp trên cây phân lớp thông minh .......................................25
3.5.1. Bản chất bài toán .........................................................................................26
3.5.2. Phân lớp cho văn bản mới ...........................................................................26
3.5.3. Thảo luận .....................................................................................................27
3.6. Tổng kết chương................................................................................................27
CHƯƠNG 4. KẾT QUẢ THỬ NGHIỆM VÀ ĐÁNH GIÁ .........................................28
4.1. Môi trường thử nghiệm ......................................................................................28
4.1.1. Môi trường phần cứng .................................................................................28
4.1.2. Công cụ phần mềm......................................................................................28
4.2. Dữ liệu kiểm thử.................................................................................................29
4.2.1. Tiền xử lý dữ liệu ........................................................................................29
4.2.2. Cây phân lớp................................................................................................30

4.3. Kết quả thử nghiệm ............................................................................................31
4.3.1. Quá trình huấn luyện ...................................................................................31
4.3.2. Lần lặp cho độ chính xác cao nhất ..............................................................34
4.3.3. Kết quả kiểm tra trên dữ liệu mới ...............................................................35
4.4. Tổng kết chương.................................................................................................36
KẾT LUẬN ...................................................................................................................37
PHỤ LỤC. DANH SÁCH STOP-WORD ....................................................................38
TÀI LIỆU THAM KHẢO .............................................................................................41

iii


BẢNG KÍ HIỆU VIẾT TẮT
Kí hiệu

Diễn giải

GIS

Generalized Interative Scaling

HTML

Hyper Text Markup Language

IDF

Inverse Document Frequency

IIS


Improved Iterative Scaling

kNN

K Nearest Neighbours

L-BFGS

Limited-memory Broyden-Fletcher-Goldfarb-Shannon

MaxEnt

Maximum Entropy

NCR

Numeric Character References

TF

Term Frequency

UTF

Unicode Transformation Formats

iv



DANH MỤC BẢNG SỐ LIỆU
Bảng 1. Cây phân lớp thông minh tổng quát.................................................................26
Bảng 2. Bảng ví dụ cho cây phân lớp thơng minh ........................................................26
Bảng 3. Cấu hình hệ thống chạy thử nghiệm ................................................................28
Bảng 4. Danh sách phần mềm sử dụng để thử nghiệm .................................................28
Bảng 5. Danh sách công cụ sử dụng để thử nghiệm .....................................................29
Bảng 6. Cây phân lớp thông tin.....................................................................................31
Bảng 7. Tập dữ liệu huấn luyện của cả 3 mơ hình ........................................................31
Bảng 8. Độ chính xác 10 lần huấn luyện của tiếng Anh ...............................................32
Bảng 9. Độ chính xác 10 lần huấn luyện của tiếng Việt ...............................................32
Bảng 10. Độ chính xác 10 lần huấn luyện kết hợp Anh-Việt........................................32

v


DANH MỤC HÌNH ẢNH
Hình 1. Tập ràng buộc C ...............................................................................................12
Hình 2. Mô tả các bước xây dựng bộ phân lớp .............................................................19
Hình 3. Trang tin tức tiếng Việt VnExpress.net............................................................29
Hình 4. Trang tin tức tiếng Anh BBC News .................................................................30
Hình 5. Độ chính xác của 3 bộ phân lớp trong 10 lần huấn luyện ................................33
Hình 6. Sự phụ thuộc độ chính xác theo bước lặp của cả 3 mơ hình ............................34
Hình 7. Kết quả kiểm tra bộ dữ liệu độc lập Anh-Việt .................................................35

vi


MỞ ĐẦU
Hiện nay, nhờ khả năng cho phép mã hoá được phần lớn các ngơn ngữ thơng
dụng trên tồn thế giới của bảng mã Unicode, khoảng cách giữa các quốc gia, dân tộc

do hạn chế về ngôn ngữ gây ra đang dần được xoá đi. Theo thống kê [20] hiện nay đã
có 141 ngơn ngữ được sử dụng trên Internet và xu hướng tất yếu là sẽ ngày càng xuất
hiện thêm nhiều ngôn ngữ trên Internet. Bộ phân lớp văn bản đã có hiện nay mới chỉ
dừng ở mức phân lớp cho các văn bản cùng trên một ngôn ngữ. Nếu với 141 ngôn ngữ
chúng ta xây dựng 141 bộ phân lớp thì quả thật tốn kém. Hơn thế nữa các trang web
thương mại, web có nội dung khơng lành mạnh hiện nay thể hiện và ẩn náu dưới nhiều
hình thức đa dạng (nhiều ngôn ngữ cùng xuất hiện trong một trang web) với mục đích
đi qua bộ lọc trong máy tìm kiếm, chúng gây rất nhiều phiền tối cho người dùng. Vì
vậy, bài tốn phân lớp văn bản độc lập ngơn ngữ được đặt ra nhằm mục đích xây dựng
một bộ phân lớp duy nhất cho nhiều ngôn ngữ.
Ý thức được vấn đề đó, khóa luận này tập trung xây dựng một bộ phân lớp tài
liệu web độc lập ngôn ngữ dựa trên việc áp dụng nguyên lý entropy cực đại. Đây là
phương pháp có khả năng tích hợp mạnh hàng nghìn hàng triệu đặc trưng quan trọng.
Qua kết quả thực nghiệm, với tập dữ liệu lên tới 12.000 trang Web bao gồm hai ngôn
ngữ Anh và Việt, kết quả cho thấy rất khả quan.
Mục tiêu mà khoá luận hướng tới:
9 Xây dựng bộ phân lớp duy nhất cho nhiều ngơn ngữ dựa trên mơ hình
entropy cực đại.
9 Khơng cần sử dụng một bộ phân nhận dạng ngôn ngữ nào khác.
9 Thử nghiệm và đánh giá, và vạch ra hướng phát triển tiếp theo.
Cấu trúc của luận văn được tổ chức như sau:
9 Chương 1: Giới thiệu tóm tắt bài toán phân lớp văn bản, đặt vấn đề và
phát biểu bài tốn phân lớp văn bản độc lập ngơn ngữ.
9 Chương 2: Trình bày cụ thể hơn về bài toán phân lớp, đề cập đến các vấn
đề cơ bản của nguyên lý entropy cực đại theo hướng áp dụng vào bài toán
phân lớp văn bản.
9 Chương 3: Phát biểu bài tốn phân lớp văn bản độc lập ngơn ngữ, phân
tích các vấn đề cần giải quyết đối với bài toán và các bước xây dựng bộ

1



phân lớp trên cơ sở áp dụng mơ hình entropy cực đại. Đưa ra một đề xuất
mới có thể áp dụng và các ứng dụng vừa và nhỏ.
9 Chương 4: Trình bày những kết quả đánh giá thử nghiệm của khoá luận
áp dụng cho bài toán cây phân lớp tin tức với hai ngôn ngữ Anh và Việt.
Cuối cùng là kết luận lại những điểm chính, những đóng góp chính của luận
văn, đồng thời chỉ ra những điểm cần khắc phục và vạch ra hướng cải tiến nhằm
hướng tới xây dựng một hệ ứng dụng thực trên môi trường Internet.

2


Chương 1

KHÁI QUÁT VỀ PHÂN LỚP VĂN BẢN
ĐỘC LẬP NGÔN NGỮ
Bài tốn phân lớp độc lập ngơn ngữ là một bài toán con, phát triển trên nền
của bài toán phân lớp văn bản. Trước khi trình bày về bài tốn chính, chương này trình
bày một cách sơ lược lịch sử cũng như ứng dụng của bài toán phân lớp văn bản.

1.1. Bài toán phân lớp văn bản
1.1.1. Tổng quan
Phân lớp văn bản được coi là quá trình phân loại một văn bản bất kì vào một
hay nhiều lớp cho trước. Theo phương pháp học máy (machine learning), quá trình này
gồm hai bước. Ở bước thứ nhất, một mơ hình phân lớp (classfication model) được xây
dựng dựa trên tri thức kinh nghiệm. Ở đây, tri thức kinh nghiệm chính là một tập dữ
liệu huấn luyện (training dataset) được cung cấp bởi con người bao gồm một tập văn
bản và phân lớp tương ứng của chúng. Bước này còn gọi là bước xây dựng huấn luyện
(training process) hay ước lượng mơ hình phân lớp. Ở bước thứ hai, mơ hình phân lớp

xây dựng ở bước đầu sẽ được sử dụng để phân lớp cho những văn bản (chưa được
phân loại) trong tương lai. Bước đầu tiên được xem như là việc học có giám sát mà
chúng ta có thể sử dụng rất nhiều các kĩ thuật học máy đã có như: Nạve Bayes, k láng
giếng gần nhất (kNN), cây quyết định (Decision Tree),… Mục tiêu của bài toán phân
lớp là nhằm xây dựng mơ hình có khả năng gán nhãn cho một văn bản bất kì với độ
chính xác cao nhất có thể.
Nhu cầu có một bộ phân lớp hiệu quả đã xuất hiện ngay từ thủa ban đầu của
thời kì bùng nổ thơng tin trên Internet. Vì thế bài tốn phân lớp văn bản không phải là
một khái niệm mới mẻ. Tuy nhiên, hiện nay càng ngày hệ thống máy tính có khả năng
xử lý càng mạnh, lượng thơng tin trên Internet biến đổi không ngừng cả về chất lượng
và số lượng. Nên bài tốn phân lớp văn bản vẫn ln là một vấn đề thời sự [7].
Đồng hành với lịch sử đó cho đến nay đã có rất nhiều các cơng cụ, bộ phân lớp
ra đời, có thể là bộ phân lớp với từng ứng dụng cụ thể, hay bộ phân lớp cho một bài
toán nhưng áp dụng những kĩ thuật học máy khác nhau.
Ứng dụng lớn nhất của bài toán phân lớp văn bản là áp dụng vào bài toán phân
loại hay lọc nội dung. Trong bài toán lọc nội dung: một văn bản được phân loại vào
3


nhóm: có ích hoặc khơng có ích. Sau đó lấy tất cả những văn bản thuộc nhóm có ích,
nhóm cịn lại bị loại bỏ. Các ứng dụng cụ thể như: lọc thư rác, lọc trang web phản
động,… Một ứng dụng khác của bài toán phân lớp là xây dựng bộ phân lớp sau tìm
kiếm, ứng dụng này rất hữu ích vì nó định vị nội dung thơng tin cần tìm kiếm nhanh và
dễ dàng hơn.
Tóm lại, với tất cả ý nghĩa thực tế trên, một lần nữa có thể khẳng định rằng
trong thời đại Internet được coi là một phần không thể thiếu trong cuộc sống, phân lớp
văn bản luôn là vấn đề đáng được quan tâm để có thể phát triển và xây dựng được
những công cụ ngày càng hữu dụng hơn.

1.2. Phân lớp văn bản độc lập ngôn ngữ

1.2.1. Đặt vấn đề
Nếu thường xuyên theo dõi các trang tin của các hãng tin lớn, chúng ta dễ
dàng nhận thấy chúng được thể hiện trên nhiều ngôn ngữ. Trên BBC hiện nay có tới
33 ngơn ngữ, CNN có 5 ngôn ngữ,… Hoặc khi chúng ta nhập câu truy vấn trong một
hệ thống tìm kiếm trực tuyến (Google, Yahoo) để tìm kiếm thơng tin mà ta quan tâm,
kết quả trả về là một danh sách các địa chỉ trang web chứa từ khố cần tìm và chúng
hiển thị dưới nhiều ngơn ngữ khác nhau. Như vậy có thể thấy rằng khá nhiều ngôn ngữ
đã được đưa lên Internet. Hiện nay theo thống kê [20] đã có tới 141 ngơn ngữ được mã
hoá và được sử dụng trên Internet, và theo xu thế này thì sẽ cịn có nhiều hơn nữa các
ngơn ngữ được mã hố và đưa vào sử dụng.
Trong giai đoạn nền kinh tế hội nhập này, không chỉ các hãng tin lớn mà cả
các tập đoàn xuyên quốc gia cũng xây dựng trang web của mình trên nhiều ngơn ngữ
khác nhau. Bên cạnh đó cịn có các quốc gia muốn giới thiệu về nền văn hoá, lịch sử
nước mình bằng việc xây dựng các trang web trên Internet nhằm giao lưu văn hoá và
thu hút khách du lịch.
Hơn thế nữa, hiện nay thư rác, các trang web thương mại, trang web phản
động, trang web có nội dung khơng lành mạnh,… ngày càng xuất hiện dưới nhiều hình
thức phong phú hơn. Chúng không chỉ được biểu diến một ngôn ngữ mà cịn bởi đồng
thời nhiều ngơn ngữ nhằm đi qua bộ lọc thư rác, hay các bộ lọc nội dung của máy tìm
kiếm. Vì thế, việc xây dựng bộ phân lớp văn bản tự động cho nhiều ngôn ngữ là rất
cần thiết.

4


Chúng ta có thể xây dựng một bộ phân lớp như vậy bằng cách sử dụng một bộ
nhận dạng ngôn ngữ cho văn bản rồi mới tiến hành phân lớp. Đây là một phương pháp
hay, tuy nhiên khó khăn gặp khi phân lớp các tài liệu có nhiều ngơn ngữ xuất hiện
đồng thời. Hướng đến việc xây dựng công cụ áp dụng cho các ứng dụng vừa và nhỏ,
trong khoá luận này, chúng tôi đề xuất tiếp cận cho bài tốn phân lớp văn bản trên

nhiều ngơn ngữ theo hướng không phụ thuộc ngôn ngữ (độc lập) sử dụng mô hình
entropy cực đại.
1.2.2. Phân lớp văn bản độc lập ngơn ngữ
Phân lớp văn bản độc lập ngôn ngữ là một bài toán phân lớp văn bản, cho
phép sắp xếp một văn bản vào một lớp bất kì mà khơng cần quan tâm đến ngơn ngữ
trên văn bản đó. Điều đó cũng có nghĩa là các văn bản trên những ngơn ngữ khác nhau
được coi là bình đẳng. Ý nghĩa của chữ “độc lập” là như vậy.
Trong [7], Fuchen đề xuất ý tưởng sử dụng mơ hình ngơn ngữ N-gram giải
quyết các bài tốn xử lý ngơn ngữ tự nhiên độc lập ngơn ngữ. Mơ hình N-gram là một
mơ hình thống kê thuần tuý, nếu xét trên một tập dữ liệu lớn thì nó sẽ gặp phải vấn đề
bùng nổ đặc trưng, là một trong thách thức với bài toán phân xử lý ngơn ngữ tự nhiên
độc lập ngơn ngữ nói chung và bài toán phân lớp văn bản độc lập ngơn ngữ nói riêng.
Bản chất các ngơn ngữ trong tự nhiên tồn tại sự nhập nhằng: Có nhiều từ
mượn, từ dùng chung giữa các ngôn ngữ với nhau. Sự nhập nhằng này rõ ràng sẽ ảnh
hưởng đến độ chính xác bộ phân lớp của chúng ta một mức độ nhất định. Bên cạnh đó,
một vấn đề cốt lõi cần phải giải quyết khi muốn xây dựng bộ phân lớp cho văn bản độc
lập ngôn ngữ là sự bùng nổ đặc trưng. Cả hai vấn đề này sẽ được phân tích và được
đưa ra cách giải quyết trong Chương 3.
Trong khoá luận này, chúng tôi sử dụng kĩ thuật học máy entropy cực đại để
xây dựng mơ hình phân lớp . Entropy cực đại là một phương pháp cho phép khả năng
tích hợp mạnh nhiều đặc trưng, có thể là hàng nghìn hàng triệu đặc trưng. Qua thử
nghiệm đã cho thấy kết quả rất khả quan. Độ chính xác trong quá trình huấn luyện của
bộ phân lớp của hai ngơn ngữ Anh – Việt xấp xỉ 95%, trong khi bộ phân lớp của tiếng
Anh là 98% và của tiếng Việt là trên 91%.
1.2.3. Ý nghĩa và ứng dụng
Phân lớp tài liệu Web độc lập ngơn ngữ là bài tốn có ý nghĩa và ứng dụng
thực tiễn cao. Nó cho phép áp dụng vào các bài toán như:

5



- Bài toán lọc nội dung: lọc thư rác, lọc web phản động, web khơng lành
mạnh,… Hiện nay, bất kì ai sử dụng email cũng đối mặt với nạn thư rác
được viết bằng đủ mọi thứ tiếng Anh, Pháp, Nga, Nhật, Hàn,… Chúng vào
hòm thư của chúng ta và gây nhiều phiền toái nên việc ngăn chặn chúng là
rất cần thiết. Bên cạnh đó, trên Internet hiện nay xuất hiện ngày càng nhiều
các trang Web khơng lành mạnh có ảnh hưởng xấu tới các em thiếu niên,
học sinh. Web không lành mạnh ở đây khơng chỉ có sex mà cịn có thể có
nội dung về “chế tạo hoặc sử dụng vũ khí mang tính bạo lực” hay “web
hướng dẫn về tự tử tập thể” (như ở Nhật),… Bảo vệ các em thiếu niên
trước những thông tin không lành mạnh như vậy là điều rất cần thiết.
- Sử dụng làm bộ phân lớp cho các hãng tin, tổ chức xuyên quốc gia, thậm
chí là các trang web giới thiệu về mình của các quốc gia trên toàn thế giới.
- Một ứng dụng cũng rất hữu ích là làm cơng cụ phân lớp cho các thư viện
sách lớn, thay thế cho công việc của một thủ thư. Ở đây, mơ hình được xây
dựng bằng cách đọc các tóm tắt trên mỗi quyển sách và sau đó tiến hành
phân lớp. Xếp mỗi quyển sách vào một trong cách lĩnh vực: Toán học, Vật
lý, Hố học, Văn học,… một cách chính xác; khi đó người thủ thư sẽ dễ
dàng sắp xếp các quyển sách vào các khu vực với lĩnh vực tương ứng mà
không phải đọc và phân tích tóm tắt của quyển sách.
- Hiện nay, chúng tôi đang đề xuất ứng dụng nghiên cứu của khoá luận vào
dự án “Nghiên cứu, phát triển hệ thống lọc nội dung hỗ trợ quản lý và đảm
bảo an tồn – an ninh thơng tin trên mạng Internet”.
Tuy nhiên, cần phải khẳng định lại rằng, ứng dụng lớn nhất của bài toán phân
lớp văn bản độc lập ngôn ngữ là ứng dụng lọc thư rác, web phản động,… Ngoài ra với
tuỳ những đặc điểm của các ứng dụng khác mà ta xây dựng bộ phân lớp cho phù hợp.

6



Chương 2

CÁC MƠ HÌNH VÀ THUẬT TỐN PHÂN LỚP VĂN BẢN
2.1. Giới thiệu
Như đã đề cập ở chương 1, hiện nay đã có rất nhiều kĩ thuật học máy được áp
dụng để giải quyết bài toán phân lớp [7]. Điển hình là các phương pháp như:


Naive Bayes: phân lớp Nạve Bayes sinh ra từ luật Bayes. Nó địi hỏi giả
thiết độc lập giữa các cứ liệu quan sát được từ dữ liệu mẫu. Kĩ thuật này
được ứng dụng nhiều trong các bài toán phân loại văn bản, và bài toán
word sense disambiguation.



Cây quyết định thống kê: Thuật tốn phân hoạch đệ quy cho phép cây
quyết định thống kê học trong tập dữ liệu huấn luyện. Nhược điểm chính
của cây quyết định là sự phân mảnh dữ liệu do bị phân hoạch dữ liệu mẫu
trong quá trình học. Vì vậy chúng phải sử dụng các kĩ thuật phân cụm
(clustering) và làm trơn (smoothing).

Vấn đề lớn nhất với bài toán phân lớp văn bản là ở chỗ tích hợp được các quan
sát từ dữ liệu mẫu vào mơ hình càng nhiều càng tốt, và phải có thuật tốn học tối ưu.
So với các mơ hình khác, mơ hình phân loại dựa trên nguyên lý entropy cực đại
có thế mạnh là khả năng học và nhớ đến hàng trăm nghìn đặc trưng, thậm chí hàng
triệu đặc trưng từ dữ liệu mẫu nhờ vào một chiến lược tối ưu hoá hàm nhiều biến rất
hiệu quả. Khả năng này rất phù hợp với bài toán phân lớp văn bản và đặc biệt là bài
toán phân lớp văn bản độc lập ngôn ngữ khi mà lượng đặc trưng là rất lớn.

2.2. Mơ hình Maximum Entropy

Mơ hình entropy cực đại [4][11][12][14][15][16][17] là mơ hình dựa trên xác
suất có điều kiện cho phép tích hợp các thuộc tính đa dạng từ dữ liệu mẫu nhằm hỗ trợ
quá trình phân lớp.
2.2.1. Giới thiệu
Trước khi trình bày về mơ hình entropy cực đại, chúng ta cùng xem xét một ví
dụ đơn giản sau. Xét một quá trình ngẫu nhiên: gieo con súc sắc, đồng chất, cân đối.
Quan sát 1.000 lần thử, thống kê xác suất xuất hiện của từng mặt ta có nhận xét:

7


6

∑ p (i ) = 1

(1)

i =1

p(i) là xác suất xuất hiện của mặt có i chấm.
Dễ dàng nhận thấy có rất nhiều nghiệm thoả mãn phương trình (1), ví dụ với
p (1) = 1 và tất cả các mặt khác có xác suất bằng 0 nghĩa là mặt xuất hiện luôn là mặt

1.
Tuy nhiên, ta biết rằng trong thực tế quá trình sinh các mặt là ngẫu nhiên nên
phân phối giống với phân phối thực nhất là: xác suất xuất hiện cho từng mặt là bằng
nhau, hay nói khác phân phối xác suất ở đây là phân phối đều:
p (1) = p ( 2 ) = p ( 3) = p ( 4 ) = p ( 5 ) = p ( 6 ) = 1/ 6

Giả sử, vì một lý do sản xuất nào đó, con súc sắc bị lệnh về hai mặt 1 và 4.

Trong 1000 lần gieo thử, ta quan sát thấy rằng số lần xuất hiện mặt 1 và mặt 4 chiếm
50% số lần tung:
p (1) + p ( 4 ) = 1/ 2

(2)

Vì phân phối xác suất cho các mặt vẫn tuân theo phương trình (1) nên ta có:
p ( 2 ) + p ( 3) + p ( 5 ) + p ( 6 ) = 1/ 2

(3)

Rõ ràng có rất nhiều phân phối thoả mãn cho cả phương trình (2) và (3), ví dụ
với p (1) = 1/ 3, p ( 4 ) = 1/ 6 và p ( 2 ) = 1/ 8 , các mặt 3, 5, 6 có xác suất xuất hiện là 0.
Tuy nhiên, lại một lần nữa ta thấy rằng, phân phối giống với phân phối thực nhất là:
p (1) = p ( 4 ) = 1/ 4
p ( 2 ) = p ( 3) = p ( 5 ) = p ( 6 ) = 1/ 8

Dữ liệu trong thế giới thực là vơ hạn, khó đốn nhận, ta mong muốn xây dựng
được một mơ hình mà ước lượng được gần đúng với phân phối thực thơng qua một tập
dữ liệu mẫu. Qua ví dụ vừa nêu trên chúng ta có nhận xét rằng: trong tập dữ liệu mẫu
mà ta có được, mơ hình có phân phối đều nhất thì sẽ gần giống với phân phối thực
nhất. Vì vậy, vấn đề đặt ra là: làm thế nào để tìm được một mơ hình như vậy? Phương
pháp entropy cực đại cho phép tìm ra được mơ hình này.
Tư tưởng chủ đạo của nguyên lý entropy cực đại rất đơn giản: ta phải xác định
môt phân phối mô hình sao cho phân phối đó tn theo mọi giả thiết đã quan sát từ

8


thực nghiệm, ngồi ra khơng cho thêm bất kì giả thiết nào khác. Điều này có nghĩa là

phân phối mơ hình phải thoả mãn các ràng buộc quan sát từ thực nghiệm, và phải gần
nhất với phân phối đều.
Entropy là độ đo về tính đồng đều hay tính ko chắc chắn của một phân phối
xác suất. Một phân phối xác suất có entropy càng cao thì phân phối của nó càng đều.
Độ đo Entropy điều kiện của một phân phối xác suất trên một chuối các trạng thái với
điều kiện biết từ một chuỗi dữ liệu quan sát được tính như sau:
H ( p ) ≡ −∑ p% ( x ) p ( y | x ) log p ( y | x )
x, y

2.2.2. Xây dựng mơ hình
Xem xét bài toán phân lớp, với Y là tập các lớp, X là tập các thông tin ngữ
cảnh, là những thông tin quan trọng cần cho việc phân lớp văn bản vào lớp Y một cách
chính xác.
Nhiệm vụ trong bài tốn phân lớp là xây dựng một mơ hình thống kê mà dự
đốn chính xác lớp của văn bản bất kì. Mơ hình như vậy chính là phương pháp ước
lượng xác suất có điều kiện p( y | x ) .
Mơ hình entropy cực đại cung cấp một phương pháp đơn giản để ước lượng

xác suất có điều kiện p ( y | x ) thông qua việc thống kê các thuộc tính quan trọng quan
sát được từ tập dữ liệu huấn luyện.

2.2.2.1. Tập dữ liệu huấn luyện
Như các phương pháp học máy khác, để làm bài toán phân lớp trước tiên phải
xây dựng tập dữ liệu huấn luyện T = {( x1 , y1 ) ,K, ( xN , y N )} trong đó { x1 ,K , xN } là tập

các thông tin ngữ cảnh đã được gán nhãn tương ứng là tập các lớp { y1 ,K , y N } .
Với một cặp ( xi , yi ) , phân phối xác suất thực nghiệm của nó được tính bởi:
p% ( xi , yi ) =

1

× số lần xuất hiện của ( xi , yi ) trong tập dữ liệu mẫu
N

Thơng thường thì mỗi cặp ( xi , yi ) không thể không xuất hiện trong tập mẫu,
mà nó sẽ xuất hiện ít nhất một lần.

9


2.2.2.2. Thống kê, đặc trưng và ràng buộc

Những thống kê từ dữ liệu mẫu chính là những viên gạch đầu tiên để xây dựng
mơ hình. Ví dụ, khi xét bài toán lọc thư rác. Một thư được xếp vào một trong 3 nhóm
sau: thư rác (Spam), khơng phải thư rác (non-Spam), để xem xét (warning). Quan sát
từ tập dữ liệu mẫu là 1.000 thư đã được gán nhãn, ta có nhận xét như sau: “nếu thư có
chứa cụm từ “sản phẩm mới”, thì xác suất thư đó là thư rác là 80%”. Đây chính là một
thống kê.
Trong [4] đưa ra cách biểu diễn sự kiện “thư có chứa cụm từ “sản phẩm mới”
là thư rác” như sau:
⎧1 if y = Spam and document_has san_pham_moi = true
f document_has san_pham_moi , Spam ( x, y ) = ⎨
⎩0

Gọi hàm f được biểu diễn như trên là hàm đặc trưng hay đặc trưng. Giá trị kì
vọng của f đối với phân phối thực nghiệm p% ( x, y ) là giá trị thống kê được một cách
chính xác (trong ví dụ trên thì đó là: 0,8): số lần xuất hiện của f trong tập dữ liệu huấn
luyện. Nó được biểu diễn như sau:
E p% f i = ∑ p% ( x, y ) f i ( x, y )

(4)


x, y

Bất kì thống kê nào sinh ra từ tập dữ liệu mẫu cũng có thể được biểu diễn một
hàm kì vọng của đặc trưng f theo quy tắc như trên.
Trong [16] cung cấp một cách có hệ thống cách xây dựng hàm đặc trưng.
Thơng tin “thư có chứa cụm từ “sản phẩm mới”” được xây dựng thành một mệnh đề
thông tin ngữ cảnh:
[document_has sản phẩm mới] → {true, false}
kí hiệu là cp ( x ) , hàm này là một ánh xạ cặp ( x, y ) một giá trị trong tập {true, false} .
Nó có dạng tổng quát như sau:
cp ( x ) : X → {true, false}
Trong [16] biễu diễn hàm đặc trưng dạng tổng quát:
⎧1
f cp , y ' ( x, y ) = ⎨
⎩0

nÕu y = y ' vµ cp ( x ) = true
ngợc lại

10


Hàm đặc trưng là hàm kiểm tra sự xuất hiện đồng thời của mệnh đề thông tin
ngữ cảnh và lớp được dự đốn.
Thống kê vừa nêu trong ví dụ ở phần trước là một thông tin quan trọng: xác
suất xuất hiện lên tới 80%. Trong quá trình quan sát tập dữ liệu, ta sẽ nhận được rất
nhiều thống kê hữu ích. Vì thế, nếu coi đó là một điều kiện mà mơ hình phải tn theo
thì sẽ giúp mơ hình dự đốn được lớp của văn bản một cách chính xác hơn. Biểu diễn
theo tốn học, ta có phương trình như sau:


E p% fi = E p fi

(5)

Phương trình này được gọi là ràng buộc, gọi đầy đủ là phương trình ràng
buộc, trong đó:
E p fi = ∑ p% ( x ) p ( y | x ) f i ( x, y )

(6)

x, y

E p fi là kì vọng của f đối với mơ hình p ( y | x )
Từ (4), (5) và (6) ta có:

∑ p% ( x, y ) f ( x, y ) = ∑ p% ( x ) p ( y | x ) f ( x, y )
i

x, y

i

x, y

Thêm một ràng buộc có nghĩa là đã loại bỏ bớt đi những mơ hình khơng tn
theo dữ liệu mẫu, điều này được biễu diễn một cách hình học ở Hình 1. Đến đây,
chúng ta thấy được ý nghĩa của việc biễu diễn các cứ liệu thống kê được từ dữ liệu
mẫu (chính là E p% fi ), và ý nghĩa của việc ràng buộc mơ hình của chúng ta tn theo
những sự kiện đó (chính là E p% f i = E p f i ).

2.2.2.3. Nguyên lý entropy cực đại

Giả sử quá trình thống kê từ tập dữ liệu huấn luyện sinh ra n đặc trưng f i , mỗi
đặc trưng này sẽ xác định một ràng buộc. Gọi P là không gian của tất cả các phân phối
xác suất, C là tập con của P sẽ được mô tả như sau:
C ≡ { p ∈ P | E p fi = E p% f i víi i ∈ {1, 2,.., n}}

Hình 1 mơ tả 4 trường hợp tập C khi có các ràng buộc. P biểu diễn không gian
của tất cả các phân phối xác suất. Ở hình (a), khơng có ràng buộc nào, tất cả các p ∈ P
đều thoả mãn. Ở hình (b), C1 cắt bớt đi một phần các mơ hình p có thể. Đến hình (c),
mơ hình của ta chỉ còn nằm trong phần giới hạn bởi C1 và C2: p ∈ C1 ∩ C 2 . Trong

11


hình (d), hai ràng buộc C1 và C3 mâu thuẫn ( C1 ∩ C3 = ∅ ), khơng có p ∈ P nào thoả
mãn cả hai ràng buộc đó.

P

C1

(a)

(b)

P

P


C1
C1

C2

C3

(d)

(c)

Hình 1. Tập ràng buộc C

Nguyên lý entropy cực đại được phát biểu rằng: “Từ tập các phân bố xác suất
có thể được là C, sẽ tìm ra được một mơ hình p* ∈ C thoả mãn điều kiện làm cực đại
độ đo entropy H(p):
p* = argmax H ( p )
p∈C

Dễ dàng chỉ ra rằng p* luôn luôn xác định và trong bất kì một tập C nào,
cũng chỉ có duy nhất một mơ hình p* làm cực đại entropy [4].
2.2.2.4. Dạng tham số

Từ nguyên lý entropy cực đại ta có thể phát biểu lại rằng: tư tưởng chủ đạo
của entropy cực đại là ta phải xây dựng được một phân phối thoả mãn các ràng buộc
và gần nhất với phân phối đều. Vấn đề đặt ra ở đây là làm thế nào để ta tối ưu được

12




×