[ 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
user:zeman:wmt [2012/01/18 17:06]
zeman Sestavování experimentu.
user:zeman:wmt [2013/06/11 18:46] (current)
zeman Appraise.
Line 1: Line 1:
-====== Danovy pokusy s Joshuou na WMT 2012 ======+====== Danovy pokusy na WMT 2013, Sofija ======
  
 http://matrix.statmt.org/ http://matrix.statmt.org/
-http://www.statmt.org/wmt11/translation-task.html +http://www.statmt.org/wmt13/translation-task.html 
-http://svn.ms.mff.cuni.cz/projects/statmt/wiki/enhi/joshua+http://www.dfki.de/appraise/wmt13/
 <code>/net/work/people/zeman/wmt</code> <code>/net/work/people/zeman/wmt</code>
  
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Udělat pořádek v záznamech+  * Binarizace a prořezání jazykových modelů. Nějak prořezávat lze i paralelní trénovací data, Edinburgh loni něco takového použil a citoval. 
-  * Najít oživit loňské pokusy interpunkcízejména uvozovkami+  * Proč mi letos vyšly tak špatně jazykové páry s češtinou bez angličtiny? Udělal jsem nějakou chybu při vyrábění průniku trénovacích dat? Jsou menší nebo špatně spárovaná? 
-  * Převést všechny pokusy pod aktuální verzi Joshuy. +  * Proč při překladu odkudkoliv do angličtiny to s jazykovým modelem na newsall (tjstarý, nevím jak je to s&nbsp;novým news8all) dopadne malinko hůř než bez něj? Nemělo by to spíš dopadnout zřetelně líp? Co je s ním? Jak je velký? Jakou dostal váhu? Jak se po jeho přidání změnil výstup překladu? 
-  * Konečně převést Joshuu pod Emana+  * danmake.pl na rozdíl od emana nerozlišuje kroky, které jsou OUTDATED nebo FAILED. Když mu eman select pro nějakou sadu požadavků najde několik kroků, z nichž první je nějak vadný druhý je DONE, danmake klidně použije ten první a pak se diví. 
-  * Převést všechny pokusy na nové zacházení velkými písmeny (viz Ondřej čeština). +  * Nějak tu chybí pořádná tabulka loňských výsledků. To je mám opisovat z&nbsp;článku na WMT? 
-  Dotáhnout do konce obo-max. +    * Jazykové modely gigaword/czeng + newseuro + newsall 
-  * Při klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final změnit něm cesty! Pozormohla se změnit i cesta ke glue gramaticepokud se změnila cesta Joshuovi+    * Velká paralelní data un, gigafren, czeng 
-  * Pro všechny jazykové páry používat všechna dostupná datatedy i Europarlneomezovat se na News CommentaryTo mjznamenáže musím pro všechny páry získat nové baseliny.+  * Pokusit se napodobit Ondrův nejlepší výsledek. 
 +    * Použít stejná data jako on nebo lepší (to znamená přinejmenším celý Czeng a velká jednojazyčná data; Ondra ale prý vynechal Europarl, ten já vynechat nechci). 
 +    * Natrénovat stejné modely jako on. Přinejmenším mi zatím chybí lexical reordering model. Ondra navíc prováděl ještě nějaké čachry se značkami (jazykový model na morfologických značkách). 
 +  * Srovnat supervised truecasing, který používám teď, 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 (např. "doktor Chaloupka" by se neměl změnit na "doktor chaloupka"). 
 +  * Prohnat všechna data Morfessorem a vyhodnotit překlad 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á)
 +  * Dohnat pokusy s anglickým Gigawordem. 
 +    * Merty běží (1.5.2013), ale většina těchto modelů je příliš velkých (dekodérům nestačilo 120 GB paměti), takže se budou ještě dlouho etahovat o ''iridium'' a termín určitě nestihnou
 +  * Pokračovat v práci na gigafren. ekladový model je natrénovaný, je potřeba vyrobit kroky model, mert, translate a evaluator. 
 +    * Běží 4 obří merty... (přelom dubna a května 2013). Pokud nespadnou, budou se ještě řadu týdnů přetahovat o iridium, protože nikam jinam se nevejdou, ani jejich dekodéry ne. 
 +  * Nová data pro rok 2013. 
 +    * Modely s&nbsp;Gigawordem (zejména tím anglickým) ještě asi poběží několik týdnů, jsou příliš veliké. Ostatní je snad hotovo. 
 +    * Jsou tu nicméně data, která jsem zatím nepoužil vůbec (viz níže). Výhledově se podívat i na ně. Jde zejména korpus Common Crawl a přídavná ruská data (Yandex). 
 +    * Vývojová a testovací data: 
 +      * Kvůli ruštině musím pro nové pokusy (nad news8) přepnout DEV z 2010 na 2012. 
 +      * Od pondělního odpoledne 29.4.2013 všechny nové pokusy testovat na wmt2013. 
 +    * Inventura trénovacích dat: 
 +      * Europarl je stejný jako loni, tedy verze 7. 
 +      * News Commentary jsou nové a trochu větší, navíc ruštinou, verze 8. 
 +      * Newsall je nové, protože přibyl rok 2012 ruština
 +      * Korpus UN bude asi stejný, i když to na stránkách WMT výslovně nepíšou. Totéž gigafren. 
 +      * Gigawordy používám správné (ověřeno): en 5, es 3, fr 3
 +      Navíc je úplně nový korpus Common Crawl (prý je ale špinavý). Ten zatím nepoužívám a do termínu už to nestihnu. 
 + 
 +===== 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&nbsp;roku 2010 (více méně recyklované v&nbsp;roce 2011) bylo ''obo-max'', nyní přejmenované na ''obo-max-test2009'', a ''obo-max3'', nyní přejmenované na ''obo-max-test2010''Oba tyto pokusy nyní používají Joshuu 1.3 (stará skóre byla naměřena s&nbsp;Joshuou 1.jinými skripty). Oba používají Ondřejova velká data, tj. 7 miliónů párů t z&nbsp;Czengu 0.92 na trénování13 miliónů českých vět (210 miliónů slov) pro český jazykový model (hexagram)nějaké tokenizační a technické úpravy (jazyky csNm a enNa2). Oba využívají Ondrovy ''augmented_corpora'' (''/home/bojar/diplomka/granty/emplus/wmt10/playground/augmented_corpora''). V&nbsp;mých vlastních možná ani nejsou k&nbsp;dispozici zdrojové korpusy. Testovací korpus má u Ondry název ''wmt102.test09'', resp. ''wmt102.test10''. V&nbsp;obou případech ladím váhy na ''wmt102.test08''
 + 
 +Vytvořil jsem ještě i analogické ''obo-max-test2011'', ale zatím to má háček. Ondrovy ''augmented_corpora'' neobsahují ''newstest2011''. Takže jsem se vyhnul pouštění ''prepare.pl'', přeplácnul jsem svou kopii testovacích souborů svou kopií ''newstest2011'', což navíc neprošlo stejnou úpravou jako ostatní Ondrova data (není to tedy ve skutečnosti jazyk csNmrespenNa2, ale obyčejné moje cs a en; byť jsem je přejmenoval, aby to fungovalo). 
 + 
 +^ Výsledek ^ Test 2009 ^ Test 2010 ^ Test 2011 ^ 
 +| Starý (Joshua 1.1)           | 0.1300 | 0.1402 | | 
 +| Nový (25.1.2012Joshua 1.3) | 0.1381 | 0.1477 | 0.1452 |
  
 ===== Data ===== ===== Data =====
