1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BUILDING a SOCIAL NETWORK USING LINK PREDICTION TO SUGGEST FRIENDS IN SOCIAL NETWORKS đồ án MÔN MẠNG XÃ HỘI

69 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Building a social network using link prediction to suggest friends in social networks
Tác giả Huỳnh Văn Pháp, Hoàng Nhật Trung, Phan Thành Bảo Trọng, Nguyễn Thùy Linh
Người hướng dẫn ThS. Thái Bảo Trân
Trường học Vietnam National University Ho Chi Minh City - University of Information Technology
Chuyên ngành Information Systems
Thể loại Graduation project
Năm xuất bản 2022
Thành phố Ho Chi Minh City
Định dạng
Số trang 69
Dung lượng 3,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG I. TỔNG QUAN VỀ ĐỀ TÀI (10)
    • 1.1 Lí do chọn đề tài (0)
    • 1.2 Mô tả dữ liệu (0)
      • 1.2.1 Nguồn dữ liệu (0)
      • 1.2.2 Mô tả dữ liệu (0)
  • CHƯƠNG II. CƠ SỞ LÝ THUYẾT (12)
    • 2.2 Lí thuyết về Nodes và Edges (0)
      • 2.2.1 Thế nào Nodes và Edges (0)
      • 2.2.2 Edges Direction (0)
      • 2.2.3 Edge Weight (0)
    • 2.3 Lý thuyết các độ đo trong mạng xã hội (0)
      • 2.3.1 Độ đo Degree Centrality (0)
      • 2.3.2 Độ đo Betweenness Centrality (0)
      • 2.3.3 Độ đo Closeness Centrality (0)
      • 2.3.4 Độ đo Clustering Coefficient (0)
    • 2.4 Lý thuyết các thuật toán dùng trong mạng xã hội (0)
      • 2.3.1 Cộng đồng (14)
      • 2.3.2 Một số thuật toán khám phá cộng đồng (14)
        • 2.3.2.1 Thuật toán Page Rank (14)
        • 2.3.2.2 Thuật toán Girvan Newman (15)
  • CHƯƠNG III. THUẬT TOÁN DỰ ĐOÁN LIÊN KẾT TRÊN MẠNG XÃ HỘI (16)
    • 3.1 Các thuật toán dự đoán liên kết truyền thống (16)
      • 3.2.1 Local Similarity Index (0)
        • 3.1.1.1 Common Neighbors (16)
        • 3.1.1.2 Preferential Attachment (16)
        • 3.1.1.3 Adamic-Adar (17)
        • 3.1.1.4 Resource Allocation (17)
      • 3.2.2 Overall Similarity Index (0)
        • 3.1.2.1 Katz (17)
        • 3.1.2.2 Random Walk with Restart (RWR) (18)
    • 3.2 Các thuật toán dự đoán liên kết dựa trên khả năng điều khiển của nút (18)
      • 3.2.3 Thuật toán CNGF (0)
      • 3.2.4 Thuật toán KatzGF (0)
    • 3.3 Các thuật toán dự đoán liên kết dựa trên nút nhiều thuộc tính (21)
  • CHƯƠNG IV. TIỀN XỬ LÝ DỮ LIỆU VÀ TRỰC QUAN HÓA DỮ LIỆU LÊN ĐỒ THỊ (23)
    • 4.1 Tiền xử lí dữ liệu (23)
    • 4.2 Tạo mạng liên kết (23)
    • 4.3 Trực quan hóa mạng liên kết (24)
  • CHƯƠNG V. PHÂN TÍCH, TRỰC QUAN HÓA CÁC ĐỘ ĐO TRONG MẠNG XÃ HỘI (25)
    • 5.1 Độ đo Degree Centrality (25)
    • 5.2 Độ đo Betweenness Centrality (34)
    • 5.3 Độ đo Closeness Centrality (37)
    • 5.4 Độ đo Clustering Coeficient (40)
  • CHƯƠNG VI. PHÂN TÍCH, TRỰC QUAN HÓA CÁC THUẬT TOÁN SỬ DỤNG TRONG MẠNG XÃ HỘI 45 (43)
    • 6.1 Thuật toán Page Rank (43)
    • 6.2 Thuật toán Girvan NewMan (46)
      • 6.2.1 Phân tích, trực quan hóa biểu trên Python liên kết theo Girvan NewMan (0)
      • 6.2.2 Nhận xét (0)
  • CHƯƠNG VII. PHÂN TÍCH, XÁC MINH CÁC THUẬT TOÁN DỰ ĐOÁN LIÊN KẾT (48)
    • 7.1 Thuật toán Common Neighbors (48)
    • 7.2 Thuật toán Preferential Attachment (49)
    • 7.3 Thuật toán Jaccard Coefficient (50)
    • 7.4 Thuật toán Resource Allocation (51)
    • 7.5 Thuật toán Adamic/Adar (52)
    • 7.6 Thuật toán Katz (53)
  • CHƯƠNG VIII. PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG (54)
    • 8.1 Usecase Diagram (54)
    • 8.2 Activity Diagram (0)
      • 8.2.1 Activity – Độ đo (56)
      • 8.2.2 Activity – Phân tích (57)
      • 8.2.3 Activity – Dự đoán (59)
      • 8.2.4 Activity – Trực quan (59)
      • 8.2.5 Activity – Import (60)
    • 8.3 Sequence Diagram (0)
      • 8.3.1 Sequence – Độ đo (61)
      • 8.3.2 Sequence – Phân tích (62)
      • 8.3.3 Sequence – Dự đoán (64)
      • 8.3.4 Sequence – Trực quan (65)
      • 8.3.5 Sequence – Import (66)

