Trong những năm gần đây, với sựphát triển mạnh mẽcủa công nghệthông tin và
nhu cầu sửdụng Internet của tất cảmọi người trên thếgiới đã làm tăng vọt lượng thông
tin giao dịch trên Internet. Vì vậy mà sốlượng văn bản xuất hiện trên Internet tăng
nhanh chóng mặt cảvềsốlượng và chủ đề. Với khối lượng thông tin đồsộnhưvậy, để
tìm được những thông tin cần thiết cho mục đích của chúng ta sẽmất rất nhiều thời gian
và công sức. Một câu hỏi được đặt ra, làm thếnào có thểtổchức và tìm kiếm thông tin
một cách nhanh chóng và hiệu quảnhất? Và câu trảlời hợp lý cho câu hỏi trên là phân
loại thông tin tự động bằng máy tính.
Trong luận văn này, em tập trung tìm hiểu vềmô hình cực đại entropy và áp dụng
mô hình đểxây dựng chương trình phân loại văn bản Tiếng Việt tự động dựa trên tập dữ
liệu huấn luyện. Từ đó hướng tới việc xây dựng chương trình chặn nội dung web bằng
việc phân tích nội dung web.
Hiện nay, việc kiểm soát truy cập Internet vẫn chưa đạt được hiệu quảtốt. Những
trang web với nội dung xấu vẫn được truy cập rất dễdàng mà không có bất kỳsựkiểm
soát nào. Với chương trình chặn nội dung web, em hy vọng có thểgiúp ngăn chặn được
những trang web có nội dung xấu. Bên cạnh đó, cũng giúp mọi người có thểlọc ra được
những trang web có nội dung phù hợp với nhu cầu của từng người trong những lĩnh vực
riêng biệt.
60 trang |
Chia sẻ: nhungnt | Lượt xem: 2497 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Mô hình maximum entropy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Quang Dũng
MÔ HÌNH MAXIMUM ENTROPY
VÀ ỨNG DỤNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Quang Dũng
MÔ HÌNH MAXIMUM ENTROPY
VÀ ỨNG DỤNG
KHOÁ 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: Lê Anh Cường
HÀ NỘI - 2010
i
TÓM TẮT NỘI DUNG
Trong những năm gần đây, với sự phát triển mạnh mẽ của công nghệ thông tin và
nhu cầu sử dụng Internet của tất cả mọi người trên thế giới đã làm tăng vọt lượng thông
tin giao dịch trên Internet. Vì vậy mà số lượng văn bản xuất hiện trên Internet tăng
nhanh chóng mặt cả về số lượng và chủ đề. Với khối lượng thông tin đồ sộ như vậy, để
tìm được những thông tin cần thiết cho mục đích của chúng ta sẽ mất rất nhiều thời gian
và công sức. Một câu hỏi được đặt ra, làm thế nào có thể tổ chức và tìm kiếm thông tin
một cách nhanh chóng và hiệu quả nhất? Và câu trả lời hợp lý cho câu hỏi trên là phân
loại thông tin tự động bằng máy tính.
Trong luận văn này, em tập trung tìm hiểu về mô hình cực đại entropy và áp dụng
mô hình để xây dựng chương trình phân loại văn bản Tiếng Việt tự động dựa trên tập dữ
liệu huấn luyện. Từ đó hướng tới việc xây dựng chương trình chặn nội dung web bằng
việc phân tích nội dung web.
Hiện nay, việc kiểm soát truy cập Internet vẫn chưa đạt được hiệu quả tốt. Những
trang web với nội dung xấu vẫn được truy cập rất dễ dàng mà không có bất kỳ sự kiểm
soát nào. Với chương trình chặn nội dung web, em hy vọng có thể giúp ngăn chặn được
những trang web có nội dung xấu. Bên cạnh đó, cũng giúp mọi người có thể lọc ra được
những trang web có nội dung phù hợp với nhu cầu của từng người trong những lĩnh vực
riêng biệt.
ii
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới Thầy LÊ ANH CƯỜNG đã
tận tụy hướng dẫn, động viên, giúp đỡ em trong suốt thời gian thực hiện đề tài.
Em xin chân thành cảm ơn quý Thầy Cô trong khoa Công Nghệ Thông Tin đã
truyền đạt những kiến thức quý báu cho chúng em trong những năm học vừa qua.
Chúng con xin nói lên lòng biết ơn đối với Ông Bà, Cha Mẹ luôn là nguồn động
viên, chăm sóc trên bước đường học vấn của chúng con.
Xin chân thành cảm ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên
chúng em trong thời gian học tập và nghiên cứu.
Mặc dù em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự cảm
thông và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Hà nội, 06/2010
Sinh viên thực hiện,
Trần Quang Dũng
iii
Mục lục
Chương 1: Tổng quát ..................................................................................................... 1
1.1 Đặt vấn đề .......................................................................................................................1
1.2 Giới thiệu mô hình cực đại entropy .................................................................................2
1.3 Mục tiêu của luận văn .....................................................................................................3
Chương 2: Các phương pháp phân loại văn bản ........................................................ 5
2.1 Cái nhìn tổng quát về các phương pháp phân loại văn bản ...............................................5
2.2 Mô tả bài toán phân loại văn bản ........................................................................................5
2.3 Biểu diễn văn bản ...............................................................................................................6
2.4 Các phương pháp phân loại văn bản...................................................................................7
2.4.1 Naïve Bayes (NB).........................................................................................................7
2.4.2 k-Nearest Neighbor (kNN) ............................................................................................8
2.4.3 Linear Least Square Fit (LLSF) ....................................................................................9
2.4.4 Support Vector Machine (SVM)..................................................................................10
Chương 3: Mô hình cực đại entropy.......................................................................... 12
3.1 Tổng quát mô hình cực đại entropy ...................................................................................12
3.2 Mô hình cực đại entropy ....................................................................................................15
3.2.1 Dữ liệu huấn luyện ......................................................................................................15
3.2.2 Thống kê, đặc trưng và ràng buộc ..............................................................................16
3.2.3 Nguyên lý cực đại entropy...........................................................................................17
3.2.4 Tham số hình thức ......................................................................................................18
3.2.5 Mối quan hệ với cực đại Likelihood.............................................................................20
3.2.6 Tính các tham số .........................................................................................................20
3.3 Lựa chọn đặc trưng............................................................................................................22
3.3.1 Ý nghĩa của việc lựa chọn đặc trưng...........................................................................22
3.3.2 Cơ sở lựa chọn đặc trưng ...........................................................................................24
3.3.3 Giá trị gần đúng...............................................................................................................26
Chương 4: Thực nghiệm phân loại văn bản .............................................................. 29
4.1 Thống kê kết quả thực nghiệm ..........................................................................................29
iv
4.2 Các thành phần và chức năng của chương trình ..............................................................33
4.2.1 Chức năng huấn luyện ................................................................................................34
4.2.2 Chức năng kiểm thử....................................................................................................36
4.2.3 Chức năng gán nhãn...................................................................................................37
4.3 Ứng dụng chặn nội dung web............................................................................................39
4.3.1 Kỹ thuật lọc web Blue Coat .........................................................................................39
4.3.2 Chức năng ứng dụng chặn nội dung web ...................................................................40
Chương 5: Kết luận ...................................................................................................... 44
5.1 Kết quả đạt được ...............................................................................................................44
5.2 Những hạn chế và hướng giải quyết .................................................................................45
Tài liệu tham khảo......................................................................................................... 46
Phụ lục ........................................................................................................................... 48
v
Danh sách hình
Hình 2.1: Các điểm được khoanh tròn là các vector hỗ trợ....................................10
Hình 3.1: Lựa chọn đặc trưng..................................................................................24
Hình 3.2 log-likelihood được biểu diễn như hàm lồi 2 tham số............................28
Hình 4.1: Giao diện chức năng huấn luyện..............................................................34
Hình 4.2: Giao diện chức năng kiểm thử.................................................................36
Hình 4.3: Giao diện chức năng gán nhãn.................................................................37
Hình 4.4: Giao diện giới thiệu..................................................................................38
Hình 4.5: Giao diện chặn nội dung web...................................................................41
Hình 4.6: Cửa sổ setting...........................................................................................42
Hình 4.7: Cửa sổ giới thiệu......................................................................................43
vi
Danh sách bảng
Bảng 4.1: Số lượng file của dữ liệu huấn luyện......................................................29
Bảng 4.2: Số lượng file của dữ liệu kiểm thử.........................................................30
Bảng 4.3: Mô tả giao diện huấn luyện....................................................................35
Bảng 4.4: Kết quả huấn luyện.................................................................................35
Bảng 4.5: Mô tả chức năng kiểm thử......................................................................36
Bảng 4.6: Kết quả kiểm thử....................................................................................37
Bảng 4.7: Kết quả gán nhãn....................................................................................38
Bảng 4.8: Chức năng giao diện chặn nội dung web...............................................42
1
Chương 1: Tổng quát
1.1 Đặt vấn đề
Trong thời đại bùng nổ công nghệ thông tin hiện nay, các tài liệu giấy dần được số
hóa thành các dạng tài liệu được lưu trữ trên máy tính thay thế cho những tài liệu giấy
cồng kềnh. Tài liệu số với những ưu điểm gọn nhẹ, dễ bảo quản, lưu trữ được lâu, dễ
dàng chia sẻ với bạn bè, có thể sửa đổi... đã ngày càng trở nên phổ biến và tiện dụng. Vì
vậy mà số lượng tài liệu số tăng nhanh đến chóng mặt. Với một khối lượng lớn các tài
liệu số như vậy, làm cách nào chúng ta có thể lọc ra được những tài liệu thực sự cần
thiết cho một mục đích nào đó của chúng ta?
Câu trả lời đó là phân loại văn bản tự động! Một chương trình có thể tự động phân
loại văn bản theo các chủ đề cụ thể. Khi đó sẽ giúp chúng ta giới hạn được nội dung của
tài liệu theo đúng mục đích sử dụng. Với một khối lượng khổng lồ các tài liệu số. Thì
việc phân loại văn bản tự động sẽ giúp chúng ta tiết kiệm được rất nhiều thời gian và
công sức tìm kiếm.
Theo Yang & Xiu (1999), “Việc phân loại văn bản tự động 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”.
Dựa trên thống kê của Yang & Xiu và các tài liệu khác, một số phương pháp phân
loại thông dụng hiện nay là: Naïve Bayes [Baker & Mccallum, 2000], k-Nearest
Neighbor [Yang, 1994], Linear Least Squares Fit [Yang & Chute, 1994], Support
Vector Machine [Joachims, 1998] , 1998], Maximum Entropy [Berger, 1996 và Della
Pietra, 1997]. Các phương pháp đều dựa vào xác suất thống kê hoặc thông tin về trọng
số của từ trong văn bản. Chi tiết về các phương pháp sẽ được trình bày trong chương 2.
Trong phân loại văn bản tiếng Anh, kết quả phân loại là rất khả quan. Còn đối với
tiếng Việt vẫn còn nhiều hạn chế. Hạn chế về mặt ngôn ngữ: Tiếng Anh định nghĩa từ là
một tập hợp các ký tự có nghĩa và chúng được tách biệt với nhau bởi khoảng trắng. Ví
dụ: this, house, wonderland, pacific... Do đó việc tách từ đối với tiếng Anh là rất đơn
giản. Tuy nhiên, với tiếng Việt thì việc xác định các từ trở nên khó khăn hơn. Các từ
không phải được xác định dựa vào khoảng trắng mà nó phụ thuộc vào ngữ cảnh. Ví dụ
2
các từ sau: “thế giới”, “tiền”, “chiến binh”, “quyển sách”... Hạn chế về tập dữ liệu huấn
luyện và kiểm thử chuẩn...
Tuy nhiên cũng đã có nhiều nhà nghiên cứu trong lĩnh vực này và đạt được những
kết quả ban đầu như [Huỳnh Quyết Thắng và Đinh Thị Phương, 1999], [Nguyễn Linh
Giang và Nguyễn Mạnh Hiển, 2005]. Các hướng tiếp cận bao gồm: lý thuyết đồ thị [Đỗ
Bích Diệp, 2004], sử dụng lý thuyết tập thô [Nguyễn Ngọc Bình, 2004], thống kê
[Nguyễn Linh Giang và Nguyễn Duy Hải, 1999], học không giám sát và đánh chỉ mục
[Huỳnh Quyết Thắng và Đinh Thị Phương, 1999].
Luận văn là một đóng góp tiếp tục trong việc nghiên cứu lý thuyết và phát triển các
hệ thống thực nghiệm cho việc phân loại văn bản tiếng Việt. Phương pháp phân loại
được nghiên cứu trong luận văn là mô hình cực đại entropy [Berger, 1996 và Della
Pietra, 1997].
1.2 Giới thiệu mô hình cực đại entropy
Mô hình cực đại entropy là phương pháp phân loại văn bản được sử dụng rộng rãi
trong nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: ngôn ngữ mô hình hóa [Chen và
Rosenfeld, 1999], gán nhãn từ loại [Ratnaparkhi, 1996], phân loại văn bản [Beeferman,
1999].
Mô hình cực đại entropy là kỹ thuật dùng để đánh giá phân phối xác suất của dữ
liệu văn bản. Tư tưởng chính của phương pháp là những gì chưa biết hoặc không rõ ràng
thì không có bất kỳ giả định gì (cực đại hóa độ hỗn loạn). Tức là áp đặt một phân phối
đều lên các sự kiện chưa biết. Dữ liệu đã được gán nhãn được sử dụng để lấy ra tập các
ràng buộc cho mô hình mà nó mô tả đặc điểm riêng cho từng lớp cụ thể có thể được gán
cho văn bản cần phân lớp. Cuối cùng, thuật toán IIS sẽ tìm ra phân phối mà nó thỏa mãn
các ràng buộc đã đưa ra và thỏa mãn cực đại entropy với phân phối xác suất là đều nhất.
Để có thể áp dụng được thật toán IIS trên văn bản cần phân lớp. Bước đầu tiên cần
phải thực hiện là chuyển văn bản đang ở dạng chuỗi các ký tự thành các vector đặc
trưng.
Một yếu tố trong quá trình huấn luyện của mô hình cực đại entropy chính là việc
lựa chọn các vector đặc trưng cho từng lớp. Các vector đặc trưng này phải miêu tả được
3
đầy đủ nhất tính riêng biệt của từng lớp và phải có khả năng phân loại giữa các lớp với
nhau. Mô hình cực đại entropy có được tối ưu hay không là phụ thuộc rất nhiều vào việc
lựa chọn này.
Ưu điểm lớn nhất của mô hình cực đại entropy là tính mềm dẻo của mô hình: nó
cung cấp một hệ thống các quy luật có tính thống kê ngẫu nhiên để bổ sung các cú pháp,
ngữ nghĩa và căn cứ vào các vector đặc trưng. Tuy nhiên, mô hình cực đại entropy đòi
hỏi một chi phí khá lớn cho việc tính toán để ước lượng chính xác các tham số của mô
hình. Trong khi đó mô hình có hàng trăm hàng ngàn thông số. Tuy nhiên, với khả năng
mạnh mẽ của máy tính hiện nay thì đó không hẳn là vấn đề. Hiện tại có khá nhiều các
thuật toán dùng để ước lượng các thám số như: Generalized Iterative Scaling (GIS) và
Improved Iterative Scaling (IIS), cũng như Igradient ascent, conjugate gradient. Trong
luận văn này sử dụng thuật toán IIS.
1.3 Mục tiêu của luận văn
Nguyên cứu một số phương pháp phân loại văn bản tiếng Anh như: Naïve Bayes
[Baker & Mccallum, 2000], k-Nearest Neighbor [Yang, 1994], Linear Least Squares Fit
[Yang & Chute, 1994], Support Vector Machine [Joachims, 1998] , 1998], mô hình cực
đại Entropy [Berger, 1996 và Della Pietra, 1997]. Từ những phương pháp đó, lựa chọn
phương pháp áp dụng cho phân loại văn bản tiếng Việt.
Phương pháp phân loại văn bản tiếng Việt được sử dụng trong luận văn là mô hình
cực đại Entropy [Berger, 1996 và Della Pietra, 1997]. Phần lý thuyết của mô hình trình
bày về cách biểu diễn của dữ liệu huấn luyện. Các khái niệm về thống kê, đặc trưng và
ràng buộc. Nguyên lý hoạt động của mô hình cực đại entropy. Tham số hình thức và
cách tính toán các tham số đó. Ý nghĩa và cơ sở của việc lựa chọn các đặc trưng sao cho
hiệu quả nhất. Từ đó áp dụng lý thuyết vào bài toán phân loại văn bản tiếng Việt và ứng
dụng chặn nội dung web trên cơ sở phân loại nội dung trang web (dựa vào bài toán phân
loại văn bản).
Để hiểu sâu sắc thuật toán, luận văn đề ra mục tiêu xây dựng từ đầu thuật toán mô
hình cực đại entropy (chương trình phân loại văn bản tiếng Việt) cũng như ứng dụng
chặn nội dung web. Trong đó, chương trình phân loại văn bản tiếng Việt sẽ có đầy đủ
các chức năng như: huấn luyện, kiểm thử và gán nhãn. Với ứng dụng chặn nội dung
4
web. Do giới hạn về mặt thời gian và điều kiện nên luận văn mới chỉ dừng lại ở mức:
phân tích những địa chỉ url mà người dùng nhập vào trình duyệt Internet Explorer rồi
đưa ra quyết định nên chặn hay cho phép người dùng truy cập vào trang web đó. Mục
đích cuối cùng là hướng tới xây dựng chương trình có khả năng ngăn chặn những trang
web có nội dung xấu và giúp người dùng phân loại nội dung của các trang web với các
chủ đề khác nhau. Việc phân loại giúp người dùng tìm kiếm thông tin dễ dàng và nhanh
chóng hơn. Và cũng giúp tránh được những trang web với nội dung không phù hợp.
5
Chương 2: Các phương pháp phân loại văn bản
2.1 Cái nhìn tổng quát về các phương pháp phân loại văn bản
Để phân loại văn bản người ta sử dụng nhiều cách tiếp cận khác nhau như dựa trên
từ khóa, dựa trên ngữ nghĩa các từ có tần số xuất hiện cao, mô hình cực đại entropy
[Berger, 1996 và Della Pietra, 1997], tập thô.... Tiếng Anh là ngôn ngữ được nghiên cứu
sớm nhất và đạt được kết quả tốt. Rất nhiều phương pháp đã được áp dụng như: mô hình
hồi quy [Fuhr, 1991], k-nearest neighbors [Dasarathy, 1991], Naïve Bayes [Joachims,
1997], cây quyết định [Fuhr, 1991], học luật quy nạp [William & Yorm, 1996], Support
vector Machine [Vapnik, 1995], mô hình cực đại entropy [Berger, 1996 và Della Pietra,
1997]. Hiệu quả của các phương pháp là rất khác nhau. Việc đánh giá gặp nhiều khó
khăn do thiếu các tập dữ liệu huấn luyện chuẩn.
2.2 Mô tả bài toán phân loại văn bản
Cho văn bản cần phân loại và các chủ đề, cần dự đoán văn bản đó thuộc vào chủ đề
nào trong số các chủ đề đã cho.
Gọi X là tập các văn bản cần phân loại và Y là tập các chủ đề có thể được gán cho
các văn bản. Khi đó ta cần phải chi ra một văn bản x ∈ X thuộc vào chủ đề y ∈ Y nào.
Trong đó, x bao gồm các từ, cụm từ, câu được dùng cho nhiệm vụ phân loại. Để rõ hơn
ta xét ví dụ gồm 6 lớp có thể được phân loại: kinh doanh, pháp luật, thể thao, văn hóa,
vi tính, xã hội. Và chúng ta có ràng buộc, nếu một văn bản có từ “bóng đá” xuất hiện thì
khả năng văn bản đó thuộc vào lớp “thể thao” là 30% và 70% là khả năng mà văn bản
đó thược vào 5 lớp còn lại. Với ví dụ này thì chúng ta có thể dễ dàng tính được. Nhưng
thực tế thì không phải chỉ một vài ràng buộc đơn giản như vậy, mà là hàng trăm hàng
nghìn ràng buộc phức tạp hơn nhiều.
Vì vậy, nhiệm vụ đầu tiên cần phải làm là biểu diễn văn bản dưới dạng các từ, cụm
từ và các câu có chọn lọc. Lọc bỏ những từ, cụm từ và câu không có nghĩa hay không có
tác động tích cực tới việc phân loại.
Bước tiếp theo là xác định các ràng buộc cho bài toán phân loại. Các ràng buộc này
sẽ được lấy ra từ tập dữ liệu huấn luyện. Mỗi ràng buộc thể hiện một đặc trưng của dữ
6
liệu huấn luyện. Phương pháp cực đại entropy dựa vào các đặc trưng đó xây dựng các
mô hình có giá trị kỳ vọng của các đặc trưng của dữ liệu huấn luyện là gần giống nhất
với giá trị lý thuyết. Mỗi đặc trưng sẽ có một trọng số ưu tiên nhất định gọi là λ. Các
phương pháp huấn luyện mô hình từ dữ liệu huấn luyện đã được giới thiệu ở trên. Trong
luận văn này sử dụng thuật toán IIS để tính toán các tham số.
2.3 Biểu diễn văn bản
Bước đầu tiên của các phương pháp phân loại văn bản là chuyển việc mô tả văn
bản dùng chuỗi ký tự thành dạng mô tả khác phù hợp với các thuật toán. Hầu hết các
thuật toán đều sử dụng cách biểu diễn theo vector đặc trưng, khác nhau chủ yếu ở việc
lựa chọn không gian đặc trưng. Cụ thể với mô hình cực đại entropy, thuật toán IIS chỉ
có thể tính toán được các tham số dựa trên các vector