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 [2010/08/29 11:42] zeman Nové obo pokusy. |
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 ===== | ||
- | * Převést | + | * 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. |
- | * Převést všechny pokusy | + | * Proč mi letos vyšly tak špatně jazykové páry s češtinou bez angličtiny? |
- | * Dotáhnout do konce obo-max. | + | * Proč při překladu odkudkoliv do angličtiny to s jazykovým modelem na newsall (tj. starý, nevím jak je to s& |
- | * Při klonování experimentu se musí kopírovat | + | * 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í. |
- | * Upravit test.pl, aby před počítáním BLEU skóre odstraňoval přípony " | + | * Nějak tu chybí pořádná tabulka loňských výsledků. To je mám opisovat z& |
- | * Vyrobit end-to-end skript, abych mohl pouštět | + | * Jazykové modely gigaword/ |
+ | * Velká paralelní data un, gigafren, czeng | ||
+ | * Pokusit se napodobit Ondrův nejlepší výsledek. | ||
+ | * 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. Př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 něčí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ř. " | ||
+ | * Prohnat všechna data Morfessorem a vyhodnotit překlad s ním. | ||
+ | * Otestovat vliv omezení délky fráze na 5 tokenů (zkusit i default a 10). | ||
+ | * Pro všechny | ||
+ | * Převést všechny pokusy | ||
+ | * Dohnat pokusy | ||
+ | * Merty běží | ||
+ | * Pokračovat v práci na gigafren. Překladový model je natrénovaný, | ||
+ | * 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 | ||
+ | * 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 ===== | ||
+ | |||
+ | 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& | ||
+ | |||
+ | Vytvořil jsem ještě i analogické '' | ||
+ | |||
+ | ^ 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 22: | Line 62: | ||
Ondřejovy augmented corpora se nacházejí v& | Ondřejovy augmented corpora se nacházejí v& | ||
+ | |||
+ | Vysvětlení Ondrových pseudojazyků: | ||
+ | * Znaky za '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
Ondřejův maximální paralelní korpus navíc obsahuje další části Czengu a korpus Emea: '' | Ondřejův maximální paralelní korpus navíc obsahuje další části Czengu a korpus Emea: '' | ||
Line 29: | Line 78: | ||
Testovací data by měl mít stejná jako já, tj. '' | Testovací data by měl mít stejná jako já, tj. '' | ||
- | ===== Náročnost | + | ===== Pokusy s uvozovkami |
- | ==== obo-base1 ==== | + | Paralelní data, která máme k& |
- | První pokus s Ondřejovými daty 3.3.2010, ale jen trigramový jazykový model. Proběhlo celkem bez potíží. | + | <code bash> |
- | ==== obo-base2 ==== | + | Takhle se upraví korpus v& |
- | Snažím se vyrobit větší jazykové modely. Zatím (5.3.2010 dopoledne) doběhl čtyřgram, běží pentagram. | + | <code bash>cd / |
- | Trénování 4gramového jazykového modelu trvalo | + | Do Makefile |
- | ==== obo-base3 ==== | + | <code bash> |
+ | NEWSCOMM | ||
- | Klon obo-base2. Používám Ondřejův hotový | + | Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pár, musíme ho z& |
- | ==== obo-max ==== | + | <code bash> |
- | 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: | + | Teď použijeme TectoMT/ |
- | 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ů! | + | <code bash>cd $TMT_ROOT/ |
+ | 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 & | ||
+ | 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</ | ||
- | ===== Výsledky ===== | + | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " |
- | 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ý, | + | <code bash> |
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/setexp.pl | ||
+ | $ac_tmtrain | ||
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | Dotažení do konce: i vývojová |
- | | 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 " | + | |
- | | 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í | + | |
- | | 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 | + | |
- | | 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ů | + | <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 | ||
+ | |||
+ | **Š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 | | ||
+ | |||
+ | ===== 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 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): | ||
+ | |||
+ | < | ||
+ | |||
+ | 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/ | ||
+ | wmt10/ | ||
+ | wmt11/ | ||
+ | wmt11/ | ||
+ | |||
+ | 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</ | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ===== 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á, | ||
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | Martin preferuje jiný způsob. Tisíce vstupních souborů leží v nějaké adresářové struktuře, někdy i vícepatrové, |
- | | 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 | + | |
- | | 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 | + | |
- | Na konci srpna 2010 oživuju pokusy s& | + | Martinův postup lze vykoukat |