Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:dz-parser:icon [2009/10/20 18:05] zeman vytvořeno |
user:zeman:dz-parser:icon [2012/10/24 12:01] zeman |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Hindi Parsing Shared Task at COLING 2012 Mumbaí ====== | ||
+ | |||
+ | Zkontrolovat normalizaci UTF-8 (dévanágarí). | ||
+ | HTB verze 0,51: train 12041 sent, 268093 tok? (words), dev 1233 / 26416 | ||
+ | |||
+ | Vyhodnotit samostatně | ||
+ | * LAS vs. UAS | ||
+ | * uvnitř chunku vs. mezi chunky | ||
+ | * pro jednotlivé s-značky | ||
+ | |||
+ | McDonald? | ||
+ | |||
+ | Ambati et al.: MST labeler je blbej, použili maxent (http...lzhang, | ||
+ | |||
+ | A co MST druhého řádu? Ambati et al. použili 2. řád a training-k = 5. | ||
+ | |||
+ | MST jako vstupní featura pro Malt? | ||
+ | |||
+ | Potřebuju nějaké vyhledávadlo a zvýrazňovadlo chyb. | ||
+ | |||
+ | Mohly by pomoct Martinovy transformace? | ||
+ | |||
+ | Co ten neoznačkovaný text? TreeTagger? | ||
+ | |||
====== ICON 2009 NLP Tools Contest ====== | ====== ICON 2009 NLP Tools Contest ====== | ||
Soutěž v závislostní syntaktické analýze hindštiny, bengálštiny a telugštiny. Něco jako CoNLL-X a 2007 shared task, ale pro indické jazyky. Tentokrát nezkouším jen DZ Parser, ale hlasující kombinaci tří parserů: Malt parseru, MST parseru a DZ parseru. | Soutěž v závislostní syntaktické analýze hindštiny, bengálštiny a telugštiny. Něco jako CoNLL-X a 2007 shared task, ale pro indické jazyky. Tentokrát nezkouším jen DZ Parser, ale hlasující kombinaci tří parserů: Malt parseru, MST parseru a DZ parseru. | ||
- | Indický | + | ===== Zbývá udělat ===== |
+ | |||
+ | * Upravit makefile tak, abych mohl pouštět pokusy současně se starými i novými daty. A aby se váhy hlasování automaticky upravovaly podle aktuální úspěšnosti dílčích parserů. | ||
+ | * 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, | ||
+ | * Přidat jako rys chunk label, a to i pro DZ Parser. | ||
+ | * Naivní parser pro telugštinu: | ||
+ | * Rozchodit podporu clusteru v makefilech, abych nemusel MST parser pouštět ručně zvlášť ('' | ||
+ | * Vyzkoušet neprojektivní | ||
+ | * Zjistit, proč je tolik chyb v syntaktickém značkování, | ||
+ | * Více si pohrát s konfigurací Malt parseru. 7 algoritmů už jsem vyzkoušel, ale některé z& | ||
+ | * Vyhodnotit křivku učení. | ||
+ | * 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. | ||
+ | * 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, | ||
+ | * 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 ===== | ||
+ | |||
+ | Jak je zvykem, máme k dispozici data pro (d)trénink, | ||
+ | |||
+ | Následující statistiky pocházejí ze souborů pro dtrénink s automatickou morfologií: | ||
+ | |||
+ | | Jazyk | Výskytů slov | Tvarů | Lemmat | ChunkPOS | POS | POS+case+postpos | FEATS | | ||
+ | | hindština | 13779 | 3973 | 3134 | 10 | 33 | 297 | 714 | | ||
+ | | bengálština | 6449 | 2997 | 2336 | 14 | 30 | 398 | 367 | | ||
+ | | telugština | 5494 | 2462 | 1403 | 12 | 31 | 409 | 453 | | ||
+ | |||
+ | Statistiky v& | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | ==== Naivní telugu ==== | ||
+ | |||
+ | V& | ||
+ | |||
+ | | Jazyk | dtrain | dtest | | ||
+ | | hi | 35.71 | 34.64 | | ||
+ | | bn | 39.52 | 44.14 | | ||
+ | | 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šší, | ||
+ | |||
+ | ===== Analýza chyb ===== | ||
+ | |||
+ | Takhle se z morfologických indických dat vyrobí soubor pro Tred, který obsahuje indické písmo místo WX: | ||
+ | |||
+ | < | ||
+ | |||
+ | 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& | ||
+ | |||
+ | < | ||
+ | |||
+ | A takhle spojíme vzorovou anotaci s& | ||
+ | |||
+ | < | ||
+ | |||
+ | Tady je ještě jedna alternativa (pozor, tohle je pro změnu okopírováno z& | ||
+ | |||
+ | < | ||
+ | ts and Settings\Dan\Dokumenty\Lingvistika\Projekty\padapt\parsingroot\tools" | ||
+ | C: | ||
+ | -l te -t sci -g te/ | ||
+ | est.voted.1.fs</ | ||
+ | |||
+ | 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& | ||
+ | |||
+ | V& | ||
+ | |||
+ | Přinejmenším častá slova by měla být pro parsery viditelná jako samostatný rys uzlu. Např. hindské " | ||
+ | |||
+ | Úspěšnost přes 85& | ||
+ | |||
+ | Příklad problému s& | ||
+ | |||
+ | 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& | ||
- | - Převod z CSTS do CoNLL 2006 není v pořádku. Asi i proto mi vychází úspěšnost 100 %. | + | ===== Výsledky ===== |
- | - Pokusit se rozchodit a natrénovat MST Parser. Pokud se to podaří, pokračovat v rozcházení hlasování 3 parserů. | + | |
- | - Makefile a případné další soubory specifické pro tuto úlohu přenést do některého svého repozitáře SVN. | + | |
- | - Zjistit, zda je Malt parser a MST parser také horší, když se mu dá morfologie, a o kolik. | + | |
- | - Zjistit, které rysy co znamenají. Prozkoumat, zda nepomůže přibrat do značky pád. | + | |
- | - Zdá se, že lemma bylo také součástí morfologické anotace a není součástí " | + | |
- | - Totéž zřejmě platí o značce slovního druhu – přehlédl jsem, že v souborech ssf se opakuje značka chunku! | + | |
První výsledky DZ Parseru na vývojových datech: | První výsledky DZ Parseru na vývojových datech: | ||
Line 110: | Line 205: | ||
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í, | Pozoruhodné je, že zhoršený DZ Parser zlepšuje výsledek hlasování, | ||
+ | |||
+ | 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: | ||
+ | bn 8570: | ||
+ | te 7985: | ||
+ | |||
+ | labels MST:MALT:DZ | ||
+ | hi 6816: | ||
+ | bn 6967: | ||
+ | te 5526: | ||
+ | |||
+ | ===== Neprojektivity ===== | ||
21:57 lrc-two:/ | 21:57 lrc-two:/ | ||
Line 139: | Line 248: | ||
Label accuracy score: | Label accuracy score: | ||
- | 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, | + | ===== Parsovací algoritmy |
- | unlabeled | + | 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 |
- | hi 8616: | + | |
- | bn 8570: | + | |
- | te 7985: | + | |
- | labels MST:MALT:DZ | + | hi 87.60 stacklazy |
- | hi 6816:6704:5960 | + | bn 85.57 covproj |
- | bn 6967:6215:5314 | + | te 81.04 stackeager |
- | te 5526:4904:4400 | + | |
+ | ==== 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 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 1082 / 1250 * 100 = 86.56 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 18:41:45 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 693 / 811 * 100 = 85.45 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 18:41:46 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 541 / 675 * 100 = 80.15 % | ||
+ | Label accuracy score: | ||
+ | |||
+ | ==== covproj ==== | ||
+ | |||
+ | Bengálština ještě trochu lepší, možná nesignifikantně. Ostatní ne. | ||
+ | |||
+ | Thu Nov 19 19:47:14 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 1079 / 1250 * 100 = 86.32 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 19:47:15 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 694 / 811 * 100 = 85.57 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 19:47:15 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 542 / 675 * 100 = 80.30 % | ||
+ | Label accuracy score: | ||
+ | |||
+ | ==== covnonproj ==== | ||
+ | |||
+ | Zlepšila se hindština. Bengálština se zhoršila, telugština zůstala. | ||
+ | |||
+ | Thu Nov 19 21:21:46 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 1087 / 1250 * 100 = 86.96 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:21:46 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 682 / 811 * 100 = 84.09 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:21:47 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 542 / 675 * 100 = 80.30 % | ||
+ | Label accuracy score: | ||
+ | |||
+ | ==== stackproj ==== | ||
+ | |||
+ | Není nejhorší, ale taky v ničem nejlepší. | ||
+ | |||
+ | Thu Nov 19 21:29:06 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 1082 / 1250 * 100 = 86.56 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:29:06 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 690 / 811 * 100 = 85.08 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:29:07 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 546 / 675 * 100 = 80.89 % | ||
+ | Label accuracy score: | ||
+ | |||
+ | ==== stackeager ==== | ||
+ | |||
+ | Přestože umožňuje neprojektivity, | ||
+ | Zato se vytáhla telugština, | ||
+ | |||
+ | Thu Nov 19 21:44:15 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 1022 / 1250 * 100 = 81.76 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:44:16 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 680 / 811 * 100 = 83.85 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:44:17 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 547 / 675 * 100 = 81.04 % | ||
+ | Label accuracy score: | ||
+ | |||
+ | ==== stacklazy ==== | ||
+ | |||
+ | Na hindštině je to maximum, ostatní se zhoršily. | ||
+ | |||
+ | Thu Nov 19 21:52:53 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 1095 / 1250 * 100 = 87.60 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:52:54 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 687 / 811 * 100 = 84.71 % | ||
+ | Label accuracy score: | ||
+ | Thu Nov 19 21:52:55 CET 2009 | ||
+ | / | ||
+ | Labeled | ||
+ | Unlabeled attachment score: 544 / 675 * 100 = 80.59 % | ||
+ | Label accuracy score: 336 / 675 * 100 = 49.78 % | ||