[ 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/08/30 09:38]
zeman Pokus obo-base1 už nemá smysl schovávat.
user:zeman:wmt [2012/01/19 08:14]
zeman Musíme se nacházet na hřišti, aby to fungovalo.
Line 1: Line 1:
-====== Danovy pokusy s Joshuou na WMT 2010 ======+====== Danovy pokusy s Joshuou na WMT 2012 ======
  
 http://matrix.statmt.org/ http://matrix.statmt.org/
-http://www.statmt.org/wmt10/translation-task.html+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 8: Line 8:
 ===== Aktuální úkoly ===== ===== Aktuální úkoly =====
  
-  * Převést všechny pokusy pod Joshuu 1.3.+  * Udělat pořádek v záznamech. 
 +  * Najít a oživit loňské pokusy s interpunkcí, zejména s uvozovkami. 
 +  * Převést vš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í s velkými písmeny (viz Ondřej a čeština).   * Převést všechny pokusy na nové zacházení s velkými písmeny (viz Ondřej a čeština).
   * Dotáhnout do konce obo-max.   * 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 něm cesty! Pozor, mohla se změnit i cesta ke glue gramatice, pokud se změnila cesta k Joshuovi.   * Při klonování experimentu se musí kopírovat mert/decoder-config.txt.ZMERT.final a změnit v něm cesty! Pozor, mohla se změnit i cesta ke glue gramatice, pokud se změnila cesta k Joshuovi.
-  * Upravit test.plaby před počítáním BLEU skóre odstraňoval přípony "_OOV". Otázka jezda nemá totéž dělat i mert.pl (resp. zda se to odstraňování nemá zabudovat do parcoderu.pl). +  * 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.
-  * Vyrobit end-to-end skriptabych mohl pouštět pokusy s menšími nároky na babysitting.+
  
 ===== Data ===== ===== Data =====
Line 39: Line 41:
  
 ===== Náročnost ===== ===== Náročnost =====
- 
-==== obo-base2 ==== 
- 
-Snažím se vyrobit větší jazykové modely. Zatím (5.3.2010 dopoledne) doběhl čtyřgram, běží pentagram. 
- 
-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). 
- 
-==== obo-base3 ==== 
- 
-Klon obo-base2. Používám Ondřejův hotový šestigramový model a pouštím rovnou MERT. 
  
 ==== obo-max ==== ==== obo-max ====
Line 107: Line 99:
 | 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-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-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í =====
 +
 +Kromě toho jsem někdy v 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é a nefunkční.
 +
 +===== Inventura 16.1.2012 =====
 +
 +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.
 +
 +===== Eman =====
 +
 +Ondrův e-mail z&nbsp;4.2.2011:
 +
 +musim se pochlubit, ze (az na jeste par much) mam ukazku pouziti emana pro preklad i pro ty, kdo to jeste vubec nezkouseli:
 +
 +<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>
 +
 +Prikaz:
 +
 +eman --man
 +
 +ukaze manualovou stranku
 +
 +==== Tvorba šablon (nové druhy kroků, seeds) ====
 +
 +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é:
 +  * 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.
 +  * 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é.
 +
 +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).
 +
 +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í).
 +
 +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.
 +
 +Teprve v přípravném režimu se také vyrobí hlavní skript ''eman.command'', který bude na clusteru vykonávat hlavní činnost kroku.
 +
 +==== Založení nového kroku podle šablony ====
 +
 +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):
 +
 +<code bash>cd $STATMT/playground
 +SRC=en TGT=cs eman init dandata</code>
 +
 +==== Korpusové kroky ====
 +
 +Některé kroky připravují části korpusů, které jsou pro experiment potřeba. Takový 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 korpus, je 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.
 +
 +==== Sestavování experimentu jako posloupnosti kroků ====
 +
 +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 ]