1. Trang chủ
  2. » Luận Văn - Báo Cáo

bao-cao-do-an-mon-hoc-mang-xa-hoi

52 33 1

Đ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 đề Bitcoin Otc
Người hướng dẫn Giảng Viên Hướng Dẫn
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Hệ Thống Thông Tin
Thể loại Báo Cáo Đồ Án Môn Học
Năm xuất bản 2020
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 52
Dung lượng 11,49 MB

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

Nội dung

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

Trang 1

BÁO CÁO ĐỒ ÁN MÔN HỌC

MẠNG XÃ HỘI

Đề tài

BITCOIN OTC

GIẢNG VIÊN HƯỚNG DẪN

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

Thành phố Hồ Chí Minh, tháng 12 năm 2020

Trang 2

của các thành viên

Trang 3

MỤC LỤC

PHÂN CÔNG CÔNG VIỆC 2

NHẬN XÉT CỦA GIÁO VIÊN 5

LỜI CẢM ƠN 6

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

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

1.2 Mô tả dữ liệu 7

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 9

2.1 Lý thuyết về Nodes và Edges 9

2.1.1 Thế nào Nodes và Edges 9

2.1.2 Edges Direction 9

2.1.3 Edge Weight 10

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

2.2.1 Độ đo Degree Centrality 10

2.1.2 Độ đo Betweenness Centrality 11

2.1.3 Độ đo Closeness Centrality 12

2.1.4 Độ đo Clustering Coefficient 13

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

2.3.1 Cộng đồng 13

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 14

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

3.1 Tiền xử lý dữ liệu 16

3.2 Tạo mạng liên kết 16

3.3 Trực quan hóa mạng liên kết trên python 17

3.4 Visualize mạng trên Gephi 18

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

4.1 Độ đo Degree Centrality 19

4.1.1 Độ đo Degree Centrality trên Python 19

3

Trang 4

4.1.2 Độ đo Degree Centrality visualize trên Gephi 28

4.1.3 Nhận xét 30

4.2 Độ đo Betweenness Centrality 31

4.2.1 Độ đo Betweeness Centrality trên Python 31

4.2.2 Độ đo Betweeness Centrality visualize trên Gephi 34

4.2.3 Nhận xét 35

4.3 Độ đo Closeness Centrality 35

4.3.1 Độ đo Closeness Centrality trên Python 35

4.3.2 Độ đo Closeness Centrality visualize trên Gephi 38

4.3.3 Nhận xét 38

4.4 Độ đo Clustering Coefficient 38

4.4.1 Độ đo Clustering Coefficient trên Python 38

4.4.2 Độ đo Clustering coefficient trên Gephi 42

4.4.3 Nhận xét 42

CHƯƠNG 5: PHÂN TÍCH, TRỰC QUAN HÓA CÁC THUẬT TOÁN SỬ DỤNG TRONG MẠNG XÃ HỘI 43

5.1 Thuật toán Page Rank 43

5.1.1 Phân tích, trực quan hóa biểu đồ dữ liệu trên Python 43

5.1.2 Phân tích, trực quan hóa biểu đồ dữ liệu trên Gephi 46

5.1.3 Nhân xét 46

5.2 Thuật toán Girvan Newman 47

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

5.2.2 Nhận xét 48

TÀI LIỆU THAM KHẢO 50

Trang 5

NHẬN XÉT CỦA GIÁO VIÊN

5

Trang 6

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 Trongquá 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ệmquý báu Đặc biệt, nhóm chúng em xin gửi lời biết ơn sâu sắc đến cô Nguyễn Thị MinhPhụng – Giảng viên hướng dẫn môn Mạng xã hội (IS353 – L11) đã dành thời gian quýbáo và trực tiếp hướ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áomô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ân tí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ềukinh nghiệ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ểntrong tươ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 tranhkhỏi nhiều sai sót Vì vậy, nhóm rất mong nhận được những góp ý bổ sung từ cô để đề tàihoan thiện hơn

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

Trang 7

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

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

Mạng lưới mà ở đó những người giao dịch bằng Bitcoin trên nền tảng gọi là BitcoinOTC Bitcoin OTC viết tắt của từ “over the counter” là nơi để giới siêu giàu mua và bánBitcoin và các tài sản hoặc tiền điện tử khác mà không làm tăng nghiêm trọng hoặc giảmgiá, tối đa hóa sức mạnh giao dịch của họ Đó là một thị trường mua bán không cần kêđơn mà giao dịch thông qua đồng Bitcoin

