Tải bản đầy đủ (.pdf) (45 trang)

Phát hiện cộng đồng trong mạng xã hội khả năng ứng dụng cho mạng go vn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.99 MB, 45 trang )

Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

..

LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài
Trên thế giới hiện nay có hàng trăm mạng xã hội đang hoạt động như
Facebook, MySpace…tại Châu âu và Bắc Mỹ, CyWorld, Mixi…tại Châu Á. Việt
Nam cũng xây dựng các mạng xã hội riêng như Zing Me, YuMe, Tamtay,GoVN ...
Mạng xã hội ngày nay không chỉ là vấn đề trong lĩnh vực công nghệ thông tin đơn
thuần mà đã trở nên rất gần gũi trong kinh doanh và đời sống. Nói tới nguồn gốc
của mạng xã hội phải nói tới lý thuyết đồ thị lần đầu tiên được đưa ra bởi Euler vào
năm 1736. Từ đó đến nay người ta thực hiện rất nhiều nghiên cứu về đồ thị và các
tính chất của nó. Vào thế kỷ XX, đồ thị trở nên rất phổ biến vì ứng dụng rộng rãi
của nó trong rất nhiều khía cạnh của đời sống như sinh học, xã hội học, cơng nghệ
thơng tin, mạng thơng tin…Vào năm 1930, bài tốn phân tích mạng xã hội ra đời và
trở thành chủ đề quan trọng nhất trong xã hội học. Ngày nay, việc phân tích và phát
hiện cộng đồng trong mạng xã hội là một nhu cầu bức thiết vì ứng dụng quan trọng
của cộng đồng trong các lĩnh vực của đời sống xã hội, như khoa học máy tính, sinh
học, kinh tế, chính trị,….
Tại Việt Nam, với mong muốn xây dựng một mạng xã hội thuần Việt cho
giới trẻ, đủ sức cạnh tranh với mạng Facebook đang chiếm thị phần đa số, Bộ thông
tin và truyền thông đã yêu cầu Tổng công ty truyền thông đa phương tiện (VTC)
xây dựng ý tưởng và triển khai dự án về một mạng xã hội như thế. Mặc dù có sự hỗ
trợ của Chính phủ, của Bộ chủ quản, Go.vn vẫn là một mạng non trẻ, đứng trước
khơng ít thách thức để xây dựng hình ảnh và đuổi kịp các mạng xã hội khác đã tồn
tại và phát triển từ nhiều năm nay. Bởi vậy, bài toán phát hiện cộng đồng đối với
Go.vn càng trở nên cần thiết hơn bao giờ hết.
Là một thành viên tham gia xây dựng mạng Go.vn từ những ngày đầu, tác


giả mong muốn từ những lý thuyết tiếp cận được về mạng xã hội có thể tìm ra một
giải pháp hiệu quả để khai phá cộng đồng cho mạng Go.vn, ngày càng đưa mạng
Go.vn trở nên gần gũi hơn với người dùng Việt Nam. Đó là lý do tơi đã lựa chọn đề

1


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

tài “ Phát hiện cộng đồng trong mạng xã hội và khả năng ứng dụng cho mạng
Go.vn” cho luận văn thạc sỹ công nghệ thơng tin của mình.
2. Mục đích nghiên cứu
Đề tài được nghiên cứu nhằm mục đích nâng cao khả năng phát hiện cộng
đồng trong mạng Go.vn với bài toán cụ thế là phát hiện cộng đồng cùng click vào
một quảng cáo trên hệ thống quản trị quảng cáo goZone.
3. Phương pháp nghiên cứu
Để giải quyết được bài toán về phát hiện cộng đồng cho mạng xã hội nói
chung và mạng Go.vn nói riêng, tác giả đã sử dụng phương pháp phân tích, tổng
hợp, so sánh để khái quát các lý thuyết về mạng xã hội từ các nghiên cứu trước đây.
Bên cạnh đó, tác giả đặc biệt chú trọng đến phương pháp mơ hình hóa, phương
pháp định lượng để giải quyết các thuật toán về phát hiện cộng đồng trong mạng xã
hội.
4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là mạng xã hội và các thuật toán phát hiện
cộng đồng trong mạng xã hội. Cụ thể về mạng xã hội, tác giả nghiên cứu các vấn đề
lý thuyết liên quan tới mạng xã hội và thực tiễn mạng Go.vn. Về các thuật tốn,
ngồi những vấn đề lý thuyết chung về các thuật toán phát hiện cộng đồng, tác giả
đi sâu nghiên cứu họ thuật toán Girvan-Newman, tập trung vào thuật toán CONGA

(Cluster Overlapping Newman Girvan Algorithm) được Steve Gregory đề xuất năm
2007. Từ đó, tác giả xây dựng một mơ hình áp dụng thuật toán CONGA phát hiện
cộng đồng trong mạng xã hội Go.vn.
5. Bố cục luận văn
Luận văn được bố cục thành 3 chương chính như sau :
Chương 1 : Tổng quan về mạng xã hội và phát hiện cộng đồng trong mạng xã hội
Chương 2 : Tổng quan về các thuật toán phát hiện cộng đồng trong mạng xã hội
Chương 3 : Mơ hình phát hiện cộng đồng trong mạng Go.vn

2


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG XÃ HỘI
VÀ PHÁT HIỆN CỘNG ĐỒNG TRONG MẠNG XÃ HỘI
1.1. Tổng quan về mạng xã hội
1.1.1.

Các nghiên cứu về mạng xã hội
Jiyang Chen (2010) cho một giới thiệu khái quát về sự phát triển của quá

trình nghiên cứu về mạng xã hội (social network). Nhu cầu phân tích mạng xã hội
được bắt đầu từ những năm 1930 và nhanh chóng trở thành chủ đề quan trọng nhất
trong xã hội học. Những người đi tiên phong trong lĩnh vực này là Jacob Moreno,
Kurt Lewin và Fritz Heider. J.Moreno xây dựng một mơ hình đặt tên là
“sociometry” bằng cách hỏi những người xung quanh bạn của họ là ai, và tìm hiểu
mối quan hệ của họ với những người khác. Sáng tạo của Moreno là ông đã tạo ra

được một “sociogram”, một cách để biểu diễn các tính chất của một cấu hình mang
tính xã hội. Khái niệm “sociogram” sau này cũng được dùng để chỉ biểu diễn đồ thị
của các mạng xã hội.
Hình 1.1 : McKenzie's Target Sociogram Board (from Northway, 1952)

