idngram2lm
コマンドの解説
ID n-gram形式のデータから,
ARPA形式
またはバイナリ形式のback-off言語モデルを生成する.
呼び出し形式
idngram2lm [options] -vocab file.vocab[.gz] -idngram file.idngram[.gz] -arpa outfile.arpa[.gz]
idngram2lm [options] -vocab file.vocab[.gz] -idngram file.idngram[.gz] -binary outfile.bin[.gz]
-vocab で語彙ファイルを,-idngramでID n-gram ファイルを指定する.出力される
言語モデルファイルは,-arpa または-binaryで指定する.
クラスモデルを生成する場合は,
下記の-class と-idwfreqオプションが必要.
オプション
- -class file.cls[.gz]
- クラスモデルを作成する場合に,
クラスファイルを指定する.
- -idwfreq file.idwfreq[.gz]
- クラスモデルを作成する場合に,
ID wfreqファイルを指定する.
- -vocab_type 0〜2
-
未知語を含むモデル(open vocabulary model)の場合は1,
未知語を含まないモデル(closed vocabulary model)の場合は
0を指定する.学習データに未知語を含まないが,入力には
未知語を許すという場合には2を指定する.
デフォルトは1.
- -oov_fraction 比率
-
上記の -vocab_typeオプションで2を指定した場合の,
未知語の比率を指定する.ディスカウントされた確率のうち,
ここで指定した比率が未知語に回される.デフォルトは0.5.
- -linear | -absolute | -good_turing | -witten_bell | -no_discount
-
ティスカウントの手法を指定する.各オプションに対応するディスカウント手法
は次の通り.
-linear | linear discounting
|
-absolute | absolute discounting
|
-good_turing | Good-Turing discounting
|
-witten_bell | Witten-Bell discounting
|
-no_discount | ディスカウントなし
|
デフォルトは Witten-Bell discountingである.
- -disc_ranges 回数1 回数2 回数3 ...
-
Good-Turing discounting を用いる場合,各n-gramで
どこまでdiscountingをするかを指定する.デフォルトは,
unigramが1,bigramが7,trigramが7である.
- -cutoffs 回数2 回数3 ...
-
各n-gramのカットオフを指定する.「回数2」がbigramの
カットオフ,「回数3」がtrigramのカットオフである.
ここで指定した回数以下のn-gram countは削除される.
デフォルトはすべて0である.
- -ascii_input
-
入力のID n-gramがテキスト形式のときに指定する.
- -n 長さ
-
n-gramの長さを指定する.デフォルトは3.
- -d 距離
-
distance bigramを作成する時の距離を指定する。
-d 0 で通常のbigram と等価である。-d を指定する場合、
同時に -n 2 を指定しなければならない。
- -one_unk
-
クラスモデル作成時に,未知語を1つのシンボルとして扱う場合に
これを指定する.
- -verbosity 数字
-
実行時に,どの程度の情報を出力するかを制御する.0を指定すると,
余計な情報の出力をしない.デフォルトは2.
- -discount_tweak 係数
-
ディスカウントの値を係数倍する.
注意事項
idngram2lm が生成するバイナリ形式の言語モデルは,
CMU-Cambridge SLM Toolkit のバイナリ形式言語モデル
とは互換性がない.
参照項目
text2idngram,
ctext2idngram