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

Luận văn thạc sĩ công nghệ thông tin Nghiên cứu và phát triển thuật toán tìm phần tử chính yếu trong mạng xã hội và ứng dụng

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.06 MB, 84 trang )



B GIÁO DO
I HC LC HNG
  





 NH


NGHIÊN CU VÀ PHÁT TRIN THUT TOÁN
TÌM PHN T CHÍNH YU
TRONG MNG XÃ HI VÀ NG DNG





LU THÔNG TIN















B GIÁO DO
I HC LC HNG
  





 NH


NGHIÊN CU VÀ PHÁT TRIN THUT TOÁN
TÌM PHN T CHÍNH YU
TRONG MNG XÃ HI VÀ NG DNG

Chuyên ngành: Công ngh thông tin
Mã s : 60.48.02.01


LU THÔNG TIN


NG DN KHOA HC
 PHÚC










L


ng, ngoi tr các kt qu tham kho t các
công trình khác và mt s lý thuyt trên internet   ngun
tham kho trong luc trình bày trong lu
này là do chính tôi thc hin ni dung nào ca lun
c n ly bng cp  ng này hong khác.

Ngày tháng 



 nh



LI C

Tôi xin gi ln Thy Cô, bng
n tr tôi rt nhiu v kin th
tinh thn trong quá trình tôi thc hin lu


c bit c 
cp và truyn dy cho tôi nhng kin thc rt hu dng, giúp tôi
hoàn thi           
pháp nghiên cu khoa hn nhng công vic c th trong lun


 nh.



TÓM T TÀI

Lup trung nghiên cu mt v mà cng
khoa h   tìm phn t chính yu
(Key Player) trong mng xã hi. Bài toán tìm phn t chính yu là
bài toán nh mt hoc mt nhóm các phn t  th mà
nu m làm gãy các liên k th. Da vào
bài     n nht   nh ca m  th có
ng  a nó. Mng xã hi c xem là 
th ng, các thc th trong mnh c th, mi
quan h gia các thc th trong mng là các cnh c th. Bài
t ra là xây dng thui ngn nh
nh c th, kt hp v t nh thc
th nào là quan trng và có tm ng ln nht ti các thc th
khác trong mng xã hi.
Lu tóm tt lý thuyt các khái nin mng
xã hi, k thut phân tích mng, phn t chính yu 
trong mng xã hi. Trên c  lu thit k và xây
dng h th thc nghim thut gii tìm tp Key player trên các

tp d liu thc t.



DANH MC NHNG T VIT TT TRONG LU

BFS : Breadth First Search
CNTT : Công Ngh Thông Tin
JUNG : Java Universal Network / Graph Framework
MXH : Mng Xã Hi
SNA : Social Network Analysis




DANH MC HÌNH
Hình 1.1: Mô t mng xã hi. 1
Hình 2. 1: Mô hình mng Xã hi (Social Network) 6
Hình 2.2: Mô hình mng xã hi Facebook. 7
Hình 2.3: Mô hình các thành viên ca mng Twitter. 8
Hình 2.4: Mô hình phân bit Follower và Friend trong mng Twitter 10
Hình 2. 5: Giao din chính ca mng Facebook 11
i truy cp Facebook trong 1 tun t n
04/08/2012 (ngun socialbakers.com) 11
Hình 2.7: Biu din tnh trong mô hình mng. 13
Hình 2.8: Din t  th  th ng 14
Hình 2.9: Ví d ng 15
Hình 2.10: Mô t các thành viên trong mng xã hi 18
Hình 2.11: Ví d m th gnh 19
Hình 2.12: M th g tìm Degree Centrality 20

Hình 2.13: M th gm 10  tìm Degree Centrality 21
Hình 2.14: Mô t v trí Betweenness Centrality 24
HÌnh 2.15: Mt mng xã h tính Betweenness Centrality 25
Hình 2.16: Tm ng c a trên trung gian 28
Hình 2.17: Hình minh ha ví d tìm Closeness centrality 34
Hình 2.18: Mô t m Closeness Centrality ca mng 31
 a trên trung gian, s lân cn và tr  32
Hình 2.20: H s gom cm c th 35
Hình 2.21: Ví d mt Mng xã hi 41
Hình 2.22: Mô t v trí ca Key player trong mng 37



