[ 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
user:zeman:wmt [2012/02/04 16:34]
zeman Úklid.
user:zeman:wmt [2013/06/11 18:46] (current)
zeman Appraise.
Line 1: Line 1:
-====== Danovy pokusy s Joshuou na WMT 2012 ======+====== Danovy pokusy na WMT 2013, Sofija ======
  
 http://matrix.statmt.org/ http://matrix.statmt.org/
-http://www.statmt.org/wmt11/translation-task.html +http://www.statmt.org/wmt13/translation-task.html 
-http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua+http://www.dfki.de/appraise/wmt13/
 <code>/net/work/people/zeman/wmt</code> <code>/net/work/people/zeman/wmt</code>
  
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Udělat pořádek v záznamech+  * Binarizace a prořezání jazykových modelů. Nějak prořezávat lze i paralelní trénovací data, Edinburgh loni něco takového použil a citoval. 
-  * Najít oživit loňské pokusy s interpunkcí, zejména s uvozovkami+  * Proč mi letos vyšly tak špatně jazykové páry s češtinou bez angličtiny? Udělal jsem nějakou chybu při vyrábění průniku trénovacích dat? Jsou menší nebo špatně spárovaná? 
-  * Zopakovat tytéž pokusy, ale nad letos distribuovanými daty+  * Proč při překladu odkudkoliv do angličtiny to s jazykovým modelem na newsall (tjstarý, nevím jak je to s&nbsp;novým news8all) dopadne malinko hůř než bez něj? Nemělo by to spíš dopadnout zřetelně líp? Co je s ním? Jak je velký? Jakou dostal váhu? Jak se po jeho přidání změnil výstup překladu? 
-  * Převést všechny pokusy pod aktuální verzi Joshuy+  * danmake.pl na rozdíl od emana nerozlišuje kroky, které jsou OUTDATED nebo FAILED. Když mu eman select pro nějakou sadu požadavků najde několik kroků, z nichž první je nějak vadný druhý je DONE, danmake klidně použije ten první a pak se diví. 
-  * Konečně převést Joshuu pod Emana+  * Nějak tu chybí pořádná tabulka loňských výsledkůTo je mám opisovat z&nbsp;článku na WMT? 
-  * Převést všechny pokusy na nové zacházení velkými písmeny (viz Ondřej a čeština)+    * Jazykové modely gigaword/czeng + newseuro + newsall 
-  * Dotáhnout do konce obo-max. +    * Velká paralelní data un, gigafren, czeng 
-  * i klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final změnit v něm cesty! Pozormohla se změnit i cesta ke glue gramaticepokud se změnila cesta k Joshuovi+  * Pokusit se napodobit Ondrův nejlepší výsledek. 
-  * Pro všechny jazykové páry používat všechna dostupná data, tedy i Europarl, neomezovat se na News CommentaryTo mjznamená, že musím pro všechny páry získat nové baseliny.+    * Použít stejná data jako on nebo lepší (to znamená přinejmenším celý Czeng a velká jednojazyčná data; Ondra ale prý vynechal Europarl, ten já vynechat nechci)
 +    Natrénovat stejné modely jako on. inejmenším mi zatím chybí lexical reordering model. Ondra navíc prováděl ještě nějaké čachry se značkami (jazykový model na morfologických značkách)
 +  * Srovnat supervised truecasing, který používám teď, s čím méně sofistikovaným. Nezmenšovat první písmeno slova uprostřed věty jen proto, že moje lematizace nezná dané slovo jako vlastní jméno (např. "doktor Chaloupka" by se neměl změnit na "doktor chaloupka"). 
 +  * Prohnat všechna data Morfessorem a vyhodnotit eklad s ním. 
 +  * Otestovat vliv omezení délky fráze na 5 tokenů (zkusit i default a 10). 
 +  * Pro všechny jazykové páry používat všechna dostupná data. Například velký Czeng pro češtinu, velké korpusy UN pro francouzštinu a španělštinu, gigawordy pro jazykové modely atd
 +  * Převést všechny pokusy pod aktuální verzi Joshuy (ale bacha, možná bude hodně jiná). 
 +  * Dohnat pokusy anglickým Gigawordem. 
 +    * Merty běží (1.5.2013), ale většina těchto modelů je příliš velkých (dekodérům nestačilo 120 GB paměti), takžse budou ještě dlouho přetahovat o ''iridium'' a termín určitě nestihnou
 +  * Pokračovat v práci na gigafren. Překladový model je natrénovaný, je potřeba vyrobit kroky model, mert, translate a evaluator. 
 +    * Běží 4 obří merty... (přelom dubna května 2013). Pokud nespadnoubudou se ještě řadu týdnů přetahovat o iridiumprotože nikam jinam se nevejdou, ani jejich dekodéry ne
 +  * Nová data pro rok 2013. 
 +    * Modely s&nbsp;Gigawordem (zejména tím anglickým) ještě asi poběží několik týdnů, jsou příliš veliké. Ostatní je snad hotovo. 
 +    * Jsou tu nicméně data, která jsem zatím nepoužil vůbec (viz níže). Výhledově se podívat i na Jde zejména korpus Common Crawl a přídavná ruská data (Yandex). 
 +    * Vývojová a testovací data: 
 +      * Kvůli ruštině musím pro nové pokusy (nad news8) přepnout DEV z 2010 na 2012. 
 +      * Od pondělního odpoledne 29.4.2013 všechny nové pokusy testovat na wmt2013. 
 +    * Inventura trénovacích dat: 
 +      * Europarl je stejný jako loni, tedy verze 7. 
 +      * News Commentary jsou nové a trochu větší, navíc s ruštinou, verze 8. 
 +      * Newsall je nové, protože přibyl rok 2012 a ruština. 
 +      * Korpus UN bude asi stejný, i když to na stránkách WMT výslovně nepíšou. Totéž gigafren. 
 +      * Gigawordy používám správné (ověřeno): en 5, es 3, fr 3. 
 +      * Navíc je úplně nový korpus Common Crawl (prý je ale špinavý). Ten zatím nepoužívám a do termínu už to nestihnu.
  
 ===== Srovnávací testy mezi Joshuou 1.1 a 1.3: Je třeba otestovat nastavení maximální délky fráze 5 ===== ===== Srovnávací testy mezi Joshuou 1.1 a 1.3: Je třeba otestovat nastavení maximální délky fráze 5 =====
Line 54: Line 77:
  
 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í.
- 
-===== 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** | 
-| 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 | 
  
 ===== Pokusy s uvozovkami ===== ===== Pokusy s uvozovkami =====
Line 89: Line 103:
 nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=en >& make-euro-fren-en.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=fr >& make-news-fren-fr.log &
-nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log &</code>+nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log & 
 +for y in 2008 2009 2010 2011 ; do 
 +  for l in cs de en es fr ; do 
 +    nohup nice make CORPUS=newstest$y-v6b LANGUAGE=$l >& make-newstest$y-$l.log & 
 +  done 
 +done</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". 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".
Line 99: Line 118:
 $ac_tmtrain     = 'news-commentary-v6b.fr-en+europarl-v6b.fr-en';</code> $ac_tmtrain     = 'news-commentary-v6b.fr-en+europarl-v6b.fr-en';</code>
  
-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)Výsledky: Skóre "dříve" znamená ed úpravou trénovacích dattedy -stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011Skóre "nyní" znamená po úpravě trénovacích dattedy -stc-allemma-tmv6b-lmv6b-lm6-test2011. Vylaďovací ani testovací data zatím nijak upravována nebyla. Jejich úpravu bychom ale měli taky otestovat, protože např. teď obsahují samé ASCII uvozovky, které jsou pro Joshuu neznámým tokenem.+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 modeluale musíme pustit ''prepare.pl''abychom získali upravená data!
  
