Môi trường và các thành phần hệ thống phần mềm

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện vai trò trong mạng xã hội 04 (Trang 39)

Chương 4 Thực nghiệm và đánh giá

4.1. Môi trường và các thành phần hệ thống phần mềm

Cấu hình phần cứng

Thành phần Chỉ số

CPU 2.4 GHz Intel Core i5

RAM 8GB

OS Mac OS X 10.9.5

Bộ nhớ ngoài 250GB

Bảng 1: Cấu hình phần cứng Các công cụ phần mềm sử dụng Các công cụ phần mềm sử dụng

STT Tên phần mềm Tác giả Nguồn

1 Node.js https://nodejs.org/en/ 2 gcc https://gcc.gnu.org/ 3 boost http://www.boost.org/ 4 make http://www.gnu.org/software/make/manual /make.html

5 sublime text http://www.sublimetext.com/

Bảng 2: Các phần mềm sử dụng

Ngoài các công cụ trên, chúng tôi tiến hành cài đặt các mô đun xử lý dựa trên ngôn ngữ javascript và C/C++

- create_doc.js: Mô đun viết bằng ngôn ngữ javascript sử dụng cho việc tiền

xử lý dữ liệu, thực hiện việc đọc các file email riêng rẽ trong nhiều thư mục và tổng hợp lại trong 1 file, đồng thời loại bỏ các từ vô nghĩa.

- art.h: Thực hiện việc lấy mẫu và phân cụm theo mô hình ART.

- rr.h: Thực hiện việc phân cụm vai trò theo mô hình RART. 4.2. Tập dữ liệu thử nghiệm

Dữ liệu thử nghiệm là tập các email của công ty Enron – một công ty nổi tiếng của Mỹ về lĩnh vực năng lượng, hàng hoá và dịch vụ, đã bị phá sản vào năm 2001.

Đây là một tập dữ liệu nổi tiếng và đã được sử dụng bởi rất nhiều nhà nghiên cứu. Dữ liệu Enron được công khai cho mục đích nghiên cứu và có thể tải về từ trang web:

http://www.cs.cmu.edu/~enron/

Tập dữ liệu bao gồm hơn 500000 emails của khoảng 150 nhân viên. Email của mỗi nhân viên được lưu trữ trong một thư mục trong đó có nhiều thư mục con tương ứng với các phân loại email do người dùng tuỳ chọn. Mỗi file dữ liệu chứa đầy đủ thông tin về địa chỉ email người gửi, địa chỉ email người nhận, thời gian gửi, nội dung email và một số thông tin khác về định dạng email.

4.3. Thực nghiệm Tiền xử lý dữ liệu Tiền xử lý dữ liệu

Để giảm bớt việc trùng lặp mà vẫn có thể thu thập được đầy đủ các email, chúng tôi chỉ lấy các email trong thư mục sent của mỗi nhân viên. Có hai người xuất hiện hai lần với địa chỉ email khác nhau cũng được loại bỏ đi một người. Chúng tôi lọc ra các email trao đổi giữa những nhân viên của Enron và chỉ thực nghiệm trên các email này.

Hình 4.1: Một email của người dùng Brawner

Với mỗi email, chúng tôi trích xuất ra thông tin về người gửi, người nhận và nội dung email. Tương tự như [6], để lấy phần nội dung mới trong mỗi email, chúng tôi cũng bỏ đi phần nội dung thư chuyển tiếp xuất hiện sau dòng “forwarded massage” hoặc mốc thời gian. Để loại bỏ sự phân biệt chữ viết hoa, các từ được chuyển thành chữ viết thường.

Trong thực nghiệm của McCallum và cộng sự chỉ lấy các từ là dãy các chữ cái. Ngoài ra, chúng tôi còn xây dựng một bộ từ vựng gồm các từ có chức năng ngữ pháp, và loại bỏ những từ này khỏi dữ liệu nội dung.

