Các thông tin thu được sẽ cho ta một cái nhìn thấu đáo về bản chất của các mạng lưới, về các cá thể, tổ chức tham gia vào đó và mối quan hệ giữa chúng.. Cách phân tích này nhìn các quan
Trang 1Đại Học Quốc Gia Tp Hồ Chí Minh Trường Đại Học Công Nghệ Thông Tin
Báo cáo môn học Cơ Sở Dữ Liệu Nâng Cao TÌM HIỂU MẠNG XÃ HỘI VÀ CÁC KỸ THUẬT
PHÂN TÍCH
GVHD : PGS.TS Đỗ Phúc
Học Viên : Đỗ Duy Phúc
Mã Học Viên: CH1101122
Lớp: Cao Học K6
Tháng 8 năm 2012
Trang 2Lời Mở Đầu
Ngành nghiên cứu các mạng lưới là một chủ đề nghiên cứu sôi động và thu hút bởi khả năng mô hình hóa của chúng cho nhiều hệ thống phức tạp trong thế giới thực Trong đó, mạng xã hội là một trong những đối tượng nghiên cứu phức tạp và thú vị nhất Đặc biệt là với sự xuất hiện và phát triển mạnh mẽ của các trang mạng xã hội ảo hiện nay trên Internet
Với khả năng thu hút người dùng mạnh mẽ và đông đảo, các trang mạng xã hội tuy ảo nhưng lại là nơi thu nhặt được lượng thông tin khổng lồ từ người dùng ở thế giới thật Khi phân tích khối lượng thông tin này, chúng ta sẽ có được nhiều thông tin, tri thức quý giá cho nghiên cứu khoa học và ứng dụng vào thực tiễn
Bài viết này sẽ giới thiệu về mạng xã hội, đồng thời giới thiệu các khái niệm và kỹ thuật phân tích nhằm thu nhận các thông tin ở nhiều khía cạnh khác nhau của một mạng xã hội Các thông tin thu được sẽ cho ta một cái nhìn thấu đáo về bản chất của các mạng lưới, về các cá thể, tổ chức tham gia vào đó và mối quan hệ giữa chúng Điều này có thể giúp ích cho các nhà khoa học nghiên cứu về bản chất xã hội hay hỗ trợ các nhà quản lý trong việc đưa ra các quyết định, chính sách ảnh hưởng đến các thành phần trong mạng lưới do mình kiểm soát
Trang 3Mục Lục
Trang 4I Giới Thiệu Mạng Xã Hội Một mạng xã hội (social network) là một cấu trúc lý thuyết trong xã hội học có ý nghĩa
cho việc nghiên cứu các mối quan hệ giữa các cá thể, nhóm, tổ chức, hoặc cho cả một
cộng đồng Cụ thể hơn, nó là một cấu trúc được tạo thành từ một tập các tác nhân (actor
- có thể xem là các cá thể người hoặc các tổ chức) và các mối quan hệ hai ngôi giữa
những tác nhân này Với quan điểm theo hướng mạng xã hội như trên, cung cấp cho ta một cách rõ ràng để phân tích cấu trúc của toàn bộ thực thể xã hội Các nghiên cứu về các
cấu trúc này sử dụng các kỹ thuật phân tích mạng xã hội (social network analysis) để
xác định các mô hình địa phương và toàn cục, định vị được các cá thể có tính ảnh hưởng,
và kiểm tra được các động lực của mạng Các kỹ thuật phân tích này sẽ được trình bày ở các phần tiếp theo của bài báo cáo này
Bên cạnh các mạng xã hội phản ánh đời sống thực, thì trên Internet hiện nay có sự xuất
hiện nổi bật của các trang mạng xã hội, hay còn gọi là các mạng xã hội ảo Các trang
mạng này là dịch vụ nối kết các thành viên cùng sở thích trên Internet lại với nhau với nhiều mục đích khác nhau không phân biệt không gian và thời gian
Các trang mạng xã hội có những tính năng như chat, e-mail, phim ảnh, voice chat, chia sẻ file, blog và xã luận Mạng đổi mới hoàn toàn cách cư dân mạng liên kết với nhau và trở thành một phần tất yếu của mỗi ngày cho hàng trăm triệu thành viên khắp thế giới Các dịch vụ này có nhiều phương cách để các thành viên tìm kiếm bạn bè, đối tác: dựa theo nhóm (ví dụ như tên trường hoặc tên thành phố), dựa trên thông tin cá nhân (như địa chỉ e-mail hoặc screen name), hoặc dựa trên sở thích cá nhân (như thể thao, phim ảnh, sách báo, hoặc ca nhạc), lĩnh vực quan tâm: kinh doanh, mua bán
Hiện nay thế giới có hàng trăm mạng mạng xã hội khác nhau, với MySpace và Facebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tại Nam Mỹ; Friendster tại Châu Á và các đảo quốc Thái Bình Dương Mạng xã hội khác gặt hái được thành công đáng kể theo vùng miền như Bebo tại Anh Quốc, CyWorld tại Hàn Quốc, Mixi tại Nhật Bản và tại Việt Nam xuất hiện rất nhiều các mạng xã hội như: Zing Me, YuMe, Tamtay
Trang 5II Kỹ Thuật Phân Tích Mạng Xã Hội
Kỹ thuật phân tích mạng xã hội (Social Network Analysis - SNA ) là một cách phân
tích có phương pháp các mạng xã hội Cách phân tích này nhìn các quan hệ xã hội theo
quan điểm lý thuyết đồ thị, bao gồm các nốt (node - đại diện các tác nhân đơn lẻ trong mạng) và các ràng buộc (tie – đại diện các mối quan hệ giữa các cá thể, như là tình bạn,
họ hàng, vị trí trong tổ chức, quan hệ đôi lứa, v.v…) Và các mô hình này thường được biễu diễn dưới dạng sơ đồ mạng (giống như đồ thị), nơi các nốt được biểu diễn thành các điểm, còn các ràng buộc biểu diễn thành các đường thẳng nối giữa các điểm
SNA sẽ ánh xạ và đo đạt các mối quan hệ và dòng thông tin giữa các tác nhân (như là con người, các nhóm, các tổ chức, giữa các máy tính, URL, và các thực thể khác có kết nối thông tin và tri thức với nhau) Các kết quả phân tích này thường rất hữu ích cho các nhà
tư vấn quản lý trong rất nhiều lĩnh vực
Để thấu hiểu được đặc tính của các mạng lưới và các cá thể tham gia vào trong mạng đó,
chúng ta cần đánh giá vị trí của các tác nhân trong mạng Viêc đo đạc định vị mạng lưới
là công việc đi tìm độ trung tâm (centrality) của một nốt Các kết quả đo đạt này sẽ cho
chúng ta cái nhìn thấu đáo về các vai trò và các phân nhóm khác nhau trong một mạng lưới: ai là những người kết nối, những ai là chuyên gia, những ai là người dẫn đầu, những
ai là cầu nối, ai biệt lập, nơi đâu là các cụm nhóm và ai tham gia trong đó, ai là phần lõi trung tâm của mạng lưới, và ai đang nằm ở vùng biên của mạng,v.v…
Trang 6II.1 Các mục tiêu phân tích mạng xã hội phổ biến
Mạng “Kite Network”
Chúng ta hãy xem xét một mạng xã hội, mạng “Kite Network” ở trên, được phát triển bởi David Krackhardt, một nhà nghiên cứu hàng đầu về các mạng xã hội Hai nốt trong mạng được nối với nhau nếu chúng thường “nói chuyện” với nhau, hoặc tương tác theo một cách nào đó Andre thường tương tác với Carol, nhưng lại không có với Ike Vì thế Andre và Carol được nối với nhau, và không có liên kết được vẽ giữa Andre và Ike Mạng lưới này cho ta thấy một cách hiệu quả sự phân biệt rõ ràng giữa ba phép đo đạc về
độ trung tâm cá thể phổ biến: Độ trung tâm cấp bậc (Degree Centrality), Độ trung tâm trung gian (Betweenness Centrality), và Độ trung tâm kề cận (Closeness Centrality).
II.1.1 Độ trung tâm cấp bậc - Degree Centrality
Các nhà nghiên cứu mạng xã hội đo đạc hoạt động của mạng lưới cho một nốt bằng cách
sử dụng khái niệm về cấp độ (degree) – đó là số lượng các kết nối trực tiếp mà một nốt
Trang 7có được Trong mạng Kite Network ở trên, Diane có nhiều kết nối trực tiếp nhất, làm cho
cô ấy trở thành nốt chủ động nhất trong mạng Cô ta trở thành một ‘người kết nối’ (connector) hay một ‘trung tâm’ (hub) trong mạng này Một quan điểm phổ biến trong phân tích các mạng lưới cá thể là “càng nhiều kết nối càng tốt” Điều này không phải lúc nào cũng đúng Điều thật sự quan trọng là nơi mà những kết nối đó dẫn đi đâu và chúng kết nối đến những phần chưa kết nối như thế nào Ở đây Diane chỉ có những kết nối đến những nốt khác cùng nhóm cụm với cô ấy Có nghĩa cô ấy chỉ kết nối đến những người
đã có sẵn kết nối với nhau
II.1.2 Độ trung tâm trung gian - Betweenness Centrality
Trong khi Diane có nhiều mối quan hệ trực tiếp, Heather có ít các kết nối trực tiếp hơn –
ít hơn mức trung bình trong mạng Nhưng theo cách nhìn khác, cô ấy có một vị trí tốt nhất trong mạng – nằm ở giữa hai khu vực quan trọng Cô ta nắm một vai trò môi giới trong mạng lưới Điểm tốt là cô ấy có một vai trò đầy sức mạnh trong mạng, và điểm xấu
là cô ấy cũng là một điểm chết của hệ thống Không có cô ta, Ike và Jane sẽ bị cắt khỏi luồng thông tin và kiến thức từ nhóm của Diane Một nốt với tính trung gian cao (betweenness) cao sẽ có sự ảnh hưởng lớn đến cái gì sẽ được không được truyền đi trên mạng Do đó, Heather là người có khả năng thao túng đầu ra của mạng lưới
II.1.3 Độ trung tâm kề cận - Closeness Centrality
Fernando và Garth có ít kết nối hơn Diane, nhưng các mối liên kết của họ cho phép họ truy cập đến tất cả các nốt trong mạng nhanh hơn bất kỳ ai khác Họ có các đường đi ngắn nhất đến tất cả các nốt khác Điều đó cho thấy họ gần (close) với tất cả mọi người nhất Họ có một vị trí xuất sắc để theo dõi luồng thông tin trong mạng, họ có một tầm nhìn tốt nhất về cái đang được diễn ra trong mạng
II.1.4 Độ tập trung của mạng - Network Centralization
Các mức độ trung tâm riêng biệt của mạng lưới cung cấp cái nhìn thấu đáo về các vị trí của các cá thể trong mạng Các mối quan hệ giữa các mức độ trung tâm của tất cả các nốt
có thể bộc lộ ra nhiều thông tin về cấu trúc tổng quan của toàn mạng
Trang 8Một mạng lưới có độ tập trung rất cao thường bị thống trị bởi một hoặc một vài nốt trung tâm Nếu những nốt này bị loại bỏ hoặc tổn hại, mạng lưới có thể nhanh chống bị phân mảnh thành nhiều phần con tách biệt Một nốt có tính trung tâm cao lại trở thành một điếm chết Một mạng tập trung xung quanh một điểm trung tâm nhiều kết nối có thể sụp
đổ một cách bất ngờ và đột ngột nếu điểm trung tâm đó bị vô hiệu hoặc loại bỏ đi Các điểm trung tâm là các nốt có cấp bậc (degree) và tính trung gian (betweeness) cao
Một mạng lưới ít tập trung sẽ không có điểm chết nào Nó sẽ có khả năng chịu đựng và đàn hồi cao hơn với các cuộc tấn công có chủ đích hoặc các sự sụp đổ bất thường Vì nhiều nốt và liên kết có thể bị đứt gãy và sụp đỗ thì mạng lưới vẫn cho phép các nốt còn lại tiếp tục chạm được đến các nốt còn lại trong mạng bằng con đường khác Mạng lưới kiểu này sẽ khó bị sụp đổ bất ngờ
II.1.5 Hệ số cụm - Clustering Coefficient
Trong lý thuyết đồ thị, hệ số cụm (clustering coefficient) là một thước đo mức độ xu
hướng kết nhóm lại với nhau của các nốt trong đồ thị Có bằng chứng cho thấy rằng trong các mạng lưới trong cuộc sống thật, cụ thể là các mạng xã hội, những nốt có xu hướng tạo các nhóm liên kết chặc chẽ thường có đặc tính là có mật độ tương đối cao các mối ràng buộc [1] Xác suất xuất hiện các mối ràng buộc này thường có xu hướng lớn hơn mức xác suất trung bình một ràng buộc được thiết lập ngẫu nhiên giữa hai nốt [2]
II.1.6 Phần tử chủ chốt - Key players
Phần tử chủ chốt (key player) là các phần tử trong mạng được cho là quan trọng khi
được xem xét theo một vài tiêu chuẩn Việc xác định các phần tử chủ chốt là một trong những mục tiêu quan trọng khi phân tích các mạng xã hội
Chúng thường thường xác định được dựa trên hai yêu cầu sau:
- Thứ nhất, các phần tử chủ chốt là các nốt mà nếu bị loại bỏ khỏi mạng sẽ gây việc gián đoạn tối đa việc trao đổi thông tin giữa các nốt Khi theo tiêu chí này, việc xác định dựa trên mục đích phát tán thứ gì đó một cách tối ưu trên mạng bằng
Trang 9cách sử dụng các phần tử chủ chốt như là các điểm gieo thông tin ban đầu Độ trung tâm trung gian (Betweenness Centrality) phù hợp với tiêu chí này
- Cách thứ hai là lựa chọn các nốt có liên kết tối đa đến các nốt còn lại Dựa theo tiêu chí này, các nốt chủ chốt được xác định là có khả năng làm gián đoạn hoặc làm phân mảnh mạng hoàn toàn, đột ngột nếu chúng bị loại bỏ Và Độ trung tâm cấp bậc (Degree Centrality) được sử dụng cho tiêu chí này
Ngoài ra, các kỹ thuật phân tích mạng lưới còn đưa ra các tiêu chuẩn đo đạc khác mà ta
có thể tìm hiểu thêm như:
- Network Reach
- Network Integration
- Boundary Spanners
- Peripheral Players
II.2 Các công thức được áp dụng cho các mục tiêu phân tích mạng xã hội
Cho một đồ thị G = (V, E) với V là tập đỉnh, E là tập cạnh, ta có:
II.2.1 Độ trung tâm cấp bậc - Degree Centrality
Trong đó:
n là số đỉnh của đồ thị
deg(v) số liên kết trực tiếp của đỉnh v hay còn gọi là bậc đỉnh
II.2.2 Độ trung tâm trung gian - Betweenness Centrality
Trong đó:
σst là tổng số đường đi gắn nhất từ đỉnh s tới đỉnh t
σst (v) là số đường đi gắn nhất từ đỉnh s tới đỉnh t qua đỉnh v
II.2.3 Độ trung tâm kề cận - Closeness Centrality
Trong đó: là số bước đi từ đỉnh t tới đỉnh v/chiều dài từ v tới t
Trang 10II.2.4 Hệ số cụm - Clustering coefficient
Với một cạnh e ij là cạnh nối đỉnh i với đỉnh j Tập đỉnh láng giềng N i cho một đỉnh v i
được định nghĩa là tập các đỉnh có liên kết trược tiếp đến v i , công thức toán học:
Ta gọi ki là số lượng các đỉnh, |N i |, trong tập láng giềng N i
Khi đó hệ số cụm C i cho một đỉnh v i được tính bằng tỉ lệ giữa các liên kết giữa các đỉnh trong tập đỉnh láng giềng chia cho số lượng các liên kết có thể tồn tại giữa chúng Với
một đồ thị có hướng, e ij phân biệt với e ji , và vì thế với mỗi tập láng giềng N i sẽ có k i (k i – 1) liên kết có thể tồn tại giữa các đỉnh láng giềng (k i là số lượng đỉnh láng giềng của đỉnh đang xét) Do đó, công thức hệ số cụm cho các đồ thị có hướng sẽ như sau:
Một đồ thị không có hướng có đặc tính là e ij với e ji được xem là như nhau Vì thế, nếu
một đỉnh v i có k i láng giềng, k i (k i – 1)/2 cạnh có thể tồn tại giữa các đỉnh ấy Do đó, công
thức hệ số cụm cho các đồ thị không có hướng có thể được định nghĩa như sau:
Từ các công thức trên, ta có công thức hệ số cụm trung bình cho toàn mạng như sau:
III.3 Bài tập ví dụ
Để có cái nhìn rõ ràng và dễ hiểu hơn, ta đi qua một ví dụ tính toán cụ thể như sau:
Cho mạng xã hội các actor : v1, v2, v3, v4,v5, v6 và các link: (v1,v2) ; (v1,v3); (v3,v4); (v3,v2); (v2,v4), (v4,v5), (v4,v6)
Trang 111. Tính degree, betweenness centrality, closeness centrality của từng nút trong mạng
xã hội
2. Hệ số cụm của từng nút và toàn bộ mạng xã hội
3. Tim tập các key players ( chủ thể chủ chốt ) trong mạng xã hội
Bài giải:
- Đồ thị cho mạng xã hội là:
Đồ thị G
- Ma trận kề (adjacency matrix):
V1 V2 V3 V4 V5 V6
- Liệt kê tất cả đường đi ngắn nhất giữa 2 đỉnh bất kỳ trong đồ thị, ta có:
[V1, V2, V4]
[V1, V2, V4, V5]
[V1, V2, V4, V6]
[V1, V3, V4]
[V1, V3, V4, V5]
[V1, V3, V4, V6]
[V2, V1]
[V2, V3]
Trang 12[V2, V4, V6]
[V3, V1]
[V3, V4, V5]
[V4, V2]
[V4, V3]
[V4, V5]
[V4, V6]
[V5, V4, V2]
[V6, V4, V3]
[V6, V4, V5]
1. Tính degree, betweenness centrality , closeness centrality của từng nút trong mạng
xã hội trên
- Tính degree centrality
Đỉnh degree centrality V1
V2 V3 V4 V5 V6
- Tính betweenness centrality
Đỉnh Betweenness centrality
V1
Trang 13V2 (tính tương tự như v1)
V3 (tính tương tự như v1)
V4 (tính tương tự như v1)
V5 (tính tương tự như v1)
V6 (tính tương tự như v1)
- Tính closeness centrality
Đỉnh closeness centrality
V1
V2 (tính tương tự như v1)
V3 (tính tương tự như v1)
V4 (tính tương tự như v1)
V5 (tính tương tự như v1)
V6 (tính tương tự như v1)
2 Tính Clustering Coefficient (Hệ số cụm)
- Tính hệ số cụm cho từng nút
Đỉn
h Clustering Coefficient
Trang 14V1 V2 V3 V4 V5 V6
- Tính hệ số gom cụm cho toàn mạng
3 Tìm key player:
Dựa vào các nốt có giá trị tốt nhất ở các tiêu chí Degree Centrality, Beetweeness Centrality và Closeness Centrality để tìm tập key player:
Ta có:
Max(CD(V)) = {V4}
Max(CB(V)) = {V4}
Max (CC(V)) = {V4}
Tập key player = {V4}
III.4 Chương trình demo
Để hỗ trợ kiểm tra các công thức trên, một chương trình demo được viết để tính toán tự động các kết quả Chương trình demo được viết bằng ngôn ngữ ruby Hiện tại do mục đích để thực tính toán nên chương trình chỉ có giao diện console đơn giản
Cách sử dụng đơn giản như sau:
- Chương trình là một tập tin đuôi exe, có thể click để chạy trực tiếp
- Input của chương trình là một tập tin có tên input.txt chứa thông tin về đồ thị
mạng xã hội cần tính toán các thông số phân tích Định dạng của tập tin gồm hai phần:
o Dòng đầu tiên dùng để nhập danh sách các nhãn đỉnh trong đồ thị, hoặc chỉ đơn giản con số N cho biết tổng số đỉnh trong đồ thị Nếu danh sách nhãn không liệt kê cụ thể thì các nhãn tự động sinh ra theo số thứ tự từ 1 đến N