Chương 4 ỨNG DỤNG VÀ THỰC NGHIỆM
4.4. Kết quả thực nghiệm và đánh giá
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
Lựa chọn tham số cho mô hình.
LIBSVM cho phép lựa chọn hàm nhân trong quá trình học bộ phân lớp. Có 4 hàm nhân được tích hợp trong LIBSVM: Hàm tuyến tính, hàm đa thức, hàm xuyên tâm cơ sở (radial basis function) và hàm xích ma. Để lựa chọn hàm nhân phù hợp, chúng tôi sử dụng kỹ thuật kiểm tra chéo trên tập dữ liệu học; nghĩa là chia tập dữ liệu huấn luyện thành n phần bằng nhau, mỗi phần lần lượt được kiểm tra bằng bộ phân lớp được huấn luyện trên n-1 phần còn lại. Trong thực nghiệm này chúng tôi chọn n = 10. Dưới đây là một số hình ảnh về quá trình thực nghiệm:
Hình 12. Thực nghiệm với kiểu hàm nhân tuyến tính đối với người dùng Becks
Kết quả thu được ứng với từng hàm nhân đối với 5 người dùng được thống kê trong Bảng 4.
Bảng 4: Độ chính xác của bộ phân lớp ứng với từng hàm nhân
Hàm tuyến tính Hàm đa thức Hàm xuyên tâm cơ sở Hàm xích ma Beck-s 47.75% 9.43% 9.43% 9.43% Farmer-d 75.04% 32.58% 32.58% 32.58% Lokay-m 74.67% 46.62% 46.62% 46.62% Sanders-r 64.74% 36.70% 36.70% 36.70% William-w3 95.25% 50.93% 50.93% 50.93%
Từ bảng kết quả này, chúng tôi nhận được đồ thị biểu diễn độ chính xác của bộ phân lớp SVM khi áp dụng các hàm nhân khác nhau như sau:
0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 120.00% Hàm tuyến tính Hàm đa thức Hàm xuyên tâm cơ sở Hàm xích ma Kiểu hàm nhân Đ ộ ch ín h xá c Beck-s Farmer-d Lokay-m Sanders-r William-w3
Từ biểu đồ trên ta thấy với cả 5 người dùng, sử dụng hàm nhân tuyến tính cho độ chính xác cao hơn so với 3 hàm nhân còn lại. Do đó, chúng tôi lựa chọn hàm nhân tuyến tính cho các thực nghiệm tiếp theo.
Với tỉ lệ phân chia tập dữ liệu học/dữ liệu kiểm tra là 2:1, chúng tôi thực nghiệm trên tập dữ liệu kiểm tra, áp dụng hàm nhân tuyến tính.
Đầu tiên, sử dụng svm-train để huấn luyện dữ liệu trên tập dữ liệu huấn luyện train_scale.tr, tham số của mô hình được ghi vào model. Quá trình này được biểu diễn ở hình dưới:
Hình 13 - Đồ thị biểu diễn độ chính xác của bộ phân lớp SVM khi áp dụng các hàm nhân khác nhau
Hình 14. Sử dụng svm-train để huấn luyện trên tập dữ liệu huấn luyện train_scale.tr
Sau khi huấn luyện, sử dụng svm-predict để kiểm tra trên tập test_scale.t, kết quả dự đoán được ghi vào file output:
Hình 15. Độ chính xác khi thử nghiệm trên tập kiểm tra của người dùng Becks
Hình 16. Độ chính xác khi thử nghiệm trên tập kiểm tra của người dùng William-w3
Kết quả thu được sau khi thử nghiệm trên tập kiểm tra đối với cả 5 người dùng được biểu diễn ở Bảng 5.
Bảng 5. Độ chính xác của bộ phân lớp khi thử nghiệm trên tập kiểm tra
Beck-s Farmer-d Sander-r Lokay-m William-w3
51.70% 75.56% 70.81% 78.67% 95.82%
Từ kết quả này, ta có đồ thị biểu diễn độ chính xác của bộ phân lớp đối với 5 người dùng là: 51.70% 75.56% 70.81% 78.67% 95.82% 0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 120.00%
Beck-s Farmer-d Sander-r Lokay-m William-w3
Ngư?i dùng Đ ? c h ín h x ác
Từ biểu đồ trên ta thấy rằng độ chính xác thu được của 5 người dùng không cao lắm. Người dùng William-w3 đạt độ chính xác rất cao 95.82%, trong khi đó Beck-s chỉ đạt 51.70%. Kết quả thu được như vậy theo tôi vì tập dữ liệu học chưa đủ lớn để huấn luyện mô hình, trong khi số lớp lại rất nhiều. Beck-s có 58 thư mục, tức là ta phải gán các email vào 58 lớp. Trong khi đó, tổng số email huấn luyện của 58 lớp này 1.177 email, số email của mỗi lớp lại
Hình 17. Đồ thị biểu diễn độ chính xác của bộ phân lớp SVM khi thử nghiệm với tập kiểm tra
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ọc
Từ kết quả của thực nghiệm trên, chúng tôi tiến hành tăng dần tập dữ liệu huấn luyện và khảo sát độ chính xác của bộ phân lớp. Chúng tôi phân chia tập dữ liệu ban đầu thành tập dữ liệu học và dữ liệu kiểm tra theo tỉ lệ 2:1, 3:1 và 4:1. Thống kê về số lượng email trong từng tập dữ liệu được liệt kê ở bảng sau:
Bảng 6: Thống kê tập dữ liệu theo tỉ lệ phân chia dữ liệu học/dữ liệu kiểm tra
Tỉ lệ 2:1 Tỉ lệ 3:1 Tỉ lệ 4:1
Tập học Tập KTra Tập học Tập KTra Tập học Tập KTra
Beck-s 1177 559 1326 410 1408 328
Farmer-d 2440 1211 2746 905 2930 721
Lokay-m 1658 825 1868 615 1990 493
Sanders-r 763 370 857 276 913 220
William-w3 1830 910 2060 680 2196 544
Áp dụng LIBSVM với lựa chọn hàm nhân tuyến tính, kết quả phân lớp của người dùng Farmer-d trong ba trường hợp được biểu diễn như ở các hình dưới đây:
Hình 19. Kết quả thực nghiệm khi tỉ lệ dữ liệu là 2:1 của người dùng Farmer
Hình 20. Kết quả thực nghiệm khi tỉ lệ dữ liệu là 3:1 của người dùng Farmer
Hình 21. Kết quả thực nghiệm khi tỉ lệ dữ liệu là 4:1 của người dùng Farmer
Sau khi thực nghiệm độ chính xác với các tỉ lệ khác nhau đối với 5 người dùng, kết quả được liệt kê trong Bảng 7.
Bảng 7: Độ chính xác của bộ phân lớp ứng với tỉ lệ phân chia dữ liệu
Tỉ lệ Beck-s Farmer-d Sander-r Lokay-m William-w3
2:1 51.70% 75.56% 70.81% 78.67% 95.82%
3:1 55.85% 76.35% 69.57% 77.89% 97.06%
4:1 56.71% 78.79% 72.27% 79.31% 97.53%
Từ bảng kết quả, ta biểu diễn đồ thị độ chính xác của bộ phân lớp theo tỉ lệ phân chia dữ liệu như hình vẽ dưới đây.
0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 120.00%
Beck-s Farmer-d Sander-r Lokay-m William-w3
Người dùng Đ ộ ch ín h xá c 2:1 3:1 4:1
Từ bảng kết quả và đồ thị ta thấy rằng, khi tăng tập ví dụ học thì kết quả bộ phân lớp tăng lên. Mặc dù kết quả tăng lên không nhiều nhưng chứng tỏ rằng, nếu bộ dữ liệu huấn luyện đủ lớn thì kết quả thu được rất khả quan.
Hình 22. Đồ thị biểu diễn độ chính xác của bộ phân lớp SVM với tỉ lệ dữ liệu Học/Kiểm tra tăng dần
KẾT LUẬN
Qua quá trình tìm hiểu, khảo sát các nội dung nghiên cứu về bài toán phân lớp đối với các thư điện tử, luận văn đã thu được một số kết quả như sau:
- Trình bày khái quát khai phá dữ liệu (kỹ thuật, tiếp cận, phân loại) và khai phá dữ liệu web.
- Trình bày và có phân tích sơ bộ một số thuật toán phân lớp văn bản điển hình như phân lớp Bayes, phân lớp cây quyết định... Tập trung nghiên cứu, khảo sát phương pháp máy hỗ trợ vector để ứng dụng trong bài toán phân lớp thư điện tử.
- Từ những phần mềm mã nguồn mở, tích hợp thành bộ 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ố. Đã tiến hành thực nghiệm và đánh giá hệ thống phân lớp với kết quả là khả thi.
Do hạn chế về năng lực và khó khăn về thời gian nghiên cứu, luận văn mới chỉ ở mức độ nghiên cứu, khảo sát, phân tích và trình bày một cách có hệ thống về bài toán liên quan mà chưa có đề xuất nghiên cứu hoặc thực nghiệm công phu. Đây là một hạn chế của luận văn. Trong thời gian tới, chúng tôi sẽ tiếp tục triển khai thực nghiệm để đưa ra các kết quả đối với tập dữ liệu thư điện tử tiếng Việt.
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.
Tiế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.
[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.
[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).