Để có thể đánh giá được độ chính xác của mô hình, chúng tôi cũng loại bỏ những người mà không có thông tin cụ thể về vị trí công việc.

Kết quả là chúng tôi thu được một tập dữ liệu bao gồm 11830 email của 108 người, trong đó có 37612 từ duy nhất.

Cuối cùng, các dữ liệu được gộp vào trong 1 file với mỗi dòng là một email có định dạng:

<người_gửi> <người_nhận1:người_nhận2:...> <nội_dung:từ1:từ2:...> Mỗi trường cách nhau bởi một dấu “cách”, mỗi từ cách nhau bởi dấu “:”

Hình 4.2: Ví dụ minh hoạ dữ liệu đầu ra của pha tiền xử lý Phân cụm vai trò Phân cụm vai trò

Bởi vì Gibbs sampling là một thuật toán lấy mẫu phổ biến, có thể cài đặt đơn giản và hiệu quả nên chúng tôi chọn sử dụng thuật toán này trong quá trình lấy mẫu.

Tuy nhiên, việc lấy mẫu riêng rẽ cho 2 tập biến ẩn vai trò người gửi – vai trò người nhận là rất phức tạp. Vì vậy, McCallum và cộng sự đã đưa ra chiến lược hiệu quả sử dụng mô hình ART [6]. Đầu tiên, một mô hình ART sẽ được huấn luyện để có được lựa chọn chủ đề và lựa chọn người nhận cho mỗi từ. Do đó, ở bước tiếp theo, chủ đề và người nhận được xem như là đã quan sát được. Trong quá trình thực nghiệm này, chúng tôi cũng tiến hành theo cách như vậy.

Trong thực nghiệm mô hình ART, McCallum và cộng sự [6] nhận thấy rằng việc lựa chọn tham số đầu vào không ảnh hưởng lớn lắm đến kết quả của mô hình nên đã cố định giá trị 𝛼 = 50/𝑇 và 𝛽 = 0.1. Do đó, chúng tôi cũng cố định 2 giá trị trên và tiến hành huấn luyện ART với T = 50 topic. Sau đó chúng tôi lấy mẫu vai trò cho người nhận theo từng từ có trong chủ đề mà người nhận được gán với 12 nhóm vai trò.

4.4. Đánh giá kết quả

Để đánh giá kết quả thử nghiệm và hiệu quả của thuật toán trong mô hình này chúng tôi sử dụng độ đo F- measure. Nó là sự kết hợp của của độ đo chính xác và độ đo hồi tưởng. Độ đo chính xác được ký hiệu là π chính là số lượng người có vai trò

đúng với cụm vai trò trên tổng số người trong cụm. Độ đo hồi tưởng được ký hiệu là ρ chính là số người phù hợp với vai trò tìm được trên tổng số người thực tế phù hợp với vai trò này. Do đó độ đo F được tính như sau:

F=2𝜋𝜌

𝜋+𝜌

Chúng tôi đặt tên cho các nhóm vai trò dựa vào các từ xuất hiện trong vai trò và hiểu biết về các vị trí công việc trong tập dữ liệu. Tốp những người có phân phối vai trò > 0.1 cho mỗi vai trò được lựa chọn để đánh giá độ chính xác. Kết quả như sau:

Hình 4.3: Độ chính xác F-measure của 12 vai trò

Độ chính xác trung bình trong việc phát hiện các vai trò đạt 61.9%, trong đó Vai trò 8 (Phụ trách các vấn đề về pháp lý) có độ chính xác cao nhất (76.9%), Vai trò 10 (Quản lý) có độ chính xác thấp nhất 54.1%.

Vai trò 1

“Nhân viên mua/bán hàng (trader)”

Vai trò 8

“Phụ trách pháp lý(regulatory affairs)”

Bass (trader) 0.418662

Forney (manager, real time trading desk) 0.374849

Dean (trader) 0.360097

Kuykendall (trader) 0.307181

