Friday, January 13, 2012

Referat - sugestii pentru cuprins


1. Probleme ale traducerea intr-o limba cu o morfologie complexă
- exemple de paradigme de flexiune (puteti folosi serviciile web de la ICIA)

2. descrierea experimentului
- care sunt etapele de construire a unui sistem de traducere pentru directia Engleza-Romana
- ce corpus paralel a fost folosit
- ce metoda de evaluare este folosita

3. care sunt diferentele dintre sistemul de referinta si sistemul factorizat
- scoruri BLEU
- exemple de traducere

4. propuneri de imbunatatire a traducerii din engleza in romana
- imbunatatirea modelului de generare (modelul de traducere factorizat)
- reguli de transfer (a se vedea slide-urile privind traducerea bazata pe reguli)
- etc.

Friday, December 16, 2011

Factored translation: simple experiment

  •           Moses decoder and training scripts that implements the factored translation models; MGiza++ for word alignment
  •           The English-Romanian journalistic corpus used for NAACL 2005 word alignment shared task (37,000 sentence pairs, and two test sets of 400 sentence pairs each)

The VMware Player Virtual Machine (user/ubuntu) contains a working install of Moses and training scripts for a baseline system and for a factored system.


Training the baseline system (smt/naacl-baseline)

Preparing for alignment:$ wa-prep.sh
Takes just a few minutes and produces a directory 'corpus' under 'smt/naacl-baseline/tm-enro'.

Word alignment:
for English to Romanian
$ word-align.sh 1
for Romanian to English
$ word-align.sh 2
It takes ~20 minutes for each direction and produces 2 directories: 'giza.en-ro' and 'giza.ro-en' under 'smt/naacl-baseline/tm-enro'. The alignment can run in parallel (use 'screen' or different sessions for each direction).

Extract translation equivalents:
$ train-tm.sh
It takes ~10 minutes and produces a directory 'model' under 'smt/naacl-baseline/tm-enro'. The decoder configuration file is 'moses.ini' in the 'model' directory. Just to be sure that everything worked fine, test this configuration file by launching:
$ test-tm.sh tm-enro/model/moses.ini
It translates the test file 'naacl.en-ro.fact0.en.test' using the system configured in the 'moses.ini' file. It outputs the translation in 'naacl.en-ro.fact0.en.test-outro' and a BLEU score on command line.

Parameter optimization:
$ tune.sh
The system parameters are optimized using the development test set ('naacl.en-ro.fact0.en.dev' and  the reference translation 'naacl.en-ro.fact0.ro.dev').
It takes a couple of hours. The result is a 'moses.ini' configuration file in 'smt/naacl-baseline/mert-enro' with optimised parameters.
Hint: To speed up tuning, if you have more than two threads available, allocate more cores to the virtual machine and change the parameter --decoder-flags "threads 2" accordingly.

Test the optimised system:
$ test-tm.sh mert-enro/moses.ini


Training the factored system (smt/naacl-fact)

The factored model has translation equivalents phrase table based on lemmas and uses on the target side the POS tag to generate the wordform (see Addressing SMT data sparseness...). It has two language models: one on wordforms and one on POS tags. The configuration provided is not optimal... try using the morpho-syntactic descriptions instead of POS tags (you have a language model on MSDs in 'smt/lm-ro').

The training and test files have 4 factors: wordform|lemma|POStag|MorphoSyntacticDescription
English:
it|it^Pp|PPER3|Pp3ns sounds|sound^Nc|NNS|Ncnp like|like^Sp|PREP|Sp a|a^Ti|TS|Ti-s terrible|terrible^Af|ADJE|Afp truth|truth^Nc|NN|Ncns
Romanian:
sună|suna^Vm|V3|Vmis3s ca|ca^Rc|RC|Rc un|un^Ti|TSR|Timsr adevăr|adevăr^Nc|NSN|Ncms-n crunt|crunt^Af|ASN|Afpms-n 

