Pha 1: Phát hiên cộng đồng trên mạng xã hội

Một phần của tài liệu Phát hiện cộng đồng sử dụng thuật toán GONGA và khai phá quan điểm cộng đồng trên mạng xã hội (Trang 38 - 41)

1. Từ nguồn dữ liệu có sẵn của Twitter được cung cấp qua Twitter API, chúng tôi tiến hành thu thập các dữ liệu về người sử dụng như ID, tên truy cập, và các thông tin cá nhân của người dùng cùng follow @linkhay. Các thông tin được thu thập sử dụng một thư viện hỗ trợ trên nền ngôn ngữ lập trình Java là Twitter4j do Yuusuke Yamamoto (Nhật Bản) và các đồng sự phát triển năm 2009. Thư viện cung cấp cho chúng ta các hàm cần thiết để lấy về dữ liệu của một người sử dụng từ Twitter.

Hình 3.3: Thông tin ID người dùng twitter cùng follow @linkhay

Thông tin mỗi người dùng được biểu diễn trên một dòng bao gồm số thứ tự trong dồ thịứng với mỗi ID người sử dụng.

2. Tiền xử lý dữ liệu: Loại bỏ những thông tin người dùng không thỏa mãn điều kiện với bài toán. Do việc thu thập người dùng không dựa trên những mối liên kết của họ với nhau nên đồ thị thu được sẽ dẫn đến hiện tượng rời rạc, số lượng liên kết ít, gây khó khăn trong việc phát hiện cộng đồng. Vì vậy những người dùng thiếu về thông tin sử dụng, thiếu kết nối với các đỉnh khác trong mạng sẽ bị loại ra khỏi tập dữ liệu.

3. Xây dựng mạng xã hội: Từ tập người dùng thỏa mãn điều kiện, tôi tiến hành xây dựng mạng xã hội. Trong đó mỗi người dùng được đại diện bởi một đỉnh, dựa vào danh sách friends và danh sách followers của mỗi người dùng đểđưa ra danh sách mối liên kết của các đỉnh đó với nhau. Trong đó hai người A và B gọi là có liên kết nếu thỏa mãn một trong 4 điều kiện sau

a. A là friends với B. b. A follow B. c. B là friends với A. d. B follow A.

Hình 3.4: Mạng xã hội xây dựng trên danh sách những người dùng đã thu thập. Do thuật toán yêu cầu đầu vào của thuật toán CONGA là đồ thị vô hướng, không có trọng số nên kết quả đầu ra được lưu vào một file.txt, trong đó mỗi hàng sẽ đưa ra một cạnh liên kết trong đồ thị, bao gồm hai đỉnh đầu vào cuối của cạnh đó.

4. Từ mạng xã hội vừa xây dựng được ở bước 3, cho qua CONGA để phát hiện cộng đồng mạng xã hội. Dựa trên đồ thị vừa xây dựng được, chúng tôi tiến hành cài đặt thuật toán CONGA cho đồ thị đó, dựa trên bộ thư viện mà tác giả thuật toán cung cấp. Đầu vào của chương trình là tập tin văn bản biểu diễn đồ thị xây dựng được ở bước trên. Đầu ra của chương trình là tập cộng đồng phân

cấp của đồ thị đó, bao gồm số lượng cộng đồng được chia nhỏ, các phép phân chia cạnh (hoặc đỉnh) thành các cộng đồng con ở các bước, cấu trúc của từng cộng đồng con.

Hình 3.5: Cộng đồng mạng xã hội sau khi qua CONGA

CONGA-GN cho phép xác định số lượng cộng đồng sẽ được phân chia của đồ thị theo mong muốn của người dùng. Với đặc điểm này, ta có thể khảo sát được cách phân chia mang lại hiệu quả cao nhất.

Để đánh giá thuật toán phát hiện cộng đồng, Steve Gregory sử dụng hai độ đo là

vad (vertex average degree) và overlap. Hai độ đo này được sử dụng để đánh giá chất lượng của sự phân cộng đồng mà có khả năng xảy ra chồng chéo lẫn nhau. Trong đó, độđo vad và overlap của mạng xây dựng trong khóa luận được tính toán khi phân chia mạng thành 2 cộng đồng con. Các độđo này được thể hiện bởi các công thức sau:

∑ ∑ ∈ ∈ = S C S C C C E S vad | | | ) ( | 2 ) ( | | | | ) ( S C S overlap C S ∑ ∈ =

Một phần của tài liệu Phát hiện cộng đồng sử dụng thuật toán GONGA và khai phá quan điểm cộng đồng trên mạng xã hội (Trang 38 - 41)

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

(54 trang)