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
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á
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)
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
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
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
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.)
– . . .
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
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
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
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ě
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í
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
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
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
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
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
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
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
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"};
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
http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 21
Implementace AFA: diagram datových toků
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
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
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 %
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 %
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 %
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 [%]
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.
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
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...
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
...
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
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
http://obelix.ijs.si/ZdenekZabokrtsky/AFA/ AFA 34
Shrnutí
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 %
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