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 [2012/01/19 08:37] zeman Spuštění kroku. |
user:zeman:wmt [2012/02/04 17:21] zeman Úklid uvozovek. |
||
---|---|---|---|
Line 10: | Line 10: | ||
* Udělat pořádek v záznamech. | * Udělat pořádek v záznamech. | ||
* Najít a oživit loňské pokusy s interpunkcí, | * Najít a oživit loňské pokusy s interpunkcí, | ||
+ | * Zopakovat tytéž pokusy, ale nad letos distribuovanými daty. | ||
* Převést všechny pokusy pod aktuální verzi Joshuy. | * Převést všechny pokusy pod aktuální verzi Joshuy. | ||
* Konečně převést Joshuu pod Emana. | * Konečně převést Joshuu pod Emana. | ||
Line 16: | Line 17: | ||
* Při klonování experimentu se musí kopírovat mert/ | * Při klonování experimentu se musí kopírovat mert/ | ||
* Pro všechny jazykové páry používat všechna dostupná data, tedy i Europarl, neomezovat se na News Commentary. To mj. znamená, že musím pro všechny páry získat nové baseliny. | * Pro všechny jazykové páry používat všechna dostupná data, tedy i Europarl, neomezovat se na News Commentary. To mj. znamená, že musím pro všechny páry získat nové baseliny. | ||
+ | |||
+ | ===== 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 39: | Line 54: | ||
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 ===== | ||
- | |||
- | ==== obo-max ==== | ||
- | |||
- | 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: | ||
- | |||
- | 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ů! | ||
===== Výsledky ===== | ===== Výsledky ===== | ||
Line 53: | Line 60: | ||
| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | ||
- | | 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 | | | decs-josh13 | 0.0935 | 0.0886 | | | 15.3.2010 | | ||
| escs-josh13 | 0.0922 | 0.0872 | | | 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 | | | 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 (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 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-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ů 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? | ||
- | |||
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | ||
- | | 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), | ||
- | | 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 a šestigramový jazykový model. | 8.3.2010 | | ||
- | |||
- | Na konci srpna 2010 oživuju pokusy s& | ||
- | |||
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
- | | encs: | ||
===== Pokusy s uvozovkami ===== | ===== Pokusy s uvozovkami ===== | ||
- | 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 " | + | Paralelní data, která máme k& |
- | + | ||
- | '' | + | |
- | a co historie loňských commitů? | + | |
- | + | ||
- | Podle časových značek u korpusů v '' | + | |
- | + | ||
- | ===== Infrastruktura a zarovnání ===== | + | |
- | + | ||
- | Kromě toho jsem někdy | + | |
- | + | ||
- | ===== Inventura 16.1.2012 ===== | + | |
- | + | ||
- | 16.1.2012 21:12: Pouštím znova pokus '' | + | |
- | + | ||
- | ===== Eman ===== | + | |
- | Ondrův e-mail z& | + | <code bash> |
- | musim se pochlubit, ze (az na jeste par much) mam ukazku pouziti emana pro preklad i pro ty, kdo to jeste vubec nezkouseli: | + | Takhle |
- | <code bash>svn co https://svn.ms.mff.cuni.cz/ | + | <code bash>cd /net/work/people/zeman/wmt</ |
- | cd statmt/ | + | |
- | # podivejte se na README | + | |
- | export PATH=$PATH: | + | |
- | eman init binaries | + | |
- | # to jen proto, abyste mohla potvrdit certifikat sourceforge | + | |
- | # a pak uz podle readme spustit mikropokus | + | |
- | SKIP_IRSTLM=yes eman clone --start < eman.samples/cs-en-mini.traceback</ | + | |
- | Prikaz: | + | Do Makefile přidáme nově upravené korpusy, mající v& |
- | eman --man | + | <code bash> |
+ | NEWSCOMM = $(foreach pair, | ||
- | ukaze manualovou stranku | + | Ale pozor! Jestliže jsme už předtím zpracovali jiný jazykový pár, musíme ho z& |
- | ==== Tvorba šablon (nové druhy kroků, seeds) ==== | + | <code bash> |
- | Jako příklad viz eman.seeds/lm. Toto je šablona na všechny kroky, které vytvářejí jazykové modely. Povinně vyžaduje nastavit tyto vstupní proměnné: | + | Teď použijeme TectoMT/Treex a cluster k& |
- | * BINARIES: odkaz na krok, ve kterém byly zkompilovány externí nástroje, např. SRILM. Spustitelné binární soubory leží zřejmě přímo ve složce tohoto kroku jako výstupní soubor. | + | |
- | * CORP: zkrácený název trénovacího korpusu. I jednotlivým korpusům odpovídají kroky, které vyrábějí či zpřístupňují dotyčné datové soubory. Na to slouží mj. nový skript | + | |
- | * CORPAUG: faktory dotyčného korpusu, které se mají použít pro trénování. | + | |
- | * ORDER: řád modelu (např. 3 pro trigram). | + | |
- | Volitelně lze nastavit i další vstupní proměnné. | + | |
- | Konstruktor (skript '' | + | <code bash>cd $TMT_ROOT/treex/ |
+ | 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 &</ | ||
- | Dále vytvoří soubor '' | + | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " |
- | Dále vytvoří soubor '' | + | <code bash> |
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_tmtrain | ||
- | Teprve v přípravném režimu se také vyrobí hlavní skript | + | Dotažení do konce: i vývojová a testovací data musí být ve verzi v6b. Můžeme |
- | ==== Založení nového kroku podle šablony ==== | + | <code bash> |
+ | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_dev | ||
+ | $ac_test | ||
+ | (qsub.pl) scripts/ | ||
+ | nohup nice $STATMT/ | ||
- | Použijeme příkaz '' | + | Pokusy s uvozovkami začaly na jaře 2011. Tehdy jsem upravil pouze trénovací data (Europarl a News-Commentary) |
- | <code bash> | + | 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): '' |
- | SRC=en TGT=cs eman init dandata</ | + | |
- | ==== Spuštění kroku ==== | + | ^ Jazyky ^ v6 ^ v6b-tr ^ v6b ^ |
+ | | en-cs | 0.1191 | 0.1246 | | | ||
+ | | cs-en | 0.1692 | 0.1792 | | | ||
+ | | en-de | 0.1337 | 0.1274 | | | ||
+ | | de-en | 0.1885 | 0.1859 | | | ||
+ | | en-es | 0.2573 | 0.2531 | | | ||
+ | | es-en | 0.2446 | 0.2375 | | | ||
+ | | en-fr | 0.2591 | 0.2619 | | | ||
+ | | fr-en | 0.2243 | 0.2285 | | | ||
- | Spuštění kroku znamená, že se vygeneruje jeho skript (pustí se '' | + | ===== Pokusy s Emanem ===== |
- | <code bash> | + | 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 | ||
- | (V& | + | Kopie příslušných korpusů jsou na mém hřišti |
- | Kroky, které už byly spuštěny v& | + | < |
- | <code bash> | + | 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 |
- | DONE | + | s.dandata.1d1f8734.20120203-1125 |
- | echo PREPARED > s.dandata.038e9f18.20120118-2212/eman.status</ | + | |
- | Druhou možností je příkaz '' | + | wmt10/ |
+ | wmt10/ | ||
+ | wmt11/ | ||
+ | wmt11/ | ||
- | ==== Korpusové kroky ==== | + | Korpusy pro alignment: |
+ | s.corpus.60681730.20120201-2157 | ||
+ | s.corpus.892024c6.20120201-2157 | ||
- | Některé kroky připravují části korpusů, které jsou pro experiment potřeba. Takový krok asi typicky bude přímo zasvěcen přípravě korpusu, ale není ani vyloučeno, že korpus bude vedlejším produktem jiné činnosti. Každopádně pokud je výsledkem nebo jedním z výsledků kroku korpus, je vhodné ve složce daného kroku založit soubor '' | + | 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</ | ||
- | ==== Sestavování experimentu | + | 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 | ||
- | Pokusit se alespoň zpočátku využít existující kroky pro alignment, jazkový model apod. a nekonvertovat ty svoje. Vytvořit nějakou šablonu '' | ||
- | * binarizace korpusu a alignmentu | ||
- | * extrakce gramatiky pro vývojová i testovací data (jeden, nebo dva různé kroky?); analogicky ke kroku '' | ||
- | * volání dekodéru Joshuy ('' | ||
- | * asi i nějaká úprava mertu, byť současný eman už samozřejmě obsahuje konfiguraci mertu pro Mosese |