Twitterから過去のツイートをダウンロードする
PCのブラウザからTwitterの設定を開くと、下の方にダウンロードのリクエストがある。リクエストしてから数時間でメールが届く。
*1
Twitterを登録しているメールに
「ツイート履歴をご確認ください」
ってメールが来るのでそのメールのリンクを踏むとダウンロードが始まる。
ファイル
こんなのが入っていて、
index.htmlを開くと、過去ツイートが全部オフラインで見られる。
リツイートとかも含まれるし、右欄にツイートの履歴が見られる。
*2
ただ、今回使うのはtweets.csvだけ。
Pandasからtweets.csvを読み込む
PandasはPythonでデータ処理をするならぜひとも入れたいパッケージ。
DataFrameは慣れるまでけっこう大変だけど慣れると今までNumpyとか文字列処理とかで頑張っていたことがよしなに行われて戻れなくなる。んひーぱんだずさいこう。
でも機能が多すぎてイマイチ使いこなせてない感じがする。
pip install pandas
import pandas as pd tweets_csv = pd.read_csv('ensekitt/tweets.csv')
残念ながらこれだけ。
データの最初だけちょっと見てみる
tweets_csv.head()
Jupyter Notebookで実行するとかなり見やすい感じにまとまって出てくる。
独り言だけ取り出してみる
monologue = tweets_csv[ pd.isnull(tweets_csv.in_reply_to_status_id) & pd.isnull(tweets_csv.in_reply_to_user_id) & pd.isnull(tweets_csv.retweeted_status_id)]
DataFrame[条件]
pd.isnull()というのはNaNとかだった時にTrueを返す。&で繋げば全部見たした時みたいになる。
リプライのIDとリツイートのIDがNaNだったら独り言でしょってことで、これで
monologueのなかに独り言だけ格納される。
特定の単語が含まれるツイートの数を数えてみる
oppai = monologue[['おっぱい' in text for text in monologue.text.values]] oppai.info()
<class 'pandas.core.frame.DataFrame'> Int64Index: 133 entries, 346 to 95412 Data columns (total 10 columns): tweet_id 133 non-null int64 in_reply_to_status_id 0 non-null float64 in_reply_to_user_id 0 non-null float64 timestamp 133 non-null object source 133 non-null object text 133 non-null object retweeted_status_id 0 non-null float64 retweeted_status_user_id 0 non-null float64 retweeted_status_timestamp 0 non-null object expanded_urls 9 non-null object dtypes: float64(4), int64(1), object(5) memory usage: 16.4+ KB
独り言で133回でした。病気かな?
なんでこんな記事になったのか
JUMAN++の実行を待ってたらJUMAN++ v2だいたいできたよ!改善したしめっちゃ早くなるよ!ってツイートが流れてきて
萎えたのでJUMAN++の実行を止めてそんなに重くないデータセットの準備だけした。
juman++v2 is almost feature complete!https://t.co/PqzFedk7cF
— あるちゃん (@to_aruchan) 2017年10月24日
Getting the same or better accuracy than v1 and ~70x speedup.