SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
국힙 랩퍼 네트워크 분석.
191011
by frhyme
사실 제 전공이 이쪽이고, 그냥 심심해서 해본 것이기는 한데,
<국내 힙합 사람들>의 인스타그램 following 관계를 데이터로 수집하여,
<네트워크 분석>을 통해 서로 어떠한 관계를 맺고 있고,
누가 중요한 사람인지를 파악 하는 것을 할 수 있을 것 같아요.
* <국내 힙합 사람들>: 랩퍼+프로듀서+커뮤니티 등 국내 힙합과 밀접한 관련을 맺고 있다고
(내가 판단한) 인스타그램 계정 251개
** <네트워크 분석>: 대상을 점(Node)로, 대상의 관계를 선(Edge)로 네트워크를 구축하고 해
당 네트워크/점/선의 특성을 분석하는 것
*** <국내 힙합 네트워크>: 각 각 인스타그램ID가 점(Node)이 되고, “팔로윙 관계”가 선
(Edge)이 되어, 네트워크를 구축하게 됩니다. 팔로윙 관계는 방향이 있으므로, 최종 구축되는
네트워크는 방향이 있는 네트워크(Directional Network)가 됩니다
연구 목적.
데이터 수집 대상
대충 국힙이라고 할만한 251명의 인스타그램계정을 대상으로 데이터를 수집하였습니다.
너무 많아서 잘 안보일텐데, 진짜 그냥 웬만하면 있다고 생각하시면 됩니다.
*hiphople와 같은 커뮤니티 계정, vmc와 같은 회사 계정들도 몇 개 포함되어 있습니다.
['freevjfreevj', '82god_myundo', 'nucksal', 'choilb', 'hiphopplaya', 'gaekogeem', 'bizzionary', 'supergreathurricane', 'uneducatedkid', 'nuoliunce', 'changmo_',
'djwegun', 'huckleberryp84', 'fkuropinion', 'jayflowsik', 'namtunod', 'keemhongwu', 'younghotyellow94', 'dope_doug051', 'thisisjusthis', 'saewoo_ng', 'osa_qwala',
'cjadoublem', 'puffcankillemall', 'dickidsyoungb', 'way_ched', 'drynno', 'killagramz3xl', 'thequiett', 'doo___young', 'hashblanccoa', 'bassagong_',
'eat_it_up_everything', 'paloaltongue', 'hangzoo', 'trapdaddystax', 'dohnballer', 'newchamp6110', 'choiza11', 'mic.swagger', 'joosuc_', 'boycold_', 'opticaleyezxl',
'boohyunseok_', 'losmoonwalker', 'originalgimchi', 'rap_house_official', 'kirincominatya', 'drunkentigerjk', 'munchinthepool', 'ptype_thebigcat', 'micasabando',
'leellamarz', 'mcrap_bmw', 'blacknine.choe', 'realisshoman', 'rohannlxiv', 'mckdaddy_', 'donmills1988', 'ogsnackychan', 'doplamingo', 'g2slife', 'rtpwboib',
'junoflo', 'geegooin', 'itsjustswings', 'superstarjimmyfuckedup', 'yfgod', 'woodie_gochild', '8balltown', 'esensofficial', 'woogie_park', 'jparkitrighthere',
'jerrykmusic', 'eloinvvd', 'thehenzclub', 'code_kunst', 'sogumm', 'uglyduck062', 'chrt_iamfree', 'jaguarshit', 'hiphople', 'brillyondabeat', 'pumkin2k', 'giriboy91',
'jaedal92', '9ucci_ice', 'legitgoonsworld', 'jayho', 'hwimmm', '_quddnd0823_', 'deepflow39', 'yumdda', 'osa_odomar', 'yunhway', 'bignaughtyboi', 'layon_e',
'horimshin', 'itstrumalik', 'ph1boyyy', 'callupveiniy', 'poy.muzeum', 'coogie0123', 'lilboi91', 'kidcozyboy', 'olltii', 'kebeesoul', 'jihogivenchy',
'chillinhomiethesavior', 'buggy_vmc', 'm.b.a_ek', 'millicmillic', 'kawaiiasfuckyeahthatsme', 'ddolbae87', 'nicezizo', 'kingchimane', 'yunbnotlilb', 'swervyonline',
'advjjking', 'qmquestionmark', 'nuckdive', 'unofficialboyy', 'theuglygoblin', 'nasimbazawadilla', 'brynbling', 'wutan_vmc', 'jowonu', 'youngji_02', 'zitodive',
'nothermaturesgold', 'sokodomo', 'soulman80', 'official_bully_da_bastard', 'untellimclick', 'ambition_musik', 'ash.island', 'zenethezilla', 'amoebakorea',
'crush9244', 'jowoochan_santa', 'iamjuniorchef', 'aomgofficial', 'parttimecooks', 'blackmossptc', 'hoodykim', 'goosebumpstrack', 'chachamalone', 'dumbfoundead',
'yohanheaven', 'kiff_woong', 'noahmik', 'paulblancobain', 'kiff_yenjamin', 'kiff_vinxen', 'jvckiwai', 'blnk0.0', 'godtrippydog', 'wavycolde', 'sloneverslowdown',
'groovypark', 'badboyloo', 'ilovebradystreet', 'bigoneisthename', 'rooftop_blase', 'thisloop', 'sleepysta', 'dbo0dbo', 'mkitrain', 'chang_starr', 'nasungcityboy',
'mattrixfromspace', 'trap_satsuki_20', 'balmingtiger', 'freerangeneighborkid', 'komfcore', 'ziont', 'deantrbl', 'penomadeincorea', 'minoschoi', 'dprcream', 'i__q__',
'moowoong.j', 'saulgoodeptc', 'chrt_cokejazz', 'jhnovr', 'rowdee38', 'junggigo', 'carthegarden', 'xpentox', 'slyodee', 'hwajilla', 'ikbuckjtong', 'lovolf',
'ignitovitality', 'bewhy.meshasoulja', 'woozico0914', 'gnncjegrgr', 'xockstar', 'yellowyuja', 'pinkbeanieboiboi', 'mushvenom', 'dindinem', 'tedparkboi',
'h1ghrmusic', 'liltachl', 'sandybeach0205', 'lastnameseo', 'trapqueen_vani', 'vismajor_company', 'king_ydg', 'leeloptimist', 'blobyblo', 'crucialstar', 'dhdldzlzl',
'leebidomylibido', 'bornkim1', 'mc_snowmen', 'koonta1234', 'chrt_okasian', 'cavinghost33', 'callmegray', 'jessicah_o', 'heizeheize', 'woofmojito', 'chaboombox',
'jkyunee_grvv', 'chrt_keithape', 'dprlive', 'pottymonkey', 'sanethebigboy', 'wejustmusic', 'coxbilly_money', 'indigomusic_official', 'hyundolee_', 'dingo_freestyle',
'dok2gonzo', 'dpgem', 'hiliterecords', 'mcsniper2015', 'somablu', 'koz_entofficial', 'realbasick', 'lilcherryontop', 'longlivesmdc', 'mc_meta', 'owen5vadoz',
'yngandrichrecords', 'realllllmino', 'satgotloco', 'takeone.goodtimefortheteam', 'thebabylon']
데이터 수집 방식(aka 노가다)
이미 아시겠지만, 인스타그램에서 데이터를 가져오는 것은 어렵습니다.
(사실 당연한 것이, 이 정보가 마케팅적으로 매우 가치 있는 데이터니까요)
그런데 이는 불특정한 사람의 정보를 모두 가져올 때의 이야기이고,
저처럼 대상(국힙 사람들)을 확정한 상황에서는 조금은 쉽습니다(그래봤자 노가다이기는 합니다만).
다음의 프로시저에 따라 수집하였습니다.
1. 내 인스타그램 계정에서 대상으로 하는 모든 국힙 사람들의 계정을 팔로우 한다.
: 가령, 대상으로 하는 국힙 사람들이 (A, B, C, D)라면, 이 사람들을 모두 팔로우 함)
2. A의 계정 페이지에서 A의 follower 목록을 누르면, A의 모든 follower 중에서 내가 팔로우하고 있는
(A, B, C, D)가 먼저 등장하게 됨.
: 즉, 전체 follower 데이터를 가져올 필요 없이, A, B, C, D 데이터만 복사해서 가져오면 됨.
3. 이걸 A - D 까지 반복한다.
즉, 저는 251명의 계정으로부터 데이터를 가져왔기 때문에, 이 작업을 251명 했다는 것이죠 하하
물론 이렇게 긁어진 데이터는 텍스트이며, 여기서 유의미한 정보를 뽑으려면 간단한 몇 가지 처리가 더 필요
하긴 합니다.
수집된 데이터를 활용해서 네트워크를 구축합니다.
왼쪽은 <수집된 데이터>, 오른쪽이 수집된 데이터로부터 구축한 일명 <국힙 인스타 네트워크>가 됩니다.
보통, 네트워크 분석이라고 하면, 시각화해서 멋있게 보여주는 것을 많이들 생각하시지만,
지금처럼 점(Node)이 200개를 넘어가면 아주 지저분하게 보여서 제외했습니다.
아무튼, 이렇게 구축된 네트워크를 가지고 분석을 해봅니다.
국힙 인스타 네트워크 구축
A
B
C
D
E
from-rapper to-rapper
A B
B A
A C
C D
E D
B E
<수집된 데이터> <국힙 인스타 네트워크>
네트워크 전처리: Strongly Weakness
A
B
<연결되어 있지 않음> <약하게 연결됨> <강하게 연결됨>
C
A
B
C
A
B
C
우선, 현재 네트워크가 잘 연결되어 있는지를 파악합니다.
현재 구축한 네트워크는 인스타그램 팔로우를 기본으로 하며, 즉 “방향성”을 가지고 있습니다.
(예로 A는 B를 팔로우 해도, B는 A를 팔로우하지 않을 수 있으니까요)
이러한 방향성 있는 네트워크(Directional Network)는 다음과 같은 3가지로 분류될 수 있습니다.
- <연결되어 있지 않음>: 연결되지 않는 노드들이 존재함(A, B는 연결되어 있으나, C는 고립되어 있음)
- <약하게 연결됨>: 모든 노드가 한 방향으로는 연결되나, 양방향으로 연결되어 있지 못함
- <강하게 연결됨>: 모든 노드가 양 방향으로 연결되는 경로가 존재함.
네트워크 전처리: out-degree가 적은 노드 삭제
현재 구축된 네트워크의 경우 “약하게 연결”되어 있습니다.
즉, 한쪽 방향으로는 접근할 수 있지만, 다른 한쪽 방향으로는 접근할 수 없다는 이야기죠.
(예: A ⇒ B 경로 존재, B ⇒ A 경로 없음)
꼼꼼히 보면, 인스타그램 상에서 몇몇 랩퍼들의 경우 아무도 팔로윙하고 있지 않습니다.
저는 이걸 조금 더 확장하여, 다음 조건을 적용하였습니다
“following하는 랩퍼가 5명 미만인 랩퍼는 삭제한다”
*<팔로윙하는 사람>이 아닌, <팔로윙하는 랩퍼>입니다. 즉, 앞서 말씀드린 251명의 랩퍼들 중에서 5명 미만
으로 팔로윙하는 사람들을 제외합니다.
그 결과로 아래의 23명의 점들이 네트워크에서 제외되었습니다.
['8balltown', 'thisloop', 'mkitrain', 'leeloptimist', 'blobyblo', 'callmegray', 'chaboombox',
'coxbilly_money', 'dingo_freestyle', 'dok2gonzo', 'dpgem', 'somablu', 'koz_entofficial', 'realbasick',
'lilcherryontop', 'longlivesmdc', 'mc_meta', 'owen5vadoz', 'yngandrichrecords', 'realllllmino',
'satgotloco', 'takeone.goodtimefortheteam', 'thebabylon']
네트워크 기본 특성
아무튼, <국힙 인스타 네트워크>를 구축하였습니다. 기본 적인 특성은 다음과 같습니다.
점의 수(Node size): 228명 ⇒ 본 네트워크는 총 228개 인스타 계정간의 네트워크이며,
선의 수(Edge size): 16,992개 ⇒ 점 간에 존재하는 following 관계의 수는 16,992개이며,
밀도(Density): 0.328 ⇒ complete graph 대비 edge의 수를 말합니다만, 말도 안되게 높은 값입니다.
간단히, “(인스타그램으로 추정해보았을 때)국힙판에서 사람과 사람은 아주 서로 가깝게 존재한다”라고 할 수 있습
니다.
최단거리 길이 path 분포:
노드 간에 32%는 딱 한 다리 건너면 도달하고, 65%는 두 다리 건너면 도달합니다.
즉, 97%의 관계가 “팔로워의 팔로워(혹은 팔로윙의 팔로윙 등)”면 도달한다는 이야기죠.
그러니까, 자주 싸우지만, 최소한 인스타그램에서는 사실 너무도 가까운 사람들이라는 이야기입니다.
16,992(32%)
33,843(65%)
921(3%)
최단거리가 1인 관계 최단거리가 2인 관계 최단거리가 3인 관계
아무튼 <국힙 네트워크>의 기본적인 특성은 저렇다고 합니다.
이제, 해당 네트워크에서 중요한 노드가 무엇인지를 찾아봅시다.
물론, “중요하다”는 것은 다양한 의미로 번역될 수 있습니다만, 저는 다음을 각각 보려고 합니다.
(정확히는 “계정”, 혹은 “사람”이라고 해야 좋지만, 그냥 “랩퍼”라고 칭했습니다.
- In-degree: 랩퍼들로부터 가장 팔로우를 많이 받는 랩퍼는?
- In-degree/Out-degree: 랩퍼들을 팔로우를 하는 것보다 랩퍼들로부터 팔로우를 받는 게 더 많은 사람은?
- Closeness Centrality: 대부분의 랩퍼들과 가까운 거리를 가지는 랩퍼는 누구인가?
- Betweenness Centrality: 안친한 랩퍼들과 랩퍼들의 사이에 존재하는 랩퍼는 누구인가?
- pagerank: 영향력 있는 랩퍼들이 팔로우하는 랩퍼는 누구인가?
(해당 네트워크에서 어떤 정보가 흐른다고 할때, 이 정보가 가장 많이 도착하는 랩퍼는 누구인가?)
어려워 보이지만, 개 쉽습니다. 하나씩 다음 장에서 설명할게요.
됐고, 중요한 노드를 찾아보자.
In-degree는 말 그대로, “들어온 정도”를 의미합니다.
우리가 구축한 네트워크는 방향성이 있고, 노드로 들어오는 Edge도, 나가
는 Edge도 있습니다.
여기서, In-degree는 들어온 Edge를 의미하며,
즉, In-degree는 “누가 랩퍼들로부터 팔로윙을 많이 받는 랩퍼”인지를
의미합니다.
간단한, 의미를 가지며, In-degree 상위 5명은 순서대로
제이팍, 빈지노, 팔로알토, 넉살, 염따 입니다.
물론, 해당 값은 “팔로윙하는 랩퍼의 영향력”을 반영하지 않았고, 이는
뒤의 pagerank에서 반영될 예정입니다.
랩퍼들의 랩퍼!: In-degree
name indegree
1 jparkitrighthere 169
2 realisshoman 165
3 paloaltongue 165
4 nucksal 158
5 yumdda 158
6 dohnballer 156
7 thequiett 155
8 giriboy91 151
9 itsjustswings 151
10 uglyduck062 150
11 code_kunst 148
12 dickidsyoungb 147
13 donmills1988 145
14 deepflow39 145
15 munchinthepool 144
16 coogie0123 137
17 kidcozyboy 136
18 hiphopplaya 133
19 dbo0dbo 133
20 changmo_ 131
21 nasungcityboy 128
22 yunbnotlilb 126
23 woodie_gochild 126
24 cjadoublem 126
25 younghotyellow94 126
26 zenethezilla 125
27 m.b.a_ek 125
28 jvckiwai 122
29 huckleberryp84 122
30 originalgimchi 122
name indegree outdegree in/out
1 chrt_okasian 100 27 3.703704
2 thequiett 155 50 3.100000
3 xockstar 61 21 2.904762
4 dprlive 88 38 2.315789
5 ikbuckjtong 81 35 2.314286
6 mushvenom 88 39 2.256410
7 bewhy.meshasoulja 112 52 2.153846
8 realisshoman 165 78 2.115385
9 ziont 117 56 2.089286
10 i__q__ 52 25 2.080000
11 woozico0914 103 51 2.019608
12 deantrbl 103 51 2.019608
13 changmo_ 131 65 2.015385
14 crush9244 116 58 2.000000
15 esensofficial 109 56 1.946429
16 jessicah_o 70 36 1.944444
17 cjadoublem 126 67 1.880597
18 heizeheize 58 32 1.812500
19 nasungcityboy 128 75 1.706667
20 leellamarz 89 54 1.648148
21 uneducatedkid 120 74 1.621622
22 drunkentigerjk 68 42 1.619048
23 jayflowsik 35 22 1.590909
24 paulblancobain 68 44 1.545455
25 komfcore 52 34 1.529412
26 gaekogeem 111 73 1.520548
27 jparkitrighthere 169 115 1.469565
28 gnncjegrgr 45 31 1.451613
29 dumbfoundead 91 63 1.444444
30 keemhongwu 110 77 1.428571
In-degree는 말 그대로 “들어온 정도(나를 팔로우하는 사람)”를 말합
니다. 그렇다면 Out-degree는 “나간 정도(내가 팔로우하는 사람)을 의
미하죠.
여기서 하나의 가정을 세웁니다.
“어떤 랩퍼의 경우 팔로윙하는 랩퍼의 수가 적은데, 랩퍼의 팔로워 수
가 많다면, 이 랩퍼는 리스펙을 받고 있는 랩퍼다"
라고 할 수 있지 않을까요?
이를 확인하기 위해서 In-degree를 out-degree로 나누어서 순위를 매겨
봅니다(단, out-degree가 너무 적은 경우(n<20)는 제외하였습니다)
상위 5명은 순서대로,
오케이션, 더콰, 짱유, dprlive, 제이통입니다.
특히, 더콰의 경우는 오케이션에 비해서 약 2배의 사람을 팔로우하고
있다는 것을 고려하면, 매우 높은 수치를 가지는 것이죠.
랩퍼들의 짝사랑: In-degree/Out-degree
Closenss centrality는 노드가 “해당 네트워크의 다른 노드들까지 얼마
나 빨리 갈 수 있는지”를 의미합니다.
예를 들어, Node A의 Closeness centrality 값이 Node B보다 높다면,
“Node A는 Node B보다 평균적으로 다른 노드들에 빨리 접근할 수 있다”
는 것이죠.
즉, “대부분의 랩퍼들과 두루두루 친하게 지내는 랩퍼”를 의미한다고
할 수 있습니다.
다만, 아쉽게도 결과는 in-degree 순위와 큰 차이가 없습니다(약간의 순
위 변동만 있습니다)
이는 현재의 네트워크가 충분히 밀집해 있어서(밀도도 높고, 평균 최단
거리도 적은 등), degree와 비교했을 때 큰 차이가 발생하기 어렵기 때문
이죠.
전반적으로 넓게 친함: Closeness-centrality
name close_cent
1 jparkitrighthere 0.796491
2 paloaltongue 0.785467
3 realisshoman 0.785467
4 yumdda 0.766892
5 nucksal 0.766892
6 dohnballer 0.761745
7 thequiett 0.759197
8 itsjustswings 0.749175
9 giriboy91 0.749175
10 uglyduck062 0.746711
11 code_kunst 0.741830
12 dickidsyoungb 0.739414
13 deepflow39 0.734628
14 donmills1988 0.734628
15 munchinthepool 0.732258
16 coogie0123 0.716088
17 kidcozyboy 0.713836
18 hiphopplaya 0.707165
19 dbo0dbo 0.707165
20 changmo_ 0.702786
21 nasungcityboy 0.696319
22 yunbnotlilb 0.692073
23 woodie_gochild 0.692073
24 younghotyellow94 0.692073
25 cjadoublem 0.692073
26 zenethezilla 0.689970
27 m.b.a_ek 0.689970
28 originalgimchi 0.683735
29 huckleberryp84 0.683735
30 hwimmm
국힙판의 중재자: betweenness-centrality
betweenness-centrality는 개념이 조금 어려울 수 있는데, 대략 이런겁니다.
아래 그림과 같은 형태의 네트워크가 있다고 합시다. (A, B, C, D), (E, F, G)는 각각 서로 밀집되어 있죠.
이 둘을 각각 Community_1, Communtiy_2라고 합시다.
Community의 중간에는 H라는 노드가 있죠.
H는 서로 이질적인 두 집단(Community)의 매개자, 연결자 정도의 역할을 합니다.
A
B
C
H
E
F
G
<Community_1> <Community_2>
D
국힙판의 중재자: betweenness-centrality
이처럼, 중재자가 되는 노드가 보통 Betweenness-Centrality가 높습니다.
계산할 때는 “네트워크의 모든 노드 쌍(pair)의 최단거리(shortest-path)에 해당 노드가 포함되는 비율”을 사용합
니다.
예를 들어, A ⇒ E의 최단거리에는 반드시 H가 포함되어야 하죠. 아래 네트워크에서 H는 서로 다른 노드 간의 최단거
리에 관여하기 때문에, 전체 네트워크의 흐름을 제어한다고 할 수 있습니다.
A
B
C
H
E
F
G
<Community_1> <Community_2>
D
국힙판의 중재자: betweenness-centrality
A
B
C
E
F
G
<Community_1> <Community_2>
D
따라서, Betweenness-Centrality가 높은 노드가 해당 네트워크에서 삭제되면, 아래 그림과 같이 네트워크가 분리되거
나, 서로간의 연결성이 약화되는 결과를 가져옵니다.
즉, 우리의 네트워크에서 Betwenness-Centrality가 높은 노드는
“서로 다른 집단(레이블, 크루 등)간의 브릿지 역할을 수행한다”정도로 해석할 수 있겠죠.
상위 5명의 경우 다음과 같습니다.
힙합플레이야, 넉살, 자메즈, 스윙스, 팔로알토, 딥플로우
실제로, betwenness-centrallity가 높은 랩퍼들을 순서대로 네트워크에서 제거
해나가다보면, <네트워크의 평균 최단거리>가 계속 증가하다가 결국에는 네트워
크가 분리되기시작합니다. 즉, 이 값이 높은 랩퍼들은 네트워크를 현재의 상태
로 연결되어 있도록 하는데 영향을 미친다고 해석할 수 있죠.
여기서는 마이노스와 이로한의 순위가 급증했는데, 이는 아마도
마이노스가 소울컴퍼니/불한당/보석집 등 다양한 크루에 속해 있으며 특히 올드
스쿨과 뉴스쿨의 사이에 존재한다 라고 해석할 수 있고,
이로한의 경우는 VMC/고등랩퍼에 속해 있어서 그 양쪽을 연결하는 역할을 하게
된다 정도로 해석할 수 있을 것 같아요.
또한, 여기서는 제이팍과 염따의 순위가 다른 지표 대비 낮은 편이라는게 재밌
죠.
국힙판의 중재자: betweenness-centrality
name bet_cent
1 hiphopplaya 0.028208
2 nucksal 0.016285
3 dohnballer 0.014838
4 itsjustswings 0.014138
5 paloaltongue 0.014050
6 deepflow39 0.013469
7 donmills1988 0.012594
8 jparkitrighthere 0.011714
9 dickidsyoungb 0.011489
10 thisisjusthis 0.010531
11 giriboy91 0.009666
12 uglyduck062 0.009459
13 code_kunst 0.009372
14 minoschoi 0.009042
15 rohannlxiv 0.009027
16 osa_qwala 0.008905
17 hiphople 0.008877
18 yumdda 0.008811
19 olltii 0.008274
20 munchinthepool 0.008049
21 dbo0dbo 0.007882
22 ddolbae87 0.007543
23 realisshoman 0.007341
24 yunbnotlilb 0.007158
25 bignaughtyboi 0.007067
26 huckleberryp84 0.007001
27 hwimmm 0.006912
28 kidcozyboy 0.006709
29 m.b.a_ek 0.006405
30 coogie0123 0.006337
name page_rank
1 jparkitrighthere 0.010135
2 realisshoman 0.010121
3 paloaltongue 0.009338
4 uglyduck062 0.009012
5 yumdda 0.008836
6 nucksal 0.008768
7 dbo0dbo 0.008745
8 itsjustswings 0.008735
9 donmills1988 0.008735
10 thequiett 0.008718
11 munchinthepool 0.008580
12 dohnballer 0.008524
13 giriboy91 0.008485
14 dickidsyoungb 0.008376
15 code_kunst 0.008254
16 kidcozyboy 0.007980
17 deepflow39 0.007598
18 coogie0123 0.007509
19 younghotyellow94 0.007507
20 changmo_ 0.007421
21 uneducatedkid 0.007371
22 woodie_gochild 0.007320
23 zenethezilla 0.007274
24 nasungcityboy 0.007251
25 hwimmm 0.007248
26 groovypark 0.006996
27 hiphopplaya 0.006972
28 cjadoublem 0.006968
29 ddolbae87 0.006933
30 g2slife 0.006929
page-rank는 구글이 초기에 웹페이지의 중요성을 파악하기 위해서 사용한 알고
리즘이고요(지금은 훨씬 튜닝해서 쓰기는 합니다만).
예를 들어 랩퍼 A, B가 저를 팔로윙한다고 합시다. 랩퍼 A는 100명에게서 팔로
우를 받고, 다시 100명에게서 팔로윙을 하는 사람이고, 랩퍼 B는 랩퍼 100명에
게서 팔로우를 받고, 랩퍼 10명에게 팔로윙을 하는 사람입니다. 이때, 누가 더
저에게 가치 있는 팔로윙일까요? 매우 당연히도, 랩퍼 B겠죠.
(예를 들어, 111명만 팔로윙하는 더콰이엇에게 팔로윙되면 기분좋은 거랑 비슷
한 거죠)
pagerank는 이처럼, “영향력 있는 사람(혹은 아무나 팔로우하지 않는 사람)이
팔로윙하면 값이 증가하는 방법론”을 말합니다.
상위 5명은 제이팍, 빈지노, 팔로알토, 어글리덕, 염따 네요.
다른 지표에서는 낮은 순위의 디보가 상위 7위에 등장했습니다.
진짜 랩퍼들의 랩퍼: page-rank
1 jparkitrighthere
2 realisshoman
3 paloaltongue
4 nucksal
5 yumdda
6 dohnballer
7 thequiett
8 giriboy91
9 itsjustswings
10 uglyduck062
11 code_kunst
12 dickidsyoungb
13 donmills1988
14 deepflow39
15 munchinthepool
16 coogie0123
17 kidcozyboy
18 hiphopplaya
19 dbo0dbo
20 changmo_
중요한 노드 순위 비교
chrt_okasian
thequiett
xockstar
dprlive
ikbuckjtong
mushvenom
bewhy.meshasoulja
realisshoman
ziont
i__q__
woozico0914
deantrbl
changmo_
crush9244
esensofficial
jessicah_o
cjadoublem
heizeheize
nasungcityboy
leellamarz
In-degree
In-degree
/Out-degre
Betweenness
Centrality
Closeness
Centrality
PageRank
hiphopplaya
nucksal
dohnballer
itsjustswings
paloaltongue
deepflow39
donmills1988
jparkitrighthere
dickidsyoungb
thisisjusthis
giriboy91
uglyduck062
code_kunst
minoschoi
rohannlxiv
osa_qwala
hiphople
yumdda
olltii
munchinthepool
jparkitrighthere
paloaltongue
realisshoman
yumdda
nucksal
dohnballer
thequiett
itsjustswings
giriboy91
uglyduck062
code_kunst
dickidsyoungb
deepflow39
donmills1988
munchinthepool
coogie0123
kidcozyboy
hiphopplaya
dbo0dbo
changmo_
jparkitrighthere
realisshoman
paloaltongue
uglyduck062
yumdda
nucksal
dbo0dbo
itsjustswings
donmills1988
thequiett
munchinthepool
dohnballer
giriboy91
dickidsyoungb
code_kunst
kidcozyboy
deepflow39
coogie0123
younghotyellow94
changmo_
정리하면, 각 지표별 순위는 다음과 같습니다.
사실 차이가 좀 더 심하게 나야 분석하는 재미가 있는데, 국힙 네트워크는 너무도 촘촘한 네트워크라서, 할게없어요.
노드별로 특성은 뽑아냈으니, 이제 노드들의 집단, 즉 다른 노드들에 비해서 특히, 긴밀하게 연결되어 있는
집단을 찾아보는 것이 정석이기는 한데. 현재 네트워크는 매우 밀집되어 있어서, 이게 잘 안됩니다.
(이전에 말하대로, 97%가 2단계 내에 연결되니까요)
이미 몇 가지 클러스터링 방법을 써봤는데, 제대로 안되더라고요.
그래서, 그냥 CLIQUE 분석을 좀 해보고 마무리합니다.
몇몇 랩퍼들을 중심으로 그 사람이 속한 CLIQUE중에서 가장 큰 CLIQUE를 찾습니다.
* CLIQUE: Node간에 모든 EDGE가 존재하는 그래프(complete graph).
** Node의 수가 커질수록 존재하기 어려움
긴밀한 집단 분석: CLIQUE
Node size: 3 Node size: 4 Node size: 5
CLIQUE
Example
우선, 밀집된 네트워크이기 때문에, CLIQUE는 매우 많이 존재하고 또 비슷비슷합니다.
아무튼, CLIQUE라는 것은 해당 집단에 속한 모든 사람들이 서로를 완벽하게 쌍방으로 팔로우하고 있다는 것을 의미합니다.
아래와 같이, 모든 clique를 찾지 않고, 몇몇 랩퍼들(특히 레이블 수장+내마음대로)을 중심으로 찾아서 정리합니다.
딥플로우가 속한 가장 큰 CLIQUE: 21명이 속한 CLIQUE(현재 네트워크에서 가장 큰 CLIQUE)
['dohnballer', 'nucksal', 'paloaltongue', 'donmills1988', 'code_kunst', 'deepflow39', 'yunbnotlilb', 'coogie0123',
'younghotyellow94', 'originalgimchi', 'yumdda', 'uglyduck062', 'trapdaddystax', 'giriboy91', 'kidcozyboy', 'ilovebradystreet',
'zenethezilla', 'goosebumpstrack', 'jparkitrighthere', 'hwimmm', 'groovypark']
스윙스가 속한 가장 큰 CLIQUE: 19명이 속한 CLIQUE
['dohnballer', 'bignaughtyboi', 'coogie0123', 'kidcozyboy', 'eloinvvd', 'code_kunst', 'munchinthepool', 'groovypark',
'jparkitrighthere', 'hwimmm', 'yumdda', 'giriboy91', 'chrt_cokejazz', 'pumkin2k', 'paloaltongue', 'donmills1988', 'thisisjusthis',
'itsjustswings', 'rtpwboib']
이센스가 속한 가장 큰 CLIQUE: 14명이 속한 CLIQUE
['dohnballer', 'nucksal', 'esensofficial', 'uglyduck062', 'donmills1988', 'yumdda', 'coogie0123', 'dickidsyoungb', 'yfgod',
'deepflow39', 'zenethezilla', 'giriboy91', 'uneducatedkid', 'dbo0dbo']
CLIQUES 예시.
그런데, 하다보니까, CLIQUE간에 겹치는게 너무 많아요.
이전에 말한 바와 같이, 너무 밀집된 네트워크이다보니까, 사람 조금만 바뀌고 다 그놈이 그놈인 것이죠.
따라서, 아래와 같은 방법으로 순차적으로 CLIQUE를 뽑아보기로 했습니다.
가장 밀집된 놈을 뽑고 ⇒ 다음으로 밀집된 놈을 뽑고 의 순으로 진행한다고 생각하면 됩니다
(몇 가지 한계는 있지만, 현재의 상황에서는 이게 최선이에요)
순차적으로 CLIQUE를 뽑읍시다.
현재 네트워크에서 가장 큰 크기의 CLIQUE를 출력
해당 CLIQUE에 포함된 노드를 모두 삭제
아무튼, 이 방법은 초기에 어떤 CLIQUE를 먼저 뽑느냐에 따라서 뒤의 결과가 많이 달라지고, 먼저 나온 CLIQUE와 뒤
에 나오는 CLIQUE 간에 연결이 매우 많다는 한계가 있긴 하지만, 아래를 보면 나름 해석가능하게 나오기는 합니다(물
론 비약이 좀 있기는 하죠). 아무튼 위부터 순차적으로 뽑아낸 클리크이며 따라서 맨 위가 제일 크죠.
순차적으로 CLIQUE를 뽑읍시다.
['dohnballer', 'nucksal', 'paloaltongue', 'deepflow39', 'donmills1988', 'code_kunst',
'yunbnotlilb', 'coogie0123', 'younghotyellow94', 'originalgimchi', 'munchinthepool',
'uglyduck062', 'kidcozyboy', 'giriboy91', 'ph1boyyy', 'goosebumpstrack',
'jparkitrighthere', 'ilovebradystreet', 'losmoonwalker', 'hwimmm', 'groovypark']
['blnk0.0', 'bassagong_', 'ddolbae87', 'huckleberryp84', 'g2slife', 'hwajilla',
'wutan_vmc', 'rowdee38', 'slyodee', 'buggy_vmc', 'yumdda', 'rohannlxiv', 'horimshin']
['dickidsyoungb', 'itsjustswings', 'hangzoo', 'rtpwboib', 'hiphopplaya', 'mcrap_bmw',
'choilb', 'm.b.a_ek', 'chillinhomiethesavior', 'namtunod', 'lilboi91', 'bignaughtyboi']
['hashblanccoa', 'zenethezilla', 'woodie_gochild', 'jvckiwai', 'realisshoman',
'ash.island', 'yohanheaven', 'noahmik', 'kiff_vinxen', 'leellamarz']
['boycold_', 'thisisjusthis', 'yunhway', 'mckdaddy_', 'superstarjimmyfuckedup',
'brynbling', 'liltachl', 'official_bully_da_bastard', 'saewoo_ng']
['crush9244', 'millicmillic', 'deantrbl', 'eloinvvd', 'nasungcityboy', 'gaekogeem',
'woozico0914', 'penomadeincorea', 'wavycolde']
['osa_qwala', 'opticaleyezxl', 'minoschoi', 'ptype_thebigcat', 'godtrippydog',
'theuglygoblin', 'qmquestionmark', 'nasimbazawadilla', 'osa_odomar']
국힙 인싸 모임
리짓군즈 + VMC + HILITE
쇼미더머니 + ...
앰비션+하이어뮤직
비비드 + 아메바
??
보석집+불한당+오사마리
CLIQUE 해석
아 재밌을줄 알고 했는데 별 결과가 안 나왔습니다 호호호. 그래도, 아무튼 결과를 간략하게 정리하자면.
Small WORLD:
- (인스타그램)을 통해 본 한국 힙합 사람들은 정밀 밀집해 있다. 97%의 관계가 딱 2단계로 모두 이어짐.
- 겉으로 우리가 보면 회사별/레이블별로 다 명확한 선이 그어져 있을 것 같지만 그렇지 않다. 최소한,
“서로가 서로에게, 혹은 서로의 음악에 대해서는 계속 관심을 가지고 있다” 라고 해석할 수 있음.
Community Detection:
- 긴밀하게 연결된 집단을 더 잘 뽑아낼 수 있는 방법이 있을텐데, 내가 못하는 건지, 안되는 건지 헷갈릴 정도
로 국힙은 아주 밀접해 있음.
- CLIQUE를 이용해서 부족하게 나마 해봤지만, 분명히 더 효과적으로 할 수 있는 방법이 있을 것이고 그건 다음
에 해보겠음.
확장 방향:
- 현재 팔로윙 관계를 그림으로 그리고 있는 상황인데, 시간이 매우 오래 걸려서 힘듬.
급마무리.
혹시, 질문이 있으신 분들은
freerhein@gmail.com
으로 질문해주셔도 좋습니다.

Contenu connexe

Tendances

Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-akira6592
 
나의 이직 이야기
나의 이직 이야기나의 이직 이야기
나의 이직 이야기종립 이
 
식습관 스몰데이터 분석을 통한 장트러블 극복기
식습관 스몰데이터 분석을 통한 장트러블 극복기식습관 스몰데이터 분석을 통한 장트러블 극복기
식습관 스몰데이터 분석을 통한 장트러블 극복기Hyejeong Song
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 choi kyumin
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingTokoroten Nakayama
 
Deview2014 Live Broadcasting 추천시스템 발표 자료
Deview2014 Live Broadcasting 추천시스템 발표 자료Deview2014 Live Broadcasting 추천시스템 발표 자료
Deview2014 Live Broadcasting 추천시스템 발표 자료choi kyumin
 
MongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeeksMongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeekstobaru_yuta
 
화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자Yongho Ha
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること信之 岩永
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウShinsuke Sugaya
 
Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)
Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)
Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)YunhuiJeong1
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기NAVER D2
 
