This is an old revision of the document!
Giza++
Giza++ je nástroj pro slovní párování (alignment) paralelních textů. Autorem je Franz Och a další. Tahle stránka uchovává poznámky o instalaci a pouštění Gizy na ÚFALu. Je primárně založena na tutoriálu pro Moses z MT Marathonu 2009. Spolu s Gizou potřebujeme ještě program mkcls
.
Zdroje:
- http://giza-pp.googlecode.com/ - projekt v rámci Google Code, kde se udržuje kód Gizy
wget http://giza-pp.googlecode.com/files/giza-pp-v1.0.2.tar.gz tar -xzvf giza-pp-v1.0.2.tar.gz cd giza-pp make
Po přeložení pravděpodobně nepotřebujeme nic víc než tři spustitelné binární soubory, které si můžeme zkopírovat na nějaké místo v cestě, kde máme nástroje.
setenv NASTROJE /home/zeman/nastroje/preklad cp GIZA++-v2/GIZA++ $NASTROJE cp GIZA++-v2/snt2cooc.out $NASTROJE cp mkcls-v2/mkcls $NASTROJE
Zdá se, že nástroje přeložené na 32bitové pracovní stanici s Ubuntu lze spustit i na clusteru.
Příprava dat
Pro přípravu dat potřebujeme některé skripty, které jsou přibalené např. k Mosesovi, nebo je můžeme nahradit svými vlastními:
- Tokenizace trénovacích dat (zdrojový i cílový jazyk)
- “Lowercasing”, tedy nahrazení velkých písmen v textu malými
- Odstranění dlouhých vět (např. delších než 40 tokenů). Není to nezbytné, a pokud máme málo dat, možná ani žádoucí, ale Gize trvá neúměrně dlouho, když má pracovat s dlouhými větami. Pozor, pokud je věta dlouhá jen v jednom z jazyků, musíme ji samozřejmě odstranit nebo ponechat v obou.
Následující příklady jsou přímo z práce s hindštinou (TIDES). Převádění velkých písmen na malá by pravděpodobně stačilo provést pro angličtinu (hindština velká a malá písmena nerozlišuje), ale takhle si alespoň budeme jisti, že neuniknou případná anglická slova vložená v hindštině, a taky že se oba soubory budou jmenovat analogicky. A pozor, kdybychom hindská data neměli v UTF-8, ale v té jejich “WX” romanizaci, nesmíme lowercasing vůbec provádět, protože velká latinská písmena se tam používají pro úplně jiné znaky než odpovídající malá!
cd /net/work/people/zeman/hindstina/data cp $DATA/para/hi/icon/train.tok train.tok.hi cp $DATA/para/en/icon/train.tok train.tok.en $MOSES/tools/scripts/lowercase.perl < train.tok.en > train.lowercased.en $MOSES/tools/scripts/lowercase.perl < train.tok.hi > train.lowercased.hi