Nội dung

I.3 Lý thuyết các độ đo trong mạng xã hộiBiện pháp trung tâm Centrality Measures: Tính trung tâm là một tập hợp các chỉ số được sử dụng để xác định mức độ quan trọng và ảnh hưởng của một

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

-✰ -

�-� -✰ -BUILDING A SOCIAL NETWORK USING LINK PREDICTION TO

SUGGEST FRIENDS IN SOCIAL NETWORKS

ĐỒ ÁN MÔN MẠNG XÃ HỘI

(IS353.M21.HTCL)

Nhóm sinh viên thực hiện:

Huỳnh Văn Pháp – 19521987 Hoàng Nhật Trung – 19522421 Phan Thành Bảo Trọng – 19522411 Nguyễn Thùy Linh – 19521758

Thành phố Hồ Chí Minh, 05/2022

Trang 2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

-✰ -

�-� -✰ -BUILDING A SOCIAL NETWORK USING LINK PREDICTION TO

SUGGEST FRIENDS IN SOCIAL NETWORKS

ĐỒ ÁN MÔN MẠNG XÃ HỘI

(IS353.M21.HTCL)

Nhóm sinh viên thực hiện:

Huỳnh Văn Pháp – 19521987 Hoàng Nhật Trung – 19522421 Phan Thành Bảo Trọng – 19522411 Nguyễn Thùy Linh – 19521758

Thành phố Hồ Chí Minh 05/2022

Trang 3

MỤC LỤC

CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI 10

1.1 Lí do chọn đề tài 10

1.2 Mô tả dữ liệu 10

1.2.1 Nguồn dữ liệu 10

1.2.2 Mô tả dữ liệu 10

CHƯƠNG II CƠ SỞ LÝ THUYẾT 12

2.2 Lí thuyết về Nodes và Edges 12

2.2.1 Thế nào Nodes và Edges 12

2.2.2 Edges Direction 12

2.2.3 Edge Weight 12

2.3 Lý thuyết các độ đo trong mạng xã hội 13

2.3.1 Độ đo Degree Centrality 13

2.3.2 Độ đo Betweenness Centrality 13

2.3.3 Độ đo Closeness Centrality 14

2.3.4 Độ đo Clustering Coefficient 14

2.4 Lý thuyết các thuật toán dùng trong mạng xã hội 14

2.3.1 Cộng đồng 14

2.3.2 Một số thuật toán khám phá cộng đồng 15

2.3.2.1 Thuật toán Page Rank 15

2.3.2.2 Thuật toán Girvan Newman 15

CHƯƠNG III THUẬT TOÁN DỰ ĐOÁN LIÊN KẾT TRÊN MẠNG XÃ HỘI 17

3.1 Các thuật toán dự đoán liên kết truyền thống 17

3.2.1 Local Similarity Index 17

3.1.1.1 Common Neighbors 17

3.1.1.2 Preferential Attachment 17

3.1.1.3 Adamic-Adar 18

3.1.1.4 Resource Allocation 18

3.2.2 Overall Similarity Index 18

3.1.2.1 Katz 18

3.1.2.2 Random Walk with Restart (RWR) 19

3.2 Các thuật toán dự đoán liên kết dựa trên khả năng điều khiển của nút 20

3.2.3 Thuật toán CNGF 21

3.2.4 Thuật toán KatzGF 22

3.3 Các thuật toán dự đoán liên kết dựa trên nút nhiều thuộc tính 23

Trang 4

CHƯƠNG IV TIỀN XỬ LÝ DỮ LIỆU VÀ TRỰC QUAN HÓA DỮ LIỆU LÊN ĐỒ THỊ 25

4.1 Tiền xử lí dữ liệu 25

4.2 Tạo mạng liên kết 25

4.3 Trực quan hóa mạng liên kết 26

CHƯƠNG V PHÂN TÍCH, TRỰC QUAN HÓA CÁC ĐỘ ĐO TRONG MẠNG XÃ HỘI 27

5.1 Độ đo Degree Centrality 27

5.2 Độ đo Betweenness Centrality 36

5.3 Độ đo Closeness Centrality 39

5.4 Độ đo Clustering Coeficient 42

CHƯƠNG VI PHÂN TÍCH, TRỰC QUAN HÓA CÁC THUẬT TOÁN SỬ DỤNG TRONG MẠNG XÃ HỘI 45 6.1 Thuật toán Page Rank 45

6.2 Thuật toán Girvan NewMan 48

6.2.1 Phân tích, trực quan hóa biểu trên Python liên kết theo Girvan NewMan 48

6.2.2 Nhận xét 49

CHƯƠNG VII PHÂN TÍCH, XÁC MINH CÁC THUẬT TOÁN DỰ ĐOÁN LIÊN KẾT 50

7.1 Thuật toán Common Neighbors 50

7.2 Thuật toán Preferential Attachment 51

7.3 Thuật toán Jaccard Coefficient 52

7.4 Thuật toán Resource Allocation 53

7.5 Thuật toán Adamic/Adar 54

7.6 Thuật toán Katz 55

CHƯƠNG VIII PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 56

8.1 Usecase Diagram 56

8.2 Activity Diagram 58

8.2.1 Activity – Độ đo 58

8.2.2 Activity – Phân tích 59

8.2.3 Activity – Dự đoán 61

8.2.4 Activity – Trực quan 61

8.2.5 Activity – Import 62

8.3 Sequence Diagram 63

8.3.1 Sequence – Độ đo 63

8.3.2 Sequence – Phân tích 64

8.3.3 Sequence – Dự đoán 66

8.3.4 Sequence – Trực quan 67

8.3.5 Sequence – Import 68