MOBILITY X DATA : 모빌리티 산업의 도전 과제
MOBILITY X DATA : 모빌리티 산업의 도전 과제MOBILITY X DATA : 모빌리티 산업의 도전 과제
MOBILITY X DATA : 모빌리티 산업의 도전 과제Seongyun Byeon
 
コードレビューを文化にするまでの取り組み.pdf
コードレビューを文化にするまでの取り組み.pdfコードレビューを文化にするまでの取り組み.pdf
コードレビューを文化にするまでの取り組み.pdfssuser5ddba11
 
요즘 유행하는 AI 나도 해보자 (feat. CoreML)
요즘 유행하는 AI 나도 해보자 (feat. CoreML)요즘 유행하는 AI 나도 해보자 (feat. CoreML)
요즘 유행하는 AI 나도 해보자 (feat. CoreML)Chiwon Song
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料Hironori Miura
 
OSINT x UCCU Workshop on Open Source Intelligence
OSINT x UCCU Workshop on Open Source IntelligenceOSINT x UCCU Workshop on Open Source Intelligence
OSINT x UCCU Workshop on Open Source IntelligencePhilippe Lin
 

Tendances (20)

Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
나의 이직 이야기
나의 이직 이야기나의 이직 이야기
나의 이직 이야기
 
Data Science. Intro
Data Science. IntroData Science. Intro
Data Science. Intro
 
