1 / 36

Automatické přiřazování funktorů v Pražském závislostním korpusu

Automatické přiřazování funktorů v Pražském závislostním korpusu. Zdeněk Žabokrtský student ČVUT FEL, obor výpočetní technika e-mail: zabokrtz@cs.felk.cvut.cz téma diplomové práce: Převod z analytických do tektogramatických stromů v PDT vedoucí: Ivana Kruijff-Korbayová.

merrill
Download Presentation

Automatické přiřazování funktorů v Pražském závislostním korpusu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatické přiřazování funktorův Pražském závislostním korpusu Zdeněk Žabokrtský student ČVUT FEL, obor výpočetní technika e-mail: zabokrtz@cs.felk.cvut.cz • téma diplomové práce: Převod z analytických do tektogramatických stromů v PDT • vedoucí: Ivana Kruijff-Korbayová

  2. Automatické přiřazování funktorův Pražském závislostním korpusu raw text morphologically tagged text analytic tree structures (ATS) Automatic functor assignement (AFA) tectogrammatical tree structures (TGTS)

  3. Příklad TGTS • Podle předběžných odhadů se totiž počítá, že do soukromého vlastnictví bude prodáno minimálně 10000 bytů • AFA = klasifikace uzlů TGTS do 60 tříd

  4. Výchozí podmínky • znalosti o přiřazování funktorů nejsou k dispozici ve formě pravidel, anotátoři se často řídí intuicí • anotátoři berou při přiřazování v úvahu celý strom; není známa minimální velikost „kontextu“ nezbytná pro správné přiřazení funktorů • předběžná měření: četnost funktorů je velmi nerovnoměrná (15 funktorů pokrývá 90% uzlů) • omezené množství hotových TGTS • dostupné TGTS obsahují nedokonalá data • nejednoznačnost - více funktorů u jednoho uzlu • neúplnost - některé uzly jestě nemají funktor

  5. Relativní četnost funktorů

  6. Očekávané potíže • za roh - DIR3 • za hodinu - TWHEN • za svobodu - OBJ • po otci • TWHEN (Přišel po otci.) • NORM (Jmenuje se po otci.) • HER (Zdědil dům po otci.) • . . .

  7. Vhodná velikost kontextu pro určení funktoru uzlu U a) jen uzel U b) celý strom c) uzel U a nadřízený uzel d) uzel U a sourozenci

  8. Použité atributy 1) výběr 10 příznaků • tvar, lemma, morfologická značka a analytická funkce podřízeného i nadřízeného uzlu • funktor podřízeného uzlu, • podřadící spojka nebo předložka 2) extrakce 3 dalších příznaků • slovní druh podřízeného a nadřízeného uzlu • pád podřízeného uzlu • Výsledek: vektor třinácti (12+1) symbolických příznaků pro každou hranu • AFA  klasifikace vektorů s 12 symbolickými příznaky do 60 tříd

  9. Ukázka dat zastavme :zastavit1 :vmp1a:v:pred:okamz_ik :okamz_ik :nis4a :n:4:na:adv:tfhl zastavme :zastavit1 :vmp1a:v:pred:ustanoveni_:ustanoveni_:nns2a :n:2:u :adv :loc normy :norma :nfs2a :n:atr :nove_ :novy_ :afs21a :a:0: :atr :rstr normy :norma :nfs2a :n:atr :pra_vni_ :pra_vni_ :afs21a:a:0: :atr :rstr ustanoveni_ :ustanoveni_:nns2a :n:adv:normy :norma :nfs2a :n:2: :atr :pat

  10. Předzpracování dat • Dostupná data - 18 souborů po 50 TGTS 1) rozdělení (náhodný výběr) trénovací množina - 15 souborů testovací množina - 3 soubory 2) transformace ze stromu do seznamu hran, výběr a extrakce příznaků 3) ostranění vektorů s nejednozně nebo neúplně vyplněnými hodnotami příznaků 4) odstranění diakritiky • Výsledek: • 6049 vektorů v trénovací množině • 1089 vektorů v testovací množině

  11. Metody doplňování funktorů 1. Metody založené na slovnících (dictionary-based methods) • slovníky příslovcí, podřadících spojek ... • slovníky se získávají z trénovací množiny a z manuálu pro anotátory 2. Metody založené na pravidlech (rule-based methods) - nepoužívají slovní tvar ani lemma a) pravidla z manuálu pro anotátory a ručně odvozená pravidla b) pravidla získaná pomocí strojového učení

  12. Metody založené na slovnících:Porovnávání s trénovacími vektory(similarity) • slovník = všechny vektory z trénovací množiny • na prostoru vektorů příznaků se zavede metrika, hledá se nejbližší soused vzhledem k metrice • výpočet metriky • za každý příznak, ve kterém se vektory liší, se přičítá váha příznaku • příklad: • hrana z testovací množiny: „zálohy na daně“ • nejpodobnější hrana z trénovací množiny: „návrh na stanovení“ , dolní uzel je PAT

  13. Metody založené na slovnících:Příslovce (adverbs) • slovník obsahuje 290 dvojic (příslovce, funktor) • slovník vznikl sloučením příslovcí z trénovací množiny a z manuálu pro anotátory • pouze „jednoznačná“ příslovce • ukázka ze slovníku: ani rhem apropo_ att aspon_ rhem be_z_ne_ mann bezma_la rhem bezmocne_ resl bezplatne_ mann

  14. Metody založené na slovnících:Podřadící spojky (subconj) • slovník obsahuje 38 dvojic (spojka, funktor) • slovník vznikl sloučením příslovcí z trénovací množiny a z manuálu pro anotátory • pouze „jednoznačné“ podř. spojky • ukázka ze slovníku: a_proto csq ac_ cncs ac_koli cncs ac_koliv cncs aniz_ compl byt_ cncs co tsin dokud thl

  15. Metody založené na slovnících:Přeložka + podstatné jméno (prepnoun) • slovník obsahuje 69 trojic (předložka, podst.jm, funktor) • slovník vznikl výběrem těch spojení z trénovací množiny, které se vyskytly alespoň dvakrát a vždy se stejným funktorem • ukázka ze slovníku: v_roce twhen v_praze loc v_dobe_ twhen pro_podnikatele ben od_doby tsin do_vlastnictvi_ dir3 z_zisku dir1

  16. Metody založené na ručně psaných pravidlech 1) verbs_active: jestliže řídící uzel je sloveso afun=subjekt  ACT objekt v dativu  ADDR objekt v akuzativu  PAT 2) verbs_passive: jestliže řídící uzel je sloveso subjekt  PAT objekt v dativu  ADDR objekt v 7. pádě  ACT

  17. Metody založené na ručně psaných pravidlech 3) adjectives: přídavné jméno přivlastňovací  RSTR jiné  APP 4) pronounpos: přivlastňovací zájmeno  APP 5) numerals: číslovka  RSTR 6) pnom: afun=PNOM  PAT 7) pred: afun=PRED  PRED

  18. Metoda založená na strojovém učení(ml80) • spolupráce: Sašo Džeroski, Jožen Štefan Institute, Ljubljana • c4.5 (J. Ross Quinlan, 1993) - systém pro vytváření rozhodovacích stromů podle dané trénovací množiny • postup: • 1. předzpracování (selekce a extrakce příznaků) • 2. vygenerování rozhodovacího stromu podle trénovací množiny • 3. prořezání stromu (zůstanou jen pravidla s nadějí na vyšší než 80 % úspěšnost) • 4. poloautomatická transformace do programu v Perlu

  19. Metoda založená na strojovém učení • část „naučeného“ rozhodovacího stromu dep_afun = sb: | gov_pos = a: rstr (1.0/0.8) | gov_pos = j: pat (1.0/0.8) | gov_pos = n: rstr (21.0/8.0) | gov_pos = null: act (1.0/0.8) | gov_pos = z: act (19.0/5.9) | gov_pos = v: | | gov_morph = vp: act (463.0/25.9) | | gov_morph = vr: act (133.0/12.9) | | gov_morph = vs: pat (28.0/8.2) • ukázka z výsledného programu v Perlu if (dep_afun="atr") { if (conj_prep eq "o") {$functor="pat"} if (conj_prep eq "v") {$functor="loc"} if (conj_prep eq "z") {$functor="dir1"} if (conj_prep="null") { if (dep_case="0") { if (dep_morph eq "a") {$functor="rstr"}; if (dep_morph eq "ps") {$functor="app"}; if (dep_morph eq "vr") {$functor="rstr"}; if (dep_morph eq "znum") {$functor="rstr"};

  20. Implementace • AFA systém je tvořen posloupností malých programů (filtrů), každý odpovídá jedné metodě • Každý program může doplnit jen ty funktory, které nevyplnil žádný z jeho předchůdců • Výhoda: pole působnosti jednotlivých metod nejsou disjunktní, změnou jejich pořadí lze „ladit“ přesnost, aniž by se musel přepisovat kód programu

  21. Implementace AFA: diagram datových toků

  22. Jak vyhodnocovat úspěšnost AFA? • není to jednorozměrný problém - kompromis mezi co nejvíce správně přiřazenými funktory a co největší přesností • u každé metody i celkem se vyhodnocuje 6 veličin: • Cover = počet funktorů přiřazených danou metodou • Relat. Cover = Cover / počet všech funktoru k doplnění • Errors = počet chybně přiřazených funktorů • Hits = počet správně přiřazených funktorů • Recall = Hits / počet všech funktorů k přiřazení • Precision = Hits / Cover

  23. Vyhodnocení úspěšnosti • uvedené výsledky byly dosaženy na testovací množině 1) ručně psaná pravidla a všechny slovníkové metody

  24. Vyhodnocení úspěšnosti 2) jen metoda similarity Cover = 100 % Precision = Recall = 73 % 3) jen strojové učení a) bez prořezání stromu, tj. použijí se úplně všechna pravidla naučená v trénovací množině Cover = 100 % Precision = Recall = 76 % b) s prořezáním pravidel s horší než 80 % přesností Cover = 37.3 % Recall = 35.3 % Precision=94.5 % 4) jen ručně psaná pravidla Cover=51.2% Recall=48.1 % Precision=93.9 %

  25. Vyhodnocení úspěšnosti 4) všech 12 metod Cover=100% Precision=Recall=78.6 % 5) strojové učení + ručně psaná pravidla + adverbs+ prepnoun Cover=62.8% Recall=58.7 % Precision=93.5 %

  26. Ukázka vyhodnocování 18 23:34 tip 45 /home/zabokrt/FUNKTORY/ASSIGNERS> cat ../ML/test2.txt | ml80.pl | pred.pl | verbs_active.pl | verbs_passive.pl | pnom.pl | adjectives.pl | numerals.pl | pronounposs.pl | adverbs.pl | prepnoun.pl | ../TOOLS/stat.pl Number of lines: 1089 (100%) Method #Covered #Hit #Missed Hit ratio ---------------------------------------------------------------------- ml80 406 (37.28 %) 384 (35.26 %) 22 (2.02 %) 94.58 % adjectives 175 (16.06 %) 170 (15.61 %) 5 (0.45 %) 97.14 % pronounpos 16 (1.46 %) 13 (1.19 %) 3 (0.27 %) 81.25 % prepnoun 8 (0.73 %) 8 (0.73 %) 0 (0 %) 100 % numerals 19 (1.74 %) 13 (1.19 %) 6 (0.55 %) 68.42 % adverbs 28 (2.57 %) 24 (2.20 %) 4 (0.36 %) 85.71 % pred 4 (0.36 %) 4 (0.36 %) 0 (0 %) 100 % verbs_passive 7 (0.64 %) 6 (0.55 %) 1 (0.09 %) 85.71 % verbs_active 21 (1.92 %) 18 (1.65 %) 3 (0.27 %) 85.71 % ---------------------------------------------------------------------- 684 (62.80 %) 640 (58.76 %) 44 (4.04 %) 93.56 %

  27. Precision x Recall

  28. Ukázka automaticky anotovaného stromu (bcb21, 15) tip /home/zabokrt/FUNKTORY/CompleteAFA>./foreachn.pl < ./afa.fsp bcb21trz.fs • Proto je dobré seznámit se s jejich praktikami a tak vlastně preventivně předcházet možným metodám konkurenčních firem.

  29. Vedlejší produkty • některé seznamy v manuálu pro anotátory lze obohatit daty z trénovací množiny • příslovce • podřadící spojky • předložkové pády • „valenční slovník“ - u častějších sloves lze vyhodnotit, jaké se k nim obvykle váží funktory (i jakou předložkou atd.). Předpoklad: nejčastější funktory slovesa pravděpodobně patří do jeho rámce

  30. Vedlejší produkty:rozšířený seznam příslovcí ...

  31. Vedlejší produkty:rozšířený seznam předložkových pádů ... ... ...

  32. Vedlejší produkty:„valenční slovník“ ... ...

  33. Další vývoj • valenční slovník sloves - sloučení 2 zdrojů dat • valenční slovník nejčastějších sloves od pana Paly - znám valence, neznám funktor • „valenční slovník“ vydolovaný z trénovací množiny - vím, jaké funktory se jak vážou ke slovesu, ale nevím, co z toho skutečně patří do valenčního rámce • použití WordNetu • očekávám, že s pomocí WordNetu lze navrhnout způsob výpočtu sémantické vzdálenosti (nebo alespoň hledat synonyma) a zvýšit použitelnost slovníkových metod, zejména prepnoun a similarity

  34. Shrnutí

  35. Závěr • s dostupnou trénovací množinou a mými znalostmi o funktorech pravděpodobně nelze při pokusu o úplné pokrytí dosáhnout uspokojivé (tj. alespoň 90%) správnosti,... (zdůvodnění - různými cestami jsem došel k podobným výsledkům: • jen ML (neprořezaný strom) precision = 75.9 % • jen similarity precision = 73 % • všech 12 metod precision = 78.6 % ) • ...ale vhodnou kombinací metod lze dosáhnout přijatelné správnosti při zhruba polovičním pokrytí • doporučená kombinace: • ML + ručně psaná pravidla + adverbs + prepnoun • Cover=62.8% Recall=58.7 % Precision=93.5 %

  36. Publikace výsledků • http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ • Text, Speach and Dialogue 2000: • Z.Ž.: Automatic Functor Assignment in Prague Dependency Treebank • 5th TELRI Seminar, Corpus Lingustics: How to Extract Meaning from Corpora • Sašo Džeroski, Z.Ž.: Machine Learning Approach to Automatic Functor Assignment in Prague Dependency Treebank

More Related