Trang 5

PHỤ LỤC 69

A Tài liệu tham khảo 69

B Phân công thành viên 70

DANH MỤC HÌNH ẢN

Trang 6

Hình 1: Dữ liệu trong dataset 9

Hình 2: Minh họa Nodes và Egdes 10

Hình 3: Hai đồ thị mạng xã hội có cùng độ nút 18

Hình 4: Đồ thị con được trích xuất chứa các nút dự đoán và nút lân cận chung 19

Hình 5: Tiền xử lí dữ liệu 23

Hình 6: Cài đặt đồ thi có hướng cho mạng 23

Hình 7: Lưu trữ thống kê cho mỗi node 23

Hình 8: Tính tổng số node và cạnh 23

Hình 9: Trực quan hóa mạng liên kết 24

Hình 10: Trực quan hóa mạng liên kết theo độ đo Degree Centrality 26

Hình 11: Top 10 nodes có Degree Centrality cao nhất 27

Hình 12: Tần số và xác xuất xuất hiện Degree Centrality 28

Hình 13: Trực quan hóa mạng liên kết theo độ đo In-Degree Centrality 29

Hình 14: Top 10 nodes có In-Degree Centrality cao nhất 30

Hình 15: Tần số và xác xuất xuất hiện In-Degree Centrality 31

Hình 16: Trực quan hóa mạng liên kết theo độ đo Out-Degree Centrlity 32

Hình 17: Top 10 nodes có Out-Degree Centrality cao nhất 33

Hình 18: Tần số và xác xuất xuất hiện Out-Degree Centrality 34

Hình 19: Trực quan hóa mạng liên kết theo độ đo Betweeness Centrlity 35

Hình 20: Top 10 nodes có Betweeness Centrality cao nhất 36

Hình 21: Tần số và xác xuất xuất hiện Betweenness Centrality 36

Hình 22: Trực quan hóa mạng liên kết theo độ đo Closeness Centrlity 38

Hình 23: Top 10 nodes có độ Closeness Centrality cao nhất 39

Hình 24: Tần số và xác xuất xuất hiện Closeness Centrality 39

Hình 25: Trực quan hóa mạng liên kết theo độ đo Clustering Coefficient 41

Hình 26: Top 10 nodes có độ Clustering Coeficient cao nhất 42

Hình 27: Tần số và xác xuất xuất hiện Clustering Coeficient 42

Hình 28: Phân tích, trực quan hóa biểu đồ dữ liệu trên Python bằng PageRank 44

Hình 29: Top 10 nodes có độ Page Rank cao nhất 45

Hình 30: Tần số và xác xuất xuất hiện Page Rank 45

Hình 31: Phân tích, trực quan hóa biểu trên Python liên kết theo Girvan NewMan 47

Hình 32: Usecase Diagram 49

Hình 33: Activity Diagram - Độ đo 50

Hình 34: Activity Diagram - Phân tích 52

Hình 35: Activity Diagram - Dự đoán 53

Hình 36: Activity Diagram - Trực quan 53

Hình 37: Activity Diagram - Import 54

Hình 38: Sequence Diagram - Độ đo 55

Hình 39: Sequence Diagram - Phân tích 57

Trang 7

Hình 40: Sequence Diagram - Dự đoán 58 Hình 41: Sequence Diagram - Trực quan 59 Hình 42: Sequence Diagram - Import 60

DANH MỤC BẢNG

Bảng 1: Thông tin chi tiết về dataset 10

Trang 8

LỜI CẢM ƠN

Em xin chân thành cảm ơn trường Đại học Công nghệ Thông tin và Khoa Hệ ThốngThông Tin đã tạo điều kiện cho em hoàn thành tốt đồ án môn học Mạng xã hội Trong quátrình học tập môn này đã giúp cho nhóm chúng em có được rất nhiều kinh nghiệm quý báu.Đặc biệt, nhóm chúng em xin gửi lời biết ơn sâu sắc đến cô Thái Bảo Trân – Giảng viênhướng dẫn môn Mạng xã hội (IS353.M21.HTCL) đã dành thời gian quý báo và trực tiếphướng dẫn tận tình, đóng góp ý kiến giúp nhóm hoàn thành tốt báo cáo môn học

Thông qua quá trình thực hiện đồ án, chúng em đã phần nào củng cố, tích lũy đượcnhững kiến thức về Mạng xã hội Bên cạnh đó là biết sử dụng thêm một số công cụ để phântích, rất có ích cho chúng em sau này Bên cạnh đó, chúng em còn rút ra được nhiều kinhnghiệm trong công việc làm nhóm Hi vọng mọi thứ sẽ được áp dụng và phát triển trongtương lai

Trong thời gian thực hiện đề tài, vì thời gian và kiến thức có hạn nên không tránh khỏinhiều sai sót Vì vậy, nhóm rất mong nhận được những góp ý bổ sung từ cô để đề tài hoànthiện hơn

Một lần nữa, chúng em xin chân thành cảm ơn

Nhóm sinh viên thực hiện

Trang 9

NHẬN XÉT CỦA GIẢNG VIÊN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 10

CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI

I.1 Lí do chọn đề tài

