Changes between Version 11 and Version 12 of private/NlpInPracticeCourse/MachineTranslation


Ignore:
Timestamp:
Oct 14, 2015, 12:56:39 PM (9 years ago)
Author:
Vít Baisa
Comment:

překlad do angličtiny

Legend:

Unmodified
Added
Removed
Modified
  • private/NlpInPracticeCourse/MachineTranslation

    v11 v12  
    1717 1. 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.
    1818
    19 == Praktická část: generování překladového slovníku z paralelních dat ==
     19== Workshop: generating translation dictionary from parallel data ==
    2020
    21 === Základní instrukce ===
     21=== Basic instructions ===
    2222
    23 * stáhněte si [raw-attachment:ia161_mt.tar.gz:wiki:en/AdvancedNlpCourse ia161_mt.tar.gz] se skripty a trénovacími daty
    24 * rozbalte ho do domovského adresáře příkazem {{{tar xzf ia161_mt.tar.gz}}}
    25 * vytvoří se podadresář it161_mt
     23* download [raw-attachment:ia161_mt.tar.gz:wiki:en/AdvancedNlpCourse ia161_mt.tar.gz] with scripts and train data
     24* unzip into home directory with {{{tar xzf ia161_mt.tar.gz}}}
     25* a new subdir will be created: {{{it161_mt}}}
    2626
    27 === Soubory v archívu ===
     27=== Files in the archive ===
    2828
    29 ||czech.words||100 tisíc vět z české části DGT korpusu||
    30 ||czech.lemmas||100 tisíc vět (lemmat) z české části DGT korpusu||
    31 ||english.words||100 tisic vet z anglickeho DGT korpusu||
    32 ||english.lemmas||100 tisic vet (lemmat) z anglickeho DGT korpusu||
    33 ||eval.py||skript na vyhodnoceni pokryti a presnosti vygenerovaneho slovniku vuci malemu anglicko-ceskemu slovniku||
    34 ||gnudfl.txt||maly anglicko-cesky slovnik, filtrovany na jednoslovne vyrazy a na slova obsazena v trenovacich datech||
    35 ||make_dict.py||skript pro vygenerovani slovniku na zaklade kookurenci a frenvencnich seznamu||
    36 ||Makefile||soubor s pravidly pro sestaveni slovniku na zaklade trenovacich dat||
    37 ||par2items.py||soubor pro vygenerovani paru slov (lemmat) z paralelnich dat||
     29||czech.words||100,000 sentences from Czech part of DGT-TM||
     30||czech.lemmas||100,000 sentences (lemmas) from Czech part of DGT||
     31||english.words||100,000 sentences from English DGT||
     32||english.lemmas||100,000 sentences (lemmas) from EN DGT||
     33||eval.py||a script for evaluation of coverage and precision of a generated dictionary in comparison with a small English-Czech dictionary||
     34||gnudfl.txt||a small English-Czech dictionary containing only one-word items and words from the train data||
     35||make_dict.py||a script for generating dictionary based on co-occurrences and frequency lists||
     36||Makefile||a file with rules for building the dictionary based on the train data||
     37||par2items.py||a file for generating pairs of words (lemmas) from the parallel data||
    3838
    39 === Popis make ===
     39=== Description of make ===
    4040
    4141{{{make dict}}}
    4242
    43 * samotný příkaz použije 1000 řádků trénovacích dat a vygeneruje slovnik na zakladne slovnich tvaru (soubory czech.words a english.words)
    44 * je možné zadat alternativní soubory s lemmaty pomocí parametru L1DATA a L2DATA
    45 * je také možné změnit počet řádků, které se použijí pro vygenerovaní slovníku
    46 * obecně: {{{make dict [L1DATA=<soubor>] [L2DATA=<soubor>] [LIMIT=<pocet radku>]}}}
    47 * konkrétně: {{{make dict L1DATA=english.lemmas L2DATA=czech.lemmas LIMIT=10000}}}
     43* the command uses 1,000 lines from train data and generates a dictionary based on wordforms (files czech.words and english.words)
     44* it is possible to use alternative files with lemmas using parameter L1DATA and L2DATA
     45* it is also possible to change the number of lines used for the computation (parameter LIMIT)
     46* in general: {{{make dict [L1DATA=<file>] [L2DATA=<file>] [LIMIT=<number of lines>]}}}
     47* e.g.: {{{make dict L1DATA=english.lemmas L2DATA=czech.lemmas LIMIT=10000}}}
    4848
    4949{{{make eval}}}
    5050
    51 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}}}
    52 
    53 Například: {{{make dict L1DATA=english.lemmas L2DATA=czech.lemmas}}}
     51* when a dictionary is generated, you can measure its precision and coverage using script eval.py: {{{make eval}}}.
     52* if you use parameters {{{L1DATA}}} and {{{L2DATA}}}, you must repeat them {{{make eval}}}
     53* e.g.: {{{make dict L1DATA=english.lemmas L2DATA=czech.lemmas}}}
    5454
    5555{{{make clean}}}
    5656
    57 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 {{{make clean}}}.
     57* after each change to the input files or the scripts or parameters, clean temporary files: {{{make clean}}}
    5858
    59 == Detailní pohled na skripty a generovaná data ==
     59== Detailed description of the scripts and generated data ==
    6060
    61 * Cvičně si spusťte implicitní {{{make dict}}} a podívejte se na vytvořené soubory:
     61* Try to run default {{{make dict}}} and look at the results:
    6262  * czech.words.freq
    6363  * english.words.freq
    6464  * english.words-czech.words.cofreq
    65   * english.words-czech.words.dict (výsledný slovník)
    66 * Podívejte se, jak jsou výsledné soubory veliké (kolik obsahují řádků) a jaké data obsahují.
    67 * Podívejte se na skript make_dict.py, který generuje slovník, na klíčových místech obsahuje řetězec TODO, v těchto místech můžete skript upravovat a měnit podmínky tak, aby se výsledné f-score vygenerovaného slovníku co nejíce zvýšilo.
     65  * english.words-czech.words.dict (the resulting dictionary)
     66* Look at sizes of the output files (how many lines they contain) and its contents.
     67* Look at the script {{{make_dict.py}}}, which generates the dictionary: at key places it contains {{{TODO}}}
     68* there you can change the script, add heuristics, change conditions etc. so the final f-score is the highest possible
    6869
    69 == Zadání ==
     70== Assignment ==
    7071
    71 Změňte klíčová místa ve skriptech par2items.py, make_dict.py tak, abyste dosáhli co nejvyššího f-score (viz {{{make eval}}}). Do odevzdávárny nahrajte všechny skripty, které změníte (Makefile, *.py) v jednom archívu. Ten vytvoříte příkazem
    72 {{{tar czf ia161_mt_<uco_nebo_login>.tar.gz Makefile *.py}}}
    73 
     721. Change the key places of scripts {{{par2items.py}}}, {{{make_dict.py}}} so to achieve the highest possible f-score (see {{{make eval}}}).
     731. Upload all the scripts into the vault in one archive file.
     741. You can create it like this: {{{tar czf ia161_mt_<uco_or_login>.tar.gz Makefile *.py}}}