Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
user:zeman:wmt [2012/01/29 22:33] zeman Záznam o tom, jak se v datech upravují uvozovky. |
user:zeman:wmt [2013/06/11 18:46] (current) zeman Appraise. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Danovy pokusy | + | ====== Danovy pokusy na WMT 2013, Sofija |
http:// | http:// | ||
- | http:// | + | http:// |
- | http://svn.ms.mff.cuni.cz/ | + | http://www.dfki.de/appraise/wmt13/ |
< | < | ||
===== 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 a oživit loňské pokusy | + | * Proč mi letos vyšly tak špatně jazykové páry s češtinou bez angličtiny? |
- | * Převést všechny pokusy pod aktuální verzi Joshuy. | + | * Proč při překladu odkudkoliv do angličtiny to s jazykovým modelem na newsall (tj. starý, nevím jak je to s& |
- | * Konečně převést Joshuu pod Emana. | + | * 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ý a druhý je DONE, danmake klidně použije ten první a pak se diví. |
- | * Převést | + | * Nějak tu chybí pořádná tabulka loňských výsledků. To je mám opisovat z& |
- | * Dotáhnout do konce obo-max. | + | * Jazykové modely gigaword/ |
- | * Při klonování experimentu | + | * Velká paralelní data un, gigafren, czeng |
- | * Pro všechny jazykové páry používat všechna dostupná data, tedy i Europarl, neomezovat | + | * Pokusit se napodobit Ondrův nejlepší výsledek. |
+ | * Použít stejná data jako on nebo lepší | ||
+ | * Natrénovat stejné modely jako on. Přinejmenším mi zatím chybí lexical reordering model. Ondra navíc prováděl ještě nějaké čachry | ||
+ | * Srovnat supervised truecasing, který používám teď, s něčím méně sofistikovaným. Nezmenšovat první písmeno slova uprostřed | ||
+ | * Prohnat všechna data Morfessorem a vyhodnotit překlad s ním. | ||
+ | * Otestovat vliv omezení délky fráze na 5 tokenů (zkusit | ||
+ | * 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 s 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že | ||
+ | * Pokračovat v práci | ||
+ | * Běží 4 obří merty... (přelom dubna a května 2013). Pokud nespadnou, budou se ještě řadu týdnů přetahovat o iridium, protože nikam jinam se nevejdou, ani jejich dekodéry ne. | ||
+ | * Nová data pro rok 2013. | ||
+ | * Modely s& | ||
+ | * Jsou tu nicméně data, která jsem zatím nepoužil vůbec (viz níže). Výhledově se podívat i na ně. Jde zejména korpus Common Crawl a přídavná ruská data (Yandex). | ||
+ | * Vývojová a testovací data: | ||
+ | * Kvůli ruštině | ||
+ | * Od pondělního odpoledne 29.4.2013 | ||
+ | * 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): | ||
+ | * 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 78: | ||
Testovací data by měl mít stejná jako já, tj. '' | Testovací data by měl mít stejná jako já, tj. '' | ||
- | ===== Výsledky | + | ===== Pokusy s uvozovkami |
- | Není-li řečeno jinak, váhy se ladí na newstest2008 a testuje se na newstest2009. Trénuje | + | Paralelní data, která máme k& |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | <code bash> |
- | | 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 ===== | + | Takhle se upraví korpus v& |
- | 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 " | + | <code bash>cd / |
- | '' | + | Do Makefile přidáme nově upravené korpusy, mající v& |
- | a co historie loňských commitů? | + | |
- | Podle časových značek u korpusů v '' | + | <code bash> |
+ | NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair))</ | ||
- | UPDATE: Tohle jsem k uvozovkám našel v textovém souboru s průběžnými výsledky | + | Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pár, musíme ho z& |
+ | <code bash> | ||
- | --------------------------------------- | + | Teď použijeme TectoMT/ |
- | Mám k dispozici trénovací data s opravenými uvozovkami, zatím jen pro angličtinu se španělštinou. | + | |
- | Potřebuju je označkovat, abych mohl pouštět experimenty s faktory lemma a stc. | + | <code bash>cd $TMT_ROOT/treex/devel/ |
- | cd /net/work/people/ | + | |
- | # Přidat do Makefile nově upravené korpusy mající v názvu " | + | |
- | EUROPARL = $(foreach pair,es-en/es es-en/en, | + | |
- | NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair)) | + | |
- | # Ale pozor! Jestliže už jsme 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! | + | |
- | make corpus CORPUS=europarl-v6b.fr-en LANGUAGE=fr | + | |
- | # Teď použijeme TectoMT a cluster k označkování nových korpusů. | + | |
- | cd /net/work/ | + | |
nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=fr >& make-euro-fren-fr.log & | 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=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 & | nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log & | ||
- | # No a nyní již můžeme naklonovat nové pokusy. | + | for y in 2008 2009 2010 2011 ; do |
- | # I když můžeme naklonovat oba směry (např. " | + | for l in cs de en es fr ; do |
- | $STATMT/ | + | nohup nice make CORPUS=newstest$y-v6b LANGUAGE=$l >& make-newstest$y-$l.log & |
+ | done | ||
+ | done</ | ||
+ | |||
+ | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " | ||
+ | |||
+ | <code bash>$STATMT/ | ||
cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
$STATMT/ | $STATMT/ | ||
- | vi scripts/ | + | vim scripts/ |
- | $ac_tmtrain | + | $ac_tmtrain |
+ | |||
+ | 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 '' | ||
+ | |||
+ | <code bash> | ||
+ | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_dev | ||
+ | $ac_test | ||
+ | (qsub.pl) scripts/ | ||
+ | nohup nice $STATMT/ | ||
+ | |||
+ | Pokusy s& | ||
+ | |||
+ | 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): '' | ||
+ | |||
+ | **Š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í data, ale ta je možné získat hledáním shodných vět v& | ||
+ | |||
+ | Sloupec Moses je první odpovídající pokus s& | ||
+ | |||
+ | ^ Jazyky ^ v6 ^ v6b-tr ^ v6b ^ v7 ^ wmt12 ^ Moses ^ +NewsAll ^ +Gigaword ^ Czeng ^ | ||
+ | | en-cs | 0.1191 | 0.1246 | 0.1257 | 0.1299 | 0.1161 | 11.96±0.50 | | ||
+ | | cs-en | 0.1692 | 0.1792 | 0.1801 | 0.1814 | 0.1661 | 17.96±0.50 | 0.2022 | | 0.2225 | | ||
+ | | en-de | 0.1337 | 0.1274 | 0.1334 | 0.1350 | 0.1359 | 14.26±0.52 | | ||
+ | | de-en | 0.1885 | 0.1859 | 0.1896 | 0.1915 | 0.1880 | 18.77±0.53 | | ||
+ | | en-es | 0.2573 | 0.2531 | 0.2627 | 0.2756 | 0.2757 | 27.78±0.65 | | ||
+ | | es-en | 0.2446 | 0.2375 | 0.2497 | 0.2562 | 0.2699 | **22.19±0.58** | | ||
+ | | en-fr | 0.2591 | 0.2619 | 0.2526 | 0.2729 | 0.2572 | 25.99±0.63 | | ||
+ | | 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 | | ||
- | Výsledky: | + | ===== Pokusy s Emanem ===== |
- | Skóre " | + | |
- | Skóre " | + | |
- | 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. | + | |
- | es-en: dříve 0.2452, nyní 0.2428 | + | Tohle jsou data, která Ondřej použil pro svůj „malý pokus“: |
- | en-es: dříve 0.2590, nyní 0.2542 | + | SRCAUG=enNmT1+stc |
+ | TGTAUG=csNmT1+stc | ||
+ | ALILABEL=enNmT1-lemma-csNmT1-lemma | ||
+ | DEV: wmt10 | ||
+ | TEST: wmt11 | ||
+ | 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): | ||
- | ===== Inventura 16.1.2012 ===== | + | < |
- | 16.1.2012 21:12: Pouštím znova pokus '' | + | 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 | ||
- | 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): '' | + | wmt10/ |
+ | wmt10/ | ||
+ | wmt11/ | ||
+ | wmt11/ | ||
- | ^ Jazyky ^ BLEU ^ | + | Korpusy pro alignment: |
- | | en-cs | 0.1191 | | + | s.corpus.60681730.20120201-2157 |
- | | cs-en | 0.1692 | | + | s.corpus.892024c6.20120201-2157 |
- | | 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 | + | 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</ | ||
- | '' | + | 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řej, abychom použili stejnou tokenizaci a taky abychom dostali rozptyl skóre. | ||
- | 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). | + | ===== Jak zpracovat obří korpus Treexem, třeba označkovat Gigaword? ===== |
- | 24.1.2012 už mám i skoro všechny kontrolní výsledky druhého běhu, ale mezitím | + | 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í |
- | ^ Jazyky ^ BLEU ^ Kontrolní běh ^ Třetí běh ^ | + | Martin preferuje jiný způsob. Tisíce vstupních souborů leží v nějaké adresářové struktuře, někdy i vícepatrové, |
- | | en-cs | FAILED | 0.1267 | 0.1246 | | + | |
- | | cs-en | 0.1748 | 0.1748 | 0.1792 | | + | |
- | | en-de | 0.1268 | 0.1268 | 0.1274 | | + | |
- | | 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 | | | + | |
+ | Martinův postup lze vykoukat z '' |