Hiện tại với sự phát triển nhanh chóng, mạng xã hội trực tuyến đã là một phần trongcuộc sống của mọi người Rất nhiều hệ thống xã hội học, sinh học và thông tin có thể sửdụng mạng để mô tả, trong đó các nút đại diện cho cá nhân và các cạnh đại diện cho mốiquan hệ giữa các cá nhân hoặc sự tương tác giữa các cá nhân Dự đoán liên kết không chỉ cóthể được sử dụng trong lĩnh vực mạng xã hội mà còn có thể được áp dụng trong các lĩnh vựckhác Như trong tin sinh học, dự đoán liên kết có thể được sử dụng để khám phá các tươngtác giữa các protein, trong lĩnh vực thương mại điện tử, dự đoán liên kết có thể được sửdụng để tạo ra hệ thống khuyến nghị và trong lĩnh vực bảo mật, dự đoán liên kết có thể giúptìm ra các băng đảng tội phạm khủng bố ẩn Dự đoán liên kết có liên quan chặt chẽ đếnnhiều lĩnh vực

Internet tràn ngập các trang mạng xã hội Một trong những khía cạnh quan trọng nhấtcủa bất kỳ mạng xã hội nào là việc sử dụng hệ thống giới thiệu bạn bè

I.2 Mô tả dữ liệu

I.2.1 Nguồn dữ liệu

Link Dataset: https://snap.stanford.edu/data/ego-Facebook.html

I.2.2 Mô tả dữ liệu

Dataset gồm 4039 nodes, 88234 cạnh với 2 cột dữ liệu Mỗi hàng đại diện cho mộtngười dùng có mối quan hệ bạn bè với người dùng khác

Trang 11

Hình 1: Dữ liệu trong datasetThông tin chi tiết về Dataset:

FromNodeID ID của người dùng ban đầu

ToNodeID ID của người dùng có mối quan hệ bạn

bè với người dùng ban đầuBảng 1: Thông tin chi tiết về dataset

Ego Networks NIPS, 2012

Trang 12

CHƯƠNG II CƠ SỞ LÝ THUYẾT

I.2 Lí thuyết về Nodes và Edges

II.2.1 Thế nào Nodes và Edges

Một nút (node) được hiểu là đại điện một thực thể, một actor trong việc tạo ra liên kếtmạng

Cạnh (Edge): các cạnh thể hiện sư hiện diện của một kết nối hoặc mối quan hệ giữahai nút

Hình 2: Minh họa Nodes và Egdes

II.2.2 Edges Direction

Có hai loại cạnh: cạnh có hướng và cạnh vô hướng Trước khi xây dựng lên mạngcần phải giải mã dữ liệu của chúng ta chứa loại cạnh nào khi xây dựng biểu đồ mạng

+ Các cạnh được định hướng: được áp dụng từ nút này sang nút khác với một nút bắtđầu và một nút kết thúc

+ Các cạnh không định hướng: các mối quan hệ này được đáp lại bởi cả hai bên màkhông có nút bắt đầu và nút kết thúc rõ ràng

II.2.3 Edge Weight

Trọng số của một cạnh là số lần cạnh đó xuất hiện giữa hai nút cụ thể

Trang 13

I.3 Lý thuyết các độ đo trong mạng xã hội

Biện pháp trung tâm (Centrality Measures): Tính trung tâm là một tập hợp các chỉ

số được sử dụng để xác định mức độ quan trọng và ảnh hưởng của một nút cụ thể đối vớitoàn bộ mạng Các biện pháp trung tâm được sử dụng trên các nút cụ thể trong mạng vàkhông cung cấp thông tin ở cấp độ mạng Ví dụ 3 độ do trung tâm dưới đây:

II.2.4 Độ đo Degree Centrality

Độ của một nút là số cạnh mà nút đó có Số đo này giúp ta đo số lượng của các mốiquan hệ trực tiếp của một tác nhân nào đó với các thành viên khác trong mạng xã hội

deg( ) ( )

+ Deg(v): tổng số các liên kết trực tiếp đến đỉnh v (bậc của đỉnh)

II.2.5 Độ đo Betweenness Centrality

Betweenness Centrality: đo lường tầm quan trọng của các kết nối của một nút

trong việc cho phép các nút đến các nút khác (trong một bước nhảy) Khoảng giữa của mộtnút là số đường đi ngắn nhất mà nút được đưa vào chia cho tổng số đường đi ngắn nhất.Điều này sẽ cung cấp tỷ lệ phần trăm đường dẫn ngắn nhất trong mạng mà nút đang ở trongđó

Số đo trung tâm trung gian xác nhận một tác nhân nào đó trong mạng có thể có thể có

ít gắn kết với các thành viên khác trong mạng xã hội (số đo bậc trung tâm thấp), cũng khônggần gũi lắm với các thành viên khác (số đo trung tâm lân cận thấp), nhưng lại là cầu nối(bridge) hay nhà trung gian cần thiết trong mọi cuộc trao đổi trong mạng

CB (v) = Trong đó:

+ là số đường đi ngắn nhất đi từ đỉnh s đến đỉnh t của toàn mạng

+ = là số đường đi ngắn nhất đi từ đỉnh s đến đỉnh t và đi qua đỉnh v

+ Số đo trung gian tương đối được tính theo cách sau: Số đo trung gian cho đồ thị vô

hướng:

Trang 14

II.2.6 Độ đo Closeness Centrality

Mức độ gần gũi là độ đo đo lường mức độ kết nối của một nút với mọi nút khác trongmạng Mức độ gần gũi của một nút là số bước trung bình cần thiết để tiếp cận mọi nút kháctrong mạng Bước nhảy là đường đi của một cạnh từ nút này đến nút khác

Trong một đồ thị liên thông, độ đo gần trung tâm của một nút là thước đo mức độtrung tâm trong mạng, được tính bằng nghịch đảo của tổng độ dài của các đường đi ngắnnhất giữa nút và tất cả các nút khác trong biểu đồ Do đó, một nút càng ở trung tâm thì nócàng gần với tất cả các nút khác

Số đo Closeness Centrality được tính bằng công thức sau:

