Giới thiệu bài toán phát hiện cộng đồng

Một phần của tài liệu Nghiên cứu bài toán phân tích mạng xã hội (Trang 42 - 47)

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.1. Giới thiệu bài toán phát hiện cộng đồng

Một mạng được coi là có cấu trúc cộng đồng nếu các nút có thể dễ dàng nhóm lại thành tập hợp các nút sao cho mỗi nhóm nút có mật độ kết nối nội bộ cao. Nguyên tắc của việc phát hiện cộng đồng cho rằng hai nút bất kì có khả năng có kết nối chặt chẽ hơn nếu hai nút đó cùng là thành viên trong một cộng đồng và có liên kết ít chặt chẽ hơn nếu hai nút khác cộng đồng.

32

2.3.1.1. Khái niệm

Trong các mạng được tìm thấy, ví dụ như mạng máy tính, mạng xã hội, mạng sinh học, ta thấy được một số điểm chung trong mạng như tính chất thế giới nhỏ, phân bố bậc theo luật lũy thừa. Nhưng điểm khác của các mạng này là cấu trúc cộng đồng [37].

Hình 2.9. Hình ảnh ví dụ phân cộng đồng

Vậy cộng đồng là gì? Cộng đồng là một nhóm người hoạt động chung một mục đích. Cộng đồng trên mạng xã hội có thể coi là một nhóm người có cùng sở thích, quan điểm, có chung mục đích về một lĩnh vực nào đó như cộng đồng khoa học, cộng đồng xử lý ngôn ngữ tự nhiên, cộng đồng văn hóa - thể thao. Về định nghĩa[31] , cộng đồng là sự phân vùng tập hợp của các đỉnh. Mỗi một nút trong mạng sẽ được đưa vào một cộng đồng. Đây là trường hợp đơn giản và hầu hết các phương pháp đều hướng đến việc phát hiện cộng đồng theo kiểu này. Tuy nhiên, vẫn có thể xảy ra trường hợp một nút thuộc hai hoặc nhiều cộng đồng. Trong phần nghiên cứu dưới đây, tôi đề cập tới việc phát hiện cộng đồng cho mỗi nút là duy nhất.

2.3.1.2. Các phương pháp phát hiện cộng đồng

Các cộng đồng đã được điều tra từ những năm 1920 trong lĩnh vực xã hội học. Tuy nhiên, tại thời điểm đó, máy móc chưa hiện đại đã ảnh hưởng lớn tới việc phát triển bài toán này. Kể từ năm 2002, Girvan và Newman [31]

33 các nhà nghiên cứu từ khoa học máy tính đã nghiên cứu sâu rộng về phát hiện cộng đồng bằng cách sử dụng cấu trúc mạng và thông tin ngữ nghĩa cho cả mạng tĩnh và mạng động, mạng nhỏ và mạng lớn.

Để phát hiện được cộng đồng trong một mạng ngẫu nhiên là tương đối khó. Số lượng cộng đồng trong mạng thường là khơng xác định, đồng thời, kích thước và mật độ cũng khơng đồng đều. Hiện nay đã có rất nhiều phương pháp hỗ trợ giúp ta phát hiện cộng đồng mạng với mức độ thành công khác nhau [32] [33].

Phương pháp đầu tiên kể đến là phương pháp cắt tối thiểu. Trong phương pháp này, mạng chia làm những phần được xác định trước, thường có cùng kích thước và được chọn sao cho số lượng cạnh giữa các nhóm có ít nhất có thể. Ví dụ có thể kể đến là bài toán cân bằng tải cho tính tốn song song. Tuy nhiên, phương pháp này khơng được đánh giá tối ưu trong phát hiện cộng đồng[34].

Phương pháp phân cụm phân cấp (Hierarchical Clustering): đây là nhóm phương pháp khai phá cấu trúc cộng đồng phân cấp theo ba phương pháp: phân chia, cộng gộp và phép lai [35]. Trong phương pháp này, ta định nghĩa một thước đo tương tự để định lượng dạng tương đồng giữa các cặp nút. Các độ đo thường sử dụng là độ đo cosine, chỉ số Jaccard hay khoảng cách Hamming giữa các ma trận kề. Sau đó, các nút có độ tương đồng với nhau sẽ được nhóm lại thành một cộng đồng. Có hai dạng phân nhóm phổ biến là phân cụm liên kết đơn [36]. Phân cụm này sẽ xác định hai nhóm được coi là cộng đồng riêng biệt khi và chỉ khi tất cả các cặp nút trong các nhóm khác nhau có độ tương đồng thấp hơn một ngưỡng nhất định. Dạng thứ hai là phân cụm liên kết hoàn chỉnh [37]. Trong dạng này, tất cả các nút trong một cộng đồng sẽ phải lớn hơn một ngưỡng nhất định.

Phương pháp thứ ba kể tới là phương pháp tối ưu hóa modularity. Đây là một trong những phương pháp được sử dụng rộng rãi trong bài tốn phát hiện cộng đồng. Tính modularity là một hàm tính tốn đo lường chất lượng

