[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

This is an old revision of the document!


Table of Contents

Danovy pokusy s Joshuou na WMT 2012

http://matrix.statmt.org/
http://www.statmt.org/wmt11/translation-task.html
http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua

/net/work/people/zeman/wmt

Aktuální úkoly

Srovnávací testy mezi Joshuou 1.1 a 1.3

21.1.2012 se vracím k pokusu wmt/experiments/en-cs/josh11/obo-max. Pustím ho znova. Starý test.log, který jsem v něm našel, má BLEU = 0.1300 a datum 8.3.2010. Jeho kopie korpusu zabírá 3 GB, překladový model zabírá 5 GB. Ale jeho současný skript setexp.pl odkazuje na složku s Joshuou 1.3, nikoli 1.1, jak by se zdálo z josh11 v cestě! Dnešní verze joshua.pl si zase stěžuje, že tu není skript aligntest.pl. Pustím tedy resetex a aktualizuju rovnou všechno. Pozor! Tento pokus využívá 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. Kromě toho by to mohlo mít i tu výhodu, že Ondrovy věci leží někde na merkuru, kde možná nemám kvótu na místo na disku.

22.1.2012 obdobně pouštím také obo-max3. Zkoušel jsem diff na setexp.pl u obo-max a obo-max3. Kromě odkazu na jiný Makefile pro augment.pl, který jsem u obo-max včera opravoval, se liší pouze v jedné další věci, a to je testovací soubor: u obo-max je to wmt102.test09, u obo-max3 je to wmt102.test10.

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.

Staré záznamy

Po přechodu z Joshuy 1.1 na 1.3 u téměř všech pokusů pokleslo BLEU skóre. Je to sice malý pokles a pravděpodobně není statisticky významný, ale stejně mě to zaráží. Srovnání u češtiny ukázalo, že se liší extrahovaná gramatika. V konfiguraci se už teď nezadává, že maximální délka fráze má být 5. Hraje to nějakou roli?

Pokus Dev WMT08 Test WMT09 Test WMT10 Poznámka Datum
obo-base1 (encs) 0.1084 0.0990 3.3.2010
obo-base3 (encs) 0.1064 0.0990 Na rozdíl od obo-base1 použit šestigramový jazykový model místo třígramového. Výsledek je velmi podezřelý (velmi podezřele podobný tomu třígramovému), ale zdá se, že jsem zapomněl dekodéru říct, že teď to bude šestigram. Tak to pouštím znova. 5.3.2010
obo-base3 (encs) 0.1103 0.1012 Opravný pokus, tentokrát už dekodér snad ví, že máme šestigram. 5.3.2010
obo-max(-final) (encs) 0.1344 0.1300 0.1357 (13.4/12.6) Ondrův maximální paralelní korpus a třígramový jazykový model. 7.3.2010
obo-max3 (encs) 0.1387 0.1402 Ondrův maximální paralelní korpus a šestigramový jazykový model. 8.3.2010

Na konci srpna 2010 oživuju pokusy s Joshuou 1.1. Začínám s Czengem 092-ne, alignment a překlad z enNa2+stc do csN[ma]+stc, jak je napsáno výše, trigramový LM jen na jeho cílové straně. Až na ten jazykový model by to mělo odpovídat některému obo-base pokusu z února nebo března.

Pokus Dev WMT08 Test WMT09 Test WMT10 Poznámka Datum
encs:tmtrain-czeng092ne-lmtrain-czeng092ne-lm3 0.1053 0.0962 Ondrovo párování na lematech, trigram LM pouze z cílové strany paralelního korpusu. 29.8.2010
encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm3 0.1266 0.1150 Jako předchozí, ale LM trigram na wmt10mono2. 29.8.2010
encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm4 0.1278 0.1198 Jako předchozí, ale LM je tetragram. 29.8.2010
encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm5 0.1286 0.1179 Jako předchozí, ale LM je pentagram. 29.8.2010
encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm6 0.1299 0.1176 Jako předchozí, ale LM je hexagram. 29.8.2010
encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm3 0.1399 0.1346 Velký paralelní korpus (Czeng+Emea). 6.9.2010
encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm4 0.1425 0.1372 Jako předchozí, ale LM je tetragram. 6.9.2010
encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm5 0.1437 0.1368 Jako předchozí, ale LM je pentagram. 6.9.2010
encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm6 0.1435 0.1368 Jako předchozí, ale LM je hexagram. 7.9.2010

Data

Vývojová data (news-test) jsou k dispozici ve formátu SGML. Obsahují pouze jeden referenční překlad, takže stačí vykopat obsah prvků <seg>. Výsledek strčit do augmented_corpora.

Ondřejova data

Ondřejovy augmented corpora se nacházejí v /home/bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora (což vede na /a/merkur3/TMP/bojar/wmt10/playground/augmented_corpora). Za baseline se považuje trénování na zpravodajské části Czengu, tj. czeng092-ne. Uvnitř jsou různé podjazyky podle úrovně analýzy. Zdá se, že baseline by mohly být např. enNa a csNa, ale Ondřej prý pro WMT 2010 používal enNa2+stc a csN[ma]+stc (csNa a csNm jsou prý identické). Faktor stc znamená supervised truecasing, čili truecasováno podle lemat. Ondřej korpus zarovnával podle lemat, tj. enNa-lemma-csNa-lemma-gdfa. Český jazykový model Ondřej vyráběl z wmt10mono2, a to šestigramový.

Vysvětlení Ondrových pseudojazyků:

Ondřejův maximální paralelní korpus navíc obsahuje další části Czengu a korpus Emea: czeng092-ne+czeng092-eu+czeng092-fi+czeng092-te+czeng092-su+czeng092-we+emea2 (alignment csNm-lemma-enNm-lemma-gdfa).

Pro český jazykový model chtěl Ondřej později ještě přidat korpusy wmt09mono, webcoll a syn200x.

Testovací data by měl mít stejná jako já, tj. wmt102.test08 pro MERT a wmt102.test09 pro testování.

Náročnost

obo-max

Binarizace ve verzi 1.3 zahrnuje počítání tabulky lexikálních pravděpodobností a trvá asi 1:20 hodiny. Paměťová náročnost: až do počítání lexikálních pravděpodobností včetně vystačil s 9,8 GB. Pak se ale pustil do předpočítávání indexů nejčastějších frází a s pamětí vyletěl na 22 GB, což je strop, který jsem mu dal, takže je otázka, jestli by nedokázal využít i větší množství paměti. Podle Lanova vyjádření by mohl být problém s větami o 100 a více slovech, proto jsem z korpusu takové věty odstranil. Můj čistící skript vybral z 7 544 465 řádků 7 543 152 takových, které měly 1-99 tokenů.

Extrakce gramatiky nabíhala přes 20 minut, vyčerpala 11 GB. Teď už běží vlastní extrakce, ale je hodně pomalá, jedna věta trvá třeba i 10 minut. Průměrný čas je zatím 3 minuty na 1 větu, takže 2500 vět by trvalo 5 dní. Paměť stoupla zatím na 15 GB. Chtělo by to paralelizovat minimálně na 20 procesů!

Výsledky

Není-li řečeno jinak, váhy se ladí na newstest2008 a testuje se na newstest2009. Trénuje se zatím na news-commentary, a to jak překladový, tak jazykový model. U testu WMT 2010 se jako základní uvádí BLEU skóre, které mi spočítal Joshua, v závorce pak skóre, které mi spočítali organizátoři, lowercase / truecase. Hodnoty se někdy výrazně liší, zřejmě kvůli odlišné tokenizaci.

Pokus Dev WMT08 Test WMT09 Test WMT10 Poznámka Datum
encs-allcstem4-tmnews-lmnews 0.0918 0.0905 24.2.2010
encs-clean 0.0913 0.0897 Joshua 1.1, z trénovacích dat odstraněny věty o 100 a více slovech. 21.3.2010
encs-josh13 0.0878 0.0869 9.3.2010
encs-the 0.0901 0.0863 Pokus: ze zdrojové (anglické) strany trénovacích dat byly odstraněny všechny výskyty slova “the”. Jinak je tento běh identický s encs-josh13. 10.3.2010
decs-josh13 0.0935 0.0886 15.3.2010
escs-josh13 0.0922 0.0872 15.3.2010
frcs-josh13 0.0885 0.0818 Zřetelně menší trénovací data než pro encs, decs a escs. 15.3.2010
csen-allcstem4-tmnews-lmnews 0.1439 0.1471 0.1518 (14.2/10.5) 26.2.2010
csen-clean 0.1441 0.1458 21.3.2010
csen-josh13 0.1420 0.1455 9.3.2010
ende-allcstem4-tmnews-lmnews 0.1168 0.1114 0.1199 (11.5/4.3) 26.2.2010
ende-clean 0.1162 0.1118 21.3.2010
ende-josh13 0.1161 0.1096 9.3.2010
deen-allcstem4-tmnews-lmnews 0.1725 0.1617 0.1728 (16.1/11.4) 26.2.2010
deen-clean 0.1718 0.1624 21.3.2010
deen-josh13 0.1703 0.1616 9.3.2010
enes-allcstem4-tmnews-lmnews 0.1954 0.1966 0.2150 (21.1/16.5) Pokus s WMT 2010 bez úspěšného MERTu, váhy jsem si vypůjčil z en-fr. 6.3.2010
enes-clean 0.1953 0.1979 21.3.2010
enes-josh13 0.1969 0.1978 9.3.2010
esen-allcstem4-tmnews-lmnews 0.1945 0.2025 0.2268 (21.7/16.1) 8.3.2010
esen-clean 0.1945 0.2023 21.3.2010
esen-josh13 0.1335 0.1411 Tady je pokles při přechodu na Joshuu 1.3 výraznější než jinde. 10.3.2010
enfr-allcstem4-tmnews-lmnews 0.1991 0.2001 0.2034 (15.7/12.2) 26.2.2010
enfr-clean 0.1979 0.1990 21.3.2010
enfr-josh13 0.1982 0.1999 9.3.2010
fren-allcstem4-tmnews-lmnews 0.1869 0.2020 0.1991 (18.9/13.7) 26.2.2010
fren-clean 0.1873 0.2008 21.3.2010
fren-josh13 0.1861 0.2036 9.3.2010

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.

$STATMT/scripts/specchar.pl
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).

Inventura 16.1.2012

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.

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

Jazyky BLEU
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$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011

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).

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).

Jazyky BLEU Kontrolní běh Třetí běh
en-cs FAILED 0.1267 0.1246
cs-en 0.1748 0.1748 0.1792
en-de 0.1268 0.1268
de-en 0.1869 0.1869
en-es 0.2542 0.2542
es-en 0.2428 FAILED
en-fr 0.2586
fr-en 0.2294 0.2294

[ Back to the navigation ] [ Back to the content ]