[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
user:zeman:wmt [2010/09/06 23:09]
zeman Výsledek.
user:zeman:wmt [2012/02/04 17:25]
zeman Odkaz na WMT 2012.
Line 1: Line 1:
-====== Danovy pokusy s Joshuou na WMT 2010 ======+====== Danovy pokusy s Joshuou na WMT 2012 ======
  
 http://matrix.statmt.org/ http://matrix.statmt.org/
-http://www.statmt.org/wmt10/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>
Line 8: Line 8:
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Převést všechny pokusy pod Joshuu 1.3.+  * Udělat pořádek v záznamech. 
 +  * 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. 
 +  * Konečně převést Joshuu pod Emana.
   * Převést všechny pokusy na nové zacházení s velkými písmeny (viz Ondřej a čeština).   * Převést všechny pokusy na nové zacházení s velkými písmeny (viz Ondřej a čeština).
   * Dotáhnout do konce obo-max.   * Dotáhnout do konce obo-max.
   * Při klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final a změnit v něm cesty! Pozor, mohla se změnit i cesta ke glue gramatice, pokud se změnila cesta k Joshuovi.   * Při klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final a změnit v něm cesty! Pozor, mohla se změnit i cesta ke glue gramatice, pokud se změnila cesta k Joshuovi.
 +  * Pro všechny jazykové páry používat všechna dostupná data, tedy i Europarl, neomezovat se na News Commentary. To mj. znamená, že musím pro všechny páry získat nové baseliny.
 +
 +===== Srovnávací testy mezi Joshuou 1.1 a 1.3: Je třeba otestovat nastavení maximální délky fráze 5 =====
 +
 +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?
 +
 +===== obo-max =====
 +
 +Nejúspěšnější nastavení z&nbsp;roku 2010 (více méně recyklované v&nbsp;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&nbsp;Joshuou 1.1 a jinými skripty). Oba používají Ondřejova velká data, tj. 7 miliónů párů vět z&nbsp;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&nbsp;mých vlastních možná ani nejsou k&nbsp;dispozici zdrojové korpusy. Testovací korpus má u Ondry název ''wmt102.test09'', resp. ''wmt102.test10''. V&nbsp;obou případech ladím váhy na ''wmt102.test08''.
 +
 +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).
 +
 +^ Výsledek ^ Test 2009 ^ Test 2010 ^ Test 2011 ^
 +| Starý (Joshua 1.1)           | 0.1300 | 0.1402 | |
 +| Nový (25.1.2012, Joshua 1.3) | 0.1381 | 0.1477 | 0.1452 |
  
 ===== Data ===== ===== Data =====
Line 35: Line 54:
  
 Testovací data by měl mít stejná jako já, tj. ''wmt102.test08'' pro MERT a ''wmt102.test09'' pro testování. 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&nbsp;větami o 100 a více slovech, proto jsem z&nbsp;korpusu takové věty odstranil. Můj čistící skript vybral z&nbsp;7&nbsp;544&nbsp;465 řádků 7&nbsp;543&nbsp;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 ===== ===== Výsledky =====
Line 49: Line 60:
  
 | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | **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 | | decs-josh13 | 0.0935 | 0.0886 | | | 15.3.2010 |
 | escs-josh13 | 0.0922 | 0.0872 | | | 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 | | 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 | 
  
-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?+===== Pokusy s uvozovkami =====
  
-| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | +Paralelní data, která máme k&nbsp;dispozici, používají velmi různorodou směs znaků pro uvozovkyČasto také není poznatzda jde o počátečnínebo koncové uvozovky. Napsal jsem skriptkterý se tohle pokusí rozpoznat (je jazykově závislý), a znaky pro uvozovky sjednotitVš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 eba pustit všechny pokusy znova zjistit, zda to nějak ovlivní skóre.
-| 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éhoVý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 ígramový jazykový model. | 7.3.2010 | +
-| obo-max3 (encs) | 0.1387 | | 0.1402 | Ondrůmaximální paralelní korpus šestigramový jazykový model. | 8.3.2010 |+
  
-Na konci srpna 2010 oživuju pokusy s&nbsp;Joshuou 1.1. Začínám s&nbsp;Czengem 092-ne, alignment a překlad z&nbsp;''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&nbsp;února nebo března.+<code bash>$STATMT/scripts/specchar.pl</code>
  
-| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | +Takhle se upraví korpus v&nbsp;''augmented_corpora'', aby vznikla verze v6b (korpus musíme také označkovat, protože budeme potřebovat faktory lemma a stc): 
-| encs:tmtrain-czeng092ne-lmtrain-czeng092ne-lm3 | 0.1053 | 0.0962 | | Ondrovo párování na lematechtrigram LM pouze z&nbsp;cílové strany paralelního korpusu. | 29.8.2010 | + 
-| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm3 | 0.1266 | 0.1150 | | Jako edchozí, ale LM trigram na ''wmt10mono2''| 29.8.2010 | +<code bash>cd /net/work/people/zeman/wmt</code> 
-| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm4 | 0.1278 | 0.1198 | | Jako 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 +Do Makefile přidáme nově upravené korpusy, mající v&nbsp;názvu ".v6b.", např.: 
-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 +<code bash>EUROPARL = $(foreach pair,es-en/es es-en/en,europarl-v6b.$(pair)) 
-encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm4 | 0.1425 | 0.1372 | | Jako edchozí, ale LM je tetragram| 6.9.2010 | +NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair))</code> 
-| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm5 | 0.1437 | 0.1368 | | Jako předchozíale LM je pentagram| 6.9.2010 |+ 
 +Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pármusíme ho z&nbsp;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&nbsp;označkování nových korpusůPůvodní aplikace se nachází v&nbsp;''$TMT_ROOT/applications/reordering/actag'', ale už v&nbsp;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&nbsp;''$TMT_ROOT/treex/devel/reordering/actag'', ale zatím v&nbsp;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 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&nbsp;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áryK&nbsp;poslední úpravě došlo 21.4.2011. Vracím se k&nbsp;tomu 16.1.2012. Nejdříve pouštím všechny tehdejší pokusy znova, potom idám i úpravu vývojových a testovacích dat. 
 + 
 +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&nbsp;tabulce uvedeno jako "v6". Varianta, ve které byly uvozovky upraveny pouze v&nbsp;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"
 + 
 +^ 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 | | 
 + 
 +===== Pokusy s Emanem ===== 
 + 
 +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 
 + 
 +Kopie íslušných korpusů jsou na mém hřišti v těchto krocích (ukázáno rovnou na inicializaci kroku dandata): 
 + 
 +<code>/home/zeman/projekty/statmt/playground/corpman --wait wmt10/csNmT1+stc 
 + 
 +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 
 + 
 +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 
 + 
 +Korpusy pro alignment: 
 +s.corpus.60681730.20120201-2157 
 +s.corpus.892024c6.20120201-2157 
 + 
 +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> 
 + 
 +Výsledek Danova pokusu s Ondřejovými malými daty: 
 +BLEU = 0.1185 
 +(Ondřej měl s Mosesem asi 0.1230.) 
 +Ještě je potřeba to testovat stejným skriptem jako Ondřejabychom použili stejnou tokenizaci a taky abychom dostali rozptyl skóre.
  

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