식습관 스몰데이터 분석을 통한 장트러블 극복기
식습관 스몰데이터 분석을 통한 장트러블 극복기식습관 스몰데이터 분석을 통한 장트러블 극복기
식습관 스몰데이터 분석을 통한 장트러블 극복기
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
 
DAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebminingDAUを評価指標から捨てた会社の話 #tokyowebmining
DAUを評価指標から捨てた会社の話 #tokyowebmining
 
Deview2014 Live Broadcasting 추천시스템 발표 자료
Deview2014 Live Broadcasting 추천시스템 발표 자료Deview2014 Live Broadcasting 추천시스템 발표 자료
Deview2014 Live Broadcasting 추천시스템 발표 자료
 
MongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeeksMongoDBの脆弱性診断 - smarttechgeeks
MongoDBの脆弱性診断 - smarttechgeeks
 
화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자화성에서 온 개발자, 금성에서 온 기획자
화성에서 온 개발자, 금성에서 온 기획자
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
 
Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)
Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)
Community Flywheel: 커뮤니티 플라이휠, 유저 콘텐츠로 굴려내기 (2022 ver)
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
MOBILITY X DATA : 모빌리티 산업의 도전 과제
MOBILITY X DATA : 모빌리티 산업의 도전 과제MOBILITY X DATA : 모빌리티 산업의 도전 과제
MOBILITY X DATA : 모빌리티 산업의 도전 과제
 
