CHƯƠNG 2 : BÀI TỐN PHÂN TÍCH MẠNG XÃ HỘI
2.3. Bài toán phát hiện cộng đồng trong mạng xã hội
2.3.2. Mục tiêu bài toán phát hiện cộng đồng
Mạng thực tế thường có cấu trúc phức tạp. Các nút được kết hợp với nhau mang tính ngẫu nhiên. Trên thực tế, các thuật toán phát hiện cộng đồng đều yêu cầu các nút phải có kết nối dày đặc trong cùng một cụm và kết nối thưa thớt với những nút khác cụm. Có rất nhiều cách giúp ta có thể phân tách mạng thành những cộng đồng con. Một trong số đó là phương pháp tìm kiếm tập những nút có tính liên kết cao. Trong phần này, tơi xin giới thiệu thuật toán Leiden.
Thuật toán Leiden là thuật toán được phát triển từ thuật toán Louvain – một thuật toán phát hiện cộng đồng nổi tiếng. Đây là phương pháp trích
xuất cộng đồng từ những mạng lớn được tạo ra bởi Blondel và cộng sự [47]
tại trường đại học Louvain. Ý tưởng của thuật toán là dựa trên phương pháp tối ưu chỉ số modularity. Bài toán được phát biểu với đầu vào là đồ thị G được định nghĩa là hai thành phần ( V, E).
Trong đó:
V ={v1,v2,...,vn} là tập hợp n đỉnh
E = {( u , v ): u , v ∈ | V |, u ≠ v } là một tập hợp m cạnh
Mục tiêu bài toán: với đồ thị G và số cụm k, bài toán phân cụm sẽ phân vùng tập đỉnh V của G thành k tập con rời rạc P = {C1,C2,...,Ck}.
Cụm Ci là tập con của G được mô tả là G [Ci] : (Ci, E(Ci) ). Trong đó: E(Ci) = { {v, w} ∈ E: {v, w} ∈ Ci }. 1 ( ) k ( )i i E C = = E C là tập hợp các cạnh trong cụm. E\ E(C) là tập hợp các cạnh liên cụm.
Số lượng cạnh trong cụm được kí hiệu là m(C) và số lượng cạnh liên cụm được kí hiệu làm(C).
Tập hợp cạnh nối từ một đỉnh thuộc Ci với đỉnh khác thuộc Cj được kí hiệu là E(Ci, Cj).
37
C sẽ gọi là tập con tầm thường khi k =1 hoặc k = n.
Việc phân cụm thỏa mãn các điều kiện sau: Điều kiện 1:
Ci ∩Cj = ∅ ∀i ≠ j và tổng số nút trong các phân vùng
bằng |V|. Điều kiện 2:
Các đỉnh trong một cụm được kết nối dày đặc, trong khi các đỉnh trong các cụm khác nhau được kết nối thưa thớt. Điều kiện 3:
Các nút trong cùng một cụm được mong đợi có các thuộc tính giống nhau.
Như vậy, từ mạng ban đầu, ta sẽ phân chia thành k cộng đồng khơng chồng chéo khác nhau. Trong đó, các nút sẽ liên kết chặt chẽ với nút thuộc cùng nhóm mà liên kết thưa với những nút khác nhóm.