具体的な手順としては、ツイートファイルをまず一つにまとめるところからである。
$ 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で処理する。