이 패키지에는 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'을 실행하세요. Python 모듈을 사용하려는 디렉터리에 _srilm.so
및 srilm.py
복사합니다. 포함된 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
파일에 명확하게 설명되어 있습니다.