Nguồn: L. Freeman, Visualizing social networks, Journal of Social Structure
3


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Trong khi đó K.Lewin, trong một nghiên cứu về hành vi của các nhóm, cho
rằng các tính chất về mặt cấu trúc của một đơn vị xã hội có thể biểu diễn một cách
toán học bằng lý thuyết đồ thị và cấu trúc liên kết. F.Heider, trong các nghiên cứu
về nhận thức xã hội, cũng phát minh ra thuyết cân bằng, trong đó ông cho rằng tâm
trí con người luôn hướng tới sự cân bằng bằng cách giữ lại những ý tưởng mà
không mâu thuẫn với ý tưởng của những người khác, điều này cũng được áp dụng
vào trong thái độ với những người xung quanh mình. Những ý tưởng này của Lewin
và Heider sớm được phát triển bởi Frank Harary và Dorwin Cartwright, trong đó
nhóm tác giả sử dụng lý thuyết đồ thị để xây dựng một công cụ khá hữu hiệu trong
nghiên cứu mạng xã hội.
Trong những năm 1950, các nhà nghiên cứu từ khoa Xã hội và Nhân chủng
học của trường đại học Manchester, được dẫn đầu bởi John Barnes, đã bắt đầu đặt
trọng tâm nghiên cứu của họ vào các mối quan hệ giữa các đối tượng trong xã hội,
thay vì thiết lập các chuẩn mực và định mức cho tồn bộ cấu trúc xã hội như trước
và tìm hiểu xem cấu trúc của các mối quan hệ giữa các cá thể trong xã hội có ảnh
hưởng như thế nào đến tồn bộ xã hội. Từ đó, thuật ngữ “mạng xã hội”, lần đầu tiên
được nhắc đến bởi Barnes năm 1954, đã đánh dấu sự phát triển chính thức của việc

phân tích cấu trúc mạng xã hội.
Dựa vào các nghiên cứu của Barnes và các cộng sự, vào những năm 1969 và
1970, các nhà nghiên cứu ở đại học Harvard dẫn đầu bởi Harrison C.White tiếp tục
nghiên cứu và phát triển các khía cạnh tốn học của mạng xã hội và biểu diễn rất
nhiều khái niệm quan trọng trong xã hội học, ví dụ như khái niệm “vai trị xã hội”,
sang cơng thức tốn học và tìm cách mơ hình hóa và tính tốn chúng. Ý tưởng chính
của nghiên cứu là việc phát hiện cấu trúc của các mạng xã hội không nên dựa vào
các hạng mục nổi tiếng và đã được định nghĩa trước đó, mà phải dựa vào mối quan
hệ giữa các cá thể trong mạng và cách thức mà các mối quan hệ này cấu tạo thành
mạng như thế nào. Trong một nghiên cứu sau đó, Mark Granovetter đề ra giả thiết
liên kết yếu, với nội dung chính là “nếu A có liên kết mạnh tới B và C thì rất có khả

4


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

năng giữa B và C tồn tại một liên kết”. Giả thiết này của Granovetter được áp dụng
tương đối hiệu quả trong một số nghiên cứu sau này.
Trong các ý tưởng được phát triển sau này bởi các học trò của White, lý
thuyết về “hiện tượng thế giới nhỏ” của Milgram phát biểu năm 1967 gây được sự
quan tâm mạnh mẽ nhất của các nhà khoa học. Trong đó Milgram thiết lập một thí
nghiệm để tìm hiểu xem qua bao nhiêu bước, hoặc liên kết là cần thiết để hai người
bất kỳ trên thế giới có thể liên kết được với nhau. Để biết được điều này, Milgram
chọn một số người ở các thành phố Omaha, Nebraska and Wichita, Kansas của Mỹ
làm điểm khởi đầu và một số người ở Boston, Masachusett làm điểm kết thúc. Sau
đó ơng đưa cho những người ở điểm khởi đầu một bức thư có ghi địa chỉ của những
người ở điểm kết thúc, và yêu cầu họ chuyển bức thư này trực tiếp cho người nhận

nếu họ có quen biết nhau, hoặc đưa bức thư này cho một người bạn của mình
chuyển hộ, mà người bạn đó có khả năng là quen với người nhận. Kết quả là 64
trong 296 lá thư đến được tay người nhận, trong đó số bước chuyển trung bình nằm
trong khoảng 5.5 đến 6. Từ đó ơng kết luận tất cả mọi người ở Mỹ được liên kết với
nhau với trung bình là 6 người bạn. Mặc dù thí nghiệm của ơng khơng tồn diện và
đầy đủ song giả thuyết của ơng có giá trị thực tiễn rất lớn. Trên thực tế, người ta đã
tìm hiểu được nhiều mạng xã hội thỏa mãn giả thuyết của Milgram, bao gồm các
mạng cộng tác khoa học và đồ thị các cuộc gọi điện thoại...
Tóm lại phân tích mạng xã hội được sinh ra từ các nhu cầu chung của xã hội
học, nhân chủng học, toán học, sinh học và kinh tế học. Ngày nay phân tích mạng
xã hội cịn được áp dụng trong nhiều lĩnh vực như kinh tế, tài chính…Tuy nhiên
trong thời đại bùng nổ thông tin hiện nay với số lượng và kích thước các mạng xã
hội tăng lên khơng ngừng, các vấn đề về quản lý thông tin xã hội trở nên khó khăn
hơn. Do đó, cần thiết phải áp dụng các kỹ thuật khoa học máy tính để phân tích
chính xác và hiệu quả hơn các cấu trúc xã hội trên các mạng xã hội.
1.1.2. Khái niệm mạng xã hội
Thuật ngữ “mạng xã hội”, lần đầu tiên được Barnes nhắc đến vào năm 1954,
đã đánh dấu sự phát triển chính thức của việc phân tích cấu trúc mạng xã hội. Mô

5


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

hình mạng xã hội thực tế xuất hiện lần đầu tiên năm 1995 với sự ra đời của trang
Classmate với mục đích kết nối bạn học. Theo Garton và cộng sự (1997) mạng xã
hội là “một tập hợp những người được kết nối với nhau bằng một tập hợp các mối
quan hệ, ví dụ như tình bạn, cộng sự hay trao đổi thơng tin”.

Mạng xã hội là một cấu trúc mang tính xã hội được cấu tạo từ các nút và các
cung, trong đó các nút được liên kết với nhau bởi một hoặc nhiều cung, thể hiện
mối quan hệ cụ thể [1]. Mỗi nút, còn được gọi là tác nhân (actor), biểu diễn cho một
đối tượng trong xã hội, có thể là một người, một tài liệu, một tổ chức, một quốc
gia,…Mối liên hệ giữa các nút được biểu diễn bởi một liên kết giữa các nút đó. Liên
kết này có thể là mối quan hệ bạn bè, họ hàng, đồng nghiệp,…, cũng có thể là các
trao đổi tài chính, các giao dịch, số liệu,…Các liên kết này có thể là liên kết vơ
hướng (hay cịn gọi là liên kết đối xứng ), trong đó mối quan hệ giữa hai nút A và B
là mối quan hệ qua lại, ví dụ A là bạn B, và B cũng là bạn A, hay A và B sống cùng
chung trong một căn hộ,…Các liên kết này cũng có thể là liên kết có hướng, ví dụ A
thích B, nhưng B chưa chắc đã thích A, hay là A nợ tiền của B….Mặt khác, các liên
kết cịn có thể được đánh trọng số, trọng số này biểu diễn độ mạnh của liên kết đó
giữa hai nút.
1.1.3. Biểu diễn mạng xã hội
Để biểu diễn mạng xã hội, các nhà phân tích mạng xã hội sử dụng 2 cấu trúc,
đó là đồ thị và ma trận kề. Để tính tốn và phân tích các liên kết trong mạng, người
ta thường ưu tiên áp dụng lý thuyết đồ thị. Thật vậy, đồ thị là một trong những công
cụ rất hữu hiệu để thể hiện các thông tin về mạng xã hội. Trong biểu diễn đồ thị của
mạng xã hội, các đỉnh được dùng để biểu diễn các nút và các cạnh dùng để biểu
diễn liên kết giữa các nút. Các cạnh trong đồ thị có thể vơ hướng hay có hướng,
cũng có thể được đánh trọng số tùy thuộc vào nhu cầu biểu diễn liên kết là vô
hướng hay có hướng, trọng số như thế nào.
Trong mạng xã hội thực tế, sự phân bố của các cạnh là không đều, với mức
độ tập trung cao của các cạnh trong một số nhóm các đỉnh đặc biệt, và giữa các
nhóm đó số lượng cạnh tập trung là thấp. Một số nhóm các đỉnh có liên kết chặt chẽ