コードレビューを文化にするまでの取り組み.pdf
コードレビューを文化にするまでの取り組み.pdfコードレビューを文化にするまでの取り組み.pdf
コードレビューを文化にするまでの取り組み.pdf
 
Burpで指定文字列を検索
Burpで指定文字列を検索Burpで指定文字列を検索
Burpで指定文字列を検索
 
요즘 유행하는 AI 나도 해보자 (feat. CoreML)
요즘 유행하는 AI 나도 해보자 (feat. CoreML)요즘 유행하는 AI 나도 해보자 (feat. CoreML)
요즘 유행하는 AI 나도 해보자 (feat. CoreML)
 
Vue.js で XSS
Vue.js で XSSVue.js で XSS
Vue.js で XSS
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
 
OSINT x UCCU Workshop on Open Source Intelligence
OSINT x UCCU Workshop on Open Source IntelligenceOSINT x UCCU Workshop on Open Source Intelligence
OSINT x UCCU Workshop on Open Source Intelligence
 

Plus de POSTECH

한국 힙합 피쳐링 네트워크 분석.
한국 힙합 피쳐링 네트워크 분석. 한국 힙합 피쳐링 네트워크 분석.
한국 힙합 피쳐링 네트워크 분석. POSTECH
 
Pyconkr2018 - quantify myself: self 사생활침해
Pyconkr2018 - quantify myself: self 사생활침해Pyconkr2018 - quantify myself: self 사생활침해
Pyconkr2018 - quantify myself: self 사생활침해POSTECH
 
