TAU2016/Ćwiczenia 2

Ćwiczenia 2

Przede wszystkim zob. http://www.statmt.org/moses/?n=Development.GetStarted.

Instalowanie GIZA++ ze źródeł

https://github.com/moses-smt/giza-pp

git clone https://github.com/moses-smt/giza-pp.git
cd giza-pp
make

Instalowanie Mosesa ze źródeł

http://www.statmt.org/moses/?n=Development.GetStarted

Instalowanie Mosesa (Arch Linux)

Do /etc/pacman.conf dodać:

[nlp]
SigLevel = Optional TrustAll
Server = http://mrt.wmi.amu.edu.pl:8888/archlinux/$repo/os/$arch

Aktualizacja listy pakietów

pacman -Sy

Instalacja Mosesa (także reinstalacja):

pacman -S mosesdecoder giza-pp-git

Trenowanie

http://www.statmt.org/moses/?n=FactoredTraining.HomePage

Znaki specjalne w korpusie

Niektóre znaki (w szczególności) nawiasy kwadratowe mają dla Mosesa specjalne znaczenie. Należy je wyczyścić, np. skryptem escape-special-chars.perl:

/opt/moses/moses-scripts/tokenizer/escape-special-chars.perl < corpus.oryginalny.pl > corpus.pl

Tworzenie modelu języka docelowego

lmplz -o 5 -S 80% -T /tmp <text >text.arpa

Uwaga: plik text nie może być zbyt mały.

Trenowanie

/opt/moses/moses-scripts/training/train-model.perl  -root-dir train -corpus corpus -f en -e pl -alignment grow-diag-final-and -lm 0:3:/full/path/to/text.arpa:8 -external-bin-dir /usr/giza-pp/bin

Uruchamianie

cd train/model
/opt/moses/bin/moses -f moses.ini

Zadanie M201

Punkty: 30. Termin: zajęcia 9 listopada 2016.

Wyuczyć przy użyciu Mosesa translator dla dowolnej pary języków:

  • w miarę możliwości przynajmniej kilkaset tysięcy par zdań,
  • wyliczyć BLEU na odłożonym korpusie (moses-scripts/generic/multi-bleu.perl),
  • ocenić jakość tłumaczenia (na „oko”),
  • znaleźć ciekawe przykłady (zaskakujące/śmieszne przykłady źle tłumaczone, zaskakujące przykłądy dobrze tłumaczone),
  • przedstawić system (8-minutowa prezentacja + pokaz działania systemu na żywo).