Line 40: Line 78:
 Testovací data by měl mít stejná jako já, tj. ''wmt102.test08'' pro MERT a ''wmt102.test09'' pro testování. Testovací data by měl mít stejná jako já, tj. ''wmt102.test08'' pro MERT a ''wmt102.test09'' pro testování.
  
-===== Náročnost =====+===== Pokusy s uvozovkami =====
  
-==== obo-max ====+Paralelní data, která máme k&nbsp;dispozici, používají velmi různorodou směs znaků pro uvozovky. Často také není poznat, zda jde o počáteční, nebo koncové uvozovky. Napsal jsem skript, který se tohle pokusí rozpoznat (je jazykově závislý), a znaky pro uvozovky sjednotit. Všechny korpusy jsem tímto skriptem protáhl a vznikly verze označené ''v6b'' (včetně vývojových a testovacích dat). Nyní je třeba pustit všechny pokusy znova a zjistit, zda to nějak ovlivní skóre.
  
-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: až do počítání lexikálních pravděpodobností včetně vystačil s 9,8 GB. Pak se ale pustil do předpočítávání indexů nejčastějších frází a s pamětí vyletěl na 22 GB, což je strop, který jsem mu dal, takže je otázka, jestli by nedokázal využít i větší množství paměti. Podle Lanova vyjádření by mohl být problém s&nbsp;větami o 100 a více slovech, proto jsem z&nbsp;korpusu takové věty odstranil. Můj čistící skript vybral z&nbsp;7&nbsp;544&nbsp;465 řádků 7&nbsp;543&nbsp;152 takových, které měly 1-99 tokenů.+<code bash>$STATMT/scripts/specchar.pl</code>
  
