これはJava実装の京都言語モデルツールキット(Kylm)のホームページです。 Kylmに以下のような機能が揃っています:
ソースコードや実行可能なJARファイルはここから入手可能です。
コーパスから平滑化されたn-gramモデルを構築するプログラムです。
使用例: java -cp kylm.jar kylm.main.CountNgrams training.txt model.arpa
N-gramモデルオプション:
-n: n-gramオーダ [デフォルト: 3]
-trim: 指定頻度以下のn-gramを削除する(例: 0:1:1)
-name: モデルの名前(モデル比較の時に用いる)
-smoothuni: 1-gramの平滑化を行う
記号・語彙オプション:
-vocab: 語彙の入力ファイル
-startsym: 文開始記号 [デフォルト: <s>]
-termsym: 文終了記号 [デフォルト: </s>]
-vocabout: 語彙の出力ファイル
-ukcutoff: 指定頻度以下の単語を未知語とする [デフォルト: 0]
-uksym: 未知語記号 [デフォルト: <unk>]
-ukexpand: 未知語を展開する
-ukmodel: 未知語のモデルを作る。複数指定可。他のモデルを含めるモデルは
最後に指定。
指定形式: 「記号:文字語彙サイズ[:正規表現(.*)][:オーダ(2)][:平滑化(wb)]
クラスオプション
-classes: 単語クラス指定ファイル (形式:「クラス 単語 [確率]」)
平滑化オプション [デフォルト: kn]
-ml: 最尤推定
-gt: Good-Turing平滑化
-wb: Witten-Bell平滑化
-abs: 絶対平滑化
-kn: Kneser-Ney平滑化
-mkn: Modified Kneser-Ney平滑化(Chen & Goodman)
出力オプション [デフォルト: arpa]
-bin: バイナリ出力
-wfst: 重み付き有限状態トランスデューサー(WFST)出力
-arpa: ARPA形式テキスト出力
-neginf: バックオフ値がないn-gramに使うバックオフ値 [デフォルト: null, 例: -99]
その他のオプション
-debug: 出力するデバッグ情報のレベル [デフォルト: 0]
テストデータを利用して、言語モデルのクロスエントロピーを計算します。
Usage: java -cp kylm.jar kylm.main.CrossEntropy [OPTIONS] test.txt
Example: CrossEntropy -arpa model1.arpa:model2.arpa test.txt
-arpa: ARPA形式のモデルファイル (model1.arpa:model2.arpa)
-bin: バイナリ形式のモデルファイル (model3.bin:model4.bin)
-debug: 出力するデバッグ情報のレベル [デフォルト: 0]
Kylmは現在Graham Neubigによって開発されていますが、他の開発者は歓迎します。
ご興味があればkylm@
までご連絡ください。
GNU Lesser General Public Licenseに従って利用、再配布できます。