wiki:private/NlpInPracticeCourse/MachineTranslation

Version 5 (modified by Vít Baisa, 9 years ago) (diff)

--

Machine translation

IA161 Advanced NLP Course, Course Guarantee: Aleš Horák

Prepared by: Vít Baisa

State of the Art

The Statistical Machine Translation consists of two main parts: a language model for a target language which is responsible for fluency and good-looking output sentences and a translation model which translates source words and phrases into target language. Both models are probability distributions and can be built using a monolingual corpus for language model and a parallel corpus for translation model.

References

Approx 3 current papers (preferably from best NLP conferences/journals, eg. ACL Anthology) that will be used as a source for the one-hour lecture:

  1. Koehn, Philipp, et al. "Moses: Open source toolkit for statistical machine translation." Proceedings of the 45th annual meeting of the ACL on interactive poster and demonstration sessions. Association for Computational Linguistics, 2007.
  2. Koehn, Philipp, Franz Josef Och, and Daniel Marcu. "Statistical phrase-based translation." Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology-Volume 1. Association for Computational Linguistics, 2003.
  3. Denkowski, Michael, and Alon Lavie. "Meteor 1.3: Automatic metric for reliable optimization and evaluation of machine translation systems." Proceedings of the Sixth Workshop on Statistical Machine Translation. Association for Computational Linguistics, 2011.

Practical Session: generování překladového slovníku z paralelních dat

Instrukce

  • stáhněte si archív se skripty a trénovacími daty
  • rozbalte ho do domovského adresáře, vytvoří se podadresář it161_mt

tar xzf ia161_mt.tar.gz

Soubory v archívu

czech.words100 tisíc vět z české části DGT korpusu
czech.lemmas100 tisíc vět (lemmat) z české části DGT korpusu
english.words100 tisic vet z anglickeho DGT korpusu
english.lemmas100 tisic vet (lemmat) z anglickeho DGT korpusu
eval.pyskript na vyhodnoceni pokryti a presnosti vygenerovaneho slovniku vuci malemu anglicko-ceskemu slovniku
gnudfl.txtmaly anglicko-cesky slovnik, filtrovany na jednoslovne vyrazy a na slova obsazena v trenovacich datech
make_dict.pyskript pro vygenerovani slovniku na zaklade kookurenci a frenvencnich seznamu
Makefilesoubor s pravidly pro sestaveni slovniku na zaklade trenovacich dat
par2items.pysoubor pro vygenerovani paru slov (lemmat) z paralelnich dat

Popis make

make dict

  • samotny prikaz pouzije 1000 radku trenovacich dat a vygeneruje slovnik na zakladne slovnich tvaru (soubory czech.words a english.words)
  • je mozne zadat alternativni soubory s lemmaty pomoci parametru L1DATA a L2DATA
  • je take mozne zmenit pocet radku, ktere se pouziji pro vygenerovani slovniku make dict [L1DATA=<soubor>] [L2DATA=<soubor>] [LIMIT=<pocet radku>]

Například: make dict L1DATA=english.lemmas L2DATA=czech.lemmas LIMIT=10000

make eval

Po vygenerování slovníku můžete změřit jeho přesnost a pokrytí pomocí skriptu eval.py. Stačí zavolat make eval. Pokud jste pro vytvoření slovníku používali parametry L1DATA a L2DATA, musíte je pro správné vyhodnocení zadat i při příkazu make eval

Například: make dict L1DATA=english.lemmas L2DATA=czech.lemmas

make clean

Po každé změně vstupních souborů a parametrů, při změně skriptů, vyčistěte dočasné soubory a starý slovník příkazem

Attachments (2)