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