N-gram コーパスの作成コスト

今の方法で N-gram コーパスを作成するのにかかるコストを調べてみました.といっても,N-gram コーパスのマージや頻度によるカットオフにかかるコストは含んでいません.参考程度です.

実験環境は Core 2 Duo 1.6GHz で,コーパス作成用のプロセスには 2GiB のメモリを割り当てました.

※ グラフの作成には http://code.google.com/intl/ja/apis/chart/docs/chart_wizard.html を利用しています.

形態素 N-gram コーパスの作成コスト

入力は MeCab の出力 2GiB で,N は 1 〜 9 まで試しました.

Time and space for building n-gram corpus from 2 GiB MeCab output

公開している N-gram コーパスの作成に用いたのは約 470GiB なので,同じ環境で並列化しないと 20 時間くらいかかることになります.また,現在の 5-gram を基準にすると,7-gram までの N-gram コーパスを作成するには 2 倍弱,9-gram では 3 倍弱のコストがかかるようです.

最終的には 10 倍以上の入力から作成する予定なので,単純計算をすると,5-gram までで 200 CPU 時間,7-gram までだと 400 CPU 時間くらいはかかります.少なくとも並列数を 10 以上にした方がよさそうです.

文字 N-gram コーパスの作成コスト

入力は前処理を施したテキスト 207.5MiB で,N は 1 〜 9 まで試しました.

# このテキストを MeCab に入力すると,2GiB より 5% くらい大きな出力が得られます.

Time and space for building n-gram corpus from 2 GiB MeCab output

形態素 N-gram コーパスと傾向は同じですが,N の増加によるコストの増大幅が大きくなっています.5-gram の時点では形態素の場合よりコストが小さくなっていますが,7-gram の時点で逆転しています.