6


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn


Nguyễn Thanh Tuấn

với nhau thành các cụm, và giữa các cụm đó được nối với nhau chỉ bằng một vài
cạnh khác. Tính chất đó của các mạng trên thực tế được gọi là tính cộng đồng
(community) hay còn gọi là sự phân cụm [3]. Đây là một tính chất quan trọng của
mạng xã hội và đang ngày càng được nhiều nhà khoa học quan tâm nghiên cứu. Một
số ví dụ về tính cộng đồng như các trang web về một chủ đề có thể được kết nối tới
các trang web khác cùng với chủ đề tương tự, hay các nhà khoa học cùng viết chung
một bài báo hoặc cuốn sách, các nhân viên cùng thuộc một phịng ban trong một
cơng ty,…
Tính cộng đồng được coi là một tính chất quan trọng nhất của mạng xã hội
[3]. Sự phát hiện các cộng đồng trong mạng xã hội này là mục tiêu cơ bản của nhiều
nghiên cứu về mạng xã hội, ví dụ như xếp hạng thực thể, phân lớp,…Người ta đặt
ra khái niệm “cộng đồng” trong mạng xã hội để chỉ ra các nhóm như vậy. Từ đó
người ta định nghĩa khái niệm “khai phá cộng đồng”, là q trình nghiên cứu và
phân tích các mối quan hệ trong một mạng xã hội, nhằm mục tiêu tìm ra các cộng
đồng trong mạng xã hội, và trích xuất được các thành phần ẩn trong các cộng đồng
đó. Khai phá cộng đồng đã dành được sự chú ý của nhiều nhà khoa học trong nhiều
lĩnh vực, đặc biệt gần đây là trong lĩnh vực Khai phá dữ liệu.
1.2.

Cộng đồng trong mạng xã hội và bài toán khai phá cộng đồng

1.2.1. Cộng đồng trong mạng xã hội
Khái niệm cộng đồng, được định nghĩa là tập các thực thể có những tính chất
tương tự nhau và/hoặc cùng đóng một vai trị trong một mạng xã hội. Hình 1.2 dưới
đây chỉ ra một ví dụ về đồ thị với cấu trúc cộng đồng trong đó.
Hình 1.2: Đồ thị đơn giản với 3 cộng đồng được giới hạn bằng nét gạch nối


Nguồn: Fortunato và Castellano, 2009

7


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Theo [6], một tập hợp các đỉnh trên đồ thị được coi là một cộng đồng nếu
mật độ cạnh bên trong nó cao hơn so với mật độ của các cạnh giữa đỉnh của nó và
những cạnh bên ngồi. Dưới đây là một vài ví dụ khá điển hình về mạng xã hội và
cộng đồng trong mạng xã hội.
Hình 1.3: Mạng lưới của các thành viên trong câu lạc bộ Karate (Zachary,1977)

Nguồn: Donetti and Mun~oz, 2004
Đây làm một đồ thị nổi tiếng thường xuyên được sử dụng như là một tiêu
chuẩn để kiểm tra phát hiện cộng đồng. Nó bao gồm 34 đỉnh tương ứng là các thành
viên của một câu lạc bộ Karate tại Hoa Kì. Người ta đã quát sát mạng xã hội này
trong khoảng ba năm, các cạnh kết nối cá nhân được quan sát thông qua các tương
tác bên ngoài và các hoạt động của Câu lạc bộ. Theo quan sát nhận thấy có sự tập
trung mức độ liên kết cao tại một số điểm: Chủ tịch Câu lạc bộ và Huấn luyện viên,
điều này đã phân chia mạng ra thành hai nhóm khá rõ ràng. Nhìn vào hình 1.3 ta
cũng dễ dàng nhận ra được các liên kết tập trung tại đỉnh 33 và 34 (Chủ tich Câu lạc
bộ) và đỉnh 1 (Huấn luyện viên). Ngoài ra, ta cũng dễ dàng xác định được những
đỉnh nằm giữa hai cấu trúc chính như đỉnh 3, đỉnh 9, đỉnh 10. Câu hỏi đặt ra ở đây

8



Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

là liệu từ bản gốc cấu trúc mạng, có thể suy được ra các thành phần của hai nhóm
này hay khơng?
Hình 1.4: Mơ hình mạng lưới cộng tác của các nhà khoa học làm việc tại SFI

Nguồn: Girvan and Newman, 2002
Hình 1.4 hiển thị các thành phần kết nối lớn nhất trong mạng lưới các cộng
tác của các nhà khoa học làm việc tại Viện Santa Fe (SFI). Đồ thị bao gồm 118 đỉnh
đại diện cho các nhà khoa học cư trú tại SFI và các cộng tác viên của họ. Các cạnh
được đặt vào giữa các nhà khoa học đã công bố cùng với nhau ít nhất một bài báo.
Ở mạng này ta quan sát được rất nhiều cộng đồng, mỗi cộng đồng biểu hiện cho tất
cả các tác giả của một bài báo. Mặt khác ta cũng thấy tồn tại chỉ một vài kết nối
giữa hầu hết các cộng đồng trong mạng trên. Các đỉnh cùng màu là kết quả phân
tích và phát hiện cộng đồng sử dụng thuật toán Girvan và Newman, kết quả này
cũng gần tương tự so với sự phân chia theo các lĩnh vực nghiên cứu của viện.

9


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Ví dụ cuối cùng ta xét đến ở đây đó là mạng biểu diễn loài cá heo sống ở
Doubtful Sound, New Zealand được phân tích bởi Lusseau năm 2003 (Hình 1.5)
Mạng có tất cả 62 đỉnh và mỗi cạnh trong đồ thị nối giữa 2 đỉnh biểu diễn cho 2 con
cá heo xuất hiện thường xuyên với nhau hơn so với mức độ bình thường dự kiến.