-es-en: dříve 0.2452, nyní 0.2428 +<code bash>$STATMT/joshua-scripts/clonex.pl encs-stc-allemma-tmv6b-lmv6b-lm6-test2011 encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b 
-en-es: dříve 0.2590, nyní 0.2542 +cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b 
- +$STATMT/joshua-scripts/resetex_scripts.pl 
-===== Inventura 16.1.2012 ===== +vim scripts/setexp.pl 
- +$ac_dev         = 'newstest2008-v6b'; 
-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. +$ac_test        = 'newstest2011-v6b'; 
- +(qsub.pl) scripts/prepare.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'' +nohup nice $STATMT/joshua-scripts/joshua.pl extract > & joshua.log &</code>
- +
-^ 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ímJe 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 trénovacích datechale 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.)+Pokusy s&nbsp;uvozovkami začaly na jaře 2011. Tehdy jsem upravil pouze trénovací data (Europarl a News-Commentarypro 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 znovapotom přidám i úpravu vývojových a testovacích dat.
  
-''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011''+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". Varianta "v7": nová trénovací data (verze 7 News Commentary a Europarlu pro WMT 2012) už jsou defaultně s&nbsp;upravenými uvozovkami; vývojová a testovací data jsou v tomto případě shodná s&nbsp;v6b. Verze wmt12 se od v7 liší tím, že netestujeme na newstest2011, ale newstest2012.
  
-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 kolik hodinkdy nemohly psát na disk. Takže raději pustit ještě jednou (ostatně jeden z nich dokonce nedoběhl).+**Šest přídavných jazykových párů: čeština s němčinoušpanělštinou a francouzštinou.** Tyto jazykové páry nejsou součástí shared task. Organizátoři pro ně ani neposkytují trénovací dataale ta je možné získat hledáním shodných vět v&nbsp;dotyčných jazycích v&nbsp;páru s&nbsp;angličtinou. Ve všech případech jsem dostal kolem 690 tisíc párů vět.
  
-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 španělštinu, později pustím i francouzštinu, až i u ní skončí druhý běh).+Sloupec Moses je první odpovídající pokus s&nbsp;Mosesem, už nad wmt12 (dev wmt10) s&nbsp;jednojazyčným sjednocením news-europarl pro jazykový model.
  
