본문 바로가기

Tech Story

트위터러의 권위도 Tweet/Social Authority

 회사에서 비밀프로젝트 (?)를 진행중입니다. 대외비라 표현한 이유는 아직 오픈하지 않고, 개발단계이기 때문입니다. 가야할 곳이 아직은 먼데, 그곳에 가기 위해서 중간 단계로 거쳐가는 프로젝트입니다. 물론, 기존의 검색과 지금 베타서비스 중인 실시간검색이 첫 발을 내뒤딘 상태지만... 그리고, 최종목적지는 이전 포스팅들을 읽어보셨던 분이나 실시간검색이 첫걸음이였다는 것에서 충분한 힌트를 얻으셨으리라 봅니다. 그리고, 비밀이라고 표현한 이 프로젝트도 조만간 오픈할거라서 다음에 더 자세한 포스팅을 할 기회가 있을 것같습니다. 그런데, 이번 프로젝트의 범위에는 포함되지 않지만 개인적으로 같은 데이터를 이용해서 재미있는 분석을 시도해보았습니다. 바로, 트위터러들의 권위도 Authority를 평가해보는 것이었습니다. 사실, Authority보다는 트위터러의 인기도 Popularity에 더 가까운 측도를 만들었습니다.

 자세한 권위도 알고리즘을 설명하기 전에, 트위터의 데이터 수집에 대한 얘기부터 해야할 듯합니다. 어제 트위터에서 공식적으로 발표한 한국인 트위터 사용자수는 약 2.8백만명이라고 했습니다. 그 중에서 약 6~70만명의 사용자 목록을 확보하고 있고, 이들이 매일 트윗하는 내용들을 실시간으로 수집하고 있습니다. (다음검색의 실시간검색 서비스를 이용해보셨으면 모두 아시리라 믿습니다.) 전체 사용자의 1/4밖에 안되는 사용자의 트윗들을 수집하고 있지만, 그래도 매일 약 100만건의 트윗이 수집되고 있습니다. 이렇게 수집된 모든 트윗에서 멘션/RT관계를 뽑아낸 것을 이용해서 트위트 권위도를 측정했습니다.

 트위터의 권위도 (엄밀히 말해서, 인기도)는 대부분이 추측하는 것과 같습니다. 즉, 많은 사람들로부터 멘션을 받으면 권위도/인기도가 증가하는 것입니다. RT 관계만을 이용해서 측정하는 것이 권위도 평가에 더 적합하긴하지만, 위의 데이터 수집과정과 데이터 정제 과정을 제가 직접 처리하지 않아서 그냥 모든 멘션 (RT 포함) 관계를 사용했습니다. 그런데, 단순히 멘션수만으로는 권위/인기도를 평가하는 것은 다순히 팔로잉수로 권위/인기도를 평가하는 것과 같기 때문에 더 추가적인 사항을 넣었습니다. 그리고, 실제 팔로잉/팔로워수를 사용하지 않은 이유는 6~70만명의 사용자의 모든 팔로잉/팔로워 정보를 크롤링하는데 많은 리소스와 비용이 들어가기 때문에 본 평가에서는 사용하지 못했습니다. 그래서, 다음과 같은 요소들을 사용해서 트위터 권위/인기도를 측정하였습니다.
  • 피멘션수와 피멘션사람수: 앞서 말했듯이 권위/인기도의 기본은 얼마나 많은 사람들이 나에게 메시지를 보냈는가? (즉, 나의 트윗을 RT했는가? 또는 나의 트윗에 관심을 가지고 댓글을 달았는가?)로 측정된다고 했습니다. 그렇기 때문에, 당연히 피멘션수가 중요한 팩터가 됩니다. 그런데, 소수의 특정인들과 지속적인 멘션관계를 형성하게 된다면, 피멘션수에 왜곡이 발생하게 됩니다. 그렇기 때문에, 실제 피멘션수보다는 피멘션사람수가 권위/인기도에 더 적합한 측도가 될 수 있습니다. 그래서, 피멘션사람수와 피멘션수의 비율을 이용해서 적절히 조정해주었습니다. 자세한 수식 등은 생략하겠습니다. (모두 추측하는 그 방식으로 사용했습니다.) 즉, 멘션만으로 수다를 떠는 유형도 권위도에서 부정적인 영향을 받고, 역으로 자기말만해도 부정적인 영향을 받는 구조입니다. 물론, 어느 수준의 멘션/비멘션의 비율을 유지해야 하느냐는 제가 결정할 사항은 아닌 것같네요. (프로그램에서는 적당히 상식선에서 적용해놨습니다.)
  • 단순히 인기도가 아니라, 권위도를 측정하기 때문에 피멘션수/사람수로만 평가하는데는 문제가 있습니다. 즉, 권위를 가지기 위해서는 멘션 (RT 및 리플)이 아닌, 자신의 트윗 (자기글)이 존재해야 합니다. 단순히 '굿모닝' '굿나잇' '나왔어요' 등과 같은 의미없는 트윗들이 존재할 수도 있지만, 적어도 (정보 제공자로써의) 권위를 가질려면 자신만의 트윗이 존재해야 합니다. 그렇기 때문에, 개인별로 자신의 트윗수와 멘션트윗수 (RT 등 포함)의 비율이 권위/인기도에 반영되었습니다. '자기글'이 있다는 것은 한순간에 반짝하는 것이 아니라, 꾸준히 트윗을 사용한다는 뜻도 됩니다. 아, 그리고 메션이 전혀없는 트윗만 있는 경우도 페널티를 줬습니다. (요건 내일부터 적용될 예정) 자기말만하는 사람은 아무리 유명인이더라도 소통/소셜의 기본에서 벗어났다고 판단했기 때문입니다. (그리고, 제가 개인적으로 그런 (행동을 보이는) 유명인들을 별로 안 좋아해요. 사심이 깊은 측도입니다.)
  • 세번째로, 떼멘션 또는 떼피멘션에 대한 고려도 필요합니다. 즉, 한국에서만 유독 강하게 존재하는 '선팔'이나 '맞팔'이니 등에서 특정 트윗에서 여러 개의 계정을 떼멘션하는 경우가 존재합니다. 이렇게 떼면션된 경우라면, 피멘션으로써의 의미가 반감되기 때문에 전체 피멘션에서의 떼피멘션의 비율이나 또는 나의 멘션중에서 떼멘션의 비율 등이 권위도에 반영됩니다. 즉, 떼멘션을 자주 보내거나 떼피멘션을 자주 당하는 경우라면 그렇게 권위있는 사용자라고 말할 수는 없습니다. (적어도, 저는 이렇게 가정하고 권위/인기도를 측정하였습니다.)
  • [업데이트] 트윗은 거의 없고, 유명세만 믿고 피멘션 많이 되는 유명인들 (특히, 연예인들)에 대한 페널티를 많이 줬습니다. 최대 50%를 깎아버렸습니다. (이건 사심 점수/랭킹이여.^^) 트위터를 소통이라고 표현한다면, 소통은 주고받는 것입니다. 일방적으로 자기 말만 공표하는 것도 별로 맘에 안들고, 반대로 유명세 때문에 한두개의 트윗으로 대중의 관심만 끌어모으는 것도 별로 맘에 안드는 부분입니다. 일종의 꾸준함을 랭킹에 반영한 것입니다.
  • [업데이트] 그리고, 지나치게 글을 많이 적는 경우도 페널티를 좀 줬습니다. (트윗수에 비례해서)
  • 마지막으로, 권위/인기도 측정에서 주요한 것은 아니지만, 단지 하루동안 발생한 트윗만으로 권위/인기도를 측정한다면 bias가 발생할 수가 있습니다. 그렇기 때문에 1주일, 1달 등의 장기간의 데이터를 확보해서 권위/인기도를 측정해야 합니다. 
 [업데이트] 여기에 더 추가할 수 있는 것으로 구글 페이지랭크 PageRank와 같이, authority가 높은 분이 멘션한 경우 더 높은 점수를 받도록 개선할 수도 있습니다. 그런데, 다른 분석 (블로그에서 링크 및 친구블로그 관계 분석)을 했을 때, recursive하게 링크분석을 한 것과 단순힌 in-link의 개수를 구한 것과 별로 큰 차이가 없었습니다. 그러니, 더 복잡한 분석을 하더라도 결과에는 큰 차이는 없을 것으로 보입니다.

 위의 요소/방법들을 바탕으로 상위 25명의 트위터러를 뽑았습니다. 그런데, 지난 몇일 동안 계속 알고리즘을 변경했기 때문에 아래의 결과가 부정확한 부분이 많이 있습니다. 즉, 과거데이터의 경우 피멘션수만 반영되었다가, 중간데이터는 전체 트윗에서 멘션수의 비율이 반영되었고, 그리고 어제부터 떼멘션/떼피멘션에 대한 데이터가 반영되었습니다. 마지막으로 최종집계한 데이터가 피멘션수 + 멘션비율 + 떼멘션이 모두 고려된 데이터가 나왔어야 하는데, 아래의 결과는 이상의 요소들이 부분적/불완전하게 반영된 결과입니다. 다음주 경에, 결과가 안정된 이후에 포스팅을 하려고 했었는데, 지금 (비밀프로젝트) 회의 중에 제가 딱히 참여할만한 내용이 아니라서, 그냥 생각난 김에 본 포스팅을 올렸습니다.

 상위 25명...
  1. @oisoo 17.21 
  2. @dogsul 15.84 
  3. @wikitree 15.25 
  4. @shesmd 14.89 
  5. @rakooon 14.62 
  6. @kangfull74 14.57 
  7. @kimjuha 14.41 
  8. @ssssense 14.41 
  9. @baram5140 14.21 
  10. @hbcy79 13.96 
  11. @coreacom 13.89 
  12. @social_holic 13.85 
  13. @chondoc 13.43 
  14. @fotociti 13.43 
  15. @causesquare 13.4 
  16. @moviejhp 13.31 
  17. @twit_korea 13.27 
  18. @_karam 13.01 
  19. @keumkangkyung 12.94 
  20. @babospmc 12.9 
  21. @chundoong 12.78 
  22. @mediamongu 12.78 
  23. @biguse 12.78 
  24. @drunkentigerjk 12.75 
  25. @narciman 12.66
 어떻습니까? 제대로 뽑은 것같나요? 트위터계정 뒤쪽에 있는 숫자는 위의 요소들을 적절히 (사칙연산정도) 반영해서 구한 권위/인기도 점수입니다. 기본적으로 팔로잉숫자가 많은 이들이 대부분 뽑힌 것같네요. 그리고 꾸준히 활동하시는 분들... 참고로 (별로 궁금하지 않겠지만) 저는 @falnlov 1183위 (7.00점)이네요. 아직은 알고리즘 계산이 안정화되지 못해서, 이전에 계산된 값들이 많이 반영되어서 고개가 갸우뚱하는 인물들도 종종 보일 수 있습니다. (특히, 자기글이 없는 단순 수다형트위터러나 떼멘션/떼피멘션만 하는 트위터러 등... 다음주에 다시 계산한다면 이런 부분은 많이 개선될 것같네요.) 몇일 전에 비슷한 것으로 기사화했던데, 기사의 결과와 비교해보는 것도 재미있을 듯합니다. 참고로, 저희가 확보하고 있는 6~70만명의 트윗/멘션만을 분석했기 때문에 오류/오차는 당연히 상당합니다. 혹시 개인적으로 자신의 순위가 궁금하시면 댓글 등으로 따로 문의주세요.

 상위 25명만 보여주는 것이 아쉬워서, 상위 100명까지도 함께 보여드리겠습니다. 편집이 귀찮아서 그냥 ID만 나열하니 궁급하시면 직접 http://twitter.com/ 에 해당 ID를 입력해보세요.

