Palmkit reference --- evallm ---

# evallm

## コマンドの解説

ARPA形式または バイナリ形式の言語モデルを評価する．

## 呼び出し形式

        evallm [options] -arpa 言語モデル指定(ARPA形式)
        evallm [options] -binary 言語モデル指定(バイナリ形式)

与えられた言語モデルを評価する．-text オプションが指定された場合は， そこで指定されたファイルを直ちに評価し，結果を出力して終了する． そうでない場合は，対話モードに入って

        evallm :

というプロンプトを表示して入力待ちになるので，ここでサブコマンドを 入力する．

言語モデルの指定として，次のようなものが使える．

        ファイル名[;長さ][*重み][,ファイル名[;長さ]*重み...]

- 「ファイル名」は言語モデルファイルの名前である。なお， ここで指定するモデルは，単語N-gramでもクラスN-gramでもよい．
- 「長さ」を指定すると、その長さのN-gramとしてモデルを評価する。この機能 によって、例えばtrigramのモデルをbigramとして利用できる。
- 「重み」を指定すると、その言語モデルで計算された確率に重みを乗じる。
- 複数のファイル名を指定すると、それらの全てのモデルから計算された 確率をすべて加える。結果を確率として評価するためには、全てのモデルの重みの 総和が１でなければならないが、チェックはしていない。

いくつか例をあげる．

- ２つのモデル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 のバイナリ形式言語モデル とは互換性がない．