[ 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

Next revision
Previous revision
user:zeman:ukoly:moses [2009/10/08 11:46]
zeman vytvořeno
user:zeman:ukoly:moses [2013/10/08 08:15] (current)
zeman quest
Line 12: Line 12:
   * Je těžké stanovit poměr vah mezi jazykovým a překladovým modelem, a případných dalších parametrů systému. Pro trochu odlišná data (např. z jiné domény) navíc optimální váhy mohou být úplně jiné. Proto se obvykle tyto váhy vylaďují automaticky na vývojových (development) datech. Tento krok se nazývá //MERT// (minimum error rate training) a logicky se provádí ještě před tím, než pustíte dekodér na testovací data. V kostce obnáší následující: Začnete s vahami, které odhadnete ručně. Pustíte dekodér na vývojová data, přičemž ho necháte vypsat ne jeden překlad, ale N (třeba 300) nejlepších překladů každé věty. Ke každému překladu dekodér vypíše známky, které tomuto překladu dávají jednotlivé složky (překladový a jazykový model). MERT zkouší náhodně hýbat jednotlivými vahami, tím se mu mění hodnocení jednotlivých překladů a na vrchol seznamu se jako nejlepší dostávají různé překladové hypotézy. Potom MERT pro každou změnu vah spočítá BLEU skóre (případně jinou automatickou metriku) celých vývojových dat. Tak zjistí váhy, které dávají nejlepší výsledek pro celý soubor, a s nimi opět pustí dekodér. Celý proces se iterativně opakuje, až nakonec zkonverguje u vah, které už není možné dále vylepšit. Tyto váhy se potom předají dekodéru jako optimální a s nimi dekodér zpracuje testovací data. Poznámka 1: MERT hledá v mnohorozměrném prostoru vah lokální maximum, ale není žádná jistota, že globální maximum neleží úplně jinde. Poznámka 2: vzhledem k náhodnému prvku v MERTU není zaručeno, že dva běhy MERTu na stejných datech dají stejný výsledek.   * Je těžké stanovit poměr vah mezi jazykovým a překladovým modelem, a případných dalších parametrů systému. Pro trochu odlišná data (např. z jiné domény) navíc optimální váhy mohou být úplně jiné. Proto se obvykle tyto váhy vylaďují automaticky na vývojových (development) datech. Tento krok se nazývá //MERT// (minimum error rate training) a logicky se provádí ještě před tím, než pustíte dekodér na testovací data. V kostce obnáší následující: Začnete s vahami, které odhadnete ručně. Pustíte dekodér na vývojová data, přičemž ho necháte vypsat ne jeden překlad, ale N (třeba 300) nejlepších překladů každé věty. Ke každému překladu dekodér vypíše známky, které tomuto překladu dávají jednotlivé složky (překladový a jazykový model). MERT zkouší náhodně hýbat jednotlivými vahami, tím se mu mění hodnocení jednotlivých překladů a na vrchol seznamu se jako nejlepší dostávají různé překladové hypotézy. Potom MERT pro každou změnu vah spočítá BLEU skóre (případně jinou automatickou metriku) celých vývojových dat. Tak zjistí váhy, které dávají nejlepší výsledek pro celý soubor, a s nimi opět pustí dekodér. Celý proces se iterativně opakuje, až nakonec zkonverguje u vah, které už není možné dále vylepšit. Tyto váhy se potom předají dekodéru jako optimální a s nimi dekodér zpracuje testovací data. Poznámka 1: MERT hledá v mnohorozměrném prostoru vah lokální maximum, ale není žádná jistota, že globální maximum neleží úplně jinde. Poznámka 2: vzhledem k náhodnému prvku v MERTU není zaručeno, že dva běhy MERTu na stejných datech dají stejný výsledek.
  
-Projděte si tutoriál pro práci s Mosesem na adrese [[http://example.com|URL!!!!!!!!!!!!!!]]. Tutoriál obsahuje i návod, kde získat jednotlivé související nástroje a jak je nainstalovat. Rozchoďte Mosese pro pokusná data uvedená v tutoriálu.+Projděte si tutoriál pro práci s Mosesem na [[user:zeman:tutorial-pro-moses-na-mt-marathon-v-praze-v-lednu-2009-vedeny-joshem-schroederem|této adrese]]. Tutoriál obsahuje i návod, kde získat jednotlivé související nástroje a jak je nainstalovat. Rozchoďte Mosese pro pokusná data uvedená v tutoriálu.
  
 Poté dostanete k dispozici paralelní korpus pro jiný jazykový pár. Vaším úkolem bude aplikovat Mosese na tato data, vyhodnotit úspěšnost (BLEU skóre) a analyzovat chyby překladače. Poté dostanete k dispozici paralelní korpus pro jiný jazykový pár. Vaším úkolem bude aplikovat Mosese na tato data, vyhodnotit úspěšnost (BLEU skóre) a analyzovat chyby překladače.
  
-Výsledky své práce budete prezentovat ostatním na některé prosincové přednášce. Níže najdete otázky, na které byste při experimentech měli hledat odpověď; do prezentace však zahrňte i další zajímavosti, na které při pokusech narazíte, ať už se týkají technických aspektů práce s parserem, zajímavostí v datech, se kterými jste pracovali, nebo námětů, jak zlepšit úspěšnost parseru.+Výsledky své práce budete prezentovat ostatním na některé prosincové přednášce. Níže najdete otázky, na které byste při experimentech měli hledat odpověď; do prezentace však zahrňte i další zajímavosti, na které při pokusech narazíte, ať už se týkají technických aspektů práce s překladačem, zajímavostí v datech, se kterými jste pracovali, nebo námětů, jak zlepšit úspěšnost překladače.
  
 Odevzdávat budete kromě prezentace také podpůrné skripty, které při experimentech potřebujete. Měly by být spíše v Perlu než v shellu a spíše platformově nezávislé - přestože o samotném Mosesovi tohle říct nelze. V případě potřeby ale můžete využít externí programy běžně dostupné v Linuxu, které nelze snadno nahradit příkazy Perlu (např. gzip). Dokumentace ke skriptům stačí uživatelská, tj. seznam skriptů, ke každému způsob volání a jednou dvěma větami popsáno, k čemu slouží. Odevzdávat budete kromě prezentace také podpůrné skripty, které při experimentech potřebujete. Měly by být spíše v Perlu než v shellu a spíše platformově nezávislé - přestože o samotném Mosesovi tohle říct nelze. V případě potřeby ale můžete využít externí programy běžně dostupné v Linuxu, které nelze snadno nahradit příkazy Perlu (např. gzip). Dokumentace ke skriptům stačí uživatelská, tj. seznam skriptů, ke každému způsob volání a jednou dvěma větami popsáno, k čemu slouží.
 +
 +Odevzdávat budete také Mosesem přeložená testovací data a natrénovanou frázovou tabulku.
  
 ===== Poznámky k architektuře ===== ===== Poznámky k architektuře =====
Line 35: Line 37:
 ===== Data ===== ===== Data =====
  
-Tato sekce se ipravuje.+Máte k dispozici paralelní korpus rozdělený na trénovací, vývojovou a testovací část. Každá část obsahuje dva zagzipované soubory označené ISO kódem jazyka (např. en.gz obsahuje angličtinu). Sobě odpovídající soubory jsou už zarovnané po větách, mají stejný počet řádků, co řádek, to segment. Texty jsou tokenizované a kódované v UTF-8. 
 + 
 +Pozor, s jedním paralelním korpusem lze trénovat dva směry ekladu, podle toho, který jazyk použijete jako zdrojový a který jako cílový. Věnujte proto pozornost vašemu osobnímu zadání (i když samozřejmě můžete vyzkoušet oba směry, máte-li na to čas a chuť). 
 + 
 +Paralelní data si stáhněte zde: 
 + 
 +  * [[http://ufal.mff.cuni.cz/~zeman/vyuka/ukoly/data/moses/en-hi.zip|Angličtina – hindština]]
  
 ===== Další informace ===== ===== Další informace =====
  
-Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://ufal.mff.cuni.cz/cgi-bin/zeman/zapoctaky/rezervace_ukolu.pl (pokud ještě není rozebrán).+Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://quest.ms.mff.cuni.cz/cgi-bin/zeman/zapoctaky/rezervace_ukolu.pl (pokud ještě není rozebrán).
  
 Termín odevzdání e-mailem je konec listopadu, prezentace programu proběhne v prosinci. Termín odevzdání e-mailem je konec listopadu, prezentace programu proběhne v prosinci.
  

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