Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
user:zeman:giza [2009/06/03 12:07] zeman Jednotlivé trénovací kroky. |
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 [[Příprava paralelního |
- | * Tokenizace trénovacích dat (zdrojový i cílový jazyk) | + | |
- | * " | + | |
- | * 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). | + | |
- | + | ||
- | < | + | |
- | cd / | + | |
- | cp $DATA/ | + | |
- | cp $DATA/ | + | |
- | $MOSES/ | + | |
- | $MOSES/ | + | |
- | + | ||
- | 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 " | + | |
- | + | ||
- | 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 " | + | |
- | + | ||
- | Další krok je čištění | + | |
- | + | ||
- | < | + | |
- | + | ||
- | 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]]< | Než zavoláme Gizu, musíme mít z nějakého důvodu hotový [[SRILM|jazykový model]]< | ||
+ | |||
+ | Pro konkrétní pokusy s hindštinou už mám upravené volání Gizy++ nachystané ve skriptu '' | ||
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í**): | ||
Line 88: | Line 60: | ||
Pokud to děláme kvůli Joshuovi, potřebujeme pustit jen prvních pár kroků. | Pokud to děláme kvůli Joshuovi, potřebujeme pustit jen prvních pár kroků. | ||
+ | **Pozor!** Jestliže pustíme Gizu opakovaně ve stejné složce, bude mít tendenci využít staré mezisoubory a nevytvářet je znova, aby ušetřila čas. To ale není vždy žádoucí! Jestliže jsme např. měli vedle sebe dvě verze korpusu, train.lowercased (50000 vět na každé straně) a train.clean (podmnožina 42737 vět na každé straně), nejdříve jsme pustili Gizu na train.lowercased a pak jsme si vzpomněli, že jsme vlastně chtěli train.clean, |