Hình 3.1: Cu trúc mng xã hi 42
Hình 3.2: Cách thc Duy. 49
c thc hi 53
Hình 4.2: Tp d lic x lý 53
Hình 4.3: Tp d liu dolpc x lý 54
Hình 4.4: Danh sách Tnh Karate 55
Hình 4.5: Danh sách Tp cnh Karate 55
Hình 4.6: Danh sách T 56
Hình 4.7: Danh Sách Tp Cnh Dolphins 56
Hình  th biu din tp d liu Karate 57
 th biu din tp d liu Dolphins 57
Hình 4.10: Màn hình báo cáo kt qu 58
  th thành ma trn k 60
  th thành danh sách liên thuc 61
  th thành danh sách lin k 62
Hình 4.14: Giao din np d liu. 63
Hình 4.15: Giao din V  th trc quan 64

Hình 4.16: Tính Degree Centrality 64
Hình 4.17: Tính Betweenness Centrlity 65
Hình 4.18 Tính Closeness Centrality 65
Hình 4.19: Hin th kt qu c 65
Hình 4.20: Mô t tp d liu thc nghim 69
Hình 4.21: Giao din kt qu cui cùng c 67






DANH MC BNG
B nh sau khi tính toán 20
B  th gnh 21
Bng 2.3:   th 25
Bn nht ca tt c  th 26
B Closeness Centrality c th 29
Bng 2.6: M Closeness Centrality ca mng 36
Bng 3.1: Cách thc duy th bng Thut toán BFS 51
Bng 4.1: Cách th d li th bng Danh sách liên thuc. 61
Bng 4.2: Cách th d li th bng Danh sách liên k 62



MC LC
*
NG QUAN 1
1.1. Gii thi tài 2
1.2. Lý do ch tài 3

1.3. Mc tiêu c tài 3
1.4. Phm vi nghiên cu c tài 4
 LÝ THUYT 6
2.1. Tng quan v mng xã hi 6
2.2. Các Mng Xã hi thông dng hin nay. 7
2.2.1. Mng xã hi Twitter 7
2.2.2. Mng xã hi Facebook 10
2.3. Các khái nin trong vic t chc mng xã hi 12
2.3.1. Tnh 13
2.3.2. Tp cnh 14
2.4. n nht trong mng 15
2.5. K thut phân tích mng xã hi (Social Network Analysis  SNA) 15
2.5.1. Bi cnh 15
2.5.2. ng dng thc t 16
2.6.  ng 17
2.6.1.  c - Degree Centrality 18
2.6.2.  a trên trung gian 22
2.6.3.   ln cn - Closeness Centrality 28
2.6.4.  a trên tr  32
2.6.5. H s gom cm trong mng  Clustering Coefficient 32
2.7. Phn t chính yu 35
N T CHÍNH YU TRONG MXH 39
3.1. Gii thiu 39
3.2. Bài toán tìm phn t chính yu trong mng xã hi. 39
3.2.1. Phát biu bài toán 39
3.2.2. ng dng ca bài toán tìm phn t chính yu. 41
3.2.3. Thut gii tìm phn t chính yu. 42
a. Thut gii tìm Degree Centrality. 42
b. Thut gii tìm Betweenness Centrality. 44
c. Thut gii tìm Closeness Centrality 47




d. Thut gin nht t mn tt c nh còn
l th. 48
T K XÂY DC
NGHIM 53
4.1. Gii thiu. 53
4.1.1. n 1: Thu thp và rút trích d liu 53
4.1.2. n 2: X lý d liu 54
4.1.3. n 3: 58
4.2. T ch d liu. 58
4.2.1. Gii thiu 58
4.2.2.  d liu. 59
a. Cu trúc ma trn k 59
b. Danh sách liên kt 60
4.3. Xây dng h thng gii quyt bài toán tìm phn t chính yu. 63
4.4. Kt qu thc nghim. 66
T LUNG PHÁT TRIN 69
5.1. Nh tài 69
5.2. Hn ch c tài, cách khc phc 70
5.3. ng phát trin 70
TÀI LIU THAM KHO





-1-
NG QUAN


