Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:malt-parser [2012/06/28 09:06] zeman Velikosti dat. |
user:zeman:malt-parser [2013/07/11 18:41] zeman Aktualizace úkolů. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Malt parser ====== | + | ====== Malt parser: pokusy s PDT 2.0 ====== |
http:// | http:// | ||
- | Rychlý úvod do práce s Malt parserem, který tu dřív byl, už neplatí, protože se týkal starého | + | Od května 2012 používám |
- | Aktualizace květen 2012: Malt Parser 1.7.1 jsem právě rozbalil do ''/ | + | Podle Joakima trénování na celém PDT trvá 3 až 5 dní, a to ještě jen při použití splitting triku (bez něj několik týdnů). Trénování SVM má kvadratickou složitost vzhledem k& |
- | ===== Pokusy | + | Celá trénovací data mají 68562 vět (někde mám chybně uvedeno 68563 kvůli nejasnostem |
- | Malt 1.3. Podle Joakima trénování na celém PDT trvá 3 až 5 dní, a to ještě jen při použití splitting triku (bez něj několik týdnů). Trénování SVM má kvadratickou složitost vzhledem k& | + | ===== Jak se to pouští? ===== |
- | Celá trénovací data mají 68563 vět. Testování | + | * Přejít do adresáře ''/ |
+ | * Skript '' | ||
+ | * Složka ''/ | ||
+ | * Dosud neexistuje žádný Makefile. Pouštělo se to pomocí skriptu '' | ||
- | ==== BEST: Javová implementace libsvm, splitting trick ==== | + | ===== Co dál? ===== |
+ | |||
+ | * Upravit švédskou definici rysů, aby fungovala i s& | ||
+ | * Odladit '' | ||
+ | * Jestli nakonec nějak prorazím, bude potřeba opět učesat obalovací skripty. Mj. jsem přišel na to, že ve většině svých skriptů používám jako dočasný adresář ''/ | ||
+ | * Vyhodnotit to ještě i na e-testu a připsat to na stránku o českém parsingu. | ||
+ | * Zkusit hlasování pětitisícových kusů. | ||
+ | |||
+ | ===== Nové výsledky s Malt Parserem 1.7 ===== | ||
+ | |||
+ | Měl jsem dva cíle: 1. Natrénovat nové modely, protože ty staré nejsou kompatibilní s novou verzí parseru, a 2. získat výsledky na e-testu, protože dosud jsem pracoval jen s d-testem. I když jsem novou verzi parseru pouštěl se stejnými parametry jako před třemi lety tu starou, dostal jsem jiné výsledky (nepatrně horší). | ||
+ | |||
+ | D-test (9270 vět): | ||
+ | LAS = 80,04 % | ||
+ | UAS = 85,96 % | ||
+ | LAB = 86,43 % | ||
+ | Běželo na stroji lucifer5 (Intel Xeon 2394 GHz) s vyhrazenými 30 GB paměti: | ||
+ | learning time (na trénovacích datech) = 139 hodin, tj. necelých 6 dní | ||
+ | parsing time = 7 hodin (25559301 ms), tj. 1 věta průměrně za 2,76 s | ||
+ | |||
+ | E-test (10148 vět): | ||
+ | LAS = 79,80 % | ||
+ | UAS = 85,76 % | ||
+ | LAB = 86,24 % | ||
+ | Běželo na stroji hydra1 (AMD Opteron 2518 GHz) s vyhrazenými 30 GB paměti: | ||
+ | learning time (na trénovacích a d-test datech) = 221 hodin, tj. něco přes 9 dní | ||
+ | parsing time = 9 hodin (34135285 ms), tj. 1 věta průměrně za 3,36 s | ||
+ | |||
+ | ===== BEST: Javová implementace libsvm, splitting trick ===== | ||
Vyžaduje více času a paměti než céčková implementace, | Vyžaduje více času a paměti než céčková implementace, | ||
Line 36: | Line 67: | ||
Tohle je nejlepší výsledek, jaký jsem zatím s Malt parserem dosáhl, ale se splitting trickem (viz níže) je to téměř stejné a ušetří se dva dny času. | Tohle je nejlepší výsledek, jaký jsem zatím s Malt parserem dosáhl, ale se splitting trickem (viz níže) je to téměř stejné a ušetří se dva dny času. | ||
- | ==== Bez splitting tricku ==== | + | ===== Bez splitting tricku |
Trénování bez " | Trénování bez " | ||
Line 49: | Line 80: | ||
| stackeager | 39 dní 11 hodin 38 minut (3375472 s) | 227927 s (63:19 hodin) | 1 věta / 24,6 s | 82,93 % | | | stackeager | 39 dní 11 hodin 38 minut (3375472 s) | 227927 s (63:19 hodin) | 1 věta / 24,6 s | 82,93 % | | ||
- | ==== Nastavení od Švédů ==== | + | ===== Nastavení od Švédů |
26.3.2010 po měsíci další pokus pustit to na datech upravených stejným způsobem a se stejnými rysy jako Joakim a Marco. | 26.3.2010 po měsíci další pokus pustit to na datech upravených stejným způsobem a se stejnými rysy jako Joakim a Marco. | ||
Line 75: | Line 106: | ||
< | < | ||
- | ==== Trénování větších modelů s céčkovou implementací libsvm padá ==== | + | ===== Trénování větších modelů s céčkovou implementací libsvm padá ===== |
Chybu hlásí '' | Chybu hlásí '' | ||
Line 87: | Line 118: | ||
Joakim navrhuje, abychom zkusili dělení zjemnit, např. místo CPOSTAGu dělit modely podle slovního poddruhu (druhá pozice české značky). Pak by dílčí modely byly menší a libsvm by třeba nespadlo. Ve skutečnosti budu asi muset zjemňovat jiným způsobem, protože právě u podstatných jmen žádné zvláštní dělení na poddruhy neexistuje. Mohly by ale pomoct pády. | Joakim navrhuje, abychom zkusili dělení zjemnit, např. místo CPOSTAGu dělit modely podle slovního poddruhu (druhá pozice české značky). Pak by dílčí modely byly menší a libsvm by třeba nespadlo. Ve skutečnosti budu asi muset zjemňovat jiným způsobem, protože právě u podstatných jmen žádné zvláštní dělení na poddruhy neexistuje. Mohly by ale pomoct pády. | ||
- | ==== Trénovací data rozsekaná na pětitisícové úseky ==== | + | ===== Trénovací data rozsekaná na pětitisícové úseky |
| N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Poznámka | | | N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Poznámka | | ||
Line 105: | Line 136: | ||
| 65000-68562 | 1032115 | 12:43 min | | | 79,69 % | | | | 65000-68562 | 1032115 | 12:43 min | | | 79,69 % | | | ||
- | ==== Splitting trick podle slovního poddruhu, jlibsvm ==== | + | ===== Splitting trick podle slovního poddruhu, jlibsvm |
Snižuje časovou náročnost, | Snižuje časovou náročnost, | ||
Line 126: | Line 157: | ||
| full | 1177879 | 8 dní 7 h | 38957 s = 10:49 h | 1 věta / 4,20 s | 86,02 % | 27.4.-6.5.2010 | | | full | 1177879 | 8 dní 7 h | 38957 s = 10:49 h | 1 věta / 4,20 s | 86,02 % | 27.4.-6.5.2010 | | ||
- | ==== Stackeager, java libsvm, švédské rysy ==== | + | ===== Stackeager, java libsvm, švédské rysy ===== |
< | < | ||
Line 165: | Line 196: | ||
| full | 1474032 | 8 dní 6 h | 40110 s = 11:09 h | 1 věta / 4,33 s | 85,94 % | 2.-11.6.2010 | | | | full | 1474032 | 8 dní 6 h | 40110 s = 11:09 h | 1 věta / 4,33 s | 85,94 % | 2.-11.6.2010 | | | ||
- | ==== Stackproj, java libsvm, švédské rysy ==== | + | ===== Stackproj, java libsvm, švédské rysy ===== |
< | < | ||
Line 204: | Line 235: | ||
| full | 1474119 | 7 dní 11 h | 36260 s = 10:04 h | 1 věta / 3,91 s | 81,88 % | 7.-15.6.2010 | | | | full | 1474119 | 7 dní 11 h | 36260 s = 10:04 h | 1 věta / 3,91 s | 81,88 % | 7.-15.6.2010 | | | ||
- | ==== Covproj / covnonproj / nivrestandard / nivreeager, java libsvm, švédské rysy ==== | + | ===== Covproj / covnonproj / nivrestandard / nivreeager, java libsvm, švédské rysy ===== |
Všechny trénovací procesy hlásí "The function cannot be initialized." | Všechny trénovací procesy hlásí "The function cannot be initialized." | ||
- | |||
- | ==== Co dál? ==== | ||
- | |||
- | * Upravit švédskou definici rysů, aby fungovala i s& | ||
- | * Odladit '' | ||
- | * Jestli nakonec nějak prorazím, bude potřeba opět učesat obalovací skripty. Mj. jsem přišel na to, že ve většině svých skriptů používám jako dočasný adresář ''/ | ||
- | * Vyhodnotit to ještě i na e-testu a připsat to na stránku o českém parsingu. | ||
- | * Zkusit hlasování pětitisícových kusů. | ||