quantify myself - Self사생활침해
quantify myself - Self사생활침해quantify myself - Self사생활침해
quantify myself - Self사생활침해POSTECH
 
공사다망공사파이 1년의 역사
공사다망공사파이 1년의 역사공사다망공사파이 1년의 역사
공사다망공사파이 1년의 역사POSTECH
 
Python(basic)
Python(basic)Python(basic)
Python(basic)POSTECH
 
How to use IFTTT(Automate your life)
How to use IFTTT(Automate your life)How to use IFTTT(Automate your life)
How to use IFTTT(Automate your life)POSTECH
 
2단 씁시다 진행방법 소개
2단 씁시다 진행방법 소개2단 씁시다 진행방법 소개
2단 씁시다 진행방법 소개POSTECH
 
일단 씁시다_진행방법소개
일단 씁시다_진행방법소개일단 씁시다_진행방법소개
일단 씁시다_진행방법소개POSTECH
 
Python + Excel
Python + Excel Python + Excel
Python + Excel POSTECH
 
대학원생 생존가이드
대학원생 생존가이드대학원생 생존가이드
대학원생 생존가이드POSTECH
 

Plus de POSTECH (10)

한국 힙합 피쳐링 네트워크 분석.
한국 힙합 피쳐링 네트워크 분석. 한국 힙합 피쳐링 네트워크 분석.
한국 힙합 피쳐링 네트워크 분석.
 
Pyconkr2018 - quantify myself: self 사생활침해
Pyconkr2018 - quantify myself: self 사생활침해Pyconkr2018 - quantify myself: self 사생활침해
Pyconkr2018 - quantify myself: self 사생활침해
 
quantify myself - Self사생활침해
quantify myself - Self사생활침해quantify myself - Self사생활침해
quantify myself - Self사생활침해
 
공사다망공사파이 1년의 역사
공사다망공사파이 1년의 역사공사다망공사파이 1년의 역사
공사다망공사파이 1년의 역사
 
Python(basic)
Python(basic)Python(basic)
Python(basic)
 
How to use IFTTT(Automate your life)
How to use IFTTT(Automate your life)How to use IFTTT(Automate your life)
How to use IFTTT(Automate your life)
 
2단 씁시다 진행방법 소개
2단 씁시다 진행방법 소개2단 씁시다 진행방법 소개
2단 씁시다 진행방법 소개
 
일단 씁시다_진행방법소개
일단 씁시다_진행방법소개일단 씁시다_진행방법소개
일단 씁시다_진행방법소개
 
Python + Excel
Python + Excel Python + Excel
Python + Excel
 
대학원생 생존가이드
대학원생 생존가이드대학원생 생존가이드
대학원생 생존가이드
 

