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 22:18] zeman Další zdroje. |
user:zeman:joshua [2009/06/03 09:46] zeman Pozor na --print-rules=false. |
||
---|---|---|---|
Line 7: | Line 7: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * http:// | ||
===== Instalace ===== | ===== Instalace ===== | ||
Line 19: | Line 20: | ||
< | < | ||
setenv SRILM / | setenv SRILM / | ||
- | setenv | + | setenv |
Stáhnout aktuální verzi Joshuy: | Stáhnout aktuální verzi Joshuy: | ||
- | < | + | < |
svn co https:// | svn co https:// | ||
Přeložit Joshuu: | Přeložit Joshuu: | ||
- | < | + | < |
ant compile</ | ant compile</ | ||
Line 59: | Line 60: | ||
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). | 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 | ||
+ | ~bojar/ | ||
+ | qstat -u ' | ||
+ | |||
+ | ===== Použití ===== | ||
+ | |||
+ | Joshua je nainstalován a funguje. Nyní se musíme naučit, jak ho trénovat a jak ho použít k překladu. | ||
+ | |||
+ | 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 [[Giza++|Gizou++]]. | ||
+ | |||
+ | Správný soubor s párováním vypadá nějak takhle: | ||
+ | |||
+ | < | ||
+ | 0-3 7-4 8-5 9-6 10-7 11-8 12-9 13-10 14-11 15-12 16-13 4-15 2-17 3-18 20-19 18-21 21-22 22-23 22-24 22-25 19-26 23-27 | ||
+ | 0-0 1-1 2-1 3-2 4-4 5-5 7-9 8-16 9-17 10-17 12-17 13-17 14-17 15-17 17-17 18-17 11-18 18-19 18-20 19-21 | ||
+ | 1-0 4-2 6-4 7-5 7-6 5-7 7-7 6-8 8-9 7-10 8-11 8-12 8-13 11-14 12-17 | ||
+ | 0-0 1-1 2-1 3-1 7-2 8-3 9-4 6-5 11-6 11-7 12-10 13-11 14-12 15-13 16-14 22-15 23-15 21-16 26-17 17-20 28-22 29-23 27-26 25-28 30-29 31-30 32-30 33-30 33-31 33 | ||
+ | -32 34-33</ | ||
+ | |||
+ | A takhle pustíme Joshuu, aby z trénovacích dat extrahoval gramatiku: | ||
+ | |||
+ | < | ||
+ | java -cp bin joshua.prefix_tree.ExtractRules \ | ||
+ | --source=corpus/ | ||
+ | --target=corpus/ | ||
+ | --alignments=model/ | ||
+ | --test=corpus/ | ||
+ | --output=en-hi.grammar.unsorted \ | ||
+ | --maxPhraseLength=5 \ | ||
+ | --print-rules=false</ | ||
+ | |||
+ | V příkladu v INSTALL.txt měli navíc ještě volbu '' | ||
+ | |||
+ | Pozor, je poměrně snadné vyčerpat paměť. Tomu se dá čelit jednak tím, že se přesuneme na stroj, který má více paměti, jednak že zvolíme postup, který je složitější, | ||
+ | |||
+ | Binarizovat zdrojovou část korpusu. | ||
+ | |||
+ | < |