[ 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
Next revision Both sides next revision
user:zeman:malt-parser [2010/04/01 22:44]
zeman 20000
user:zeman:malt-parser [2010/06/02 09:15]
zeman Aktualizace Co dál?
Line 105: Line 105:
  
 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.
- 
  
 ==== Javová implementace libsvm ==== ==== Javová implementace libsvm ====
  
-Předpokládá se, že vyžaduje více času a paměti. Podle dokumentace může dojít i k drobným odchylkám v úspěšnosti způsobeným odlišným zpracováním racionálních čísel. Mně se zatím zdá, že odchylky budou spíše značnéa to v neprospěch javové implementace.+Předpokládá se, že vyžaduje více času a paměti. Podle dokumentace může dojít i k drobným odchylkám v úspěšnosti způsobeným odlišným zpracováním racionálních čísel. 
 + 
 +| N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Datum | 
 +| 1000 | 1032117 | 2:38 min | 1252 s = 20:52 min | 1 věta / 0,14 s | 74,63 % | 6.4.2010 | 
 +| 2000 | 1032118 | 8:44 min | 2344 s = 39:03 min | 1 ta / 0,25 s | 77,73 % | 6.4.2010 | 
 +| 5000 | 1040063 | 48:07 min | 3956 s = 1:06 h | 1 věta / 0,43 s | 80,18 % | 12.4.2010 | 
 +| 10000 | 1032120 | 3:57 h | 7235 s = 2:01 h | 1 věta / 0,78 s | 82,11 % | 6.4.2010 | 
 +| 20000 | 1032121 | 16:45 h | 12979 s = 3:36 h | 1 věta / 1,40 s | 83,65 % | 6.-7.4.2010 | 
 +| 25000 | 1032122 | 27:43 h | 16500 s = 4:35 h | 1 věta / 1,78 s | 84,24 % | 6.-8.4.2010 | 
 +| 30000 | 1032123 | 47:21 h | 24255 s = 6:44 h | 1 věta / 2,62 s | 84,54 % | 6.-8.4.2010 | 
 +| 35000 | 1035249 | 2 dny 11:08 h | 21468 s = 5:58 h | 1 věta / 2,32 s | 84,89 % | 9.-12.4.2010 | 
 +| 40000 | 1035250 | 3 dny 10 min | 24582 s = 6:50 h | 1 věta / 2,65 s | 85,08 % | 9.-12.4.2010 | 
 +| 45000 | 1035251 | 4 dny 10:53 h | 33744 s = 9:22 h | 1 věta / 3,64 s | 85,35 % | 9.-14.4.2010 | 
 +| 50000 | 1035252 | 5 dní 19:32 h | 37140 s = 10:19 h | 1 věta / 4,01 s | 85,47 % | 9.-15.4.2010 | 
 +| 55000 | 1035258 | 7 dní 8:37 h | 40518 s = 11:15 h | 1 věta / 4,37 s | 85,65 % | 9.-17.4.2010 | 
 +| 60000 | 1035254 | 7 dní 4:55 h | 34374 s = 9:33 h | 1 věta / 3,71 s | 85,80 % | 9.-17.4.2010 | 
 +| 65000 | 1035255 | 5 dní 21:01 h | 31378 s = 8:43 h | 1 věta / 3,38 s | 85,96 % | 9.-15.4.2010 | 
 +| full | 1177906, 1305554 | 10 dní 4:40 h | 46999 s = 13:03 h | 1 věta / 5,07 s | 86,08 % | 27.4.-14.5.2010 | 
 + 
 +==== 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 |
-1000 1011450 37 s | | | | Spadlokód -1 není v tabulce symbolů. +00000-04999 1021425 | | | | 76,65 % | 
-2000 1011451 2:46 min 661 s = 11 min 1 věta / 0,07 s 74,10 % | | +05000-09999 1021426 | | | | 76,99 % | | 
-5000 1011452 17:45 min 1527 s = 25 min 1 věta / 0,16 s | 76,65 % | | +10000-14999 1021427 | | | | 76,47 % | | 
-10000 1011453 | | | | | Nerozeběhlo se. +15000-19999 1021428 | | | | 76,72 % | | 
-| 20000 | 1011454 6:23 h 5602 s = 1:33 h 1 věta / 0,60 s 79,90 % | | +| 20000-24999 1021429 | | | | 76,72 % | | 
-| 25000 | 1011455 | | | | | | +| 25000-29999 1021430 | | | | 76,80 % | | 
-| 30000 | 1011456 | | | | | Nerozeběhlo se. +| 30000-34999 1021431 | | | | 76,87 % | | 
-| 35000 | 1011457 | | | | | | +| 35000-39999 1021432 | | | | 76,94 % | | 
-| 40000 | 1011458 | | | | | | +| 40000-44999 1021433 | | | | 76,72 % | | 
-| 45000 | 1011459 | | | | | | +| 45000-49999 1021434 | | | | 76,98 % | | 
-| 50000 | 1011460 | | | | | | +| 50000-54999 1021435 | | | | 76,69 % | | 
-| 55000 | 1011461 | | | | | | +| 55000-59999 1021436 | | | | 76,96 % | | 
-| 60000 | 1011462 | | | | | | +| 60000-64999 1021437 | | | | 76,81 % | | 
-| 65000 | 1011463 | | | | | |+| 65000-68562 1021438 | | | | 75,86 % | |
  
 +Všechny díly se nakonec podařilo použít, čímž jsme definitivně vyvrátili, že by v trénovacích datech byla jedna nebo více vět, na kterých parser padá. Padání bylo asi opravdu způsobeno velikostí dílčích modelů v konkrétních případech.
 +
 +Zarážející je ale úspěšnost. Přinejmenším pro první pětitisícový úsek měla být s céčkovým libsvm 80 %, tak jaktože jsme teď vždy naměřili pod 77 %?
 +
 +=== Oprava 6.4.2010 ===
 +
 +Předcházející pokusy s javovou implementací byly omylem spuštěny s výchozí, nikoli s Marcovou definicí rysů, což by mohlo vysvětlovat tu nižší úspěšnost. Nyní tedy druhý pokus:
 +
 +| N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Poznámka |
 +| 00000-04999 | 1032102 | | | | | Nevysvětlitelná náhlá smrt během trénování. |
 +| 05000-09999 | 1032103 | 24:24 min | | | 80,59 % | |
 +| 10000-14999 | 1032104 | 31:56 min | | | 80,23 % | |
 +| 15000-19999 | 1032116 | 30:27 min | | | 80,52 % | |
 +| 20000-24999 | 1032106 | 21:35 min | | | 80,45 % | |
 +| 25000-29999 | 1032107 | | | | | Nevysvětlitelná náhlá smrt během trénování. |
 +| 30000-34999 | 1032108 | 28:30 min | | | 80,48 % | |
 +| 35000-39999 | 1032109 | | | | | Nevysvětlitelná náhlá smrt během trénování. |
 +| 40000-44999 | 1032110 | 19:17 min | | | 80,51 % | |
 +| 45000-49999 | 1032111 | 22:54 min | | | 80,62 % | |
 +| 50000-54999 | 1032112 | 22:31 min | | | 80,58 % | |
 +| 55000-59999 | 1032113 | | | | | Nevysvětlitelná náhlá smrt během trénování. |
 +| 60000-64999 | 1032114 | | | | | Nevysvětlitelná náhlá smrt během trénování. |
 +| 65000-68562 | 1032115 | 12:43 min | | | 79,69 % | |
 +
 +==== Splitting trick podle slovního poddruhu, jlibsvm ====
 +
 +| N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Datum |
 +| 1000 | 1177862 | 3:00 min | 1304 s = 21:43 min | 1 věta / 0,14 s | 73,81 % | 27.4.2010 |
 +| 2000 | 1177863 | 7:32 min | 1715 s = 28:35 min | 1 věta / 0,19 s | 76,98 % | 27.4.2010 |
 +| 5000 | 1177864 | 42:28 min | 3282 s = 54:42 min | 1 věta / 0,35 s | 79,86 % | 27.4.2010 |
 +| 10000 | 1177866 | 2:50 h | 5863 s = 1:38 h | 1 věta / 0,63 s | 81,63 % | 27.4.2010 |
 +| 20000 | 1177867 | 15:52 h | 13877 s = 3:51 h | 1 věta / 1,50 s | 83,28 % | 27.-28.4.2010 |
 +| 25000 | 1177868 | 21:02 h | 13345 s = 3:42 h | 1 věta / 1,44 s | 83,97 % | 27.-28.4.2010 |
 +| 30000 | 1177870 | 30:36 h | 15689 s = 4:21 h | 1 věta / 1,69 s | 84,23 % | 27.-28.4.2010 |
 +| 35000 | 1177871 | 39:04 h | | | | 27.4.2010 | Parsing selhal. |
 +| 40000 | 1177872 | 2 dny 8 h | 19298 s = 5:22 h | 1 věta / 2,08 s | 84,92 % | 27.-30.4.2010 |
 +| 45000 | 1177873 | 2 dny 20 h | 21907 s = 6:05 h | 1 věta / 2,36 s | 85,18 % | 27.-30.4.2010 |
 +| 50000 | 1177875 | 3 dny 14 h | 22805 s = 6:20 h | 1 věta / 2,46 s | 85,37 % | 27.4.-1.5.2010 |
 +| 55000 | 1177876 | 5 dní | 32512 s = 9:02 h | 1 věta / 3,51 s | 85,57 % | 27.4.-2.5.2010 |
 +| 60000 | 1177877 | 5 dní 20 h | 27429 s = 7:37 h | 1 věta / 2,96 s | 85,70 % | 27.4.-3.5.2010 |
 +| 65000 | 1177878 | 6 dní 4 h | 28112 s = 7:48 h | 1 věta / 3,03 s | 85,91 % | 27.4.-3.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 |
 +
 +==== Splitting trick podle slovního poddruhu, clibsvm ====
 +
 +| N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Datum | Poznámka |
 +| 1000 | 1177881 | 42 s | 939 s = 15:38 min | 1 věta / 0,10 s | 73,81 % | 27.4.2010 | |
 +| 2000 | 1177882 | 2:31 min | 1659 s = 27:39 min | 1 věta / 0,18 s | 76,98 % | 27.4.2010 | |
 +| 5000 | 1177883 | 17:52 min | 3324 s = 55:23 min | 1 věta / 0,36 s | 79,86 % | 27.4.2010 | |
 +| 10000 | 1177884 | 1:15 h | 5966 s = 1:39 h | 1 věta / 0,64 s | 81,63 % | 27.4.2010 | |
 +| 20000 | 1177901 | 5:32 h | 10843 s = 3:01 h | 1 věta / 1,17 s | 83,28 % | 27.4.2010 | První pokus 1177885 selhal, ale druhý doběhl. |
 +| 25000 | 1177886 | | | | | 27.4.2010 | Náhlá smrt. |
 +| 30000 | 1177887 | 17:21 h | 19860 s = 5:31 h | 1 věta / 2,14 s | 84,23 % | 27.-28.4.2010 |
 +| 35000 | 1177888 | 16:31 h | | | | 27.-28.4.2010 | Selhal parsing. |
 +| 40000 | 1177902 | | | | | 27.4.2010 | Náhlá smrt. |
 +| 45000 | 1177890 | | | | | 27.-28.4.2010 | Náhlá smrt. |
 +| 50000 | 1177904 | | | | | 27.4.2010 | Dva pokusy (1177891 a 904), zahynuly oba. |
 +| 55000 | 1177892 | | | | | 27.4.2010 | Náhlá smrt. |
 +| 60000 | 1177893 | | | | | 27.4.2010 | Náhlá smrt. |
 +| 65000 | 1177894 | | | | | 27.4.2010 | Náhlá smrt. |
 +| full | 1177895 | | | | | 27.4.2010 | Náhlá smrt. |
 +
 +==== Java liblinear ====
 +
 +| N | Úloha | Délka trénování | Délka parsingu | Rychlost parsingu | Úspěšnost | Datum | Poznámka |
 +| 1000 | 1305892 | 46 s | 58808 s = 16:20 h | 1 věta / 6,34 s | 69,82 % | 13.-14.5.2010 | |
 +| 2000 | 1305893 | 1:40 min | 60656 s = 16:51 h | 1 věta / 6,54 s | 72,01 % | 13.-14.5.2010 | |
 +| 5000 | 1306055 | 6:36 min | 112707 s = 31:18 h | 1 věta / 12,16 s | 73,71 % | 13.-14.5.2010 | |
 +| 10000 | 1306056 | 10:07 min | 64658 s = 17:57 h | 1 věta / 6,97 s | 74,49 % | 13.-14.5.2010 | |
 +| 20000 | 1306057 | 25:26 min | 68167 s = 18:56 h | 1 věta / 7,35 s | 75,00 % | 13.-14.5.2010 | |
 +| 25000 | 1306219 | 40:47 min | 117823 s = 32:44 h | 1 věta / 12,71 s | 75,11 % | 13.-14.5.2010 | |
 +| 30000 | 1306220 | 34:13 min | 66785 s = 18:33 h | 1 věta / 7,21 s | 75,41 % | 13.-14.5.2010 | |
 +| 35000 | 1306221 | 37:50 min | 66877 s = 18:35 h | 1 věta / 7,21 s | 75,66 % | 13.-14.5.2010 | |
 +| 40000 | 1306222 | 46:26 min | 65917 s = 18:19 h | 1 věta / 7,11 s | 75,88 % | 13.-14.5.2010 | |
 +| 45000 | 1306223 | 1:01 h | 69289 s = 19:15 h | 1 věta / 7,47 s | 76,11 % | 13.-14.5.2010 | |
 +| 50000 | 1306224 | 55:21 min | 66392 s = 18:27 h | 1 věta / 7,16 s | 76,28 % | 13.-14.5.2010 | |
 +| 55000 | 1306225 | 1:02 h | 67181 s = 18:40 h | 1 věta / 7,25 s | 76,40 % | 13.-14.5.2010 | |
 +| 60000 | 1306226 | 1:20 h | 69428 s = 19:17 h | 1 věta / 7,49 s | 76,59 % | 13.-14.5.2010 | |
 +| 65000 | 1306388 | 1:25 h | 70273 s = 19:31 h | 1 věta / 7,58 s | 76,58 % | 13.-14.5.2010 | |
 +| full | 1306389 | 1:07 h | 66396 s = 18:27 h | 1 věta / 7,16 s | 76,78 % | 13.-14.5.2010 | |
  
 ==== Co dál? ==== ==== Co dál? ====
  
-  * Pokusy, na kterých céčková verze ''libsvm'' havarovala, zkusit ještě s javovou verzí. (Již běží.) 
-  * Navrhnout jemnější dělení modelů ''libsvm'', aby modely 003 a 004 nebyly tak velké. Např. přidat slovní poddruh a pád. 
-  * Rozsekat trénovací data na 14 pětitisícových kusů a s každým z nich pustit trénink a parsing zvlášť. Spadnou některé? A mimochodem, jakou úspěšnost by dalo hlasování takto natrénovaných kusů? 
-  * Zkusit ''liblinear'' místo ''libsvm''. 
   * Odladit ''train.pl'', aby se výsledný soubor ''.mco'' dal rozbalovat. Možná mu vadí pouze ".mco" u volby ''-c''.   * Odladit ''train.pl'', aby se výsledný soubor ''.mco'' dal rozbalovat. Možná mu vadí pouze ".mco" u volby ''-c''.
   * 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ář ''/tmp'' místo Milanem důrazně doporučeného ''/mnt/h/tmp''. Např. na tauri10 jsem tak počmáral 4 GB a proces skončil, protože příslušný svazek byl plný. Tohle by se mj. mělo opravit i u skriptů pro Joshuu a dalších. Jinak jsem taky mohutně čachroval s žádostí o příděl paměti na clusteru (týká se i skriptu ''qsub.csh''), s konfigurací Maltu atd.   * 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ář ''/tmp'' místo Milanem důrazně doporučeného ''/mnt/h/tmp''. Např. na tauri10 jsem tak počmáral 4 GB a proces skončil, protože příslušný svazek byl plný. Tohle by se mj. mělo opravit i u skriptů pro Joshuu a dalších. Jinak jsem taky mohutně čachroval s žádostí o příděl paměti na clusteru (týká se i skriptu ''qsub.csh''), s konfigurací Maltu atd.
   * Vyhodnotit to ještě i na e-testu a připsat to na stránku o českém parsingu.   * 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ů.
 +

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