[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

This is an old revision of the document!


Table of Contents

Joshua

Toto jsou Danovy poznámky k práci s hierarchickým překladovým dekodérem Joshuou (reimplementace Hiera (David Chiang) v Javě od lidí z JHU).

Zdroje informací:

Instalace SRILM

SRILM je nástroj pro jazykové modelování, se kterým pracují mnohé překladače včetně Mosese a Joshuy. Je napsaný v céčku. Způsob, jak ho získat a přeložit, je popsaný v tutoriálu k Mosesovi. (Ten není na webu normálně vidět, ale jeden odkaz na něj vede např. z Trac wiki Gaurav.) Stručně zde opakuji:

Získat balík se SRILM lze zde: http://www.speech.sri.com/projects/srilm/download.html

Stažený balík srilm.tgz má asi 49 MB! Pozor, rozbaluje se do aktuální složky, takže před rozbalováním vytvořit složku srilm a vlézt do ní.

mkdir srilm
cd srilm
unzip.pl ../srilm.tgz

nebo

tar -xzvf ../srilm.tgz

Přečíst si soubor README, je tam mnoho tipů. Upravit Makefile, aby obsahoval cestu do mé složky.

chmod +w Makefile
vi Makefile

diff:

7c7
< # SRILM = /home/speech/stolcke/project/srilm/devel
---
> SRILM = /home/zeman/nastroje/srilm

Není tam popsaný akorát tento zádrhel: z neznámých důvodů SRILM očekává grafickou knihovnu TCL. Pokud tato knihovna není k dispozici, musíme mu říct, že se na ni má vykašlat. K tomu je potřeba ve složce SRILM vlézt do common, najít dílčí Makefile pro naši architekturu (lze zjistit pomocí $SRILM/sbin/machine-type), otevřít ho v nějakém editoru a upravit 3 řádky: zakomentovat 2 začínající na TCL a zajistit, že je tam ten třetí (NO_TCL):

# Tcl support (standard in Linux)
# TCL_INCLUDE =
# TCL_LIBRARY = -ltcl
NO_TCL = x

Nyní jsme připraveni přeložit SRILM. Pokud nejsme v kořenové složce srilm, vrátíme se do ní a spustíme:

make World

Nyní bychom měli otestovat, že SRILM je přeložen a běží správně. K tomu ho musíme přidat do své cesty (i když pro použití s Mosesem a Joshuou to zřejmě není potřeba). Musíme do cesty přidat jednak bin, jednak jeho podsložku pro naši architekturu.

setenv PATH /home/zeman/nastroje/srilm/bin/i686:/home/zeman/nastroje/srilm/bin:${PATH}
cd test
make all

Prohlédneme si výstup, budeme hledat zprávy IDENTICAL a DIFFERS. Občas se může stát, že není vše identické, ale přesto lze poznat, jestli nástroj funguje, nebo padá.

Instalace

Pozor, aby to běželo na clusteru LRC, je potřeba to překládat pro 64bitovou architekturu. V nejhorším případě přímo na clusteru samém.

Stáhnout aktuální verzi Joshuy:

cd /net/work/people/zeman/joshua
svn co https://joshua.svn.sourceforge.net/svnroot/joshua/trunk joshua

Nastavit důležité proměnné (to by se hodilo přidat do .cshrc nebo nějakého podobného konfiguračního souboru) a zkontrolovat, že máme nainstalované prerekvizity. Ant je překladač nebo spíš make pro Javu. Swig je nástroj, který umí propojovat kód napsaný v různých jazycích, v tomto případě jde o napojení céčkového SRILM (jazykové modelování) na zbytek Joshuy, který je v Javě.

setenv JAVA_HOME /opt/jdk1.6
which ant # /usr/bin/ant
which swig # /usr/bin/swig
# install SRILM

[ Back to the navigation ] [ Back to the content ]