Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TokyoWebmining#05 RでTwitterのソーシャルグラフっぽいものを描いてみる
Search
bob3bob3
January 14, 2022
Programming
0
250
TokyoWebmining#05 RでTwitterのソーシャルグラフっぽいものを描いてみる
RでTwitterのソーシャルグラフっぽいものを描いてみる
2010年4月
bob3bob3
January 14, 2022
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
RとLLMで自然言語処理
bob3bob3
3
610
RでPSM分析
bob3bob3
1
290
Rでコンジョイント分析 2024年版
bob3bob3
0
1.4k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.2k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
590
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
510
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
600
qeMLパッケージの紹介
bob3bob3
0
2.1k
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
590
Other Decks in Programming
See All in Programming
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
600
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
5.5k
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
130
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
1.8k
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
330
The State of Fluid (2025)
s2b
0
120
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
380
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
970
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
200
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
280
Featured
See All Featured
Scaling GitHub
holman
461
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Building an army of robots
kneath
306
45k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Designing Experiences People Love
moore
142
24k
4 Signs Your Business is Dying
shpigford
184
22k
Six Lessons from altMBA
skipperchong
28
3.9k
Unsuck your backbone
ammeep
671
58k
Agile that works and the tools we love
rasmusluckow
329
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
2010/04/17 Tokyo.Webmining #5 Tokyo.Webmining #5 『 『 R R で
で Twitter Twitter のソーシャルグラフっぽい のソーシャルグラフっぽい ものを描いてみる』 ものを描いてみる』 Bob#3 Bob#3
自己紹介 自己紹介 • 【はてな】 【はてな】 id:bob3 id:bob3 • 【 【
Twitter Twitter 】 】 @bob3bob3 @bob3bob3 • バリバリの文系です。 バリバリの文系です。 • 仕事はマーケティング・リサーチャー。 仕事はマーケティング・リサーチャー。 • 本日のお話はまるっきり“お遊び”です。 本日のお話はまるっきり“お遊び”です。
動機 動機 • “ “ R”とはオープンソースの統計解析ツール。 R”とはオープンソースの統計解析ツール。 • Rの“ Rの“
twitteR” twitteR” パッケージが面白い! パッケージが面白い! • Twitter API Twitter API 経由で直接 経由で直接 R R に情報を取り込める。 に情報を取り込める。 • グラフ理論を扱う“ グラフ理論を扱う“ igraph” igraph” パッケージと組み合わ パッケージと組み合わ せれば せれば
先行事例 先行事例 「 「 iGraph iGraph で で Twitter Twitter
のネットワークを表してみ のネットワークを表してみ る」 る」 <http://d.hatena.ne.jp/syou6162/20071115/119507 <http://d.hatena.ne.jp/syou6162/20071115/119507 6286> 6286> ※ ※ データの抽出には データの抽出には Perl Perl を使っている。 を使っている。 「 「 twitter's social network analysis twitter's social network analysis ( ( Tsukuba.R#4 Tsukuba.R#4 )」 )」 <http://www.slideshare.net/guest91c5ac/twitters- <http://www.slideshare.net/guest91c5ac/twitters- social-network-analysis> social-network-analysis> ※ ※ 「お気に入り」登録に注目してクラスタリン 「お気に入り」登録に注目してクラスタリン グ。 グ。 ★ ★ twitteR twitteR を使えば、情報の収集から分析まで を使えば、情報の収集から分析まで R R で完結させられるんじゃないか? で完結させられるんじゃないか?
手順 手順 1. 1.「タネ」となるアカウントを選ぶ。 「タネ」となるアカウントを選ぶ。 2. 2.「タネ」がフォローしているアカウントの 「タネ」がフォローしているアカウントの id id
を取得。 を取得。 3. 3.フォローしているアカウントのリストからネットワーク フォローしているアカウントのリストからネットワーク 図(グラフ)を描く。 図(グラフ)を描く。 4. 4.フォロー関係の情報を使ってクラスタリング。 フォロー関係の情報を使ってクラスタリング。 5. 5.ネットワークの中で重要なノード(人物)に重み付け ネットワークの中で重要なノード(人物)に重み付け をする。 をする。
今回のタネ 今回のタネ • Twitter Twitter アカウントを持つ国会議員。 アカウントを持つ国会議員。 • ただし、 ただし、
TwitterAPI TwitterAPI の制限のため、フォロー先が の制限のため、フォロー先が 100 100 未 未 満の人に絞る。 満の人に絞る。 • TwitterAPI TwitterAPI の制限 の制限 – リクエストできるのは1時間に リクエストできるのは1時間に 150 150 回まで。 回まで。 – 取得できるフォロー先のリストは最新 取得できるフォロー先のリストは最新 100 100 アカウントまで。 アカウントまで。 • コードはブログに載せておきました。 コードはブログに載せておきました。 • http://d.hatena.ne.jp/bob3/20100619 http://d.hatena.ne.jp/bob3/20100619
使ったアカウントのリスト 使ったアカウントのリスト jimin_koho # jimin_koho # 自民党広報 自民党広報 komei_koho #
komei_koho # 公明党広報 公明党広報 your_party # your_party # みんなの党広報 みんなの党広報 Tanigaki_S # Tanigaki_S # 谷垣禎一 谷垣禎一 ( ( 自民 自民 ) ) tadamori_oshima # tadamori_oshima # 大島理森 大島理森 ( ( 自民 自民 ) ) TAIRAMASAAKI # TAIRAMASAAKI # 平将明 平将明 ( ( 自民 自民 ) ) AkiraNishino # AkiraNishino # 西野陽 西野陽 ( ( 自民 自民 ) ) junmatsumoto411 # junmatsumoto411 # 松本純 松本純 ( ( 自民 自民 ) ) akibakenya # akibakenya # 秋葉賢也 秋葉賢也 ( ( 自民 自民 ) ) ohmura_hideaki # ohmura_hideaki # 大村秀章 大村秀章 ( ( 自民 自民 ) ) akimoto_tsukasa # akimoto_tsukasa # 秋元司 秋元司 ( ( 自民 自民 ) ) SatoMasahisa # SatoMasahisa # 佐藤正久 佐藤正久 ( ( 自民 自民 ) ) kandorishinobu # kandorishinobu # 神取忍 神取忍 ( ( 自民 自民 ) ) maruyamakun # maruyamakun # 丸山和也 丸山和也 ( ( 自民 自民 ) ) shiba_masa # shiba_masa # 柴山昌彦 柴山昌彦 ( ( 自民 自民 ) ) abetoshiko # abetoshiko # 阿部俊子 阿部俊子 ( ( 自民 自民 ) ) kushibuchi # kushibuchi # 櫛渕万里 櫛渕万里 ( ( 民主 民主 ) ) yokokume # yokokume # 横粂勝仁 横粂勝仁 ( ( 民主 民主 ) ) miekondotcom # miekondotcom # 中林美恵子 中林美恵子 ( ( 民主 民主 ) ) oniken0024 # oniken0024 # 大西健介 大西健介 ( ( 民主 民主 ) ) yo_ishida # yo_ishida # 石田芳弘 石田芳弘 ( ( 民主 民主 ) ) yamanoikazunori # yamanoikazunori # 山井和則 山井和則 ( ( 民主 民主 ) ) takashinagao # takashinagao # 長尾敬 長尾敬 ( ( 民主 民主 ) ) Kumaatsu # Kumaatsu # 熊田篤嗣 熊田篤嗣 ( ( 民主 民主 ) ) otaninobumori # otaninobumori # 大谷信盛 大谷信盛 ( ( 民主 民主 ) ) okadayasuhiro # okadayasuhiro # 岡田康裕 岡田康裕 ( ( 民主 民主 ) ) takasho624 # takasho624 # 高橋昭一 高橋昭一 ( ( 民主 民主 ) ) toshiro141 # toshiro141 # 石井登志郎 石井登志郎 ( ( 民主 民主 ) ) Sakaguchi_Naoto # Sakaguchi_Naoto # 阪口直人 阪口直人 ( ( 民主 民主 ) ) yunoki_m # yunoki_m # 柚木道義 柚木道義 ( ( 民主 民主 ) ) tamakiyuichiro # tamakiyuichiro # 玉木雄一郎 玉木雄一郎 ( ( 民主 民主 ) ) nagaetakako # nagaetakako # 永江孝子 永江孝子 ( ( 民主 民主 ) ) fukken01 # fukken01 # 福嶋健一郎 福嶋健一郎 ( ( 民主 民主 ) ) grazie4812 # grazie4812 # 磯谷香代子 磯谷香代子 ( ( 民主 民主 ) ) imai_masato # imai_masato # 今井雅人 今井雅人 ( ( 民主 民主 ) ) fujitadaisuke # fujitadaisuke # 藤田大助 藤田大助 ( ( 民主 民主 ) ) GOGOdai5 # GOGOdai5 # 松浦大悟 松浦大悟 ( ( 民主 民主 ) ) Y_Kaneko # Y_Kaneko # 金子洋一 金子洋一 ( ( 民主 民主 ) ) fujimoto_yuuji # fujimoto_yuuji # 藤本祐司 藤本祐司 ( ( 民主 民主 ) ) kunivoice # kunivoice # 谷岡郁子 谷岡郁子 ( ( 民主 民主 ) ) k_maekawa # k_maekawa # 前川清成 前川清成 ( ( 民主 民主 ) ) inuzuka2010 # inuzuka2010 # 犬塚直史 犬塚直史 ( ( 民主 民主 ) ) izki_toyama # izki_toyama # 外山斎 外山斎 ( ( 民主 民主 ) ) odachi_moto # odachi_moto # 尾立源幸 尾立源幸 ( ( 民主 民主 ) ) hirayamamakoto # hirayamamakoto # 平山誠(新党日本) 平山誠(新党日本) HideoYoshiizumi # HideoYoshiizumi # 吉泉秀男(社民) 吉泉秀男(社民) hattori_ryoichi # hattori_ryoichi # 服部良一(社民) 服部良一(社民) edaoffice # edaoffice # 江田憲司(みんな) 江田憲司(みんな) kiyohiko_toyama # kiyohiko_toyama # 遠山清彦(公明) 遠山清彦(公明) Noriko_Furuya # Noriko_Furuya # 古屋 範子(公明) 古屋 範子(公明) 以上 以上 50 50 アカウント アカウント
そのまま描画 そのまま描画
次数2以下のノードを削除 次数2以下のノードを削除
PageRank PageRank でノードに重みを付ける でノードに重みを付ける
Modularity Q Modularity Q でクラスタリング でクラスタリング • 「クラスタに含まれているエッジの割合が、ク 「クラスタに含まれているエッジの割合が、ク ラスタから出ているエッジの割合よりもどれだ
ラスタから出ているエッジの割合よりもどれだ け大きいか」ということと「グラフが適度に分 け大きいか」ということと「グラフが適度に分 割されているか」ということのトレードオフの 割されているか」ということのトレードオフの 値が 値が Modularity Q Modularity Q 。 。 • Q Q が最大になる分割が適切と推測されるクラス が最大になる分割が適切と推測されるクラス タリング。 タリング。 • 詳しくは以下の資料などを参照してください。 詳しくは以下の資料などを参照してください。 • http://ymatsuo.com/surveySNA/shibata.pdf http://ymatsuo.com/surveySNA/shibata.pdf
クラスタごとに色を付ける クラスタごとに色を付ける
今後やってみたいこと 今後やってみたいこと • Reply Reply や や Re-Tweet Re-Tweet でエッジの重み付け。
でエッジの重み付け。 • Tweet Tweet の内容も考慮したクラスタリング の内容も考慮したクラスタリング