Stepenovitch (vice president, energy

marketting and trading Florida) 0.280439

Sanders (vice president, wholesale services) 0.233179

Fossum (vice president) 0.211752

McCarty (employee) 0.201946

Corman (vice president, regulatory affairs) 0.392585

Dasovich (government relation executive) 0.388959

Lokey (manager, regulatory affairs) 0.29148

Keavey (employee) 0.247706

Steffes (vice president, government affairs) 0.199571

Shapiro (vice president, regulatory affairs) 0.122598

May (director) 0.120181

Keiser (employee) 0.112069

Bảng 3: Hai vai trò nổi bật của dữ liệu Enron

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 F-measure

Bảng 3 liệt kê một số người nổi bật của 2 vai trò. Vai trò 1 là nhóm những “nhân viên phụ trách việc mua và bán hàng”. Tốp 6 người có xác suất cao nhất trong nhóm này có vai trò công việc giống nhau và hoàn toàn trùng khớp với vai trò của nhóm. Vai trò 8 là nhóm những người “phụ trách các vấn đề pháp lý”. Phần lớn những người trong nhóm này có công việc liên quan đến chính phủ (government affairs) và pháp lý (regulatory affairs), có thể hai công việc này liên quan đến những vấn đề tương tự nhau.

stepenovitch (Joe Stepenovitch) kaminski (Vince Kaminski)

Vai trò 1 (nhân viên mua/bán hàng) 0.280439

Vai trò 9 (cung cấp dịch vụ về năng lượng) 0.142052

Vai trò 11 (nhân viên marketing) 0.102593

Vai trò 10 (người quản lý) 0.080045

Vai trò 7 (người quản lý rủi ro) 0.339667

Vai trò 10 (người quản lý) 0.114014

Vai trò 4 (nhân viên hành chính) 0.078384

Vai trò 5 (chuyên viên phân tích tiền tệ) 0.072446

Bảng 4: Một ví dụ về phân phối vai trò

Một ví dụ về phân phối vai trò của 2 người được thể hiện ở Bảng 4. Stepenovitch có vai trò là “nhân viên mua/bán hàng”, bên cạnh đó, người này còn là “người cung cấp dịch vụ về năng lượng” và cũng là “nhân viên marketing”. Ngoài ra, Stepenovitch còn có vai trò là “người quản lý”. Những vai trò này hoàn toàn trùng khớp với công việc thực tế. Một ví dụ khác là Kaminski, người này có phân phối vai trò khá cao ở vai trò “người quản lý rủi ro”, đồng thời ông còn có vai trò “người quản lý”. Tuy nhiên, vai trò “nhân viên hành chính” và “chuyên viên phân tích tiền tệ” thì không liên quan tới công việc của ông. Có lẽ chính vì vậy mà phân phối xác suất cho 2 vai trò này khá thấp.

Kết luận

Với sự phát triển không ngừng của các trang mạng xã hội mang lại nguồn dữ liệu đa dạng và phong phú về người dùng Internet, nhu cầu về hiểu biết vai trò của những người dùng này là rất cần thiết và có thể mang lại nhiều lợi ích trong kinh doanh. Tuy những nghiên cứu về khai phá vai trò trong mạng xã hội đã được quan tâm từ lâu, nhưng lĩnh vực này vẫn còn nhiều thách thức và vấn đề cần phải giải quyết. Nắm bắt được nhu cầu đó, luận văn đã tiến hành nghiên cứu các mô hình phát hiện vai trò và áp dụng thử nghiệm vào mô hình phát hiện vai trò phân cấp dựa vào dữ liệu emails.

Kết quả đạt được của luận văn

Luận văn đã tiến hành khảo sát về khai phá dữ liệu mạng xã hội và bài toán phát hiện vai trò trong mạng xã hội. Luận văn cũng đã tìm hiểu một số công trình nghiên cứu về phát hiện vai trò trong mạng xã hội. Trong đó, luận văn đi sâu vào nghiên cứu mô hình phát hiện vai trò người hướng dẫn – người được hướng dẫn trong mạng thông tin các bài báo khoa học và mô hình RART phát hiện vai trò và chủ đề trong mạng xã hội.

