Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:wmt [2011/03/16 13:20] zeman WMT 2011. |
user:zeman:wmt [2013/04/29 12:30] zeman Zbývající pokusy s anglickým Gigawordem. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Danovy pokusy | + | ====== Danovy pokusy na WMT 2013, Sofija |
http:// | http:// | ||
- | http:// | + | http:// |
- | http:// | + | |
< | < | ||
===== Aktuální úkoly ===== | ===== Aktuální úkoly ===== | ||
- | * Převést všechny | + | * Dohnat |
- | * Převést všechny pokusy | + | * Pouštím 4 merty se starým newseuro: cs-en, de-en, es-en a fr-en. |
- | * Dotáhnout | + | * Všechny překlady do angličtiny zopakovat s Gigawordem. |
- | * Při klonování experimentu | + | * Pokračovat v práci na gigafren. |
+ | * Běží 4 obří merty... | ||
+ | * Pro oba směry (en-fr a fr-en) chci překlad s Gigawordem i bez něj, tj. TM: | ||
+ | * Pak chci ještě totéž, ale překladový model je kombinovaný s newseuro, případně i s un (ale un to asi moc nevylepší a bude to nezvladatelně veliké). | ||
+ | * Dokončit | ||
+ | * Běží merty... | ||
+ | * Vyrobit kombinovaný překladový model (newseuro+un). Ten byl na minulém hřišti úspěšný. | ||
+ | * Až bude také k dispozici jazykový model z anglického Gigawordu, pustit model, mert, translate a evaluator. | ||
+ | * Nová data pro rok 2013. | ||
+ | * Běží výroba news8all/ | ||
+ | * Vyrobit jazykové modely nad news8all (nad news8euro už by měly být hotové). | ||
+ | * Vyrobit modely. Ale pozor, s novými DEV daty, viz níže! | ||
+ | * Vývojová a testovací data: | ||
+ | * Kvůli ruštině musím pro nové pokusy (nad news8) přepnout DEV z 2010 na 2012. | ||
+ | * TEST 2013 mají vydat dnes, 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): 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. | ||
+ | * Proč při překladu odkudkoliv do angličtiny to s jazykovým modelem na newsall 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? | ||
+ | * 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ý | ||
+ | * Nějak tu chybí pořádná tabulka loňských výsledků. To je mám opisovat z& | ||
+ | * 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ě | ||
+ | * 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 | ||
+ | * 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, | ||
+ | * Převést všechny pokusy pod aktuální verzi Joshuy (ale bacha, možná bude hodně jiná). | ||
+ | |||
+ | ===== 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 36: | Line 83: | ||
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-max ==== | + | Paralelní data, která máme k& |
- | 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: | + | <code bash> |
- | 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ů! | + | Takhle se upraví korpus v& |
- | ===== Výsledky ===== | + | <code bash>cd / |
- | Není-li řečeno jinak, váhy se ladí na newstest2008 a testuje se na newstest2009. Trénuje se zatím na news-commentary, | + | Do Makefile |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | <code bash> |
- | | encs-allcstem4-tmnews-lmnews | 0.0918 | 0.0905 | | | 24.2.2010 | | + | NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair))</code> |
- | | 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é | + | |
- | | 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 | + | |
- | | 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 | + | |
- | | 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 | + | Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pár, musíme ho z& |
+ | |||
+ | <code bash> | ||
+ | |||
+ | Teď použijeme TectoMT/ | ||
+ | |||
+ | <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</ | ||
+ | |||
+ | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " | ||
+ | |||
+ | <code bash> | ||
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $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 | | ||
+ | |||
+ | ===== 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? ===== | ||
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | 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é |
- | | obo-base1 (encs) | 0.1084 | 0.0990 | | | 3.3.2010 | | + | |
- | | obo-base3 (encs) | 0.1064 | 0.0990 | | Na rozdíl od obo-base1 | + | |
- | | 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 | + | |
- | | obo-max3 (encs) | 0.1387 | | 0.1402 | Ondrův maximální paralelní korpus | + | |
- | Na konci srpna 2010 oživuju pokusy s& | + | Martin preferuje jiný způsob. Tisíce vstupních souborů leží v nějaké adresářové struktuře, někdy i vícepatrové, |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | Martinův postup lze vykoukat |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + | |
- | | encs: | + |