このパッケージには、SRILM 言語モデルの Perl および Python ラッパーを生成するためのファイルが含まれています。
GNU メイク
簡易ラッパーおよびインターフェイス ジェネレーター (SWIG)
ローカルの Python および/または Perl インストール
SRILM ツールキット (v1.7.1)。 SRILM の古いバージョン (1.5.x シリーズなど) を使用している場合は、 old_srilm
ブランチを使用する必要があります。 SRILM は位置に依存しないコードとしてコンパイルされている必要があることに注意してください。これを行うには、SRILM のコンパイル時にコマンドMAKE_PIC=yes make
使用します。
付属の Makefile の先頭にある次の環境変数を変更します。
SRILM_LIBS
: SRILM ライブラリを含むディレクトリ
SRILM_INC
: SRILM ヘッダー ファイルを含むディレクトリ
PYTHON_INC
: Python ヘッダー ファイルを含むディレクトリ
PERL_INC
: Perl ヘッダー ファイルを含むディレクトリ
Python モジュールを作成するには、このディレクトリで「make python」を実行します。 _srilm.so
とsrilm.py
Python モジュールを使用するディレクトリにコピーします。付属のtest.py
スクリプトを実行して、コンパイルされたモジュールが正しく動作するかどうかを確認できます。 test.py の出力は次のようになります。
1. Number of n-grams: There are 11868 unigrams in this LM There are 59481 bigrams in this LM There are 16744 trigrams in this LM There are 13787 4-grams in this LM There are 12082 5-grams in this LM 2. N-gram log probabilities: p('good') = -3.49373698235 p('of the') = -0.558740794659 p('nitin madnani') = -99.0 p('there are some') = -0.985605716705 p('do more about your') = -0.469523012638 p('or whatever has yet to') = -0.53226429224 3. Sentence log probabilities and perplexities: p('there are some good') = -9.85836982727 ppl('there are some good') = 93.6858444214 4. OOvs: nOOVs('there are some foobar') = 1 5. Corpus log probabilties and perplexities: Logprob for the file test.txt = -33.6016654968 Perplexity for the file test.txt = 94.7476806641
Perl モジュールを作成するには、このディレクトリでmake perl
を実行します。 srilm.so
とsrilm.pm
選択したディレクトリにコピーします。付属の Perl スクリプト「test.pl」を実行して、コンパイルされたモジュールが正しく動作するかどうかをテストします。出力は上記と同じになるはずです。
注: これは OS X El Capitan でのみ、また組み込みバージョンの Python (2.7.10) と Perl (5.18) でのみテストされています。
macosx
ブランチをチェックしてください。
SRILM ライブラリがコンパイルされていることを確認してください ( MAKE_PIC=yes make
)。
SRILM ヘッダー ファイル ( $SRILM/include
) を含むディレクトリに移動し、 File.h
を開いて、 #include "zio.h"
という行をコメント アウトします。 OS X ではzlib
がデフォルトでインストールされているため、SRILM はzopen()
関数の名前をmy_zopen()
に変更するはずですが、機能しないように見えるため、これが必要です。したがって、これはハック的な回避策です。
Makefile.osx
の先頭にある次の環境変数を変更します。
SRILM_LIBS
: SRILM ライブラリを含むディレクトリ
SRILM_INC
: SRILM ヘッダー ファイルを含むディレクトリ
重要: PYTHON_INC
変数とPERL_INC
変数は OS X El Capitan のデフォルト値に設定されているため、変更しないでください。
Python モジュールをコンパイルするには、 make -f Makefile.osx python
を実行し、perl モジュールをコンパイルするには、 make -f Makefile.osx perl
を実行します。コンパイルされたモジュールは、デフォルトの OS X python および perl インタープリター、つまり/usr/bin/python
および/usr/bin/perl
でのみ動作することに注意してください。
/usr/bin/python test.py
および/usr/bin/perl test.pl
を実行して、モジュールが動作することをテストし、Linux の場合と同じ出力が得られることを確認できるはずです。
使用法は、ファイルtest.pl
およびtest.py
に明確に示されています。