Các con cá heo chia thành 2 nhóm sau khi một con cá heo bỏ đi khỏi nơi ở hiện tại
một khoảng thời gian ( được biểu diễn bởi hình vng và hình trịn trong hình vẽ ).
Mỗi nhóm trong đồ thị là tương đối gắn kết, với một vài đồ thị con đầy đủ trong đó
và chỉ có 6 cạnh nối giữa các nhóm khác nhau. Mạng nói trên giống như mạng của
Zachary cũng thường được sử dụng để cài đặt và đánh giá các thuật toán phát hiện
cộng đồng trong mạng xã hội.
Như vậy nhiều dữ liệu có cấu trúc khoa học đều có thể được biểu diễn bằng
mạng, bằng tập hợp các nút hay đỉnh được nối với nhau theo cặp bằng các liên kết,
như mạng sinh học (lưới thần kinh, lưới thức ăn…), sự hợp tác của các nhà nghiên
cứu, world wide web… Một trong số những đặc điểm gắn kết các mạng này lại với
nhau đó là cấu trúc cộng đồng, trong đó tồn tại các nhóm có mật độ kết nối mạnh
của các đỉnh trong nhóm, và các kết nối yếu giữa các nhóm. Từ đó, việc xác định
cộng đồng có thể được xem như là việc tìm kiếm các cụm nút phân nhóm. Cơng
việc này liên quan đến việc phân nhóm trong dữ liệu, mặc dù phương tiện sử dụng
có thể khác nhau.
Trong xã hội hiện nay xuất hiện nhiều nhóm hoặc tổ chức với kích cỡ khác
nhau, ví dụ như gia đình, nhóm các bạn bè hoặc đồng nghiệp, thành phố, quốc gia…
Sự khuếch tán của Internet ngày nay cũng sinh ra nhiều nhóm ảo trên Web, hay cịn
được gọi là các cộng đồng trực tuyến. Các cộng đồng xã hội đã được nghiên cứu
trong một thời gian rất dài và thường xuyên xuất hiện trong nhiều các hệ thống
mạng trong sinh học, khoa học máy tính, cơng nghệ, chính trị, kinh tế, …ví dụ như :
các nhóm protein với các chức năng tương tự nhau trong tế bào trong mạng tương
tác protein, các nhóm trang web thảo luận về cùng một chủ đề hoặc các chủ đề
tương tự nhau trên World Wide Web,…

10


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn


Nguyễn Thanh Tuấn

Hình 1.5: Mạng biểu diễn loài cá heo sống ở Doubtful Sound, New Zealand

Nguồn: Arenas et al., 2008b
Với sự phát triển nhanh chóng của các cộng đồng trong thời điểm hiện tại và
nhu cầu cần thiết về tìm hiểu tính cộng đồng trong các mạng xã hội, bài toán phát
hiện cộng đồng trở thành một bài toán phổ biến trong các nghiên cứu về mạng xã
hội. Mục tiêu của bài toán là từ các mạng xã hội cho trước, phát hiện được các cấu
trúc cộng đồng nằm trong đó và tìm hiểu về mối liên hệ bên trong các cộng đồng

11


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

cũng như giữa các cộng đồng với nhau, mối liên hệ đó có ảnh hưởng thế nào đến
cấu trúc của toàn mạng xã hội.
1.2.2. Ứng dụng phát hiện cộng đồng trong mạng xã hội
Việc phát hiện cộng đồng có rất nhiều ứng dụng cụ thể. Ví dụ như phân cụm
các Web client có sở thích tương tự nhau và gần nhau về mặt địa lý có thể cải thiện
hiệu suất của việc cung cấp dịch vụ trên World Wide Web, trong đó mỗi cụm khách
hàng được phục vụ bởi một server chuyên dụng. Một ứng dụng khác đó là việc xác
định các cụm khách hàng có chung sở thích trong một mạng thể hiện quan hệ giữa
người mua và sản phẩm trên một trang web bán hàng trực tuyến (ví dụ
www.amazon.com ) có thể giúp xây dựng hệ thống tư vấn mua bán một cách hiệu
quả. Ngoài ra, sự phân cụm trong các đồ thị cỡ lớn có thể được sử dụng trong việc
lưu trữ các dữ liệu của đồ thị một cách thuận tiện. Một ứng dụng khác nữa là nhóm

cụm các nút trong mạng lưới giao thơng có thể giúp ích trong việc xây dựng các
bảng định tuyến nhỏ gọn giúp ích trong việc tham gia giao thông thuận tiện.
Xác đinh cộng đồng trong đồ thị cũng là một chủ đề phổ biến trong khoa học
máy tính, trong đó có hai lĩnh vực điển hình là học máy và khai phá quan điểm. Ví
dụ trong tính tốn song song, việc xác định phương pháp giao các công việc cho các
bộ xử lý sao cho giảm thiểu tối đa sự liên lạc giữa chúng và tối đa hóa hiệu suất tính
tốn là rất quan trọng. Điều này có thể thực hiện được bằng cách chia các cụm máy
tính thành các nhóm có số lượng bộ xử lý gần tương tự nhau, như vậy số lượng kết
nối vật lý giữa các vi xử lý của các nhóm khác nhau là tối thiểu. Tên gọi chính thức
của vấn đề này là “phân vùng đồ thị”, được đề xuất lần đầu tiên vào năm 1970.
Khai phá cộng đồng ứng dụng trực tiếp vào các bài tốn chính của khai phá
dữ liệu như nhận dạng thực thể, phân cụm, xếp hạng thực thể hay phân lớp thực thể,
dự đoán các liên kết hay phát hiện các đồ thị con…, trong đó các nhà khoa học quan
tâm nhất đến phân cụm thực thể và xếp hạng các thực thể có liên quan đến nhau
trong các cụm vừa được phân. Các bài toán này mang lại các lợi ích trực tiếp trong
thực tế như trong các máy tìm kiếm, các dịch vụ phục vụ khách hàng, hay các trang
web buôn bán trực tuyến.

12


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Tóm lại, cộng đồng trong các mạng xã hội có một vai trị quan trọng trong
nhiều lĩnh vực của đời sống xã hội, như khoa học máy tính, sinh học, kinh tế, chính
trị,…Điều này dẫn đến nhu cầu bức thiết của bài toán phát hiện cộng đồng trong
mạng xã hội vì các lý do đã được nêu ở trên.
1.2.3. Phát hiện cộng đồng trong mạng xã hội

Phát hiện cộng đồng trong mạng xã hội có ý nghĩa rất quan trọng . Việc xác
định các môđun và ranh giới của chúng cho phép ta phân lớp các đỉnh dựa trên cấu
trúc vị trí của chúng trong mơđun. Từ đó, các đỉnh ở vị trí trung tâm trong mơđun
của chúng (có nhiều kết nối cạnh đến các đỉnh khác trong mơđun) có thể đóng vai
trị quan trọng trong việc điều khiển và giữ ổn định trong cụm. Mặt khác, các đỉnh ở
vùng biên có thể giữ vai trò quan trọng trong việc dẫn dắt mối quan hệ và giao lưu
giữa các cụm khác nhau trong mạng. Các phân lớp như thế mang một ý nghĩa nhất
định trong việc nghiên cứu mạng xã hội. Cuối cùng, ta có thể nghiên cứu về đồ thị
rút gọn, trong đó các đỉnh là các cụm và các cạnh là các liên kết giữa các cụm trong
đồ thị ban đầu (nếu có) từ đó ta thu được một đồ thị biểu diễn mối quan hệ của các
mơđun trong mạng.
Một khía cạnh quan trọng khác nữa trong cấu trúc cộng đồng là cách tổ chức
phân cấp, cách tổ chức này có thể nhìn thấy trong hầu hết các mạng xã hội trong
thực tế. Một mạng trong thực tế thường bao gồm các cộng đồng mà trong đó mỗi
cộng đồng lại được cấu tạo từ một tập các cộng đồng khác, các cộng đồng con đó
lại được cấu tạo bằng một tập các cộng đồng con khác nữa,… Một ví dụ dễ thấy
nhất cho điều này là cơ thể con người được cấu tạo bởi các cơ quan, mỗi cơ quan
được cấu tạo bởi các mô tế bào, các mô tế bào lại được cấu tạo bởi các tế bào, …
Herbert A.Simon đã nhấn mạnh vai trò quan trọng của hệ thống phân cấp và sự tiến
hóa của các hệ thống phức tạp [3]. Sự sinh ra và tiến hóa của các hệ thống tổ chức
bởi các hệ thống con ổn định là nhanh chóng hơn rất nhiều so với các hệ thống
khơng cấu trúc, bởi vì ta có thể xây dựng các phần nhỏ trước và sau đó sử dụng
chúng để xây dựng các thành phần lớn hơn và cứ thế cho đến khi toàn bộ hệ thống

