[ 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

Next revision
Previous revision
Next revision Both sides next revision
user:zeman:dz-parser:conll [2007/03/29 23:13]
zeman vytvořeno
user:zeman:dz-parser:conll [2008/03/28 16:44]
zeman Zapnutá úprava morfologických značek a selektivní lexikalizace.
Line 1: Line 1:
-====== Pokusy s DZ Parserem pro CoNLL 2007 ======+====== Pokusy s DZ Parserem pro CoNLL ======
  
-Musíme odeslat angličtinu!+Tato stránka původně vznikla jako záznam o tom, jakým způsobem jsem spouštěl parser během soutěže v parsingu CoNLL 2007, abych tyto pokusy dokázal zopakovat. Postupně se mění na stránku o pokusech s [[internal:data-conll|daty CoNLL]] obecně (nejen 2007). Data leží v ''/net/data/conll''. Parser odsud čte, ale nepíše sem. Pro soubory související se syntaktickou analýzou těchto dat mám samostatnou složku ''/net/work/people/zeman/conll-dzparser''
 + 
 +===== Proměnné ===== 
 + 
 +Používám proměnné prostředí, které mám nastavené ve svém ''.cshrc'' takto: 
 + 
 +<code>setenv PARSINGROOT /net/work/people/zeman/parsing 
 +setenv TOOLS $PARSINGROOT/tools 
 +setenv INTERSET ~zeman/projekty/interset 
 +setenv PARSER ~zeman/projekty/parser</code> 
 + 
 +Kromě toho mám ve své ''PATH'' přidáno ''$INTERSET/bin'' a v ''PERLLIB'' a ''PERL5LIB'' mám mj. ''$INTERSET/lib'' a ''$PARSINGROOT/lib''
 + 
 +Další proměnné, určené přímo pro rozbor dat CoNLL mým parserem: 
 + 
 +<code>setenv DATA /net/data/conll 
 +setenv OUTPUT /net/work/people/zeman/conll-dzparser</code> 
 + 
 +===== Zpracování ===== 
 + 
 +Každý jazyk zkouším zpracovat jednak s&nbsp;původními značkami, jednak se značkami převedenými do české sady PDT. Základní zpracování (bez přiřazování syntaktických značek) předpokládá pouze dva kroky: natrénování modelu na průběžných trénovacích datech a jeho otestování na průběžných testovacích datech. U základního zpracování používáme výchozí, jazykově nezávislé nastavení parseru. 
 + 
 +<code>cd $OUTPUT 
 +setenv ROK 2007 
 +setenv JAZYK cs 
 +$PARSER/train.pl < $DATA/$ROK/$JAZYK/dtrain.csts > $JAZYK.stat 
 +($PARSER/parse.pl -m $JAZYK.stat < $DATA/$ROK/$JAZYK/dtest.csts > $JAZYK.dtest.dz.csts) >& $JAZYK.dtest.log</code> 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== Výsledky ===== 
 + 
 +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 značkami CoNLL (tabulátory, rysy oddělené svislítky). 
 + 
 +| Jazyk | Rok | A | G | B | P | 
 +| ar | 2006 | 3955 | 2527 | 1428 | 63,9 | 
 +| ar | 2007 | 5873 | 3813 | 2060 | 64,9 | 
 +| bg | 2006 | 4677 | 3380 | 1297 | 72,3 | 
 +| ca | 2007 | 10971 | 7978 | 2993 | 72,7 | 
 +| cs | 2006 | 5643 | 3617 | 2026 | 64,1 | 
 +| cs | 2007 | 5760 | 3981 | 1779 | 69,1 | 
 +| da | 2006 | 5470 | 3825 | 1645 | 69,9 | 
 +| de | 2006 | 5403 | 3877 | 1526 | 71,8 | 
 +| el | 2007 | 4874 | 3170 | 1704 | 65,0 | 
 +| en | 2007 | 9529 | 6725 | 2804 | 70,6 | 
 +| eu | 2007 | 4334 | 2538 | 1796 | 58,6 | 
 +| hu | 2007 | 5995 | 3733 | 2262 | 62,3 | 
 +| it | 2007 | 7643 | 5467 | 2176 | 71,5 | 
 +| ja | 2006 | 3384 | 2953 | 431 | 87,3 | 
 +| nl | 2006 | 6187 | 4561 | 1626 | 73,7 | 
 +| pt | 2006 | 6719 | 4959 | 1760 | 73,8 | 
 +| sl | 2006 | 4307 | 2529 | 1778 | 58,7 | 
 +| sv | 2006 | 7140 | 5071 | 2069 | 71,0 | 
 +| tr | 2007 | 6210 | 4011 | 2199 | 64,6 | 
 +| zh | 2006 | 1839 | 1286 | 553 | 69,9 | 
 +| zh | 2007 | 2277 | 1570 | 707 | 69,0 | 
 + 
 +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. selektivní lexikalizace není zapnuta, ale úprava (zkracování) značek ve výchozí konfiguraci omylem zapnuté bylo. I tak se občas dostal do značky tabulátor a takové značky se pak chybně ukládají ve statistice. Poslední sloupec říká, zda je změna úspěšnosti statisticky významná podle McNemarova testu na úrovni 0,05 (χ<html><sup>2</sup></html> ≥ 3,84). 
 + 
 +| Jazyk | Rok | Značky | A | G | B | P | SV | 
 +| ar | 2006 | CoNLL | 3955 | 2555 | 1400 | 64,6 | 
 +| ar | 2006 | PDT   | 3955 | 2595 | 1360 | 65,6 | ne | 
 +| ar | 2007 | CoNLL | 5873 | 3757 | 2116 | 64,0 | 
 +| ar | 2007 | PDT   | 5873 | 3793 | 2080 | 64,6 | ne | 
 +| bg | 2006 | CoNLL | 4677 | 3178 | 1499 | 67,9 | 
 +| bg | 2006 | PDT   | 4677 | 3338 | 1339 | 71,4 | ano | 
 +| cs | 2006 | CoNLL | 5643 | 3822 | 1821 | 67,7 | 
 +| cs | 2006 | PDT   | 5643 | 4050 | 1593 | 71,8 | ano | 
 +| cs | 2007 | CoNLL | 5760 | 4061 | 1699 | 70,5 | 
 +| cs | 2007 | PDT   | 5760 | 4294 | 1466 | 74,5 | ano | 
 +| da | 2006 | CoNLL | 5470 | 3792 | 1678 | 69,3 | 
 +| da | 2006 | PDT   | 5470 | 3804 | 1666 | 69,5 | ne | 
 +| en | 2007 | CoNLL | 9529 | 6163 | 3366 | 64,7 | 
 +| en | 2007 | PDT   | 9529 | 6254 | 3275 | 65,6 | ano | 
 +| sv | 2006 | CoNLL | 7140 | 5075 | 2065 | 71,1 | 
 +| sv | 2006 | PDT   | 7140 | 5232 | 1908 | 73,3 | ano | 
 +| zh | 2006 | CoNLL | 1839 | 1269 | 570 | 69,0 | 
 +| zh | 2006 | PDT   | 1839 | 1252 | 587 | 68,1 | ne | 
 +| zh | 2007 | CoNLL | 2277 | 1506 | 771 | 66,1 | 
 +| zh | 2007 | PDT   | 2277 | 1449 | 828 | 63,6 | ano | 
 + 
 +Převod značek do sady PDT pomohl všude kromě čínštiny, i když u některých jazyků změna nebyla statisticky významná. 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á. 
 + 
 +Následující tabulka je opravou té předchozí. Značky obsahující tabulátory už se ukládají správně, úprava značek je opravdu vypnutá. 
 + 
 +| Jazyk | Rok | Značky | A | G | B | P | SV | 
 +| ar | 2006 | CoNLL | 3955 | 2527 | 1428 | 63,9 | 
 +| ar | 2006 | PDT   | 3955 | 2640 | 1315 | 66,8 | ano | 
 +| ar | 2007 | CoNLL | 5873 | 3813 | 2060 | 64,9 | 
 +| ar | 2007 | PDT   | 5873 | 3771 | 2102 | 64,2 | ne | 
 +| bg | 2006 | CoNLL | 4677 | 3380 | 1297 | 72,3 | 
 +| bg | 2006 | PDT   | 4677 | 3331 | 1346 | 71,2 | ne | 
 +| cs | 2006 | CoNLL | 5643 | 3617 | 2026 | 64,1 | 
 +| cs | 2006 | PDT   | 5643 | 3618 | 2025 | 64,1 | ne | 
 +| cs | 2007 | CoNLL | 5760 | 3981 | 1779 | 69,1 | 
 +| cs | 2007 | PDT   | 5760 | 3952 | 1808 | 68,6 | ano | 
 +| da | 2006 | CoNLL | 5470 | 3825 | 1645 | 69,9 | 
 +| da | 2006 | PDT   | 5470 | 3858 | 1612 | 70,5 | ne | 
 +| en | 2007 | CoNLL | 9529 | 6725 | 2804 | 70,6 | 
 +| en | 2007 | PDT   | 9529 | 6236 | 3293 | 65,4 | ano | 
 +| sv | 2006 | CoNLL | 7140 | 5071 | 2069 | 71,0 | 
 +| sv | 2006 | PDT   | 7140 | 5181 | 1959 | 72,6 | ano | 
 +| zh | 2006 | CoNLL | 1839 | 1286 | 553 | 69,9 | 
 +| zh | 2006 | PDT   | 1839 | 1258 | 581 | 68,4 | ne | 
 +| zh | 2007 | CoNLL | 2277 | 1570 | 707 | 69,0 | 
 +| zh | 2007 | PDT   | 2277 | 1450 | 827 | 63,7 | ano | 
 + 
 +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, rysy oddělené svislítky). 
 + 
 +| Jazyk | Rok | A | G | B | P | 
 +| ar | 2006 | 3955 | 2543 | 1412 | 64,3 | 
 +| ar | 2007 | 5873 | 3512 | 2361 | 59,8 | 
 +| bg | 2006 | 4677 | 3178 | 1499 | 67,9 | 
 +| ca | 2007 | 10971 | 7670 | 3301 | 69,9 | 
 +| cs | 2006 | 5643 | 3158 | 2485 | 56,0 | 
 +| cs | 2007 | 5760 | 3379 | 2381 | 58,7 | 
 +| da | 2006 | 5470 | 3792 | 1678 | 69,3 | 
 +| de | 2006 | 5403 | 3702 | 1701 | 68,5 | 
 +| el | 2007 | 4874 | 3292 | 1582 | 67,5 | 
 +| en | 2007 | 9529 | 6163 | 3366 | 64,7 | 
 +| eu | 2007 | 4334 | 2531 | 1803 | 58,4 | 
 +| hu | 2007 | 5995 | 3962 | 2033 | 66,1 | 
 +| it | 2007 | 7643 | 5608 | 2035 | 73,4 | 
 +| ja | 2006 | 3384 | 2524 | 860 | 74,6 | 
 +| nl | 2006 | 6187 | 4519 | 1668 | 73,0 | 
 +| pt | 2006 | 6719 | 4941 | 1778 | 73,5 | 
 +| sl | 2006 | 4307 | 2748 | 1559 | 63,8 | 
 +| sv | 2006 | 7140 | 5073 | 2067 | 71,1 | 
 +| tr | 2007 | 6210 | 4040 | 2170 | 65,1 | 
 +| zh | 2006 | 1839 | 1269 | 570 | 69,0 | 
 +| zh | 2007 | 2277 | 1506 | 771 | 66,1 | 
 + 
 +===== Starší poznámky =====
  
 Postup zpracování jednoho jazyka CoNLL: Postup zpracování jednoho jazyka CoNLL:
