evallm
コマンドの解説
ARPA形式または
バイナリ形式の言語モデルを評価する.
呼び出し形式
evallm [options] -arpa 言語モデル指定(ARPA形式)
evallm [options] -binary 言語モデル指定(バイナリ形式)
与えられた言語モデルを評価する.-text オプションが指定された場合は,
そこで指定されたファイルを直ちに評価し,結果を出力して終了する.
そうでない場合は,対話モードに入って
evallm :
というプロンプトを表示して入力待ちになるので,ここでサブコマンドを
入力する.
言語モデルの指定として,次のようなものが使える.
ファイル名[;長さ][*重み][,ファイル名[;長さ]*重み...]
- 「ファイル名」は言語モデルファイルの名前である。なお,
ここで指定するモデルは,単語N-gramでもクラスN-gramでもよい.
- 「長さ」を指定すると、その長さのN-gramとしてモデルを評価する。この機能
によって、例えばtrigramのモデルをbigramとして利用できる。
- 「重み」を指定すると、その言語モデルで計算された確率に重みを乗じる。
- 複数のファイル名を指定すると、それらの全てのモデルから計算された
確率をすべて加える。結果を確率として評価するためには、全てのモデルの重みの
総和が1でなければならないが、チェックはしていない。
いくつか例をあげる.
- 2つのモデルa.arpaとb.arpa.gzを,それぞれ重み0.25と0,75で加える場合,
a.arpa*0.25,b.arpa.gz*0.75
ディスカウントのないbigramモデルx.arpaについて,unigramとbigramを
それぞれ0.41と0.59の重みで加える場合,
x.arpa;1*0.41,x.arpa;2*0.59
なお,一つの言語モデル指定でARPA形式とバイナリ形式の
ファイルを混在させることはできない.
オプション
- -ccs コンテキストキュー
-
コンテキストキューのファイルを指定する.
- -text 評価テキスト
-
指定された評価テキストを使って、ただちにパープレキシティを
計算する。
- -probs ファイル
-
評価テキストの各単語の出現確率を,指定したファイルに書き出す.
-text オプションとともに使った場合のみ有効.
- -annotate ファイル
-
評価テキストの各単語の確率,対数確率,計算状況(直接求まったか,
back-offしたか,etc.)を,指定したファイルに書き出す.
-text オプションとともに使った場合のみ有効.
- -include_unks
-
未知語の出現確率を含めてパープレキシティを計算する.
-text オプションとともに使った場合のみ有効.
サブコマンド
対話モードでは,次のサブコマンドが有効である.
- perplexity -text 評価テキスト, pp -text 評価テキスト
-
指定されたファイルのテストセットパープレキシティを計算する.
このコマンドには,次のようなオプションがある.
- -probs ファイル
-
評価テキストの各単語の出現確率を,指定したファイルに書き出す.
- -annotate ファイル
-
評価テキストの各単語の確率,対数確率,計算状況(直接求まったか,
back-offしたか,etc.)を,指定したファイルに書き出す.
- -include_unks
-
未知語の出現確率を含めてパープレキシティを計算する.
- validate w1 w2 ...
-
与えられたコンテキストw1 w2 ...(trigramの場合は2単語)
において,
ΣwP(w|w_1w_2...)=1
になるかどうかをチェックする.
- help
-
コマンド一覧を表示する.
- quit
-
evallmを終了する.
注意事項
evallm が扱うバイナリ形式の言語モデルは,
Palmkit付属のidngram2lmが生成したものに限られる.
CMU-Cambridge SLM Toolkit のバイナリ形式言語モデル
とは互換性がない.