13


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn


được xây dựng. Phương pháp này khó có thể xảy ra lỗi trong quá trình xây dựng hệ
thống.
Phát hiện cộng đồng là một lĩnh vực nghiên cứu mới, trong đó tập trung vào
việc phát hiện và tìm ra đặc tính của cấu trúc mạng đã nhận được sự chú ý đáng kể
trong những năm vừa qua. Một cộng đồng có thể được định nghĩa như một nhóm
của các thực thể cùng chia sẻ những tài sản tương tự nhau, hoặc kết nối với nhau
thông qua mối quan hệ được lựa chọn, xác định các kết nối và định vị các thực thể
trong cộng đồng khác nhau là mục tiêu chính của nghiên cứu khai phá cộng đồng.

14


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

CHƯƠNG 2: TỔNG QUAN VỀ CÁC THUẬT TOÁN
PHÁT HIỆN CỘNG ĐỒNG TRONG MẠNG XÃ HỘI
2.1. Khái quát về các thuật toán phát hiện cộng đồng
Santo Fortunato [3] đã tổng hợp các phương pháp/thuật toán phát hiện cộng
đồng trong mạng xã hội. Theo tác giả, các nhóm phương pháp điển hình là:
(1) Các phương pháp truyền thống
(2) Các thuật toán chia
(3) Các phương pháp dựa trên mơ đun hóa
(4) Các thuật tốn dựa trên phổ
(5) Các thuật toán động
(6) Các phương pháp dựa trên suy luận thống kê
(7) Các phương pháp phát hiện chồng chéo cộng đồng
(8) Các phương pháp nhiều lời giải và hệ thống phân cụm phân cấp

(9) Các phương pháp phát hiện cộng đồng động
Các phương pháp truyền thống bao gồm 4 phương pháp, đó là phân vùng
đồ thị, phân cụm phân cấp, phân cụm theo vùng và phân cụm theo phổ. Nội dung
tóm lược của từng phương pháp như sau:
Phương pháp phân vùng đồ thị có mục tiêu là tìm được một phép chia đồ thị
thành g nhóm với kích thước xác định trước, sao cho số lượng các cạnh nằm giữa
các nhóm là tối thiểu. Trong phương pháp này, việc xác định số cụm được phân
chia, cũng như kích thước của mỗi cụm đó là cần thiết. Phương pháp phân vùng đồ
thị được áp dụng chủ yếu trong tính toán song song, phân vùng mạch và một số các
giải thuật nối tiếp .
Phương pháp phân cụm phân cấp thường được sử dụng khi mạng xã hội có
cấu trúc phân cấp ( tức một mạng chia làm nhiều cộng đồng con, mỗi cộng đồng
con chia ra làm nhiều cộng đồng con khác, cứ như vậy …) Ý tưởng cơ bản của
thuật toán phân cụm phân cấp là xác định được sự tương tự của các đỉnh trong đồ
thị mạng bằng một độ đo tương tự, sau đó các đỉnh có độ tương tự cao được xếp vào

15


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

cùng một nhóm. Phương pháp phân cụm phân cấp được áp dụng phổ biến trong
phân tích mạng xã hội, sinh học, kỹ thuật, tiếp thị,…
Phương pháp phân cụm theo vùng dựa trên ý tưởng như sau: định nghĩa
trước một số k là số lượng các cụm, ta biểu diễn đồ thị trong một không gian metric
sao cho mỗi đỉnh của đồ thị được biểu diễn bằng một điểm trong khơng gian đó.
Sau đó người ta tính tốn khoảng cách giữa các điểm trong khơng gian và lấy đó
làm độ đo sự khác nhau giữa các đỉnh trong đồ thị. Mục tiêu của phương pháp là

phân tách không gian trên thành k cụm các điểm sao cho một hàm chi phí dựa trên
khoảng cách của các điểm trong cụm đến tâm của cụm là lớn nhất/nhỏ nhất. Phương
pháp phân cụm theo vùng được áp dụng để xác định các cụm trong các tập điểm dữ
liệu.
Phương pháp phân cụm theo phổ bao gồm tất cả các phương pháp và kỹ
thuật chia tập đối tượng thành các cụm sử dụng vector riêng của ma trận được định
nghĩa từ tập đối tượng đó. Đối tượng ở đây có thể được hiểu là các đỉnh của đồ thị,
hoặc có thể là các điểm của khơng gian metric nào đó. Phương pháp phân cụm bao
gồm việc chuyển hóa các tập đối tượng thành các điểm trong một không gian, mà
các điểm này là các thành phần của vector đặc trưng, sau đó các điểm được phân
cụm dựa trên các phương pháp chuẩn, ví dụ phương pháp phân cụm k-mean
Các phương pháp áp dụng thuật toán phân chia đều dựa trên mục đích cơ
bản là tìm ra được các cạnh nối giữa các đỉnh của các cộng đồng khác nhau, sau đó
loại bỏ chúng khỏi đồ thị. Như vậy các cụm trong đồ thị sẽ bị ngắt kết nối với nhau,
từ đó ta có thể phân đồ thị thành các cộng đồng. Điểm mấu chốt của phương pháp
này là xác định được tính chất nào đó của các cạnh nối các cộng đồng trong đồ thị,
từ đó có thế phát hiện và loại bỏ chúng ra khỏi đồ thị. Phương pháp áp dụng thuật
tốn chia có thể coi là một kiểu thuật toán phân cụm phân cấp, chỉ khác là thay vì
tìm các cạnh có độ tương đồng cao để ghép các đỉnh của các cạnh đó thành cộng
đồng, thì ở đây người ta tìm cách loại bỏ các cạnh nối giữa các cộng đồng để thu
được từng cộng đồng riêng biệt. Vì vậy kết quả của các thuật tốn chia có thể biểu
diễn dưới dạng các mơ hình phân cấp dưới dạng cây.

16


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn


