Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
user:zeman:wmt [2012/01/26 09:11] zeman Odstraněny zastaralé výsledky s výjimkou neobvyklých jazykových párů (čeština-neangličtina). |
user:zeman:wmt [2012/02/04 17:25] zeman Odkaz na WMT 2012. |
| |
http://matrix.statmt.org/ | http://matrix.statmt.org/ |
http://www.statmt.org/wmt11/translation-task.html | http://www.statmt.org/wmt12/translation-task.html |
http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua | http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua |
<code>/net/work/people/zeman/wmt</code> | <code>/net/work/people/zeman/wmt</code> |
* Udělat pořádek v záznamech. | * Udělat pořádek v záznamech. |
* Najít a oživit loňské pokusy s interpunkcí, zejména s uvozovkami. | * Najít a oživit loňské pokusy s interpunkcí, zejména s uvozovkami. |
| * Zopakovat tytéž pokusy, ale nad letos distribuovanými daty. |
* Převést všechny pokusy pod aktuální verzi Joshuy. | * Převést všechny pokusy pod aktuální verzi Joshuy. |
* Konečně převést Joshuu pod Emana. | * Konečně převést Joshuu pod Emana. |
Nejúspěšnější nastavení z roku 2010 (více méně recyklované v roce 2011) bylo ''obo-max'', nyní přejmenované na ''obo-max-test2009'', a ''obo-max3'', nyní přejmenované na ''obo-max-test2010''. Oba tyto pokusy nyní používají Joshuu 1.3 (stará skóre byla naměřena s Joshuou 1.1 a jinými skripty). Oba používají Ondřejova velká data, tj. 7 miliónů párů vět z Czengu 0.92 na trénování, 13 miliónů českých vět (210 miliónů slov) pro český jazykový model (hexagram), nějaké tokenizační a technické úpravy (jazyky csNm a enNa2). Oba využívají Ondrovy ''augmented_corpora'' (''/home/bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora''). V mých vlastních možná ani nejsou k dispozici zdrojové korpusy. Testovací korpus má u Ondry název ''wmt102.test09'', resp. ''wmt102.test10''. V obou případech ladím váhy na ''wmt102.test08''. | Nejúspěšnější nastavení z roku 2010 (více méně recyklované v roce 2011) bylo ''obo-max'', nyní přejmenované na ''obo-max-test2009'', a ''obo-max3'', nyní přejmenované na ''obo-max-test2010''. Oba tyto pokusy nyní používají Joshuu 1.3 (stará skóre byla naměřena s Joshuou 1.1 a jinými skripty). Oba používají Ondřejova velká data, tj. 7 miliónů párů vět z Czengu 0.92 na trénování, 13 miliónů českých vět (210 miliónů slov) pro český jazykový model (hexagram), nějaké tokenizační a technické úpravy (jazyky csNm a enNa2). Oba využívají Ondrovy ''augmented_corpora'' (''/home/bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora''). V mých vlastních možná ani nejsou k dispozici zdrojové korpusy. Testovací korpus má u Ondry název ''wmt102.test09'', resp. ''wmt102.test10''. V obou případech ladím váhy na ''wmt102.test08''. |
| |
^ Výsledek ^ Test 2009 ^ Test 2010 ^ | Vytvořil jsem ještě i analogické ''obo-max-test2011'', ale zatím to má háček. Ondrovy ''augmented_corpora'' neobsahují ''newstest2011''. Takže jsem se vyhnul pouštění ''prepare.pl'', přeplácnul jsem svou kopii testovacích souborů svou kopií ''newstest2011'', což navíc neprošlo stejnou úpravou jako ostatní Ondrova data (není to tedy ve skutečnosti jazyk csNm, resp. enNa2, ale obyčejné moje cs a en; byť jsem je přejmenoval, aby to fungovalo). |
| Starý (Joshua 1.1) | 0.1300 | 0.1402 | | |
| Nový (25.1.2012, Joshua 1.3) | 0.1381 | 0.1477 | | |
| |
22.1.2012 ''obo-max-final'' (předchozí aktivita 7.3.2010, podle názvu to bylo to, co jsem tehdy nakonec odeslal). I tohle se od ''obo-max'' liší zřejmě jen použitým Makefilem a testovacími daty 2010. Od ''obo-max3'' se to, zdá se, neliší vůbec, alespoň pokud jde o konfigurační skript ''setexp.pl''. Pro jistotu to pouštím také, po porovnání výsledků dva z nich asi smažu. | ^ Výsledek ^ Test 2009 ^ Test 2010 ^ Test 2011 ^ |
| | Starý (Joshua 1.1) | 0.1300 | 0.1402 | | |
Výhledově chci pustit analogické ''obo-max-test2011''. | | Nový (25.1.2012, Joshua 1.3) | 0.1381 | 0.1477 | 0.1452 | |
| |
===== Data ===== | ===== Data ===== |
===== Pokusy s uvozovkami ===== | ===== Pokusy s uvozovkami ===== |
| |
Na začátku léta 2011 jsem se pokoušel poloautomaticky opravit a sjednotit uvozovky ve všech jazycích WMT 2011. Myslím, že to nebylo dodělané, a momentálně to nemůžu najít. Šlo o úpravu trénovacích korpusů. Výsledkem měla být "v6b" (verze 6b) všech korpusů, na nich se měly všechny pokusy pustit znova. Asi. | Paralelní data, která máme k dispozici, používají velmi různorodou směs znaků pro uvozovky. Často také není poznat, zda jde o počáteční, nebo koncové uvozovky. Napsal jsem skript, který se tohle pokusí rozpoznat (je jazykově závislý), a znaky pro uvozovky sjednotit. Všechny korpusy jsem tímto skriptem protáhl a vznikly verze označené ''v6b'' (včetně vývojových a testovacích dat). Nyní je třeba pustit všechny pokusy znova a zjistit, zda to nějak ovlivní skóre. |
| |
| <code bash>$STATMT/scripts/specchar.pl</code> |
| |
| Takhle se upraví korpus v ''augmented_corpora'', aby vznikla verze v6b (korpus musíme také označkovat, protože budeme potřebovat faktory lemma a stc): |
| |
| <code bash>cd /net/work/people/zeman/wmt</code> |
| |
| Do Makefile přidáme nově upravené korpusy, mající v názvu ".v6b.", např.: |
| |
| <code bash>EUROPARL = $(foreach pair,es-en/es es-en/en,europarl-v6b.$(pair)) |
| NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair))</code> |
| |
| Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pár, musíme ho z Makefile alespoň dočasně vyhodit! Jinak si novým zkopírováním zdrojových korpusů přepíšeme případnou označkovanou verzi korpusu! |
| |
| <code bash>make corpus CORPUS=europarl-v6b.fr-en LANGUAGE=fr</code> |
| |
| Teď použijeme TectoMT/Treex a cluster k označkování nových korpusů. Původní aplikace se nachází v ''$TMT_ROOT/applications/reordering/actag'', ale už v ní přestala fungovat němčina, protože ze sdílené složky zmizel natrénovaný model pro TreeTagger. Nová aplikace se nachází v ''$TMT_ROOT/treex/devel/reordering/actag'', ale zatím v ní funguje pouze němčina. |
| |
| <code bash>cd $TMT_ROOT/treex/devel/reordering/actag |
| nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=fr >& make-euro-fren-fr.log & |
| nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=en >& make-euro-fren-en.log & |
| nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=fr >& make-news-fren-fr.log & |
| nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log &</code> |
| |
| No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. "fren" a "enfr") těsně po sobě, se spuštěním druhého směru by to chtělo počkat kvůli zámkům a vzájemnému nepřetahování se o práci, až než u prvního směru doběhne fáze "prepare". |
| |
| <code bash>$STATMT/joshua-scripts/clonex.pl fren-stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011 fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 |
| cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 |
| $STATMT/joshua-scripts/resetex_scripts.pl |
| vim scripts/setexp.pl |
| $ac_tmtrain = 'news-commentary-v6b.fr-en+europarl-v6b.fr-en';</code> |
| |
| Dotažení do konce: i vývojová a testovací data musí být ve verzi v6b. Můžeme přeskočit alignment a trénování jazykového modelu, ale musíme pustit ''prepare.pl'', abychom získali upravená data! |
| |
| <code bash>$STATMT/joshua-scripts/clonex.pl encs-stc-allemma-tmv6b-lmv6b-lm6-test2011 encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b |
| cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b |
| $STATMT/joshua-scripts/resetex_scripts.pl |
| vim scripts/setexp.pl |
| $ac_dev = 'newstest2008-v6b'; |
| $ac_test = 'newstest2011-v6b'; |
| (qsub.pl) scripts/prepare.pl |
| nohup nice $STATMT/joshua-scripts/joshua.pl extract > & joshua.log &</code> |
| |
| Pokusy s uvozovkami začaly na jaře 2011. Tehdy jsem upravil pouze trénovací data (Europarl a News-Commentary) pro všechny čtyři jazykové páry. K poslední úpravě došlo 21.4.2011. Vracím se k tomu 16.1.2012. Nejdříve pouštím všechny tehdejší pokusy znova, potom přidám i úpravu vývojových a testovacích dat. |
| |
''$STATMT/scripts/specchar.pl'' | Nový průběh všech osmi starých pokusů (supervised truecasing, žádná normalizace uvozovek, nové je na nich paralelní počítání alignmentu, ale výsledek by měl být identický – nekontroloval jsem): ''$SRC$TGT-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011'', v tabulce uvedeno jako "v6". Varianta, ve které byly uvozovky upraveny pouze v trénovacích datech (''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011''), je označena "v6b-tr". Varianta, ve které úpravou uvozovek prošla i vývojová a testovací data (''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b''), je označena "v6b". |
a co historie loňských commitů? | |
| |
Podle časových značek u korpusů v ''augmented_corpora'' se zdá, že poslední "v6b" jsem vytvořil 21.4.2011. Vypadá to, že mám news-commentary+europarl ve verzi v6b pro všechny čtyři jazykové páry (cs-en, de-en, es-en, fr-en). | ^ Jazyky ^ v6 ^ v6b-tr ^ v6b ^ |
| | en-cs | 0.1191 | 0.1246 | | |
| | cs-en | 0.1692 | 0.1792 | | |
| | en-de | 0.1337 | 0.1274 | | |
| | de-en | 0.1885 | 0.1859 | | |
| | en-es | 0.2573 | 0.2531 | | |
| | es-en | 0.2446 | 0.2375 | | |
| | en-fr | 0.2591 | 0.2619 | | |
| | fr-en | 0.2243 | 0.2285 | | |
| |
===== Inventura 16.1.2012 ===== | ===== Pokusy s Emanem ===== |
| |
16.1.2012 21:12: Pouštím znova pokus ''encs-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011''. Zřejmě to neobsahuje opravené uvozovky (v6b), ale potřebuju zjistit, zda se to vůbec rozběhne. | Tohle jsou data, která Ondřej použil pro svůj „malý pokus“: |
| SRCAUG=enNmT1+stc |
| TGTAUG=csNmT1+stc |
| ALILABEL=enNmT1-lemma-csNmT1-lemma |
| DEV: wmt10 |
| TEST: wmt11 |
| |
Nový průběh všech osmi starých pokusů (supervised truecasing, žádná normalizace uvozovek, nové je na nich paralelní počítání alignmentu, ale výsledek by měl být identický – nekontroloval jsem): ''$SRC$TGT-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011'' | Kopie příslušných korpusů jsou na mém hřišti v těchto krocích (ukázáno rovnou na inicializaci kroku dandata): |
| |
^ Jazyky ^ BLEU ^ | <code>/home/zeman/projekty/statmt/playground/corpman --wait wmt10/csNmT1+stc |
| en-cs | 0.1191 | | |
| cs-en | 0.1692 | | |
| en-de | 0.1337 | | |
| de-en | 0.1885 | | |
| en-es | 0.2573 | | |
| es-en | 0.2446 | | |
| en-fr | 0.2591 | | |
| fr-en | 0.2243 | | |
| |
Od jara mám vytvořené také pokusy s korpusy, ve kterých jsou upravené uvozovky (verze 6b), takže je teď taky pustím. Je to spíš na oprášení starého kódu, ale bude se to muset pustit ještě jednou, protože momentálně se uvozovky opravují pouze v trénovacích datech, ale ne ve vývojových a testovacích. (Opravu testovacích dat bych si mohl ospravedlnit např. budoucím hodnocením lidmi. A nebo alespoň normalizovat testovací data tím brutálnějším skriptem od Philippa.) | SRC=en TGT=cs IMPORTCORPUS=yes TRALS=s.corpus.60681730.20120201-2157 TRALT=s.corpus.892024c6.20120201-2157 TRTMS=s.corpus.402e5219.20120201-2302 TRTMT=s.corpus.d8e0b2d7.20120201-2157 TRLMT=s.corpus.d8e0b2d7.20120201-2157 DEVS=s.corpus.e46c791e.20120201-2159 DEVT=s.corpus.c3230ea2.20120201-2201 TESTS=s.corpus.7b9dc07b.20120201-2205 TESTT=s.corpus.d0ef157e.20120201-2208 eman init dandata |
| s.dandata.1d1f8734.20120203-1125 |
| |
''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011'' | wmt10/enNmT1+stc = s.corpus.e46c791e.20120201-2159 |
| wmt10/csNmT1+stc = s.corpus.c3230ea2.20120201-2201 |
| wmt11/enNmT1+stc = s.corpus.7b9dc07b.20120201-2205 |
| wmt11/csNmT1+stc = s.corpus.d0ef157e.20120201-2208 |
| |
První výsledky jsou zatím bez záruky, protože v průběhu Gizy jsem narazil na kvótu. Procesy sice nespadly, ale nejsem si jistý, co prováděly těch několik hodin, kdy nemohly psát na disk. Takže raději pustit ještě jednou (ostatně jeden z nich dokonce nedoběhl). | Korpusy pro alignment: |
| s.corpus.60681730.20120201-2157 |
| s.corpus.892024c6.20120201-2157 |
| |
24.1.2012 už mám i skoro všechny kontrolní výsledky druhého běhu, ale mezitím jsem zjistil chybu v počítání alignmentu, takže pouštím potřetí (zatím šest pokusů pro češtinu, němčinu a španělštinu, později pustím i francouzštinu, až i u ní skončí druhý běh). | GIZASTEP=s.mosesgiza.8a492679.20120202-1628 DATASTEP=s.dandata.1d1f8734.20120203-1125 ALISYM=gdfa eman init danalign |
| s.danalign.9fb3696a.20120203-1128 |
| JOSHUASTEP=s.joshua.2723ccd9.20120131-1031 ALIGNSTEP=s.danalign.9fb3696a.20120203-1128 eman init binarize --start --mem 31g |
| s.binarize.4576151d.20120203-1524 |
| BINARIZESTEP=s.binarize.4576151d.20120203-1524 FOR=dev eman init extract --start |
| s.extract.95792bfb.20120203-1528 |
| BINARIZESTEP=s.binarize.4576151d.20120203-1524 FOR=test eman init extract --start |
| s.extract.01f5693c.20120203-1528 |
| SRILMSTEP=s.srilm.e99247ad.20120201-0921 DATASTEP=s.dandata.1d1f8734.20120203-1125 ORDER=5 eman init danlm --start |
| s.danlm.06d337e0.20120203-1600 |
| LMSTEP=s.danlm.06d337e0.20120203-1600 EXTRACTSTEP=s.extract.95792bfb.20120203-1528 eman init zmert --start |
| s.zmert.884b636b.20120203-1602 |
| MERTSTEP=s.zmert.884b636b.20120203-1602 EXTRACTSTEP=s.extract.01f5693c.20120203-1528 eman init daneval --start |
| s.daneval.96709ff9.20120203-1603</code> |
| |
^ Jazyky ^ BLEU ^ Kontrolní běh ^ Třetí běh ^ | Výsledek Danova pokusu s Ondřejovými malými daty: |
| en-cs | FAILED | 0.1267 | 0.1246 | | BLEU = 0.1185 |
| cs-en | 0.1748 | 0.1748 | 0.1792 | | (Ondřej měl s Mosesem asi 0.1230.) |
| en-de | 0.1268 | 0.1268 | 0.1274 | | Ještě je potřeba to testovat stejným skriptem jako Ondřej, abychom použili stejnou tokenizaci a taky abychom dostali rozptyl skóre. |
| de-en | 0.1869 | 0.1869 | 0.1859 | | |
| en-es | 0.2542 | 0.2542 | 0.2531 | | |
| es-en | 0.2428 | FAILED | 0.2375 | | |
| en-fr | 0.2586 | 0.2628 | | | |
| fr-en | 0.2294 | 0.2294 | | | |
| |