[ 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 [2013/06/12 13:30]
zeman
user:zeman:malt-parser [2013/07/11 18:33]
zeman Nové výsledky s Malt Parserem 1.7.
Line 9: Line 9:
 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 počtu trénovacích příkladů; těch z PDT vypadnou asi 3 milióny. 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 počtu trénovacích příkladů; těch z PDT vypadnou asi 3 milióny.
  
-Celá trénovací data mají 68563 vět. Testování je vždy na celém dtestu, tedy 9270 vět.+Celá trénovací data mají 68562 vět (někde mám chybně uvedeno 68563 kvůli nejasnostem s počítáním od nuly a od jedničky, ale teď jsem to kontroloval a dvojím způsobem přepočítával prázdné řádky v souboru ''dtrain.conll'' a je to opravdu 68562). Testování je vždy, když není řečeno jinak, na celém dtestu, tedy 9270 vět. Tam, kde je explicitně uvedeno testování na etestu, jde o 10148 vět.
  
 ===== Jak se to pouští? ===== ===== Jak se to pouští? =====
Line 16: Line 16:
   * Skript ''getdata.csh'', případně ''getdata.gold.csh'' (pokud chceme použít ručně zjednoznačněnou morfologii), nám vyrobí místní kopii trénovacích a testovacích dat, převedenou do formátu CoNLL. Jsou to data z PDT 2.0 (train, dtest a etest na analytické rovině) a já už je mám na toto místo zkopírované.   * Skript ''getdata.csh'', případně ''getdata.gold.csh'' (pokud chceme použít ručně zjednoznačněnou morfologii), nám vyrobí místní kopii trénovacích a testovacích dat, převedenou do formátu CoNLL. Jsou to data z PDT 2.0 (train, dtest a etest na analytické rovině) a já už je mám na toto místo zkopírované.
   * Složka ''/net/work/people/zeman/parsing/projects/maltpdt/uppsala-features'' obsahuje pokusy, ve kterých jsem se snažil co nejvíce přiblížit nastavení, které se nejvíce osvědčilo Joakimovi a jeho týmu v roce 2009. Příslušné soubory s definicemi rysů jsou ve složce ''/net/work/people/zeman/parsing/malt-parser/marco-kuhlmann-czech-settings''. Je tam také skript ''conll-pdttags2conll.pl'', kterým se patnáctimístné poziční značky PDT převedou na takové seznamy rysů a hodnot, jaké se používaly v soutěži CoNLL 2009.   * Složka ''/net/work/people/zeman/parsing/projects/maltpdt/uppsala-features'' obsahuje pokusy, ve kterých jsem se snažil co nejvíce přiblížit nastavení, které se nejvíce osvědčilo Joakimovi a jeho týmu v roce 2009. Příslušné soubory s definicemi rysů jsou ve složce ''/net/work/people/zeman/parsing/malt-parser/marco-kuhlmann-czech-settings''. Je tam také skript ''conll-pdttags2conll.pl'', kterým se patnáctimístné poziční značky PDT převedou na takové seznamy rysů a hodnot, jaké se používaly v soutěži CoNLL 2009.
 +  * Dosud neexistuje žádný Makefile. Pouštělo se to pomocí skriptu ''all.pl'', který rovnou odesílal úlohy na cluster. Každá složka s odlišným pokusem má svou mutaci tohoto skriptu. Každá odeslaná úloha se skládá ze tří částí: učení, rozbor testovacích dat a vyhodnocení.
  
 ===== Co dál? ===== ===== Co dál? =====
  
-  * Zjistit úspěšnost na e-testu a publikovat ji na stránce o českém parsingu. A možná tam publikovat i LAS, nejenom UAS.+  * Zjistit úspěšnost na e-testu a publikovat ji na stránce o českém parsingu. A možná tam publikovat i LAS, nejenom UAS. Teď rychle rozebrat e-test modelem natrénovaným na dtrainu. Výhledově ho ale srovnat s modelem natrénovaným na etrainu (tj. dtrain+dtest). 
 +    * **Puštěno 12.6.2013 ve 14:21:** <code>zeman@lrc2:/net/work/people/zeman/parsing/projects/maltpdt/uppsala-features/stacklazy/split-postag/jlibsvm$ qsub.pl mf=30g parse-e-test.sh</code> Zatím je to ve frontě kvůli HamleDTovi. Občas zkontrolovat! 
 +  * Vymyslet nějakou lepší strukturu složek, tohle je hodně hluboké a nepřehledné.
   * Upravit švédskou definici rysů, aby fungovala i s&nbsp;algoritmy ''nivrestandard'', ''nivreeager'', ''covproj'' a ''covnonproj''. Vše vyzkoušet opět na různě velkých trénovacích datech. Nikde není dáno, že právě ''stacklazy'' musí být nejúspěšnější algoritmus na PDT.   * Upravit švédskou definici rysů, aby fungovala i s&nbsp;algoritmy ''nivrestandard'', ''nivreeager'', ''covproj'' a ''covnonproj''. Vše vyzkoušet opět na různě velkých trénovacích datech. Nikde není dáno, že právě ''stacklazy'' musí být nejúspěšnější algoritmus na PDT.
   * 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''.
Line 25: Line 28:
   * 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ů.   * 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 ===== ===== BEST: Javová implementace libsvm, splitting trick =====

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