-Extrakce gramatiky nabíhala přes 20 minutvyčerpala 11 GB. Teď už běží vlastní extrakceale 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&nbsp;''augmented_corpora''aby vznikla verze v6b (korpus musíme také označkovatprotože budeme potřebovat faktory lemma a stc):
  
-===== Výsledky =====+<code bash>cd /net/work/people/zeman/wmt</code>
  
-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 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 / truecaseHodnoty se někdy výrazně lišízřejmě kvůli odlišné tokenizaci.+Do Makefile idáme nově upravené korpusymající v&nbsp;názvu ".v6b."např.:
  
-| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | +<code bash>EUROPARL = $(foreach pair,es-en/es es-en/en,europarl-v6b.$(pair)
-| 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é (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 encsdecs 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 MERTuvá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 echodu 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?+Ale pozor! Jestliže jsme už edtím zpracovali jiný jazykový pár, musíme ho z&nbsp;Makefile alespoň dočasně vyhodit! Jinak si novým zkopírováním zdrojových korpusů přepíšeme případnou označkovanou verzi korpusu!
  
-| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | +<code bash>make corpus CORPUS=europarl-v6b.fr-en LANGUAGE=fr</code>
-| 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-nealignment a 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.+Teď použijeme TectoMT/Treex a cluster k&nbsp;označkování nových korpusů. Původní aplikace se nachází v&nbsp;''$TMT_ROOT/applications/reordering/actag''ale už v&nbsp;ní estala fungovat němčina, protože ze sdílené složky zmizel natrénovaný model pro TreeTagger. Nová aplikace se nachází v&nbsp;''$TMT_ROOT/treex/devel/reordering/actag'', ale zatím v&nbsp;ní funguje pouze němčina.
  
-| **Pokus** | **Dev WMT08** | **Test WMT09** | **Test WMT10** | **Poznámka** | **Datum** | +<code bash>cd $TMT_ROOT/treex/devel/reordering/actag 
-| 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 | +nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=fr >& make-euro-fren-fr.log 
-| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm3 | 0.1266 | 0.1150 | | Jako předchozí, ale LM trigram na ''wmt10mono2''. | 29.8.2010 | +nohup nice make CORPUS=europarl-v6b.fr-en LANGUAGE=en >& make-euro-fren-en.log & 
-| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm4 | 0.1278 | 0.1198 | | Jako předchozí, ale LM je tetragram. | 29.8.2010 | +nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=fr >& make-news-fren-fr.log & 
-| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm5 | 0.1286 | 0.1179 | | Jako předchozí, ale LM je pentagram. | 29.8.2010 | +nohup nice make CORPUS=news-commentary-v6b.fr-en LANGUAGE=en >& make-news-fren-en.log & 
-| encs:tmtrain-czeng092ne-lmtrain-wmt10mono2-lm6 | 0.1299 | 0.1176 | | Jako předchozí, ale LM je hexagram. | 29.8.2010 | +for y in 2008 2009 2010 2011 ; do 
-| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm3 | 0.1399 | 0.1346 | | Velký paralelní korpus (Czeng+Emea). | 6.9.2010 | +  for l in cs de en es fr ; do 
-| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm4 | 0.1425 | 0.1372 | | Jako předchozí, ale LM je tetragram. | 6.9.2010 | +    nohup nice make CORPUS=newstest$y-v6b LANGUAGE=$l >& make-newstest$y-$l.log & 
-| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm5 | 0.1437 | 0.1368 | | Jako předchozí, ale LM je pentagram. | 6.9.2010 | +  done 
-| encs:tmtrain-czengemea-lmtrain-wmt10mono2-lm6 | 0.1435 | 0.1368 | | Jako předchozí, ale LM je hexagram. | 7.9.2010 | +done</code>
- +
-===== Pokusy s uvozovkami =====+
  
-Na začátku léta 2011 jsem se pokoušel poloautomaticky opravit 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 la být "v6b(verze 6bvšech korpusůna nich se měly všechny pokusy pustit znova. Asi.+No nyní již můžeme naklonovat nové pokusyI když můžeme naklonovat oba směry (např. "fren" a "enfr"těsně po sobě, se spuštěním druhého směru by to chtělo počkat kvůli zámkůa vzájemnému nepřetahování se o práci, až než u prvního směru doběhne fáze "prepare".
  
-''$STATMT/scripts/specchar.pl'' +<code bash>$STATMT/joshua-scripts/clonex.pl fren-stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011 fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 
-a co historie loňských commitů?+cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 
 +$STATMT/joshua-scripts/resetex_scripts.pl 
 +vim scripts/setexp.pl 
 +$ac_tmtrain     'news-commentary-v6b.fr-en+europarl-v6b.fr-en';</code>
  
-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-ende-enes-en, fr-en).+Dotažení do konce: i vývojová a testovací data musí být ve verzi v6b. žeme přeskočit alignment a trénování jazykového modeluale musíme pustit ''prepare.pl''abychom získali upravená data!
  
-===== Infrastruktura a zarovnání =====+<code bash>$STATMT/joshua-scripts/clonex.pl encs-stc-allemma-tmv6b-lmv6b-lm6-test2011 encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b 
 +cd encs-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b 
 +$STATMT/joshua-scripts/resetex_scripts.pl 
 +vim scripts/setexp.pl 
 +$ac_dev         'newstest2008-v6b'; 
 +$ac_test        'newstest2011-v6b'; 
 +(qsub.pl) scripts/prepare.pl 
 +nohup nice $STATMT/joshua-scripts/joshua.pl extract > & joshua.log &</code>
  
-Kromě toho jsem někdy roce 2011 zkoušel předělat Joshuovy skripty, které pouštěly Gizu, aby mohly obě půlky běžet paralelněObávám se, že to zůstalo rozvrtané nefunkční.+Pokusy s&nbsp;uvozovkami začaly na jaře 2011. Tehdy jsem upravil pouze trénovací data (Europarl a News-Commentary) pro echny čtyři jazykové páry. K&nbsp;poslední úpravě došlo 21.4.2011. Vracím se k&nbsp;tomu 16.1.2012. Nejdříve pouštím všechny tehdejší pokusy znovapotom přidám i úpravu vývojových testovacích dat.
  
-===== Inventura 16.1.2012 =====+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$TGT-stc-allcstem4-tmnews+parl-lmnews+parl-lm6-test2011'', v&nbsp;tabulce uvedeno jako "v6"Varianta, ve které byly uvozovky upraveny pouze v&nbsp;trénovacích datech (''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011''), je označena "v6b-tr"Varianta, ve které úpravou uvozovek prošla i vývojová a testovací data (''$SRC$TGT-stc-allemma-tmv6b-lmv6b-lm6-test2011v6b''), je označena "v6b". Varianta "v7": nová trénovací data (verze 7 News Commentary a Europarlu pro WMT 2012) už jsou defaultně s&nbsp;upravenými uvozovkami; vývojová a testovací data jsou v tomto případě shodná s&nbsp;v6b. Verze wmt12 se od v7 liší tím, že netestujeme na newstest2011, ale newstest2012.
  
-16.1.2012 21:12Pouš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 bec rozběhne.+**Š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&nbsp;dotyčných jazycích v&nbsp;páru s&nbsp;angličtinou. Ve všech případech jsem dostal kolem 690 tisíc párů vět.
  
-===== Eman =====+Sloupec Moses je první odpovídající pokus s&nbsp;Mosesem, už nad wmt12 (dev wmt10) a s&nbsp;jednojazyčným sjednocením news-europarl pro jazykový model.
  
-Ondrův e-mail z&nbsp;4.2.2011:+^ 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 |
  
-musim se pochlubit, ze (az na jeste par much) mam ukazku pouziti emana pro preklad i pro ty, kdo to jeste vubec nezkouseli:+===== Pokusy s Emanem =====
  
-<code bash>svn co https://svn.ms.mff.cuni.cz/svn/statmt/trunk statmt +Tohle jsou data, která Ondřej použil pro svůj „malý pokus“
-cd statmt/playground +SRCAUG=enNmT1+stc 
-# podivejte se na README +TGTAUG=csNmT1+stc 
-export PATH=$PATH:$(pwd)/../scripts +ALILABEL=enNmT1-lemma-csNmT1-lemma 
-eman init binaries +DEV: wmt10 
-  # to jen proto, abyste mohla potvrdit certifikat sourceforge +TEST: wmt11
-# a pak uz podle readme spustit mikropokus +
-SKIP_IRSTLM=yes eman clone --start < eman.samples/cs-en-mini.traceback</code>+
  
-Prikaz:+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):
  
