Tag Archives: perl

AntWebCorpusFramework on Xubuntu 12.04 LTS

Steb-by-step guide to install Laurence Anthony’s AntWebCorpusFramework [1] on Xubuntu 12.04 LTS:

Requirements: webserver (e.g. apache2), php5, perl, parallel corpus (two sentence aligned parallel text files in strict utf-8 format)

[Click on 'Overview' and 'Select Category' ⇨ 'Corpus Development Tools' ⇨ 'Sentence Alignment' for a list of tools you could use to create your own parallel corpus.]

  1. Install apache2 web-server environment with php5 and enable sqlite support for perl and php5
  2. Extract files to a new AntWCF directory and create database(s)
  3. Adapt antpwc_concordance.php to new corpus
  4. Adapt index.php to new corpus
  5. Create apache2 configuration file
  6. Start webbrowser and go to http://localhost/AntWCF

Install apache2 web-server environment with php5 and enable sqlite support for perl and php5

Open a terminal window and type:

sudo apt-get install apache2 php5 php5-sqlite libdbd-sqlite3-perl

Troubleshooting:

If you would like to get rid of apache2‘s warning “Could not reliably determine the server’s fully qualified domain name”, click here for a quick fix (the server works just fine even if you don’t specify ServerName).

Open zip-file (available on request: [1]), extract all files into a new AntWCF directory and create database(s)

Change into the new AntWCF directory:

cd path/to/AntWCF

Troubleshooting:

If you get a permission error when trying to drag&drop files into the new AntWCF directory, you probably created the directory outside your home area, using the sudo command (e.g. in /opt). To be able to drag&drop files into the directory, you can take ownership by typing:

sudo chown -R yourusername:yourusername /path/to/AntWCF

After successfully extracting the files into your  AntWCF directory, copy your parallel corpus files to AntWCF/data/corpus.

To create a database for a parallel corpus type:

perl ./bin/db_creator_L8-CEN-R8da.pl data/corpus/L1_FILE.txt data/corpus/L2_FILE.txt data/AntWCF_db/OUTPUT_FILE.db

 Note: [1 corpus = 2 txt files (your files) + 1 db file (created by script)]

L1_FILE.txt is the source text file of your parallel corpus that you have just copied into the AntWCF/data/corpus directory, L2_FILE.txt is the target text file of your parallel corpus and OUTPUT_FILE.db is the name of the sqlite database to be created by the script (extension: .db).

Take a note of the name of the new database file and the number of tokens for L1/L2 displayed by the script (or make sure that you do not close the terminal window, as you will need these pieces of information later on).

Delete the temporary files created by the script:

rm temp_*

Repeat this procedure for other parallel corpora you might wish to include in AntWCF

Troubleshooting:

If the script throws an encoding error, make sure that your text files only contain legal utf8 characters and eliminate all non-utf8 characters before running the database script again. Important: If you choose the same output  file name, you have to delete the old file before re-running the script.

Adapt antpwc_concordance.php to new corpus

Open the file www/antpwc_concordance_20120925_2342.php in a text editor of your choice (e.g.):

leafpad www/antpwc_concordance_20120925_2342.php

[Select 'Options' ⇨  'Line Numbers' for easier navigation]

Adapt the following lines for your own parallel corpus:

Note: AntWCF is preconfigured to be able to switch between two different parallel corpara. If you created just one database file, comment out lines 32-34 and lines 40-42 (using ‘//‘ at the beginning of each line) or fill in the same data twice. If, however, you created more than two databases, you could include those corpora by copying lines 32-34, inserting them once before line 35 and a second time before line 43. Subsequently, you could adapt the database information for an additional corpus (and so on …). For number of tokens per language, refer back to the information generated by the db_creator.pl script above.

28-01-2014 10-42-53

Adapt index.php to new corpus

Open the file www/index.php in a text editor of your choice.

Adapt the following lines for your own parallel corpus:

Set default database:

29-01-2014 09-15-55

Adapt database information:

Note: AntWCF is preconfigured to be able to switch between two different parallel corpara. If you just created one database file, comment out line 110 or just fill in the same data twice. If you created more than two database files, copy line 110, insert it before line 111 and adapt the database file and corpus names:

28-01-2014 23-35-55

Adapt the language pair for your own parallel corpus (line numbers will have changed slightly if you inserted additional databases above).

28-01-2014 11-14-20

Create apache2 configuration file

Create an new file called AntWCF.conf in the directory /etc/apache2/conf.d/ and open it in a text editor of your choice (e.g.):

sudo leafpad /etc/apache2/conf.d/AntWCF.conf

Copy-paste the following lines into the new file, adapt the absolute path to your AntWCF/www directory (twice for Alias and for Directory) and save the file (you will need superuser privileges (sudo) to be able to save the file in this location):

# AntWCF default Apache configuration

Alias /AntWCF /path/to/AntWCF/www

<Directory /path/to/AntWCF/www>
     Options FollowSymLinks
     DirectoryIndex index.php
</Directory>

After saving the file successfully, restart apache2 by typing:

sudo service apache2 restart

Start webbrowser, go to http://localhost/AntWCF and enjoy!

29-01-2014 09-38-31

References:

  1. Anthony, L. (2014). AntWebCorpusFramework (Version 1.0) [Computer Software]. Tokyo, Japan: Waseda University. Available on request at http://www.laurenceanthony.net/

Installing uplug on Linux

Tested on: Xubuntu 12.04 LTS (64-bit) for languages English, German (& French)

  • Install/check for uplug dependencies (libmodule-install-perl is compulsory, others could also be installed through cpan when running make):
  1. sudo apt-get install libmodule-install-perl libxml-parser-perl libxml-simple-perl libfile-sharedir-perl libipc-run-perl
  • Clone latest version from bitbucket repository:
  1. git clone https://bitbucket.org/tiedemann/uplug.git uplug
  • Third-party tools that are not automatically installed:
    • MElt (Tagger for French)
      • Dependencies: sudo apt-get install gawk python-numpy
  • Install individual modules:
cd uplug-XY
perl Makefile.PL
make
sudo make install
  • Install all modules:
cd uplug
make all
sudo make install
make test