26 - 30: @doc0102 / @shen_oh / @butuguide / @pingidea / @polluxy78 
31 - 35: @kiane98 / @kimmiwha / @pootaro70 / @kapsookim / @chandung610 
36 - 40: @doax / @kangbsu2002 / @bulkoturi / @bobae_dream / @u_simin 
41 - 45: @ohmynews_korea / @psychefool / @baltong3 / @lakemoon1 / @reenjang 
46 - 50: @koocci / @youtube / @mentorsking / @busantweet / @jwlee1052 
51 - 55: @sisyphus79 / @ilpyungdad / @chamnet21 / @meesarang / @consumer_rh 
56 - 60: @moonbok / @songyoungdae / @yuminsteel / @mbibletv / @neoseol 
61 - 65: @chon4272 / @leest1004 / @byflower / @hanul30 / @mojito0 
66 - 70: @jeongeg / @bulgogibrothers / @softsecurity / @kk179mc / @chsh1387 
71 - 75: @1004ceo / @jb_1000 / @lovelybbq / @mrdean11 / @kyb0824 
86 - 80: @donnkee / @fitnessn / @_eye1 / @tameleon / @solarplant 
81 - 85: @cscorea / @chosaboo / @unifams / @congjee / @melodymonthly 
86 - 90: @lawyer_korea / @phk23 / @vvengi / @monkeyking777 / @9n1 
91 - 95: @hmpyo / @snowman340 / @hichally / @guscjfrla / @foreverphoenix7 
96 - 00: @unheim / @ollehkt / @estima7 / @dicadong / @ksyongbs

 또, 이런 걸 분석하다보면 제가 사용하지 않는 서비스라면 그냥 중립적으로 분석할 수가 있는데, 제가 포함된 경우라서 제 점수를 일부러 높일 수도 없고, 그렇다고 다른 요소로 제 점수를 깎아먹을 수도 없고... 그렇네요.ㅠㅠ
반응형