36
http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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: [email protected] téma diplomové práce: Převod z analytických do tektogramatických stromů v PDT • vedoucí: Ivana Kruijff-Korbayová

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

  • Upload
    merrill

  • View
    24

  • Download
    2

Embed Size (px)

DESCRIPTION

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: [email protected] téma diplomové práce: Převod z analytických do tektogramatických stromů v PDT vedoucí: Ivana Kruijff-Korbayová. - PowerPoint PPT Presentation

Citation preview

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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: [email protected]

• téma diplomové práce: Převod z analytických do tektogramatických stromů v PDT

• vedoucí: Ivana Kruijff-Korbayová

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 2

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

raw text

morphologicallytagged text

analytic treestructures (ATS)

tectogrammaticaltree structures (TGTS)

Automatic functor

assignement (AFA)

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 5

Relativní četnost funktorů

rstr

pat

act

pred

app

loc

rhem

twhen

denom

ext

mat

dir3 mann

ben Zbytek

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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.)

– . . .

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 7

Vhodná velikost kontextu pro určení funktoru uzlu U

a) jen uzel U

c) uzel U a nadřízený uzel

b) celý strom

d) uzel U a sourozenci

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 8

Použité atributy1) 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 9

Ukázka dat zastavme :zastavit1 :vmp1a:v:pred:okamz_ik :okamz_ik :nis4a :n:4:na:adv:tfhlzastavme :zastavit1 :vmp1a:v:pred:ustanoveni_:ustanoveni_:nns2a :n:2:u :adv :locnormy :norma :nfs2a :n:atr :nove_ :novy_ :afs21a :a:0: :atr :rstrnormy :norma :nfs2a :n:atr :pra_vni_ :pra_vni_ :afs21a:a:0: :atr :rstrustanoveni_ :ustanoveni_:nns2a :n:adv:normy :norma :nfs2a :n:2: :atr :pat

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 10

Předzpracování dat

• Dostupná data - 18 souborů po 50 TGTS1) 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ě

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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í

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 csqac_ cncsac_koli cncsac_koliv cncsaniz_ complbyt_ cncsco tsindokud thl

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 locv_dobe_ twhen

pro_podnikatele ben od_doby tsin do_vlastnictvi_ dir3 z_zisku dir1

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 16

Metody založené na ručně psaných pravidlech

1) verbs_active: jestliže řídící uzel je sloveso

afun=subjekt ACTobjekt v dativu ADDRobjekt 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 Perluif (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"};

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 21

Implementace AFA: diagram datových toků

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 %

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 %

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 %

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 27

Precision x Recall

0102030405060708090

100

0 10 20 30 40 50 60 70 80 90 100

Relative cover [%]

Recall [%]

Precision [%]

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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.

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 30

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

(M- jsou v manuálu, # - počet výskytů)

Tvar Funktor M #absurdne_ att *absurdne_ mann *alespon_ rhem 2alternativne_ man *ani rhem *apropo_ att *asi ext *asi mod *aspon_ rhem 1be_z_ne_ mann 1bezma_la rhem 1bezmocne_ resl 1bezplatne_ mann 1bezpochyby mod * 1...

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 31

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

...

...Předložka Pád # Výskytů Funktor

1 91 pat1 89 rstr1 28 id1 8 compl

s 7 6 addrs 7 4 atts 7 3 regs 7 1 effs 7 1 orig

spolec_ne__s 7 3 acmpspolu_s 7 1 acmp

u 2 13 locu 2 1 condv 4 2 twhen

...

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 32

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

...

...Sloveso Funktor # Výskytů Pád Předložka

pr_iji_t act 6 1

pr_iji_t acmp 2 7 s

pr_iji_t dir3 1 2 do

pr_iji_t twhen 1 6 po

pr_iji_t twhen 1 7

pr_izpu_sobit

act 2 1

pr_izpu_sobit

eff 2 3

pr_izpu_sobit

pat 2 4

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 34

Shrnutí

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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 %

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

http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 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