[ 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 [2012/01/19 08:14]
zeman Musíme se nacházet na hřišti, aby to fungovalo.
user:zeman:wmt [2012/02/29 10:00]
zeman Doběhlo fr-cs.
Line 2: Line 2:
  
 http://matrix.statmt.org/ http://matrix.statmt.org/
-http://www.statmt.org/wmt11/translation-task.html+http://www.statmt.org/wmt12/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 8: Line 8:
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Udělat pořádek záznamech. +  * Rozpracované: es-en a fr-en UN. Značkování Gigawordu. Chcíplý giga.fr-en a news.2007.de. 
-  * Najít oživit loňské pokusy s interpunkcízejména s uvozovkami+    * 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 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 pokusy pod aktuální verzi Joshuy+  * Všechny přípravy korpusů a zarovnání zopakovat i pod Emanem. Naučit se registrovat korpusy Corpmanem
-  * 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 na nové zacházení s velkými písmeny (viz Ondřej a čeština)+    * Data už jsou připravena, všech 6 pokusů běží. 
-  * Dotáhnout do konce obo-max. +  * Prohnat všechna data Morfessorem a vyhodnotit eklad s ním. 
-  * 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+  * 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á datatedy i Europarlneomezovat se na News CommentaryTo mjznamenáže musím pro všechny páry získat nové baseliny.+  * 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á). 
 + 
 +===== 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 pravděpodobně není statisticky významný, ale stejně mě to zaráží. Srovnání u češtiny ukázalo, že se liší extrahovaná gramatikaV 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 55:
 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í datakterá máme k&nbsp;dispozicipoužívají velmi různorodou směs znaků pro uvozovkyČasto také není poznatzda jde o počátečnebo koncové uvozovkyNapsal jsem skriptkterý se tohle pokusí rozpoznat (je jazykově závislý), a znaky pro uvozovky sjednotitVš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 echny pokusy znova zjistitzda 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 slovechproto 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ů. +
- +
-Extrakce gramatiky nabíhala přes 20 minutvyč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ětutakž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 jinakvá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 encsdecs 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ěř 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 í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ů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 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 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.+<code bash>$STATMT/scripts/specchar.pl</code>
  
-''$STATMT/scripts/specchar.pl'' +Takhle se upraví korpus v&nbsp;''augmented_corpora'', aby vznikla verze v6b (korpus musíme také označkovat, protože budeme potřebovat faktory lemma stc):
-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).+<code bash>cd /net/work/people/zeman/wmt</code>
  
-===== Infrastruktura a zarovnání =====+Do Makefile přidáme nově upravené korpusy, mající v&nbsp;názvu ".v6b.", např.:
  
-Kromě toho jsem někdy v roce 2011 zkoušel předělat Joshuovy skriptykteré pouštěly Gizuaby mohly obě půlky běžet paralelněObávám seže to zůstalo rozvrtané a nefunkční.+<code bash>EUROPARL = $(foreach pair,es-en/es es-en/en,europarl-v6b.$(pair)) 
 +NEWSCOMM = $(foreach pair,es-en/es es-en/en,news-commentary-v6b.$(pair))</code>
  
-===== Inventura 16.1.2012 =====+Ale pozor! Jestliže jsme už př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!
  
-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.+<code bash>make corpus CORPUS=europarl-v6b.fr-en LANGUAGE=fr</code>
  
-===== Eman =====+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í př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.
  
-Ondrův e-mail z&nbsp;4.2.2011:+<code bash>cd $TMT_ROOT/treex/devel/reordering/actag 
 +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</code>
  