-eman --man+<code>/home/zeman/projekty/statmt/playground/corpman --wait wmt10/csNmT1+stc
  
-ukaze manualovou stranku+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
  
-==== Zakládání nových kroků ====+wmt10/enNmT1+stc s.corpus.e46c791e.20120201-2159 
 +wmt10/csNmT1+stc s.corpus.c3230ea2.20120201-2201 
 +wmt11/enNmT1+stc s.corpus.7b9dc07b.20120201-2205 
 +wmt11/csNmT1+stc s.corpus.d0ef157e.20120201-2208
  
-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é+Korpusy pro alignment
-  * BINARIES: odkaz na krok, ve kterém byly zkompilovány externí nástroje, napřSRILMSpustitelné binární soubory leží zřejmě přímo ve složce tohoto kroku jako výstupní soubor+s.corpus.60681730.20120201-2157 
-  * CORP: zkrácený název trénovacího korpusuI jednotlivým korpusům odpovídají kroky, které vyrábějí či zpřístupňují dotyčné datové souboryNa to slouží mj. nový skript ''makecorp.pl'' (nebo tak nějak), který částečně přebírá práci staršího ''augment.pl''+s.corpus.892024c6.20120201-2157
-  * 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 ''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).+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</code>
  
-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í).+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.
  