ng giao tip ca th k 21 gn lin vi cm t Mng xã h
m và chia s thông tin vô cùng hiu qu. Vi mt cái tên hoa
ch email, mi có th nhanh chóng tìm thy nhau. Mt hong ca
mt cá nhân hay mt doanh nghip có th ng ng vi s  nhiu
i. Mi thông tin trên mng xã hi có th c nhanh chóng lan ta da
vào mi quan h kt ni ca mi thành viên trên mng xã hi.
- Ví d, trong công ngh thông tin, mng xã hi trc tuyn (Online
t ni các thành viên có cùng s thích trên internet
không phân bit không gian và thi gian, thông qua các dch v mng xã hi
(Social Network Service). Có th nói, s i ca các site Facebook, Twitter,
n cho các mng xã hi ngày
càng tr nên ph bi


Hình 1.1: Mô t mng xã hi.
Ngun: [16]
Phân tích mng xã hi có ngun gc t ngành Xã hi hc và các ngành
phân tích mng, lý thuy th.
Các nhà khoa h dng xã
hi   nghiên cng truyn thông trên internet,
m ph bi



-2-
1.1. Gii thi tài
Phân tích mng xã hi (Social Network Analysis  SNA) hi
mt trong các ch  c quan tâm nghiên cu. Phân tích mng xã hi bao
gm vic nghiên cu các quan h, kt ni, mu truyn thông và hành vi gia

các nhóm xã h
ng xã hi" (Social Network Analysis -
c nghiên cu và ng dng ngày càng nhi
cu xã hi hc nói riêng và khoa hc xã hi nói chung. Ti Vi
pháp phân tích mng xã hi còn khá mi mc ng d
pháp phân tích này còn khá hn ch.
     nh phn t chính yu
(Key player) hay còn gi là nhng tác nhân quan trng trong mng xã hi.
Phn t chính yu là các phn t trong mc xem là quan trng xét
theo mu ki nói rng, key player là nhng node có kh
u khin lung thông tin, là nhng node ni bt nht và có tm nh
n các node khác trong mng xã hi.
  nh các mi liên kt ca mt
 th. Thông qua Centrality, ta có th phát hic thc th nào
trong mng là quan trng và có tm n nhng thc th khác.
Dn nhnh ca m th có
ng. Có th xem mng xã h th ng, các thc th trong
mnh (node) c th, mi quan h gia các thc th trong mng
là các cnh (link) c th.
t ra là xây dng thun nh
nh c th, t nh thc th nào là quan trng nht, có tm nh
ng ln nht ti các thc th khác trong mng xã hi.
Các v t ra n



-3-
 Các khái nim v mng xã h
Link, Edge, Clique,
 Cu trúc d lia mng xã hc t ch

nào?
 n nhnh ca m th có
ng.
   mng xã hi và các k thut phân tích mng
xã hi d 
1.2. Lý do ch tài
Trong phân tích mng xã hi, bài toán tìm phn t chính yu (Key
Player) là mt trong nhng bài toán quan tr gii quyt nhiu v liên
quan trong xã hi nói chung và ngành Công ngh thông tin nói riêng.
Các doanh nghip áp d phân tích và ci thin mi liên
lc truyn thông bên trong t chc và mi
tác. Phân tích và tìm ra nhng phn t chính yu có sc lan ta thông tin rng
rãi, t ng chic makerting, qung cáo sn phm ca h t
hi
 giáo di hng hay Trung hc chuyên
nghip có th áp d tìm ra nhng phn t nào có m
ng ln nh lan ta thông tin nhanh và chính xác nht ti mi
phn t khác trong mng xã hi, t  t qung bá nh
o, hay nhng thông tin tuy
Trong các website mng xã hc s dng các thành
phn ca phân tích mng xã h xây dng chnhn din và
gii thiu kt bn tia trên liên kt friends to friends.
1.3. Mc tiêu c tài
Qua quá trình tìm hiu v mng xã hi, lu cp ti cách thc
tìm các phn t chính yu, quan trng (key players) trong mng xã h t



-4-
ng cho nhic khác nhau. Mc tiêu chính yu ca lu

này là:
- Nghiên cu v mng xã hi (Social Network).
- Tìm hiu v Key player trong mng xã hi.
- Tìm hiu v các lo ng xã hi.
- Tìm hiu v k thut phân tích mng xã hi.
- Nghiên cu và phát trin thunh tp các phn t chính
yu trong mng xã hi d 
- c nghim da trên:
o Mng tham kho các bài báo trên Internet.
o Mng liên kt các trang web (web link)
- Hin thc thut toán tìm Key players ba.

1.4. Phm vi nghiên cu c tài
 tài tp trung vào tìm hiu và nghiên cu các v sau:
 Tìm hiu v mng xã hi và các v liên quan.
 Trin khai xây dng c nghim, xây dng ng dng
và tt gii thut cho bài toán n nht
trong mng liên kt các websites.
 Th nghii thut trên b d liu thc t
C th tài thc hin các ni dung sau:
 Nghiên cu các mô hình mng xã hi truyn thông.
 Tìm hihân tích mng xã hi.
 Tìm hiu mt s phn mm phân tích mng xã hi.
 Tìm hiu thun nh th ng
và vng) và các lo . T xây d
trình mô phng thut toán áp dnh phn t
chính yu trong mng xã hi.




