ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN CƠ SỞ DỮ LIỆU NÂNG CAO
PHÂN TÍCH MẠNG XÃ HỘI
Giảng viên hướng dẫn : PGS.TS. Đỗ Phúc
Sinh viên thực hiện :
Nguyễn Thị Thu Trang CH1101147
Lớp : CNTTQM K6
Khóa : 2012 - 2014
TP Hồ Chí Minh, tháng 08 năm 2012
1
Nguyễn Thị Thu Trang CH1101147
MỤC LỤC
Nguyễn Thị Thu Trang CH1101147
I. Tổng quan
1.1 Phân tích mạng xã hội (Social Network Analysis)
Mạng xã hội (Social Network) là một cấu trúc xã hội hình thành bởi những
cá nhân (hay những tổ chức), các cá nhân được gắn kết bởi sự phụ thuộc lẫn nhau
thông những nút thắt như tình bạn, quan hệ họ hàng, sở thích chung, trao đổi tài
chính, quan hệ tình dục, những mối quan hệ về niềm tin, kiến thức và uy tín.
Đơn giản hơn, mạng lưới xã hội là đồ thị những mối quan hệ xác định, ví dụ
như tình bạn. Các nút thắt gắn kết cá nhân với xã hội chính là những mối liên hệ xã
hội của cá nhân đó. Mạng lưới xã hội có thể dùng để kiểm tra vốn xã hội - giá trị
mà cá nhân có được từ mạng lưới xã hội. Những khái niệm này thường được biểu
thị trong biểu đồ mạng xã hội, trong đó các nút thắt chính là các điểm và các mối
quan hệ là những đường kẻ.
Phân tích mạng xã hội (Social Network Analysis – SNA) là nghiên cứu quan
hệ xã hội giữa một tập hợp các nút (actor). Nó là một lĩnh vực nghiên cứu – một
tập hợp các hiện tượng hoặc dữ liệu.
3
Nguyễn Thị Thu Trang CH1101147
Nguyễn Thị Thu Trang CH1101147
1.3 Khoa học xã hội (Social Science)
Nghiên cứu xã hội (studying Society) từ góc độ mạng là nghiên cứu cá nhân
được nhúng vào trong một mạng lưới các quan hệ và tìm kiếm lời giải thích cho
hành vi xã hội trong cấu trúc của các mạng này hơn là trong các cá nhân đơn độc.
Quan điểm về mạng này trở nên ngày càng có liên quan trong một xã hội mà
Manuel Castellshas gọi là mạng xã hội (Network Society).
Social Network Analysis có một lịch sử lâu dài trong khoa học xã hội, mặc
dù phần lớn công việc là tập trung phát triển các phương pháp của nó như từ các
6
Nguyễn Thị Thu Trang CH1101147
nhà toán học, nhà vật lý học, nhà sinh vật học và các nhà khoa học máy tính (bởi vì
họ nghiên cứu nhiều về các dạng mạng khác nhau)
Ý tưởng về mạng lưới các quan hệ là quan trọng trong khoa học xã hội
không phải là mới, nhưng phổ biến rộng rãi và sẵn có của dữ liệu và tiến bộ trong
tính toán cùng với phương pháp luận đã làm cho nó dễ dàng hơn nhiều để áp dụng
SNA to một loạt các vấn đề.
1.4 Các tên miền (Orther Domains)
7
Nguyễn Thị Thu Trang CH1101147
Phân tích mạng (mạng xã hội) – (Social) Network Analysis đã được tìm thấy
là ứng dụng trong nhiều lĩnh vực vượt ra ngoài khoa học xã hội, mặc dù những tiến
bộ lớn nhất nói chung đã liên quan đến việc nghiên cứu cấu trúc được tạo ra bởi
con người.
Các nhà khoa học máy tính cho ví dụ đã sử dụng (và thậm chí phát triển
mới) phương pháp phân tích mạng để nghiên cứu các trang web, lưu lượng truy
cập Internet, phổ biến thông tin, …
Một ví dụ trong cuộc sống khoa học là việc sử dụng mạng lưới phân tích
(Network Analysis) để nghiên cứu chuỗi thức ăn trong các hệ sinh thái khác nhau.
Nhà toán học và vật lý (lý thuyết) thường tập trung vào sản xuất mới và các
quan điểm là cũng có giá trị :
- Phạm vi của các hành động và cơ hội dành cho các cá nhân thường là một
chức năng của vị trí của họ trong các mạng xã hội, phát hiện các vị trí này
(thay vì dựa vào giả định phổ biến dựa trên vai trò và chức năng của mình,
như là cha, mẹ, giáo viên,công nhân) có thể mang lại kết quả thú vị và đôi
khi đáng ngạc nhiên.
- Phân tích định lượng của một mạng xã hội có thể giúp bạn xác định các dạng
khác nhau của các nút (actor) hoặc các phần tử chủ chốt (key players) trong
mạng, phần tử mà bạn có thể tập trung cho nghiên cứu định tính của bạn
SNA rõ ràng là cũng rất hữu ích trong việc phân tích của SNS, OC và các
phương tiện truyền thông xã hội nói chung, để kiểm tra giả thuyết về hành vi trực
tuyến và CMC, để xác định nguyên nhân rối loạn chức năng cộng đồng hoặc mạng
lưới, và để thúc đẩy sự gắn kết xã hội và tăng trưởng trong một cộng đồng trực
tuyến
11
Nguyễn Thị Thu Trang CH1101147
II. Các khái niệm cơ bản
2.1. Biểu diễn mạng
Mạng (mạng xã hội) thường được biểu diễn dưới dạng đồ thị có hướng hoặc
không có hướng. Đồ thị gồm các đỉnh (actor) và các liên kết giữa các đỉnh này
(link).
Tùy vào mục đích nghiên cứu mà chúng ta có thể xem xét toàn bộ mạng
hoặc chỉ xem xét một phần của mạng chứa những phần tử mà chúng ta quan tâm.
Có 2 dạng mạng phục vụ nhu cầu đó là mạng “Whole Network” và “Ego
Network”.
12
Nguyễn Thị Thu Trang CH1101147
2.2. Độ mạnh của mối quan hệ trong mạng (Tie Strength)
Tie strength là chỉ số để thể hiện độ mạnh yếu của các mối liên kết (link) của
các phần tử (actor) trong mạng (độ dài của các đường đi).
Nguyễn Thị Thu Trang CH1101147
- Mối quan hệ (ràng buộc) mạnh thường có cầu nối (transitive) nhiều hơn mối
quan hệ yếu. Transitivity do đó là bằng chứng cho sự tồn tại của rang buộc
mạnh mẽ (nhưng không phải là một điều kiện cần thiết hoặc đầy đủ).
- Transitivity cùng với Homophily hướng tới hình thành các Cliques (các cụm
kết nối đầy đủ)
Bridges là các nút và các cạnh kết nối trên toàn nhóm
- Tạo điều kiện thuận lợi cho các nhóm thông tin liên lạc, tăng cường sự gắn
kế xã hội và giúp thúc đẩy sự đổi mới
- Bridges thường là các quan hệ yếu, nhưng không phải tất cả các quan hệ
(ràng buộc) yếu là một Bridge
15
Nguyễn Thị Thu Trang CH1101147
2.4. Các phẩn tử chủ chốt trong mạng (Key Players)
Degree centrality : degree (trong hoặc ngoài : indegree, outdegree) của một
nút là số các liên kết hướng tới hoặc đi qua nút đó
- Trong một đồ thị vô hướng thì chúng giống hệt nhau
- Degree centrality thường được sử dụng như là nút mức độ liên kết và do đó
cũng có độ ảnh hưởng và/ hoặc phổ biến
- Hữu ích trong việc đánh giá nút nào là trung tâm để lây lan thông tin và ảnh
hưởng đến nút khác trong vùng của chúng ngay lập tức.
Đường (Path) và đường đi ngắn nhất (Shortest Path)
Một đường đi (path) giữa hai nút bất kỳ là một dãy các nút không lặp lại mà
kết nối 2 nút lại.
Đường đi ngắn nhất (shortest path) giữa hai nút là đường kết nối hai nút với
số lượng ngắn nhất của các cạnh (cũng được gọi là khoảng cách giữa các nút)
16
Nguyễn Thị Thu Trang CH1101147
Ở hình trên các nút 1 và 4 có hai đường đi ngắn nhất có chiều dài 2: {1,2,4}
và {1,3,4}. Những đường còn lại giữa hai nút là {1,2,3,4}, {1,3,2,4}, {1,2,5,3,4}
cạnh đó, những rang buộc khác giữa chúng bình đẳng.
Do đó nút 3 và nút 5 cùng với nhau sẽ là khóa (key) của mạng này hơn nút
10
20
Nguyễn Thị Thu Trang CH1101147
III. Chương trình Demo “Tìm các phần tử chủ chốt của mạng
xã hội”
Chương trình được viết trên ngôn ngữ C#, môi trường Visual Studio 2008,
để thực hiện việc phân tích một mạng xã hội dựa trên các thông số Degree
Centrality, Betweeness Centrality, Closeness Centrality, key players, Clustering
Coefficient
3.1. Các lớp cơ bản
Links là lớp thể hiện liên kết giữa 2 actor trong mạng
class Links
{
public string actorA;
public string actorB;
}
Lớp Graph thể hiện mạng dưới dạng đồ thị (xét trường hợp đồ thị vô hướng)
class Graph
{
List<string> actors;
List<Links> links;
List<string> allShortestPaths;
}
3.2. Các chức năng chính của chương trình
private string solveDegreeCentrality()
private string solveBetweennessCentrality()
private string solveClosenessCentrality()
private string solveClusteringCoefficient()