SlideShare a Scribd company logo
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 Request
mosa siru
 
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
コミュニティ分類アルゴリズムの高速化とソーシャルグラフへの応用
mosa siru
 
Go, memcached, microservices
Go, memcached, microservicesGo, memcached, microservices
Go, memcached, microservices
mosa siru
 
Elasticsearch for Hackadoll
Elasticsearch for HackadollElasticsearch for Hackadoll
Elasticsearch for Hackadoll
mosa 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

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 

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