[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
user:zeman:giza [2009/06/03 14:48]
zeman Pozor na recyklované mezisoubory!
user:zeman:giza [2009/06/03 18:48] (current)
zeman Příprava dat přesunuta na samostatnou stránku.
Line 24: Line 24:
 ===== Příprava dat ===== ===== 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: +Viz [[íprava paralelního korpusu|zde]].
-  * 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). 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á! +
- +
-<code>setenv MOSES /net/work/people/zeman/moses +
-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</code> +
- +
-Zvláštní. Diff se tváří, že hindská data se lowercasingem opravdu změnila, a změněných řádků není málo. Většinou obsahují latinské písmeno "Z". Co je to za šum? Z 50000 vět je asi 2000 takových rozdílů. +
- +
-K tomu Gauravův komentář: Tam, kde se vyskytne celá posloupnost latinských znaků (opravdu asi stačí 2 a více za sebou), jde o nějakou divnou, často pro normálního Hinda nečitelnou romanizaci, kterou někdo nezkonvertoval zpátky. Tohle bude nejlepší prostě vyhodit. Pak se také občas objevuje samotné písmeno, přilepené nebo vložené do slova v dévanágarí. Viděli jsme Z, L a Q, ale mohou být i další. Je možné, že jsou to také nezkonvertované znaky. Z jsme viděli většinou na kraji slova, mohla by to být nějaká interpunkce. Q jsme viděli uprostřed slova a Gaurava nenapadá, co by to mohlo být - prostým vymazáním prý vznikne správné slovo. L jsme viděli taky uprostřed slova a u něj bylo možné vysledovat nějaký význam. Nepochopil jsem přesně jaký, ale to, co mi Gaurav namaloval, vypadalo na samohlásku "i" (krátké, tj. namalované doleva před souhlásku, která v textu předcházela tomu L). Bohužel jsem ale viděl L i samotné na konci věty (místo dandy?), taky 2 za sebou, taky jsem nově viděl Y a H. +
- +
-Další krok je čištění korpusu od vět delších než 40 tokenů. Zatím k tomu použiju skript, který se mi kdysi vygeneroval u Mosese v rámci nějakého časovaného pokusu: +
- +
-<code>$MOSES/tools/moses-scripts/scripts-20090128-1534/training/clean-corpus-n.perl train.lowercased en hi train.clean 1 40</code> +
- +
-Ohlásilo to, že z 50000 vět zbylo 42737. +
- +
- +
- +
- +
- +
- +
- +
  
 ===== Volání Gizy ===== ===== Volání Gizy =====
  
 Než zavoláme Gizu, musíme mít z nějakého důvodu hotový [[SRILM|jazykový model]]<nowiki>!</nowiki> Než zavoláme Gizu, musíme mít z nějakého důvodu hotový [[SRILM|jazykový model]]<nowiki>!</nowiki>
 +
 +Pro konkrétní pokusy s hindštinou už mám upravené volání Gizy++ nachystané ve skriptu ''~zeman/projekty/hindstina/align_tides.csh'' (volá se bez parametrů a dá se odeslat na cluster).
  
 Moses obsahuje skript, který hezky obaluje volání mkcls a Gizy++ a generuje frázové a přeskládávací tabulky, které potřebuje dekodér. Volá se takhle (pozor, cesta k jazykovému modelu musí být **absolutní**): Moses obsahuje skript, který hezky obaluje volání mkcls a Gizy++ a generuje frázové a přeskládávací tabulky, které potřebuje dekodér. Volá se takhle (pozor, cesta k jazykovému modelu musí být **absolutní**):

[ Back to the navigation ] [ Back to the content ]