Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
user:zeman:brilluv-tagger [2007/10/24 13:53] zeman Příklad označkovaného textu. |
user:zeman:brilluv-tagger [2007/11/11 08:57] (current) zeman Trénování pravidel skončilo. |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Brillův tagger ====== | ====== Brillův tagger ====== | ||
| - | < | + | < |
| Potřebujeme trénovací korpus. Ten musí být tokenizovaný, | Potřebujeme trénovací korpus. Ten musí být tokenizovaný, | ||
| Line 11: | Line 11: | ||
| < | < | ||
| + | |||
| + | Dále potřebujeme rozdělit trénovací data na 2 části. Z první části se budeme učit značky pro neznámá slova. Ze druhé se budeme učit kontextová pravidla pro náhradu značky u slova lepší značkou. | ||
| + | |||
| + | Pozor, Eric měl Perl v ''/ | ||
| + | |||
| + | < | ||
| + | perl ../ | ||
| + | |||
| + | Dělení korpusu je náhodné, ale se snahou, aby obě části byly přibližně stejně velké. Vyšlo mi 34221 vět v první části a 34341 ve druhé. Vzhledem k tomu, že původní korpus měl kolem miliónu slov, každá část by měla mít kolem 500000 slov. | ||
| + | |||
| + | |||
| + | ===== Model neznámých slov ===== | ||
| + | |||
| + | Z označkovaného korpusu vyrobíme neoznačkovaný a získáme z něj seznam slov. | ||
| + | |||
| + | < | ||
| + | cat pdt-train.tok | perl ../ | ||
| + | |||
| + | Zjistíme nejčastější značku pro každé slovo. | ||
| + | |||
| + | < | ||
| + | |||
| + | Získáme seznam všech dvojic slov (bigramů). | ||
| + | |||
| + | < | ||
| + | |||
| + | Pustíme učení pravidel. Eric hlásí, že na Sparc 10 (někdy v roce 1994) nad anglickými daty (250000 slov z Penn Treebanku) to běželo 3 dny. Nejdříve vlézt do Erikova kódu a změnit práh ze 3 na 8 (Erikovo doporučení pro korpusy o více než 400000 slov): | ||
| + | |||
| + | <code perl> | ||
| + | |||
| + | Trénování běželo na clusteru 17 dní, ale možná by bylo rychlejší, | ||
| + | |||
| + | **Upozornění: | ||
| + | |||
| + | < | ||
| + | 300 pdt.lexruleoutfile</ | ||
| + | |||
| + | |||
| + | ===== Model kontextových pravidel ===== | ||
| + | |||
| + | Vytvoříme dva slovníky značek ke slovům. První bude vyroben z poloviny trénovacích dat a bude se používat během trénování pravidel. Druhý bude vyroben ze všech trénovacích dat a bude se používat při ostrém nasazení již natrénovaného taggeru. | ||
| + | |||
| + | < | ||
| + | cat pdt-train-*.brill | perl ../ | ||
| + | |||
| + | Odznačkujeme si druhou část korpusu a zkusíme ji označkovat počátečním taggerem, to budeme potřebovat při trénování pravidel. Tagger nemůžeme spustit, dokud se nenatrénuje model neznámých slov. | ||
| + | |||
| + | < | ||
| + | tagger pdt.training.lexicon pdt-train-2.tok pdt.bigbigramlist pdt.lexruleoutfile /dev/null -w bigwordlist -i pdt.dummy-tagged-corpus > / | ||
| + | |||
| + | Naučíme se kontextová pravidla. | ||
| + | |||
| + | < | ||
| + | |||
