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/03/08 10:50] zeman |
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řeložit ostrá testovací | + | * Binarizace a prořezání jazykových modelů. Nějak prořezávat lze i paralelní trénovací |
- | * Přeložit ostrá testovací | + | |
- | * Paralelizovat extrakci gramatiky, abych měl šanci se jí u obo-max někdy dočkat. | + | * Proč při překladu odkudkoliv do angličtiny to s jazykovým modelem na newsall (tj. starý, nevím jak je to s& |
- | * Dotáhnout do konce obo-max. | + | * danmake.pl na rozdíl od emana nerozlišuje kroky, které jsou OUTDATED nebo FAILED. Když mu eman select |
- | * Při klonování experimentu se musí kopírovat | + | * 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á | ||
+ | * Natrénovat stejné modely jako on. Přinejmenším mi zatím chybí lexical reordering model. Ondra navíc prováděl | ||
+ | | ||
+ | | ||
+ | | ||
+ | * 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 se budou ještě dlouho přetahovat o '' | ||
+ | * Pokračovat v práci na gigafren. | ||
+ | * 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ě | ||
+ | * 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ý, | ||
+ | * 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. | ||
- | ===== Příprava korpusů | + | ===== Srovnávací testy mezi Joshuou 1.1 a 1.3: Je třeba otestovat nastavení maximální délky fráze 5 ===== |
- | Vývojová data ('' | + | 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? |
- | ===== Náročnost | + | ===== obo-max |
- | ==== obo-base1 ==== | + | Nejúspěšnější nastavení z& |
- | První pokus s Ondřejovými daty 3.3.2010, ale jen trigramový jazykový model. Proběhlo celkem bez potíží. | + | Vytvořil jsem ještě i analogické '' |
- | ==== obo-base2 | + | ^ 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 ===== | ||
+ | |||
+ | Vývojová data ('' | ||
- | Snažím se vyrobit větší jazykové modely. Zatím (5.3.2010 dopoledne) doběhl čtyřgram, běží pentagram. | + | ==== Ondřejova data ==== |
- | Trénování 4gramového jazykového modelu trvalo půl hodiny a spotřebovalo něco mezi 10 a 15 GB. Trénování pentagramu trvalo asi 40 minut a spotřebovalo něco přes 18 GB. Hexagram trval hodinu | + | Ondřejovy augmented corpora se nacházejí v& |
- | ==== obo-base3 ==== | + | Vysvětlení Ondrových pseudojazyků: |
+ | * Znaky za '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | Klon obo-base2. Používám | + | Ondřejův |
- | ==== obo-max ==== | + | Pro český jazykový model chtěl Ondřej později ještě přidat korpusy '' |
- | 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: | + | Testovací data by měl mít stejná jako já, tj. '' |
- | 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ů! | + | ===== Pokusy s uvozovkami ===== |
+ | Paralelní data, která máme k& | ||
+ | <code bash> | ||
+ | Takhle se upraví korpus v& | ||
+ | <code bash>cd / | ||
+ | Do Makefile přidáme nově upravené korpusy, mající v& | ||
+ | <code bash> | ||
+ | NEWSCOMM = $(foreach pair, | ||
+ | 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ř. " | ||
- | ===== Výsledky ===== | + | <code bash> |
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_tmtrain | ||
- | Není-li řečeno jinak, váhy se ladí na newstest2008 | + | Dotažení do konce: i vývojová |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | <code bash> |
- | | encs-allcstem4-tmnews-lmnews | 0.0918 | 0.0905 | | | 24.2.2010 | | + | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b |
- | | csen-allcstem4-tmnews-lmnews | 0.1439 | 0.1471 | | | 26.2.2010 | | + | $STATMT/ |
- | | ende-allcstem4-tmnews-lmnews | 0.1168 | 0.1114 | | | 26.2.2010 | | + | vim scripts/ |
- | | deen-allcstem4-tmnews-lmnews | 0.1725 | 0.1617 | | | 26.2.2010 | | + | $ac_dev |
- | | enes-allcstem4-tmnews-lmnews | 0.1945 | | 0.2268 | Původně 26.2. kvůli vadnému alignmentu havaroval MERT, tohle je opravný pokus. Testovací data nejsou WMT 2009 jako u ostatních jazyků, ale WMT 2010. | 6.3.2010 | | + | $ac_test |
- | | esen-allcstem4-tmnews-lmnews | extrakce havarovala | | | | 26.2.2010 | | + | (qsub.pl) scripts/ |
- | | enfr-allcstem4-tmnews-lmnews | 0.1991 | test havaroval | | | 26.2.2010 | | + | nohup nice $STATMT/ |
- | | fren-allcstem4-tmnews-lmnews | 0.1869 | 0.2020 | | | 26.2.2010 | | + | |
- | ende test havaroval, protože jsem ho pustil dřív, než doběhla extrakce gramatiky pro testovací | + | Pokusy s& |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | Nový průběh všech osmi starých pokusů |
- | | obo-base1 | + | |
- | | 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 | + | |
- | | obo-base3 | + | |
- | | obo-max | + | |
- | | obo-max3 (encs) | 0.1387 | | 0.1402 | Ondrův maximální paralelní korpus a šestigramový jazykový model. | 8.3.2010 | | + | |
- | ===== Ondřej ===== | + | **Š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& |
- | Ahoj. | + | Sloupec Moses je první odpovídající pokus s& |
- | S podobnymi podminkami souhlasim, aspon se dozvime vic. | + | ^ 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 | | ||
- | Cili do WMT by mohl jit: | + | ===== Pokusy s Emanem ===== |
- | - muj moses | + | Tohle jsou data, která Ondřej použil pro svůj „malý pokus“: |
- | - Tvuj joshua | + | SRCAUG=enNmT1+stc |
- | - TectoMT | + | TGTAUG=csNmT1+stc |
+ | ALILABEL=enNmT1-lemma-csNmT1-lemma | ||
+ | DEV: wmt10 | ||
+ | TEST: wmt11 | ||
- | Moje augmented corpora | + | Kopie příslušných korpusů |
- | baseline korpus je | + | < |
- | czeng092-ne | + | |
- | (alignment enNa-lemma-csNa-lemma-gdfa) | + | |
- | maximalni paralelni korpus je | + | 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 |
- | czeng092-ne+czeng092-eu+czeng092-fi+czeng092-te+czeng092-su+czeng092-we+emea2 | + | s.dandata.1d1f8734.20120203-1125 |
- | (alignment csNm-lemma-enNm-lemma-gdfa) | + | |
- | korpusy pro LM mam zatim rozhrabane a pouzivam zejmena: | + | wmt10/ |
+ | wmt10/ | ||
+ | wmt11/ | ||
+ | wmt11/ | ||
- | wmt10mono2 | + | Korpusy pro alignment: |
+ | s.corpus.60681730.20120201-2157 | ||
+ | s.corpus.892024c6.20120201-2157 | ||
- | pozdeji budou pouzitelne wmt09mono, webcoll a syn200x | + | 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</ | ||
- | development korpus je wmt102.test08 | + | Výsledek Danova pokusu s Ondřejovými malými daty: |
- | test korpus | + | BLEU = 0.1185 |
+ | (Ondřej měl s Mosesem asi 0.1230.) | ||
+ | Ještě | ||
+ | ===== Jak zpracovat obří korpus Treexem, třeba označkovat Gigaword? ===== | ||
- | Zdrojovy jazyk je pro mne enNa2+stc. | + | 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á, |
- | Cilovy jazyk je pro mne csN[ma]+stc (jsou identicke, ne pro kazdy korpus mam vyrobeno vsechno) | + | |
- | ' | + | Martin preferuje jiný způsob. Tisíce vstupních souborů leží v nějaké adresářové struktuře, někdy i vícepatrové, |
- | O. | + | Martinův postup lze vykoukat z '' |