Pages

Saturday, July 2, 2016

Cài No-Sketch Engine trên VPS cho người dùng Linux bằng cách copy-paste

No Sketch Engine là hệ thống platform trưng diện corpus, khá tốt. Dịch vụ trả phí 5 bảng/tháng tại SketchEngine.

Hệ thống này dùng mã mở, với nhiều tính năng cao cấp. Nhưng nếu tự xây một corpus riêng thì cũng được, cụ thể như sau:

1. Cần một VPS, thích thì dùng localhost cũng được, Linux. Nên dùng Ubuntu hay Fedora, vì đỡ phải lo các gói bổ sung.

2. Tại đây mình cài trên Ubuntu 16.04 LTS. Chạy lệnh cập nhật hệ thống. Lệnh này bao giờ cũng mần đầu tiên khi setup VPS (lệnh 1):

(1): sudo apt-get update

3. Cài các gói bổ sung trước, cần thiết để sau này cài các gói nhị nhân dạng .deb (lệnh 2), chỉ 4 gói.
(2): apt-get install libpcre3 libpcre++-dev apache2 python-cheetah

Chú ý: Nếu theo hướng dẫn cũ thì lệnh cài các gói bổ sung như sau (8 gói):

apt-get install libantlr3c-antlrdbg-3.2-0 libpcre3 python-simplejson python-cheetah libltdl7 apache2 

Tuy nhiên, nếu chạy lệnh trên, thì kể cả sudo khỉ gió, cũng không được, vì quá đát. Nhìn từ hai lệnh trên, có thể thấy, nếu thực hiện theo lệnh (2) thì sẽ thiếu các gói: libantlr3cpython-simplejson, libltdl7.

Do đó, để bảo đảm hệ thống đầy đủ, ta chạy tiếp các lệnh sau để sổ sung dependencies tương ứng:

(4): apt-get install python-simplejson(5): apt-get install libltdl7

Riêng thư viện libantlr3c mình phải chiến kiểu .deb trực tiếp. 

Ngay trong root, tải về gói thư viện này tại, lần lượt: 
(6): wget http://corpora.fi.muni.cz/noske/deb/1604/antlr3c/libantlr3c_3.4-1_amd64.deb
Trên Ubuntu thì dùng lệnh dpkg -i để cài các gói nhị phân .deb. Do đó, mình sẽ cài luôn sau khi tải về gói trên bằng lệnh:

(7): dpkg -i libantlr3c_3.4-1_amd64.deb
Kế tiếp, tải thư viện cuối cùng python- signalfd


(8): wget http://corpora.fi.muni.cz/noske/deb/1604/python-signalfd/python-signalfd_0.1-1ubuntu1_amd64.deb
Cài đặt gói deb trên bằng lệnh thông thường: dpkr -i python-signalfd_0.1-1ubuntu1_amd64.deb


4. Giờ mới bắt đầu cài No Sketch Engine, dùng các gói .deb cho tiện. Quẳng vô root cũng được, hoặc tạo một thư mục tạm thời để dễ dọn dẹp.

Cứ theo đạo diễn wget và diễn viên dpkg -i để cài 6 gói sau: Finlib, Manatee-Open, Manatee-Python, Bonito, Bonito-www, Example corpora. Tải đến đâu, cài đến đó, hoặc tải hết cài luôn, tùy nghi.

http://corpora.fi.muni.cz/noske/deb/1604/finlib/finlib_2.35.1-1_amd64.deb

http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open_2.137.2-1ubuntu1_amd64.deb

http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open-python_2.137.2-1ubuntu1_amd64.deb

http://corpora.fi.muni.cz/noske/deb/1604/bonito-open/bonito-open_3.86.10-1_all.deb

http://corpora.fi.muni.cz/noske/deb/1604/bonito-open/bonito-open-www_3.86.10-1_all.deb

http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open-susanne_2.137.2-1ubuntu1_amd64.deb

5. Cuối cùng dọn dẹp, kiểm tra, điều chỉnh:

Vào bontino bằng lệnh đơn giản sau: cd /var/ww/bonito

Có thể dùng lệnh ls để xem các file và thư mục con.

Vào edit file run.cgi bằng lệnh: nano run.cgi khi đang trong thư mục bonito.

Kiểm tra các thống số sau trong file này:
the line corplist = ['susanne', 'bnc'] contains a list of available corpora
the line corpname = 'bnc' sets the default corpus
the line os.environ['MANATEE_REGISTRY'] = '/var/lib/manatee/registry' is the path to the directory with corpus configuration files
Lúc này, corpus mẫu susanne đã có ở trong mantee/registry, không tin thử coi :-). Giờ muốn điều chỉnh thông số trên trang index sau này thì thực hiện theo hướng dẫn trên. Ví dụ trong dòng the line corplist thì thêm corpus, dòng the line corpname thì đặt corpus mặc định. Quan trọng nhất là trong dòng os.environ, đặt đường dẫn cho corpus như trên, hoặc nơi nào tùy nghi.

Cuối cùng chạy lại apache2 và truy cập ip/bonito hoặc localhost/bonito hoặc domain.com/bonito tùy nghi.

Hướng dẫn vô cùng lằng nhằng và hổ lốn với người xài Linux không chuyên, tại đây: https://nlp.fi.muni.cz/trac/noske/wiki/Downloads

Demo mới cài: http://45.32.15.179/bonito/run.cgi/first_form