Dựa trên các nghiên cứu đó, luận văn đề xuất một mô hình triển khai nhằm phát hiện vai trò phân cấp của nhân viên từ tập dữ liệu emails. Luận văn cũng tiến hành cài đặt thực nghiệm một pha trong mô hình đề xuất cho tập dữ liệu Enron email. Kết quả thực nghiệm cho thấy mô hình có độ chính xác 61.9% trong việc phát hiện 12 vai trò. Ngoài ra, mô hình còn cho kết quả khá tốt trong việc phát hiện nhiều vai trò của một người.

Định hướng nghiên cứu tiếp theo

Trong khuôn khổ luận văn này, chúng tôi mới chỉ dừng lại ở việc đưa ra mô hình đề xuất và thực nghiệm một pha trong mô hình đó. Trong thời gian tới, chúng tôi sẽ tiếp tục thực nghiệm các phần còn lại trong mô hình, đồng thời xem xét hướng nghiên cứu bổ sung thêm đặc trưng chủ đề trong pha gán vai trò phân cấp để nâng cao độ chính xác và giảm thiểu việc bỏ sót các cặp quan hệ.

Tài liệu tham khảo

Tiếng Việt

[1] Đinh Thị Hương. Một mô hình tìm kiếm vai trò trong mạng xã hội Twitter. Luận văn Thạc sỹ, Trường ĐHCN, ĐHQGHN, 2014.

Tiếng Anh

[2] Nitin Agarwal, Huan Liu, Lei Tang, Philip S. Yu: Modeling blogger influence in a community. Social Netw. Analys. Mining 2(2): 139-162 (2012)

[3] N. Agarwal and H. Liu. Blogosphere: research issues, tools, and applications. SIGKDD Exploration, 10(1):18–31, 2008. IEEE Press.

[3] L.A. Adamic, J. Zhang, E. Bakshy, and M.S. Ackerman. Knowledge sharing and yahoo answers: everyone knows something. In: Proceeding of the International Conference on World Wide Web (WWW’08), pages 665–674, Beijing, China, 2008. ACM Press.

[4] D.M. Blei, A.Y. Ng, and M.I. Jordan. Latent dirichlet allocation. Journal of Machine Learning Research, 3:993–1022, 2003. JMLR.

[5] Jiyang Chen, Community Mining-Discovery Communities in Social Network, Thesis, University of Alberta, 2010.

[6] Andrew McCallum, Xuerui Wang, Andrés Corrada-Emmanuel: Topic and Role Discovery in Social Networks with Experiments on Enron and Academic Email. J. Artif. Intell. Res. (JAIR) 30: 249-272 (2007).

[7] P. Doreian, V. Batagelj, and A. Ferligoj. Generalized blockmodeling. Cambridge University Press, 2005.

[8] B. Dom, I. Eiron, A. Cozzi, and Y. Zhang. Graph-based ranking algorithms for e- mail expertise analysis. In: Proceedings of the SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery (DMKD’03), pages 42–48, San Diego, California, USA, 2003. ACM Press.

[9] A. Daud, J. Li, L. Zhou, and F. Muhammad. A generalized topic modeling approach for maven search. In: Proceedings of the Advances in Data and Web Management (APWeb WAIM’09), pages 138–149, Suzhou, China, 2009. Springer. [10] L. Freeman. Visualizing social networks. Journal of Social Structure, 1(1), 2000. [11] A. Farahat, N. K. Ahmed, and U. Dholakia, “Does a daily deal promotion signal a distressed business? an empirical investigation of small business survival,” in Proc. Economics Web Search Social Netw., 2013, pp. 1–8.

