[ 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/16 21:13]
zeman
user:zeman:wmt [2012/01/18 22:22]
zeman Založení nového kroku podle šablony.
Line 120: Line 120:
  
 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. 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 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:
 +
 +<code bash>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 ]