Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

twitter's social network analysis

10,017 views

Published on

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

Published in: Technology
  • Be the first to comment

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)

×