ウェブコーパスの一部から形態素 N-gram コーパスを作成しました

追記(2010-09-22):完成版がこちら(N-gram コーパス - 日本語ウェブコーパス 2010)にあります.

追記(2010-08-06):文末記号(</S>)を追加したものを作成しました(形態素 N-gram コーパスの修正版 - やた@はてな日記).

ダウンロード

頻度が 100 以上の N-gram を収録したもの(over99)と,頻度が 10 以上の N-gram を収録したもの(over9)を用意しました.少しでも圧縮できるように,形態素数によるファイルの分割はおこなっていません.

ファイル名 サイズ 展開時のサイズ
over99-0000.xz 84,443,192 bytes 459,278,821 bytes
ファイル名 サイズ 展開時のサイズ
over9-0000.xz 329,101,340 bytes 2,147,483,623 bytes
over9-0001.xz 330,783,804 bytes 2,147,483,623 bytes
over9-0002.xz 151,165,084 bytes 928,693,527 bytes
ファイル名 SHA-1
over99-0000.xz daf570eea3ec26afb2433446b3192ea4c540e868
over9-0000.xz d40abb35a14ccd6430512c32f40fb82b0aa57d11
over9-0001.xz 61b51c8588e383e55346e7da2467f825bfc79d30
over9-0002.xz d8213a1ba40fa44f582f14cff988843f6fca2c6f

※ xz で圧縮してあるため,XZ Utils(XZ Utils)が必要です.Ubuntu であれば,パッケージマネージャや aptitude で xz-utils をインストールすることにより,xz を使えるようになります.

フォーマット

N-gram コーパスの各行は,1 つの N-gram と対応しています.また,各 N-gram は,空白で区切られた形態素と,水平タブの後に続く頻度により構成されています.

形態素 形態素 形態素 形態素	頻度

※ 形態素の間は空白(' ')で,形態素と頻度の間は水平タブ('\t')です.

例:$ xz -cd over99-0000.xz | head -4000000 | tail
おそらく 多く の 人	274
おそらく 多く の 人 が	145
おそらく 多く の 方	101
おそらく 夜	124
おそらく 大	404
おそらく 大 多数	108
おそらく 大きな	111
おそらく 大丈夫	432
おそらく 大丈夫 だ	106
おそらく 大半	141

N-gram の異なり数

コーパスに含まれる N-gram の異なり数は以下のようになっています.

- over99 over9
1-gram 284,994 983,860
2-gram 3,686,080 19,089,015
3-gram 6,957,443 60,824,879
4-gram 5,362,288 70,790,478
5-gram 2,970,114 52,780,001
合計 19,260,919 204,468,233

最後に概要

形態素頻度を求めたとき(ウェブコーパスの形態素頻度 - やた@はてな日記)と同じコーパスから,今度は形態素 N-gram の出現頻度を求めてみました.入力コーパスに含まれる文と形態素の数は以下の通りです.

文数 623,455,629(約 6 億)
形態素 9,058,967,398(約 90 億)

N-gram コーパスの規模は,日本語版 Wikipedia から作成したもの(http://d.hatena.ne.jp/nokuno/20100523/1274611686http://d.hatena.ne.jp/toilet_lunch/20100522)と Google N-gram の中間くらいになっています.日本語版 Wikipedia の規模を数十倍にすると今回の規模になり,さらに数十倍にすると Google N-gram の規模になるという感じです.

前処理の内容は Google N-gramhttp://www.gsk.or.jp/catalog/GSK2007-C/GSK2007C_README.utf8.txt)とほぼ同じですが,基本語彙と N-gram のカットオフを同じにしているため,未知語トークンは存在しません.また,作成した N-gram コーパスには,6-gram と 7-gram が含まれていません.