4000万ツイートから名詞を使用頻度の順に取り出す(2)

具体的な手順としては、ツイートファイルをまず一つにまとめるところからである。

$ cat tweets*.txt > all_tweets_181012.txt

5,358,925,973バイトあった。5Gbである。

集めたファイルを、mecabで分かち書きする。時間も測っている。名詞だけを取り出し、余計なものをカットし、改行を空白に取り替えると次のようなコマンドラインになる。

$ time mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd/ all_tweets_181012.txt | grep -e "名詞,一般" -e "名詞,固有名詞" -e "名詞,サ変接続" -e "名詞,接尾" | cut -f1 | tr '\n' ' ' > twitter_wakati_data_noun_181012.txt

これで、1時間40分くらいかけて、名詞だけわかち書きされたファイル出来上がる。名詞だけにしたので、2,459,139,485バイトになった。

20スレッドくらいで並列処理したいので、一個のファイルだと不便だ。次のコマンドで125メガくらいのファイルに分割する。パソコンの並列スレッド数は24だが、全部使って動かすと、パソコンがギクシャクしてくるので。

$ split -b 125m twitter_wakati_data_noun_181012.txt

あとは、javaで処理する。