[12] Mathilde Forestier, Anna Stavrianou, Julien Velcin, and Djamel A. Zighed. Roles in social networks: methodologies and research issues. Journal Web Intelligence and Agent Systems. Volume 10 Issue 1, 2012.

[13] Robert A. Hanneman, Mark Riddle: Introduction to social network methods. Published in digital form at http://faculty.ucr.edu/~hanneman/ . 2005.

[14] M.S. Handcock, A.E. Raftery, and J.M. Tantrum. Model-based clustering for social networks. Journal of the Royal Statistical Society: Series A (Statistics in Society), 170(2):301–354, 2007. Wiley Online Library.

[15] J. Moreno. Who shall survive, New York: Beacon Press 1934.

[16] S. Milgram. The small world problem. Psychology Today, 1(1):60–67, 1967. [17] R. Merton. Social Theory and Social Structure. New York, NY, USA: Simon & Schuster, 1968.

[18] M. Maia, J. Almeida, and V. Almeida. Identifying user behavior in online social networks. In Proceedings of the 1st Workshop on Social Network Systems,SocialNets '08, pages 1-6, New York, NY, USA, 2008.ACM.

[19] P. Mahadevan, D. Krioukov, M. Fomenkov, X. Dimitropoulos, A. Vahdat, et al., “The internet as-level topology: Three data sources and one definitive metric,” ACM SIGCOMM Comput. Commun. Rev., vol. 36, no. 1, pp. 17–26, 2006.

[20] K. Lewin. Principles of topological psychology, McGraw-Hill, 1936.

[21] T. Parsons. “Illness and the role of the physician: A sociological perspective,” Amer. J. Orthopsychiatry., vol. 21, no. 3, pp. 452–460, 1951.

[22] A. Pal and S. Counts. Identifying topical authorities in microblogs. In WSDM, pages 45-54, 2011.

[23] Ryan A. Rossi and Nesreen K. Ahmed: Role Discovery in Networks. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 27, NO. 4, APRIL 2015.

[24] R. A. Rossi, S. Fahmy, and N. Talukder, “A multi-level approach for evaluating internet topology generators,” in Proc. IFIP Netw. Conf., 2013, pp. 1–9.

[25] J. Scott. Social network analysis: A handbook, Sage, London 2nd edition(2000). [26] J. Scripps, P.N. Tan, and A.H. Esfahanian. Node roles and community structure in networks. In: Proceedings of the Workshop on Web Mining and Social Network Analysis (WebKDD/SNAKDD’07), pages 26–35, San Jose, California, USA, 2007.

[27] M. Steyvers, P. Smyth, M. Rosen-Zvi, and T. Griffiths. Probabilistic author-topic models for information discovery. In: Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD’04), pages 306– 315, Seattle, WA, USA, 2004. ACM Press.

[28] Ramine Tinati, Leslie Carr, Wendy Hall, Jonny Bentwood. “Identifying Communicator Roles in Twitter”, WWW 2012 – MSND'12 Workshop.

[29] Vanesa Junquero-Trabado, David Dominguez-Sal (2012). Building a role search engine for social media. WWW (Companion Volume) 2012: 1051-1060.

[30] H. T. Welser, D. Cosley, G. Kossinets, A. Lin, F. Dokshin, G. Gay, and M. Smith.

Finding social roles in wikipedia. In Proceedings of the 2011 iConference, iConference '11, pages 122-129, New York, NY, USA, 2011. ACM.

[31] Chi Wang, Jiawei Han, Yuntao Jia, Jie Tang, Duo Zhang, Yintao Yu, Jingyi Guo (2010). Mining advisor-advisee relationships from research publication networks,

KDD 2010: 203-212.

[32] H.T. Welser, E. Gleave, D. Fisher, and M. Smith. Visualizing the signatures of social roles in online discussion groups. Journal of Social Structure, 8(2):1–31, 2007.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện vai trò trong mạng xã hội 04 (Trang 39)

Tải bản đầy đủ (PDF)

(47 trang)