[ 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:dz-parser:icon [2009/10/21 21:23]
zeman Jak dlouhé jsou věty?
user:zeman:dz-parser:icon [2009/10/28 18:41]
zeman
Line 25: Line 25:
 Následující statistiky pocházejí ze souborů pro dtrénink s automatickou morfologií: Následující statistiky pocházejí ze souborů pro dtrénink s automatickou morfologií:
  
-| Jazyk | Výskytů slov | Tvarů | Lemmat | ChunkPOS | POS+case+postpos | FEATS | +| Jazyk | Výskytů slov | Tvarů | Lemmat | ChunkPOS | POS | POS+case+postpos | FEATS | 
-| hindština | 13779 | 3973 | 3134 | 10 | 297 | 714 | +| hindština | 13779 | 3973 | 3134 | 10 | 33 | 297 | 714 | 
-| bengálština | 6449 | 2997 | 2336 | 14 | 398 | 367 | +| bengálština | 6449 | 2997 | 2336 | 14 | 30 | 398 | 367 | 
-| telugština | 5494 | 2462 | 1403 | 12 | 409 | 453 |+| telugština | 5494 | 2462 | 1403 | 12 | 31 | 409 | 453 | 
 + 
 +Statistiky v tabulce byly získány následujícím příkazem: 
 + 
 +<code bash>$TOOLS/conll_pocet_hodnot_sloupec.pl 4 < hi/dtrain.mconll</code> 
 + 
 +==== Naivní telugu ==== 
 + 
 +V&nbsp;telugských stromech jsem vypozoroval extrémní důsledek slovosledu SOV: poměrně často se stává, že poslední slovo věty visí na kořeni (typicky je to zřejmě sloveso) a většina ostatních slov visí na něm. Pro hindštinu a bengálštinu už to neplatí. Následující tabulka ukazuje podíl uzlů v jednotlivých datových souborech, které visely "naivně telugsky" (tj. pokud šlo o poslední uzel, visel na kořeni, jinak na posledním uzlu). Vzhledem k&nbsp;tomu, že na telugštině jinak dosahuju nejnižší úspěšnosti, by se tohle mělo nějak využít. 
 + 
 +| Jazyk | dtrain | dtest | 
 +| hi | 35.71 | 34.64 | 
 +| bn | 39.52 | 44.14 | 
 +| te | 73.75 | 76.89 | 
 + 
 + 
 +===== Analýza chyb =====
  
 Takhle se z morfologických indických dat vyrobí soubor pro Tred, který obsahuje indické písmo místo WX: Takhle se z morfologických indických dat vyrobí soubor pro Tred, který obsahuje indické písmo místo WX:
  
 <code>cat hi/dtest.rmconll | conll_wc2utf.pl -l hi | $TOOLS/conll2csts.pl -y 2006 -l hi | perl -pe 's/<t>\S+\t/<t>/; s/\t.*?</</;' | cstsfs.pl > hi/dtest.fs</code> <code>cat hi/dtest.rmconll | conll_wc2utf.pl -l hi | $TOOLS/conll2csts.pl -y 2006 -l hi | perl -pe 's/<t>\S+\t/<t>/; s/\t.*?</</;' | cstsfs.pl > hi/dtest.fs</code>
 +
 +Důležitou součástí výše uvedeného příkazu je perlový kód, který maže tabulátory ze značek, jinak se na výsledek nedá v&nbsp;Tredu koukat. Tady je varianta pro výstup parseru:
 +
 +<code>cat hi/dtest.voted.rconll | conll_wc2utf.pl -l hi | $TOOLS/conll2csts.pl -y 2006 -l hi | perl -pe 's/<t>\S+\t/<t>/; s/\t.*?</</;' | cstsfs.pl > hi/dtest.voted.fs</code>
 +
 +A takhle spojíme vzorovou anotaci s&nbsp;výstupem parseru, abychom viděli chyby:
 +
 +<code>conll_pokusy.pl -l hi -t -g hi/dtest.mconll -s hi/dtest.voted.rconll | cstsfs.pl -s dzchyby > hi/dtest.voted.fs</code>
 +
 +Není pravda, že ze značky POS jednoznačně vyplývá značka chunku. Proto bych měl parserům poskytnout obě značky, může jim to pomoct. Např. v&nbsp;bengálské větě "(3) তবে / tabé সুদীপ / sudípa ওকে / óké একদিন / ékadina আড়ালে / áđa়াlé ডেকে / đéké বলেছিল / baléčhila কৌতূহল / kautúhala দেখালে / dékhálé তুমি / tumi উঁচুতে / um̃čuté উঠতে / uţhaté অনিমেষ / animéša" jsou slova "déké" a "dékhálé" značena jako "VGNF|VM" (zřejmě gerundium), zatímco "baléčhila" a "uthaté" jsou "VGF|VM". Pokud parser u všech vidí jen "VM", pak není divu, že v té větě nasekal několik divokých chyb.
 +
 +V&nbsp;hindštině se často na chybách podílí uzel NULL. Spočítat, kolik takových uzlů ve kterém jazyce je.
 +
 +Přinejmenším častá slova by měla být pro parsery viditelná jako samostatný rys uzlu. Např. hindské "कि / ki" ("že") se mi zavěsilo špatně a kdo ví, jestli to není jen proto, že parser viděl pouze značku "CC". Podobně "तो / tó" má taky značku "CC", ale jeho zavěšování asi bude o dost jiné.
 +
 +Úspěšnost přes 85&nbsp;% je poměrně vysoká a je těžké v&nbsp;těch občasných chybách vysledovat nějaké pravidlo. Přinejmenším v&nbsp;hindštině se mi ale zdá, že často jde o chyby se slovesy či spojkami (koordinace sloves) a často na velkou vzdálenost.
 +
 +Je potřeba přinejmenším Malt parseru, ale pokud to jde, tak i MST parseru předhodit podrobnější rysy, aby parser mohl pracovat zvlášť např. s&nbsp;lemmatem a zvlášť s&nbsp;pádem a sám se rozhodnout, ve kterém případě mu co pomáhá víc.
 +
 +===== Výsledky =====
  
 První výsledky DZ Parseru na vývojových datech: První výsledky DZ Parseru na vývojových datech:
Line 131: Line 167:
 Otázka je, jestli by si lépe vedly i Malt parser a MST parser, ale to vyzkouším až později. Otázka je, jestli by si lépe vedly i Malt parser a MST parser, ale to vyzkouším až později.
 Pozoruhodné je, že zhoršený DZ Parser zlepšuje výsledek hlasování, na kterém se podílí! Pozoruhodné je, že zhoršený DZ Parser zlepšuje výsledek hlasování, na kterém se podílí!
 +
 +Nové váhy parserů při hlasování (20.10.2009 13:26, DZ parser teď na všechno používá pád a záložku, Malt parser používá POSTAG s pádem a záložkou pro hindštinu, jinde používá CPOSTAG, MST Parser používá všude POSTAG s pádem a záložkou):
 +
 +unlabeled MST:MALT:DZ
 +hi 8616:8584:7512
 +bn 8570:8471:5438
 +te 7985:8089:4578
 +
 +labels MST:MALT:DZ
 +hi 6816:6704:5960
 +bn 6967:6215:5314
 +te 5526:4904:4400
 +
 +===== Neprojektivity =====
  
 21:57 lrc-two:/ha/work/people/zeman/icon-parsing/work> cat hi/dtrain.conll hi/dtest.conll | $TOOLS/neproj.pl 21:57 lrc-two:/ha/work/people/zeman/icon-parsing/work> cat hi/dtrain.conll hi/dtest.conll | $TOOLS/neproj.pl
Line 159: Line 209:
   Unlabeled attachment score: 947 / 1250 * 100 = 75.76 %   Unlabeled attachment score: 947 / 1250 * 100 = 75.76 %
   Label accuracy score:       685 / 1250 * 100 = 54.80 %   Label accuracy score:       685 / 1250 * 100 = 54.80 %
- 
-Nové váhy parserů při hlasování (20.10.2009 13:26, DZ parser teď na všechno používá pád a záložku, Malt parser používá POSTAG s pádem a záložkou pro hindštinu, jinde používá CPOSTAG, MST Parser používá všude POSTAG s pádem a záložkou): 
- 
-unlabeled MST:MALT:DZ 
-hi 8616:8584:7512 
-bn 8570:8471:5438 
-te 7985:8089:4578 
- 
-labels MST:MALT:DZ 
-hi 6816:6704:5960 
-bn 6967:6215:5314 
-te 5526:4904:4400 
  

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