Line 18: Line 158:
 $PARSINGROOT/tools/csts2conll.pl < $cesta/${xx}test.dz.a.csts > $cesta/${xx}test.dz.conll</code> $PARSINGROOT/tools/csts2conll.pl < $cesta/${xx}test.dz.a.csts > $cesta/${xx}test.dz.conll</code>
  
 +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á.
 +
 +<code>setenv parser ~zeman/projekty/parser
 +setenv cesta /net/data/conll/2006/chinese/sinica
 +setenv xx zh
 +$parser/train.pl < $cesta/${xx}dtrain.csts > $cesta/${xx}.stat
 +$parser/parse.pl -m $cesta/${xx}.stat < $cesta/${xx}dtest.csts > $cesta/${xx}dtest.dz.csts
 +~zeman/projekty/interset/bin/csts-zh-conll-cs-pdt.pl < $cesta/${xx}dtrain.csts > $cesta/${xx}dtrain.pdt.csts
 +~zeman/projekty/interset/bin/csts-zh-conll-cs-pdt.pl < $cesta/${xx}dtest.csts > $cesta/${xx}dtest.pdt.csts
 +$parser/train.pl < $cesta/${xx}dtrain.pdt.csts > $cesta/${xx}.pdt.stat
 +$parser/parse.pl -m $cesta/${xx}.pdt.stat < $cesta/${xx}dtest.pdt.csts > $cesta/${xx}dtest.pdt.dz.csts</code>
 +
 +
 +
 +
 +
 +===== Čeština 2006 =====
 +
 +<code>setenv cesta /net/data/conll/2006/czech/pdt
 +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/train.pl < $cesta/${xx}train.pdttags.csts > $cesta/${xx}.pdttags.stat
 +$PARSER/parse.pl -m $cesta/${xx}.pdttags.stat < $cesta/${xx}test.pdttags.csts > $cesta/${xx}test.pdttags.dz.csts</code>
 +
 +Výsledky (365 vět, které CoNLL dodalo jako testovací): A 5853 - G 4197 - B 1656 - P <html><span style='background:yellow'>71,71</span></html>&nbsp;%
 +
 +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.

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