6. Jelentésegyértelmősítés (Word Sense Disambiguation)
Miháltz Márton
2016. március 16.
Bevezetés • Mi az a WSD? Állapítsuk meg, hogy a többértelmő szó egy adott szövegkörnyezetben melyik jelentésével szerepel!
• Lexikális többértelmőség – Nem szófaji többért., pl. vár (POS-tagger!) – homonímia-poliszémia, pl. ár, nap, gép
• Mi a szójelentés? a) szótárak meghatározásai b) fordítás egy másik nyelven c) …
Bevezetés 2. • Problémák a szótári jelentésekkel: – A hagyományos értelmezı szótárak emberi értelmezésre készültek – Jelentések elkülönítése: lexikográfus szubjektív döntése (kivéve pl. Macmillan English Dict.) – Sokszor túl finom különbségek (pl. WordNet) – Homoníma és poliszémia nincs megkülönböztetve (WN) – Produktív poliszémia (pl. metonímia) nincs ábrázolva, pl. iskola, minisztérium, ...: (intézmény), (épület)
WSD-rendszerek értékelése • Gold standard, pontosság, fedés (precision, recall), F-mérték • Baseline (alapszint): leggyakoribb jelentés gyakorisága • Felsı határ: egyetértés az annotátorok között (Inter-Annotator Agreement) • SensEval/SemEval workshopok (1998, 2001, 2004, 2007, 2010, 2013)
Módszerek a WSD-ben • Lexikális tudásbázist használó – Értelmezı szótár, tezaurusz, WordNet, …
• Gépi tanulásos – Felügyelt gépi tanulás • statisztikai: Naiv Bayes, SVM, Maximum entrópia, neuronhálók, ... • példa-alapú: kNN, … • döntési fák: C5.0, ...
– Nem felügyelt gépi tanulás (klaszterezés)
• Egyéb – Kézzel írt szabályok (Kelly & Stone, 1975) – Szelekciós megkötések (Hirst, 1987)
A kontextus szerepe • Hogyan lehet a szójelentést a kontextusból kitalálni? – „Egy diskurzus, egy jelentés” (D. Yarowsky): A vizsgált (többértelmő) szó jelentése állandó marad a dokumentumon belül.
– „Egy kollokáció, egy jelentés”: A környezı szavak jó információval szolgálnak az aktuális jelentésrıl a távolság, a sorrend és a szintaktikai viszonyok függvényében.
– Kontextus → jellemzık (features)
Gyakori kontextuális jellemzık • „Lokális” jellemzık (a relatív pozíció számít): – A többértelmő szó felszíni alakja, írásmódja Pl. „Party” vs. „party”; “days” vs. “day” – Funkcionális szavak és írásjelek a többértelmő szó körül 2+2-es ablakban Pl. „behind the church” – Tartalmas szavak a többértelmő szó körül 3+3-as ablakban Pl. „rub your arms” vs. “arms trade” – egyéb: n-gramok, POS-tagek, szintaktikai információ (pl. NP feje) stb.
• „Globális” jellemzık: – Kiválasztott tartalmas szavak a teljes kontextusban (bekezdésben), a sorrendtıl és távolságtól függetlenül Pl. „ ... plane ... … airport ...”
• Szavanként más-más jellemzık lehetnek megfelelıek
Szótári alapú WSD: a Lesk-algoritmus • Hagyományos értelmezı szótári definíciók használata • Algoritmus: – Számold ki minden lehetséges jelentésre, hány közös szó van a meghatározásában és az egyértelmősítendı kontextus szavainak meghatározásaiban – Válaszd azt a jelentést, ahol a legtöbb közös szó van
• Pontosság (Lesk, 1986): 50-70% • Hátrány: kevés szó szótári definíciókban • Ma inkább más heurisztikákkal kombinálva használják
WSD tezaurusszal • Például Roget’s Thesaurus (1942): kb. 1.000 kategória-címke, pl. crane_1 ANIMAL, crane_2 MACHINERY • Ötlet: egyértelmősítendı szó kontextusában szavak kategóriái kontextus kategóriája szójelentés
• Walker (1987): Melyik az a jelentés, amelyikre maximális azoknak a kontextusbeli szavaknak a száma, amelyek kategóriája kompatibilis a jelentés kategóriájával? • Legyen: •
w többértelmő szó (s1…sn jelentések),
•
c kontextus amiben w elıfordul ({vj szavak})
•
t(sk) = (w szó sk jelentésének kategóriája a tezauruszban)
• Egyértelmősítés:
WSD tezaurusszal 2. • Problémák Walker (1987)-tel: •
Szavak kategorizálása domain-függı, pl. egér jelentései IT és nem-IT szövegekben
•
Alacsony fedés, pl. tulajdonnevek, Beckham SPORTS
• David Yarowsky (1992): kategóriák adaptálása korpusszal •
Tanítás 100 millió szavas korpuszon
•
100 szavas kontextusok & Roget’s kategóriák súlyozása: P(tl|ci) pl. “foci” a kontextusban SPORTS magas
•
Vágás: csak α küszöbnél magasabb súlyú kategóriák megtartása egy kontextusra
•
Kategóriák adaptálása korpuszhoz: •
Tezauruszban szereplı szavak, de új kategóriákban: pl. egér COMPUTER
•
Új szavak felvétele, pl. Beckham SPORTS
• 91-99% pontosság, ha szójelentések kategóriák, DE: – –
topikfüggetlen jelentések problémásak, pl. interest_2 („érdeklıdés”) idiómák (nem kompozicionális összetételek)
WSD WordNettel • E. Agirre, G. Rigau (1996) • „Fogalmi sőrőség” képlet: Azt a jelentést választja, amelynek részfája a „legsőrőbb” a kontextus egyéb szavainak (csak fn-ek) jelentéseivel együtt
• Értékelés: 71% pontosság (SemCor) vs. Yarowsky-92: 64% (WordNettel implementálva)
Felügyelt GT-os WSD • Tanítás: • Tanítókorpusz: annotált elıfordulások (tanítópéldák) • Tanítópáldák feldolgozása: jellemzıvektorok elıállítása • Minden többértelmő szóhoz külön osztályozó betanítása
• Egyértelmősítés: Kontextus → jellemzıvektor → osztályozó → címke: aktuális jelentés
• WSD tanítókorpuszok: • angol: SemCor, SensEval, OpenMind Word Expert, DSO... • magyar: Vincze et al. LREC-2008: 39 szóhoz, szavanként 200 példa • generálás: bootstrapping, WordNet-információk felhasználása, ...
A Naiv Bayes algoritmus Azt az si jelentést választja, melyre a kontextus alapján rendelkezésre álló (c1,...,cn) jellemzők együttes feltételes valószínűsége a legmagasabb:
A kontextuális jellemzők függetlenségét feltételezve az alábbi közelítést használhatjuk:
A P(cj|si) értékeket a tanítókorpuszon megfigyelt relatív gyakoriságokkal becsüljük (F=gyakoriság):
FGT-os WSD Naiv Bayes-szel • Leacock, Chodorow, Miller (1998) • Jellemzık: globális (3 környezı mondat) + 3 lokális (2+2, 3+3 ablak) • line fınév: – – – –
csak topikális jellemzık: 78% pontosság csak lokális jellemzık: 67% pontosság együtt: 83% pontosság ~ tanítópéldák száma; kb. 4000 példa (200 pld. / legritkább jelentés) • Tanítópéldák automatikus generálása egyértelmő WordNet „rokonok” elıfordulásainak felhasználásával: pl. gép (többért.) – szinonima: repülıgép (egyért.)
FGT-os WSD: döntési lista • David Yarowsky (1994) • Döntési listás osztályozó • Mindig csak a legerısebb rendelkezésre álló kontextuális információ alapján dönt • Nincs szükség a függetlenség feltételezésére (vö. Naiv Bayes)
• Tanítás: jellemzık+jelentések sorbarendezése P( s i1| c j ) abs( log ) P( s i2| c j )
(
)
• Használt jellemzık: szóalakok, kollokációk • 1-200 tanítópélda, 90%-os pontosság homonímák egyértelmősítésénél
Példaalapú FGT-os WSD • Rada Mihalcea (2002) • „Lusta” algoritmus: az összes példát megjegyzi; elıny: a ritka, kivételes eseteket is kezelni tudja • kNN (k nearest neighbour) algoritmus • Jellemzık súlyozása (information gain (információ-elmélet)) • Az optimális jegyhalmaz kiválasztása kritikus! • Automatikus jegyoptimalizáló algoritmus: összes lehetségesbıl (18 db) kiválasztja azt a legkisebb részhalmazt, ami a legjobb pontosságot adja • Senseval-2 (2001) legjobb rendszer (angol, lexical sample task) • Átlag pontosság: 71,2% (durva felbontás), 69,5% (finom felbontás)
Bootstrapping • „Data acquisition bottleneck”: a felügyelt GT-hoz sok tanítópélda kell, drága elıállítani • Bootstrapping algoritmus: – Kiindulóhalmaz (seed): kisszámú annotált tanítópélda, kézzel v. automatikusan (kollokációk korpusz-statisztikával, vagy szótári definíciókból) – Felügyelt gépi tanulás – Az osztályozó alkalmazása új példák elıállítására (& utána csak a megbízhatók megtartása) – Iteráció => egyre nagyobb és jobb tanítókorpusz
• Yarowsky (1995): 12 szó, 2 jelentés mindegyiknél, automatikus kiinduló-halmaz generálás, döntési fa, 96.5% átlagos pontosság
WSD nem felügyelt gépi tanulással • Hinrich Schütze (1998) • Valójában nem jelentés-egyértelmősítés, hanem -elkülönítés (sense discrimination) • Példák klaszterezése (agglomerative clustering) kontextusok hasonlósága alapján • Szavak, kontextusok: sokdimenziós vektorok (n=20,000) • NYT korpusz, 60M szövegszó • Szóvektorok: szó-szó együtt-elıfordulási mátrix oszlopai + SVD: n=100 • Kontextusvektorok: 50 szavas ablakban szavak vektorainak összege • Vektorok közötti hasonlóság: cos(v, w) ≈ szemantikai hasonlóság • Egyértelmősítés: kontextusvektorhoz leghasonlóbb klaszter (centroid) • Kiértékelés: 10 szó, 10 klaszter mindegyikhez, 88% átlagos pontosság egyértelmősítésnél • Hátránya: semmi nem garantálja, hogy a létrejövı klasztereket meg lehet feleltetni pl. szótári jelentéseknek -- de ez nem baj pl. információvisszakeresésnél
WSD a gépi fordításban •
Angol-magyar lexikai többértelmőségek: 1) He is sitting on a chair. Ül egy széken. 2) The chair opened the meeting. Az elnök megnyitotta a megbeszélést.
• • • •
Cél a MetaMorpho angol-magyar megértés-támogató fordítóprogram támogatása (Miháltz 2010) Naiv Bayes osztályozó, lokális és globális jellemzık Tanítókorpusz: 45 angol fınév, WordNet-jelentések Angol (WN) jelentések leképezése magyar fordításokra: – – – –
7 szó: összes angol jelentés 1 magyar fordítással visszaadható 34 szó: angol jelentések > magyar fordítások 4 szó: angol jelentések = magyar fordítások Átlag jelentésszám: 3,97 (angol) → 2,49 (magyar)
Eredmények • 10-szeres keresztkiértékelés a tanítókorpuszokon (38 többértelmő fınév) • Átlagos pontosság (38 eredmény): – Angol jelentésazonosítókkal: 77,99% – Magyar (összevont) jelentésekkel: 85%
• Baseline = leggyakoribb jelentés relatív gyakorisága – 9 szó: pontosság <= baseline (átl. angol: 64,15%, magyar: 73,47%) – Rossz teljesítmény: kb. |legritkább jelentés példái| <= 20 |összes példa| <= 200
• Összehasonlítás: – Leacock’98: Naiv Bayes, line, 4.000 pld., 83% pontosság (vö. 84,9%) – SensEval-3: English lex. sample task best: 72,9% (79,3% coarse-gr.)
Tanítópéldák automatikus elıállítása • Miháltz-Pohl (2006): WSD tanítókorpusz elıállítása szinkronizált párhuzamos korpuszból • Angol-magyar gépi fordítás WSD támogatása (MetaMorpho) • Hunglish angol-magyar mondatszinten szinkronizált párhuzamos korpusz (30 + 23M szó) • Angol oldal szófaji egyértelmősítése: SVMTool POS-tagger (97% pontosság, Wall Street Journal korpusz)
• Vizsgált többértelmő szó: state fınév • Ismert kollokációk győjtése: össz. 348 db – Szótárakból: kétnyelvő (Országh), egynyelvő (WordNet) – Automatikus győjtés korpuszból ( Terminology Extractor) + eredmények kézi szőrése
• Lehetséges egyszavas fordítások (Országh): 19 db
Tanítópéldák automatikus elıállítása: eredmények (state) A state fınév elıfordulása Hunglish korpuszban: • összes: 92,000 mondatpár • Ismert kollokáció a fordításban: 86,000 • Több ismert fordítás/kollokáció: 3,500 • 1 ismert, nem kollokációs fordítás: 2,473
Named Entity Disambiguation (NED) • L. még: entity linking, wikification, NE normalization • Szöveg -> NER -> entitások (nevek) -> referenciák? • Lehetséges értelmezések: • Tudástárak, ontológiák • Wikipedia, DBPedia, ...
NED módszerek • Milne-Witten 2008: felügyelt gépi tanulás (C4.5 dönt. fa) • Tanítóadatok: linkek wiki szócikkekben • Jellemzık: 1. a priori gyakoriságok, 2. relevancia (kontextus) • F=74%
• Egyértelmő szinonimák itt is felhasználhatók (Ratinov et al. 2011) • Pl. Kovács István – Kokó, Kovi
• De mi van, ha a név referenciája nincs benne a tudástárban? (egyik ismert lehetséges értelmezés sem a helyes) • A többi jelölt mellett indítunk egy „egyik sem” jelöltet is
A Magyar WordNet automatikus kiterjesztése szelekciós preferenciákat ábrázoló szófajközi relációkkal
Az alapprobléma • Szófajok közötti relációk a WordNetekben – Princeton (angol) WN: csak derivációs kapcsolatok: research-researcher, engage-engagement
– Magyar Wordnet (HuWN): nincsenek szófajközi relációk!
• Cél1: igei argumentumok szemantikai típusainak tanulása korpuszból – HuWN ontológia felhasználásával – Pl. eszik.valamit: {étel}, ír.valamit: {írásmő}
• Cél2: HuWN gazdagítása új ige-fn relációkkal – Pl. {iszik.v} --/case=ACC/--> {folyadék.n}
• Cél3: MTA-PPKE magyar elemzı támogatása A vizem issza a kutyám. SUBJ, V, OBJ? Nem iszik.ACC: {folyadék} kutya ∉ {folyadék} víz ∈ {folyadék}
Magyar igei argumentumok • (Morfo)szintaktikai megkötések: esetragok, névutók figyel valamiRE, elkezdıdik valamiØ, odaéget valamiT, érdeklıdik valami UTÁN
• Idiomatikus „vonzatok” HANGOT ad valamiNEK, issza a SZAVÁT, NAPVILÁGRA hoz, TENYERÉN hordoz
• Szemantikailag produktív vonzatosztályok eszik.ACC: {étel, ennivaló}, ír.ACC: {írás, írásmő}, kiönt.NOM: {víz, víztömeg}
• Egy argumentumpozícióhoz több szemantikai típus is tartozhat: –Iszik.ACC: víz, sör, bor, tej, … {folyadék} pohár, csepp, korty, … {becsült mennyiség} –Különbözı valószínőségekkel (korpusz alapján)
A módszer 1. Igei bıvítmények listázása nagy korpuszból, minden bıvítményhez külön-külön Pl. iszik.ACC: sör:583, bor:581, víz:459, …
2. Típusok automatikus általánosítása a szavakból: HuWN csomópontok hipernima-algráfok szemantikai osztályok Több jó is lehet
iszik.ACC (MNSZ/Mazsola): Rang
Szó 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
sör bor víz kávé sok tea mi korty valami több tej pálinka egy kevés lé annyi konyak maga alkohol az ital rum pezsgő vodka ami
Gyakoriság 583 581 459 318 311 238 217 206 204 196 161 138 105 97 96 95 94 89 86 83 77 65 61 57 56
Rang
Szó 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
whisky vér fröccs kóla jó szó vörösbor ez ásványvíz fekete folyadék semmi elég mennyi narancslé kakaó üdítő szesz pertu nagy áldomás ennyi gyümölcslé gyógytea sor
Gyakoriság 54 53 51 46 46 46 46 42 42 40 37 36 35 34 26 24 24 23 23 22 20 17 17 16 16
Ezt szeretnénk…
case=ACC case=ACC case=ACC idiom=Y ES
Kapcsolódó munkák • Szelekciós megkötések feltérképezése • Resnik (1996, 1998) • LDA-s módszerek: Ritter et al. 2010, Rink et al. 2013, Guo-Diab 2013 • Nem csak direct object, hanem összes vonzatpozíció vizsgálata (Brockmann-Lapata 2003) • Nem csak az argumetumokra jellemzı szavak (pl. Erk 2007, Tian 2013), hanem szemantikai típusok azonosítása (Resnik 1998, Guo-Diab 2013) • Mennyire használható a WordNet szemantikai szelekciós megkötések ábrázolására (Mechura 2010, Jezek-Hanks 2010)?...
Erıforrások • Mazsola – MNSZ (187 millió sz.szó) alapján – 20.24M tagmondatban: ige + jellemzı bıvítményei (NP-k feje)
• NYTI—MetaMorpho Hu-En igei vonzatkeretek – 33.000 vonzatkeret-leírás 18.000 igetıhöz – Kötelezı és opcionális bıvítmények: lexikai, morfoszintaktikai, szemantikai megszorítások
• Magyar WordNet – 33.530 fınévi, 3.607 igei synset – 2.805 igei synsethez 7.096 Mmo vonzatkeret hozzárendelve
Az algoritmus • Bemenet: adott ige adott bıvítményeként elıforduló szavak gyakorisági listája • Kimenet: az input szavakat általánosító hipernima-algráfok (= HuWN synsetek) súlyozott listája • Követelmények az output algráfokkal szemben: – Lefedettség • Minél több input szót tartalmazzon
– Sőrőség • Minél nagyobb arányban tartalmazza ezeket
– Használható általánosításokat adjon • Pl. {entitás}: túl általános, keveset mond
Az algoritmus lépései 1. Jelöltek elıállítása: minden synset minden lehetséges hipernima-útvonalon minden input szóból a csúcs(ok)ig. 2. Jelöltek szőrése: csak 1 input szót lefedı, attól 1 élnél távolabbi synsetek kizárása (semmitmondó általánosítások) 3. Jelöltek pontozása: lefedettség * sőrőség
(c: jelölt synset, subgr(c): c-bıl kiinduló algráf, Ic: subgr(c) által lefedett input szavak)
4. N legjobb jelölt visszaadása
Eredmények • Az algoritmus futtatása: 25.500 Mmo vonzatkeret 32.000 vonzatpozíciójához tartozó Mazsola gyakorisági listán • Egzakt kiértékelés: még dolgozunk rajta • Elızetes eredmények vannak
Elızetes eredmények 1. A legmagasabb pontot elért synsetek 6 kiválaszott ige-bıvítménypozíció-párra
…ugyanez fordítva: • {folyadék}: – – – – – – –
iszik.ACC kortyol.ACC kortyolgat.ACC megiszik.ACC szürcsöl.ACC tölt.ACC Vedel.ACC
• {ülıbútor}: – lefordul.DEL – ücsörög.SUP – ül.SUP
• {bőncselekmény} – gyanúsít.INS – vádol.INS
Elızetes eredmények 2. • Az iszik tárgyesető vonzatpozíciójához rendelt 5 legmagasabb pontot elérı synset
Mit iszunk?
Legmagasabb pontszám / legáltalánosabb?
De nem minden folyadék iható
És ebben is jók vagyunk…
Mindet (N legjobbat) megtartjuk: a jövıbeni felhasználás szempontja döntsön
Elızetes eredmények 3. • Az esetragok felıl nézve, az egyes igéktıl függetlenül, mik a leggyakoribb szemantikai kategóriák? • 31.500 ige+argumentum-pár: az elsı 3 HuWNsynset, 19 Humor-esetre összesítve
Elızetes eredmények 3: TER (-ig) vonzat 15 {idıszak:1} 10 {(hónap a Gergely-naptárban):0} 10 {idı:7} 9 {alapmértékegység:1} 8 {óra:6, perc:2}
Elızetes eredmények 3: DAT (-nAk) 47 {rokon:2, hozzátartozó:1} 44 {tapasztalat:1, élmény:1} 38 {gyerek:3, gyermek:2} 38 {kormány:3, kormányzat:1, végrehajtó hatalom:1} 37 {házasfél:1, házastárs:1, pár:6, társ:3}
Elızetes eredmények 3: CAU (-ért) 19 {segély:4, segítség:3, támogatás:7} 12 {dolog:13, valami:3} 9 {pénzegység:1, pénzügyi egység:1, monetáris egység:1} 9 {hely:9, pozíció:6, helyezés:3} 9 {érdek:1, kedv:5}
Elızetes eredmények 3: NOM (alanyeset) 592 {(hímnemő személy):0} 543 {(hónap a Gergely-naptárban):0} 517 {tapasztalat:1, élmény:1} 458 {kormány:3, kormányzat:1, végrehajtó hatalom:1} 433 {rokon:2, hozzátartozó:1}
További munkák • Kiértékelés – kézi annotációhoz képest – Mmo szemantikai jegyekhez képest (ANIMATE, HUMAN, ANIMAL, TIME, …)
• Pontozás további javítása – felhasználható még: – Korpuszgyakoriságok – Jelölt synset mélysége HuWN hierarchiában – Input szavak átlagos mélysége a synset algráfjában
• Új HuWN ige-fn kapcsolatok súlyozása – {iszik} −−/case=ACC, p=.81/−−> {folyadék} {iszik} −−/case=ACC, p=.15/−−> {alkohol}
• Idiomatikus vonzatok elkülönítése: automatikusan? – {iszik} −−/case=ACC, p=.04, idiom=YES/ −−> szó:1
• Több bıvítményt egyszerre kezelı modell – Pl. ad valamiT vs. hírT ad valamiRİL
• Milyen a bıvítmények típusait optimálisan leíró ontológia? • Mennyire alkalmazható az eljárás más nyelvekre?
Összefoglalás • Javasolt módszer igei vonzatpozíciók szemantikai típusainak azonosítására – Magyar WordNet ontológiáját használjuk – Hipernima-algráfok kiválasztása lefedettség, sőrőség alapján – Több célpont megjelölése is lehetséges
• HuWN relációrendszere bıvíthetı vele • Alkalmazások: – Mondatelemzés, szövegfeldolgozás támogatása – Szófajközi szemantikai kapcsolatok (pszicholingvisztikai) vizsgálata 46
Köszönöm a figyelmet!