한국힙합 인스타 팔로윙 네트워크 분석

  • 1. 국힙 랩퍼 네트워크 분석. 191011 by frhyme
  • 2. 사실 제 전공이 이쪽이고, 그냥 심심해서 해본 것이기는 한데, <국내 힙합 사람들>의 인스타그램 following 관계를 데이터로 수집하여, <네트워크 분석>을 통해 서로 어떠한 관계를 맺고 있고, 누가 중요한 사람인지를 파악 하는 것을 할 수 있을 것 같아요. * <국내 힙합 사람들>: 랩퍼+프로듀서+커뮤니티 등 국내 힙합과 밀접한 관련을 맺고 있다고 (내가 판단한) 인스타그램 계정 251개 ** <네트워크 분석>: 대상을 점(Node)로, 대상의 관계를 선(Edge)로 네트워크를 구축하고 해 당 네트워크/점/선의 특성을 분석하는 것 *** <국내 힙합 네트워크>: 각 각 인스타그램ID가 점(Node)이 되고, “팔로윙 관계”가 선 (Edge)이 되어, 네트워크를 구축하게 됩니다. 팔로윙 관계는 방향이 있으므로, 최종 구축되는 네트워크는 방향이 있는 네트워크(Directional Network)가 됩니다 연구 목적.
  • 3. 데이터 수집 대상 대충 국힙이라고 할만한 251명의 인스타그램계정을 대상으로 데이터를 수집하였습니다. 너무 많아서 잘 안보일텐데, 진짜 그냥 웬만하면 있다고 생각하시면 됩니다. *hiphople와 같은 커뮤니티 계정, vmc와 같은 회사 계정들도 몇 개 포함되어 있습니다. ['freevjfreevj', '82god_myundo', 'nucksal', 'choilb', 'hiphopplaya', 'gaekogeem', 'bizzionary', 'supergreathurricane', 'uneducatedkid', 'nuoliunce', 'changmo_', 'djwegun', 'huckleberryp84', 'fkuropinion', 'jayflowsik', 'namtunod', 'keemhongwu', 'younghotyellow94', 'dope_doug051', 'thisisjusthis', 'saewoo_ng', 'osa_qwala', 'cjadoublem', 'puffcankillemall', 'dickidsyoungb', 'way_ched', 'drynno', 'killagramz3xl', 'thequiett', 'doo___young', 'hashblanccoa', 'bassagong_', 'eat_it_up_everything', 'paloaltongue', 'hangzoo', 'trapdaddystax', 'dohnballer', 'newchamp6110', 'choiza11', 'mic.swagger', 'joosuc_', 'boycold_', 'opticaleyezxl', 'boohyunseok_', 'losmoonwalker', 'originalgimchi', 'rap_house_official', 'kirincominatya', 'drunkentigerjk', 'munchinthepool', 'ptype_thebigcat', 'micasabando', 'leellamarz', 'mcrap_bmw', 'blacknine.choe', 'realisshoman', 'rohannlxiv', 'mckdaddy_', 'donmills1988', 'ogsnackychan', 'doplamingo', 'g2slife', 'rtpwboib', 'junoflo', 'geegooin', 'itsjustswings', 'superstarjimmyfuckedup', 'yfgod', 'woodie_gochild', '8balltown', 'esensofficial', 'woogie_park', 'jparkitrighthere', 'jerrykmusic', 'eloinvvd', 'thehenzclub', 'code_kunst', 'sogumm', 'uglyduck062', 'chrt_iamfree', 'jaguarshit', 'hiphople', 'brillyondabeat', 'pumkin2k', 'giriboy91', 'jaedal92', '9ucci_ice', 'legitgoonsworld', 'jayho', 'hwimmm', '_quddnd0823_', 'deepflow39', 'yumdda', 'osa_odomar', 'yunhway', 'bignaughtyboi', 'layon_e', 'horimshin', 'itstrumalik', 'ph1boyyy', 'callupveiniy', 'poy.muzeum', 'coogie0123', 'lilboi91', 'kidcozyboy', 'olltii', 'kebeesoul', 'jihogivenchy', 'chillinhomiethesavior', 'buggy_vmc', 'm.b.a_ek', 'millicmillic', 'kawaiiasfuckyeahthatsme', 'ddolbae87', 'nicezizo', 'kingchimane', 'yunbnotlilb', 'swervyonline', 'advjjking', 'qmquestionmark', 'nuckdive', 'unofficialboyy', 'theuglygoblin', 'nasimbazawadilla', 'brynbling', 'wutan_vmc', 'jowonu', 'youngji_02', 'zitodive', 'nothermaturesgold', 'sokodomo', 'soulman80', 'official_bully_da_bastard', 'untellimclick', 'ambition_musik', 'ash.island', 'zenethezilla', 'amoebakorea', 'crush9244', 'jowoochan_santa', 'iamjuniorchef', 'aomgofficial', 'parttimecooks', 'blackmossptc', 'hoodykim', 'goosebumpstrack', 'chachamalone', 'dumbfoundead', 'yohanheaven', 'kiff_woong', 'noahmik', 'paulblancobain', 'kiff_yenjamin', 'kiff_vinxen', 'jvckiwai', 'blnk0.0', 'godtrippydog', 'wavycolde', 'sloneverslowdown', 'groovypark', 'badboyloo', 'ilovebradystreet', 'bigoneisthename', 'rooftop_blase', 'thisloop', 'sleepysta', 'dbo0dbo', 'mkitrain', 'chang_starr', 'nasungcityboy', 'mattrixfromspace', 'trap_satsuki_20', 'balmingtiger', 'freerangeneighborkid', 'komfcore', 'ziont', 'deantrbl', 'penomadeincorea', 'minoschoi', 'dprcream', 'i__q__', 'moowoong.j', 'saulgoodeptc', 'chrt_cokejazz', 'jhnovr', 'rowdee38', 'junggigo', 'carthegarden', 'xpentox', 'slyodee', 'hwajilla', 'ikbuckjtong', 'lovolf', 'ignitovitality', 'bewhy.meshasoulja', 'woozico0914', 'gnncjegrgr', 'xockstar', 'yellowyuja', 'pinkbeanieboiboi', 'mushvenom', 'dindinem', 'tedparkboi', 'h1ghrmusic', 'liltachl', 'sandybeach0205', 'lastnameseo', 'trapqueen_vani', 'vismajor_company', 'king_ydg', 'leeloptimist', 'blobyblo', 'crucialstar', 'dhdldzlzl', 'leebidomylibido', 'bornkim1', 'mc_snowmen', 'koonta1234', 'chrt_okasian', 'cavinghost33', 'callmegray', 'jessicah_o', 'heizeheize', 'woofmojito', 'chaboombox', 'jkyunee_grvv', 'chrt_keithape', 'dprlive', 'pottymonkey', 'sanethebigboy', 'wejustmusic', 'coxbilly_money', 'indigomusic_official', 'hyundolee_', 'dingo_freestyle', 'dok2gonzo', 'dpgem', 'hiliterecords', 'mcsniper2015', 'somablu', 'koz_entofficial', 'realbasick', 'lilcherryontop', 'longlivesmdc', 'mc_meta', 'owen5vadoz', 'yngandrichrecords', 'realllllmino', 'satgotloco', 'takeone.goodtimefortheteam', 'thebabylon']
  • 4. 데이터 수집 방식(aka 노가다) 이미 아시겠지만, 인스타그램에서 데이터를 가져오는 것은 어렵습니다. (사실 당연한 것이, 이 정보가 마케팅적으로 매우 가치 있는 데이터니까요) 그런데 이는 불특정한 사람의 정보를 모두 가져올 때의 이야기이고, 저처럼 대상(국힙 사람들)을 확정한 상황에서는 조금은 쉽습니다(그래봤자 노가다이기는 합니다만). 다음의 프로시저에 따라 수집하였습니다. 1. 내 인스타그램 계정에서 대상으로 하는 모든 국힙 사람들의 계정을 팔로우 한다. : 가령, 대상으로 하는 국힙 사람들이 (A, B, C, D)라면, 이 사람들을 모두 팔로우 함) 2. A의 계정 페이지에서 A의 follower 목록을 누르면, A의 모든 follower 중에서 내가 팔로우하고 있는 (A, B, C, D)가 먼저 등장하게 됨. : 즉, 전체 follower 데이터를 가져올 필요 없이, A, B, C, D 데이터만 복사해서 가져오면 됨. 3. 이걸 A - D 까지 반복한다. 즉, 저는 251명의 계정으로부터 데이터를 가져왔기 때문에, 이 작업을 251명 했다는 것이죠 하하 물론 이렇게 긁어진 데이터는 텍스트이며, 여기서 유의미한 정보를 뽑으려면 간단한 몇 가지 처리가 더 필요 하긴 합니다.
  • 5. 수집된 데이터를 활용해서 네트워크를 구축합니다. 왼쪽은 <수집된 데이터>, 오른쪽이 수집된 데이터로부터 구축한 일명 <국힙 인스타 네트워크>가 됩니다. 보통, 네트워크 분석이라고 하면, 시각화해서 멋있게 보여주는 것을 많이들 생각하시지만, 지금처럼 점(Node)이 200개를 넘어가면 아주 지저분하게 보여서 제외했습니다. 아무튼, 이렇게 구축된 네트워크를 가지고 분석을 해봅니다. 국힙 인스타 네트워크 구축 A B C D E from-rapper to-rapper A B B A A C C D E D B E <수집된 데이터> <국힙 인스타 네트워크>
  • 6. 네트워크 전처리: Strongly Weakness A B <연결되어 있지 않음> <약하게 연결됨> <강하게 연결됨> C A B C A B C 우선, 현재 네트워크가 잘 연결되어 있는지를 파악합니다. 현재 구축한 네트워크는 인스타그램 팔로우를 기본으로 하며, 즉 “방향성”을 가지고 있습니다. (예로 A는 B를 팔로우 해도, B는 A를 팔로우하지 않을 수 있으니까요) 이러한 방향성 있는 네트워크(Directional Network)는 다음과 같은 3가지로 분류될 수 있습니다. - <연결되어 있지 않음>: 연결되지 않는 노드들이 존재함(A, B는 연결되어 있으나, C는 고립되어 있음) - <약하게 연결됨>: 모든 노드가 한 방향으로는 연결되나, 양방향으로 연결되어 있지 못함 - <강하게 연결됨>: 모든 노드가 양 방향으로 연결되는 경로가 존재함.
  • 7. 네트워크 전처리: out-degree가 적은 노드 삭제 현재 구축된 네트워크의 경우 “약하게 연결”되어 있습니다. 즉, 한쪽 방향으로는 접근할 수 있지만, 다른 한쪽 방향으로는 접근할 수 없다는 이야기죠. (예: A ⇒ B 경로 존재, B ⇒ A 경로 없음) 꼼꼼히 보면, 인스타그램 상에서 몇몇 랩퍼들의 경우 아무도 팔로윙하고 있지 않습니다. 저는 이걸 조금 더 확장하여, 다음 조건을 적용하였습니다 “following하는 랩퍼가 5명 미만인 랩퍼는 삭제한다” *<팔로윙하는 사람>이 아닌, <팔로윙하는 랩퍼>입니다. 즉, 앞서 말씀드린 251명의 랩퍼들 중에서 5명 미만 으로 팔로윙하는 사람들을 제외합니다. 그 결과로 아래의 23명의 점들이 네트워크에서 제외되었습니다. ['8balltown', 'thisloop', 'mkitrain', 'leeloptimist', 'blobyblo', 'callmegray', 'chaboombox', 'coxbilly_money', 'dingo_freestyle', 'dok2gonzo', 'dpgem', 'somablu', 'koz_entofficial', 'realbasick', 'lilcherryontop', 'longlivesmdc', 'mc_meta', 'owen5vadoz', 'yngandrichrecords', 'realllllmino', 'satgotloco', 'takeone.goodtimefortheteam', 'thebabylon']
  • 8. 네트워크 기본 특성 아무튼, <국힙 인스타 네트워크>를 구축하였습니다. 기본 적인 특성은 다음과 같습니다. 점의 수(Node size): 228명 ⇒ 본 네트워크는 총 228개 인스타 계정간의 네트워크이며, 선의 수(Edge size): 16,992개 ⇒ 점 간에 존재하는 following 관계의 수는 16,992개이며, 밀도(Density): 0.328 ⇒ complete graph 대비 edge의 수를 말합니다만, 말도 안되게 높은 값입니다. 간단히, “(인스타그램으로 추정해보았을 때)국힙판에서 사람과 사람은 아주 서로 가깝게 존재한다”라고 할 수 있습 니다. 최단거리 길이 path 분포: 노드 간에 32%는 딱 한 다리 건너면 도달하고, 65%는 두 다리 건너면 도달합니다. 즉, 97%의 관계가 “팔로워의 팔로워(혹은 팔로윙의 팔로윙 등)”면 도달한다는 이야기죠. 그러니까, 자주 싸우지만, 최소한 인스타그램에서는 사실 너무도 가까운 사람들이라는 이야기입니다. 16,992(32%) 33,843(65%) 921(3%) 최단거리가 1인 관계 최단거리가 2인 관계 최단거리가 3인 관계
  • 9. 아무튼 <국힙 네트워크>의 기본적인 특성은 저렇다고 합니다. 이제, 해당 네트워크에서 중요한 노드가 무엇인지를 찾아봅시다. 물론, “중요하다”는 것은 다양한 의미로 번역될 수 있습니다만, 저는 다음을 각각 보려고 합니다. (정확히는 “계정”, 혹은 “사람”이라고 해야 좋지만, 그냥 “랩퍼”라고 칭했습니다. - In-degree: 랩퍼들로부터 가장 팔로우를 많이 받는 랩퍼는? - In-degree/Out-degree: 랩퍼들을 팔로우를 하는 것보다 랩퍼들로부터 팔로우를 받는 게 더 많은 사람은? - Closeness Centrality: 대부분의 랩퍼들과 가까운 거리를 가지는 랩퍼는 누구인가? - Betweenness Centrality: 안친한 랩퍼들과 랩퍼들의 사이에 존재하는 랩퍼는 누구인가? - pagerank: 영향력 있는 랩퍼들이 팔로우하는 랩퍼는 누구인가? (해당 네트워크에서 어떤 정보가 흐른다고 할때, 이 정보가 가장 많이 도착하는 랩퍼는 누구인가?) 어려워 보이지만, 개 쉽습니다. 하나씩 다음 장에서 설명할게요. 됐고, 중요한 노드를 찾아보자.
  • 10. In-degree는 말 그대로, “들어온 정도”를 의미합니다. 우리가 구축한 네트워크는 방향성이 있고, 노드로 들어오는 Edge도, 나가 는 Edge도 있습니다. 여기서, In-degree는 들어온 Edge를 의미하며, 즉, In-degree는 “누가 랩퍼들로부터 팔로윙을 많이 받는 랩퍼”인지를 의미합니다. 간단한, 의미를 가지며, In-degree 상위 5명은 순서대로 제이팍, 빈지노, 팔로알토, 넉살, 염따 입니다. 물론, 해당 값은 “팔로윙하는 랩퍼의 영향력”을 반영하지 않았고, 이는 뒤의 pagerank에서 반영될 예정입니다. 랩퍼들의 랩퍼!: In-degree name indegree 1 jparkitrighthere 169 2 realisshoman 165 3 paloaltongue 165 4 nucksal 158 5 yumdda 158 6 dohnballer 156 7 thequiett 155 8 giriboy91 151 9 itsjustswings 151 10 uglyduck062 150 11 code_kunst 148 12 dickidsyoungb 147 13 donmills1988 145 14 deepflow39 145 15 munchinthepool 144 16 coogie0123 137 17 kidcozyboy 136 18 hiphopplaya 133 19 dbo0dbo 133 20 changmo_ 131 21 nasungcityboy 128 22 yunbnotlilb 126 23 woodie_gochild 126 24 cjadoublem 126 25 younghotyellow94 126 26 zenethezilla 125 27 m.b.a_ek 125 28 jvckiwai 122 29 huckleberryp84 122 30 originalgimchi 122
  • 11. name indegree outdegree in/out 1 chrt_okasian 100 27 3.703704 2 thequiett 155 50 3.100000 3 xockstar 61 21 2.904762 4 dprlive 88 38 2.315789 5 ikbuckjtong 81 35 2.314286 6 mushvenom 88 39 2.256410 7 bewhy.meshasoulja 112 52 2.153846 8 realisshoman 165 78 2.115385 9 ziont 117 56 2.089286 10 i__q__ 52 25 2.080000 11 woozico0914 103 51 2.019608 12 deantrbl 103 51 2.019608 13 changmo_ 131 65 2.015385 14 crush9244 116 58 2.000000 15 esensofficial 109 56 1.946429 16 jessicah_o 70 36 1.944444 17 cjadoublem 126 67 1.880597 18 heizeheize 58 32 1.812500 19 nasungcityboy 128 75 1.706667 20 leellamarz 89 54 1.648148 21 uneducatedkid 120 74 1.621622 22 drunkentigerjk 68 42 1.619048 23 jayflowsik 35 22 1.590909 24 paulblancobain 68 44 1.545455 25 komfcore 52 34 1.529412 26 gaekogeem 111 73 1.520548 27 jparkitrighthere 169 115 1.469565 28 gnncjegrgr 45 31 1.451613 29 dumbfoundead 91 63 1.444444 30 keemhongwu 110 77 1.428571 In-degree는 말 그대로 “들어온 정도(나를 팔로우하는 사람)”를 말합 니다. 그렇다면 Out-degree는 “나간 정도(내가 팔로우하는 사람)을 의 미하죠. 여기서 하나의 가정을 세웁니다. “어떤 랩퍼의 경우 팔로윙하는 랩퍼의 수가 적은데, 랩퍼의 팔로워 수 가 많다면, 이 랩퍼는 리스펙을 받고 있는 랩퍼다" 라고 할 수 있지 않을까요? 이를 확인하기 위해서 In-degree를 out-degree로 나누어서 순위를 매겨 봅니다(단, out-degree가 너무 적은 경우(n<20)는 제외하였습니다) 상위 5명은 순서대로, 오케이션, 더콰, 짱유, dprlive, 제이통입니다. 특히, 더콰의 경우는 오케이션에 비해서 약 2배의 사람을 팔로우하고 있다는 것을 고려하면, 매우 높은 수치를 가지는 것이죠. 랩퍼들의 짝사랑: In-degree/Out-degree
  • 12. Closenss centrality는 노드가 “해당 네트워크의 다른 노드들까지 얼마 나 빨리 갈 수 있는지”를 의미합니다. 예를 들어, Node A의 Closeness centrality 값이 Node B보다 높다면, “Node A는 Node B보다 평균적으로 다른 노드들에 빨리 접근할 수 있다” 는 것이죠. 즉, “대부분의 랩퍼들과 두루두루 친하게 지내는 랩퍼”를 의미한다고 할 수 있습니다. 다만, 아쉽게도 결과는 in-degree 순위와 큰 차이가 없습니다(약간의 순 위 변동만 있습니다) 이는 현재의 네트워크가 충분히 밀집해 있어서(밀도도 높고, 평균 최단 거리도 적은 등), degree와 비교했을 때 큰 차이가 발생하기 어렵기 때문 이죠. 전반적으로 넓게 친함: Closeness-centrality name close_cent 1 jparkitrighthere 0.796491 2 paloaltongue 0.785467 3 realisshoman 0.785467 4 yumdda 0.766892 5 nucksal 0.766892 6 dohnballer 0.761745 7 thequiett 0.759197 8 itsjustswings 0.749175 9 giriboy91 0.749175 10 uglyduck062 0.746711 11 code_kunst 0.741830 12 dickidsyoungb 0.739414 13 deepflow39 0.734628 14 donmills1988 0.734628 15 munchinthepool 0.732258 16 coogie0123 0.716088 17 kidcozyboy 0.713836 18 hiphopplaya 0.707165 19 dbo0dbo 0.707165 20 changmo_ 0.702786 21 nasungcityboy 0.696319 22 yunbnotlilb 0.692073 23 woodie_gochild 0.692073 24 younghotyellow94 0.692073 25 cjadoublem 0.692073 26 zenethezilla 0.689970 27 m.b.a_ek 0.689970 28 originalgimchi 0.683735 29 huckleberryp84 0.683735 30 hwimmm
  • 13. 국힙판의 중재자: betweenness-centrality betweenness-centrality는 개념이 조금 어려울 수 있는데, 대략 이런겁니다. 아래 그림과 같은 형태의 네트워크가 있다고 합시다. (A, B, C, D), (E, F, G)는 각각 서로 밀집되어 있죠. 이 둘을 각각 Community_1, Communtiy_2라고 합시다. Community의 중간에는 H라는 노드가 있죠. H는 서로 이질적인 두 집단(Community)의 매개자, 연결자 정도의 역할을 합니다. A B C H E F G <Community_1> <Community_2> D
  • 14. 국힙판의 중재자: betweenness-centrality 이처럼, 중재자가 되는 노드가 보통 Betweenness-Centrality가 높습니다. 계산할 때는 “네트워크의 모든 노드 쌍(pair)의 최단거리(shortest-path)에 해당 노드가 포함되는 비율”을 사용합 니다. 예를 들어, A ⇒ E의 최단거리에는 반드시 H가 포함되어야 하죠. 아래 네트워크에서 H는 서로 다른 노드 간의 최단거 리에 관여하기 때문에, 전체 네트워크의 흐름을 제어한다고 할 수 있습니다. A B C H E F G <Community_1> <Community_2> D
  • 15. 국힙판의 중재자: betweenness-centrality A B C E F G <Community_1> <Community_2> D 따라서, Betweenness-Centrality가 높은 노드가 해당 네트워크에서 삭제되면, 아래 그림과 같이 네트워크가 분리되거 나, 서로간의 연결성이 약화되는 결과를 가져옵니다. 즉, 우리의 네트워크에서 Betwenness-Centrality가 높은 노드는 “서로 다른 집단(레이블, 크루 등)간의 브릿지 역할을 수행한다”정도로 해석할 수 있겠죠.
  • 16. 상위 5명의 경우 다음과 같습니다. 힙합플레이야, 넉살, 자메즈, 스윙스, 팔로알토, 딥플로우 실제로, betwenness-centrallity가 높은 랩퍼들을 순서대로 네트워크에서 제거 해나가다보면, <네트워크의 평균 최단거리>가 계속 증가하다가 결국에는 네트워 크가 분리되기시작합니다. 즉, 이 값이 높은 랩퍼들은 네트워크를 현재의 상태 로 연결되어 있도록 하는데 영향을 미친다고 해석할 수 있죠. 여기서는 마이노스와 이로한의 순위가 급증했는데, 이는 아마도 마이노스가 소울컴퍼니/불한당/보석집 등 다양한 크루에 속해 있으며 특히 올드 스쿨과 뉴스쿨의 사이에 존재한다 라고 해석할 수 있고, 이로한의 경우는 VMC/고등랩퍼에 속해 있어서 그 양쪽을 연결하는 역할을 하게 된다 정도로 해석할 수 있을 것 같아요. 또한, 여기서는 제이팍과 염따의 순위가 다른 지표 대비 낮은 편이라는게 재밌 죠. 국힙판의 중재자: betweenness-centrality name bet_cent 1 hiphopplaya 0.028208 2 nucksal 0.016285 3 dohnballer 0.014838 4 itsjustswings 0.014138 5 paloaltongue 0.014050 6 deepflow39 0.013469 7 donmills1988 0.012594 8 jparkitrighthere 0.011714 9 dickidsyoungb 0.011489 10 thisisjusthis 0.010531 11 giriboy91 0.009666 12 uglyduck062 0.009459 13 code_kunst 0.009372 14 minoschoi 0.009042 15 rohannlxiv 0.009027 16 osa_qwala 0.008905 17 hiphople 0.008877 18 yumdda 0.008811 19 olltii 0.008274 20 munchinthepool 0.008049 21 dbo0dbo 0.007882 22 ddolbae87 0.007543 23 realisshoman 0.007341 24 yunbnotlilb 0.007158 25 bignaughtyboi 0.007067 26 huckleberryp84 0.007001 27 hwimmm 0.006912 28 kidcozyboy 0.006709 29 m.b.a_ek 0.006405 30 coogie0123 0.006337
  • 17. name page_rank 1 jparkitrighthere 0.010135 2 realisshoman 0.010121 3 paloaltongue 0.009338 4 uglyduck062 0.009012 5 yumdda 0.008836 6 nucksal 0.008768 7 dbo0dbo 0.008745 8 itsjustswings 0.008735 9 donmills1988 0.008735 10 thequiett 0.008718 11 munchinthepool 0.008580 12 dohnballer 0.008524 13 giriboy91 0.008485 14 dickidsyoungb 0.008376 15 code_kunst 0.008254 16 kidcozyboy 0.007980 17 deepflow39 0.007598 18 coogie0123 0.007509 19 younghotyellow94 0.007507 20 changmo_ 0.007421 21 uneducatedkid 0.007371 22 woodie_gochild 0.007320 23 zenethezilla 0.007274 24 nasungcityboy 0.007251 25 hwimmm 0.007248 26 groovypark 0.006996 27 hiphopplaya 0.006972 28 cjadoublem 0.006968 29 ddolbae87 0.006933 30 g2slife 0.006929 page-rank는 구글이 초기에 웹페이지의 중요성을 파악하기 위해서 사용한 알고 리즘이고요(지금은 훨씬 튜닝해서 쓰기는 합니다만). 예를 들어 랩퍼 A, B가 저를 팔로윙한다고 합시다. 랩퍼 A는 100명에게서 팔로 우를 받고, 다시 100명에게서 팔로윙을 하는 사람이고, 랩퍼 B는 랩퍼 100명에 게서 팔로우를 받고, 랩퍼 10명에게 팔로윙을 하는 사람입니다. 이때, 누가 더 저에게 가치 있는 팔로윙일까요? 매우 당연히도, 랩퍼 B겠죠. (예를 들어, 111명만 팔로윙하는 더콰이엇에게 팔로윙되면 기분좋은 거랑 비슷 한 거죠) pagerank는 이처럼, “영향력 있는 사람(혹은 아무나 팔로우하지 않는 사람)이 팔로윙하면 값이 증가하는 방법론”을 말합니다. 상위 5명은 제이팍, 빈지노, 팔로알토, 어글리덕, 염따 네요. 다른 지표에서는 낮은 순위의 디보가 상위 7위에 등장했습니다. 진짜 랩퍼들의 랩퍼: page-rank
  • 18. 1 jparkitrighthere 2 realisshoman 3 paloaltongue 4 nucksal 5 yumdda 6 dohnballer 7 thequiett 8 giriboy91 9 itsjustswings 10 uglyduck062 11 code_kunst 12 dickidsyoungb 13 donmills1988 14 deepflow39 15 munchinthepool 16 coogie0123 17 kidcozyboy 18 hiphopplaya 19 dbo0dbo 20 changmo_ 중요한 노드 순위 비교 chrt_okasian thequiett xockstar dprlive ikbuckjtong mushvenom bewhy.meshasoulja realisshoman ziont i__q__ woozico0914 deantrbl changmo_ crush9244 esensofficial jessicah_o cjadoublem heizeheize nasungcityboy leellamarz In-degree In-degree /Out-degre Betweenness Centrality Closeness Centrality PageRank hiphopplaya nucksal dohnballer itsjustswings paloaltongue deepflow39 donmills1988 jparkitrighthere dickidsyoungb thisisjusthis giriboy91 uglyduck062 code_kunst minoschoi rohannlxiv osa_qwala hiphople yumdda olltii munchinthepool jparkitrighthere paloaltongue realisshoman yumdda nucksal dohnballer thequiett itsjustswings giriboy91 uglyduck062 code_kunst dickidsyoungb deepflow39 donmills1988 munchinthepool coogie0123 kidcozyboy hiphopplaya dbo0dbo changmo_ jparkitrighthere realisshoman paloaltongue uglyduck062 yumdda nucksal dbo0dbo itsjustswings donmills1988 thequiett munchinthepool dohnballer giriboy91 dickidsyoungb code_kunst kidcozyboy deepflow39 coogie0123 younghotyellow94 changmo_ 정리하면, 각 지표별 순위는 다음과 같습니다. 사실 차이가 좀 더 심하게 나야 분석하는 재미가 있는데, 국힙 네트워크는 너무도 촘촘한 네트워크라서, 할게없어요.
  • 19. 노드별로 특성은 뽑아냈으니, 이제 노드들의 집단, 즉 다른 노드들에 비해서 특히, 긴밀하게 연결되어 있는 집단을 찾아보는 것이 정석이기는 한데. 현재 네트워크는 매우 밀집되어 있어서, 이게 잘 안됩니다. (이전에 말하대로, 97%가 2단계 내에 연결되니까요) 이미 몇 가지 클러스터링 방법을 써봤는데, 제대로 안되더라고요. 그래서, 그냥 CLIQUE 분석을 좀 해보고 마무리합니다. 몇몇 랩퍼들을 중심으로 그 사람이 속한 CLIQUE중에서 가장 큰 CLIQUE를 찾습니다. * CLIQUE: Node간에 모든 EDGE가 존재하는 그래프(complete graph). ** Node의 수가 커질수록 존재하기 어려움 긴밀한 집단 분석: CLIQUE Node size: 3 Node size: 4 Node size: 5 CLIQUE Example
  • 20. 우선, 밀집된 네트워크이기 때문에, CLIQUE는 매우 많이 존재하고 또 비슷비슷합니다. 아무튼, CLIQUE라는 것은 해당 집단에 속한 모든 사람들이 서로를 완벽하게 쌍방으로 팔로우하고 있다는 것을 의미합니다. 아래와 같이, 모든 clique를 찾지 않고, 몇몇 랩퍼들(특히 레이블 수장+내마음대로)을 중심으로 찾아서 정리합니다. 딥플로우가 속한 가장 큰 CLIQUE: 21명이 속한 CLIQUE(현재 네트워크에서 가장 큰 CLIQUE) ['dohnballer', 'nucksal', 'paloaltongue', 'donmills1988', 'code_kunst', 'deepflow39', 'yunbnotlilb', 'coogie0123', 'younghotyellow94', 'originalgimchi', 'yumdda', 'uglyduck062', 'trapdaddystax', 'giriboy91', 'kidcozyboy', 'ilovebradystreet', 'zenethezilla', 'goosebumpstrack', 'jparkitrighthere', 'hwimmm', 'groovypark'] 스윙스가 속한 가장 큰 CLIQUE: 19명이 속한 CLIQUE ['dohnballer', 'bignaughtyboi', 'coogie0123', 'kidcozyboy', 'eloinvvd', 'code_kunst', 'munchinthepool', 'groovypark', 'jparkitrighthere', 'hwimmm', 'yumdda', 'giriboy91', 'chrt_cokejazz', 'pumkin2k', 'paloaltongue', 'donmills1988', 'thisisjusthis', 'itsjustswings', 'rtpwboib'] 이센스가 속한 가장 큰 CLIQUE: 14명이 속한 CLIQUE ['dohnballer', 'nucksal', 'esensofficial', 'uglyduck062', 'donmills1988', 'yumdda', 'coogie0123', 'dickidsyoungb', 'yfgod', 'deepflow39', 'zenethezilla', 'giriboy91', 'uneducatedkid', 'dbo0dbo'] CLIQUES 예시.
  • 21. 그런데, 하다보니까, CLIQUE간에 겹치는게 너무 많아요. 이전에 말한 바와 같이, 너무 밀집된 네트워크이다보니까, 사람 조금만 바뀌고 다 그놈이 그놈인 것이죠. 따라서, 아래와 같은 방법으로 순차적으로 CLIQUE를 뽑아보기로 했습니다. 가장 밀집된 놈을 뽑고 ⇒ 다음으로 밀집된 놈을 뽑고 의 순으로 진행한다고 생각하면 됩니다 (몇 가지 한계는 있지만, 현재의 상황에서는 이게 최선이에요) 순차적으로 CLIQUE를 뽑읍시다. 현재 네트워크에서 가장 큰 크기의 CLIQUE를 출력 해당 CLIQUE에 포함된 노드를 모두 삭제
  • 22. 아무튼, 이 방법은 초기에 어떤 CLIQUE를 먼저 뽑느냐에 따라서 뒤의 결과가 많이 달라지고, 먼저 나온 CLIQUE와 뒤 에 나오는 CLIQUE 간에 연결이 매우 많다는 한계가 있긴 하지만, 아래를 보면 나름 해석가능하게 나오기는 합니다(물 론 비약이 좀 있기는 하죠). 아무튼 위부터 순차적으로 뽑아낸 클리크이며 따라서 맨 위가 제일 크죠. 순차적으로 CLIQUE를 뽑읍시다. ['dohnballer', 'nucksal', 'paloaltongue', 'deepflow39', 'donmills1988', 'code_kunst', 'yunbnotlilb', 'coogie0123', 'younghotyellow94', 'originalgimchi', 'munchinthepool', 'uglyduck062', 'kidcozyboy', 'giriboy91', 'ph1boyyy', 'goosebumpstrack', 'jparkitrighthere', 'ilovebradystreet', 'losmoonwalker', 'hwimmm', 'groovypark'] ['blnk0.0', 'bassagong_', 'ddolbae87', 'huckleberryp84', 'g2slife', 'hwajilla', 'wutan_vmc', 'rowdee38', 'slyodee', 'buggy_vmc', 'yumdda', 'rohannlxiv', 'horimshin'] ['dickidsyoungb', 'itsjustswings', 'hangzoo', 'rtpwboib', 'hiphopplaya', 'mcrap_bmw', 'choilb', 'm.b.a_ek', 'chillinhomiethesavior', 'namtunod', 'lilboi91', 'bignaughtyboi'] ['hashblanccoa', 'zenethezilla', 'woodie_gochild', 'jvckiwai', 'realisshoman', 'ash.island', 'yohanheaven', 'noahmik', 'kiff_vinxen', 'leellamarz'] ['boycold_', 'thisisjusthis', 'yunhway', 'mckdaddy_', 'superstarjimmyfuckedup', 'brynbling', 'liltachl', 'official_bully_da_bastard', 'saewoo_ng'] ['crush9244', 'millicmillic', 'deantrbl', 'eloinvvd', 'nasungcityboy', 'gaekogeem', 'woozico0914', 'penomadeincorea', 'wavycolde'] ['osa_qwala', 'opticaleyezxl', 'minoschoi', 'ptype_thebigcat', 'godtrippydog', 'theuglygoblin', 'qmquestionmark', 'nasimbazawadilla', 'osa_odomar'] 국힙 인싸 모임 리짓군즈 + VMC + HILITE 쇼미더머니 + ... 앰비션+하이어뮤직 비비드 + 아메바 ?? 보석집+불한당+오사마리 CLIQUE 해석
  • 23. 아 재밌을줄 알고 했는데 별 결과가 안 나왔습니다 호호호. 그래도, 아무튼 결과를 간략하게 정리하자면. Small WORLD: - (인스타그램)을 통해 본 한국 힙합 사람들은 정밀 밀집해 있다. 97%의 관계가 딱 2단계로 모두 이어짐. - 겉으로 우리가 보면 회사별/레이블별로 다 명확한 선이 그어져 있을 것 같지만 그렇지 않다. 최소한, “서로가 서로에게, 혹은 서로의 음악에 대해서는 계속 관심을 가지고 있다” 라고 해석할 수 있음. Community Detection: - 긴밀하게 연결된 집단을 더 잘 뽑아낼 수 있는 방법이 있을텐데, 내가 못하는 건지, 안되는 건지 헷갈릴 정도 로 국힙은 아주 밀접해 있음. - CLIQUE를 이용해서 부족하게 나마 해봤지만, 분명히 더 효과적으로 할 수 있는 방법이 있을 것이고 그건 다음 에 해보겠음. 확장 방향: - 현재 팔로윙 관계를 그림으로 그리고 있는 상황인데, 시간이 매우 오래 걸려서 힘듬. 급마무리.
  • 24. 혹시, 질문이 있으신 분들은 freerhein@gmail.com 으로 질문해주셔도 좋습니다.