Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:joshua [2009/06/01 16:51] zeman Instalace SRILM. |
user:zeman:joshua [2009/06/02 10:41] zeman Data. |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Joshua ====== | ====== 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). | + | 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 (Zhifei Li)). |
Zdroje informací: | Zdroje informací: | ||
* Soubory '' | * Soubory '' | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
- | ===== Instalace | + | ===== Instalace ===== |
- | SRILM je nástroj | + | Prerekvizity: |
+ | * Ant: kompilátor a make Javy. Máme ho v ''/ | ||
+ | * Swig: nástroj | ||
+ | * [[SRILM]]: nástroj Andrease Stolckeho na trénování a používání jazykových modelů, běžně používaný | ||
- | < | + | Nastavit důležité proměnné |
- | # TCL_INCLUDE = | + | |
- | # TCL_LIBRARY = -ltcl | + | |
- | NO_TCL = x</ | + | |
- | ===== Instalace ===== | + | < |
- | + | setenv SRILM / | |
- | 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. | + | setenv JOSHUA_HOME / |
Stáhnout aktuální verzi Joshuy: | Stáhnout aktuální verzi Joshuy: | ||
- | < | + | < |
svn co https:// | svn co https:// | ||
- | Nastavit důležité proměnné (to by se hodilo | + | Přeložit Joshuu: |
+ | |||
+ | < | ||
+ | ant compile</ | ||
+ | |||
+ | Kdyby bylo potřeba v budoucnosti překompilovat Joshuu načisto, již zkompilované moduly se dají odstranit pomocí | ||
+ | |||
+ | < | ||
+ | |||
+ | Otestujeme, že je Joshua funkční: | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | ./ | ||
+ | |||
+ | Joshuu jsem překládal na zenu. Teď je ještě potřeba otestovat, že funguje i na clusteru, třeba na počítači sol1. A ejhle, na 64 bitech přestala fungovat spolupráce se SRILM. | ||
+ | |||
+ | < | ||
+ | Jun 1, 2009 9:35:43 PM joshua.decoder.JoshuaConfiguration readConfigFile | ||
+ | INFO: you use a LM feature function, so make sure you have a LM grammar | ||
+ | Exception in thread " | ||
+ | at java.lang.ClassLoader$NativeLibrary.load(Native Method) | ||
+ | at java.lang.ClassLoader.loadLibrary0(ClassLoader.java: | ||
+ | at java.lang.ClassLoader.loadLibrary(ClassLoader.java: | ||
+ | at java.lang.Runtime.loadLibrary0(Runtime.java: | ||
+ | at java.lang.System.loadLibrary(System.java: | ||
+ | at joshua.corpus.vocab.SrilmSymbol.< | ||
+ | at joshua.decoder.JoshuaDecoder.initializeSymbolTable(JoshuaDecoder.java: | ||
+ | at joshua.decoder.JoshuaDecoder.initialize(JoshuaDecoder.java: | ||
+ | at joshua.decoder.JoshuaDecoder.< | ||
+ | at joshua.decoder.JoshuaDecoder.main(JoshuaDecoder.java: | ||
+ | |||
+ | Přestože SRILM, který nebyl přeložen na 64 bitech, běží jak na 32, tak na 64 bitech, s Joshuou na 64 bitech spolupracovat neumí (na 32 ano). Nepomůže ani když překlad Joshuy pustím až na 64 bitech (při spolupráci s 32bitovým SRILM). | ||
+ | |||
+ | **Nicméně se zdá, že pomohlo následující: | ||
+ | * Nalogoval jsem se na sol1 (aby kompilace probíhala na clusterové 64bitové architektuře). | ||
+ | * Upravil jsem $SRILM/ | ||
+ | * Vlezl jsem do $SRILM/ | ||
+ | * make clean, pak make World | ||
+ | * Vrátil jsem se do $JOSHUA_HOME a pustil ant clean, pak ant compile, nakonec ant test a hlavně ten ./ | ||
+ | |||
+ | ==== Cluster ==== | ||
+ | |||
+ | Ke spuštění Joshuy na clusteru se hodí např. Ondrova obálka (nebo i ta moje vlastní, ale tu bych neměl nutit např. Gauravovi, když jako jeden z mála pořád pracuju s tcsh). | ||
+ | |||
+ | < | ||
+ | ssh lrc-two | ||
+ | cd $JOSHUA_HOME | ||
+ | ~bojar/ | ||
+ | qstat -u ' | ||
+ | |||
+ | |||
+ | ===== Použití ===== | ||
+ | |||
+ | Joshua | ||
+ | |||
+ | Nejdříve potřebujeme získat paralelní data, to je úkol mimo Joshuu. | ||
+ | * Tokenizovaný a segmentovaný text ve zdrojovém jazyce (en). | ||
+ | * Tokenizovaný a segmentovaný text v cílovém jazyce (hi). | ||
+ | * Párování vyrobíme Gizou++. Zajímavé je, že Joshua zřejmě, na rozdíl od Mosese, nevyžaduje symetrizované obousměrné párování. | ||
- | < | ||
- | which ant # / | ||
- | which swig # / | ||
- | # install SRILM</ |