Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
user:zeman:dz-parser:icon [2012/12/09 21:54] zeman Přepracované výsledky. |
user:zeman:dz-parser:icon [2012/12/11 12:37] (current) zeman training-k:5 |
||
---|---|---|---|
Line 6: | Line 6: | ||
* Natrénovat McDonaldův MST parser. Pokud možno s pořádnými rysy, neprojektivně a druhý řád. Ale na druhou stranu, aby to taky někdy doběhlo. | * Natrénovat McDonaldův MST parser. Pokud možno s pořádnými rysy, neprojektivně a druhý řád. Ale na druhou stranu, aby to taky někdy doběhlo. | ||
- | | + | * Zkusit |
- | | + | |
* Natrénovat Malt parser a mezi rysy mu přidat hypotézu od MST (parser MST-Malt podle Joakimova a Ryanova článku). | * Natrénovat Malt parser a mezi rysy mu přidat hypotézu od MST (parser MST-Malt podle Joakimova a Ryanova článku). | ||
* To znamená, že musím vybrat nejlepší parametry trénování MST, rozdělit trénovací data na 10 dílů, opakovaně natrénovat MST na devíti dílech a pustit ho na ten desátý. Pak musím rozhodnout, jakým způsobem se názor MST předloží Maltu. Musí to být rys položky na vstupu nebo na zásobníku. Asi nejjednodušší by bylo zavést rys, který pro každé slovo řekne značku jeho rodiče. V mnoha větách to bude ukazovat na více než jedno slovo, ale někde to snad pomůže. A pokud místo značky dáme slovo, mohla by být příliš řídká data. (Můžeme ale zavést dva rysy a dát tam obojí.) Index rodiče je jako rys k ničemu, protože hodnota má v každé větě jiný význam. Nejlepší by zřejmě bylo, kdybychom dokázali posuzovat dvě položky najednou (např. dvě horní položky v zásobníku) a říct, zda si MST parser myslí, že mezi nimi vede hrana. Ale to zase neumím popsat a je otázka, jestli to vůbec umí Malt parser, resp. ten jeho SVM rádce. | * To znamená, že musím vybrat nejlepší parametry trénování MST, rozdělit trénovací data na 10 dílů, opakovaně natrénovat MST na devíti dílech a pustit ho na ten desátý. Pak musím rozhodnout, jakým způsobem se názor MST předloží Maltu. Musí to být rys položky na vstupu nebo na zásobníku. Asi nejjednodušší by bylo zavést rys, který pro každé slovo řekne značku jeho rodiče. V mnoha větách to bude ukazovat na více než jedno slovo, ale někde to snad pomůže. A pokud místo značky dáme slovo, mohla by být příliš řídká data. (Můžeme ale zavést dva rysy a dát tam obojí.) Index rodiče je jako rys k ničemu, protože hodnota má v každé větě jiný význam. Nejlepší by zřejmě bylo, kdybychom dokázali posuzovat dvě položky najednou (např. dvě horní položky v zásobníku) a říct, zda si MST parser myslí, že mezi nimi vede hrana. Ale to zase neumím popsat a je otázka, jestli to vůbec umí Malt parser, resp. ten jeho SVM rádce. | ||
Line 26: | Line 25: | ||
===== Výsledky ===== | ===== Výsledky ===== | ||
- | * Na malých hindských datech (1000 vět) hlásí, že našel 397875 rysů (je to stejné pro projektivní i neprojektivní model). | + | ==== Různé redukce značek ==== |
- | * Projektivní trénování trvalo 12 minut a model má necelých 6 MB. | + | |
- | * Neprojektivní trénování trvalo 18 minut a velikost modelu je podobná. | + | |
- | * Na velkých hindských datech (všechny věty) hlásí, že našel 2180868 rysů. | + | |
- | * Neprojektivní trénování trvalo 4 hodiny a model má necelých 35 MB. | + | |
- | * Přepracováno: | + | |
- | * Auto: trénování 9 minut, 641112 rysů, model 32 MB. | + | |
- | * Gold: trénování 20 minut, 2334346 rysů, model 131 MB. | + | |
- | mst nonproj o2 full | + | Je vhodné využívat formát dat CoNLL, který je i pro MST parser nyní výchozí. Při konverzi do původního formátu MST je nutné rozhodnout, co prohlásíme za morfologickou značku. Pokud nechceme zbytek informace zahodit, tak máme značky velmi dlouhé a neumožňujeme parseru vybrat si, jaká jejich část ho zajímá nejvíc. Naproti tomu ve formátu CoNLL bere MST parser 0.4.3b v úvahu všechny morfologické sloupce (CPOS, POS i FEAT), jak vyplývá z následujících pokusů. Zatím jsem nezkoumal, zda je schopen rozložit obsah sloupce FEAT na samostatné rysy. A nikdy jsem mu nedal kompletní rysy, vždy jsem je omezil buď na vibhakti + tam, nebo jsem je úplně vymazal. |
- | Labeled | + | |
- | Unlabeled attachment score: 20408 / 26416 * 100 = 77.26 % | + | |
- | Label accuracy score: | + | |
- | mst nonproj o2 1000 | + | Zlatý standard morfologie, trénování na 1000 větách, neprojektivní MST parser 2. řádu. Střídavě jsem redukoval nebo mazal (nahrazoval podtržítkem) hodnoty v různých sloupcích. Parser na všechny tyto změny reagoval a pokaždé dosáhl jiné úspěšnosti. To znamená, že všechny tyto sloupce bere při trénování v úvahu. |
- | Labeled | + | |
- | Unlabeled attachment score: 20335 / 26416 * 100 = 76.98 % | + | |
- | Label accuracy score: | + | |
- | Parser zřejmě použil jako part of speech sloupec CoNLL POS (nikoli | + | ^ CPOS ^ POS ^ FEAT ^ UAS ^ LA ^ LAS ^ Model ^ Rysů ^ Čas učení ^ |
+ | | ano | ano | vibhakti + tam | 91.78 | 79.76 | 77.73 | 131 MB 9.12.2012 23:31:04 | 2 334 346 | 11 min | | ||
+ | | ano | ano | ne | 88.47 | 77.52 | 75.55 | 56 MB 9.12.2012 23:32:15 | 1 130 847 | 12 min | | ||
+ | | ano | ne | vibhakti + tam | 90.47 | 68.65 | 66.64 | 128 MB 10.12.2012 9:10:05 | 2 246 768 | 11 min | | ||
+ | | ne | ano | vibhakti + tam | 88.11 | 77.83 | 74.62 | 127 MB 10.12.2012 9:13:08 | 2 234 096 | 14 min | | ||
- | Přepracováno auto | + | ==== training-k ==== |
- | Labeled | + | |
- | Unlabeled attachment score: 22848 / 26416 * 100 = 86.49 % | + | |
- | Label accuracy score: | + | |
- | Přepracováno gold | + | Ambati et al. použili 2. řád a training-k:5. Zkoušel jsem porovnat training-k:5 a výchozí nastavení (neřeknu nic, čili podle souboru README platí training-k:1). Výstup na dtestu se nelišil ani v jediné závislosti. Parametr training-k jsem ovšem předával pouze při učení, předpokládám, |
- | Labeled | + | |
- | Unlabeled attachment score: 22568 / 26416 * 100 = 85.43 % | + | |
- | Label accuracy score: 19832 / 26416 * 100 = 75.08 % | + | |
====== ICON 2009 NLP Tools Contest ====== | ====== ICON 2009 NLP Tools Contest ====== |