[ 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/11/19 15:49]
zeman Inventura seznamu věcí k udělání.
user:zeman:dz-parser:icon [2012/12/09 11:56]
zeman Verze MST parseru.
Line 1: Line 1:
 +====== Hindi Parsing Shared Task at COLING 2012 Mumbaī ======
 +
 +http://ltrc.iiit.ac.in/mtpil2012/
 +
 +===== Udělat =====
 +
 +  * Natrénovat McDonaldův MST parser. Pokud možno s pořádnými rysy, neprojektivně a druhý řád. Ale na druhou stranu, aby to taky někdy doběhlo.
 +    * Ambati et al. použili 2. řád a training-k:5.
 +    * Zkusit mu dát značky z jiného zdroje. Teď je to POS. Nabízí se CPOS, kombinace CPOS-POS, FEAT, nějaký výběr z FEAT (vibhakti a tam) nebo složitější kombinace výše uvedeného.
 +  * Natrénovat Malt parser a mezi rysy mu přidat hypotézu od MST (parser MST-Malt podle Joakimova a Ryanova článku).
 +    * To znamená, že musím vybrat nejlepší parametry trénování MST, rozdělit trénovací data na 10 dílů, opakovaně natrénovat MST na devíti dílech a pustit ho na ten desátý. Pak musím rozhodnout, jakým způsobem se názor MST předloží Maltu. Musí to být rys položky na vstupu nebo na zásobníku. Asi nejjednodušší by bylo zavést rys, který pro každé slovo řekne značku jeho rodiče. V mnoha větách to bude ukazovat na více než jedno slovo, ale někde to snad pomůže. A pokud místo značky dáme slovo, mohla by být příliš řídká data. (Můžeme ale zavést dva rysy a dát tam obojí.) Index rodiče je jako rys k ničemu, protože hodnota má v každé větě jiný význam. Nejlepší by zřejmě bylo, kdybychom dokázali posuzovat dvě položky najednou (např. dvě horní položky v zásobníku) a říct, zda si MST parser myslí, že mezi nimi vede hrana. Ale to zase neumím popsat a je otázka, jestli to vůbec umí Malt parser, resp. ten jeho SVM rádce.
 +  * Zkontrolovat normalizaci UTF-8 (dévanágarí).
 +  * Natrénovat samostatný značkovač syntaktických značek. Ambati et al.: MST labeler je blbej, použili maxent (http...lzhang, viz článek). A říkají tam, které rysy a uzly stromu od parseru zkoumali.
 +  * Potřebuju nějaké vyhledávadlo a zvýrazňovadlo chyb.
 +  * Opravit normalizaci pro HamleDT. Normalizace hindštiny prý dělá na nových datech mnohem více chyb (uzel pod Coord nemá is_member apod.) Mohly by mi pomoct Martinovy transformace koordinací?
 +
 +HTB verze 0,51: train 12041 sent, 268093 tok? (words), dev 1233 / 26416
 +
 +**MST parser:** V TectoMT share mají verzi 0.4.3b z října 2009 (''$TMT_ROOT/share/installed_tools/parser/mst/0.4.3b''). Já možná mám nebo jsem měl v ''~/nastroje/parsery'' totéž, ale soubor README se tváří, že by to měla být verze 0.5.0. Na [[http://sourceforge.net/projects/mstparser/|Sourceforge]] se tváří, že poslední aktualizace byla 23.1.2012 a verze se stále jmenuje 0.5.0. Resp. možná se tak jmenuje až tahle letošní, protože předcházející aktivita byla 6.5.2011, a to byla zveřejněna verze 0.4.3c. (A verze 0.4.3b ve skutečnosti podle Sourceforge pochází už z 4.4.2007.)
 +
 +Vyhodnotit samostatně
 +  * LAS vs. UAS
 +  * uvnitř chunku vs. mezi chunky
 +  * pro jednotlivé s-značky
 +
 +===== Výsledky =====
 +
 +mst nonproj o2 full
 +  Labeled   attachment score: 15503 / 26416 * 100 = 58.69 %
 +  Unlabeled attachment score: 20408 / 26416 * 100 = 77.26 %
 +  Label accuracy score:       16637 / 26416 * 100 = 62.98 %
 +
 +mst nonproj o2 1000
 +  Labeled   attachment score: 15624 / 26416 * 100 = 59.15 %
 +  Unlabeled attachment score: 20335 / 26416 * 100 = 76.98 %
 +  Label accuracy score:       16741 / 26416 * 100 = 63.37 %
 +
 +Parser zřejmě použil jako part of speech sloupec CoNLL POS (nikoli CPOS nebo FEAT).
 +
 ====== ICON 2009 NLP Tools Contest ====== ====== ICON 2009 NLP Tools Contest ======
  
Line 5: Line 44:
 ===== Zbývá udělat ===== ===== Zbývá udělat =====
  
-  * Vybrat SVN repozitářdo kterého tyto pokusy budu archivovat, vybrat soubory, které tam patří (Makefile, specifické skripty, vstupní data, soubory s vyhodnocením...) a dát je tam+  * Upravit makefile takabych mohl pouštět pokusy současně se starými i novými datyA aby se váhy hlasování automaticky upravovaly podle aktuální úspěšnosti dílčích parserů
-  * Více si pohrát s konfigurací Malt parseru. Zejména vyzkoušet všech 7 algoritmů.+  * Upravit makefile a/nebo skripty pro pouštění Malt parseru tak, aby Malt pro každý jazyk zvolil nejvhodnější algoritmus.
   * Více si pohrát s rysy. Naučit se parserům předhazovat rysy. U Malt parseru je to dobře zdokumentováno, u MST ne.   * Více si pohrát s rysy. Naučit se parserům předhazovat rysy. U Malt parseru je to dobře zdokumentováno, u MST ne.
   * Přidat jako rys chunk label, a to i pro DZ Parser.   * Přidat jako rys chunk label, a to i pro DZ Parser.
Line 13: Line 52:
   * Vyzkoušet neprojektivní parsing MST parserem.   * Vyzkoušet neprojektivní parsing MST parserem.
   * Zjistit, proč je tolik chyb v syntaktickém značkování, a vylepšit ho. Třeba pomocí nějakého toolkitu pro strojové učení (Mallet apod.) Uvědomit si, že na jednom slovesu zřejmě nemohou viset dvě káčka se stejnými čísly (karma-karta). Taky že většina sloves asi vyžaduje k1.   * Zjistit, proč je tolik chyb v syntaktickém značkování, a vylepšit ho. Třeba pomocí nějakého toolkitu pro strojové učení (Mallet apod.) Uvědomit si, že na jednom slovesu zřejmě nemohou viset dvě káčka se stejnými čísly (karma-karta). Taky že většina sloves asi vyžaduje k1.
 +  * Více si pohrát s konfigurací Malt parseru. 7 algoritmů už jsem vyzkoušel, ale některé z nich mají ještě další parametry (práce s kořenem apod.), které jsem neměnil.
   * Vyhodnotit křivku učení.   * Vyhodnotit křivku učení.
   * Vyhodnotit požadavky na procesor, paměť a disk (je třeba nejdříve rozchodit skript).   * Vyhodnotit požadavky na procesor, paměť a disk (je třeba nejdříve rozchodit skript).
   * Frekvenční slovníky, abych si trochu udělal představu o častých slovech, případně o jejich syntaktických zvláštnostech.   * Frekvenční slovníky, abych si trochu udělal představu o častých slovech, případně o jejich syntaktických zvláštnostech.
   * Průzkum dat: jak dlouhé jsou věty? Indové v dokumentaci nějaká čísla uvádějí, ale tam se slova počítají včetně záložek a možná i včetně interpunkce, takže neodpovídají počtu uzlů, které vidím v treebanku.   * Průzkum dat: jak dlouhé jsou věty? Indové v dokumentaci nějaká čísla uvádějí, ale tam se slova počítají včetně záložek a možná i včetně interpunkce, takže neodpovídají počtu uzlů, které vidím v treebanku.
 +  * Neučit se na hindštině a bengálštině dohromady? Jsou to přece podobné jazyky a data by se významně zvětšila!
  
 ===== Průzkum dat ===== ===== Průzkum dat =====
Line 41: Line 82:
 | bn | 39.52 | 44.14 | | bn | 39.52 | 44.14 |
 | te | 73.75 | 76.89 | | te | 73.75 | 76.89 |
 +
 +==== Nová data pro druhé kolo ====
 +
 +Pro druhé vyhodnocení pořadatelé připravili upravená data "with courser tags". Ukázalo se, že nejde o lepší informaci na morfologické rovině, která by případně mohla parsing usnadnit. Jde o syntaktické značky, které má parser produkovat spolu se závislostní strukturou. Otázka je, jestli jsou nové značky jednodušší, nebo složitější než ty staré, ale každopádně by měly ovlivnit výhradně značkovanou úspěšnost.
  
 ===== Analýza chyb ===== ===== Analýza chyb =====
Line 217: Line 262:
   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 %
 +
 +===== Parsovací algoritmy Malt parseru =====
 +
 +Zatím jsem neměnil root handling u Nivreho algoritmů (-r strict|relaxed|normal) a allow shift/root u Covingtona (-cs, -cr). Tohle jsou nejlepší hodnoty, kterých jsem dosáhl. Na každém jazyku vyhrál jiný algoritmus. Na hindštině Malt parser opět překonal MST, takže bude potřeba upravit váhy při hlasování. Současný výsledek Malt parseru je lepší než dosud nejlepší výsledek dosažený hlasováním!
 +
 +hi 87.60 stacklazy
 +bn 85.57 covproj
 +te 81.04 stackeager
 +
 +==== nivrestandard ====
 +
 +Hindština i bengálština vyšla zřetelně lépe než nivreeager, telugština si lehce pohoršila.
 +
 +Thu Nov 19 18:41:43 CET 2009
 +/net/work/people/zeman/icon-parsing/work/hi/dtest.malt.eval.txt
 +  Labeled   attachment score: 812 / 1250 * 100 = 64.96 %
 +  Unlabeled attachment score: 1082 / 1250 * 100 = 86.56 %
 +  Label accuracy score:       847 / 1250 * 100 = 67.76 %
 +Thu Nov 19 18:41:45 CET 2009
 +/net/work/people/zeman/icon-parsing/work/bn/dtest.malt.eval.txt
 +  Labeled   attachment score: 491 / 811 * 100 = 60.54 %
 +  Unlabeled attachment score: 693 / 811 * 100 = 85.45 %
 +  Label accuracy score:       509 / 811 * 100 = 62.76 %
 +Thu Nov 19 18:41:46 CET 2009
 +/net/work/people/zeman/icon-parsing/work/te/dtest.malt.eval.txt
 +  Labeled   attachment score: 304 / 675 * 100 = 45.04 %
 +  Unlabeled attachment score: 541 / 675 * 100 = 80.15 %
 +  Label accuracy score:       339 / 675 * 100 = 50.22 %
 +
 +==== covproj ====
 +
 +Bengálština ještě trochu lepší, možná nesignifikantně. Ostatní ne.
 +
 +Thu Nov 19 19:47:14 CET 2009
 +/net/work/people/zeman/icon-parsing/work/hi/dtest.malt.eval.txt
 +  Labeled   attachment score: 801 / 1250 * 100 = 64.08 %
 +  Unlabeled attachment score: 1079 / 1250 * 100 = 86.32 %
 +  Label accuracy score:       836 / 1250 * 100 = 66.88 %
 +Thu Nov 19 19:47:15 CET 2009
 +/net/work/people/zeman/icon-parsing/work/bn/dtest.malt.eval.txt
 +  Labeled   attachment score: 500 / 811 * 100 = 61.65 %
 +  Unlabeled attachment score: 694 / 811 * 100 = 85.57 %
 +  Label accuracy score:       516 / 811 * 100 = 63.63 %
 +Thu Nov 19 19:47:15 CET 2009
 +/net/work/people/zeman/icon-parsing/work/te/dtest.malt.eval.txt
 +  Labeled   attachment score: 303 / 675 * 100 = 44.89 %
 +  Unlabeled attachment score: 542 / 675 * 100 = 80.30 %
 +  Label accuracy score:       330 / 675 * 100 = 48.89 %
 +
 +==== covnonproj ====
 +
 +Zlepšila se hindština. Bengálština se zhoršila, telugština zůstala.
 +
 +Thu Nov 19 21:21:46 CET 2009
 +/net/work/people/zeman/icon-parsing/work/hi/dtest.malt.eval.txt
 +  Labeled   attachment score: 811 / 1250 * 100 = 64.88 %
 +  Unlabeled attachment score: 1087 / 1250 * 100 = 86.96 %
 +  Label accuracy score:       843 / 1250 * 100 = 67.44 %
 +Thu Nov 19 21:21:46 CET 2009
 +/net/work/people/zeman/icon-parsing/work/bn/dtest.malt.eval.txt
 +  Labeled   attachment score: 492 / 811 * 100 = 60.67 %
 +  Unlabeled attachment score: 682 / 811 * 100 = 84.09 %
 +  Label accuracy score:       510 / 811 * 100 = 62.89 %
 +Thu Nov 19 21:21:47 CET 2009
 +/net/work/people/zeman/icon-parsing/work/te/dtest.malt.eval.txt
 +  Labeled   attachment score: 305 / 675 * 100 = 45.19 %
 +  Unlabeled attachment score: 542 / 675 * 100 = 80.30 %
 +  Label accuracy score:       329 / 675 * 100 = 48.74 %
 +
 +==== stackproj ====
 +
 +Není nejhorší, ale taky v ničem nejlepší.
 +
 +Thu Nov 19 21:29:06 CET 2009
 +/net/work/people/zeman/icon-parsing/work/hi/dtest.malt.eval.txt
 +  Labeled   attachment score: 830 / 1250 * 100 = 66.40 %
 +  Unlabeled attachment score: 1082 / 1250 * 100 = 86.56 %
 +  Label accuracy score:       871 / 1250 * 100 = 69.68 %
 +Thu Nov 19 21:29:06 CET 2009
 +/net/work/people/zeman/icon-parsing/work/bn/dtest.malt.eval.txt
 +  Labeled   attachment score: 510 / 811 * 100 = 62.89 %
 +  Unlabeled attachment score: 690 / 811 * 100 = 85.08 %
 +  Label accuracy score:       524 / 811 * 100 = 64.61 %
 +Thu Nov 19 21:29:07 CET 2009
 +/net/work/people/zeman/icon-parsing/work/te/dtest.malt.eval.txt
 +  Labeled   attachment score: 309 / 675 * 100 = 45.78 %
 +  Unlabeled attachment score: 546 / 675 * 100 = 80.89 %
 +  Label accuracy score:       339 / 675 * 100 = 50.22 %
 +
 +==== stackeager ====
 +
 +Přestože umožňuje neprojektivity, hindština i bengálština jsou výrazně horší.
 +Zato se vytáhla telugština, kde neprojektivity téměř nejsou!
 +
 +Thu Nov 19 21:44:15 CET 2009
 +/net/work/people/zeman/icon-parsing/work/hi/dtest.malt.eval.txt
 +  Labeled   attachment score: 761 / 1250 * 100 = 60.88 %
 +  Unlabeled attachment score: 1022 / 1250 * 100 = 81.76 %
 +  Label accuracy score:       813 / 1250 * 100 = 65.04 %
 +Thu Nov 19 21:44:16 CET 2009
 +/net/work/people/zeman/icon-parsing/work/bn/dtest.malt.eval.txt
 +  Labeled   attachment score: 498 / 811 * 100 = 61.41 %
 +  Unlabeled attachment score: 680 / 811 * 100 = 83.85 %
 +  Label accuracy score:       514 / 811 * 100 = 63.38 %
 +Thu Nov 19 21:44:17 CET 2009
 +/net/work/people/zeman/icon-parsing/work/te/dtest.malt.eval.txt
 +  Labeled   attachment score: 303 / 675 * 100 = 44.89 %
 +  Unlabeled attachment score: 547 / 675 * 100 = 81.04 %
 +  Label accuracy score:       336 / 675 * 100 = 49.78 %
 +
 +==== stacklazy ====
 +
 +Na hindštině je to maximum, ostatní se zhoršily.
 +
 +Thu Nov 19 21:52:53 CET 2009
 +/net/work/people/zeman/icon-parsing/work/hi/dtest.malt.eval.txt
 +  Labeled   attachment score: 823 / 1250 * 100 = 65.84 %
 +  Unlabeled attachment score: 1095 / 1250 * 100 = 87.60 %
 +  Label accuracy score:       853 / 1250 * 100 = 68.24 %
 +Thu Nov 19 21:52:54 CET 2009
 +/net/work/people/zeman/icon-parsing/work/bn/dtest.malt.eval.txt
 +  Labeled   attachment score: 480 / 811 * 100 = 59.19 %
 +  Unlabeled attachment score: 687 / 811 * 100 = 84.71 %
 +  Label accuracy score:       496 / 811 * 100 = 61.16 %
 +Thu Nov 19 21:52:55 CET 2009
 +/net/work/people/zeman/icon-parsing/work/te/dtest.malt.eval.txt
 +  Labeled   attachment score: 307 / 675 * 100 = 45.48 %
 +  Unlabeled attachment score: 544 / 675 * 100 = 80.59 %
 +  Label accuracy score:       336 / 675 * 100 = 49.78 %
  

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