แพ็คเกจนี้ประกอบด้วยไฟล์สำหรับสร้าง Perl และ Python wrappers สำหรับโมเดลภาษา SRILM
กนูทำ
ตัวสร้าง Wrapper และอินเทอร์เฟซแบบง่าย (SWIG)
การติดตั้ง Python และ/หรือ Perl ในเครื่อง
ชุดเครื่องมือ SRILM (v1.7.1) หากคุณมี SRILM เวอร์ชันเก่า เช่น ซีรีส์ 1.5.x คุณควรใช้สาขา old_srilm
โปรดทราบว่า SRILM ควรได้รับการคอมไพล์เป็นโค้ดที่ไม่ขึ้นกับตำแหน่ง คุณสามารถทำได้โดยใช้คำสั่ง MAKE_PIC=yes make
เมื่อคอมไพล์ SRILM
แก้ไขตัวแปรสภาพแวดล้อมต่อไปนี้ที่ด้านบนของ 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"
นี่เป็นสิ่งจำเป็นเนื่องจากแม้ว่า SRILM ควรจะเปลี่ยนชื่อฟังก์ชัน zopen()
เป็น my_zopen()
บน OS X เนื่องจาก zlib
ได้รับการติดตั้งตามค่าเริ่มต้น แต่ดูเหมือนว่าจะไม่ทำงาน ดังนั้น นี่คือวิธีแก้ปัญหาแบบแฮ็ก
แก้ไขตัวแปรสภาพแวดล้อมต่อไปนี้ที่ด้านบนของ 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