Để xây dựng mạng xã hội dựa trên mối quan tâm của người dùng, ta tiến hành thu thập dữ liệu từ mạng xã hội Facebook. Các tường Facebook là phương tiện để các cá nhân, các nhóm hay các tổ chức, công ty đưa các nội dung như các thông điệp, các chiến dịch hoặc các quảng cáo, xúc tiến thương mại,... Các trang này được cung cấp để các người dùng khác tương tác và giao dịch bằng cách cho phép họ phản hồi hoặc bình luận trên các nội dung đã được đưa lên. Để thu được mối quan tâm của người dùng trên Facebook, em xem xét các bình luận của người dùng trên các nội dung được đăng lên các tường Facebook và sử dụng chúng để xây dựng mạng xã hội sẽ dùng cho việc thực nghiệm ở mục 3.4.5. Trong hình 3.10 là một ví dụ về một nội dung được đăng bởi "Vinamilk - Bí quyết ngon khỏe từ thiên nhiên" trên tường Facebook của công ty này và các bình luận được tạo ra bởi các người dùng quan tâm. Các bình luận và thông tin của người dùng (tên, facebook id...) tham gia bình luận trên tường của một Facebook cụ thể là công khai và có thể thu thập sử dụng Facebook API. Chi tiết cách thu thập dữ liệu được trình bày trong phần sau của luận văn.
Để xây dựng mạng xã hội dựa trên mối quan tâm của người dùng, ta thực hiện như sau:
- Từ dữ liệu thu thập được liên quan đến các bình luận của người dùng, tiến hành tách ra các người dùng phân biệt đơn nhất bằng cách trích rút theo tên và ID facebook của người dùng đó.
- Xác định các người dùng chung giữa hai tường Facebook bất kỳ là người có tham gia bình luận trên cả hai tường Facebook đó.
- Biểu diễn dữ liệu dưới dạng ma trận vuông đối xứng M, kích thước bằng với số lượng các tường Facebook cần xét. Mỗi đường chéo của M là các phần tử M[i,i] biểu diễn số lượng các người dùng đơn nhất bình luận trên tường i và các phần tử M[i,j] với i khác j biểu diễn số người dùng bình luận chung trên hai tường i và j. Nếu giá trị M[i,i] lớn thể hiện số lượng người tham gia bình luận trên tường i rất đông đảo. Giá trị M[i,j] lớn thể hiện nhiều người dùng quan tâm tới cả hai tường i và j. Ở đây ta cần phân biệt rõ: người dùng không phải là tường mà chỉ là người tham gia bình luận các tin, bài viết đăng trên tường đó.
- Tiến hành chuyển đổi dữ liệu này sang dạng đồ thị vô hướng G = (V, E), trong đó V biểu diễn các tường Facebook và E biểu diễn các cạnh nối giữa hai tường Facebook. Giữa hai tường Facebook có cạnh nối khi chúng có số người quan tâm chung lớn hơn 0. Do chúng ta cần tìm ra các cụm có cùng mối quan tâm nên các cạnh này sẽ được đánh trọng số để chỉ độ mạnh của kết nối. Trọng số giữa hai đỉnh i và j, được ký hiệu là w[i,j] và được tính theo chỉ số Jaccard như phương trình dưới đây:
𝑤[𝑖, 𝑗] = 𝑀[𝑖, 𝑗]
𝑀[𝑖, 𝑖] + 𝑀[𝑗, 𝑗] − 𝑀[𝑖, 𝑗] (3.5) Trong đó: M[i,j] là số người dùng cùng quan tâm tới tường i và j, M[i,i] là số người dùng đơn nhất tham gia bình luận tường i, M[j,j] là số người dùng đơn nhất tham gia bình luận tường j. Giá trị trọng số w[i,j] nằm trong khoảng 0 và 1, trong đó w[i,j] càng gần với 1 càng chứng tỏ hai tường này càng tương tự nhau tính theo mối quan tâm của người dùng.