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:conll [2008/03/05 14:32] zeman Nefunguje. |
user:zeman:dz-parser:conll [2009/03/26 08:21] (current) zeman Úvod. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Pokusy s DZ Parserem pro CoNLL 2007 ====== | + | ====== Pokusy s DZ Parserem pro CoNLL ====== |
- | Musíme odeslat | + | CoNLL Shared Task je soutěž v& |
+ | |||
+ | Data leží v& | ||
+ | |||
+ | ===== Proměnné ===== | ||
+ | |||
+ | Používám proměnné prostředí, | ||
+ | |||
+ | < | ||
+ | setenv TOOLS $PARSINGROOT/ | ||
+ | setenv INTERSET ~zeman/ | ||
+ | setenv PARSER ~zeman/ | ||
+ | |||
+ | Kromě toho mám ve své '' | ||
+ | |||
+ | Další proměnné, určené přímo pro rozbor dat CoNLL mým parserem: | ||
+ | |||
+ | < | ||
+ | setenv OUTPUT / | ||
+ | |||
+ | ===== Zpracování ===== | ||
+ | |||
+ | Zpracování má dvě části. První se týká přípravy dat, jejich převodu do formátu CSTS apod. Tato část není bezprostředně závislá na konkrétním parseru a odehrává se přímo ve složce s& | ||
+ | |||
+ | Každý jazyk zkouším zpracovat jednak s& | ||
+ | |||
+ | < | ||
+ | setenv ROK 2007 | ||
+ | setenv JAZYK cs | ||
+ | $PARSER/ | ||
+ | ($PARSER/ | ||
+ | |||
+ | ===== Zpracování na clusteru ===== | ||
+ | |||
+ | V& | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | ===== Sémantika 2009 ===== | ||
+ | |||
+ | Aby vyhodnocení CoNLL 2009 fungovalo, musím do výsledků doplnit alespoň nějakou sémantiku, i kdyby třeba náhodně. | ||
+ | |||
+ | * Potřebuju skript, který bude asi pracovat přímo se souborem ve formátu CoNLL, protože v& | ||
+ | * Ve skutečnosti „tento skript“ znamená dva skripty, trénovací a anotační. | ||
+ | * Minimální požadavky na tento skript: | ||
+ | * Naučit se pro daný jazyk, jakých hodnot může nabývat pole PRED. Když už to budu dělat, asi bych se to mohl učit jako funkci lemmatu, protože na lemmatu to zjevně běžně závisí. | ||
+ | * Naučit se pro daný jazyk, jakých hodnot může nabývat pole APRED. | ||
+ | * Závisí na uzlu, pro nějž ho vyplňujeme (řídící) a na uzlu odpovídajícím sloupci, do nějž ho vyplňujeme (závislý), | ||
+ | * Do existujícího CoNLL souboru doplnit hodnoty PRED všude tam, kde FILLPRED = " | ||
+ | * Pro každou větu spočítat, kolik uzlů má nastaveno FILLPRED = " | ||
+ | * Zapamatovat si, které predikáty závisí na jiných predikátech (popř. si rovnou zapamatovat celý strom). U každého predikátu pak střelit nějakou hodnotu APRED do všech sloupců, které na něm závisí. Do ostatních vyplnit " | ||
+ | * Až tyhle skripty budou, zapracovat je do Makefilu a získat baseline výsledek pro všechny jazyky. | ||
+ | |||
+ | ===== Výsledky ===== | ||
+ | |||
+ | ==== Výchozí nastavení ==== | ||
+ | |||
+ | Následující tabulka ukazuje úspěšnost DZ parseru s výchozím nastavením na průběžných testovacích datech CoNLL, s původními neupravenými značkami CoNLL (tabulátory, | ||
+ | Úspěšnost parsingu s& | ||
+ | | Jazyk | Rok | P | | ||
+ | | ar | 2006 | 63.9 | | ||
+ | | ar | 2007 | 64.9 | | ||
+ | | bg | 2006 | 72.3 | | ||
+ | | ca | 2007 | 72.7 | | ||
+ | | ca | 2009 | 73.6 | | ||
+ | | cs | 2006 | 64.1 | | ||
+ | | cs | 2007 | 69.1 | | ||
+ | | cs | 2009 | 65.8 | | ||
+ | | da | 2006 | 69.9 | | ||
+ | | de | 2006 | 71.8 | | ||
+ | | de | 2009 | 72.3 | | ||
+ | | el | 2007 | 65.0 | | ||
+ | | en | 2007 | 70.6 | | ||
+ | | en | 2009 | 69.5 | | ||
+ | | es | 2009 | 71.8 | | ||
+ | | eu | 2007 | 58.6 | | ||
+ | | hu | 2007 | 62.3 | | ||
+ | | it | 2007 | 71.5 | | ||
+ | | ja | 2006 | 87.3 | | ||
+ | | ja | 2009 | 83.2 | | ||
+ | | nl | 2006 | 73.7 | | ||
+ | | pt | 2006 | 73.8 | | ||
+ | | sl | 2006 | 58.7 | | ||
+ | | sv | 2006 | 71.0 | | ||
+ | | tr | 2007 | 64.6 | | ||
+ | | zh | 2006 | 69.9 | | ||
+ | | zh | 2007 | 69.0 | | ||
+ | | zh | 2009 | 57.7 | | ||
+ | |||
+ | Následující tabulka srovnává výsledky s původními značkami CoNLL a výsledky se značkami PDT. Data jsou dtest. Nastavení parseru je výchozí, tj. úprava značek ani selektivní lexikalizace není zapnuta. Poslední sloupec říká, zda je změna úspěšnosti statisticky významná podle McNemarova testu na úrovni 0,05 (χ< | ||
+ | |||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 63.9 | 66.8 | lepší | ano (19.858476) | | ||
+ | | ar | 2007 | 64.9 | 64.2 | horší | ne (1.497453) | | ||
+ | | bg | 2006 | 72.3 | 71.2 | horší | ne (3.205607) | | ||
+ | | cs | 2006 | 64.1 | 64.1 | lepší | ne (0.007519) | | ||
+ | | cs | 2007 | 69.1 | 68.6 | horší | ano (3.948357) | | ||
+ | | da | 2006 | 69.9 | 70.5 | lepší | ne (2.082218) | | ||
+ | | de | 2006 | 71.8 | 67.5 | horší | ano (61.301887) | | ||
+ | | en | 2007 | 70.6 | 65.4 | horší | ano (227.951382) | | ||
+ | | pt | 2006 | 73.8 | 76.4 | lepší | ano (44.312588) | | ||
+ | | sv | 2006 | 71.0 | 72.6 | lepší | ano (12.763713) | | ||
+ | | zh | 2006 | 69.9 | 68.4 | horší | ne (1.574297) | | ||
+ | | zh | 2007 | 69.0 | 63.7 | horší | ano (22.360248) | | ||
+ | |||
+ | U čínštiny lze zhoršení snadno vysvětlit. Čínská sada značek se velmi liší od ostatních, do Intersetu se vejde jen nepatrný zlomek informace, kterou značky nesou, takže ztráta informace při převodu značek je mimořádně veliká. | ||
+ | |||
+ | ==== 01: zapnuté upravování značek a selektivní lexikalizace ==== | ||
+ | |||
+ | Následující tabulka ukazuje úspěšnost DZ parseru se zapnutou úpravou morfologických značek a selektivní lexikalizací na průběžných testovacích datech CoNLL, s původními značkami CoNLL (tabulátory, | ||
+ | |||
+ | | Jazyk | Rok | P | | ||
+ | | ar | 2006 | 64.3 | | ||
+ | | ar | 2007 | 59.8 | | ||
+ | | bg | 2006 | 67.9 | | ||
+ | | ca | 2007 | 69.9 | | ||
+ | | cs | 2006 | 56.0 | | ||
+ | | cs | 2007 | 58.7 | | ||
+ | | da | 2006 | 69.3 | | ||
+ | | de | 2006 | 68.5 | | ||
+ | | el | 2007 | 67.5 | | ||
+ | | en | 2007 | 64.7 | | ||
+ | | eu | 2007 | 58.4 | | ||
+ | | hu | 2007 | 66.1 | | ||
+ | | it | 2007 | 73.4 | | ||
+ | | ja | 2006 | 74.6 | | ||
+ | | nl | 2006 | 73.0 | | ||
+ | | pt | 2006 | 73.5 | | ||
+ | | sl | 2006 | 63.8 | | ||
+ | | sv | 2006 | 71.1 | | ||
+ | | tr | 2007 | 65.1 | | ||
+ | | zh | 2006 | 69.0 | | ||
+ | | zh | 2007 | 66.1 | | ||
+ | |||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 64.3 | 67.3 | lepší | ano (20.855670) | | ||
+ | | ar | 2007 | 59.8 | 66.7 | lepší | ano (149.962142) | | ||
+ | | bg | 2006 | 67.9 | 71.4 | lepší | ano (44.137931) | | ||
+ | | cs | 2006 | 56.0 | 71.6 | lepší | ano (597.483871) | | ||
+ | | cs | 2007 | 58.7 | 74.2 | lepší | ano (616.602151) | | ||
+ | | da | 2006 | 69.3 | 69.5 | lepší | ne (0.114286) | | ||
+ | | en | 2007 | 64.7 | 65.6 | lepší | ano (8.781548) | | ||
+ | | sv | 2006 | 71.1 | 73.1 | lepší | ano (24.144134) | | ||
+ | | zh | 2006 | 69.0 | 68.1 | horší | ne (1.000000) | | ||
+ | | zh | 2007 | 66.1 | 63.6 | horší | ano (8.950413) | | ||
+ | |||
+ | === Srovnání výchozího nastavení CoNLL s nastavením 01 PDT === | ||
+ | |||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 63.9 | 67.3 | lepší | ano (21.670630) | | ||
+ | | ar | 2007 | 64.9 | 66.7 | lepší | ano (9.078534) | | ||
+ | | bg | 2006 | 72.3 | 71.4 | horší | ne (1.904968) | | ||
+ | | cs | 2006 | 64.1 | 71.6 | lepší | ano (170.571020) | | ||
+ | | cs | 2007 | 69.1 | 74.2 | lepší | ano (85.242604) | | ||
+ | | da | 2006 | 69.9 | 69.5 | horší | ne (0.821288) | | ||
+ | | en | 2007 | 70.6 | 65.6 | horší | ano (176.765737) | | ||
+ | | sv | 2006 | 71.0 | 73.1 | lepší | ano (24.369923) | | ||
+ | | zh | 2006 | 69.9 | 68.1 | horší | ne (2.330645) | | ||
+ | | zh | 2007 | 69.0 | 63.6 | horší | ano (22.769829) | | ||
+ | |||
+ | |||
+ | ==== 02: navíc zakázané přeskakování bezdětných předložek ==== | ||
+ | | Jazyk | Rok | P | | ||
+ | | ar | 2006 | 64.3 | | ||
+ | | ar | 2007 | 59.8 | | ||
+ | | bg | 2006 | 68.0 | | ||
+ | | ca | 2007 | 69.9 | | ||
+ | | cs | 2006 | 56.1 | | ||
+ | | cs | 2007 | 58.7 | | ||
+ | | da | 2006 | 68.3 | | ||
+ | | de | 2006 | 68.5 | | ||
+ | | el | 2007 | 67.1 | | ||
+ | | en | 2007 | 63.8 | | ||
+ | | eu | 2007 | 58.4 | | ||
+ | | hu | 2007 | 62.3 | | ||
+ | | it | 2007 | 72.1 | | ||
+ | | ja | 2006 | 74.6 | | ||
+ | | nl | 2006 | 73.0 | | ||
+ | | pt | 2006 | 73.5 | | ||
+ | | sl | 2006 | 63.8 | | ||
+ | | sv | 2006 | 71.0 | | ||
+ | | tr | 2007 | 65.1 | | ||
+ | | zh | 2006 | 69.0 | | ||
+ | | zh | 2007 | 66.1 | | ||
+ | |||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 64.3 | 67.6 | lepší | ano (24.635569) | | ||
+ | | ar | 2007 | 59.8 | 66.9 | lepší | ano (162.665108) | | ||
+ | | bg | 2006 | 68.0 | 71.3 | lepší | ano (41.317073) | | ||
+ | | cs | 2006 | 56.1 | 71.4 | lepší | ano (583.183944) | | ||
+ | | cs | 2007 | 58.7 | 74.0 | lepší | ano (611.467919) | | ||
+ | | da | 2006 | 68.3 | 69.8 | lepší | ano (9.116809) | | ||
+ | | en | 2007 | 63.8 | 67.3 | lepší | ano (97.889876) | | ||
+ | | sv | 2006 | 71.0 | 73.5 | lepší | ano (38.126126) | | ||
+ | | zh | 2006 | 69.0 | 68.0 | horší | ne (1.249135) | | ||
+ | | zh | 2007 | 66.1 | 63.5 | horší | ano (9.836066) | | ||
+ | |||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 63.9 | 67.6 | lepší | ano (26.578554) | | ||
+ | | ar | 2007 | 64.9 | 66.9 | lepší | ano (12.122523) | | ||
+ | | bg | 2006 | 72.3 | 71.3 | horší | ne (2.198697) | | ||
+ | | cs | 2006 | 64.1 | 71.4 | lepší | ano (163.208696) | | ||
+ | | cs | 2007 | 69.1 | 74.0 | lepší | ano (78.750246) | | ||
+ | | da | 2006 | 69.9 | 69.8 | horší | ne (0.065772) | | ||
+ | | en | 2007 | 70.6 | 67.3 | horší | ano (80.847587) | | ||
+ | | sv | 2006 | 71.0 | 73.5 | lepší | ano (35.800000) | | ||
+ | | zh | 2006 | 69.9 | 68.0 | horší | ne (2.623482) | | ||
+ | | zh | 2007 | 69.0 | 63.5 | horší | ano (23.875776) | | ||
+ | |||
+ | ==== 03: navíc zapnuté modelování pseudovalence ==== | ||
+ | |||
+ | Úspěšnost parsingu s& | ||
+ | | Jazyk | Rok | P | | ||
+ | | ar | 2006 | 64.4 | | ||
+ | | ar | 2007 | 59.8 | | ||
+ | | bg | 2006 | 67.6 | | ||
+ | | ca | 2007 | 69.9 | | ||
+ | | cs | 2006 | 56.0 | | ||
+ | | cs | 2007 | 58.7 | | ||
+ | | da | 2006 | 68.3 | | ||
+ | | de | 2006 | 69.5 | | ||
+ | | el | 2007 | 67.2 | | ||
+ | | en | 2007 | 64.2 | | ||
+ | | eu | 2007 | 58.4 | | ||
+ | | hu | 2007 | 62.3 | | ||
+ | | it | 2007 | 72.2 | | ||
+ | | ja | 2006 | 74.9 | | ||
+ | | nl | 2006 | 73.2 | | ||
+ | | pt | 2006 | 73.5 | | ||
+ | | sl | 2006 | 63.8 | | ||
+ | | sv | 2006 | 71.0 | | ||
+ | | tr | 2007 | 65.2 | | ||
+ | | zh | 2006 | 67.5 | | ||
+ | | zh | 2007 | 64.6 | | ||
+ | |||
+ | Srovnání úspěšnosti parsingu s& | ||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 64.4 | 67.6 | lepší | ano (23.953216) | | ||
+ | | ar | 2007 | 59.8 | 67.0 | lepší | ano (165.491130) | | ||
+ | | bg | 2006 | 67.6 | 71.0 | lepší | ano (45.224638) | | ||
+ | | cs | 2006 | 56.0 | 71.4 | lepší | ano (587.655280) | | ||
+ | | cs | 2007 | 58.7 | 74.3 | lepší | ano (627.063764) | | ||
+ | | da | 2006 | 68.3 | 69.8 | lepší | ano (8.878214) | | ||
+ | | de | 2006 | 69.5 | 67.7 | horší | ano (9.841876) | | ||
+ | | en | 2007 | 64.2 | 67.9 | lepší | ano (110.976037) | | ||
+ | | pt | 2006 | 73.5 | 76.4 | lepší | ano (42.581187) | | ||
+ | | sv | 2006 | 71.0 | 73.2 | lepší | ano (27.717540) | | ||
+ | | zh | 2006 | 67.5 | 68.8 | lepší | ne (2.042553) | | ||
+ | | zh | 2007 | 64.6 | 64.6 | stejná | ne (0.000000) | | ||
+ | |||
+ | Totéž, ale parsing s& | ||
+ | | Jazyk | Rok | P(CoNLL) | P(PDT) | Změna | McNemar | | ||
+ | | ar | 2006 | 63.9 | 67.6 | lepší | ano (27.380000) | | ||
+ | | ar | 2007 | 64.9 | 67.0 | lepší | ano (12.949640) | | ||
+ | | bg | 2006 | 72.3 | 71.0 | horší | ne (3.688525) | | ||
+ | | cs | 2006 | 64.1 | 71.4 | lepší | ano (167.052632) | | ||
+ | | cs | 2007 | 69.1 | 74.3 | lepší | ano (87.422200) | | ||
+ | | da | 2006 | 69.9 | 69.8 | horší | ne (0.046272) | | ||
+ | | de | 2006 | 71.8 | 67.7 | horší | ano (54.691057) | | ||
+ | | en | 2007 | 70.6 | 67.9 | horší | ano (55.470000) | | ||
+ | | pt | 2006 | 73.8 | 76.4 | lepší | ano (34.848721) | | ||
+ | | sv | 2006 | 71.0 | 73.2 | lepší | ano (22.530318) | | ||
+ | | zh | 2006 | 69.9 | 68.8 | horší | ne (0.757576) | | ||
+ | | zh | 2007 | 69.0 | 64.6 | horší | ano (14.266376) | | ||
+ | |||
+ | ===== Která konfigurace je nejúspěšnější pro který jazyk? ===== | ||
+ | |||
+ | | Jazyk | Rok | orig df | pdt df | orig 03 | pdt 03 | | ||
+ | | ar | 2006 | 63.9 | 66.8 | 64.4 | 67.6 | | ||
+ | | ar | 2007 | 64.9 | 64.2 | 59.8 | 67.0 | | ||
+ | | bg | 2006 | 72.3 | 71.2 | 67.6 | 71.0 | | ||
+ | | ca | 2007 | 72.7 | | 69.9 | | | ||
+ | | cs | 2006 | 64.1 | 64.1 | 56.0 | 71.4 | | ||
+ | | cs | 2007 | 69.1 | 68.6 | 58.7 | 74.3 | | ||
+ | | da | 2006 | 69.9 | 70.5 | 68.3 | 69.8 | | ||
+ | | de | 2006 | 71.8 | 67.5 | 69.5 | 67.7 | | ||
+ | | el | 2007 | 65.0 | | 67.2 | | | ||
+ | | en | 2007 | 70.6 | 65.4 | 64.2 | 67.9 | | ||
+ | | eu | 2007 | 58.6 | | 58.4 | | | ||
+ | | hu | 2007 | 62.3 | | 62.3 | | | ||
+ | | it | 2007 | 71.5 | | 72.2 | | | ||
+ | | ja | 2006 | 87.3 | | 74.9 | | | ||
+ | | nl | 2006 | 73.7 | | 73.2 | | | ||
+ | | pt | 2006 | 73.8 | 76.4 | 73.5 | 76.4 | | ||
+ | | sl | 2006 | 58.7 | | 63.8 | | | ||
+ | | sv | 2006 | 71.0 | 72.6 | 71.0 | 73.2 | | ||
+ | | tr | 2007 | 64.6 | | 65.2 | | | ||
+ | | zh | 2006 | 69.9 | 68.4 | 67.5 | 68.8 | | ||
+ | | zh | 2007 | 69.0 | 63.7 | 64.6 | 64.6 | | ||
+ | |||
+ | ===== Starší poznámky ===== | ||
Postup zpracování jednoho jazyka CoNLL: | Postup zpracování jednoho jazyka CoNLL: | ||
Line 19: | Line 314: | ||
Takhle to pro čínštinu 2006 nefunguje. Jednak máme dtrain a dtest, jednak při zavolání z cesty s daty (ale s plnou cestou, jak je uvedeno výše) parser stávkuje a nenačte data ze standardního vstupu. Měl by alespoň vypsat cestu ke konfiguračnímu souboru, který používá. | Takhle to pro čínštinu 2006 nefunguje. Jednak máme dtrain a dtest, jednak při zavolání z cesty s daty (ale s plnou cestou, jak je uvedeno výše) parser stávkuje a nenačte data ze standardního vstupu. Měl by alespoň vypsat cestu ke konfiguračnímu souboru, který používá. | ||
+ | |||
+ | < | ||
+ | setenv cesta / | ||
+ | setenv xx zh | ||
+ | $parser/ | ||
+ | $parser/ | ||
+ | ~zeman/ | ||
+ | ~zeman/ | ||
+ | $parser/ | ||
+ | $parser/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Čeština 2006 ===== | ||
+ | |||
+ | < | ||
+ | setenv xx cs | ||
+ | cd $cesta | ||
+ | csts_convert_tags.pl -f cs::conll -t cs::pdt < cstrain.csts > cstrain.pdttags.csts | ||
+ | csts_convert_tags.pl -f cs::conll -t cs::pdt < cstest.csts > cstest.pdttags.csts | ||
+ | $PARSER/ | ||
+ | $PARSER/ | ||
+ | |||
+ | Výsledky (365 vět, které CoNLL dodalo jako testovací): | ||
+ | |||
+ | Parser (i trénování) byl spuštěn s výchozími parametry bez konfiguračního souboru. Neměl tušení, že zpracovává svůj rodný jazyk. Kromě toho, že testovací data jsou jiná (a podstatně menší), než jsem měl přímo při práci s PDT, také chybí přídavné informace u lemmat (protože je CoNLL částečně přesunulo do atributu Sem, jehož hodnotu jsem při převádění značek zpět na PDT zahodil). Parser z nich využíval informace o křestním jménu a příjmení. Na druhou stranu parseru mohlo pomoct, že pracujeme s ručně přiřazenými značkami. |