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/05 21:49] zeman |
user:zeman:wmt [2013/03/19 17:43] zeman |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Danovy pokusy | + | ====== Danovy pokusy na WMT 2013, Sofija |
- | http://www.statmt.org/ | + | http://matrix.statmt.org/ |
- | http://svn.ms.mff.cuni.cz/projects/statmt/ | + | http://www.statmt.org/wmt13/translation-task.html |
< | < | ||
+ | |||
+ | ===== 19.3.2013 ===== | ||
+ | |||
+ | Dočasné poznámky o překladu | ||
+ | |||
+ | Kdysi havaroval s.mert.f2a85415.20130126-2300 (cs-en na Czengu). Havaroval někde uvnitř dekódování, | ||
+ | Jinak ještě mám ve stavu FAILED kroky translate a evaluator, které na něm závisí. | ||
+ | Kromě toho FAILED: | ||
+ | s.tag anglického Gigawordu. Víme, musíme zcela vyměnit tagger. | ||
+ | s.tm na gigafren oběma směry. Zjistit proč. | ||
+ | A to je momentálně všechno. | ||
+ | Řada jiných pokusů v lednu doběhla, takže je možná na čase osvěžit si paměť puštěním sklizně. | ||
+ | |||
+ | Sklizeň zatím zahrnuje spoustu pokusů, které se prováděly na korpusech připravených starým způsobem. To by chtělo nahradit a staré kroky s korpusy postupně vyřadit. | ||
+ | Pro některé jazykové páry zatím nemám ani jeden výsledek nad novými daty: | ||
+ | de-en | ||
+ | en-cs | ||
+ | en-de | ||
+ | en-es | ||
+ | en-fr | ||
+ | es-cs | ||
+ | es-en | ||
+ | fr-cs | ||
+ | fr-en | ||
+ | Takže to v podstatě chybí od určitého místa až do konce :-( | ||
+ | Opravdu, asi někdy havaroval danmake.pl a už nikdy jsem ho nedotlačil do cíle. Kroky s.model pro korpus newseuro existují pro všechny páry z češtiny ven a pro de-cs, dál už pro nic. Takže to je asi to první, co bych měl teď rozchodit, klidně bez Gigawordů, ale aspoň nějak. | ||
+ | |||
+ | Teď jsem pustil danmake.pl -t model -f od de-en. Některé kroky se inicializovaly, | ||
+ | U těch nespuštěných je problém v tom, že danmake jim našel jazykový model OUTDATED un korpusu. Správně by danmake měl poznat, že tento krok je mimo hru, a hledat jiný. Příslušný krok jsem teď úplně smazal, ale bude se to muset celé pustit znova (pro modely, které využívají korpus un). | ||
+ | |||
+ | Inited: s.model.5a6227c2.20130319-1704 | ||
+ | Executing: eval $(cat eman.vars) EMAN_READONLY=yes ./eman.seed >&2 | ||
+ | Step s.model.5a6227c2.20130319-1704 prepared. | ||
+ | Executing: ( qsub -C '' | ||
+ | Step s.model.5a6227c2.20130319-1704 submitted as job 7086079 | ||
+ | Cached: | ||
+ | Cached: | ||
+ | Cached: | ||
+ | Cached: | ||
+ | [19.3.2013 17:04:38] Executing: ( eman select t model v TMS=s.tm.039cb3b2.20120806-1258 v LMS=" | ||
+ | [19.3.2013 17:04:41] Executing: GRIDFLAGS=" | ||
+ | Executing: INIT_ONLY=yes | ||
+ | Inited: s.mert.d3fcee87.20130319-1704 | ||
+ | Executing: eval $(cat eman.vars) EMAN_READONLY=yes ./eman.seed >&2 | ||
+ | Checking tuning corp size | ||
+ | Step s.mert.d3fcee87.20130319-1704 prepared. | ||
+ | Executing: ( qsub -C '' | ||
+ | Step s.mert.d3fcee87.20130319-1704 submitted as job 7086081 | ||
+ | Cached: | ||
+ | Cached: | ||
+ | Cached: | ||
+ | Cached: | ||
+ | Cached: | ||
+ | [19.3.2013 17:04:48] Executing: ( eman select t mert v MODELSTEP=s.model.5a6227c2.20130319-1704 ) > safeticks.500/ | ||
+ | No mert step found for v MODELSTEP=s.model.5a6227c2.20130319-1704 at ./ | ||
+ | |||
===== Aktuální úkoly ===== | ===== Aktuální úkoly ===== | ||
- | * Přeložit ostrá testovací data všeho kromě '' | + | * Data pro rok 2013 budou zveřejněna |
- | * Přeložit ostrá testovací | + | * Nějak tu chybí pořádná tabulka loňských výsledků. To je mám opisovat z& |
- | * Paralelizovat extrakci gramatiky, abych měl šanci se jí u obo-max někdy dočkat. | + | |
- | * Dotáhnout do konce obo-max. | + | |
+ | | ||
+ | | ||
+ | * 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 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * 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ě | ||
+ | |||
+ | ===== 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 | | ||
- | ===== Příprava korpusů | + | ===== Data ===== |
Vývojová data ('' | Vývojová data ('' | ||
- | ===== Náročnost ===== | + | ==== Ondřejova data ==== |
- | ==== obo-base1 ==== | + | Ondřejovy augmented corpora se nacházejí v& |
- | První pokus s Ondřejovými daty 3.3.2010, ale jen trigramový jazykový model. Proběhlo celkem bez potíží. | + | Vysvětlení Ondrových pseudojazyků: |
+ | * Znaky za '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | ==== obo-base2 ==== | + | Ondřejův maximální paralelní korpus navíc obsahuje další části Czengu a korpus Emea: '' |
- | Snažím se vyrobit větší jazykové modely. Zatím (5.3.2010 dopoledne) doběhl čtyřgram, běží pentagram. | + | Pro český jazykový model chtěl Ondřej později ještě přidat korpusy '' |
- | 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). | + | Testovací data by měl mít stejná jako já, tj. '' |
- | ==== obo-base3 | + | ===== Pokusy s uvozovkami ===== |
- | Klon obo-base2. Používám Ondřejův hotový | + | Paralelní data, která máme k& |
- | ==== obo-max ==== | + | <code bash> |
- | 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: | + | Takhle se upraví korpus |
- | 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ů! | + | <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> | ||
- | ===== Výsledky ===== | + | Teď použijeme TectoMT/ |
- | Není-li řečeno jinak, váhy se ladí na newstest2008 a testuje se na newstest2009. Trénuje se zatím na news-commentary, a to jak překladový, | + | <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</ | ||
- | | **Pokus** | **Dev BLEU** | **Test BLEU** | **Poznámka** | **Datum** | | + | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " |
- | | encs-allcstem4-tmnews-lmnews | 0.0918 | 0.0905 | | 24.2.2010 | | + | |
- | | csen-allcstem4-tmnews-lmnews | 0.1439 | 0.1471 | | 26.2.2010 | | + | |
- | | ende-allcstem4-tmnews-lmnews | 0.1168 | test havaroval | | 26.2.2010 | | + | |
- | | deen-allcstem4-tmnews-lmnews | 0.1725 | 0.1617 | | 26.2.2010 | | + | |
- | | enes-allcstem4-tmnews-lmnews | MERT havaroval | | | 26.2.2010 | | + | |
- | | esen-allcstem4-tmnews-lmnews | extrakce havarovala | | | 26.2.2010 | | + | |
- | | enfr-allcstem4-tmnews-lmnews | 0.1991 | test havaroval | | 26.2.2010 | | + | |
- | | 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í data. enfr ale padá i poté, a to proto, že některým částem (15 a 18) nestačí paměť. | + | <code bash> |
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_tmtrain | ||
- | | **Pokus** | **Dev BLEU** | **Test BLEU** | **Poznámka** | **Datum** | | + | 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 '' |
- | | 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), ale zdá se, že jsem zapomněl dekodéru říct, že teď to bude šestigram. Tak to pouštím znova. | 5.3.2010 | | + | |
- | | obo-base3 (encs) | 0.1103 | 0.1012 | Opravný pokus, tentokrát už dekodér snad ví, že máme šestigram. | 5.3.2010 | | + | |
- | ===== Ondřej ===== | + | <code bash> |
+ | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_dev | ||
+ | $ac_test | ||
+ | (qsub.pl) scripts/ | ||
+ | nohup nice $STATMT/ | ||
- | Ahoj. | + | Pokusy s& |
- | S podobnymi podminkami souhlasim, aspon se dozvime vic. | + | 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): '' |
- | Cili do WMT by mohl jit: | + | **Š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& |
- | - muj moses | + | Sloupec Moses je první odpovídající pokus s& |
- | - Tvuj joshua | + | |
- | - TectoMT | + | |
- | Moje augmented corpora jsou ~bojar/ | + | ^ 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 | | ||
- | 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. |