Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
user:zeman:joshua [2009/06/03 22:35] zeman Konfigurační soubor Joshuy. |
user:zeman:joshua [2009/06/04 10:04] zeman Vyhodnocení úspěšnosti. |
* http://www.clsp.jhu.edu/wiki2/JosHUa_-_JHU_Open_Source_Architecture - wiki Joshuy na JHU, jenže jak sami říkají, zastaralá | * http://www.clsp.jhu.edu/wiki2/JosHUa_-_JHU_Open_Source_Architecture - wiki Joshuy na JHU, jenže jak sami říkají, zastaralá |
* http://www.clsp.jhu.edu/wiki2/Joshua_Lab - cvičení s Joshuou na JHU, všechno už mají nainstalováno, ale u nich. Nicméně z toho vyplývá, že to pouštějí na clusteru 64bitových strojů (dokonce něco mají zkompilováno pro ně a nepoběží to jinde) se Sun Grid Engine | * http://www.clsp.jhu.edu/wiki2/Joshua_Lab - cvičení s Joshuou na JHU, všechno už mají nainstalováno, ale u nich. Nicméně z toho vyplývá, že to pouštějí na clusteru 64bitových strojů (dokonce něco mají zkompilováno pro ně a nepoběží to jinde) se Sun Grid Engine |
* http://sourceforge.net/projects/joshua - download (ale viz též níže), jinak toho tu moc není | * http://joshua.sourceforge.net/ - download, trocha dokumentace (hlavně té automaticky vygenerované, javadoc) |
| * http://sourceforge.net/projects/joshua - kupodivu ne totéž jako nahoře. Download (ale viz též níže), jinak toho tu moc není |
| |
===== Instalace ===== | ===== Instalace ===== |
| |
<code bash>java -Xmx2000m -Xms2000m -cp $JOSHUA/bin joshua.prefix_tree.ExtractRules --binary-source=true --binary-target=true --source=model/corpus.en.bin --target=model/corpus.hi.bin --source-vocab=model/vocab.en.bin --target-vocab=model/vocab.hi.bin --source-suffixes=model/suffixes.en.bin --target-suffixes=model/suffixes.hi.bin --alignmentsType=MemoryMappedAlignmentGrids --alignments=model/alignments.bin --test=corpus/test.lowercased.en --output=model/en-hi.grammar.unsorted --maxPhraseLength=5</code> | <code bash>java -Xmx2000m -Xms2000m -cp $JOSHUA/bin joshua.prefix_tree.ExtractRules --binary-source=true --binary-target=true --source=model/corpus.en.bin --target=model/corpus.hi.bin --source-vocab=model/vocab.en.bin --target-vocab=model/vocab.hi.bin --source-suffixes=model/suffixes.en.bin --target-suffixes=model/suffixes.hi.bin --alignmentsType=MemoryMappedAlignmentGrids --alignments=model/alignments.bin --test=corpus/test.lowercased.en --output=model/en-hi.grammar.unsorted --maxPhraseLength=5</code> |
| |
| |
===== Decoding ===== | ===== Decoding ===== |
#wordpenalty weight | #wordpenalty weight |
wordpenalty -2.844814</code> | wordpenalty -2.844814</code> |
| |
| No a nakonec příkaz, kterým pustíme Joshuu s naším konfiguračním souborem (na clusteru): |
| |
| <code>qsub.csh \ |
| "java -Xmx1200m -Xms1200m -cp $JOSHUA/bin joshua.decoder.JoshuaDecoder \ |
| ~zeman/projekty/hindstina/joshua-config-tides-dev.txt \ |
| $HINDI/corpus/dev.lowercased.en \ |
| $HINDI/dev.nbest.out"</code> |
| |
| I když si v konfiguračním souboru řekneme, že chceme N-best výstup pro N=1, dostaneme ho ve formátu, který je připraven na více hypotéz (každý překlad např. obsahuje skóre a váhy). Abychom z toho dostali obyčejný 1-best překlad, můžeme použít Zhifeiův skript, který je k Joshuovi přibalen ve složce example2: |
| |
| <code>$JOSHUA/example2/get_1best_from_Nbest.pl $HINDI/output/dev.nbest.out $HINDI/output/dev.1best.out</code> |
| |
| |
| ===== Vyhodnocení úspěšnosti ===== |
| |
| 1-best výstup Joshuy a referenční překlad bychom mohli převést do příslušného XML formátu a pustit na ně oficiální externí perlový skript, který počítá BLEU skóre. Pro výsledná čísla do článku bychom to tak také měli udělat. |
| |
| Jinak ale Joshua obsahuje svůj vlastní kód pro vyhodnocování. Přehled parametrů jeho volání se dozvíme, když ho zavoláme bez argumentů: |
| |
| <code>java -cp $JOSHUA/bin joshua.util.JoshuaEval</code> |
| |
| S využitím většiny defaultů stačí dodat jméno vyhodnocovaného souboru a jméno souboru s referenčním překladem: |
| |
| <code>java -cp $JOSHUA/bin joshua.util.JoshuaEval \ |
| -cand $HINDI/output/dev.1best.out \ |
| -ref $HINDI/corpus/dev.lowercased.hi</code> |