-5-
 Thu thp d liu thc t  kim tra.
 Tim ca thut toán.
 i ti khc ph



-6-
 LÝ THUYT

2.1. Tng quan v mng xã hi
- Mng xã hi (MXH) là m th mô t s a các cá th
có cùng mi quan tâm, có liên h trc tip hay gián tip
- i trang Wikipedia [16] MXH (Social Network) 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      t không gian và thi
gian.
- Mt mt mng xã hi bao gm mt tp hp các phn t (nodes), mi
node có th là mt cá th, mt tp th, thm chí là mt t chc có liên
kt, ràng buc ln nhau thông qua các mi quan h xã hi gi là các
liên kt (links).

Hình 2. 1: Mô hình mng Xã hi (Social Network)
Ngun:
- Trong công ngh thông tin, MXH trc tuyn t ni các thành
viên cùng s thích trên Internet không phân bit không gian và thi
gian thông qua các dch v mng xã hi Email, chat, Internet




-7-
 S  i c      
Youtube, Google+n cho mng xã hi ngày càng tr
ng, ph bi
- Nói mt cách khác, MXH là mng tp hp các công c, dch v trc
tuyn t - email, dio lun , blogs, chat, các
trang mng xã hi, các trang chia s hình n tr s
i gia nhi s dng. [8]

Hình 2.2: Mô hình mng xã hi Facebook.
Ngun:
2.2. Các Mng Xã hi thông dng hin nay.
2.2.1. Mng xã hi Twitter
a. Gii thiu tng quan
Twitter là mt mng xã hi vc chia s theo thi gian
thc, cho phép m i giao tip b   i nhng mu tin
ngn (ch 140 ký t).



-8-
T nhng li ích thc t rt ln nên vic s dng Twitter cho Internet
u mà bt c mt marketer n phi thc hin, nó
giúp cho vic kt ni và chia s n các khách hàng cùng s
dng Twitter (ngun ).
c thành lp  c s dng bi
nhi trong hu hc trên th gii. Dch v có sn trong
 p tc cp nht thêm.

Hình 2.3: Mô hình các thành viên ca mng Twitter.

Ngun:
b. Các khái nin trong mng Twitter
Tweet  p mà bn mun chia s, gii hn  140 ký t.
Re-Tweeti mà bn follow chia s Tweet cho bn, bn
 chia s n,
y gi là Retweet.
Follow: Mng bn s thc hin khi mun kt ni v
 cp nht các Tweet, có mt nút Follow nm trên trang ca mt
i dùng Twitter, khi mn follow bn, h s click vào



-9-
nút Follow, không nht thit bn ph  c tr li. Bn
 khôa bn.
Direct Messagei dùng Twitter,
i nhn tin nhn phi gi tin nhn.
Following: Khi bc là bn
n s c cp nht mi Tweet
t 
Handle liên kn mt tài kho
p (Tweet) ca bn, bn s phi thêm ký t @ tc tên tài khon
 khi mun liên kn emeraldvn, ch c
p ca bn s
cha liên kn emeraldvn.
Hashtag: S  gp các Tweet có ni dung liên quan hoc các
Tweet có s dng cùng hashtag, cú pháp s là #<tag> (ví d
#digitalmarketing), sau khi s dng Hashtag thì trong mu tin ca
bn s có liên k tag bi khác click vào liên
kt này, h s  c tt c nhng Tweet s dng hashtag