34 một bộ phận cụ thể trong mạng thành các cộng đồng. Phương pháp tối đa hóa modularity phát hiện các cộng đồng bằng cách tìm kiếm những phần trên mạng có modularity cao. Vì tìm kiếm tồn diện trên tất cả thường khó thực hiện. Do vậy, các thuật toán thực tế thường dựa trên các phương pháp tối ưu hóa gần đúng như thuật tốn tham lam, mơ phỏng (simulated annealing) hoặc tối ưu hóa phổ. Các cách tiếp cận khác nhau cũng sẽ có tốc độ và độ chính xác khác nhau[38].

Suy luận thống kê -Stochastic Block Model (SBM) là một mơ hình tổng hợp được áp dụng rộng rãi bằng cách gán các nút vào các cộng đồng và kiểm soát khả năng xảy ra của chúng. Ưu điểm của phương pháp này là tính ngun tắc của nó và khả năng giải quyết vấn đề trên thống kê cơ bản. Hầu hết, các phương pháp tài liệu đều dựa trên mơ hình khối ngẫu nhiên [39].

Các phương pháp dựa trên cliques. Cliques là những đồ thị con trong đó mọi nút được kết nối với mọi nút khác trong cliques. Phương pháp này có thể tạo ra những cộng đồng chồng chéo lên nhau.

2.3.1.3. So sánh phát hiện cộng đồng và phân nhóm

Theo M.Newman [34], ta có thể lập luận rằng phát hiện cộng đồng tương tự như phân cụm.

Phân cụm là một kỹ thuật học máy trong đó các điểm dữ liệu tương tự được nhóm vào cùng một cụm dựa trên các thuộc tính của chúng. Mặc dù phân cụm có thể được áp dụng cho các mạng, nhưng nó là một lĩnh vực rộng hơn trong học máy không giám sát, liên quan đến nhiều loại thuộc tính.

Mặt khác, tính năng phát hiện cộng đồng được điều chỉnh đặc biệt để phân tích mạng phụ thuộc vào một loại thuộc tính duy nhất được gọi là các cạnh. Ngồi ra, các thuật tốn phân cụm có xu hướng tách các nút ngoại vi đơn lẻ khỏi các cộng đồng mà nó nên thuộc về.

Tuy nhiên, cả kỹ thuật phân cụm và phát hiện cộng đồng đều có thể được áp dụng cho nhiều vấn đề phân tích mạng và có thể nêu ra những ưu và nhược điểm khác nhau tùy thuộc vào phương pháp.

35

2.3.1.4. Vai trị của bài tốn phát hiện cộng đồng

Cấu trúc cộng đồng khá phổ biến trong mạng thực. Mạng xã hội bao gồm các nhóm cộng đồng dựa trên vị trí, sở thích, nghề nghiệp, v.v [45] chung. Việc tìm kiếm một cấu trúc cộng đồng cơ bản trong một mạng có ý nghĩa rất quan trọng. Các cộng đồng cho phép ta có cái nhìn tồn diện trong mạng vì những cộng đồng trong mạng sẽ có cách hoạt động khác nhau. Điều này giúp ta phân tích dễ hơn.

Ngồi ra, việc xác định các cấu trúc cộng đồng này trong mạng có thể cung cấp thơng tin chi tiết về cách chức năng mạng và cấu trúc liên kết ảnh hưởng lẫn nhau.

Một lý do rất quan trọng khiến các cộng đồng trở nên quan trọng là chúng thường có các thuộc tính rất khác so với các thuộc tính trung bình của mạng. Vì vậy, nếu chỉ tập trung vào các thuộc tính trung bình thì thường bỏ lỡ nhiều thuộc tính quan trọng và thú vị bên trong mạng. Ví dụ: trong một mạng xã hội nhất định, cả hai nhóm hịa đồng và kín tiếng có thể tồn tại đồng thời.

Sự tồn tại của các cộng đồng nói chung cũng ảnh hưởng đến các quá trình khác nhau như lan truyền tin đồn hoặc lây lan dịch bệnh xảy ra trên mạng. Do đó, để hiểu đúng các q trình như vậy, điều quan trọng là phải phát hiện các cộng đồng và cũng phải nghiên cứu cách chúng ảnh hưởng đến các q trình lan truyền trong các mơi trường khác nhau.

Cuối cùng, một ứng dụng quan trọng mà cộng đồng phát hiện đã tìm thấy trong phân tích mạng xã hội là dự đốn các liên kết bị thiếu và xác định các liên kết sai trong mạng. Trong quá trình đo lường, một số liên kết có thể khơng được quan sát vì một số lý do. Tương tự, một số liên kết có thể nhập sai dữ liệu do sai số trong phép đo. Cả hai trường hợp này đều được xử lý tốt bởi thuật tốn phát hiện cộng đồng vì nó cho phép người ta gán xác suất tồn tại của một cạnh giữa một cặp nút nhất định.

36

Một phần của tài liệu Nghiên cứu bài toán phân tích mạng xã hội (Trang 42 - 47)

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

(86 trang)