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/18 16:53] zeman Nová šablona (seed). |
user:zeman:wmt [2012/02/28 13:56] zeman Příprava tabulky pro překlad mezi češtinou a neangličtinou. |
||
---|---|---|---|
Line 2: | Line 2: | ||
http:// | http:// | ||
- | http:// | + | http:// |
http:// | http:// | ||
< | < | ||
Line 8: | Line 8: | ||
===== Aktuální úkoly ===== | ===== Aktuální úkoly ===== | ||
- | * Udělat pořádek v záznamech. | + | * Rozpracované: |
- | * Najít | + | * 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. |
- | * Převést všechny | + | * Všechny |
- | * Konečně převést Joshuu pod Emana. | + | * Připravit data pro cs-de, cs-es a cs-fr (news-commentary+europarl.v7). |
- | * Převést všechny pokusy | + | * Data už jsou připravena, |
- | * Dotáhnout do konce obo-max. | + | * Prohnat všechna data Morfessorem a vyhodnotit |
- | * Při klonování experimentu se musí kopírovat mert/ | + | * Otestovat vliv omezení délky fráze na 5 tokenů (zkusit i default a 10). |
- | * Pro všechny jazykové páry používat všechna dostupná | + | * 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 | ||
+ | |||
+ | ===== 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 | ||
+ | |||
+ | ===== 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 40: | Line 55: | ||
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& |
- | | **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | | + | <code bash> |
- | | 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 ===== | + | |
- | 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 " | + | Teď použijeme TectoMT/ |
- | '' | + | <code bash> |
- | a co historie loňských commitů? | + | 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</ | ||
- | Podle časových značek u korpusů v '' | + | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " |
- | ===== Infrastruktura a zarovnání ===== | + | <code bash> |
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_tmtrain | ||
- | Kromě toho jsem někdy v roce 2011 zkoušel | + | Dotažení do konce: i vývojová a testovací data musí být ve verzi v6b. Můžeme |
- | ===== Inventura 16.1.2012 ===== | + | <code bash> |
+ | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_dev | ||
+ | $ac_test | ||
+ | (qsub.pl) scripts/ | ||
+ | nohup nice $STATMT/ | ||
- | 16.1.2012 | + | Pokusy s& |
- | ===== Eman ===== | + | 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): '' |
- | Ondrův e-mail z 4.2.2011: | + | **Š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 dotyčných jazycích v& |
- | musim se pochlubit, ze (az na jeste par much) mam ukazku pouziti emana pro preklad i pro ty, kdo to jeste vubec nezkouseli: | + | ^ 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 | | | | | | | ||
+ | | de-cs | | | | | | | ||
+ | | cs-es | | | | | | | ||
+ | | es-cs | | | | | | | ||
+ | | cs-fr | | | | | | | ||
+ | | fr-cs | | | | | | | ||
- | <code bash>svn co https:// | + | ===== Pokusy s Emanem ===== |
- | 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/ | + | |
- | Prikaz: | + | 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 | ||
- | eman --man | + | 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): |
- | ukaze manualovou stranku | + | < |
- | ==== Zakládání nových kroků | + | 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 | ||
- | 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é: | + | wmt10/enNmT1+stc = s.corpus.e46c791e.20120201-2159 |
- | * 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. | + | wmt10/ |
- | * 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 '' | + | wmt11/ |
- | * CORPAUG: faktory dotyčného korpusu, které se mají použít pro trénování. | + | wmt11/ |
- | * ORDER: řád modelu (např. 3 pro trigram). | + | |
- | Volitelně lze nastavit i další vstupní proměnné. | + | |
- | Konstruktor (skript '' | + | Korpusy pro alignment: |
+ | s.corpus.60681730.20120201-2157 | ||
+ | s.corpus.892024c6.20120201-2157 | ||
- | Dále vytvoří 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 | ||
+ | s.daneval.96709ff9.20120203-1603</ | ||
- | Dále vytvoří soubor '' | + | 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 | ||
- | Teprve v přípravném režimu se také vyrobí hlavní skript '' |