II.2.7 Độ đo Clustering Coefficient

Clustering Coefficient là độ đo mức độ mà các nút trong biểu đồ có xu hướng tậphợp lại với nhau Bằng chứng cho thấy rằng trong hầu hết các mạng trong thế giới thực, vàđặc biệt là các mạng xã hội, các nút có xu hướng tạo ra các nhóm liên kết chặt chẽ với đặcđiểm là mật độ quan hệ tương đối cao; khả năng này có xu hướng lớn hơn xác suất trungbình của một hòa được thiết lập ngẫu nhiên giữa hai nút

I.4 Lý thuyết các thuật toán dùng trong mạng xã hội

2.3.1 Cộng đồng

Cộng đồng được tạo từ các cá nhân sao cho các cá nhân trong cùng một nhóm sẽtương tác với nhau thường xuyên hơn với các cá nhân nằm ngoài nhóm Có ba cách tiếp cận

để khám phá cộng đồng trong mạng xã hội:

+ Dựa trên cấu trúc mạng xã hội để khám phá cộng đồng.

+ Dựa trên thông tin trao đổi theo các tương tác trên mạng xã hội.

+ Dựa trên vừa cấu trúc và nội dung trao đổi.

2.3.2 Một số thuật toán khám phá cộng đồng

2.3.2.1 Thuật toán Page Rank

PageRank là thuật toán phân tích các liên kết được dùng trong Google Search để xếphạng các trang web

+ Thuật toán này chỉ định giá trị nhất định cho mỗi thành phần của một tập hợp cácvăn bản liên kết với nhau, ví dụ như World Wide Web

Trang 15

+ Mục đích "đo" tầm quan trọng tương đối của các liên kết trong tập hợp đó.

+ Áp dụng cho bất kỳ tập hợp văn bản nào có trích dẫn đối ứng và liên kết cụ thể.+ Giá trị (weight) mà nó gán cho bất kỳ thành phần E được gọi là PageRank của E

và ký hiệu là PR (E)

2.3.2.2 Thuật toán Girvan Newman

Thuật toán Girvan Newman dựa trên quan niệm cho rằng khi các cộng đồng đượcgắ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ạnhnối giữa các cộng đồng với tần suất cao Mục đích chính của thuật toán là tìm những cạnhnố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ại bỏ dần dần các cạnh nối từ đồ thị ban đầu Khi đó, cáccộng đồng trong mạng sẽ bị ngắt kết nối với nhau, ta có thể xác định được cách phân vùng

đồ thị thành 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ậttoán là việc tính toá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 TheoFreeman, các cạnh được coi là cạnh có số lượng con đường ngắn nhất giữa các cặp đỉnhkhác nhau chạy qua nó 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ácnút khác, đặ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 toán điển hình nhất trong các thuật toán chia này là thuật toánGirvan-Newman

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ốiyế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ốicác cộng đồng sẽ là cạnh có độ trung gian cao Bằng cách loại bỏ các cạnh, thuật toánGirvan-Newman tách được thành các nhóm riêng biệt Thuật toán được thực hiện theo cácbước sau:

+ Bước 1: Tính độ đo trung gian cho tất cả các cạnh trong mạng.

+ 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

Trang 16

CHƯƠNG III THUẬT TOÁN DỰ ĐOÁN LIÊN KẾT TRÊN MẠNG XÃ HỘI 3.1 Các thuật toán dự đoán liên kết truyền thống

Dự đoán liên kết là một lĩnh vực nghiên cứu quan trọng trong khai thác dữ liệu.Nhiều tác vụ khai thác dữ liệu liên quan đến mối quan hệ giữa các đối tượng Dự đoán liênkết có thể được sử dụng cho các hệ thống khuyến nghị, mạng xã hội, truy xuất thông tin vànhiều lĩnh vực khác

Đưa ra đồ thị của mạng xã hội tại thời điểm G = <V, E> và nút v i và nút v j, dự đoán

liên kết là dự đoán xác suất liên kết giữa nút v i và nút v j Có thể thấy thông qua định nghĩa

về dự đoán liên kết, nhiệm vụ dự đoán liên kết được chia thành hai loại Loại đầu tiên là dựđoán rằng liên kết mới sẽ xuất hiện trong thời gian tới Loại thứ hai là dự báo liên kết ẩnchưa biết trong không gian

Framework dễ nhất của thuật toán dự đoán liên kết là dựa trên tính tương đồng của

thuật toán Bất kỳ cặp nút x và nút y nào, gán cho nút này là một hàm Similiarity (x, y), hàm này được định nghĩa là hàm tương đồng giữa các nút x và y Sau đó sắp xếp các cặp nút phù

hợp với các giá trị hàm từ lớn nhất đến nhỏ nhất, giá trị của hàm tương đồng càng lớn thìxác suất liên kết trong các nút càng lớn

III.2.1 Local Similarity Index

Cơ chế đính kèm ưu tiên có thể được sử dụng để tạo ra mô hình phát triển mạng

không cần quy mô Xác suất tạo ra một liên kết mới của nút u tỷ lệ thuận với bậc của

nút Điều này cũng giống như chân lý “người giàu ngày càng giàu hơn” trong kinh tế

Trang 17

học Do đó, xác suất liên kết giữa nút u và nút v tỷ lệ thuận với d u d v Tương tự với cơ chếnày, chỉ số tương tự PA có thể được xác định như sau:

Lưu ý rằng chỉ số tương đồng không yêu cầu bất kỳ thông tin nút lân cận nào; do đó,chỉ số tương đồng này có độ phức tạp tính toán thấp nhất

3.1.1.3 Adamic-Adar

