Thực nghiệm của chúng tôi được tiến hành trên môi trường thực nghiệm như sau: Bảng 2: Môi trường thực nghiệm (phần cứng và hệđiều hành)
Chi tiết phần cứng Chỉ số
CPU Intel Core I3
RAM 2.00 GB HDD 160 GB OS Window 7 4.1.3. Các công cụ và phầm mềm sử dụng Bảng 3: Các công cụ và phần mềm sử dụng STT Tên phần mềm Tác giả Chức năng Nguồn 1 Eclipse- SDK-3.5- win32 Công cụ lập trình trên nền Window, Unix hỗ trợ người sử dụng lập trình Java, PHP, C/C++,... http://www.eclipse. org/downloads 2 CONGA Software
Steve Gregory Phần mềm mã nguồn mở hỗ trợ cài đặt thuật toán CONGA http://www.cs.bris.a c.uk/~steve/network s/software/conga.ht ml 3 Twitter4j Yusuke Yamamoto Bộ thư viện mã nguồn mở của Java hỗ trợ tương tác với Twitter API http://twitter4j.org
4 JVNTextPro Phan Xuân Hiếu, Nguyễn CNm Tú
http://jvntextpro.sou rceforge.net/
4.2. Thực nghiệm và đánh giá
4.1.1. Thực nghiệm
Tôi tiến thành thu thập dữ liệu người dùng trên Twitter cùng follow @linkhay, kết quả thu được là 268 đỉnh. Sau bước loại bỏ những đỉnh không phù hợp, số lượng đỉnh thỏa mãn đểđưa vào mô hình còn lại 241 đỉnh. Sau đó tôi thực hiện tìm kiếm các mối liên kết của các đỉnh này với nhau. Mạng xã hội được xây dựng lên bao gồm 241 đỉnh và 606 cạnh. Mạng này được biểu diễn dưới dạng chuNn đầu vào của CONGA, sau đó cho qua CONGA chạy thử nghiệm để phát hiện cộng đồng.
Sau khi nhận được đầu vào thích hợp, chạy dòng lệnh sau trong CMD thuật toán tự phân tích và tìm ra số lượng cụm, với *** là tên file text biểu diễn đồ thị :
java –cp conga.jar CONGA ***.txt –e
Đồ thị người dùng chúng tôi thu được với 214 cạnh và 606 cạnh, tổng số phép phân chia đỉnh là 194, và có 40 đỉnh bị phân chia. Nhìn vào kết quả có thể nhận thấy một vài đỉnh được coi là đỉnh giao thoa lớn giữa các cụm, ví dụ như đỉnh 4 (66 lần phân chia), đỉnh 25 (14 lần phân chia), đỉnh 28 (9 lần phân chia). Tổng số pha tính độ trung gian là 800 pha, tổng thời gian phân chia cộng đồng là 3779 ms.
Hình 4.1: Kết quả phân chia cộng đồng
Phần mềm CONGA còn hỗ trợ lệnh cho phép xem cấu trúc cộng đồng con trong khi đang phân chia:
java –cp conga.jar CONGA ***.txt –e –n X
trong đó X là một số nguyên biểu diễn số lượng cộng đồng ở bước phân chia ra mà ta muốn xem.Ví dụ muốn xem cấu trúc các cộng đồng con ở giai đoạn đồ thị phân chia ra làm 3 cộng đồng con chỉ cần thay X = 3 ở trong dòng lệnh.
Hình 4.2: Cấu trúc đồ thịđược chia thành 3 cộng đồng con
Do số lượng cạnh trong đồ thị trong khóa luận xây dựng được tương đối mỏng, và để thuận tiện cho tập hợp, đánh giá quan điểm cộng đồng trong pha tiếp theo, chúng tôi xem xét việc sử dụng kết quả phân chia số cộng đồng theo mong muốn là 3 cộng đồng. Kết quả đưa ra danh sách các đỉnh thuộc từng cộng đồng, mỗi cộng đồng được biểu diễn trên một dòng. Theo kết quả thu được, cộng đồng 1 bao gồm 81 đỉnh, cộng đồng 2 bao gồm 132 đỉnh, cộng đồng 3 bao gồm 33 đỉnh.
Tập dữ liệu đầu vào từ người dùng được chia theo các nhóm cộng đồng đầu ra của CONGA, sau khi qua bước tiền xử lý cho ra tổng cộng 2000 câu quan điểm. Trong đó, chúng tôi chọn ra dữ liệu học chiếm 70% tổng số lượng dữ liệu và thực hiện gán nhãn dữ liệu. Tập dữ liệu học này cho qua học máy Naïve Bayes để sinh mô hình huấn luyện.
Bảng 4: Tập dữ liệu huấn luyện
Positive Negative Số lượng tài liệu 547 853
Phần dữ liệu kiểm tra chiếm 30% còn lại được đi qua mô hình huấn luyện để phân lớp quan điểm thành hai lớp positive và negative. Chúng tôi thu thập và tập hợp tập dữ liệu kiểm tra dựa trên 3 sự kiện được người dùng follow @linkhay quan tâm nhiều nhất (dựa vào số lượng “comment” và số lượng “like”). Tiếp đó, từ danh sách cộng đồng đã được phân chia tại pha 1, những nhận xét này được phân ra cho từng cộng đồng (trong khóa luận sử dụng số lượng là 3 cộng đồng). Tập những nhận xét này sẽđược cho qua mô hình huấn luyện phân lớp, tổng hợp đểđưa ra quan điểm cộng đồng. Kết quả quan điểm của một cộng đồng là “đồng tình” nếu như số lượng quan điểm “đồng tình” trong cộng đồng đó là lớn hơn số lượng quan điểm “không đồng tình”, và ngược lại.
Bảng 5: Kết quả quan điểm cộng đồng với sự kiện 1: Positive Negative Kết quả Cộng đồng 1 37 8 Positive Cộng đồng 2 15 97 Negavite Cộng đồng 3 3 37 Negative Bảng 6: Kết quả quan điểm cộng đồng với sự kiện 2: Positive Negative Kết quả Cộng đồng 1 21 50 Negative Cộng đồng 2 1 124 Negavite Cộng đồng 3 0 35 Negative Bảng 7: Kết quả quan điểm cộng đồng với sự kiện 3: Positive Negative Kết quả Cộng đồng 1 50 0 Positive Cộng đồng 2 189 0 Positive Cộng đồng 3 47 0 Positive 4.1.2. Đánh giá a. Phát hiện cộng đồng mạng xã hội Bảng 8: Kết quảđánh giá phát hiện cộng đồng mạng xã hội sử dụng CONGA Vad Overlap Mạng karate 4.45 1.03 Mạng cá heo ở Lusseau 4.91 1.03 Mạng Linkhay 5.03 1.04
b. Bộ phân lớp Naïve Bayes
Bảng 9: Kết quảđánh giá bộ phân lớp Naïve Bayes
Precision Recal
Sự kiện 1 65.34% 75.77% Sự kiện 2 63.12% 68.23% Sự kiện 3 57.78% 50.18%
Nhận xét: Dựa vào kết quả đánh giá, có thể nhận thấy phương pháp khai phá quan điểm cộng đồng sử dụng thuật toán CONGA và học máy Bayes mang lại kết quả ban đầu hợp lý.
4.3. Kết luận chương 4
Trong chương này, chúng tôi đã tiến hành thực nghiệm, xem xét và đánh giá kết quả của quá trình thực nghiệm mô hình gom phát hiện và khai phá quan điểm cộng đồng trên mạng xã hội Twitter với miền tiếng Việt sử dụng phương pháp phát hiện cộng đồng CONGA và phân lớp quan điểm bằng học máy Bayes. Qua đánh giá cho thấy kết quả có triển vọng tốt.
KẾT LUẬN VÀ PHƯƠNG HƯỚNG
Kết quảđạt được của khóa luận
Trong khóa luận này, chúng tôi đã xây dựng được mô hình phát hiện và khai phá quan điểm cộng đồng trên mạng xã hội và thực nghiệm trên mạng xã hội Twitter sử dụng thuật toán phát hiện cộng đồng CONGA và phân lớp quan điểm với học máy Naïve Bayes. Phương pháp này có ưu điểm sẽ phát hiện được các cộng đồng chồng chéo nhau trong mạng xã hội, đồng thời đánh giá được quan điểm của từng cộng đồng đó với độđo khá tốt.
Chúng tôi đã cài đặt thử nghiệm trên tập người dùng Twitter cùng follow @linkhay và cho đánh giá khả quan, mô hình phân nhóm cộng đồng khá chuNn xác, đánh giá quan điểm người dùng đạt độ chính xác 63.34%, độ hồi tưởng 76,77%.
Định hướng tương lai
Cải tiến mô hình thuật toán CONGA nhằm đạt mức độ phân chia cộng đồng tốt hơn dựa trên những mối liên kết Nn.
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:
[1] Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn CNm Tú (2009). Giáo trình khai phá dữ liệu, NXBGD, 2009
Tài liệu tiếng Anh:
[2] Hu, M. and Liu, B. (2006). Opinion extraction and summarization on the Web,
Proceedings of the 21th National Conference on Artificial Intelligence (AAAI), 2006.
[3] Bermingham, Adam and Smeaton, Alan F. (2010) Classifying sentiment in microblogs: is brevity an advantage? International Conference on Information and Knowledge Management. (CIKM 2010 - 19th)
[4] David Easley and Jon Kleinberg (2010) Networks, Crowds, and Markets: Reasoning about a Highly. Book of Cambridge University Press.
[5] Matthew A. Russell (2011) Mining the social web.
[6] Jiyang Chen (2010) Community Mining - Discovering Communities in Social Networks. Thesis, University of Alberta.
[7] Dunja Mladenić (1998) Machine learning on non-homogeneous, distributed text data. Doctoral Dissertation.
[8] Akshay Java, Xiaodan Song, Tim Finin, Delle Tseng (2007) Why We Twitter: Understanding Microblogging Usage and Communities.
[9] Santo Fortunato (2010), Community detection in graphs, Technical Report,
Complex Networks and Systems Lagrange Laboratory, ISI Foundation, Torino, ITALY, arXiv:0906.0612v2 (2010).
[10] M.E.J. Newman and M. Girvan (2003) Finding and evaluating community structure in networks. Preprint cond-mat/0308217.
[11] Adriana S.Vivacqua, José A.Rodrigues Nt. (2009) Community-supported collaborative navigation with FoxPeer_IJWBC FoxPeer versao publicada .
[12] M. Girvan, M. E. J. Newman (2002). Community structure in social and biological networks, Proc. Natl. Acad. Sci., 99(12), 7821 (2002)
[13] Steve Gregory: An Algorithm to Find Overlapping Community Structure in Networks. PKDD 2007
[14] Jason D. M. Rennie (2001) Improving Multi-class Text Classication with Naive Bayes, Master of Science - Department of Electrical Engineering and Computer Science on September 10, 2001.
[15] Li-ping Jing, Hou-Kuan Huang, Hong-Bo Shi (2002) Improved feature selection approach TFIDF in text mining, Proceedings of the First International Conference on
Machine Learning and Cybernetics, Beijing, 4-5 November 2002.
Website