-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 a dotyčný korpus v ''augmented_corpora'' nevidí, skončí chybou.+===== Jak zpracovat obří korpus Treexem, třeba označkovat Gigaword=====
  
-Teprve v přípravném režimu se také vyrobí hlavní skript ''eman.command''který bude na clusteru vykonávat hlavní činnost kroku.+Dosud jsem používal obyčejné treex -p, kde se přesměrovává standardní výstup do nějakého souboruPro velké korpusykteré se zpracovávají několik dní na půlce clusteru, tohle není ten nejvhodnější způsob. Vždy je pravděpodobné, že pár strojů umře a pro pár dokumentů nám bude výstup chybět. Potom se obtížně dohledává, které dokumenty to byly a jak je opravit.
  
-==== Sestavování experimentu jako posloupnosti kroků ====+Martin preferuje jiný způsob. Tisíce vstupních souborů leží v nějaké adresářové struktuře, někdy i vícepatrové, aby se předešlo jedné složce, která obsahuje třeba 100000 souborů. Paralelní Treex nepíše na standardní výstup, který by se beztak musel ukládat do nějakých souborů s číslovanými jmény. Místo toho Treex vytváří výstupní adresářovou strukturu, která odpovídá té vstupní, ale vedle kopií vstupních souborů tam navíc leží i ty výstupní. Snadno se pak zjistí, který výstupní soubor chybí nebo je v nepořádku a který skript se má pustit znova.
  
-Pokusit se alespoň zpočátku využít existující kroky pro alignment, jazkový model apod. a nekonvertovat ty svoje. Vytvořit nějakou šablonu ''joshua'', která jednou bude instalovat Joshuu, ale tuto chvíli pouze vyrobí symlinky na moji existující instalaci. Potom určitě budu potřebovat alespoň tyto kroky: +Martinůpostup lze vykoukat z ''treex/devel/en2cs/mononews/Makefile''.
-  * 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 ]