SlideShare a Scribd company logo
1 of 23
Download to read offline
Twitterにおける自動リスト作成
                     @mosa_siru




12年11月29日木曜日
目標
               • Clusteringの手法を使って、Twitterにお
                けるリスト作成を自動化
                •   リスト:友人の中で特に見たい人をグループにして閲覧する機能

                •   「サークルの友人リスト」などを自動的に作成したい


                •   各リスト(以下module)はオーバーラップ

                    •   例:大学の友人,サークルの友人の両方に属する人が存在




12年11月29日木曜日
ソーシャルグラフとしての
                   Twitter

               • ユーザーをNode、フォロー関係を
                Edgeとして有向グラフで表す

               • 自己ループやMultiple Edgeは存在しな
                いが、Double Edge( )は存在する




12年11月29日木曜日
手法

               • 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日木曜日
CPM
    以下k=4とする




12年11月29日木曜日
CPM
    (1)k-cliqueを見
               つける




12年11月29日木曜日
CPM
      (2)k-1個のnodeを
    共有した、k-clique
               を見つける




12年11月29日木曜日
(3)これを繰り返
                 CPM
  し、探索が終わり
      訪れたnodeを
    1moduleとする




12年11月29日木曜日
CPM
  (4)複数のmoduleを
   作ると、重複する




12年11月29日木曜日
CPMの特徴
               • 条件の厳しさや各moduleの大きさを、k
                を変化させることで調整できる

               • 他の手法と違い、local情報のみ必要
                •   global情報を取れない今回のデータにマッチ

               • あるmoduleに他のmoduleが影響すること
                はない
12年11月29日木曜日
CPM
 kを小さくすると、条
件が緩くなりmoduleが
         大きくなる。
               (例:k=3)




12年11月29日木曜日
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日木曜日
k-clique (CPMd)




               4-cliqueである   4-cliqueでない
               ループがない        ループがある


12年11月29日木曜日
データ

               • フォロー関係をTwitter APIで取得
                •   使い方は記事にまとめた http://goo.gl/
                    uHJX2

                •   1時間に350Requestしか送れない!

                    •   つまり350nodesのedge情報しか取れない




12年11月29日木曜日
現状
               •   自分@mosa_siruから2歩分のEdgeと1歩分の
                   ユーザー情報を取得

                   •   802nodes, 510000edges

               •   このデータではCPMdが終わらなかった

                   •   非常に密で、kを大きくしないと有意なmodule分類が得られない
                       が、大きなk-clique同定は計算量が大きいため?


               •   ↔のみを抜き出した無向グラフでのCPMは計
                   算できた

12年11月29日木曜日
元の有向グラフ(非常に密)
12年11月29日木曜日
のみを抜き出した
                無向グラフ
12年11月29日木曜日
中高
                                      計数

                 ネット友人2




               ネット友人1
                                           サークル




                          競技プログラミング

                       CPM結果
                   (k=9にて7modules)
12年11月29日木曜日
展望
               •   API制限のため、逐次的にデータを取りたい

               •   初期ノード集合を与え、それらが属する1つの
                   moduleを返す実装を考える

                   •   例:サークルの友人3人から、サークル集合のリストを返す

                   •   不要な枝情報を得ないことでAPI制限を回避


               •   一応データが貰えないかTwitter社に打診中(返
                   信待ち)

12年11月29日木曜日
me




                        例
                      k=4とする
               初期ノードを3つ指定する
12年11月29日木曜日
me




                 初期ノードから
               APIより枝情報を取得する

12年11月29日木曜日
me




               k-cliqueを1つ選ぶ


12年11月29日木曜日
次はこのノードから
  枝情報を取得する
                     me




                   隣接したk-cliqueを探す
               moduleの新ノードの枝情報を取得し、新
                    たなk-cliqueを探す
                      以下繰り返し
12年11月29日木曜日

More Related Content

Viewers also liked

Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)mosa siru
 
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestmosa siru
 
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用mosa siru
 
Go, memcached, microservices
Go, memcached, microservicesGo, memcached, microservices
Go, memcached, microservicesmosa siru
 
Elasticsearch for Hackadoll
Elasticsearch for HackadollElasticsearch for Hackadoll
Elasticsearch for Hackadollmosa siru
 
ニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービスニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービスmosa siru
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)mosa siru
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 

Viewers also liked (8)

Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)Twitter SmartList (第5回若手webエンジニア交流会)
Twitter SmartList (第5回若手webエンジニア交流会)
 
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Request
 
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
 
Go, memcached, microservices
Go, memcached, microservicesGo, memcached, microservices
Go, memcached, microservices
 
Elasticsearch for Hackadoll
Elasticsearch for HackadollElasticsearch for Hackadoll
Elasticsearch for Hackadoll
 
ニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービスニュースパスのクローラーアーキテクチャとマイクロサービス
ニュースパスのクローラーアーキテクチャとマイクロサービス
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (9)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

how to make twitter list automatically

  • 1. Twitterにおける自動リスト作成 @mosa_siru 12年11月29日木曜日
  • 2. 目標 • 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日木曜日
  • 9. CPM (4)複数のmoduleを 作ると、重複する 12年11月29日木曜日
  • 10. CPMの特徴 • 条件の厳しさや各moduleの大きさを、k を変化させることで調整できる • 他の手法と違い、local情報のみ必要 • global情報を取れない今回のデータにマッチ • あるmoduleに他のmoduleが影響すること はない 12年11月29日木曜日
  • 11. CPM kを小さくすると、条 件が緩くなりmoduleが 大きくなる。 (例:k=3) 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日木曜日
  • 13. k-clique (CPMd) 4-cliqueである 4-cliqueでない ループがない ループがある 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日木曜日
  • 17. のみを抜き出した 無向グラフ 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日木曜日