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/04 09:34] zeman Oprava cest. |
user:zeman:joshua [2009/06/04 11:19] zeman Příprava spuštění Z-MERTu. |
||
---|---|---|---|
Line 7: | Line 7: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
- | * http:// | + | |
+ | | ||
===== Instalace ===== | ===== Instalace ===== | ||
Line 209: | Line 210: | ||
< | < | ||
+ | |||
+ | ===== 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ů: | ||
+ | |||
+ | < | ||
+ | |||
+ | 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: | ||
+ | |||
+ | < | ||
+ | -cand $HINDI/ | ||
+ | -ref $HINDI/ | ||
+ | |||
+ | Bez MERTu mi zatím vyšlo BLEU = 0.0807. | ||
+ | |||
+ | ===== MERT ===== | ||
+ | |||
+ | Celý proces by nebyl úplný bez MERTu, což je zkratka za Minimum Error Rate Training. V principu jde o to, že se dekodér opakovaně pouští na vývojová data a na základě změřené úspěšnosti se postupně optimalizují váhy překladového modelu, jazykového modelu a případně dalších složek. V Joshuovi je pro tento účel integrován javovský nástroj Z-MERT. | ||
+ | |||
+ | Většina parametrů se Z-MERTu předává prostřednictvím konfiguračního souboru. Přehled volání Z-MERTu se dozvíme takto: | ||
+ | |||
+ | < | ||
+ | |||
+ | Příklad použití Z-MERTu najdeme ve složce '' | ||
+ | |||
+ | Dále potřebujeme soubor (vlastně skript: měl by být spustitelný), | ||
+ | |||
+ | < | ||
+ | cp ../ | ||
+ | cp ../ | ||
+ | cp $JOSHUA/ | ||
+ | vi decoder-config</ | ||
+ | |||
+ | Změněné parametry: | ||
+ | |||
+ | < | ||
+ | tm_file=/ | ||
+ | glue_file=/ | ||
+ | order=3</ | ||
+ | |||
+ | < | ||
+ | chmod 755 decoder_command | ||
+ | vi decoder_command</ | ||
+ | |||
+ | Ve volání dekodéru musíme změnit cesty ke konfiguračnímu, | ||
+ | |||
+ | < | ||
+ | $HINDI/ | ||
+ | $HINDI/ | ||
+ | $HINDI/ | ||
+ | |||
+ | V konfiguraci Z-MERTu zohledníme právě upravené volání a konfiguraci dekodéru. | ||
+ | |||
+ | < | ||
+ | cp $JOSHUA/ | ||
+ | vi zmert-config.txt</ | ||
+ | |||
+ | Změněné parametry: | ||
+ | |||
+ | < | ||
+ | -s src.txt # source sentences file name | ||
+ | -r ref # target sentences file name (in this case, file name prefix) | ||
+ | -rps 1 # references per sentence | ||
+ | -maxIt 5 # maximum MERT iterations | ||
+ | -cmd ./ | ||
+ | -decOut nbest.txt # file produced by decoder | ||
+ | -dcfg decoder-config.txt # decoder config file</ | ||
+ | |||
+ | No a teď už můžeme spustit Z-MERT (případně to celé dát do uvozovek a před to '' | ||
+ | |||
+ | < | ||
+ | $HINDI/ | ||
+ | > $HINDI/ |