SlideShare a Scribd company logo
1 of 35
大阪Pythonユーザの集まり2014/10 
ツイートの取得と解析の間 
nemupm 
はざま
簡単に自己紹介 
修士1回の大学生です. 
データマイニングを研究してる関係で 
Pythonを使ってます. 
プログラミング系の勉強会は初めてです! 
@nemupm
本日喋りたいこと 
ツイート研究の概要 
研究を進める上で技術的に困ったこと
Twitter
Twitterとは… 
140文字のコミュニケーションツール 
幅広い使い方が可能 
不満の捌け口 
犯罪の自慢
Twitterとは… 
普段の趣味や生活に基づくツイートが投稿される 
ユーザの関心がツイートから分かる!
ユーザの関心が見れるWebサービス 
シロくも 
- 興味のある単語をワードクラウドで表示
ユーザの関心が見れるWebサービス 
ツイートプロファイリング 
- 興味をジャンルで分類
一体どうやってツイートを取得しているの?
Twitter API 1.1
Twitter API 1.1 
ツイートの取得や投稿など 
基本的な情報をJSONでやり取り 
REST API とStreaming APIがある. 
OAuth認証を利用 
ライブラリはTweepyなど.
しかし… 
TLの取得回数制限 
という壁が存在
TLの取得回数制限 
TLの取得回数制限が15分に180回まで 
同IPによるツイート取得リクエストは 
最大で200件×180回/1h 
ツイートの最大取得数は3200件/1アカウント 
- 自分のアカウントは全TL取得可能
研究者としては 
「せっかくこんなに沢山のユーザが居る」のに 
取得制限があるなんて 
ナンセンスだ!!
TLの取得回数制限 
TLの取得回数制限が15分に180回まで 
同IPによるツイート取得リクエストは 
最大で200件×180回/1h 
どうにかしたい 
ツイートの最大取得数は3200件/1アカウント 
- 自分のアカウントは全TL取得可能
200件×180回/1h は 
Twitter API 1.1の制限 
APIの制限だから仕方ない… 
・・・APIの制限? 
じゃあAPI使わなければ? これだ!!
クローリング
クローリング準備 
ブラウザでTLを見る&遡る時の 
リクエスト・レスポンスの内容を調べる.
クローリング準備 
ブラウザでTLを見る&遡る時の 
リクエスト・レスポンスの内容を調べる. 
GET 
20のツイートと 
max_idが埋め込まれたHTML 
max_idを指定してGET 
追加分の20のツイートが 
埋め込まれたHTMLと 
max_idパラメータ・ 
・
実装 
実装ですることは2つ 
リクエスト・レスポンスの処理 
HTMLのパース
リクエスト・レスポンスの処理 
requestsライブラリの利用 
使い方が直感的! 
書くのはこれだけ! 
ses = requests.session() 
res = ses.get(url, params, headers)
HTMLのパース 
HTMLParserライブラリの利用 
先頭から順に読み込んでいく 
開始タグ・終了タグ・中のデータを 
処理するメソッドをオーバーライドしてinstance化 
正直面倒くさい…
結果 
約3000件のツイートが1分で読めるように! 
※これ以上出来そうな気がしましたが 
sleep()で自重しています.
結果 
今までは一時間で… 
200件×180回=36000件 
これからは… 
5倍! 
20件×150回×60回=180000件 
苦労した割にショボイ
せっかく取得したので 
簡単に解析してみます.
ツイートの解析 
MeCabの利用 
日本語の形態素解析に最もよく用いられるツール 
ツイートから名詞だけを抽出
ツイートの解析 
TFIDFの利用 
特徴語の抽出に最もよく用いられるアルゴリズム 
特徴語のスコア: 
対象ユーザがその単語をツイートした回数 
TF 
その単語をツイートしたことがある人数の割合(レア度) 
DF
ツイートの解析 
TFIDFの利用 
特徴語の抽出に最もよく用いられるアルゴリズム 
特徴語のスコア: 
対象ユーザがその単語をツイートした回数 
TF 
その単語をツイートしたことがある人数の割合(レア度) 
DF 
珍しい単語を頻繁に使うほど 
関心が強いはずだ!!
あれ? 
でも各単語のレア度ってどうやって計算するの? 
既存研究者 
1万人?? 
1万人の 
ツイートデータがあれば 
計算できるよ~ 
by Polish Institute of International Affairs
クローリング
1~2週間のクローリングの後 
計算終了
実際に適用 
なら 
寝 
早く 
なかなか 
デモンズソウル 
将棋ウォーズ 
そのまま 
多少 
少し 
icpc 
カープ 
院試 
そんな 
棋譜 
銃規制 
マンu 
こんな 
ymca 
研究室 
デモンズ 
サーバ 
再帰 
増え 
見 
ウイイレ 
サンフレッチェ 
小島 
居 
lda 
python 
東海自然歩道 
アカリク 
fifa 
cloud 
天鳳 
インテル 
weaver 
グループワーク 
セカイカメラ 
喜連川 
まあまあ。
まとめ 
requests便利! 
- pythonのライブラリ頭良いなと思った 
Twitter社さん、ありがとう
ご清聴ありがとうございました!
photo credit 
The Aggressive Black Drongo! By Vinoth Chandar 
11th Grade - First Day of School By Mitchell Joyce 
Wretched By Piers Nye 
Dr. Michael Bravo, Scott Polar Research Institute, University of 
Cambridge 
By Polish Institute of International Affairs