-^ Jazyky ^ BLEU Kontrolní běh Třetí běh +^ Jazyky ^ v6 v6b-tr v6b ^ v7 ^ wmt12 ^ Moses ^ +NewsAll ^ +Gigaword ^ Czeng 
-| en-cs | FAILED | 0.1267 | 0.1246 | +| en-cs | 0.1191 | 0.1246 | 0.1257 | 0.1299 | 0.1161 | 11.96±0.50 
-| cs-en | 0.1748 | 0.1748 | 0.1792 +| cs-en | 0.1692 | 0.1792 | 0.1801 | 0.1814 | 0.1661 | 17.96±0.50 | 0.2022 | | 0.2225 
-| en-de | 0.1268 | 0.1268 | 0.1274 +| en-de | 0.1337 | 0.1274 | 0.1334 | 0.1350 | 0.1359 | 14.26±0.52 
-| de-en | 0.1869 | 0.1869 | 0.1859 +| de-en | 0.1885 | 0.1859 | 0.1896 | 0.1915 | 0.1880 | 18.77±0.53 
-| en-es | 0.2542 | 0.2542 | 0.2531 +| en-es | 0.2573 | 0.2531 | 0.2627 | 0.2756 | 0.2757 | 27.78±0.65 
-| es-en | 0.2428 | FAILED | 0.2375 | +| es-en | 0.2446 | 0.2375 | 0.2497 | 0.2562 | 0.2699 | **22.19±0.58** 
-| en-fr | 0.2586 | 0.2628 | 0.2619 +| en-fr | 0.2591 | 0.2619 | 0.2526 | 0.2729 | 0.2572 | 25.99±0.63 
-| fr-en | 0.2294 | 0.2294 | 0.2285 |+| fr-en | 0.2243 | 0.2285 | 0.2384 | 0.2448 | 0.2391 | 24.59±0.68 | 
 +| cs-de |        |        |        |        | 0.1304 | 13.65±0.54 | 0.1529 | 
 +| de-cs |        |        |        |        | 0.1186 | 12.12±0.52 | 
 +| cs-es |        |        |        |        | 0.1848 | 19.52±0.52 | 0.2214 | 0.2243 | 
 +| es-cs |        |        |        |        | 0.1220 | 12.81±0.54 | 
 +| cs-fr |        |        |        |        | 0.1822 | 19.53±0.55 | 0.2169 | 
 +| fr-cs |        |        |        |        | 0.1175 | 12.53±0.57 |
  
 ===== Pokusy s Emanem ===== ===== Pokusy s Emanem =====
Line 183: Line 198:
 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. 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.
  
 +===== Jak zpracovat obří korpus Treexem, třeba označkovat Gigaword? =====
 +
 +Dosud jsem používal obyčejné treex -p, kde se přesměrovává standardní výstup do nějakého souboru. Pro velké korpusy, které se zpracovávají několik dní na půlce clusteru, tohle není ten nejvhodnější způsob. Vždy je pravděpodobné, že pár strojů umře a pro pár dokumentů nám bude výstup chybět. Potom se obtížně dohledává, které dokumenty to byly a jak je opravit.
 +
 +Martin preferuje jiný způsob. Tisíce vstupních souborů leží v nějaké adresářové struktuře, někdy i vícepatrové, aby se předešlo jedné složce, která obsahuje třeba 100000 souborů. Paralelní Treex nepíše na standardní výstup, který by se beztak musel ukládat do nějakých souborů s číslovanými jmény. Místo toho Treex vytváří výstupní adresářovou strukturu, která odpovídá té vstupní, ale vedle kopií vstupních souborů tam navíc leží i ty výstupní. Snadno se pak zjistí, který výstupní soubor chybí nebo je v nepořádku a který skript se má pustit znova.
 +
 +Martinův postup lze vykoukat z ''treex/devel/en2cs/mononews/Makefile''.

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