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/22 07:48] zeman Výsledky *-clean (Joshua 1.1, maxPhraseLength=5, vyřazeny věty o 100 a více slovech) |
user:zeman:wmt [2013/01/23 15:25] zeman To do. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Danovy pokusy | + | ====== Danovy pokusy na WMT 2013, Sofija |
http:// | http:// | ||
- | http:// | + | http:// |
- | http:// | + | |
< | < | ||
- | |||
===== Aktuální úkoly ===== | ===== Aktuální úkoly ===== | ||
- | * Převést | + | * Data pro rok 2013 budou zveřejněna |
- | * Převést všechny pokusy na nové zacházení s velkými písmeny (viz Ondřej a čeština). | + | * Nějak tu chybí pořádná tabulka loňských výsledků. To je mám opisovat z& |
- | * Dotáhnout do konce obo-max. | + | * Jazykové modely gigaword/ |
- | * Při klonování experimentu | + | * Velká paralelní data un, gigafren, czeng |
- | * Upravit test.pl, aby před počítáním BLEU skóre odstraňoval přípony " | + | * Rozpracované: |
- | * Vyrobit end-to-end skript, abych mohl pouštět pokusy s menšími nároky na babysitting. | + | * 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 |
+ | * Pokusit se napodobit Ondrův nejlepší výsledek. | ||
+ | * Použít stejná data jako on nebo lepší (to znamená | ||
+ | * Natrénovat stejné modely jako on. Přinejmenším mi zatím chybí lexical reordering model. Ondra navíc prováděl | ||
+ | * Srovnat supervised truecasing, který používám teď, s něčím méně sofistikovaným. Nezmenšovat první písmeno slova uprostřed věty jen proto, že moje lematizace nezná dané slovo jako vlastní jméno | ||
+ | * Prohnat všechna data Morfessorem a vyhodnotit překlad s ním. | ||
+ | * 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á 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</ | ||
+ | No a nyní již můžeme naklonovat nové pokusy. I když můžeme naklonovat oba směry (např. " | ||
+ | <code bash> | ||
+ | cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_tmtrain | ||
+ | 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 '' | ||
+ | <code bash> | ||
+ | cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b | ||
+ | $STATMT/ | ||
+ | vim scripts/ | ||
+ | $ac_dev | ||
+ | $ac_test | ||
+ | (qsub.pl) scripts/ | ||
+ | nohup nice $STATMT/ | ||
- | ===== Výsledky ===== | + | Pokusy s& |
- | + | ||
- | Není-li řečeno jinak, váhy se ladí na newstest2008 a testuje se na newstest2009. Trénuje se zatím na news-commentary, | + | |
- | + | ||
- | | **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 | + | |
- | | 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 (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ěř | + | |
- | + | ||
- | | **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 | + | |
- | + | ||
- | ===== Ondřej ===== | + | |
- | + | ||
- | Ahoj. | + | |
- | 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. |