4.2.1. Dữ liệu
Dữ liệu tin tức dùng để huấn luyện mô hình và đánh giá mô hình
Để xây dựng bộ dữ liệu cho hệ thống, luận văn thu thập dữ liệu từ trang VNExpress. Sau quá trình tiến hành tiền xử lý như bóc tách lấy nội dung chính của tin tức, luận văn thu được 2215 tin.
Dữ liệu lịch sử bình luận của người dùng
Như đã đề cập ở mục 3.2.1 lịch sử truy cập của người dùng được VNExpress cho phép truy vấn thông qua đường dẫn http://my.vnexpress.net/users/feed/<user id>, thực hiện truy vấn trên máy tìm kiếm google luận văn trích xuất được 161 người dùng ứng với 1847 tin tức bình luận.
4.2.2. Công cụ
Bảng 4. Công cụ.
Công cụ Mô tả
TopicModel
Tác giả: Uông Huy Long
Mô tả: Bộ công cụ phân tích mô hình người dùng dựa trên lịch sử bình luận.
Website: https://github.com/123cntt/topicmodel JGibbLDA
Tác giả: Nguyễn Cẩm Tú và Phan Xuân Hiếu
Mô tả: Công cụ phân tích chủ đề ẩn cho tài liệu viết trên nền Java Website: http://jgibblda.sourceforge.net
27 JVnTextPro
Tác giả: Nguyễn Cẩm Tú, Phan Xuân Hiếu, Nguyễn Thu Trang Mô tả: Bộ công hỗ trợ xử lý các văn bản tiếng Việt.
Website: http://jvntextpro.sourceforge.net/ VNExpress 1 0 0 t o p i c s
Tác giả: Nguyễn Cẩm Tú và Phan Xuân Hiếu
Mô tả: Bộ dữ liệu 100 chủ đề ẩn được phân tích từ VNExpress dùng để phân tích chủ đề ẩn
Website:http://jgibblda.sourceforge.net/VNExpress100topics.txt
Crawler4j
Tác giả: Yasser Ganjisaffar
Mô tả: Công cụ thu thập dữ liệu từ các Website báo điện tử Website: http://code.google.com/p/crawler4j/
JSoup
Tác giả: Jonathan Hedley
Mô tả: Công cụ trích xuất dữ liệu từ file HTML Website: http://jsoup.org/
28
29
4.3. Luồng phân tích dữ liệu trong thực nghiệm 4.3.1. Huấn luyện mô hình phân tích chủ đề 4.3.1. Huấn luyện mô hình phân tích chủ đề
Luận văn thực hiện huấn luyện tiếp diễn từ mô hình 100 chủ đề đã được Tiến sỹ Nguyễn Cẩm Tú và cộng sự thực hiện1, dữ liệu cho huấn luyện được thu thập tự động qua 5 bước:
Bƣớc 1: Tiến trình VNExpressCrawler thực hiện thu thập tin tức từ trang báo điện tử VNExpress trong 10 ngày từ ngày 21/09/2015 tới ngày 01/10/2015. Dữ liệu thu được bằng phưong pháp trích xuất CSS Path sử dụng thư viện JSoup2
Hình 18. Nội dung chính của trang tin
Nội dung chính của tin tức đặt trong đường dẫn CSS Path: “#left_calculator > div.fck_detail.width_common”. Kết quả của bước này là các file chỉ chứa nội dung dạng văn bản của tin tức.
Bƣớc 2: Quá trình tiền xử lý đầu tiên dùng công cụ PreProcess thực hiện nhiệm vụ loại bỏ hết các ký tự đặc biệt như *,?,&,…ra khỏi văn bản, gộp tất cả các văn bản vào một file duy nhất.
Bƣớc 3: Công cụ JVNTextPro được sử dụng để tách từ, kết quả của bước này là các văn bản gồm các từ đơn, từ ghép được nối với nhau bởi dấu gạch chân.
Bƣớc 4: Một từ điển giúp loại bỏ các từ dừng ra khỏi văn bản. Từ dừng (stop-
1 http://jgibblda.sourceforge.net/ 2 http://jsoup.org/
30
words) dùng để chỉ các từ mà xuất hiện quá nhiều trong các văn bản nhưng lại thường thì không giúp ích gì trong việc phân biệt nội dung.
Hình 19. Tin tức sau khi tiền xử lý
Bƣớc 5: Luận văn thực hiện huấn luyện tiếp diễn từ mô hình 100 chủ đề đã được huấn luyện trước đó. Kết quả thu được mô hình chủ đề mới với không gian từ và các tham số được cập nhật so với thời điểm hiện tại.
Bảng 5. Một số chủ đề ẩn
Topic 4 Topic 22 Topic 94
đầu_tư thị_trường bất_động_sản dự_án ngân_hàng căn_hộ công_ty mua tỷ kinh_doanh tuổi thu_nhập đất nam mark he phú facebook bữa_tiệc priscilla mua_lại harvard chuyện_tình hết_mình xã_hội mạng tỷ trắng cầu_thủ bàn giải bóng trận sân minh ba đội man phương vô_địch thi_đấu bóng_đá
4.3.2. Phân tích dữ liệu tin tức
Luận văn thực thi một quá trình gồm 7 bước để xác định chủ đề của từng tin tức được người dùng bình luận.
Bƣớc 1: Truy vấn google theo cấu trúc đường dẫn tới các trang Web về hoạt động bình luận trên VNExpress. Kết quả thu được là tập url và một mã userid của họ.
31
Hình 20. Truy vấn tìm kiếm ngƣời dùng và các trang bình luận
Bƣớc 2: Sử dụng mô đun VNExpressFeedCrawler để lấy những đường dẫn tới các trang tin tức người dùng đã từng bình luận trong quá khứ. Do những người dùng có ít bình luận thì chưa thể suy diễn được một thói quen đọc hay bình luận tin tức của họ, luận văn chỉ lấy những người dùng có số lượng đánh giá lớn hơn 3.
Hình 21. Tập hợp các đƣờng dẫn và bình luận của ngƣời dùng
Bƣớc 3: Mô đun UserModeler lấy nội dung trang tin và lưu vào các thư mục riêng rẽ.
Bƣớc 4,5,6: Thực thi các bước tiền xử lý bao gồm: loại bỏ các ký tự đặc biệt, tách từ và loại bỏ từ dừng như mô tả ở pha huấn luyện mô hình phân tích chủ đề. Tuy nhiên, quá trình tiền xử lý diễn ra ở từng file riêng rẽ chứ không gộp lại như ở pha trước.
32
Bƣớc 7: Luận văn thực hiện tính năng suy diễn chủ đề cho từng tin tức người dùng đã bình luận. Kết quả của bước này là tập hợp file dữ liệu văn bản người dùng đã từng bình luận theo trình tự thời gian.
4.3.3. Mô hình ngƣời dùng và đánh giá kết quả
Việc đánh giá chất lượng của tin tức tư vấn được trả về bởi hệ thống là một bài toán khó, vì không có một độ đo ngữ nghĩa đánh giá chính xác được sự phù hợp giữa người dùng và tin tức hệ thống trả lại.
Herlocker [12] đưa ra hai nguyên nhân chủ yếu dẫn tới việc đánh giá các hệ thống tư vấn là khó khăn. Nguyên nhân đầu tiên là chất lượng của hệ tư vấn phụ thuộc vào tập dữ liệu sử dụng. Một hệ tư vấn tin tức có mô hình tốt chưa chắc đã tư vấn tốt hơn một hệ tư vấn có dữ liệu tốt (như một cơ sở dữ liệu tin tức phong phú). Nguyên nhân thứ hai là việc đánh giá hệ tư vấn có thể hướng tới các mục tiêu khác nhau. Trong một số hệ thống, các đánh giá có thể dựa trên số lần tư vấn dẫn đến quyết định đúng và sai. Trong một số khác, các đánh giá có thể dựa trên xem xét người dùng hài lòng hoặc không hài lòng đối với các kết quả tư vấn.
Do các nguyên nhân này, để đánh giá tính đúng đắn của mô hình tư vấn, luận văn tiến hành đánh giá dựa vào việc kiểm tra tin tức được người dùng đọc, bình luận gần nhất bằng mô hình được huấn luyện bởi các tin tức bình luận trước đó. Nếu một trong các chủ đề của tin tức gần nhất nằm trong mô hình người dùng đã được huấn luyện thì ta kết luận rằng mô hình này đã phản ánh đúng được thói quen đọc và bình luận tin tức của người dùng.
Như đã đề cập ở chương 3, xác suất liên quan của mối quan tâm người dùng vào các chủ đề được xác định bằng công thức trung bình xác suất. Với mô hình người dùng được xác định bởi top 10 chủ đề có xác suất liên quan cao nhất từ những tin tức đã bình luận “trừ” tin tức gần nhất. Kết quả của quá trình này được nêu trong bảng sau: Bảng 6. Mô hình ngƣời dùng User ID Topic 1 Topic 2 Topic 3 Topic 4 Topic 5 Topic 6 Topic 7 Topic 8 Topic 9 Topic 10 100261
1950 topic67 topic21 topic69 topic91 topic77 topic81 topic71 topic27 topic8 topic33 100261
2012 topic21 topic91 topic71 topic69 topic67 topic43 topic77 topic95 topic33 topic59 100261
3006 topic67 topic21 topic91 topic71 topic27 topic81 topic3 topic33 topic77 topic23 100261
33
100261
3178 topic91 topic21 topic67 topic30 topic27 topic71 topic81 topic33 topic41 topic70 100261
3261 topic21 topic91 topic67 topic71 topic77 topic33 topic0 topic70 topic27 topic43 100261
3836 topic21 topic69 topic91 topic67 topic77 topic33 topic95 topic79 topic71 topic81 100261
4759 topic21 topic81 topic67 topic43 topic50 topic12 topic33 topic19 topic76 topic71
Theo đó, với top 10 các chủ đề của tin tức người dùng bình luận gần nhất mô tả trong bảng 7, kết quả về độ chính xác của mô hình chủ đề được mô tả trong bảng 8.
Bảng 7. Top các chủ đề của tin tức đƣợc bình luận gần nhất
User ID Topic 1 Topic 2 Topic 3 Topic 4 Topic 5 Topic 6 Topic 7 Topic 8 Topic 9 Topic 10 100261
1950 topic69 topic43 topic77 topic21 topic70 topic33 topic86 topic83 topic19 topic6 100261
2012 topic21 topic67 topic92 topic73 topic69 topic64 topic34 topic59 topic46 topic40 100261
3006 topic67 topic21 topic91 topic29 topic6 topic95 topic92 topic81 topic69 topic58 100261
3143 topic67 topic21 topic3 topic71 topic43 topic76 topic18 topic11 topic51 topic65 100261
3178 topic81 topic21 topic67 topic53 topic49 topic79 topic73 topic98 topic74 topic69 100261
3261 topic99 topic98 topic97 topic96 topic95 topic94 topic93 topic92 topic91 topic90 100261
3836 topic91 topic21 topic79 topic33 topic71 topic93 topic90 topic67 topic55 topic52 100261
4759 topic91 topic81 topic25 topic99 topic98 topic97 topic96 topic95 topic94 topic93
Bảng 8. Độ chính xác của mô hình User Model top 1 topic User Model top 3 topic user model top 5 topic user model top 7 topic user model top 10 topic Last Article top 1 topic 30.43478261 61.49068323 73.29192547 76.39751553 78.88198758 Last Article top 2 topic 56.52173913 85.71428571 88.19875776 90.0621118 91.92546584 Last Article top 3 topic 65.2173913 88.19875776 90.68322981 92.54658385 93.78881988 Kết quả so sánh độ tương đồng chủ đề giữa tin tức được bình luận gần nhất và các trang Web người dùng đọc và bình luận trước cho thấy những phân tích đề xuất có thể sử dụng để tổng hợp các mối quan tâm hiện tại và dự đoán các tin tức có thể được người dùng ưa thích trong tương lai.
34
Hình 22. Biểu đồ độ chính xác của mô hình
Dựa trên kết quả thu được, luận văn nhận thấy có thể đưa ra các kết luận khác: Nếu chọn mô hình người dùng gồm top 10 chủ đề ẩn cho độ chính xác cao nhất. Nếu chọn mô hình người dùng từ 3 chủ đề trở lên thì độ chính xác tăng lên cao hơn
hẳn so với trường hợp chỉ lấy 1 chủ đề.
Nếu tăng mô hình tin tức từ 2 lên 3 chủ đề thì độ chính xác tăng lên không nhiều so với trường hợp tăng từ 1 lên 2, nếu tăng mô hình người dùng từ 3 lên 5 chủ đề thì độ chính xác tăng lên không nhiều so với trường hợp tăng chủ đề từ 1 lên 3. Vì vậy, trường hợp có ít không gian lưu trữ và để giới hạn hơn nữa số lượng các tin tức tư vấn thì phương pháp lựa chọn 3 chủ đề cho mô hình người dùng và 2 chủ đề cho mô hình các tin tức có thể là một phương án hợp lý. 0 10 20 30 40 50 60 70 80 90 100 User Model Top 1 Topic User Model Top 3 Topic User Model Top 5 Topic User Model Top 7 Topic User Model Top 10 Topic
Last Article Top 1 Topic Last Article Top 2 Topic Last Article Top 3 Topic
35
Kết luận Các kết quả chính đạt đƣợc
Luận văn đã tìm hiểu về các khái niệm, thuật ngữ, kỹ thuật liên quan đến mô hình hóa người dùng và các phương tiện xã hội. Dựa vào khảo sát, phân tích ưu nhược điểm của các phương pháp mô hình hóa và nguồn dữ liệu từ các phương tiện xã hội, luận văn đề xuất một giải pháp tư vấn tin tức dựa trên khai phá thói quen đọc và bình luận tin tức của người dùng trên trang báo điện tử VNExpress. Trong đó, hệ thống thực thi một tiến trình tự động thu thập dữ liệu, thuật toán mô hình người dùng dựa trên phân tích chủ đề ẩn. Hướng tiếp cận này có nhiều tiềm năng và đã được chứng minh thông qua một số số liệu thống kê kết quả ban đầu.
Một số vấn đề cần tiếp tục giải quyết
Tuy mô hình đã bước đầu đạt được một số kết quả khả quan, nhưng vẫn còn tồn tại nhiều vấn đề cần giải quyết. Đầu tiên, kết quả tư vấn chỉ có thể áp dụng được với những người dùng có số lượt bình luận đủ lớn (vấn đề khởi động chậm). Thêm vào đó, chất lượng tư vấn từ mô hình người dùng chỉ dựa vào chủ đề có thể tiếp tục nâng cao hơn nhờ phân tích các đặc trưng bổ sung như phân tích các thực thể nằm trong chính các đoạn bình luận của người dùng, phân tích quan điểm tích cực hay tiêu cực của người dùng về các tin tức.
Hƣớng nghiên cứu tiếp theo
Trong thời gian tới, ngoài việc tiếp tục giải quyết các vấn đề còn tồn tại, chúng tôi đi ̣nh hướng mô ̣t số nghiên cứu tiếp theo:
Nghiên cứu thêm về các yếu tố ngữ cảnh và ảnh hưởng của chúng đến quyết định của người dùng.
Phát hiện các mối quan hệ tin cậy của những người dùng trên hệ thống. Bài toán tư vấn cho nhóm người dùng.
36
Tài liệu tham khảo
Tiếng Việt Tiếng Anh
[1] Ahlqvist, T., Bäck, A., Halonen, M., & Heinonen, S. (2008). Social Media Roadmaps. Helsinki: Edita Prima Oy.
[2] Ahmed, A., Low, Y., Aly, M., Josifovski, V., & Smola, A. J. (2011). Scalable distributed inference of dynamic user interests for behavioral targeting. Paper presented at the ACM Conference on Knowledeg Discovery and Data Mining (KDD)
(pp. 373-382).
[3] Bamshad Mobasher: Data Mining for Web Personalization. The Adaptive Web 2007:90-135.
[4] Bo Hu, Zhao Song, and Martin Ester. 2012. User Features and Social Networks for Topic Modeling in Online Social Media. In Proceedings of the 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012) (ASONAM '12). IEEE Computer Society, Washington, DC, USA, 202-209.
[5] Chen, L., Sycara, K.: A Personal Agent for Browsing and Searching. In:
Proceedings of the 2nd International Conference on Autonomous Agents, Minneapolis/St. Paul, May 9-13, (1998) 132-139.
[6] David M. Blei, Andrew Y. Ng, Michael I. Jordan: Latent Dirichlet Allocation.
Journal of Machine Learning Research (JMLR) 3:993-1022 (2003).
[7] X. Ding, B. Liu, and P. S. Yu. A holistic lexiconbased approach to opinion mining. In Proceedings of the Conference on Web Search and Web Data Mining
(WSDM), 2008.
[8] Gauch, S., Speretta, M., Chandramouli, A., Micarelli, A. User profiles for personalized information access, In: Brusilovsky, P., Kobsa, A., and Neidl, W., Eds. The Adaptive Web: Methods and Strategies of Web Personalization. Springer- Verlag,
37
Berlin Heidelberg New York, 2007, 54-89.
[9] Gentili, G., Micarelli, A., Sciarrone, F.: Infoweb: An Adaptive Information Filtering System for the Cultural Heritage Domain. Applied Artificial Intelligence
17(8-9) (2003) 715-744.
[10] Gueye, M., Abdessalem, T., & Naacke, H. (2012). Dynamic recommender system: using cluster-based biases to improve the accuracy of the predictions.
[11] Heinrich, G., “Parameter Estimation for Text Analysis”, Technical Report. [12] Herlocker, .L., Konstan, J.A., Terveen, L.G., Riedl, J.T.: Evaluating Collaborative Filtering Recommender Systems. ACM Transactionson Information Systems 22(1), 5–53(2004).
[13] T. Hoffman. Online reputation management is hot – but is it ethical?
ComputerWorld, 2 2008.
[14] L. Hong and B. D. Davison. Empirical study of topic modeling in twitter. In Proceedings of the First Workshop on Social Media Analytics, SOMA ’10, pages 80– 88, New York, NY, USA, 2010. ACM.
[15] Mai-Vu Tran, Xuan-Tu Tran, Huy-Long Uong (2010). User Interest Analysis with Hidden Topic in News Recommendation System. IALP 2010: 211-214.
[16] M. Joshi and N. Belsare. Blogharvest: Blog mining and search framework. In International Conference on Management of Data, Delhi, India, 2006, December 14- 16 2006. Computer Society of India.
[17] Kaplan, A. M., & Haenlein, M. (2010). Users of the world, unite! The challenges and opportunities of Social Media. Business horizons, 53(1), 59-68.
[18] Kelly, D., Teevan, J.: Implicit feedback for inferring user preference: a bibliography. ACM SIGIR Forum 37(2) (2003) 18-28.
38
[19] Kietzmann, J. H., Hermkens, K., Mccarthy, I. P., & Silvestre, B. S. (2011). Social media? Get serious! Understanding the functional building blocks of social media. Business horizons, 54(3), 241-251.
[20] Milstein, S., Lorica, B., Magoulas, R., Hochmuth, G., Chowdhury, A., & O'Reilly, T. (2008). Twitter and the micro-messaging revolution: Communication, connections, and immediacy--140 characters at a time. O'Reilly Media, Incorporated. [21] M. Naaman, H. Becker, and L. Gravano. Hip and trendy: Characterizing emerging trends on twitter. Journal of the American Society for Information Science and Technology, 2011.
[22] Pazzani, M., Muramatsu, J., Billsus, D.: Syskill & Webert: Identifying Interesting Web Sites. In: Proceedings of the 13th National Conference On Artificial Intelligence Portland, Oregon, August 4–8 (1996) 54-61.
[23] A. M. Popescu and O. Etzioni. Extracting product features and opinions from reviews. In HLT ’05: Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing, pages 339–346, Morristown, NJ, USA, 2005. Association for Computational Linguistics.
[24] Pretschner, A.: Ontology Based Personalized Search. Master’s thesis. University of Kan- sas, June (1999).
[25] S. Sen, J. Vig, and J. Riedl. Tagommenders: Connecting users to items through tags. In Proc. of WWW’ 09, pages 671–680, 2009.
[26] J. Tatemura. Virtual reviewers for collaborative exploration of movie reviews. In Proceedings of Intelligent User Interfaces (IUI), pages 272–275, 2000.
[27] Thomas Hofmann. Probabilistic latent semantic indexing. In Proceedings of