Chỉ số tương đồồng này gán giá trị hàm tương đồồng cao hơn cho một nút mức độnhỏ Thuật toán Adamic-Adar tin rằng mối quan hệ thuộc sở hữu của ít đối tượng hơn, sovới mối quan hệ thuộc sở hữu của nhiều đối tượng hơn, thì có ảnh hưởng lớn hơn đến dựđoán liên kết Định nghĩa của nó như sau:

3.1.1.4 Resource Allocation

Chỉ số tương đồng này được lấy cảm hứng từ các ý tưởng về các tài nguyên mạng

phức tạp được phân bổ động Trong cặp nút u, v không có liên kết trực tiếp, nút u có thể phân bổ một số tài nguyên cho nút v thông qua các nút lân cận chung của chúng Những nút

lân cận chung đảm nhận vai trò của những ‘người qua đường’ Trong trường hợp đơn giảnnhất, giả định rằng mỗi nút qua đường có một đơn vị tài nguyên; nó phân bổ các tài nguyên

này cho các nút lân cận một cách đồng đều Do đó, độ tương đồng của nút u và nút v có thể được định nghĩa là số lượng tài nguyên mà nút u nhận được từ nút v; cụ thể là

III.2.2 Overall Similarity Index

3.1.2.1 Katz

Năm 1953, Katz mô tả sự tương đồng bằng cách sử dụng đường dẫn toàn cầu (globalpath) Ý tưởng của phương thức này là càng nhiều đường đi giữa hai nút thì độ tương đồnggiữa hai nút càng lớn Phép đo Katz được định nghĩa như sau:

Với là số đường đi giữa nút u và nút v và độ dài của đường là l là một tham số từ 0

đến 1 Tham số này được sử dụng để kiểm soát sự đóng góp của đường dẫn đến sự tươngđồng; đường dẫn càng dài thì đường dẫn tạo ra sự tương đồng càng ít Độ phức tạp tính toán

Trang 18

3.1.2.2 Random Walk with Restart (RWR)

Chỉ báo này là một ứng dụng trực tiếp của thuật toán Xếp hạng trang

(PageRank) Một người đi bộ (walker) ngẫu nhiên bắt đầu từ nút u sẽ đến hàng xóm (neighbor) ngẫu nhiên của nó với xác suất c lặp đi lặp lại và trả về nút u với xác suất đại diện cho xác suất của walker ngẫu nhiên đến nút v trong điều kiện trạng thái ổn định Do đó, chúng ta có , với vị trí P là ma trận chuyển giao Nếu nút u được kết nối với nút v, thì ; hoặc

Vì vậy, giải pháp là Hệ số RWR có thể được định nghĩa là

So với chỉ số tương đồng cục bộ, chỉ số tương đồng toàn cầu cần nhiều thông tin cấutrúc liên kết mạng tổng thể hơn Mặc dù hiệu suất của chỉ số tương đồng tổng thể tốt hơn chỉ

số tương đồng cục bộ, nhưng nó có hai sai sót nghiêm trọng: thứ nhất, việc tính toán chỉ sốtương đồng toàn cầu rất tốn thời gian và khi mạng lớn, chương trình tính toán này không thểthực hiện Thứ hai, đôi khi thông tin cấu trúc liên kết toàn cầu không có sẵn, đặc biệt là khi

sử dụng cách tiếp cận phi tập trung để triển khai thuật toán Do đó, việc thiết kế chỉ số tươngđồng như thế nào là đặc biệt quan trọng, nó dễ tính toán và độ chính xác cao

Mặc dù các thuật toán dự đoán liên kết truyền thống đã tạo ra một số hiệu quả dựđoán, nhưng chúng không tận dụng được đầy đủ thông tin về cấu trúc liên kết Thuật toáncác nút lân cận chung đối xử bình đẳng với tất cả các nút lân cận chung; nó không phân biệtcác tác động khác nhau của các nước nút lân cận khác nhau đối với dự đoán liên kết Thuậttoán Katz phân biệt ảnh hưởng của các đường dẫn khác nhau có độ dài khác nhau, nhưng nókhông phân biệt ảnh hưởng của các đường dẫn có cùng độ dài đến dự đoán liên kết Cácthuật toán này chỉ xem xét các đặc điểm cấu trúc liên kết của mạng, coi mạng xã hội là tĩnh

và bỏ qua các thuộc tính thời gian và thuộc tính nút của mạng xã hội

3.2 Các thuật toán dự đoán liên kết dựa trên khả năng điều khiển của nút

Trong trường hợp Hình 2, thuật toán dự đoán liên kết truyền thống cho rằng mức độ

tương đồng được tính toán giữa nút A và nút B cũng giống như mức độ tương đồng giữa nút X và nút Y Tuy nhiên, khi trích xuất đồ thị con có chứa nút A, nút B và các nút lân cận chung của chúng; nút X, nút Y và các nút lân cận chung của chúng, như trong Hình 3.2, có thể thấy rằng các đường dẫn giữa nút A và nút B nhiều hơn các đường dẫn giữa nút X và

Trang 19

nút Y Theo thuật toán Katz, độ tương đồng của nút A và nút B cao hơn độ tương đồng của nút X và nút Y.

Hình 3: Hai đồ thị mạng xã hội có cùng độ nút

Hình 4: Đồ thị con được trích xuất chứa các nút dự đoán và nút lân cận chung

Quan sát mật độ của đồ thị con lân cận được trích xuất, nếu đồ thị con lân cận chungdày đặc hơn, thì các nút trong đồ thị con đóng góp nhiều hơn vào dự đoán liên kết Gán mật

độ của đồ thị con cho mỗi nút, có thể thấy rằng nếu lân cận chung chiếm tỷ lệ càng lớn trong