-musim se pochlubit, ze (az na jeste par muchmam ukazku pouziti emana pro preklad i pro tykdo to jeste vubec nezkouseli:+No a nyní již můžeme naklonovat nové pokusy. I 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ům a vzájemnému nepřetahování se o práci, až než u prvního směru doběhne fáze "prepare".
  
-<code bash>svn co https://svn.ms.mff.cuni.cz/svn/statmt/trunk statmt +<code bash>$STATMT/joshua-scripts/clonex.pl fren-stc-allemma-tmnews+parl-lmnews+parl-lm6-test2011 fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 
-cd statmt/playground +cd fren-stc-allemma-tmv6b-lmv6b-lm6-test2011 
-# podivejte se na README +$STATMT/joshua-scripts/resetex_scripts.pl 
-export PATH=$PATH:$(pwd)/../scripts +vim scripts/setexp.pl 
-eman init binaries +$ac_tmtrain     'news-commentary-v6b.fr-en+europarl-v6b.fr-en';</code>
-  # 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>+
  
-Prikaz:+Dotažení do koncei 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 ''prepare.pl'', abychom získali upravená data!
  
-eman --man+<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>
  
-ukaze manualovou stranku+Pokusy s&nbsp;uvozovkami začaly na jaře 2011. Tehdy jsem upravil pouze trénovací data (Europarl a News-Commentary) pro vš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 znova, potom přidám i úpravu vývojových a testovacích dat.
  
-==== Tvorba šablon (nové druhy krokůseeds====+Nový průběh všech osmi starých pokusů (supervised truecasing, žádná normalizace uvozovek, nové je na nich paralelní počítání alignmentuale 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.
  
-Jako í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é: +**Šest í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 taskOrganizátořpro ně ani neposkytují trénovací dataale 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čtinouVe všech případech jsem dostal kolem 690 tisíc párů vět.
-  * BINARIES: odkaz na krokve 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. +
-  CORP: zkrácený název trénovacího korpusuI jednotlivým korpusům odpovídají kroky, které vyrábějí čzpřístupňují dotyčné datové soubory. Na to slouží mj. nový skript ''makecorp.pl'' (nebo tak 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é.+
  
-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).+^ 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 |        |        |        |        | 0.1304 | 
 +| de-cs |        |        |        |        | **0.0237** | 
 +| cs-es |        |        |        |        | 0.1848 | 
 +| es-cs |        |        |        |        | **0.0201** | 
 +| cs-fr |        |        |        |        | 0.1822 | 
 +| fr-cs |        |        |        |        | 0.1175 |
  
-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í).+===== Pokusy s Emanem =====
  
-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.+Tohle jsou datakterá Ondřej použil pro svůj „malý pokus“: 
 +SRCAUG=enNmT1+stc 
 +TGTAUG=csNmT1+stc 
 +ALILABEL=enNmT1-lemma-csNmT1-lemma 
 +DEV: wmt10 
 +TEST: wmt11
  
-Teprve v ípravném režimu se také vyrobí hlavní skript ''eman.command'', který bude na clusteru vykonávat hlavní činnost kroku.+Kopie íslušných korpusů jsou na mém hřišti v těchto krocích (ukázáno rovnou na inicializaci kroku dandata):
  
-==== Založení nového kroku podle šablony ====+<code>/home/zeman/projekty/statmt/playground/corpman --wait wmt10/csNmT1+stc
  
-Použijeme příkaz ''eman init''Typicky musíme předat nějaké vstupní parametry prostřednictvím proměnných prostředíMůžeme samozřejmě nejdřív nastavit prostředí a pak zavolat ''eman init'', ale v&nbsp;bashové syntaxi můžeme také rovnou předřadit přiřazení do proměnných před příkaz, napřtakhle vytvoříme nový krok typu ''dandata'' pro jazykový pár en-cs (na všechny operace s&nbsp;emanem se musíme nacházet na hřišti):+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
  
-<code bash>cd $STATMT/playground +wmt10/enNmT1+stc = s.corpus.e46c791e.20120201-2159 
-SRC=en TGT=cs eman init dandata</code>+wmt10/csNmT1+stc s.corpus.c3230ea2.20120201-2201 
 +wmt11/enNmT1+stc s.corpus.7b9dc07b.20120201-2205 
 +wmt11/csNmT1+stc = s.corpus.d0ef157e.20120201-2208
  
-==== Korpusové kroky ====+Korpusy pro alignment: 
 +s.corpus.60681730.20120201-2157 
 +s.corpus.892024c6.20120201-2157
  
-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é činnostiKaždopádně pokud je výsledkem nebo jedním z výsledků kroku korpus, je vhodné ve složce daného kroku založit soubor ''corpman.info'', který popisuje, jaký korpus nám to tady vzniklSkript pro tvorbu korpusů ho potom může využít při tvorbě kombinovaných korpusů, jiných faktorů apod.+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>
  
-==== Sestavování experimentu jako posloupnosti kroků ====+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.
  
-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 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 ]