twitter's social network analysis

9,628 views
9,507 views

Published on

twitterの関係性をfav情報を用いた無向重み付きグラフで分析してみた

Published in: Technology
0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,628
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
44
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

twitter's social network analysis

  1. 1. Rでtwitterのクラスタを あぶりだしてみた favorite機能による重み付きグラフ構造を用いた twitterの社会ネットワーク分析 Tsukuba.R#4 @y_benjo
  2. 2. 自己紹介 • twitter id : y_benjo • hatena id : repose – http://d.hatena.ne.jp/repose • 春から院生 • 専門とか特にない
  3. 3. • LTということで • 数式もプログラムも少なめでいきます
  4. 4. Twitter
  5. 5. twitterではよく「クラスタ」 とか言われます
  6. 6. ITクラスタ
  7. 7. 変態クラスタ
  8. 8. アニメアイコンクラスタ
  9. 9. 女装クラスタ
  10. 10. これをどうにか分析できないか
  11. 11. というわけでやってみる
  12. 12. 仮説: クラスタ内で互いにふぁぼりあう
  13. 13. 構想(1) • Twitterの人間関係をグラフとして扱う • その際、「どのユーザが誰の発言をfavっ ているか」を使って重み付有向グラフに してみる – fav:ある発言を「お気に入り」にいれる機能。 • 「面白い発言」への反応 – 有向グラフ:AからBにはつながっているが、 BからAにはつながっていないような、非対称 なグラフ
  14. 14. 構想(2) • クラスタリングはハードクラスタリング を – ユーザがひとつのクラスタにのみ分割される – 「俺はつくばクラスタで変態クラスタだな」 などというクラスタリングは無し – フゔジゖクラスタリングだとクラスタの重複 が可能だが、触ったことが無いので
  15. 15. まずはデータ収集
  16. 16. はじめてのクロール
  17. 17. whitelistを貰って API叩きまくる
  18. 18. 最初は グラフをプロットして目視で分割
  19. 19. そこでRのigraphパッケージ • install.packages(“igraph”) • 隣接行列からグラフを簡単に作れる優れ もの • plotも簡単 • Cytoscapeと組み合わせるともっと簡単 • これで勝つる!!!!
  20. 20. もうちょっと真っ当にやる
  21. 21. 既存研究ありすぎワロタ
  22. 22. 社会ネットワーク分析 • A Clauset, MEJ Newman, C Moore: – Finding community structure in very large networks (2004) • J. Duch and A. Arenas: – Community detection in complex networks using extremal optimization (2005) • ここらへんを試してみる
  23. 23. 大雑把な考え方 • なる指標を考えて、この値が最大になる ようにグラフをクラスタに分割していく
  24. 24. Rで実装する • ソースは汚すぎるので… • 慣例に従って有効グラフを無向グラフに 変換 – 具体的には、AがBをfavった回数とBがAを favった回数を平均してA-B間の重みに
  25. 25. 少し考える • ゕルゴリズムの はO(N^2ln^2) • ユーザごとの重 みの総和を図に してみても、 5000id全て計算 するのは無駄っ ぽそう… – とりあえず329 人分
  26. 26. 計算:48時間ぐらい
  27. 27. 結果: 329userが75クラスタに 傾向: 細かく分割されすぎ サイズにばらつきありすぎ
  28. 28. 大きなクラスタをいくつか紹介 329userの全クラスタ内訳は blogにアップします
  29. 29. 変態クラスタ(最大、90user) GUMIMI, HOJ, Hajimepg, Palpha, SAN_Morishi, Sebastianus, TEtra11, Toyolina, GUMIMI Wing_of_Blood, aki426, aorenjar, bombtter, camelletgo, ch1haya, chap_py, chcbigz, chief_szk, choconono, cress_cc, emakko, enpitsu, evil07, f_jiro, fortunathefate, fune, garandou, gokujo, zeppel ha_ma, ha_ru_ka, halciondaze, hazime1373, hetaremozu, hironao, itati0, k_katsura,kaiware007 kazusap, kek_kuten, konaken, koukai, kuroreva, kuzu_doh, kyabesuke, lakililac, llcheesell, lolipuni, m_soba, masumizaru, meba, migelfutosi, mio_sakamoto, miru, myu65, mywalrus, nekocafe, Hajimepg ni_no_, nisenisetila, nurutema, ocha39, onicks2, ooabikoo, p_n_y, poyow, purelightway, ragusk, rarihoma, rokudenashi, ruehaduki, sakakiyu, sayn0, shitu, shy_azusa, sio_halfmoon, suiginex, suiginth, syochin, syounenX, tato256, tc_501, ukix, wakatter, xmmm, y883, ycums, ykzts, yteppei, yumeka_, zeppel, zero_zaki_,
  30. 30. ITっぽいクラスタ(60user) Ett, KIMAGURE, VoQn, a_dach, bambico, bulkneets, chrcc, deadpop, eigokun,enraku bulkneets error403, fkgw, fuba, fuba_recorder, hajime, harsch, hazy_moon, hironica, hoge_systemz, irm_fyuk, isbsh, jazzanova, kotoriko jinon, kagawa, kanamoken, kkshow, kotoriko, kudan_, kusigahama, kyoujin, lalha, m0h1can, marco11, mayutan, morygonzalez, nancii, natant12, nipotan, oquno, penguinana, pha, placebogirl, yuiseki sachi_volta, saeko, saetomin, send_, slyl, snoa, todesking, toriko, totoon, ugnews, umelabo, wazurai, wyinoue, y_benjo, yodaka, youpy, yuiseki,
  31. 31. ハチロククラスタ(11user) Misho Misho, T_Hash, hayamiz, kaeru_san, kaeru_san limitusus, mickey24, natsutan, sak65536, syou6162, tencube, T_hash
  32. 32. 評論?クラスタ(8user) hanemimi esehara, hanemimi, kanose kanose, kisoem, matakimika, okadaic, tsuda, wideangle, wideangle
  33. 33. 補足 • その他のクラスタは1~4人で構成される ものが多い – クラスタの構成userを見てみると、ある程度 妥当性がありそうな面子が • クラスター分析全般に言えることですが、 これが絶対的な分割ではない – fav情報のみで行っているという事を忘れずに
  34. 34. 結論 • 結構それっぽい感じで抽出できたと思う – 今回は小規模だったが、極端な話5000user で計算しても同様のクラスタが得られるので、 そう考えると面白いんじゃないかと • 欠点:計算時間かかりすぎ – 行列計算が楽なだけでRでやる必要があまり ない – 定期的にクロールさせてクラスタの状況を更 新していく、とかさせてみたい……
  35. 35. ありがとうございました 使用環境:R, Ruby, Meadow (ruby-mode ,ESS) 参考文献 :Finding community structure in very large networks (2004) :Community detection in complex networks using extremal optimization (2005)

×