interpolate
コマンドの解説
複数のモデルから出力された確率を使い,それらのモデルを
線形補間したときの最適な重みを計算する.
呼び出し形式
interpolate [options] +[-] file1.probs +[-] file2.probs ...
file*.probs は,evallmの
-probs オプションで出力されたものである.
+ file.probs
の形式で呼び出した場合は,その確率ファイルに対する最適値を
更新する.一方,
+- file.probs
とした場合は,重みを初期値のまま更新しない.
interpolate は,重みの計算と評価について,次の3つの動作のどれかを
行う.
- 与えられた確率すべてを使って重みを計算し,同じセットに対して
パープレキシティを計算する.(-test_all オプション,または無指定)
- 与えられた確率の一部から重みを計算し,残りについて
パープレキシティを計算する.(-test_first, -test_last オプション)
-test_first ではデータ前半の指定された個数をテストに用い,
残りから重みを推定する.-test_last ではデータ後半の指定された
個数をテストに用い,残りから重みを推定する.
- 与えられた確率の半分から重みを計算し,残りの半分で
パープレキシティの計算をして,これを交互に行う.(-cv オプション)
何も指定しなければ,1の動作を行う.
オプション
- -test_all/-test_first 数/-test_last 数/-cv
-
上記の動作を切り替える.
- -stop_ratio 比率
-
収束判定のための閾値を指定する.連続する2回のパープレキシティの比率が
ここでの指定を超えた場合に,繰り返しを停止する.デフォルトは0.999.
- -tags タグファイル
-
一つの確率ストリームから複数の重みの組を計算するためのタグを指定する.
これにより,たとえばクラスモデルと単語モデルを組み合わせる重みを
クラスごとに変えることが可能になる.重みの組の数をNとすると,タグは
0〜N-1の整数で表わされる.タグファイルは,確率ファイルと同じ行数のファイル
であり,確率ファイルでのそれぞれの確率がどのタグにあたるかの対応を
記述する.
- -captions ファイル
-
タグに名前を付けるために使用する.このファイルはタグの種類分の行を持ち,
それぞれの行にはタグの短い説明を記述する.このファイルは,interpolate
の出力をわかりやすくするために使われる.
- -in_lambdas 初期値ファイル
-
重みの初期値を記述したファイルを指定する.
ここでの初期値は,
タグ0のモデル0 タグ0のモデル1 ....
タグ1のモデル0 タグ1のモデル1 ....
タグ2のモデル0 タグ1のモデル1 ....
のように指定する.
- -out_lambdas ファイル
-
計算された重みを,ファイルに書きこむ.
- -probs ファイル
-
計算された重みを使ってモデルを評価したときに,個々の確率を
ファイルに書きこむ.
- -max_probs 個数
-
入力する確率の個数の最大値を指定する.デフォルトは600000.
参照項目
evallm