Thuật toán điển hình nhất trong các thuật tốn chia này là thuật tốn GirvanNewman[5]. Thuật tốn này mang tính phổ biến cao, vì nó có ý nghĩa về mặt lịch sử
(đánh dấu bước khởi đầu của một thời kỳ mới trong sự phát triển của phát hiện cộng
đồng) cũng như về mặt phương pháp. Do có nhiều lợi thế, thuật tốn GirvanNewman được sử dụng rộng rãi và phát triển thành nhiều thuật toán cải tiến sau này,
tạo thành họ thuật toán Girvan-Newman. Chính vì lý do đó, luận văn này tập trung
nghiên cứu họ các thuật toán Girvan-Newman để áp dụng vào việc phát hiện cộng
đồng trong mạng xã hội trực tuyến Go.vn. Nội dung điển hình của các phương pháp
cịn lại được trình bày chi tiết trong [3].
Các phương pháp dựa trên mơ đun hóa bao gồm 5 phương pháp đó là
phương pháp tham lam (kĩ thuật tham lam) của Newman (Newman, 004b), mơ
phỏng luyện kim, tối ưu hóa cực trị, tối ưu hóa phổ và các chiến lược tối ưu hóa
modun khác. Nội dung sơ lược của các phương pháp như sau :
Phương pháp ( kĩ thuật ) tham lam của Newman
Mơ phỏng luyện kim
Tối ưu hóa cực trị
Tối ưu hóa phổ
Các chiến lược tối ưu hóa mơ đun khác
Các phương pháp : Các thuật toán dựa trên phổ, Các thuật toán động, Các phương
pháp dựa trên suy luận thống kê, Các phương pháp phát hiện chồng chéo cộng
đồng, Các phương pháp nhiều lời giải và hệ thống phân cụm phân cấp, Các phương
pháp phát hiện cộng đồng động được trình bày chi tiết trong [3]
2.2. Thuật tốn Girvan – Newman
Bài toán phát hiện cộng đồng tập trung vào việc từ một đồ thị mạng xã hội,
tìm ra những cụm, nhóm cộng đồng có mối liên hệ chặt chẽ với nhau. Qua trực quan
có thể dễ dàng tìm ra những nhóm cộng đồng có độ tập trung cao, nhưng khơng
phải cộng đồng nào cũng được hình thành bằng các mối liên hệ chặt chẽ và dễ thấy,
một số cộng đồng được hình thành ẩn. Điều quan trọng là phải tìm được sự phân

17



Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

phối của các cạnh giữa các nút, từ đó đưa ra các cộng đồng tồn tại trong mạng xã
hội. [3]
Thay vì việc tìm kiếm những nút mạng trong đồ thị có độ gắn kết cao với
nhau, phương pháp phát hiện cộng đồng bằng thuật toán phân chia được đưa ra như
một cách giải quyết hữu hiệu. Để tránh các khuyết điểm của phương pháp phân
nhóm phân cấp, thay vì cố gắng để xây dựng một biện pháp tìm cạnh trung tâm của
cộng đồng, chúng ta đi tìm những cạnh ít trung tâm nhất, cạnh đó được gọi tên là
cạnh giữa cộng đồng.
Thuật tốn này dựa trên quan niệm cho rằng khi các cộng đồng được gắn kết
với nhau thì đường đi giữa cộng đồng này đến cộng đồng khác sẽ đi qua các cạnh
nối giữa các cộng đồng với tần suất cao. Mục đích chính của thuật tốn là tìm
những cạnh nối đó.
Thay vì việc xây dựng cộng đồng bằng cách thêm vào các cạnh mạnh mẽ
nhất, chúng ta sẽ xây dựng bằng cách loạn bỏ dần dần các cạnh nối từ đồ thị ban
đầu. Khi đó, các cộng đồng trong mạng sẽ bị ngắt kết nối với nhau, ta có thể xác
định được các phân vùng đồ thị là các phần nhỏ riêng rẽ. Để làm được việc này,
điều quan trọng nhất của thuật tốn là việc tính tốn như thế nào, sử dụng tính chất
nào để phát hiện ra những cạnh nối này, từ đó loại bỏ chúng ra khỏi đồ thị. Thuật
toán lần đầu tiên được đề xuất bởi Freeman. Theo Freeman, các cạnh được coi là
cạnh nối giữa các cộng đồng là cạnh có số lượng con đường ngắn nhất nối giữa các
cặp đỉnh khác nhau chạy qua nó lớn nhất. Cạnh nối có ảnh hưởng rất lớn đến dịng
chảy của thơng tin giữa các nút, đặc biệt là trong trường hợp thông tin lưu truyền
trong mạng chủ yếu theo con đường ngắn nhất. Thuật tốn điển hình nhất trong các
thuật tốn chia này là thuật tốn Girvan-Newman.
Để tìm các cạnh trong mạng nối hai đỉnh thuộc hai cộng đồng khác nhau,
khái quát đây là cạnh có độ trung gian cao, và xác định độ đo trung gian này bằng

cách tính số đường đi ngắn nhất giữa các cặp đỉnh mà có qua nó. Với một đồ thị m
cạnh và n đỉnh thì thời gian tính tốn cho giai đoạn này là O(mn) .Với đồ thị có

18


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

trọng số, độ đo trung gian của cạnh có trọng số đơn giản được tính bằng độ đo trung
gian của cạnh khơng có trọng số chia cho trọng số của cạnh đó.
Nếu một mạng lưới bao gồm các cộng đồng hoặc nhóm chúng chỉ được liên
kết nối yếu bằng một nhóm cạnh, thì tất cả các đường đi ngắn nhất giữa các cộng
đồng khác nhau sẽ phải đi dọc theo một trong số ít các cạnh thuộc nhóm cạnh đó. Vì
vậy, các cạnh kết nối các cộng đồng sẽ là cạnh có độ đo trung gian cao. Bằng cách
loại bỏ các cạnh, thuật tốn Girvan-Newman tách được mạng thành các nhóm riêng
biệt.
2.2.1. Các bước thực hiện của thuật toán
Thuật toán được thực hiện theo các bước sau:
Bước 1. Tính độ đo trung gian cho tất cả các cạnh trong mạng.
(Tính tốn độ trung gian của các cạnh bằng cách tính tất cả số đường đi ngắn nhất
qua một đỉnh i bất kỳ đến các đỉnh còn lại của đồ thị mà đi qua cạnh cần xét, sau đó
tổng tất cả lại)
Bước 2. Hủy bỏ các cạnh có độ trung gian cao nhất.
Bước 3. Tính lại độ trung gian cho tất cả các cạnh bị ảnh hưởng theo các cạnh đã
loại bỏ.
Bước 4. Lặp lại từ bước 2 cho đến khi khơng cịn các cạnh trung gian.
Hình 2.1: Ví dụ về phát hiện cộng đồng sử dụng Girven-Newman


2.2.2. Đánh giá thuật toán
Nguồn: Fortunato và Castellano, 2009

19


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Thuật toán Girvan-Newman khá đơn giản và dễ hiểu. Tồn bộ thuật tốn có
thể được biểu diễn trong một dendrogram, ở đây ta có thể hiểu là thuật tốn đi từ
gốc đến các lá. Các nhánh của cây biểu diễn cho các phép loại bỏ cạnh để chia đồ
thị thành các cộng đồng riêng rẽ. Thuật toán Girvan-Newman đưa lại kết quả tương
đối tốt trong nhiều trường hợp, mặc dù vậy nó vẫn gặp phải một số nhược điểm:
Một là, thuật toán Girvan-Newman sử dụng phương pháp loại trừ đến khi
khơng có cạnh nào vượt qua ngưỡng của độ trung gian cao nhất, vì vậy nên số
lượng cộng đồng hồn tồn khơng kiểm sốt trước được. Bên cạnh đó, thuật tốn sử
dụng nhiều phép phân vùng, khó có thể xác định được phép phân vùng nào mang lại
hiệu quả tốt nhất.
Hai là, do tại mỗi lượt thực hiện, thuật tốn tính lại độ trung gian của mỗi
cạnh liên quan sau khi xóa đi cạnh có độ trung gian lớn nhất nên độ phức tạp thời
gian là khá cao. Giả sử với đồ thị n đỉnh, số cạnh phải xóa đi khỏi đồ thị là m cạnh
thì ta cần lượng thời gian tính tốn O(mn) cho mỗi lần lặp. Tổng thời gian chạy
thuật toán O(m2n). Trong trường hợp xấu nhất, mỗi đỉnh được chia ra thành một
cộng đồng riêng rẽ thì độ phức tạp thời gian của thuật toán sẽ lên đến O(n3).
Ba là, trên thực tế, mỗi đơn vị nút mạng có thể thuộc vào rất nhiều cộng
đồng khác nhau. Ví dụ với một cá nhân A, đóng góp vai trị là một nút trên mạng xã
hội có thể thuộc vào nhiều nhóm: Bạn cùng lớp, đồng nghiệp cùng công ty, anh em
họ hàng trong gia đình… Nhưng với cách phân chia của Girvan-Newman không