More Related Content

What's hot

5分で分かる(かもしれない)バグバウンティ
5分で分かる(かもしれない)バグバウンティ5分で分かる(かもしれない)バグバウンティ
5分で分かる(かもしれない)バグバウンティshuna roo
 
AI GIRLS COLLECTION_0929
AI GIRLS COLLECTION_0929AI GIRLS COLLECTION_0929
AI GIRLS COLLECTION_0929EikoHoshino
 
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生Toshihiko Yamasaki
 
画像認識について
画像認識について画像認識について
画像認識についてyoshimoto koki
 
Kogcoder LT
Kogcoder LTKogcoder LT
Kogcoder LTteamcpaw
 
python3 エンジニア認定データ分析試験を受けてみた
python3 エンジニア認定データ分析試験を受けてみたpython3 エンジニア認定データ分析試験を受けてみた
python3 エンジニア認定データ分析試験を受けてみたssuserf94232
 
1.単純パーセプトロンと学習アルゴリズム
1.単純パーセプトロンと学習アルゴリズム1.単純パーセプトロンと学習アルゴリズム
1.単純パーセプトロンと学習アルゴリズム浩気 西山
 
文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!Kyoka Fujiike
 
Twitter講習会20100922
Twitter講習会20100922Twitter講習会20100922
Twitter講習会20100922Shinya ICHINOHE
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
Pepperアプリのバズらせ方
Pepperアプリのバズらせ方Pepperアプリのバズらせ方
Pepperアプリのバズらせ方Yoshimaru Tanaka
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料tetsuro ito
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands onOgushi Masaya
 
あたし、まっちゃだいふく
あたし、まっちゃだいふくあたし、まっちゃだいふく
あたし、まっちゃだいふくrip jyr
 
非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話Miyashita Hayato
 
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3Ultra Lightning Talk × 3
Ultra Lightning Talk × 3Nagi Teramo
 
Php入門
Php入門Php入門
Php入門dcubeio
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Shushi Namba
 

What's hot (20)

5分で分かる(かもしれない)バグバウンティ
5分で分かる(かもしれない)バグバウンティ5分で分かる(かもしれない)バグバウンティ
5分で分かる(かもしれない)バグバウンティ
 
AI GIRLS COLLECTION_0929
AI GIRLS COLLECTION_0929AI GIRLS COLLECTION_0929
AI GIRLS COLLECTION_0929
 
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
 