To train the system, run the same scripts as for the baseline system. The tuning and testing steps will take a lot more time compared to the baseline system.
Hint: To experiment with different configurations, tune with a smaller development set and test set.

You will notice in 'train-tm.sh' a few extra-lines:
         --lm ${LM_FACTOR}:${ORDER}:${LM}:${LM_TYPE} \
         --lm ${LM_TAG_FACTOR}:${ORDER}:${LM_TAG}:${LM_TYPE} \
         --translation-factors 1-1+2-2 \
         --generation-factors 1,2-0 \
         --decoding-steps t0,t1,g0
If you want to change the translation and the generation step from POS to MSD, use:

         --translation-factors 1-1+3-3 \
         --generation-factors 1,3-0


For more info on configuring the factored parameters see The Moses User Manual and Code Guide and follow the links from this thread from the Moses support list.

Friday, November 18, 2011

EM word alignment exercise

EM word alignment exercise

Source:
bre urna lui Tracosh fotə, au zdədud la tonmie viiu-zəu, Zaz fotə shi au tsimud tonmiia 4 ami shi au nurid.
tubə ge au nurid Zaz fotə, au tsimud tonmiia viiu-zəu, Latsgo fotə 8 ami.
tubə tonmiia lui Poctam fotə au tonmid Bədru fotə, viiu-zəu Nushadu, 16 ami.
bre urna au zdədud la tonmie vradi-zəu, Ronam fotə, 3 ami.
bre urna lui Latsgo fotə au tonmid Poctam fotə 6 ami.

Target:
tubə foiefotul Tracosh a tonmid viul zəu Zaz, tonmia gəruia tsimâmt 4 ami aboi a nurid.
tubə ge a nurid foiefotul Zaz, a tonmid 8 ami viul zəu, foiefotul Latsgo.
tubə tonmia lui foiefotului Poctam a tonmid foiefotul Bedru shi viul zəu, Nushad, dinb te 16 ami.
aboi a urnad tonmia vradelui zəu, foiefotul Ronam, dinb te 3 ami.
tubə foiefotul Latsgo a tonmid 6 ami foiefotul Poctam.

Monday, May 9, 2011

Tutorial model factorizat

Instalaţi PuTTY şi WinSCP ca să interacţionaţi mai uşor cu maşina virtuală. Dacă nu aveţi acces la maşina virtuală folosind Putty, este posibil ca VMWare Player să nu fie configurat corect. În cazul acesta, mai rulaţi odată instalarea VMWare Player cu opţiunea „Reparare”.

Descărcaţi o nouă variantă de corpus şi de scripturi de aici. Dezarhivaţi-le în /home/user/smt/naacl-fact/

Pregătirea de aliniere
wa-prep.sh
durează câteva minute. Produce un director „corpus” în „tm-enro”

Alinierea corpusului
pentru direcţia engleză-română:
walign.sh 1
pentru direcţia română engleză:
walign.sh 2
durează o jumătate de oră pentru fiecare direcţie. Puteţi să le lansaţi în paralel folosind "screen". În urma alinierii aveţi două noi directoare „giza.en-ro” şi „giza.ro-en” în „tm-enro”

Extragerea echivalenţilor de traducere
train-tm-fact.sh
durează aprox. 10 minute. În urma rulării în directorul „tm-enro” apare un director „model”. Fişierul de configurare a sistemului (moses.ini) se găseşte în directorul „model”.

Testarea sistemului
test-tm.sh tm-enro/model/moses.ini
Optimizarea parametrilor
tune.sh
durează aproximativ 3:30 h. În urma rulării, în fişierul „moses.ini” din directorul mert-enro veţi avea o variantă a sistemului cu parametrii optimizaţi pe datele de optimizare (dev-set)

Testarea sistemului optimizat
test-tm.sh mert-enro/moses.ini

Sunday, February 27, 2011