các lân cận của nút, thì nó có khả năng tạo ra liên kết mới giữa nút A và nút B càng

lớn Công thức sau để đo lực hướng dẫn của nút:

Trang 20

với là bậc của nút và là bậc của nút trong đồ thị con được trích xuất.

III.2.3Thuật toán CNGF

Bằng cách giới thiệu định nghĩa về khả năng điều khiển của nút, chúng ta biết rằngkhả năng điều khiển của các nút khác nhau là khác nhau Sự tương đồng giữa hai nút có thểđược biểu diễn bằng tổng khả năng điều khiển của mỗi nút Khả năng điều khiển của các nútlân cận chung lớn hơn và khả năng liên kết mới giữa hai nút lớn hơn Công thức mức độtương đồng của hai nút như sau:

với là số lượng liên kết mà nút được kết nối với các nút lân cận chung

các nút Độ phức tạp này có thể được chấp nhận trong mạng quy mô lớn

III.2.4Thuật toán KatzGF

Ý tưởng của thuật toán Katz là nếu có nhiều đường đi giữa hai nút thì khả năng tồntại một liên kết mới trong hai nút càng lớn Thuật toán Katz không phân biệt sự đóng gópcủa các đường dẫn có cùng độ dài Khả năng điều khiển của nút có thể phân biệt sự đónggóp của các nút khác nhau một cách hiệu quả Ta có thể sử dụng khả năng điều khiển núttrong thuật toán Katz Bởi vì các nút khác nhau, nên sự đóng góp của các đường dẫn cócùng độ dài là khác nhau Dựa trên những ý tưởng này, thuật toán KatzGF ra đời Các thuậttoán KatzGF đã tích hợp thông tin nút cục bộ và thông tin mạng xã hội toàn cầu một cáchhợp lý

Phần quan trọng nhất của thuật toán KatzGF là cách thiết kế công thức cho mức độtương đồng giữa hai nút Có tính đến sự đóng góp của các nút khác nhau trên cùng độ dàiđường dẫn là khác nhau, công thức KatzGF như sau:

với tham số nằm trong khoảng từ 0 đến 1 Tham số này được sử dụng để kiểm soát

sự đóng góp của đường dẫn đến sự tương đồng; đường dẫn càng dài thì càng ít sự đóng góp

là bậc của nút z trong đồ thị con chứa các nút kiểm tra và tất cả các nút đường dẫn giữa các

Trang 21

nút kiểm tra là bậc của nút z Công thức đầu tiên tính toán khả năng điều khiển của mỗi nút

trên đường dẫn giữa các cặp nút và tính tổng khả năng điều khiển của tất cả các nút đườngdẫn như là phần đóng góp của đường dẫn đến dự đoán liên kết

xã hội Khi quy mô mạng lớn thì độ phức tạp về thời gian của thuật toán KatzGF là rất cao.Thuật toán này cần biết thông tin toàn cầu của mạng xã hội Điều này cũng khó đạt đượctrong đời thực nên thuật toán KatzGF không phù hợp với mạng quy mô lớn

3.3 Các thuật toán dự đoán liên kết dựa trên nút nhiều thuộc tính

Thuật toán dự đoán liên kết truyền thống chỉ chặn ảnh chụp thời gian của mạng xãhội, bỏ qua các đặc điểm thời gian của mạng Thực tế, mạng xã hội thay đổi liên tục theothời gian

Xét theo đặc điểm thời gian của mạng, đồ thị mạng xã hội có thể được chia thành các