Vì người dùng Bitcoin là ẩn danh, nên cần phải duy trì hồ sơ về sự uy tín của người dùng

để ngăn chặn các giao dịch với người dùng gian lận và rủi ro Các thành viên của BitcoinOTC đánh giá các thành viên khác theo thang điểm từ -10 (hoàn toàn không tin tưởng)đến 10 (cực kỳ tin tưởng)

Hình 1 Trang chủ nền tảng Bitcoin OTC

Trang 8

− Dataset gồm 5881 nodes, 35592 cạnh với 4 cột dữ liệu Mỗi hàng đại diện cho một

người dùng đánh giá người dùng khác về độ tin cậy trên nền tảng Bitcoin OTC

− Thông tin chi tiết về Dataset:

Trang 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT2.1 Lý thuyết về Nodes và Edges

2.1.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ết

Trang 10

Ví dụ: Nếu một khách hàng (nút bắt đầu) thanh toán cho một cửa hàng cà phê (nút kết

thúc) cho một ly cà phê, thì mối quan hệ đó không nhất thiết phải được đáp lại bởi vìcửa hàng cà phê cũng chưa trả tiền cho khách hàng

+ 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

Ví dụ: nếu hai người là bạn bè trên Facebook, mối quan hệ đó là vô hướng Đó là bởi

vì có thể nói Người A là bạn với Người B, nhưng cũng có thể nói Người B là bạn vớiNgười A

2.1.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ể

Ví dụ: nếu Người A mua một ly cà phê từ một quán cà phê 3 lần, thì cạnh nối Người A

và quán cà phê sẽ có trọng số là 3 Tuy nhiên, nếu Người B chỉ mua cà phê từ quán càphê một lần thì cạnh nối Người B và quán cà phê sẽ có trọng số bằng 1

2.2 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ộ trang 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:

2.2.1 Độ đ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ối quan

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

CD(v) = deg ⁡(v )

n−1

Trong đó:

Trang 11

 n: là số đỉnh của đồ thị

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

Tuy nhiên, trong một mạng có định hướng, thực tế có ba thước đo mức độ khác nhau Bởi

vì các cạnh này có nút bắt đầu và nút kết thúc, độ trong (số cạnh mà nút là nút kết thúc),

độ ngoài (số cạnh mà một nút là nút bắt đầu của) và độ (số cạnh a nút là nút bắt đầu hoặcnút kết thúc của) có thể được tính toán

2.1.2 Độ đ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ệccho 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ột nú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ó ítgắ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ũngkhông gầ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

11

Trang 12

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

σ st(v) = 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:

 CB (x) = C B (x)

(n−1)(n−2)/2

2.1.3 Độ đ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útkhác trong 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 Ví dụ,như được thấy trong sơ đồ bên dưới, Nút A được kết nối với Nút B và Nút B được kết nốivới Nút C Để Nút A đến được Nút C, nó sẽ mất hai bướ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 độ trungtâ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ắn nhất

Trang 13

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ànggầ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:

C C ( v )= 1

t∈V¿

d G(v ,t)

2.1.4 Độ đo Clustering Coefficient

Clustering Coefficient là độ đo mức độ mà các nút trong biểu đồ có xu hướng tập hợp lạivớ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à đặcbiệ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

13

Trang 14

2.3 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ươngtá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ếp hạngcá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ợpcác văn bản liên kết với nhau, ví dụ như World Wide Web

 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 được gắn kếtvớ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ốigiữ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ạ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á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ânvù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ủathuật toá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

Trang 15

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ởiFreeman Theo Freeman, các cạnh được coi là cạnh có số lượng con đường ngắn nhấtgiữa các cặp đỉnh khác nhau chạy qua nó Cạnh nối có ảnh hưởng rất lớn đến dòng chảycủa thông tin giữa các nút khác, đặc biệt là trong trường hợp thông tin lưu truyền trongmạ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ánchia này là thuật toán Girvan-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ối yếubằ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 theocác bướ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

15

Trang 16

CHƯƠNG 3: TIỀN XỬ LÝ DỮ LIỆU VÀ TRỰC

QUAN HÓA DỮ LIỆU LÊN ĐỒ THỊ3.1 Tiền xử lý dữ liệu

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

