Your SlideShare is downloading. ×
0
Rでtwitterのクラスタを
   あぶりだしてみた
favorite機能による重み付きグラフ構造を用いた
        twitterの社会ネットワーク分析


       Tsukuba.R#4
        @y_benjo
自己紹介
• twitter id : y_benjo
• hatena id : repose
  – http://d.hatena.ne.jp/repose
• 春から院生
• 専門とか特にない
• LTということで




• 数式もプログラムも少なめでいきます
Twitter
twitterではよく「クラスタ」
      とか言われます
ITクラスタ
変態クラスタ
アニメアイコンクラスタ
女装クラスタ
これをどうにか分析できないか
というわけでやってみる
仮説:
クラスタ内で互いにふぁぼりあう
構想(1)
• Twitterの人間関係をグラフとして扱う
• その際、「どのユーザが誰の発言をfavっ
  ているか」を使って重み付有向グラフに
  してみる
 – fav:ある発言を「お気に入り」にいれる機能。
  • 「面白い発言」への反...
構想(2)
• クラスタリングはハードクラスタリング
  を
 – ユーザがひとつのクラスタにのみ分割される
 – 「俺はつくばクラスタで変態クラスタだな」
   などというクラスタリングは無し
 – フゔジゖクラスタリングだとクラスタの重複
...
まずはデータ収集
はじめてのクロール
whitelistを貰って
 API叩きまくる
最初は
グラフをプロットして目視で分割
そこでRのigraphパッケージ
• install.packages(“igraph”)
• 隣接行列からグラフを簡単に作れる優れ
  もの
• plotも簡単
• Cytoscapeと組み合わせるともっと簡単
• これで勝つる!!!!
もうちょっと真っ当にやる
既存研究ありすぎワロタ
社会ネットワーク分析
• A Clauset, MEJ Newman, C Moore:
  – Finding community structure in very large
    networks (2004)
• J. Duch a...
大雑把な考え方




• なる指標を考えて、この値が最大になる
  ようにグラフをクラスタに分割していく
Rで実装する
• ソースは汚すぎるので…
• 慣例に従って有効グラフを無向グラフに
  変換
 – 具体的には、AがBをfavった回数とBがAを
   favった回数を平均してA-B間の重みに
少し考える
• ゕルゴリズムの
  はO(N^2ln^2)
• ユーザごとの重
  みの総和を図に
  してみても、
  5000id全て計算
  するのは無駄っ
  ぽそう…
 – とりあえず329
   人分
計算:48時間ぐらい
結果:
329userが75クラスタに
       傾向:
  細かく分割されすぎ
サイズにばらつきありすぎ
大きなクラスタをいくつか紹介

329userの全クラスタ内訳は
   blogにアップします
変態クラスタ(最大、90user)
             GUMIMI, HOJ, Hajimepg, Palpha,
             SAN_Morishi, Sebastianus, TEtra11, Toyolina,

 ...
ITっぽいクラスタ(60user)
               Ett, KIMAGURE, VoQn, a_dach, bambico,
               bulkneets, chrcc, deadpop, eigokun,e...
ハチロククラスタ(11user)

  Misho
            Misho, T_Hash,
            hayamiz, kaeru_san,
  kaeru_san
            limitusus, mi...
評論?クラスタ(8user)

 hanemimi
             esehara, hanemimi,
 kanose      kanose, kisoem,
             matakimika, okadaic,
 ...
補足
• その他のクラスタは1~4人で構成される
  ものが多い
 – クラスタの構成userを見てみると、ある程度
   妥当性がありそうな面子が
• クラスター分析全般に言えることですが、
  これが絶対的な分割ではない
 – fav情報の...
結論
• 結構それっぽい感じで抽出できたと思う
 – 今回は小規模だったが、極端な話5000user
   で計算しても同様のクラスタが得られるので、
   そう考えると面白いんじゃないかと
• 欠点:計算時間かかりすぎ
 – 行列計算が楽なだ...
ありがとうございました

使用環境:R, Ruby, Meadow (ruby-mode ,ESS)
参考文献
 :Finding community structure in very large networks (2004)
 :Comm...
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
twitter's social network analysis
Upcoming SlideShare
Loading in...5
×

twitter's social network analysis

9,302

Published on

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

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

No Downloads
Views
Total Views
9,302
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
43
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

Transcript of "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)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×