chuỗi đồ thị khác nhau phù hợp với một bước thời gian nhất định G = < Các đồ thị này là rời rạc Và {là một tập hợp thời gian rời rạc Đối với i, j, 1, sớm hơn Việc lựa chọn bước

thời gian phụ thuộc vào ứng dụng Bước thời gian có thể được đặt là một tháng hoặc mộtnăm

Để minh họa vai trò của thống kê thời gian nút đối với dự đoán liên kết tốt hơn,chúng ta có thể thực hiện một phép tính tương tự với đường trung bình động của tài chính

Ta sử dụng đường trung bình động (moving average) để trích xuất các xu hướng phát triểndài hạn từ dữ liệu nhiễu ngắn hạn trong tài chính Đường trung bình động là giá trị trungbình của một giá trị chỉ số trong một khoảng thời gian nhất định Ví dụ, xem xét giá trị độ

hội, chúng ta có thể loại bỏ một số dữ liệu nhiễu bằng cách sử dụng giá trị trung bình củathuộc tính nút và nhận một xu hướng ổn định trong dài hạn

Kết hợp khả năng điều khiển nút và bậc trung bình của nút, ta có thể dự đoán liên kếtdựa trên các thuộc tính cấu trúc liên kết nút và thuộc tính thời gian mạng Trong phần này,thực hiện một số sửa đổi về định nghĩa khả năng điều khiển nút và thêm các thuộc tính thời

gian vào định nghĩa khả năng điều khiển nút Ta nhận được chuỗi biểu đồ G = <từ biểu đồ mạng xã hội G = (V, E), trong đó mỗi biểu đồ là một biểu đồ vô hướng Trong mỗi đồ thị, ta

Trang 22

tính toán và tương ứng Sau đó, sử dụng ý tưởng về đường trung bình động của các nút,tính bậc trung bình của nút trong toàn bộ mạng và đồ thị con được trích xuất Bậc trung bìnhcủa nút trong đồ thị con được trích xuất là Bậc trung bình của nút trong toàn bộ đồ thị là Cuối cùng, đưa và vào công thức định nghĩa của khả năng điều khiển nút, ta được công thứcmới kết hợp các thuộc tính thời gian:

Với định nghĩa mới trước đó, chúng ta có thể sửa đổi thuật toán CNGF và thuật toánKatzGF Kết hợp thuật toán CNGF với các thuộc tính cấu trúc liên kết mạng xã hội và thuộctính thời gian, ta được thuật toán CNGF_T Công thức là:

Công thức tương đồng mới trong KatzGF_T:

Trang 23

CHƯƠNG IV TIỀN XỬ LÝ DỮ LIỆU VÀ TRỰC QUAN HÓA DỮ LIỆU LÊN

ĐỒ THỊ 4.1 Tiền xử lí dữ liệu

Hình 5: Tiền xử lí dữ liệu

4.2 Tạo mạng liên kết

Cài đặt đồ thi có hướng cho mạng:

Hình 6: Cài đặt đồ thi có hướng cho mạngBảng lưu trữ thống kê cho mỗi node:

Hình 7: Lưu trữ thống kê cho mỗi nodeTổng số Node và cạnh:

Hình 8: Tính tổng số node và cạnh

Trang 24

4.3 Trực quan hóa mạng liên kết

Hình 9: Trực quan hóa mạng liên kết

Trang 25

CHƯƠNG V PHÂN TÍCH, TRỰC QUAN HÓA CÁC ĐỘ ĐO TRONG MẠNG

XÃ HỘI 5.1 Độ đo Degree Centrality

Degree Centrality

+ Trực quan hóa mạng liên kết theo độ đo Degree Centrality

Trang 26

Hình 10: Trực quan hóa mạng liên kết theo độ đo Degree Centrality

Trang 27

+ Top 10 nodes có Degree Centrality cao nhất:

Hình 11: Top 10 nodes có Degree Centrality cao nhất

Trang 28

+ Tần số và xác xuất xuất hiện Degree Centrality

Hình 12: Tần số và xác xuất xuất hiện Degree Centrality

In-Degree Centrality

+ Trực quan hóa mạng liên kết theo độ đo In-Degree Centrality

Trang 29

Hình 13: Trực quan hóa mạng liên kết theo độ đo In-Degree Centrality

Trang 30

+ Top 10 nodes có In-Degree Centrality cao nhất:

Hình 14: Top 10 nodes có In-Degree Centrality cao nhất

Trang 31

+ Tần số và xác xuất xuất hiện In-Degree Centrality:

Hình 15: Tần số và xác xuất xuất hiện In-Degree Centrality

Out-Degree Centrality

+ Trực quan hóa mạng liên kết theo độ đo Out-Degree Centrlity:

Trang 32

Hình 16: Trực quan hóa mạng liên kết theo độ đo Out-Degree Centrlity

Trang 33

+ Top 10 nodes có Out-Degree Centrality cao nhất:

Hình 17: Top 10 nodes có Out-Degree Centrality cao nhất

Trang 34

+ Tần số và xác xuất xuất hiện Out-Degree Centrality

Hình 18: Tần số và xác xuất xuất hiện Out-Degree Centrality

Nhận xét:

+ Qua việc phân tích trên Python Ví dụ, lấy ra top 3 nodes có các ID:107,1684 ,1912 có độ đo Out-Degree cao nhất Hay nói cách khác đây lànhững ID đi kết bạn nhiều nhất Các ID: 1888, 2543, 1800 có độ đo In-Degreecao nhất, hay nói cách khác đây là những ID có bạn bè nhiều nhất

5.2 Độ đo Betweenness Centrality

Trực quan hóa mạng liên kết theo độ đo Betweeness Centrlity

Ngày đăng: 07/12/2022, 19:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "Page Rank Algorithm and Implementation," [Online]. Available: https://www.geeksforgeeks.org/page-rank-algorithm-implementation/ Sách, tạp chí
Tiêu đề: Page Rank Algorithm and Implementation
Nhà XB: GeeksforGeeks
[2] "Girvan–Newman algorithm," [Online]. Available: https://en.wikipedia.org/wiki/Girvan%E2%80%93Newman_algorithm Sách, tạp chí
Tiêu đề: Girvan–Newman algorithm
[3] "PageRank," [Online]. Available: https://vi.wikipedia.org/wiki/PageRank Sách, tạp chí
Tiêu đề: PageRank
[4] "Betweenness centrality," [Online]. Available: https://en.wikipedia.org/wiki/Betweenness_centrality Sách, tạp chí
Tiêu đề: Betweenness centrality
Nhà XB: Wikipedia
[5] M. Telatnik, "How To Get Started with Social Network Analysis," 27 05 2020. [Online]. Available: https://towardsdatascience.com/how-to-get-started-with-social-network-analysis-6d527685d374 Sách, tạp chí
Tiêu đề: How To Get Started with Social Network Analysis
Tác giả: M. Telatnik
Nhà XB: Towards Data Science
Năm: 2020
[6] "Is it possible to find closeness centrality using Gephi?," [Online]. Available: https://stackoverflow.com/questions/28727120/is-it-possible-to-find-closeness-centrality-using-gephi Sách, tạp chí
Tiêu đề: Is it possible to find closeness centrality using Gephi
[7] D. Liyan , L. Yongli , Y. Han , L. Huang and R. Mao , "The Algorithm of Link Prediction on Social Network," 17 09 2013. [Online]. Available:https://www.hindawi.com/journals/mpe/2013/125123/ Sách, tạp chí
Tiêu đề: The Algorithm of Link Prediction on Social Network
Tác giả: D. Liyan, L. Yongli, Y. Han, L. Huang, R. Mao
Nhà XB: Mathematical Problems in Engineering
Năm: 2013

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w