digitalmarketing.
Listi dùng trong mi nhóm, nhóm có
th do bn t to.
Search   i dùng tìm kim các Tweet có liên quan
hoc cha cm t mà h m.
Timeline: Gia Facebook, Timeline hin th các
tweet ca bn và ca nhi b.
Trending Topic: Twitter s hin th c cho là 'hot' trong
th m hin ti, bn s th    c hin th
theo khu v ca bn.



-10-
Unfollow c v       ng cách
click vào nút Unfollow), bn s không th nhn các update t i
.

Hình 2.4: Mô hình phân bit Follower và Friend trong mng Twitter
Ngun: Twitter.com
2.2.2. Mng xã hi Facebook
a. Gii thiu tng quan
Facebook là mt website mng xã hi truy cp min phí do công ty
u hành. i dùng có th tham gia các mc
t chc theo thành phng hc và khu v liên kt và
giao tip vi khác. M kt bn và gi tin nhn
cho h, và cp nht trang h  thông báo cho bn bè
bit v chúng. Tên ca website nhc ti nhng cun s 
ghi tên nhng thành viên ca cng campus mà mt s ng i
hc và cao ng ti M n mng, phòng ban,

 có th làm quen vi nhau tng. (theo
a ).



-11-

Hình 2. 5: Giao din chính ca mng Facebook
Vi dùng thc s thành mt
mng xã hi ph bin trên toàn th gii dùng  m
tui, mi quc gia, mi n.
    dàng nh  kinh doanh, kt ni vi khách
hàng, to các mi quan h, ly thông tin t m
sn phm hoc dch v.

Hình 2.6: i truy cp Facebook trong 1 tun t n
04/08/2012 (ngun socialbakers.com)



-12-
b. Các khái nin trong mng Facebook
Wall: Trang cá nhân ca bn, nó s cha các status,
comment, hình nh, photo, video mi nht mà bn va chia s.
Statusi "what's on your mind", b
n chia s u gì vi mi.
Note: Ch mà bn s vit thoi mái mi th 
vi status là bn có th vit bao nhiêu tùy thích, status thì tt nhiên
bn ch c vit ngn thôi.
Comment: Bình lun ca bn hoi khác v mt status,

link, note
Like: Nó là mi, khi
bn click vào tc là b mình Like mt status, bình lun
hoc m các website khác (nu nút Facebook Like
c add vào website này).
Friends: Bn bè ca bn trong Facebook, bn có th yêu cu
kt bn vi mc li, mi có th yêu cu kt
bn vi b giúp bn suggest bn bè cho
i khác, hoc t tìm bn bè cho bn (nu bn mi bu s
dng).
New Feeds    i nht (thông tin, status,
 bn bè và các nhóm xã hi ca bn, nó s c cp
nht theo thi gian.
Tagn din mu
trong mt hình nh, video hoc bài vi  
(ngun
2.3. Các khái nin trong vic t chc mng xã hi
Trong phân tích mng xã hi, ta xem xét mng xã h th mng
bao gnh (nodes), các cnh (links). Node biu din tp các tác nhân,



-13-
thc th, còn link biu din mi quan h (relation) gia các tác nhân, thc
th 
2.3.1. Tnh
Trong lý thuy th, tp nh còn c gi là tp nút (nodes). Trong
phân tích mng xã hc bip các tác nhân (actors) hay
tp thc th Trong mng xã hi, tnh u
trúc ca các mng xã hi, các thành viên hay các ct nhóm

i, mt t chc hay các quc gia, các trang web, các nhãn t khoá hay các
hình 
Ví d: ta xét tn t trong các m

Hình 2.7: Biu din tnh trong mô hình mng.
Ngun
M
phn t trong mng.



-14-
2.3.2. Tp cnh
Trong MXH, tp ci liên kt (Link) hay mi quan h
gia các tnh trong mng. Mi cnh ta có th hiu là mi hai
nh vi nhau. D lý thuy th, ta chia tp cnh ra là 2 loi:
 i v th ng: Tp cnh dng trc tic biu din
bng thng theo chi
 i v th ng: Tp cnh dng gián tic biu din
bng thng (không có chi)











 th ng  th ng

Hình 2.8: Din t  th  th ng
i v th, mt thành phn quan trrng s ca
cnh. Trng s ca c   nh m
hay tn sut liên kt gi th. i vi các bài toán trong lý
thuy  th, trng s       gii quyt bài toán tìm
n nh th.


A
v
B
D
C
E
A
B
D
C
E

×