− Cài đặt đồ thị có hướng cho mạng

− Bảng lưu trữ thống kê cho mỗi node

− Tổng số node và cạnh

Trang 17

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

17

Trang 18

3.4 Visualize mạng trên Gephi

Trang 19

CHƯƠNG 4: PHÂN TÍCH, TRỰC QUAN HÓA CÁC

ĐỘ ĐO TRONG MẠNG XÃ HỘI 4.1 Độ đo Degree Centrality

4.1.1 Độ đo Degree Centrality trên Python

− Degree Centrality

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

19

Trang 20

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

Trang 21

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

21

Trang 22

− In-Degree Centrality

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

Trang 23

+ Top 10 nodes có In-degree centrality cao nhất:

23

Trang 24

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

Trang 25

− Out-Degree Centrality

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

25

Trang 26

+ Top 10 nodes có Out-degree centrality cao nhất:

Trang 27

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

27

Trang 28

4.1.2 Độ đo Degree Centrality visualize trên Gephi

− Degree Centrality

Trang 29

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

− In-Degree Centrality

29

Trang 30

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

− Out-Degree Centrality

Trang 31

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

4.1.3 Nhận xét

 Qua việc phân tích trên Python và visualize trên Gephi đều cho cùng kết quả Ví

dụ, lấy ra top 3 nodes có các ID: 35,2642 ,1810 đều có độ degree cao nhất Hay

31

Trang 32

nói cách khác đây là những id bình luận và nhận được bình luân nhiều nhất trong

hệ thống giao dịch Bitcoin OTC

4.2 Độ đo Betweenness Centrality

4.2.1 Độ đo Betweeness Centrality trên Python

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

Trang 33

33

Trang 34

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

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

Trang 35

4.2.2 Độ đo Betweeness Centrality visualize trên Gephi

35

Trang 36

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

4.2.3 Nhận xét

 Qua việc phân tích trên Python và visualize trên Gephi đều cho cùng kết quả

 Node 35 có độ đo Betweenness Centrality cao nhất tức là người có Id=35 có tầm quan trọng phổ biến về mức độ đánh giá giữa các kết nối các Id khác trong sàn bitcoin

4.3 Độ đo Closeness Centrality

4.3.1 Độ đo Closeness Centrality trên Python

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

Trang 37

+ Top 10 nodes có độ Closeness Centrality cao nhất:

37

Trang 38

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

Trang 39

4.3.2 Độ đo Closeness Centrality visualize trên Gephi

+ Top 10 nodes có độ Closeness Centrality cao nhất:

39

Trang 40

4.3.3 Nhận xét

 Qua việc phân tích trên Python và visualize trên Gephi đều cho cùng kết quả

 Có nhiều node có độ đo Closeness Centrality cao bằng 1.0 thể hiện mức độ kết nốicao của một nút với mọi nút khác trong mạng

4.4 Độ đo Clustering Coefficient

4.4.1 Độ đo Clustering Coefficient trên Python

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

Trang 41

+ Top 10 nodes có độ Clustering Coeficient cao nhất:

41

Trang 42

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

Trang 43

4.4.2 Độ đo Clustering coefficient trên Gephi

+ Top 10 nodes có độ Clustering Coeficient cao nhất:

4.4.3 Nhận xét

 Qua kết quả phân tích trên python và gephi đều cho cùng kết quả

 Top 10 nodes có độ Clustering coefficient đều có giá trị bằng 1

43

Trang 44

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

5.1.1 Phân tích, trực quan hóa biểu đồ dữ liệu trên Python

Trang 45

+ Top 10 nodes có độ Page Rank cao nhất:

45

Trang 46

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

Trang 47

5.1.2 Phân tích, trực quan hóa biểu đồ dữ liệu trên Gephi

+ Top 10 nodes có Page Rank cao nhất:

47

Ngày đăng: 23/11/2021, 08:58

HÌNH ẢNH LIÊN QUAN

Hình 1 Trang chủ nền tảng Bitcoin OTC - bao-cao-do-an-mon-hoc-mang-xa-hoi
Hình 1 Trang chủ nền tảng Bitcoin OTC (Trang 6)
− Bảng lưu trữ thống kê cho mỗi node - bao-cao-do-an-mon-hoc-mang-xa-hoi
Bảng l ưu trữ thống kê cho mỗi node (Trang 15)

TỪ KHÓA LIÊN QUAN

w