giải quyết được hiện tượng chồng chéo cộng đồng trên.
Dựa trên những ưu điểm và nhược điểm trên của Girvan-Newman, các nhà
khoa học đã tìm cách để cải tiến thuật toán trên sao cho tốt hơn nữa. Các hướng tiếp
cận chủ yếu là khắc phục những khuyết điểm của Girven-Newman: tìm phép phân
vùng tốt nhất, tìm cách giảm thời gian tính tốn và giải quyết hiện tượng chồng
chéo cộng đồng.
2.2.2. Cải tiến của thuật tốn Girvan-Newman
S.Fortunato [3] đã trình bày một cách tổng hợp về một số cải tiến quan trọng
sau đây đối với thuật toán Girvan-Newman:

20


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Năm 2004, Newman và Girvan đưa ra một phương pháp để chọn phép phân
vùng tốt nhất, đó là chọn lựa phân vùng với giá trị mơ đun hóa lớn nhất. Giá trị mơ
đun hóa là một hàm đánh giá chất lượng của phân vùng được Newman và Girvan đề
xuất,có thể được biểu diễn bằng cơng thức:

Trong đó A là ma trận đỉnh kề, m là tổng số cạnh của đồ thị, Pij biểu diễn số lượng
cạnh có thể giữa 2 đỉnh i và j trong mơ hình rỗng. Hàm δ có giá trị 1 nếu i và j thuộc
cùng một cộng đồng và bằng 0 nếu ngược lại. Tuy nhiên, người ta nhận thấy rằng
mơ hình rỗng trong cơng thức trên khơng phù hợp lắm trong các mạng thực tế, vì
phân phối bậc của nó là phân phối Poisson khác nhiều so với các phân phối trong
mạng thực tế. Người ta thường ưa chuộng hơn các mơ hình rỗng với phân phối bậc
tương đương với phân phối của đồ thị ban đầu. Một cách chặt chẽ hơn, mơ hình
rỗng chuẩn của hệ mơđun yêu cầu chuỗi bậc giống với chuỗi bậc của đồ thị ban đầu.

Biểu thức của hệ môđun này như sau:

Trong đó ki là bậc của một đỉnh i bất kỳ trong đồ thị. Vì các thành phần của tổng
đều đến từ các cặp đỉnh thuộc cùng một cụm ta có thể viết lại cơng thức như sau:

Trong đó nc là số lượng cụm, lc là tổng số cạnh nối các đỉnh trong môđun c và dc là
tổng các bậc của các đỉnh thuộc c.
Dựa vào công thức trên ta thấy một đồ thị con là mơđun nếu đóng góp tương ứng
của nó vào hệ mơđun trong tổng là dương. Số lượng cạnh bên trong của cụm càng
vượt quá con số dự kiến thì cộng đồng càng được định nghĩa tốt. Vì vậy giá trị hệ
mơđun càng lớn thì phân vùng càng tốt. Giá trị hệ môđun tối đa của đồ thị nói

21


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

chung là tăng khi kích thước đồ thị và số lượng cụm được phân biệt rõ ràng tăng. Vì
thế hệ mơđun khơng dùng để so sánh chất lượng của các cấu trúc cộng đồng của các
đồ thị có kích thước q khác biệt. Hệ mơđun ln ln nhỏ hơn 1 và có thể đạt giá
trị âm trong trường hợp đồ thị chia ra mỗi đỉnh là một cộng đồng. Hệ môđun đạt giá
trị 0 khi cả đồ thị là một cộng đồng duy nhất.
Để cải tiến tốc độ của thuật toán Girvan-Newman, Tyler và cộng sự vào năm
2003 đã đưa ra một phương pháp mặc dù phương pháp này dẫn tới sự giảm độ
chính xác. Thuật tốn của Tyler và cộng sự nêu ra rằng, thay vì tính tốn độ trung
gian của các cạnh bằng cách tính tất cả số đường đi ngắn nhất qua một đỉnh i bất kỳ
đến các đỉnh còn lại của đồ thị mà đi qua cạnh cần xét, sau đó tổng tất cả lại như
thuật tốn của Girvan và Newman, thì chỉ một tập nhỏ các đỉnh i được sử dung để

tính tốn độ trung gian thành phần. Trong trường hợp chọn một mẫu ngẫu nhiên bất
kỳ, điều này sẽ dẫn đến một ước lượng Monte-Carlo cho độ trung gian của từng
cạnh. Ước tính này sẽ có xu hướng trở thành đúng như độ đo thật nếu kích thước
của mẫu trở thành lớn. Số lượng các đỉnh mẫu được chọn để sao cho độ đo trung
gian của ít nhất một cạnh là lớn hơn một ngưỡng nào đó cho trước. Các ước tính
Monte Carlo như thế này đem lại một vài sai số trong tính tốn, tuy nhiên Tyler chỉ
ra rằng kết quả thu được là chấp nhận được nếu ta chọn được các mẫu có kích thước
thỏa đáng và lặp đi lặp lại các bước tính tốn nhiều lần.
Một phiên bản nhanh hơn của thuật toán Girvan-Newman cũng được
Rattigan và các đồng sự trình bày năm 2007 [8]. Trong đó, một phép xấp xỉ nhanh
chóng của độ trung gian của các cạnh được chỉ ra bằng cách sử dụng một chỉ mục
cấu trúc mạng, bao gồm một tập các chú thích đỉnh kết hợp với một độ đo khoảng
cách. Về mặt cơ bản Rattigan chia đồ thị thành các miền và tính tốn khoảng cách
của các điểm trong từng miền đó. Rattigan chỉ ra rằng có thể hạ thấp độ phức tạp
của thuật toán xuống thành O(m) mà vẫn giữ được độ chuẩn xác nhất định trong các
ước tính độ trung gian của các cạnh. Phiên bản này của thuật toán Girvan-Newman
đưa lại kết quả tốt trong mơ hình thử nghiệm của Brandes đề xuất năm 2003, cũng
như một số mạng khác.

22


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Chen và Yuan, 2006 cũng chỉ ra rằng, việc tính tốn độ trung gian của các
cạnh bằng cách đếm tất cả các đường đi ngắn nhất có thể dẫn đến sự phân vùng
khơng cân bằng, tức cộng đồng này có kích thước lớn hơn nhiều so với các cộng
đồng khác. Chen và Yuan đề xuất việc tính tốn chỉ trên các đường đi khơng dư

