[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
user:zeman:wmt [2010/03/05 16:13]
zeman Opravný MERT se šestigramem je hotov.
user:zeman:wmt [2012/01/18 19:50]
zeman Korpusové kroky.
Line 1: Line 1:
-====== Danovy pokusy s Joshuou na WMT 2010 ======+====== Danovy pokusy s Joshuou na WMT 2012 ======
  
-http://www.statmt.org/wmt10/translation-task.html+http://matrix.statmt.org/ 
 +http://www.statmt.org/wmt11/translation-task.html
 http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua
 <code>/net/work/people/zeman/wmt</code> <code>/net/work/people/zeman/wmt</code>
Line 7: Line 8:
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Přeložit ostrá testovací data odeslat jePro e kromě ''encs'' běží ''extract-t.pl''+  * Udělat pořádek v záznamech. 
-  * Pustit test obo-base2 Ondrovým šestigramem+  * Najít oživit loňské pokusy s interpunkcí, zejména s uvozovkami. 
-  * Paralelizovat extrakci gramatiky, abych měl šanci se jí u obo-max někdy dočkat.+  * Převést echny pokusy pod aktuální verzi Joshuy. 
 +  * Konečně převést Joshuu pod Emana
 +  * Převést všechny pokusy na nové zacházení velkými písmeny (viz Ondřej a čeština)
 +  * Dotáhnout do konce obo-max
 +  * Při klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final a změnit v m cesty! Pozor, mohla se změnit i cesta ke glue gramatice, pokud se změnila cesta k Joshuovi. 
 +  * 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.
  
-===== Příprava korpusů =====+===== Data =====
  
 Vývojová data (''news-test'') jsou k dispozici ve formátu SGML. Obsahují pouze jeden referenční překlad, takže stačí vykopat obsah prvků ''<seg>''. Výsledek strčit do ''augmented_corpora''. Vývojová data (''news-test'') jsou k dispozici ve formátu SGML. Obsahují pouze jeden referenční překlad, takže stačí vykopat obsah prvků ''<seg>''. Výsledek strčit do ''augmented_corpora''.
  
-===== Náročnost =====+==== Ondřejova data ====
  
-==== obo-base1 ====+Ondřejovy augmented corpora se nacházejí v&nbsp;''/home/bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora'' (což vede na ''/a/merkur3/TMP/bojar/wmt10/playground/augmented_corpora''). Za baseline se považuje trénování na zpravodajské části Czengu, tj. ''czeng092-ne''. Uvnitř jsou různé podjazyky podle úrovně analýzy. Zdá se, že baseline by mohly být např. ''enNa'' a ''csNa'', ale Ondřej prý pro WMT 2010 používal ''enNa2+stc'' a ''csN[ma]+stc'' (''csNa'' a ''csNm'' jsou prý identické). Faktor ''stc'' znamená //supervised truecasing,// čili truecasováno podle lemat. Ondřej korpus zarovnával podle lemat, tj. ''enNa-lemma-csNa-lemma-gdfa''. Český jazykový model Ondřej vyráběl z&nbsp;''wmt10mono2'', a to šestigramový.
  
-První pokus s Ondřejovými daty 3.3.2010, ale jen trigramový jazykový modelProběhlo celkem bez potíží.+Vysvětlení Ondrových pseudojazyků: 
 +  * Znaky za ''cs'', resp. ''en'', označují anotaci, kterou data prošla v&nbsp;TectoMT (Ondra na to má scénář v&nbsp;adresáři ''augmented_corpora'', ale možná to není commitnuté). 
 +  * ''Nm'' značí s&nbsp;normalizací (jako uvozovky, //'ll// apod.) a jen po morfologickou rovinu. 
 +  * ''Na'' je s&nbsp;normalizací až po t-rovinu, ale uloženo jako analytická, tjco token, to analytický uzel, a některé mají kolonku t-lematu a formému neproškrtnutou. 
 +  * ''Na2'' je jako ''Na'', ale Ondra nějak měnil ten normalizační blok. Do soutěže šlo právě ''Na2''
 +  * ''Nt'' je linearizovaná t-rovina. 
 +  * ''X1'' je Ondrův pokus o frázovou interlingvu, tj. sice stále lineární, ale některé věci (jako zvratná zájmena nebo v&nbsp;angličtině další součástky slovesa) pravidlově přemístěny blíž ke slovesu. Neúspěšné, tak neví přesně. 
 +  * ''_txt'' je prostý text bez tokenizace, začátek všeho, odpovídá releasnutému CzEngovému plaintextu.
  
-==== obo-base2 ====+Ondřejův maximální paralelní korpus navíc obsahuje další části Czengu a korpus Emea: ''czeng092-ne+czeng092-eu+czeng092-fi+czeng092-te+czeng092-su+czeng092-we+emea2'' (alignment ''csNm-lemma-enNm-lemma-gdfa'').
  
-Snažím se vyrobit větší jazykové modely. Zatím (5.3.2010 dopoledne) doběhl čtyřgramběží pentagram.+Pro český jazykový model chtěl Ondřej později ještě přidat korpusy ''wmt09mono''''webcoll'' a ''syn200x''.
  
-Trénování 4gramového jazykového modelu trvalo půhodiny a spotřebovalo něco mezi 10 a 15 GBTrénování pentagramu trvalo asi 40 minut spotřebovalo něco přes 18 GBHexagram 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ěmít stejná jako já, tj''wmt102.test08'' pro MERT ''wmt102.test09'' pro testování.
  
-==== obo-base3 ==== +===== Náročnost =====
- +
-Klon obo-base2. Používám Ondřejův hotový šestigramový model a pouštím rovnou MERT.+
  
 ==== obo-max ==== ==== obo-max ====
Line 37: Line 48:
 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ů! 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 =====
  
 +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ý, tak jazykový model. U testu WMT 2010 se jako základní uvádí BLEU skóre, které mi spočítal Joshua, v závorce pak skóre, které mi spočítali organizátoři, lowercase / truecase. Hodnoty se někdy výrazně liší, zřejmě kvůli odlišné tokenizaci.
  
 +| **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 "the". Jinak je tento běh identický s encs-josh13. | 10.3.2010 |
 +| 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 |
  
-===== Výsledky =====+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), 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 | 
 +| 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&nbsp;Joshuou 1.1. Začínám s&nbsp;Czengem 092-ne, alignment a překlad z&nbsp;''enNa2+stc'' do ''csN[ma]+stc'', jak je napsáno výše, trigramový LM jen na jeho cílové straně. Až na ten jazykový model by to mělo odpovídat některému obo-base pokusu z&nbsp;února nebo března. 
 + 
 +| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | 
 +| encs:tmtrain-czeng092ne-lmtrain-czeng092ne-lm3 | 0.1053 | 0.0962 | | Ondrovo párování na lematech, trigram LM pouze z&nbsp;cílové strany paralelního korpusu. | 29.8.2010 | 
 +| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm3 | 0.1266 | 0.1150 | | Jako předchozí, ale LM trigram na ''wmt10mono2''. | 29.8.2010 | 
 +| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm4 | 0.1278 | 0.1198 | | Jako předchozí, ale LM je tetragram. | 29.8.2010 | 
 +| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm5 | 0.1286 | 0.1179 | | Jako předchozí, ale LM je pentagram. | 29.8.2010 | 
 +| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm6 | 0.1299 | 0.1176 | | Jako předchozí, ale LM je hexagram. | 29.8.2010 | 
 +| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm3 | 0.1399 | 0.1346 | | Velký paralelní korpus (Czeng+Emea). | 6.9.2010 | 
 +| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm4 | 0.1425 | 0.1372 | | Jako předchozí, ale LM je tetragram. | 6.9.2010 | 
 +| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm5 | 0.1437 | 0.1368 | | Jako předchozí, ale LM je pentagram. | 6.9.2010 | 
 +| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm6 | 0.1435 | 0.1368 | | Jako předchozí, ale LM je hexagram. | 7.9.2010 | 
 + 
 +===== 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 "v6b" (verze 6b) všech korpusů, na nich se měly všechny pokusy pustit znova. Asi. 
 + 
 +''$STATMT/scripts/specchar.pl'' 
 +a co historie loňských commitů? 
 + 
 +Podle časových značek u korpusů v ''augmented_corpora'' se zdá, že poslední "v6b" jsem vytvořil 21.4.2011. Vypadá to, že mám news-commentary+europarl ve verzi v6b pro všechny čtyři jazykové páry (cs-en, de-en, es-en, fr-en). 
 + 
 +===== Infrastruktura a zarovnání =====
  
-Není-li řečeno jinakváhy se ladí na newstest2008 a testuje se na newstest2009Trénuje se zatím na news-commentary, a to jak překladový, tak jazykový model.+Kromě toho jsem někdy v roce 2011 zkoušel předělat Joshuovy skriptykteré pouštěly Gizu, aby mohly obě půlky běžet paralelněObávám se, že to zůstalo rozvrtané nefunkční.
  
-| **Pokus** | **Dev BLEU** | **Test BLEU** | **Poznámka** | **Datum** | +===== Inventura 16.1.2012 =====
-| 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 18nestačí paměť.+16.1.2012 21:12: Pouštím znova pokus ''encs-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011''. Zřejmě to neobsahuje opravené uvozovky (v6b), ale potřebuju zjistit, zda se to vůbec rozběhne.
  
-| **Pokus** | **Dev BLEU** | **Test BLEU** | **Poznámka** | **Datum** | +===== Eman =====
-| 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 | | Opravný pokus, tentokrát už dekodér snad ví, že máme šestigram. | 5.3.2010 |+
  
-===== Ondřej =====+Ondrův e-mail z&nbsp;4.2.2011:
  
-Ahoj.+musim se pochlubit, ze (az na jeste par much) mam ukazku pouziti emana pro preklad i pro ty, kdo to jeste vubec nezkouseli:
  
-S podobnymi podminkami souhlasim, aspon se dozvime vic.+<code bash>svn co https://svn.ms.mff.cuni.cz/svn/statmt/trunk statmt 
 +cd statmt/playground 
 +# podivejte se na README 
 +export PATH=$PATH:$(pwd)/../scripts 
 +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</code>
  
-Cili do WMT by mohl jit:+Prikaz:
  
-muj moses +eman --man
-Tvuj joshua +
-- TectoMT+
  
-Moje augmented corpora jsou ~bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora/+ukaze manualovou stranku
  
-baseline korpus je +==== Zakládání nových kroků ====
-czeng092-ne +
-(alignment enNa-lemma-csNa-lemma-gdfa)+
  
-maximalni paralelni korpus je +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é: 
-czeng092-ne+czeng092-eu+czeng092-fi+czeng092-te+czeng092-su+czeng092-we+emea2 +  * 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. 
-(alignment csNm-lemma-enNm-lemma-gdfa)+  * 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 ''makecorp.pl'' (nebo tak nějak), který částečně přebírá práci staršího ''augment.pl''
 +  * 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é.
  
-korpusy pro LM mam zatim rozhrabane a pouzivam zejmena:+Konstruktor (skript ''eman.seeds/lm'') vytvoří soubor ''eman.tag'', obsahující stručnou jednořádkovou charakteristiku kroku (v tomto případě zejména charakteristiku korpusu, ze kterého byl jazykový model vyroben).
  
-wmt10mono2+Dále vytvoří soubor ''eman.vars'', kam opíše všechny vstupní proměnné a jejich hodnoty ve formě přiřazení (tj. sourcnutí tohoto souboru umožní kdykoli zrekonstruovat příslušnou část prostředí).
  
-pozdeji budou pouzitelne wmt09monowebcoll syn200x+Dále vytvoří soubor ''eman.deps''kde jsou názvy kroků, na kterých tento krok závisí, tj. dotyčné kroky musí úspěšně skončit ještě před spuštěním tohoto kroku. V případě jazykového modelu je závislost pouze na BINARIES (proč ne taky na trénovacím korpusu?) Pro korpus se v tomto případě sahá přímo do ''augmented_corpora'' – že by zastaralé použití? Pokud je seed skript puštěn v přípravném režimu dotyčný korpus v ''augmented_corpora'' nevidí, skončí chybou.
  
-development korpus je wmt102.test08 +Teprve v přípravném režimu se také vyrobí hlavní skript ''eman.command'', který bude na clusteru vykonávat hlavní činnost kroku.
-test korpus je        wmt102.test09+
  
 +==== Korpusové kroky ====
  
-Zdrojovy jazyk  je pro mne enNa2+stc. +Některé kroky připravují části korpusů, které jsou pro experiment potřebaTakový 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 korpusje vhodné ve složce daného kroku založit soubor ''corpman.info'', který popisuje, jaký korpus nám to tady vznikl. Skript pro tvorbu korpusů ho potom může využít při tvorbě kombinovaných korpusů, jiných faktorů apod.
-Cilovy jazyk je pro mne csN[ma]+stc (jsou identickene pro kazdy korpus mam vyrobeno vsechno)+
  
-'stc' obecne znamena supervised truecasing, cili truecasovano podle lemmatu.+==== Sestavování experimentu jako posloupnosti kroků ====
  
-O.+Pokusit se alespoň zpočátku využít existující kroky pro alignment, jazkový model apoda nekonvertovat ty svoje. Vytvořit nějakou šablonu ''joshua'', která jednou bude instalovat Joshuu, ale v tuto chvíli pouze vyrobí symlinky na moji existující instalaci. Potom určitě budu potřebovat alespoň tyto kroky: 
 +  * binarizace korpusu a alignmentu 
 +  * extrakce gramatiky pro vývojová i testovací data (jeden, nebo dva různé kroky?); analogicky ke kroku ''tm'', který vyrábí frázovou tabulku pro Mosese, by se tento krok mohl jmenovat třeba ''joshtm''
 +  * volání dekodéru Joshuy (''translate''?) s příslušnými modely a konfiguračním souborem s vahami 
 +  * asi i nějaká úprava mertu, byť současný eman už samozřejmě obsahuje konfiguraci mertu pro Mosese

[ Back to the navigation ] [ Back to the content ]