画像認識について
画像認識について画像認識について
画像認識について
 
Kogcoder LT
Kogcoder LTKogcoder LT
Kogcoder LT
 
python3 エンジニア認定データ分析試験を受けてみた
python3 エンジニア認定データ分析試験を受けてみたpython3 エンジニア認定データ分析試験を受けてみた
python3 エンジニア認定データ分析試験を受けてみた
 
1.単純パーセプトロンと学習アルゴリズム
1.単純パーセプトロンと学習アルゴリズム1.単純パーセプトロンと学習アルゴリズム
1.単純パーセプトロンと学習アルゴリズム
 
文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!文系私立大学生でも、プログラマーになりたい!
文系私立大学生でも、プログラマーになりたい!
 
Twitter講習会20100922
Twitter講習会20100922Twitter講習会20100922
Twitter講習会20100922
 
QaA
QaAQaA
QaA
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
Pepperアプリのバズらせ方
Pepperアプリのバズらせ方Pepperアプリのバズらせ方
Pepperアプリのバズらせ方
 
Gakusei lt
Gakusei ltGakusei lt
Gakusei lt
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands on
 
あたし、まっちゃだいふく
あたし、まっちゃだいふくあたし、まっちゃだいふく
あたし、まっちゃだいふく
 
非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話非エンジニアな大学生が一人でSNSアプリを作った話
非エンジニアな大学生が一人でSNSアプリを作った話
 
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3Ultra Lightning Talk × 3
Ultra Lightning Talk × 3
 
Php入門
Php入門Php入門
Php入門
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!
 

Similar to ツイートの取得と解析の間

アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編印鑰 智哉 INYAKU Tomoya
 
Pynyumon#4lt
Pynyumon#4ltPynyumon#4lt
Pynyumon#4ltdrillan
 
11 09-15 髙瀬チームプレゼン
11 09-15 髙瀬チームプレゼン11 09-15 髙瀬チームプレゼン
11 09-15 髙瀬チームプレゼンAkimitsu Takase
 
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnowS10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnowTakeshi Akutsu
 
参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)
参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)
参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)Hirosuke Asano
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5Takeshi Akutsu
 
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナーakihiro uehara
 
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―Hisao Soyama
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティスMasato Fujitake
 
成功事例に学ぶTwitterの企業アカウント活用方法
成功事例に学ぶTwitterの企業アカウント活用方法成功事例に学ぶTwitterの企業アカウント活用方法
成功事例に学ぶTwitterの企業アカウント活用方法comnico inc.
 
Twitter×就活
Twitter×就活Twitter×就活
Twitter×就活networkwan
 

Similar to ツイートの取得と解析の間 (14)

アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編アクティビストのためのTwitter講座! 入門編
アクティビストのためのTwitter講座! 入門編
 
Pynyumon#4lt
Pynyumon#4ltPynyumon#4lt
Pynyumon#4lt
 
11 09-15 髙瀬チームプレゼン
11 09-15 髙瀬チームプレゼン11 09-15 髙瀬チームプレゼン
11 09-15 髙瀬チームプレゼン
 
Twitter
TwitterTwitter
Twitter
 
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnowS10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
 
参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)
参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)
参院選の事例で見るTwitter分析の現状と課題(#TokyoWebmining)
 
1030 twitter講座.key
1030 twitter講座.key1030 twitter講座.key
1030 twitter講座.key
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
 
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
 
成功事例に学ぶTwitterの企業アカウント活用方法
成功事例に学ぶTwitterの企業アカウント活用方法成功事例に学ぶTwitterの企業アカウント活用方法
成功事例に学ぶTwitterの企業アカウント活用方法
 
Twitter×就活
Twitter×就活Twitter×就活
Twitter×就活
 
Techcircle005 welcome
Techcircle005 welcomeTechcircle005 welcome
Techcircle005 welcome
 

ツイートの取得と解析の間