how to make twitter list automatically2. 目標
• Clusteringの手法を使って、Twitterにお
けるリスト作成を自動化
• リスト:友人の中で特に見たい人をグループにして閲覧する機能
• 「サークルの友人リスト」などを自動的に作成したい
• 各リスト(以下module)はオーバーラップ
• 例:大学の友人,サークルの友人の両方に属する人が存在
12年11月29日木曜日
3. ソーシャルグラフとしての
Twitter
• ユーザーをNode、フォロー関係を
Edgeとして有向グラフで表す
• 自己ループやMultiple Edgeは存在しな
いが、Double Edge( )は存在する
12年11月29日木曜日
4. 手法
• Clique Percolation Method
(CPM)
• Gergely Palla, Imre Der´enyi, Ill´es Farkas, and Tam´as
Vicsek (2005) Nature 435,814
• k-clique(完全グラフ)を繋げたものを1つ
のmodule(k-cliques)とする
12年11月29日木曜日
5. CPM
以下k=4とする
12年11月29日木曜日
6. CPM
(1)k-cliqueを見
つける
12年11月29日木曜日
7. CPM
(2)k-1個のnodeを
共有した、k-clique
を見つける
12年11月29日木曜日
8. (3)これを繰り返
CPM
し、探索が終わり
訪れたnodeを
1moduleとする
12年11月29日木曜日
10. CPMの特徴
• 条件の厳しさや各moduleの大きさを、k
を変化させることで調整できる
• 他の手法と違い、local情報のみ必要
• global情報を取れない今回のデータにマッチ
• あるmoduleに他のmoduleが影響すること
はない
12年11月29日木曜日
12. CPMd
• 有向グラフのCPM
• Gergely Palla, Illés J Farkas, Péter Pollner, Imre Derényi and
Tamás Vicsek (2007) Physica A 387, 4959
• k-cliqueの定義を「 ループが存在しない
ようなk-clique」とした上でのCPM
12年11月29日木曜日
14. データ
• フォロー関係をTwitter APIで取得
• 使い方は記事にまとめた http://goo.gl/
uHJX2
• 1時間に350Requestしか送れない!
• つまり350nodesのedge情報しか取れない
12年11月29日木曜日
15. 現状
• 自分@mosa_siruから2歩分のEdgeと1歩分の
ユーザー情報を取得
• 802nodes, 510000edges
• このデータではCPMdが終わらなかった
• 非常に密で、kを大きくしないと有意なmodule分類が得られない
が、大きなk-clique同定は計算量が大きいため?
• ↔のみを抜き出した無向グラフでのCPMは計
算できた
12年11月29日木曜日
18. 中高
計数
ネット友人2
ネット友人1
サークル
競技プログラミング
CPM結果
(k=9にて7modules)
12年11月29日木曜日
19. 展望
• API制限のため、逐次的にデータを取りたい
• 初期ノード集合を与え、それらが属する1つの
moduleを返す実装を考える
• 例:サークルの友人3人から、サークル集合のリストを返す
• 不要な枝情報を得ないことでAPI制限を回避
• 一応データが貰えないかTwitter社に打診中(返
信待ち)
12年11月29日木曜日
20. me
例
k=4とする
初期ノードを3つ指定する
12年11月29日木曜日
21. me
初期ノードから
APIより枝情報を取得する
12年11月29日木曜日
22. me
k-cliqueを1つ選ぶ
12年11月29日木曜日
23. 次はこのノードから
枝情報を取得する
me
隣接したk-cliqueを探す
moduleの新ノードの枝情報を取得し、新
たなk-cliqueを探す
以下繰り返し
12年11月29日木曜日