thừa, ví dụ các đường đi mà điểm kết thúc khác hẳn so với các đường đi khác, như
vậy độ trung gian thu được áp dụng vào phân vùng sẽ đem lại kết quả tốt hơn so với
độ trung gian ban đầu mà Girvan-Newman đề xuất .
Holme và các đồng sự vào năm 2003 cũng sử dụng một phương pháp dựa
trên thuật toán Girvan-Newman đã được sửa đổi trong đó đỉnh chứ khơng phải là
cạnh được loại bỏ. Ở đây Holme đề ra một độ đo lương biên hiệu quả CB(r) cho các
đỉnh của đồ thị, và sau đó loại bỏ các đỉnh có lương biên hiệu quả cao nhất ra khỏi
đồ thị , công việc này lặp đi lặp lại cho đến khi thu được kết quả mong muốn.

Trong đó

là số đường đi ngắn nhất giữa s và s’ đi qua r,

số đường đi ngắn nhất giữa s và s’,

là tổng

là lương biên của r với các đỉnh .

Đệ qui để xóa các lương biên có hiệu quả cao nhất

Trong đó

là độ in-degree của r

Năm 2006, Prinney và Westhead [3] đã đề xuất một thuật toán cải tiến nhược
điểm không phát hiện được sự chồng chéo cộng đồng, hay nói cách khác là một
đỉnh có thể thuộc nhiều cộng đồng khác nhau của Girven-Newman. Trong phương
pháp của mình, hai tác giả sử dụng độ đo trung gian không chỉ cho các cạnh mà còn
xem xét độ đo trung gian của các đỉnh trong đồ thị. Tuy nhiên, do sự chuẩn hóa theo

các cách khác với giữa cạnh và đỉnh nên các tác giả nhận định rằng độ trung gian
của các cạnh và độ trung gian của đỉnh không thể so sánh giá trị với nhau. Prinney
và Westhead khẳng định rằng nếu hai đỉnh của một cạnh mà nối liền 2 cụm thì phải
có độ trung gian tương đương nhau, vì các đường đi ngắn nhất qua cạnh đó đi qua

23


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

đỉnh này thì cũng phải đi qua đỉnh kia. Từ đó, các tác giả tính tốn cạnh có độ đo
trung gian lớn nhất và loại bỏ nó ra khỏi đồ thị nếu như tỉ số của độ trung gian 2
đỉnh của nó nằm trong khoảng 1⁄α và α với α = 0.8. Nếu không, đỉnh với độ trung
gian lớn nhất và các cạnh kề của nó tạm thời bị loại bỏ ra khỏi đồ thị. Khi đồ thị con
đã được tách ra từ đồ thị ban đầu sau các phép loại bỏ đỉnh và cạnh, đỉnh và các
cạnh bị loại bỏ được đưa vào từng phần vừa được tách ra đó. Như vậy, các cộng
đồng được tách ra có thể chứa các đỉnh giống nhau, từ đó xử lý được vấn đề chồng
chéo cộng đồng.
Với cách tiếp cận tương tự, năm 2007 Gregory đề xuất thuật toán CONGA
(Cluster Overlap Newman-Girvan Algorithm). Các đỉnh sẽ được chia nhỏ ra thành
các phần, mỗi phần sẽ được gán vào các cụm nếu như độ trung gian của nó vượt
quá độ trung gian của cạnh lớn nhất. Có thể coi đây là một phép phân chia của một
đỉnh thành nhiều bản sao, trong đó một số cạnh liền với nó được đưa vào một bản
sao, số cạnh còn lại phân chia trong các bản sao khác. Gregory đề xuất một độ đo để
xác định phép phân chia tối ưu nhất, gọi là độ trung gian phân chia của các đỉnh, là
số đường đi ngắn nhất mà chạy qua hai phần của đỉnh sau khi được phân chia.
Phương pháp này có độ phức tạp tối đa là O(n3) như trong thuật tốn GirvanNewman.
Vì vậy trong luận văn này tơi sẽ tập trung trình bày nội dung của thuật toán

CONGA do Gregory đề xuất. Nội dung chi tiết của thuật tốn được trình bày ở phần
tiếp theo.
2.3. Thuật tốn CONGA (Cluster Overlap Newman-Girvan Algorithm)
Thuật toán CONGA được Gregory cải tiến từ thuật tốn Girvan-Newman
nhằm mục đích giải quyết vấn đề về chồng chéo cộng đồng [6]. Dựa trên ý tưởng
thuật toán Girvan-Newman, tác giả đề xuất thêm một ý tưởng mới đó là phép chia
các đỉnh thành nhiều phần khác nhau, để một phần của đỉnh được chia đó có thể
xuất hiện trong các cộng đồng con. Phép chia các đỉnh này là phù hợp với ý tưởng
của thuật toán Girvan - Newman bởi lẽ, cũng như việc loại bỏ các cạnh, việc phân
chia các đỉnh cũng có thể làm cho một cộng đồng lớn chia thành các cộng đồng con.

24


Phát hiện cộng đồng trong mạng xã hội – khả năng ứng dụng cho mạng go.vn

Nguyễn Thanh Tuấn

Tác giả đề ra một độ đo mới, là độ trung gian của phép phân chia, độ đo này
cho phép ta có thể xác định được khi nào cần phân chia một đỉnh, thay vì loại bỏ
các cạnh, đỉnh nào cần phân chia và phân chia như thế nào.Giả sử mỗi đỉnh v trong
đồ thị đều được chia làm 2 phần, v1 và v2. Khi đó, coi v1v2 là một cạnh và tính toán
độ trung gian cho cạnh này, nếu độ đo trung gian tính được là lớn nhất trong các độ
đo trung gian của các cạnh khác thì đỉnh v sẽ được phân chia thành 2 phần v1 và v2 .
Giả sử với mỗi u là đỉnh kề với v1 và w là đỉnh kề với v2, ta có mọi đường đi qua
u,v,w theo thứ tự giờ sẽ thành đường đi đi qua u,v1,v2,w.Từ đó ta có thể tính được
số đường đi ngắn nhất mà đi qua cạnh v1v2 này. Có tổng cộng

cách phân


chia v ra làm đơi, trong đó d(v) là bậc của v trong đồ thị , ví dụ bậc của v trong đồ
thị là 2 và v nằm giữa 2 đỉnh u và w thì ta sẽ có 22-1=2 cách phân chia đỉnh v làm
đôi lần lượt là : {u,v1,v2,w} hoặc {u,v1,w}{v1,v2}{u,v2,w} .
Từ đó, ta tính tốn được độ trung gian của phép phân chia cho tất cả các
đỉnh. Với mỗi đỉnh có độ trung gian của phép phân chia lớn hơn giá trị lớn nhất
trong các độ đo trung gian của cạnh, ta thực hiện chia đỉnh đó làm đôi, sử dụng
phép phân chia tối ưu nhất của nó.
Hình 2.2: Ví dụ trường hợp khơng phân tách đỉnh v trong đồ thị

Nguồn : Steve Gregory (2007)
Nhóm tác giả cũng khẳng định phương pháp này không bao giờ phân một
đỉnh thành hai đỉnh con mà trong đó một trong hai đỉnh con chỉ có duy nhất một
đỉnh kề. Điều này là do độ trung gian của cạnh {v1, v2} cũng bằng độ trung gian
của {u,v1} như trong hình 2.2. Trong trường hợp này thì việc loại bỏ cạnh {u,v} sẽ
thích hợp hơn là việc phân tách đỉnh v. Chính vì vậy, các đỉnh có bậc nhỏ hơn 4

25


×