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í:
- Soubory
INSTALL
aREADME
přímo v balíčku s Joshuou.
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