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

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 

Recently uploaded (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

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日木曜日