MỤC LỤC ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Ngô Thương Huyền PHÂN LỚP THƯ ĐIỆN TỬ SỬ DỤNG MÁY VECTOR HỖ TRỢ Ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SĨ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Ngô Thương Huyền
PHÂN LỚP THƯ ĐIỆN TỬ
SỬ DỤNG MÁY VECTOR HỖ TRỢ
LUẬN VĂN THẠC SĨ
HÀ NỘI – 2007
Trang 2MỤC LỤC
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Ngô Thương Huyền
PHÂN LỚP THƯ ĐIỆN TỬ
SỬ DỤNG MÁY VECTOR HỖ TRỢ
Ngành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học: PGS TS Hà Quang Thụy
HÀ NỘI – 2007
Trang 3Lêi c¶m ¬n
Trong quá trình thực hiện đề tài, tôi đã gặp rất nhiều khó khăn phát sinh
mà nếu không có sự giúp đỡ, động viên của gia đình, các thầy cô giáo cùng các bạn bè, đồng nghiệp thì có lẽ tôi khó có thể hoàn thành được khóa luận này
Lời đầu tiên, tôi xin chân thành cảm ơn các thầy cô giáo giảng dạy tại Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã trực tiếp chỉ bảo, truyền thụ cho tôi những kiến thức quý báu Đặc biệt trân trọng cảm ơn thầy
giáo PGS TS Hà Quang Thụy, người thầy đã tận tình trực tiếp hướng dẫn,
giúp đỡ và động viên tôi rất nhiều trong suốt quá trình hoàn thành luận văn
Và cuối cùng, mọi lời yêu thương nhất xin gửi đến gia đình, bạn bè và đồng nghiệp, những người luôn ở bên cạnh tôi, mang lại cho tôi nguồn động viên tinh thần lớn lao và tạo mọi điều kiện thuận lợi cho tôi hoàn thành luận văn này trong khả năng tốt nhất có thể
Do sự hạn chế về thời gian, trình độ và kinh nghiệm nên đề tài sẽ không tránh khỏi những thiếu sót Tôi rất mong nhận được ý kiến đóng góp quý báu của các thầy cô giáo và các bạn, đồng nghiệp để luận văn được ngày càng hoàn thiện hơn
Trân trọng cảm ơn!
Hà Nội, ngày tháng 12 năm 2007
Học viên
Ngô Thương Huyền
Trang 4MỤC LỤC
Lời cảm ơn i
Danh mục hình vẽ Error! Bookmark not defined Danh mục bảng biểu Error! Bookmark not defined MỞ ĐẦU 1
Chương 1 KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VĂN BẢN 3
1.1 Một số kiến thức về khai phá dữ liệu 3
1.1.1 Khái niệm khai phá dữ liệu 3 1.1.2 Các hướng tiếp cận và các dạng dữ liệu trong khai phá dữ liệu
Error! Bookmark not defined 1.2 Các bài toán trong khai phá dữ liệu văn bảnError! Bookmark not defined
1.2.1 Tìm kiếm văn bản Error! Bookmark not defined 1.2.2 Phân lớp văn bản Error! Bookmark not defined 1.2.3 Một số bài toán khác Error! Bookmark not defined 1.3 Khai phá dữ liệu Web Error! Bookmark not defined 1.3.1 Nhu cầu Error! Bookmark not defined 1.3.2 Đặc điểm Error! Bookmark not defined 1.3.3 Các hướng tiếp cận Error! Bookmark not defined Chương 2 PHÂN LỚP VĂN BẢN Error! Bookmark not defined 2.1 Bài toán phân lớp Error! Bookmark not defined 2.1.1 Nhu cầu, ý tưởng Error! Bookmark not defined 2.1.2 Quá trình phân lớp Error! Bookmark not defined 2.2 Các giải pháp phân lớp điển hình Error! Bookmark not defined 2.2.1 Thuật toán phân lớp Bayes Error! Bookmark not defined 2.2.2 Thuật toán k-người láng giềng gần nhất.Error! Bookmark not defined
Trang 52.2.3 Phân lớp dựa vào cây quyết định Error! Bookmark not defined 2.2.4 Chiết lọc thông tin theo mô hình Markov ẩnError! Bookmark not defined
Chương 3 BỘ PHÂN LỚP SỬ DỤNG MÁY VECTOR HỖ TRỢ Error! Bookmark not defined
3.1 Biểu diễn văn bản dựa trên mô hình không quan vector Error! Bookmark not defined
3.1.1 Giới thiệu Error! Bookmark not defined 3.1.2 Mô hình Boolean Error! Bookmark not defined 3.1.3 Mô hình tần số Error! Bookmark not defined 3.2 Bộ phân lớp sử dụng vector hỗ trợ Error! Bookmark not defined 3.2.1 Vector hỗ trợ Error! Bookmark not defined 3.2.2 Thuật toán tạo siêu phẳng phân cáchError! Bookmark not defined
Chương 4 ỨNG DỤNG VÀ THỰC NGHIỆMError! Bookmark not defined
4.1 Giới thiệu bài toán thực nghiệm Error! Bookmark not defined 4.2 Dữ liệu và chương trình Error! Bookmark not defined 4.3 Môi trường thực nghiệm Error! Bookmark not defined 4.4 Kết quả thực nghiệm và đánh giá Error! Bookmark not defined
4.4.1 Độ chính xác của bộ phân lớp khi thử nghiệm với tập kiểm tra
Error! Bookmark not defined 4.4.2 Độ chính xác của bộ phân lớp khi tăng dần tập dữ liệu họcError! Bookmark not defined
KẾT LUẬN Error! Bookmark not defined
TÀI LIỆU THAM KHẢO 5
Trang 6MỞ ĐẦU
Ngày nay với sự phát triển như vũ bão của các ngành khoa học kỹ thuật, đặc biệt là sự phát triển nhanh chóng của mạng máy tính toàn cầu, một khối lượng dữ liệu khổng lồ vẫn hàng ngày được cập nhật liên tục, thường xuyên, nhằm đáp ứng một trong những nhu cầu không thể thiếu được của con người, đó là thông tin Và vì thế chúng ta đang được sống trong một xã hội bùng nổ thông tin, khi các ứng dụng công nghệ thông tin đã đi vào tới từng lĩnh vực của đời sống xã hội Trong đó Internet ngày càng khẳng định một sức mạnh vượt trội và đóng một vai trò quan trọng trong đời sống xã hội, kinh tế, chính trị, văn hoá, giáo dục… của con người Cùng với sự phát triển không ngừng đó, Internet đã và đang trở thành một kho thông tin khổng lồ về cả số lượng cũng như sự biến đổi nhanh chóng của nó, theo ước đoán thì cứ sau hai năm lượng thông tin lại tăng thêm gấp đôi
Thư điện tử là một dịch vụ phổ biến nhất trên Internet, nó giúp cho mọi người sử dụng máy tính kết nối Internet đều có thể trao đổi thông tin với
Trang 7nhau Ngày nay, khi mà Internet đã có mặt ở khắp mọi nơi thì việc sử dụng dịch vụ thư điện tử là việc hàng ngày đối với rất nhiều người trên khắp thế giới Ta biết rằng khi mạng Internet ra đời, những người sử dụng đầu tiên là các chuyên gia máy tính, họ cùng gửi nhiều email đến các nhóm người dùng khác nhau, sau đó mới có tình trạng không thể kiểm soát được các email gửi đến Vì vậy cần phải có các chương trình phân lớp các email theo thư mục người dùng hoặc lọc hay ngăn chặn những email mà người dùng không muốn nhận nhằm tăng chất lượng sử dụng
Trong lĩnh vực thư điện tử cá nhân, các kỹ thuật phân lớp văn bản cũng được áp dụng rất rộng rãi vào bài toán lọc thư rác Một số vấn đề khác liên quan đến thư điện tử như lọc các luồng thư điện tử, tự động tạo các thư mục mới cũng được nghiên cứu và giải quyết Hiện nay, bài toán phân lớp thư điện
tử vào các thư mục cũng đang được nhiều nhà nghiên cứu quan tâm
Trong luận văn này, chúng tôi ứng dụng phân lớp văn bản vào lĩnh vực thư điện tử nhằm giải quyết bài toán phân lớp tự động thư điện tử vào các lớp
do người dùng định nghĩa Lựa chọn thuật toán máy vector hỗ trợ (SVMs) với những ưu điểm và hiệu quả đã được chứng minh qua nhiều thực nghiệm về phân lớp văn bản, chúng tôi hy vọng SVMs có thể giải quyết các khó khăn của bài toán phân lớp email và đem lại kết quả khả quan
Luận văn được tổ chức thành 4 chương như sau:
Chương 1 trình bày khái quát về khai phá dữ liệu, các kỹ thuật và hướng tiếp cận chính trong khai phá dữ liệu và phân loại các hệ thống khai phá theo nhiều tiêu chí khác nhau Chương này cũng giới thiệu về các bài toán trong khai phá dữ liệu văn bản và khai phá dữ liệu Web
Chương 2 trình bày bài toán và quá trình phân lớp văn bản, đồng thời giới thiệu một số giải pháp phân lớp điển hình
Trang 8Chương 3 giới thiệu phương pháp biểu diễn văn bản dựa trên mô hình không quan vector và tập trung nghiên cứu, khảo sát phương pháp máy vector
hỗ trợ, đây là tiền đề để thực hiện việc thực nghiệm cho luận văn này
Chương 4 trình bày về mô hình phân lớp thư điện tử và áp dụng đối với một bộ dữ liệu đã được công bố Từ các kết quả thực nghiệm, đưa ra đánh giá
hệ thống phân lớp nói trên
CHƯƠNG 1 KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VĂN BẢN
1.1 Một số kiến thức về khai phá dữ liệu
1.1.1 Khái niệm khai phá dữ liệu
Trong những thập kỷ gần đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên
Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng, lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo
đó số lượng cũng như kích cỡ của các cơ sở dữ liệu cũng tăng lên một cách nhanh chóng [5]
Hình 1 - Lượng dữ liệu được tích lũy tăng mạnh theo thời gian
Trang 9Chúng ta quả thực đang sở hữu một khối lượng dữ liệu khổng lồ, nhưng lại luôn cảm thấy thiếu những thông tin hữu ích Lượng dữ liệu khổng lồ này thực sự là một nguồn “tài nguyên” rất giá trị bởi thông tin là yếu tố then chốt trong mọi hoạt động trước khi ra quyết định Khai phá dữ liệu – khai thác những thông tin tiềm ẩn có tính dự đoán từ những cơ sở dữ liệu lớn – là một hướng tiếp cận mới với khả năng giúp các công ty chú trọng vào những thông tin có nhiều ý nghĩa từ những tập dữ liệu lớn (databases, data warehouses, data repositories) mang tính lịch sử Những công cụ khai phá dữ liệu có thể
dự đoán những xu hướng trong tương lai và do đó cho phép doanh nghiệp ra những quyết định kịp thời được định hướng bởi tri thức mà khai phá dữ liệu đem lại Sự phân tích dữ liệu một cách tự động và mang tính dự báo của khai phá dữ liệu có ưu thế hơn hẳn so với sự phân tích thông thường dựa trên những sự kiện trong quá khứ của các hệ hỗ trợ ra quyết định (Decision Support Systems - DSSs) truyền thống trước đây Công cụ khai phá dữ liệu cũng có thể trả lời những câu hỏi trong lĩnh vực kinh doanh mà trước đây được xem là tốn nhiều thời gian để xử lý Với tất cả những ưu thế trên, khai phá dữ liệu đã chứng tỏ được tính hữu dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay Giờ đây, khai phá dữ liệu đã và đang trở thành một trong những hướng nghiên cứu chính của lĩnh vực khoa học máy tính và công nghệ tri thức
a) Định nghĩa Khai phá dữ liệu
Có thể hiểu một cách sơ lược rằng khai phá dữ liệu là quá trình tìm kiếm những thông tin (tri thức) hữu ích, tiềm ẩn và mang tính dự báo trong các tập dữ liệu lớn Như vậy, các nhà khoa học cho rằng nên gọi quá trình này
là khám phá tri thức (Knowledge Discovery in Databases – KDD) thay vì là
khai phá dữ liệu Tuy nhiên các nhà khoa học trong lĩnh vực này đồng ý với nhau rằng hai thuật ngữ trên là tương đương và có thể thay thế cho nhau Họ
Trang 10lý giải rằng, mục đích chính của quá trình khám phá tri thức là thông tin và tri thức có ích, nhưng đối tượng mà cần phải xử lý rất nhiều trong suốt quá trình
đó lại chính là dữ liệu
Mặt khác, khi chia các bước trong quá trình khám phá tri thức, một số nhà nghiên cứu lại cho rằng, khai phá dữ liệu chỉ là một bước trong quá trình
khám phá tri thức [21].
Như vậy, khi xét ở mức tổng quan thì hai thuật ngữ này là tương đương nhau, nhưng khi xét cụ thể thì khai phá dữ liệu được xem là một bước trong
quá trình khám phá tri thức
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Đoàn Sơn (2002), Một số giải pháp cho bài toán tìm kiếm trong cơ sở dữ liệu Hypertext Luận văn thạc sỹ Công nghệ thông tin 2002 Khoa Công
Nghệ - Đại Học Quốc Gia Hà Nội
[2] Nguyễn Thị Thùy Linh, Nguyễn Thu Trang, Nguyễn Thị Hương Thảo,
Hà Quang Thụy (2007), Một giải pháp học bán giám sát SVM phân lớp trang web tiếng Việt Báo cáo tại Hội thảo FAIR'07, Nha Trang, 8-2007 [3] Phan Xuân Hiếu (2003), Khai phá song song luật kết hợp mờ Luận văn
thạc sỹ Công nghệ thông tin 2003 - Khoa Công Nghệ - Đại Học Quốc Gia
Hà Nội
[4] Hà Quang Thuỵ, Đặng Thanh Hải, Nguyễn Cẩm Tú, Nguyễn Việt Cường, Nguyễn Thu Trang, Nguyễn Thị Thùy Linh, Nguyễn Thị Hương Thảo,
Trần Thị Oanh (2007) Nghiên cứu, phân tích và đánh giá các thuật toán lọc văn bản theo nội dung Báo cáo chuyên đề Đề tài cấp Nhà nước
KC.01.02/06-10, 10-2007
Trang 11Tiếng Anh
[5] Alan Rea (1996) Data Mining – An Introduction
http://www.pcc.qub.ac.uk/tec/courses/datamining/ohp/dm-OHP-final_1.html
[6] C.C Chang and C.J Lin (2007) LIBSVM: a library for support vector
machines http://www.csie.ntu.edu.tw/~cjlin/libsvm/
[7] Pierre Baldi, Paolo Frasconi, Padhraic Smyth (2003) Modeling the Internet and the Web: Probabilistic Methods and Algorithms Wiley,
2003, ISBN: 0-470-84906-1
[8] Enron dataset: http://www.cs.cmu.edu/~enron/
[9] Greg Kochanski (2005), Markov Models, Hidden and Otherwise
http://www.kochanski.org/gpk 2005/02/28
[10] Jiawei Han and Micheline Kamber (2001), Data Mining: Concepts and Techniques University of Illinois, Morgan Kaufmann Publishers 2001 [11] J.D.Brutlag, C.Meek (2000) Challenges of the Email Domain for Text Classification ICML 2000 : 103-110
[12] Manoel Mendonca (2000), Mining Software Engineering Data: A Survey University of Maryland, Department of Computer Science, A V
Williams Building #3225 College Park, MD 20742 2000
[13] Nancy R Zhang (2001), Hidden Markov Models for Information
Extraction June, 2001
[14] P.S.Keila, D.B.Skillicorn (2005) Structure in the enron email dataset
Proceeding of SIAM international conference on data mining, 2005
[15] R Agrawal, M Mehta, J Shafer, R Srikant, A Arning, T Bollinger
(1996) The Quest Data Mining System Proceedings of 1996
International Conference on Data Mining and Knowledge Discovery (KDD’96), Portland, Oregon, August 1996
Trang 12[16] Ron Bekkerman, Andrew McCallum, Gary Huang (2004) Automatic Categorization of Email into Folders : Benchmark Experiments on enron and SRI corpora Technical report IR-418 2004
[17] Soumen Chakrabaki (2003), Mining the Web: Discovering Knowledge from Hypertext Data Morgan Kaufmann Publishers, 2003
[18] Steve Martin, Anil Sewani, Blaine Nelson, Karl Chen, Anthony D.Joseph
(2005) Analyzing behaviorial features for email classification Second
conference on email and antispam (CEAS 2005)
[19] Svetlana Kiritchenko, Stan Matwin (2001) Email classification with co-training Proceedings of the 2001 conference of the centre of advanced
studies on collaborative research
[20] U M Fayyad, G Piatetsky-Shapio, P Smyth, and R Uthurusamy (eds.)
(1996), Advances in Knowledge Discovery and Data Mining AAAI/MIT
Press, 1996
[21] Sen Slattery (2002) Hypertext Classification Doctoral dissertation
(CMU-CS-02-142) School of Computer Science Carnegie Mellon University, 2002
[22] Y Yang and J.O Pedersen (1997), A Comparative Study on Feature Selection in Text Categorization Proceeding of the 14th International Conference on Machine Learning (ICML’97)
[23] http://en.wikipedia.org/wiki/