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 [2010/03/10 16:53] zeman Doběhl test esen-josh13. |
user:zeman:wmt [2012/02/29 11:01] zeman Doběhlo es-cs. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Danovy pokusy s Joshuou na WMT 2010 ====== | + | ====== Danovy pokusy s Joshuou na WMT 2012 ====== |
http:// | http:// | ||
- | http:// | + | http:// |
http:// | http:// | ||
< | < | ||
- | |||
===== Aktuální úkoly ===== | ===== Aktuální úkoly ===== | ||
- | * Převést všechny pokusy pod Joshuu 1.3. | + | * Rozpracované: |
- | * Převést | + | * Ještě by to chtělo zopakovat celý proces se značkováním korpusů OSN. Nejdřív se ale pokusím nechat alespoň jednou doběhnout současnou verzi. Původní korpus se nechtěl nechat označkovat a zdá se, že problém by mohl být v tom, že některé věty jsou příliš dlouhé. Pustil jsem tedy nejdřív čištění (pouze věty délky 1 až 99 slov), ale kvůli nějaké chybě má označkovaný korpus stejně původní počet vět. Zdá se, že poslední dávku jsem omylem nakopíroval tolikrát, abych se dostal na původní počet řádků. Mělo by to ale být striktně paralelní, takže by to výsledek snad nemuselo nějak zásadně poškodit. |
- | * Dotáhnout do konce obo-max. | + | * Všechny přípravy korpusů a zarovnání zopakovat i pod Emanem. Naučit se registrovat korpusy Corpmanem. |
- | * Při klonování experimentu se musí kopírovat mert/ | + | * Připravit data pro cs-de, cs-es a cs-fr (news-commentary+europarl.v7). |
- | * Upravit test.pl, aby před počítáním BLEU skóre odstraňoval přípony " | + | * Data už jsou připravena, |
- | * Vyrobit end-to-end skript, abych mohl pouštět pokusy s menšími nároky na babysitting. | + | * Prohnat všechna data Morfessorem a vyhodnotit |
+ | * Otestovat vliv omezení délky fráze na 5 tokenů | ||
+ | * 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á). | ||
- | ===== 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 | | ||
- | Snažím se vyrobit větší jazykové modely. Zatím (5.3.2010 dopoledne) doběhl čtyřgram, běží pentagram. | + | ===== 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 a spotřeboval nejméně 23 GB (to byl poslední údaj, který jsem viděl, než jsem odešel). | + | Vývojová data ('' |
- | ==== obo-base3 | + | ==== Ondřejova data ==== |
- | Klon obo-base2. Používám | + | Ondřejovy augmented corpora se nacházejí v& |
- | ==== obo-max ==== | + | Vysvětlení Ondrových pseudojazyků: |
+ | * Znaky za '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | 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: | + | Ondřejův maximální paralelní korpus navíc obsahuje |
- | 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ů! | + | Pro český jazykový model chtěl Ondřej později ještě přidat korpusy '' |
+ | Testovací data by měl mít stejná jako já, tj. '' | ||
+ | ===== 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</ | ||
- | ===== 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 | + | |
- | + | ||
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | |
- | | encs-allcstem4-tmnews-lmnews | 0.0918 | 0.0905 | | | 24.2.2010 | | + | |
- | | encs-josh13 | 0.0878 | 0.0869 | | | 9.3.2010 | | + | |
- | | csen-allcstem4-tmnews-lmnews | 0.1439 | 0.1471 | 0.1518 (14.2/10.5) | | 26.2.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-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-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-josh13 | 0.1969 | 0.1978 | | | 9.3.2010 | | + | |
- | | esen-allcstem4-tmnews-lmnews | 0.1945 | 0.2025 | 0.2268 | + | |
- | | 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 (15.7/12.2) | | 26.2.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-josh13 | 0.1861 | 0.2036 | | | 9.3.2010 | | + | |
- | + | ||
- | 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 | + | |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | <code bash> |
- | | obo-base1 (encs) | 0.1084 | 0.0990 | | | 3.3.2010 | | + | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 |
- | | 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), | + | $STATMT/ |
- | | obo-base3 (encs) | 0.1103 | 0.1012 | | Opravný pokus, tentokrát už dekodér snad ví, že máme šestigram. | 5.3.2010 | | + | vim scripts/ |
- | | 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 | | + | $ac_tmtrain |
- | | obo-max3 (encs) | 0.1387 | | 0.1402 | Ondrův maximální paralelní korpus a šestigramový jazykový model. | 8.3.2010 | | + | |
- | ===== Ondřej ===== | + | 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 '' |
- | Ahoj. | + | <code bash> |
+ | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_dev | ||
+ | $ac_test | ||
+ | (qsub.pl) scripts/ | ||
+ | nohup nice $STATMT/ | ||
- | S podobnymi podminkami souhlasim, aspon se dozvime vic. | + | Pokusy s& |
- | Cili do WMT by mohl jit: | + | 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 |
- | - muj moses | + | **Š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& |
- | - Tvuj joshua | + | |
- | - TectoMT | + | |
- | Moje augmented corpora jsou ~bojar/ | + | ^ Jazyky ^ v6 ^ v6b-tr ^ v6b ^ v7 ^ wmt12 ^ |
+ | | en-cs | 0.1191 | 0.1246 | 0.1257 | 0.1299 | 0.1161 | | ||
+ | | cs-en | 0.1692 | 0.1792 | 0.1801 | 0.1814 | 0.1661 | | ||
+ | | en-de | 0.1337 | 0.1274 | 0.1334 | 0.1350 | 0.1359 | | ||
+ | | de-en | 0.1885 | 0.1859 | 0.1896 | 0.1915 | 0.1880 | | ||
+ | | en-es | 0.2573 | 0.2531 | 0.2627 | 0.2756 | 0.2757 | | ||
+ | | es-en | 0.2446 | 0.2375 | 0.2497 | 0.2562 | 0.2699 | | ||
+ | | en-fr | 0.2591 | 0.2619 | 0.2526 | 0.2729 | 0.2572 | | ||
+ | | fr-en | 0.2243 | 0.2285 | 0.2384 | 0.2448 | 0.2391 | | ||
+ | | cs-de | | | | | 0.1304 | | ||
+ | | de-cs | | | | | **0.0237** | | ||
+ | | cs-es | | | | | 0.1848 | | ||
+ | | es-cs | | | | | 0.1220 | | ||
+ | | cs-fr | | | | | 0.1822 | | ||
+ | | fr-cs | | | | | 0.1175 | | ||
- | baseline korpus je | + | ===== Pokusy s Emanem ===== |
- | czeng092-ne | + | |
- | (alignment enNa-lemma-csNa-lemma-gdfa) | + | |
- | maximalni paralelni korpus je | + | Tohle jsou data, která Ondřej použil pro svůj „malý pokus“: |
- | czeng092-ne+czeng092-eu+czeng092-fi+czeng092-te+czeng092-su+czeng092-we+emea2 | + | SRCAUG=enNmT1+stc |
- | (alignment csNm-lemma-enNm-lemma-gdfa) | + | TGTAUG=csNmT1+stc |
+ | ALILABEL=enNmT1-lemma-csNmT1-lemma | ||
+ | DEV: wmt10 | ||
+ | TEST: wmt11 | ||
- | korpusy pro LM mam zatim rozhrabane a pouzivam zejmena: | + | 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): |
- | wmt10mono2 | + | < |
- | pozdeji budou pouzitelne wmt09mono, webcoll a syn200x | + | 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 | ||
- | development korpus je wmt102.test08 | + | wmt10/ |
- | test korpus je wmt102.test09 | + | wmt10/ |
+ | wmt11/ | ||
+ | wmt11/ | ||
+ | Korpusy pro alignment: | ||
+ | s.corpus.60681730.20120201-2157 | ||
+ | s.corpus.892024c6.20120201-2157 | ||
- | Zdrojovy jazyk je pro mne enNa2+stc. | + | GIZASTEP=s.mosesgiza.8a492679.20120202-1628 DATASTEP=s.dandata.1d1f8734.20120203-1125 ALISYM=gdfa eman init danalign |
- | Cilovy jazyk je pro mne csN[ma]+stc (jsou identicke, ne pro kazdy korpus mam vyrobeno vsechno) | + | 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. | ||
- | O. |