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:29] zeman Sourceforge. |
user:zeman:joshua [2009/06/03 09:58] zeman Úprava příkladu. |
||
---|---|---|---|
Line 20: | 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 60: | 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. Joshua z nějakého důvodu vyžaduje také testovací soubor se zdrojovým jazykem. Soudě podle příkladu, který dodali, stačí zkopírovat první větu ze zdrojových trénovacích dat. Gramatiku je pak ještě třeba seřadit, vyházet duplicitní pravidla a zagzipovat. | ||
+ | |||
+ | < | ||
+ | setenv SRC corpus/ | ||
+ | setenv TGT corpus/ | ||
+ | setenv ALI model/ | ||
+ | setenv TST corpus/ | ||
+ | setenv GRM en-hi.grammar | ||
+ | head -1 $SRC > $TST | ||
+ | java -cp bin joshua.prefix_tree.ExtractRules --source=$SRC --target=$TGT --alignments=$ALI --test=$TST --output=$GRM.unsorted --maxPhraseLength=5 | ||
+ | sort -u $GRM.unsorted > $GRM | ||
+ | gzip $GRM</ | ||
+ | |||
+ | 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. | ||
+ | |||
+ | < |