FrameNet-alapú jelentéstani elemzés disztribúciós szóreprezentációk felhasználásával, neurális hálózattal – általános tervezési szempontok

Az előző bejegyzésben beharangoztam egy disztribúciós szóábrázolást használó jelentéstani elemzési modellt és kísérleti eszközt. A megoldandó feladat a szemantikai keretek és keretelemek beazonosítása, amelyek a FrameNet-ből származnak. A feladatot felügyelt gépi tanulás segítéségével „gyakorolja be” és hajtja végre a rendszer. A felügyelt tanítás tanítója olyan mondatokat tartalmaz, amelyekben a szavak FrameNet keret- és keretelem-címkékkel vannak manuálisan ellátva. Ezeket a mondatokat a FrameNet részeként terjesztett full-text annotation korpuszból veszem; a mondatok kétharmad részét betanításra, egyharmad részét kizárólag a rendszer tesztelésére használom. A feladat elvégzésének pontosságát mérem mind a betanítás, mind az ismeretlen mondatokkal elvégzett tesztelés során. A gépi tanulást neurális hálózatok alkalmazásával oldom meg, amely az egyetlen gépi tanulási keret, ami felépítésében, működésében utánozni, szimulálni próbálja az idegrendszeri folyamatokat. Úgy gondolom, hogy ez a megközelítés a kognitív szemantikai keret miatt is indokolt. A kísérletek során egyszerű hálózati topológiát és kisméretű hálózatokat használok, és igyekszem felderíteni és dokumentálni azt, hogy az alapvető paraméterek megválasztása hogyan hat az eredményekre.

Az itt javasolt rendszer jelentősen eltér a jelentéstani szerepcímkézés (Semantic Role Labeling, SRL) megszokott céljától és megvalósításától (lásd pl. Litkowski 2004, Baker és mtsai 2007). Az SRL rendszereket úgy oldják meg hagyományosan, hogy az általuk ismert (számukra betanított) összes keret és keret-elem címkét használják. Így a szavak olyan, értékkel felruházható szimbólumok, változók, melyek a címkézést végző rendszer kimenete alapján kapnak szemantikailag értelmes címkéket, ilyet vagy olyat, és ennek a folyamatnak a pontosságát mérjük.

Javaslatom nem egy ilyen univerzális rendszer kialakítását célozza meg, hanem olyan, egymással akár párhuzamosan, azonos időben működtethető alrendszerek létrehozását, amelyek egy-egy szemantikai keret felismeréséért, valamint az adott keretben értelmes keretelemek azonosításáért felelnek. Azért gondolom azt, hogy ez a teljes szemantikai elemzési feladat részfeladatra bontásának egy követendő módja és első lépése, mert a szavak neurális reprezentációja (lásd Pulvermüller 1999) – és ezen kívül a mondatok feldolgozásának lehetséges neurális modellje (pl. Van der Velde és de Kamps 2006)– épít arra, hogy a nyelvi jelenségek reprezentációja fizikailag adott helyen (in situ) “bekötött”, adott célra dedikált neuronok által valósul meg. Mindez nagyon logikus azt figyelembe véve, hogy a neurális hálózatokban a tudás a neuronok aktiválódási mintázatának felel meg, az idegsejtek közti kapcsolatokat és az azokon megjelenő aktivációs szinteket pedig nem tudjuk megcímkézni vagy különböző színűre színezni: adott neuron(csoport) aktiválódása egyfajta információt jelez. Hozzáteszem azt is, hogy az aktiválódás is különböző mértékű lehet, és egy későbbi feldolgozási lépésben ez szerepet kaphat – ez szintén eltér az adott jegyre nézve alapvetően bináris, igen/nem címkézési szokásoktól.

Ennek a megközelítésnek, az eset-specifikus szemantikai elemzésnek van egy másik érdekes tulajdonsága is. Induljunk el onnan, hogy egy mondatban – különböző célszavak hatására – a FrameNet-alapú elemzésekben is potenciálisan több keret is aktiválódik, ráadásul egyazon szó is egyszerre több, egymáshoz kapcsolódó keret aktiválódását okozhatja (ez utóbbi jelenséget egyébként a szerepcímkézéses feladatokban nem is kezeljük, a tanítónak használt mondatokból ez általában hiányzik), hiszen a FrameNet a keretek relációit is implementálja: léteznek pl. alkeretek (subframes), melyek nagyobb, komplexebb kereteknek a részei; egyes keretek használnak más kereteket (pl. a Shopping keret használja a Commerce_buy keretet), és a keretelemek is öröklődnek (pl. a Commerce_buy keret elemeket örököl a Getting kerettől, ami pedig az Event kerettől örököl, stb.). Ha teljes szerepcímkézést végzünk, akkor több keret aktiválódhat részben vagy egészben, de teljes „erővel”, aktivációs szinttel. Mideközben nem életszerű azt feltételezni, hogy az információk ilyen mennyiségét kezelje a beszélő és a hallgató beszéd közben, ha pedig ezen információk szelektív eldobása, elnyomása vagy éppen kiemelése is feladat, akkor ezt is meg kell oldani valahogyan. A neurális hálózatok erre egyszerű, homogén rendszerben kínálnak megoldást, adott (beszéd)szituációtól függően segíthetik vagy elnyomhatják neuronok aktiválódását, és mindezt képesek „begyakorolni”, megtanulni. A beszélő és a hallgató adott kereteket, adott kereteken belül pedig kiválasztott keretelemeket szelektív módon aktiválhat vagy elnyomhat, akár egy éppen aktív keretrendszer hatására (ami tükrözheti azt, hogy pl. milyen helyzetben vagyunk, ott éppen mire figyelünk, ki beszél hozzánk, stb.), de megvalósíthat permanens, állandósult szubjektív szempontokat is (tehát hogy általában kinek mi a fontos – pl. bizonyos tárgyak birtoklása vagy megvásárlása, hogy a Commerce_buy keretnél maradjunk). Ez azért sem elhanyagolható szempont, mivel a kognitív szemantika elismeri, hogy a nyelv arra is való, hogy a beszélőnek a „tényálláshoz való viszonyát (’attitűdjét’) is kifejezésre juttassuk”, ami adott esetben még fontosabb is, mint a nyelv objektív funkciója (Kiefer 2007:26).

A számítógépes nyelvész szemszögéből ugyanakkor számos esetben nem feladat, hogy a szemantikai keretek egy óriási tárháza megjelenjen az elemzésben. Pl. témafigyelés vagy információ-visszakeresésre esetén egy-egy kiválasztott keretnek (és elemeinek) felismerése elég lehet.

Implementációs szempontból célom az is, hogy a rendszer úgy szolgáltasson információt a számítógépes elemzés során a mondat jelentéséről (annak a keretszemantika eszközeivel megragadható aspektusairól), hogy mindeközben ne támaszkodjon olyan részfeladatok láncolatára, amelyek megoldása eleve szemantikai információk meglétét előfeltételezné, vagy más okból bizonytalanságot, hibát vezetne be a rendszer működésébe, a következők miatt.

Az előző blogposztban írtam arról, hogy a szójelentés-egyértelműsítés feladata emberek számára is nehezen kezelhető (lásd Snyder és Palmer 2004). A számítógépes nyelvészetben a szójelentés-egyértelműsítés (Word Sense Disambiguation, WSD) szakirodalma ugyanilyen tapasztalatokról számol be. Célszerűbbnek látszik az a megközelítés, amelyben egy feladat megoldása során nem támaszkodunk egyértelműsített jelentésekre. A WordNet-alapú megoldások gyakorlatilag mind érintettek ezzel a problémával (akkor is, ha ezt a szerzők gyakran meg sem említik), amennyiben nem szóalakokkal, hanem szinonimahalmazokkal dolgoznak. A disztribúciós szemantika ebből a szempontból más, csupán a szóalak behatárolása szükséges (lásd ugyanakkor a következő bekezdést is a tokenizálásról). A FrameNet használata szintén egy lépés a lexikai többértelműség elkerülése felé, hiszen egy adott kereten belül – legalábbis az eseteket felidéző – lexikális egységek (LU) egyértelműek. Ez persze azt is jelenti, hogy egy többértelmű LU potenciálisan több különböző keretet tud felidézni, ezt próbálom ugyanakkor azzal ellensúlyozni, hogy a kereteket nem egy szóalak fogja a javasolt rendszerben felidézni, hanem az adott lexikai egység disztribúciós tulajdonságai és a mondatban szereplő többi szó disztribúciós tulajdonságainak együttes jelenléte. A disztribúciós tulajdonságok feldolgozását (megtanulását, használatát) egy neurális hálózat végzi el.

Talán találkoztak már olyan helyzettel, amikor a tokenizálás elégtelensége elemzési tévutakhoz vezet. Többszavas kifejezéseknél (pl. neveknél) ez gyakran jelentkező probléma. A szóösszetételeket szintén képtelenség teljes körűen felsorolni. Az itt javasolt rendszerben nem tokenizált adatokkal, hanem szóközökkel határolt sztringeknek nagy korpuszban megfigyelt disztribúciós tulajdonságaival dolgozunk. Hozzáteszem, hogy egy előfeldolgozó, ami tokenizálást/darabolást végez, ettől még hasznos lehet, és adott esetben ez nem is bonyolult feladat. Tulajdonneveknél például a nagy kezdőbetűk használata egy erős információ a helyesírási konvencióknak köszönhetően; főnév-főnév összetételek felismerésében pedig a szintén egyszerűen megoldható szófaji címkézés segíthet sokat. Egy ilyen funkciójú előfeldolgozó eszköz használatát nem zárom ki a rendszer későbbi fejlesztése során, de az eszközrendszer homogenitásának megőrzése érdekében ezt ebben a fázisban még kerülöm.

Szintén az egyszerűség jegyében mind a lemmatizálást/szótövezést (a szótári alak vagy a szótő előállítását és annak felhasználását a disztribúciós jellemzés során), mind a mondattani elemzést mellőzöm a kezdeti kísérletekben. Létezik szakirodalmi adat arra vonatkozóan, hogy az angol nyelvben a lemmatizálás és a szótövezés nem járul hozzá a disztribúciós szemantikai rendszerek sikeréhez (Bullinaria és Levy 2012). A mondattani elemzést más ok miatt kerülöm: ez ugyan alapvetően megváltoztathatja egy szerepcímkéző rendszer működését, de a disztribúciós elemzéshez szükséges méretű korpuszok esetén már nagyon „költséges” folyamat, ráadásul az általa bevezetett hiba és többértelműség is jelentősen befolyásolhatja az eredményt (így pedig nehéz lenne vizsgálni a disztribúciós szemantikának és a gépi tanulórendszernek a hatékonyságát a feladat megoldása során). Egy későbbi fázisban lesz érdemes a mondattani elemzést is bevonni a vizsgálatba.

A fenti elvek szerint működő rendszert 2014 végére létrehoztam és leteszteltem FrameNet-ből vett adatokkal. A tapasztalatokról 2015. január 31-én, a debreceni HUSSE konferencián számoltam be először. Mivel cikket a témában még nem publikáltam, így a konferenciaelőadás, valamint az arról szóló, most következő blogbejegyzés mutatja be először nyilvánosan ezt a rendszert.

Tóth Ágoston

 

Hivatkozások

Baker, C.F., Ellsworth, M. & Erk, K. (2007): SemEval-2007 Task 19: Frame Semantic Structure Extraction. In Proceedings of the Fourth International Workshop on Semantic Evaluations (SemEval-2007), 99–104.

Bullinaria, J.A. & Levy, J.P. (2012): Extracting semantic representations from word co-occurrence statistics: stop-lists, stemming and SVD. Behavior Research Methods 44, 890–907.

Kiefer, F. (2007): Jelentéselmélet (2. kiadás). Budapest: Corvina.

Litkowski, K. (2004): Senseval-3 task: Automatic labelling of semantic roles. In Mihalcea, R. & Edmonds, P. (eds.): Senseval-3: Third InternationalWorkshop on the Evaluation of Systems for the Semantic Analysis of Text, 9–12.

Pulvermüller, F. 1999. ‘Words in the brain’s language’ in Behavioral and Brain Sciences. 22, pp. 253-279.

Snyder, B. & Palmer, M. (2004): The English all-words task. In Proceedings of the 3rd International Workshop on the Evaluation of Systems for the Semantic Analysis of Text (Senseval-3, Barcelona, Spain), 41–43.

van der Velde, F. and de Kamps, M. 2006. ‘Neural blackboard architectures of combinatorial structures in cognition’ in Behavioral and Brain Sciences, 29, pp. 37-70.

Érti?

Érti a számítógép az emberi nyelvet?

Látva azt, hogy a Google fordító – és az ahhoz hasonló rendszerek – néha egészen használható fordításokat adnak (és hogy mobiltelefonunk megérti a kimondott szavakat, számítógépünk beszélni tud hozzánk, kijavítja helyesírásunkat és nyelvtani hibáinkat, stb.) azt gondolhatnánk, hogy a mondatok jelentésének értelmezése már megoldott feladat, legfeljebb néha kicsit téved a gép.

A számítógépes nyelvészetben sok részfeladat egészen jól megoldott. A nyelvtani szabályokat alkalmazva szavakról és mondatokról hasznos jólformáltsági döntéseket hozhatunk, valamint kaphatunk (gyakran egy egész sor) lehetséges elemzést. Statisztikákkal szintén sok feladat jól megoldható. Például a szófaji címkézés (POS tagging) nagy pontossággal végrehajtható. Nagy párhuzamos korpuszok feldolgozása után pedig mondatokat fordítunk egyik nyelvről a másikra, azaz kiszámítjuk, hogy mi a legvalószínűbb fordítása egy mondatnak – úgy, hogy a mondatok jelentéséről igazából nem szeretnénk megtudni különösebben semmit, sem a forrás-, sem a célnyelven. A Google translate is ilyen. A beszédfeldolgozás hasonló módon, rengeteg meglévő információt felhasználva, de jelentéstani szempontból vakon dolgozik.

Szavainkról sok információval rendelkezünk (szótárakban, lexikális adatbázisokban vagy éppen a disztribúciós szemantika eszközeivel korpuszokból kinyerve), de amikor egy mondatot szeretnénk értelmezni ilyen tudás birtokában, többféle akadállyal szembesülünk. Gondoljunk csak arra, hogy szavaink többértelműek, egyértelműsítésük pedig az emberek számára is kihívást jelent. Egy olyan kísérlet során, amelyben egy korpusz szavait jelentéstani címkékkel látták el erre felkészített emberek (korpuszannotátorok), megmérték azt, hogy a résztvevők közötti egyetértés (inter-annotator agreement) mekkora. A kapott eredmény elég kiábrándító volt: a Senseval-3 adathalmaz esetében pl. 72.5% (Snyder és Palmer 2004:41), más helyeken pedig ennél inkább csak rosszabb eredményeket látunk, különösen ha a WordNetre jellemző “finomságú” jelentéskülönbségekkel is dolgozni kell. Ráadásul ezen a ponton még csak 1-1 szó jelentését próbáljuk tisztázni (egy mondatban potenciálisan rengeteg ilyen probléma adódik), valamint szintén számolni kell a nyelvtani eszközök használata során keletkező többértelműséggel (pl. hatókörök, PP-attachment), ezért azt is mondhatjuk, hogy a mondat jelentésének sikeres elemzése inkább egy távoli cél (délibáb?) a horizonton.

Amikor a szavak jelentéséből próbáljuk meg ilyen módon összeállítani a mondat jelentését, a mondatbeli nyelvtani jelenségeket is figyelembe véve, akkor a jelentéskompozíció felségvizeire vitorlázunk. Kompozicionalitás témában Frege (1884) hivatkozása szinte kötelező, ezen kívül Szabó (2000) könyvét ajánlom az olvasó figyelmébe.

A disztribúciós szemantika is túllépett azon, hogy megelégedne annak a lehetőségével, hogy szavak jelentését összehasonlítsa azok korpuszbeli disztribúciói alapján. Elsőként vegyük szemügyre Kintsch (2001) Predication elnevezésű modelljét a következő példán keresztül:

(1) The horse ran.

Kintsch célja az, hogy a ran(horse) predikátum más szavakkal való kompatibilitását mérje. A ran múlt idejű ige korpuszbeli szomszédjainak megfigyelésével hasonlósági értékeket kalkulál a ran-stopped, ran-down, ran-hopped párokra, majd pedig egy neurális hálózat felépítéséhez használja fel a kiszámolt értékeket. A run, stopped, hopped, down szavak egy-egy idegsejtként működnek egy mesterséges neurális hálózatban, a ran-stopped, ran-down és ran-hopped neuronközti kapcsolatok súlya pedig a disztribúciós hasonlósági értékekre vannak beállítva (ezzel egyébként a betanítás fázisát elkerülve). A stopped, down és hopped szavak között olyan kapcsolatok vannak, melyek egymás aktiválását akadályozzák („inhibitory links”). A neurális hálózatot működtetve, futtatva, tehát a ran és a horse idegjesteket aktiválva és további neuronokat a súlyozott kapcsolatokon keresztül aktiválva azt találjuk, hogy a stopped szó a leginkább kompatibilis a ran(horse) predikátummal. Ez egy olyan információ, ami már nemcsak egy szó, hanem adott esetben egy teljes mondat jelentéséről árul el valamit (ettől persze még nem fogjuk tudni lefordítani magyarra, de a semminél ez is több).

A kompozicionális disztribúciós szemantikai modell (Compositional Distributional Semantics Model, cDSM) a disztribúciós szemantika olyan továbbfejlesztése, ahol a szavaknál nagyobb egységek jelentését próbáljuk közelíteni közvetlenül a szóra jellemző jelentésvektorok kompozíciójával. Mitchell és Lapata (2008, 2010) a kiindulópontja ezeknek a kutatásoknak. Mitchell és Lapata melléknév+főnév, főnév+főnév és ige+tárgy szókapcsolatokat vizsgálnak, a disztribúciós szemantika geometriai modelljét úgy továbbfejlesztve, hogy a szópárokat alkotó szavak tulajdonságvektorainak kompozícióját állítják elő. A kompozíció lehet vektor összeg vagy szorzat; többféle megoldással kísérleteztek. Eredményeiket olyan adatsorral hasonlították össze, melyet a vizsgált szókapcsolatok egymással mutatott hasonlóságának emberi megítéléséről gyűjtöttek pszicholingvisztikai kísérletben. Kutatásukat sokan sokféle célra használták már, teljes mondatok jelentésének közelítésére (mondatok hasonlóságának megállapítására) is. Ez a kutatási terület aktív és vonzó, ráadásul kapcsolódik más, eredetileg nem disztribúciós szemantikai területhez is, pl. az előfeltevések számítógépes nyelvészeti tanulmányozásához. A kutatás során alkalmazott formális szemantikai keret pedig általában is szép és rendezett módon modellezi a valóságot, világos igazságfeltételekkel operál, a világ valamilyen modelljének tényállásait segít rögzíteni. A kompozicionalitás elve (amit Kiefer 2007:18 így fogalmaz meg: „A mondat jelentése – a mondat szintaktikai szerkezetének ismeretében – levezethető a mondat alkotóelemeinek jelentéséből”) jól megragadható a formális szemantika eszköztárával. Mindeközben használhatunk kvantorokat, hatóköri viszonyokat ábrázolhatunk, kifejezhetünk implikációt, tagadhatunk, stb. Kiefer így foglalja össze a formális szemantika fontos tulajdonságait (Kiefer 2007:19):

  1. a vonatkozás problémáit vizsgálja (…),
  2. a jelentést igazságfeltételekkel igyekszik megfogalmazni,
  3. feltételezi, hogy a jelentés kompozicionális és
  4. a jelentést formális (logikai) eszközökkel ábrázolja.

Miközben a kompozicionális disztribúciós szemantika máris nagyon népszerű a szakirodalomban, egy másik jelentésközelítésre is szeretném felhívni a blog olvasóinak a figyelmét.

A kognitív nyelvészet a nyelvi jelentés és megismerés szoros kapcsolatára épít. A nyelvi jelentés befolyásolja (meghatározza?) a megismerést, a világról való gondolkodást (lásd Kiefer 2007:20, és javaslom a Sapir-Whorf elmélet tanulmányozását is). Kiefer így foglalja össze a kognitív szemantika jellemző tulajdonságait (2007:25):

  • a szószemantikát helyezi a kutatás középpontjába,
  • nem törekszik formalizálásra,
  • jelentésábrázolásai sohasem fogalmaznak meg olyan feltételeket, amelyek egyértelműen meghatározzák a jelentést.

Míg egy formális szemantikai modellben másodlagos az, hogy a mentális (esetleg a neurális) modellezés milyen igényeket támaszt (és eleve egy absztrakt és formalizált modellel dolgozik), a kognitív modellekből a mentális modellezés nem kihagyható. Ez egyébként a disztribúciós szemantika kutatásmódszertanával harmonizáló álláspont, hiszen a disztribúciós szemantika egyik sarokköve a korpuszalapú és a pszicholingvisztikai kísérletekben tapasztalt (hasonlósági vagy előfeszítéses) adatok korrelációja.

Jelenleg eléggé eltérő jelenségeket tud megragadni a kognitív nyelvészet és a formális szemantika; bizonyos helyzetekben az egyik, más helyzetekben a másik a jobban alkalmazható. Úgy tűnik, hogy ezek a megközelítések jól kiegészítik egymást.

A disztribúciós szemantika felhasználása a kognitív nyelvészetben kevésbé jól kutatott terület, mint a kompozicionális disztribúciós szemantika. Két kutatásra szeretném felhívni ezen a ponton a figyelmet. Pennacchiotti és mtsai (2008) disztribúciós szemantikát használnak arra, hogy olyan lexikai egységeket kutassanak fel, amelyek segítségével FrameNet esetkereteket lehet felidézni akkor is, ha eredetileg azok a FrameNet adatbázisban nem szerepelnek. Korábban is írtam már a FrameNetről a blogon, most röviden csak annyit, hogy a lexikai egységek mondatbeli jelenléte alapján beszélünk egy szemantikai keret megjelenéséről, a mondat összetevői pedig ennek a keretnek a keretelemei lehetnek. Az adatbázis hosszasan listázza azokat a szavakat, amelyek egy-egy keret felidézésére használhatók, ezen lexikai egységek halmaza bővíthető tehát korpusz-alapú, automatikus módszerekkel. Hermann és mtsai (2014) is keret-azonosításra használnak disztribúciós adatokból készült, szavakat környezetét és mondattani jellemzőit is kódoló, disztribúciós információn alapuló ún. beágyazásokat (embeddings).

Miért érdekes mindez? A számítógépes nyelvészet úgy old meg feladatokat, hogy közben a mondatok jelentéséről kétségbeejtően kevés ismerettel rendelkezik, általában hozzávetőleges fogalma sincs arról, hogy mi a mondat jelentése. (Mint láttuk, ez annak ellenére is így van, hogy egy-egy szóról rengeteg információnk van és bizonyos nyelvtani jelenségeket is jól meg tudunk ragadni). A keretszemantika ahhoz ad hatékony eszközt, elméleti keretet és nyelvi erőforrást (FrameNet), hogy a mondat jelentéséről átfogó ismereteket szerezzünk.

Példaként gyakran választják a FrameNet Commerce (kereskedelem) szemantikai kereteit. Nézzük meg például a Commerce_buy keretet. A FrameNet adatai alapján a következő lexikai egységek idézhetik fel ezt a keretet: buy, buyer, purchase, purchaser. Ezek egyikének mondatbeli jelenléte elég a keret felidézéséhez, a mondat további szavai és összetevői pedig megvalósíthatják a következő keretelemeket: Buyer, Goods, Money, Place, Purpose, Seller, Manner, Means, stb.

A számítógépes nyelvészetben a szemantikai elemzésnek ez egy létező, kutatott területe, amit általában a jelentéstani szerepcímkézés (Semantic Role Labeling, SRL) névvel illetünk. A disztribúciós szemantika és az SRL kapcsolata már kevésbé jól kutatott; a két fentebb idézett tanulmányt ajánlom ebben a témában az érdeklődők figyelmébe (Pennacchiotti és mtsai 2008, Hermann és mtsai 2014).

Jelenlegi célom az, hogy a FrameNet-alapú szemantikai elemzéshez egy olyan modellt javasoljak (és kísérletek során kipróbáljak), amely a disztribúciós szemantika és a jelentéstani szerepcímkézés szakirodalmába illeszkedik, ugyanakkor újszerű megoldást ad erre a feladatra.

Tóth Ágoston

Hivatkozások

Frege, G. (1884): Die grundlagen der arithmetik. Breslau, Germany: W. Koebner.

Hermann, K.M., Das, D., Weston, J. & Ganchev, K. (2014): Semantic Frame Identification with Distributed Word Representations. In Proceedings of ACL.

Kiefer, F. (2007): Jelentéselmélet (2. kiadás). Budapest: Corvina.

Kintsch, W. (2001): Predication. Cognitive Science 25, 173–202.

Mitchell, J. & Lapata, M. (2008): Vector-based models of semantic composition. In Moore, J., Teufel, S., Aller, J. & Furui S. (eds.) Proceedings of ACL-08: HLT, Columbus, OH., Stroudsburg, PA: ACL Press, 236–244.

Mitchell, J. & Lapata, M. (2010): Composition in Distributional Models of Semantics. Cognitive Science 34, 1388–1429.

Pennacchiotti, M., Cao, D.D., Basili, R., Croce, D. & Roth, M. (2008): Automatic induction of FrameNet lexical units. In Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing (EMNLP-08), 457–465.

Snyder, B. & Palmer, M. (2004): The English all-words task. In Proceedings of the 3rd International Workshop on the Evaluation of Systems for the Semantic Analysis of Text (Senseval-3, Barcelona, Spain), 41–43.

Szabó, Z.G. (2000): Problems of Compositionality. Routledge. Abingon & New York, NY.

The Company that Words Keep: Distributional Semantics

2014 szeptemberében a Debreceni Egyetemi Kiadó gondozásában megjelent disztribúciós szemantikai témájú könyvem, melynek címe:  The Company that Words Keep: Distributional Semantics.

Könyvborító

Adatai:  Tóth Ágoston (2014). The Company that Words Keep: Distributional Semantics.
Debrecen: Debreceni Egyetemi Kiadó. 158 p.
ISBN 978 963 318 449 3

Itt belepillanthat a tartalomjegyzékbe (kattintásra nagyobb lesz):

konyv TOC blogra

Ez a könyv nem jött volna létre a Nemzeti Kiválóság Program támogatása nélkül, amit ezúton is köszönök! További részletek a nyitóposztban (a lap alján) és a Blogról lapon (a menüről elérhető).

Bevezetés a disztribúciós szemantikába – oktatási segédanyag

Készítettem egy oktatási segédanyagot a disztribúciós szemantika oktatására. Ez más, mint amit az osztályteremben frontális oktatásra általában használok (oda PowerPoint diákat és interaktív programdemót viszek), de így távolból ez használhatóbb lehet. Nézzenek bele, próbálják ki. Ajánlott irodalom és a feladatokhoz megoldókulcs mellékelve. Letöltés (PDF)

Az ‘élet’ értelme

Készülő könyvem bevezető fejezetében bemutatom többek között azt, hogy mit tudhatunk meg a disztribúciós szemantika egyszerű eszközeivel 50 millió szónyi Wikipedia adat feldolgozása során a life szó jelentéséről, milyen más szavakhoz találjuk hasonlónak, ill. így is kérdezhetjük akár, kicsit színpadiasan: mi az ‘élet’ értelme?

 

elet ertelme

The meaning of ‘life’ extracted with spaceXplorer from Wikipedia

 

50 millió szó feldolgozása után tehát a life szó jelentéséhez leginkább hasonlít például: work, time, experience, love, people, nature, activities, community, development, relationship, story, history, knowledge, book, man,  woman, stb.

Ön melyiket választaná leghasonlóbb szónak?

Megjegyzések:

  • Persze az intuitíve zajnak minősülő, vagy egyszerűen csak kevéssé magyarázható szavakat tendenciózusan szűrtem a fenti válogatásból. Az eredeti lista jól látható a képernyőfotó “Compatibility list” oszlopában.
  • A vizsgálati paramétereket szintén a képernyőfotón látja, magyarázatuk a spaceXplorer programról szóló posztban. Más paraméterbeállítások mellett részben más kísérleti eredmények várhatók.

Chicago, hunyorítva

Chicagóhoz hasonlatos szavakat keresünk a spaceXplorer programmal. Mi lesz a leghasonlóbb?

chicagoPIC

a) Valami vicces szó, aminek semmi köze Chicagóhoz?

b) Esetleg Debrecen?

Debrecen

c) Boston?

Boston

d) Sydney?

Sydney_skyline_at_dusk_-_Dec_2008

A spaceXplorer elemzés eredménye 50 millió szó feldolozása után:

chicago

Ahogyan az utolsó oszlop (Compatibility list) mutatja, a Chicago szóhoz leghasonlóbb persze önmaga lett, de ez inkább csak a teljesség igénye miatt jelenik meg a listán (kiválóan láthatjuk így, hogy a lista elején állunk, más haszna nincs). A fenti a-d opciók közül pesszimistán fogadhattunk volna az a) -ra (random vicces szó), mivel itt a Wikipedia 8000 leggyakoribb szavából válogatunk úgy, hogy mindössze 1+1 szót vizsgálunk a célszavak környezetében.  De nem: ahogyan a képernyőfotó mutatja, városokat kaptunk a lista elején. Debrecen sajnos nem szerepel a 8000 leggyakoribb szó között, úgyhogy a b) válasz kiesett. Sydney és Boston közül a nyertes: Boston.

Boston

Mondhatjuk azt, hogy “hát persze”, hiszen az USA két városáról beszélünk, és ha ennyit nem tudunk megállapítani, akkor semmit sem tudunk. Azért persze ez nem ennyire egyszerű, főleg úgy, hogy csupán 1+1 szót (bal- és jobbszomszéd) dolgoztunk fel a Chicago és Boston szavak tulajdonságvektorainak összeállítása során, és semmilyen korpuszannotációt vagy nyelvészeti tudást nem használtunk. Ahogyan a fenti szólistán látszik, még a tulajdonnevek helyesírási szabályaira sem támaszkodtunk, hiszen feldolgozás során minden szó kisbetűs lett. A kísérletben azt kapjuk, hogy a Chicago és Boston szavak a disztribúciós szemantikai elemzésben jobban hasonlítanak egymásra, mint Chicago és London vagy Chicago és Budapest, esetleg Chicago és car. Úgy is tekinthetünk minderre, hogy sikerült kigyűjtenünk sok-sok városnak a nevét mindenféle földrajzi adatbázis vagy tudás használata nélkül. Ez vajon már a Mesterséges Intelligencia?

(Városképek: Wikipedia)

Konkordanciák készítése a spaceXplorer programmal

Ebben a bejegyzésben a saját készítésű spaceXplorer program konkordanciakészítő funkcióját mutatom be.

Konkordanciakészítés során egy vagy több szó illetve kifejezés előfordulásait keressük meg és listázzuk szövegkörnyezetben. A konkordanciák kutatási segédeszközök, amit főleg kvalitatív vagy kisebb lélegzetvételű kvantitatív kutatásokban, de akár a nyelvtanulásban is használhatunk, megfigyelhetjük velük a szavak használatát, különböző jelentések megjelenését, mintázatokat. Egy szokásos KWIC (keyword in context) konkordancia így néz ki. Figyeljük meg, hogy a kulcsszavak egy oszlopba tabulálva láthatók, jelen esetben a kulcsszót megelőző szavak abc sorrendben következnek. Itt van egy másik példa.

Konkordanciákat már jóval az elektronikus számítógépek létrehozása előtt készítettek. Általában a Bibliát, ritkábban egy-egy író vagy költő munkáit dolgozták fel ezzel a módszerrel. A munka évekig vagy évtizedekig tartott, az eredményt nyomtatott (még korábban: kézzel írt) kötetekben gyűjtötték össze, minden (vagy minden fontosnak tartott) szóra elkészítve a konkordanciát.

Az elektronikus számítógépek megjelenése a II. világháború után ezt a területet gyökeresen megváltoztatta, első lépésben azzal, hogy a számítógépek az embereknél sokkal gyorsabban és pontosabban tudták ezt a feladatot elvégezni. A szövegek bevitele, begépelése vált a legidőigényesebb feladattá, a többi lépést, tehát a szólisták elkészítését, szavak indexelését, konkordanciák listázását a számítógépek már gyorsan elvégezték a megfelelő program megírása után. A folyamat ekkor még nem volt interaktív: az eredményre nyomtatott formában számíthattunk, és nem 1-1 szóra, hanem tipikusan a szöveg összes szavára kellett a nyomtatott változatot elkészíteni.

A személyi számítógépek megjelenése lehetővé tette, hogy ne kelljen a konkordanciákat kinyomtatni, hanem a monitor előtt ülve otthon vagy irodánkban elkészíthetjük az éppen szükséges konkordanciákat, valamint az utófeldolgozást is megkezdhetjük (pl. a sorok megfelelő rendezését kérve a programtól, alapstatisztikákat készítve, esetleg kollokációkat keresve).

A spaceXplorer programmal a szavak összehasonlítása során konkordanciát is lehet készíteni. Ez a konkordanciakészítés egy teljesen új iránya, hiszen tradícionális módon, meglévő eszközökkel szintagmatikus relációkat tudunk vizsgálni, míg a szavak disztribúciós tulajdonságainak összehasonlításával paradigmatikus relációkat keresünk. A spaceXplorer program használata során, miután a vizsgálatba bevont célszavakat jellemző tulajdonságmátrix elkészül (a meglehetősen nagyméretű korpusz feldolgozása nyomán), a felhasználó az előző blogposztban bemutatott módon kiválaszt egy célszót, a program pedig megadja, hogy melyik további célszó milyen mértékben kompatibilis a kiválasztottal.

majus1

A fenti képernyőfotón az látszik (kattintás után nagyobb méretben is), amint 50 millió feldolgozása után kijelöltük a river célszót, majd a többi célszó (a korpusz 7999 leggyakoribb szava) csökkenő kompatibilitási sorrendben megjelent a Compatibility list oszlopban (a lista eleje, illetve nagyobbik része itt nem látható, ezen a ponton már kikerestem és kijelöltem a bank szót, amire a konkordancia készül).

A Concordancer fül kiválasztásával aktiválható a konkordanciakészítő felület.

majus2

Első lépésben meg kell adnunk, hogy hány sort szeretnénk kapni a konkordanciában, valamint azt, hogy a megadott konkordancia kulcsszót, ebben a példában: bank) tartalmazó mondatban hány környezetszó megjelenését várjuk. A konk. kulcsszót tartalmazó mondatokban a program kiszámolja, hogy milyen kompatibilitási érték mellett cserélhető fel ez a szó (bank) a vektortérkísérletben kijelölt (VSM) célszóval (itt: river). Ez a feladat viszonylag gyorsan megoldható, mert a program a VSM kiszámítása során a korpuszt indexeli úgy, hogy a célszavak gyorsan visszakereshetők legyenek.

Ezen a ponton fontos kiemelni, hogy az angol bank szó egyrészt megfelel a magyar bank (“pénzintézet”) szónak, ugyanezt az alakot azonban használhatjuk “folyópart”, “tópart”, “töltés” értelemben is. Azt nem szeretném itt tárgyalni, hogy a poliszémia vs. homonímia megkülönböztetés milyen kérdéseket vet fel, de a „folyópart” és „töltés” jelentések közti különbség intuitíve is más fokú és talán más jellegű, mint a „folyópart” és „pénzintézet” különbözősége. A river kulcsszó kiválasztásával pedig azokat a mondatokat szerettem volna kiemelni és a konkordancia elejére állítani, ahol a konkordanciában a bank szó “folyópart” (“tópart”, “töltés”) értelemben szerepel.

A fenti képernyőfotón már az elkészített konkordanciát is láthatjuk. A konk. kulcsszót pirossal kiemelve és középre rendezve kapjuk, szövegkörnyezetben, ezután látjuk az adott példára kiszámolt kompatibilitási értéket (0-1 zárt intervallumban), valamint azon környezetszavak listáját, melyek a mondatban előfordulnak, és amelyek segítségével a kompatibilitási értékeket számolta a program. A sorok kompatibilitási érték szerint vannak sorrendbe rendezve.

Fenti példában a „Israel has created roads and checkpoints in the West Bank with the stated purpose of preventing the uninhibited movement of” mondat kapcsán mondhatnánk, hogy a bank folyópart értelemben használt, így a kapott eredmény (magas kompatibilitási érték) tulajdonképpen indokolt lenne. Azt azonban látnunk kell, hogy a West Bank egy név, egyben egy többszavas kifejezés, amit 1 tokenként lenne érdemes kezelni. Erről a program mit sem sejt, a korpuszban ez az információ nem elérhető. A második példa hasonló. A harmadik példában lévő blood bank elemzése nemcsak formai, hanem szemantikai szempontból is hibásnak tűnik, mivel a blood bank “vérbank” összetételben a bank használatát vélhetően annak pénzintézeti jelentése motiválja az angol nyelvben is. A program a fellelt környezetszavak alapján (march, department, clinical, laboratory, receives, cap, certification, blood), melyek a konkordanci adott sorában is fel vannak sorolva, mindenesetre azt állítja, hogy az adott mondatban a bank és a river kompatibilis. Arról nincs információja a programnak, hogy a blood bank szóösszetétel. Az első három sor mindenesetre rámutat a többszavas kifejezések kezelésének problémájára és fontosságára.

A negyedik mondatban („The earliest phase of the Stonehenge monument a circular earth bank and ditch dates to c BC…”) a bank szó „töltés” jelentésben látható. A következő sor pedig a viszonyítási pontként megadott river szó miatt leginkább várt „folyópart” jelentést tartalmazza: „… managed to reach the Americans at the Elbe’s west bank but many more did not among them the Swedish Company…”.

Az angol bank szó a homonímia iskolapéldája: ugyanaz az alak (legalább) két, teljesen különböző szót jelöl. (Szándékosan kerülöm az angol bank szó – pontosabban: szavak – esetében az etimológiai fejtegetést ezen a ponton, mert végül még kiderül, hogy mégis van kapcsolat.) A „folyópart”, „tópart”, „töltés” jelentések egyébként lényegesen kisebb gyakorisággal jelennek meg a korpuszokban a „pénzintézet” jelentésnél, így aztán egy hagyományos konkordanciában nagyítóval kellene keresni azokat a sorokat, amelyek valóban ezt a szójelentést hordozzák. A fenti képernyőfotón is látszik, hogy az éppen látszódó 73 sor többsége a pénzintézetet jelölő bank szót tartalmazza itt is. A szóhasonlósági vizsgálat keretében elkészített konkordancia esetében segítség a felhasználó számára, hogy automatikusan előre soroljuk azokat a korpuszpéldákat, amelyekben a konkordancia kulcsszó jelentése (potenciálisan) egy másik megadott szóval (kiválasztott VSM célszó) összhangban áll, azzal kompatibilis.

Végül azt szeretném még kiemelni, hogy az adatok értelmezéséhez, kiválogatásához, feldolgozásához továbbra is szükség van az emberi intuícióra. Mint ahogyan egy szintagmatikus viszonyok feltérképezésére felkészített megoldás esetében a kollokációk – gyakoriság, t-score vagy MI-score alapú – felderítése is potenciálisan releváns jelenségeket segít felfedezni, úgy ezzel a módszerrel is a jelentéshasonlóság nyomait, potenciális előfordulásait, talán releváns eseteit tesszük könnyebben észrevehetővé. Ezen a ponton a nyelvi tudás és intuíció továbbra is csak az ember fejében létezik, a disztribúciós szemantika fent bemutatott kvalitatív alkalmazása viszont segít azt láthatóvá tenni.

A blog fenntartását és a cikkek megírását pályázati támogatással végzem. A kutatás a TÁMOP-4.2.4.A/2-11/1-2012-0001 Nemzeti Kiválóság Program című kiemelt projekt keretében zajlott. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg.

Beszámoló a spaceXplorer program létrehozásának munkálatairól

Ebben a bejegyzésben egy általam fejlesztett (jelenleg tesztelés alatt álló) szoftvereszközt szeretnék röviden bemutatni, várva azok jelentkezését is, akik a programot szívesen kipróbálnák vagy később felhasználnák a munkájukhoz.

A disztribúciós szemantikai vizsgálatokhoz megfelelő szoftverre van szükség. Bár ilyen programok léteznek, ezek használata gyakran nehezen elsajátítható, esetleg programozási ismeretekre és munkára is szükségünk van a kitűzött cél eléréséhez, valamint néhány célra nem éppen megfelelőek. A munka szokásos menete az, hogy a szoftver telepítése, beállítása után a vizsgálathoz szükséges korpuszt is előkészítjük, a parancssorról elindítjuk a programot, majd megkapjuk az eredményt egy fájlban, amivel szükség esetén tovább dolgozunk. Legtöbbször kvantitatív vizsgálatokat végzünk, melynek csak a számszerű eredményei érdekesek – ha mégis szeretnénk a kapott eredmények mögé látni, akkor ismételten az informatikai találékonyságunkra kell támaszkodnunk, esetleg programozunk.

Túl azon, hogy a programozási feladatok is megoldhatatlan nehézséget okozhatnak a terület iránt érdeklődők számára, ez a munkamenet eleve nem megfelelő a következő esetekben:

  • interaktív módon megoldandó kvalitatív vizsgálatoknál, esettanulmányoknál, ahol a paraméterek változtatásának következményét látni szeretnénk, és az eredményt nem számszerűsítve, hanem minőségi változásokat megfigyelve, adott esetben nyelvi mintázatokat keresve szeretnénk értékelni,
  • amikor az eredményeket szeretnénk azonnal összevetni korpuszadatokkal, illetve
  • az oktatásban, ha a disztribúciós szemantika működését, módszereit szeretnénk oktatni.

A spaceXplorer programot elsősorban ezekre a helyzetekre szánom.

school

A program funkcióit két feladat köré csoportosítottam:

  • a vektortér létrehozásához szükséges paraméterek beállítása, vektortér felépítése, szavak összehasonlítása,
  • konkordanciák készítése (ezt külön fogom bemutatni egy későbbi posztban)

A program angol nyelvű Wikipedia korpuszból dolgozik, 100 millió szó feldolgozására van jelenleg felkészítve (10000 szavas mintákat vesz egy teljes Wikipedia snapshotból), kezeli a szófajcímkéket és tud szóalakok helyett lemmákkal dolgozni. Grafikus felhasználói felületen állíthatjuk be a következő paramétereket a feldolgozás megkezdése előtt (a képernyőfotón a bal oldali sáv):

  • szóalak vagy lemma használata, szófaji címkékkel vagy anélkül,
  • gyakori funciószók kizárása (stopwords),
  • a feldolgozandó korpusz mérete,
  • a célszó figyelembe vett korpuszbeli környezetének mérete (10-10 szóig).

Ugyanezen a felületen választhatjuk ki a környezetszavak számát (azonnal látjuk a vizsgálatba bevont környezetszavakat és azok korpuszbeli gyakoriságát), valamint megjelenítjük a vizsgálni kívánt célszavakat. A korpuszvizsgálat után (mely a Compute new VSM gomb megnyomásával indul, és a megadott paraméterektől függően néhány perces vagy több órás folyamat is lehet) szintén itt végezhetjük el egy-egy célszó vizsgálatát: az eredmény az adott célszóval kompatibilis (hagyományos szóhasználatban: ahhoz hasonló) többi célszó listája, a kompatibilitás mértékének számszerűsítésével a [0-1] intervallumban. A korpuszból elkészített hasonlósági mátrixot le lehet menteni és később visszatölteni, így az időigényes korpuszvizsgálatot nem kell újra és újra elvégezni ahhoz, hogy szavakat hasonlíthassunk össze.

A fenti képernyőfotón a school főnévvel leginkább kompatibilis szavak listáját látjuk a jobb oldalon (csökkenő sorrendben), ahol a school főnév természetesen maximális kompatibilitási értéket kapott önmagával (1,0), utána a college és university főnevek következnek. A szavak összehasonlítása során két paramétert kell meghatároznunk (ezek bármikor megváltoztathatók, nem kell miattuk új korpuszvizsgálatot végezni): a súlyozást és a vektorok összehasonlításának módját, ezek a képernyő bal alsó sarkában láthatók.

A következő blogbejegyzésben további részleteket fogok bemutatni a programmal kapcsolatban.

Készül a programhoz egy olyan (angol nyelvű) oktatási segédanyag is, melynek segítségével a program használata lépésről-lépésre elsajátítható lesz, valamint a különböző paraméterek leírása, magyarázata is megtalálható lesz benne.

Tóth Ágoston

Egészen hasonló…

mszny2013(SimToEgész)

(Az egész szóhoz leghasonlóbbnak talált szavak egy vektorteres szóhasonlósági kísérletemben – az ábra kattintással nagyítható, további magyarázat a posztban)

Hasonló ábrákat látunk munka közben – már amikor és amennyiben a kvantitatív kiértékelés (általában pontosság és fedés számítás) mellett az adatsorokat is áttanulmányozzuk.

A fent látható szóhasonlósági adatok egyik első vektorteres kísérletemből valók. A kísérleti rendszer egy feleletválasztásos feladatot oldott meg: 30 előre kijelölt célszó (a fenti ábrán az x tengely felirataiként látszanak) mindegyikéhez automatikusan kiválasztotta a hozzá leghasonlóbb másik szót. A vizsgálandó szavak listáján 15 szemantikailag motivált párt találunk, köztük ellentéteket, szinonimákat és alá-/fölérendelt szavakat; kimenetként mindegyik szó párját vártuk visszakapni. A helyes választ a rendszernek mind a 30 szóhoz összesen 100 potenciális jelölt közül kellett kiválasztania, mely tartalmazta az eredeti 30 szót, valamint további szavakat egy szógyakorisági lista 1000 leggyakoribb eleméből mindig véletlenszerűen kiválasztva. A pontosság maximális értéke (20 millió szavas korpusz feldolgozása után) 79% volt. A vizsgálat 100 millió szó feldolgozásáig tartott, azonban a korpusz méretének növelése 20 millió szó után a pontosságot már nem növelte ebben a kísérlettípusban. A vektorokat a Magyar Webkorpuszból vett, annotációt nem tartalmazó, nem lemmatizált szövegek segítségével állítottam elő, a vektorok kiszámítását és összehasonlítását saját fejlesztésű programmal végeztem.

A számszerűsített eredmények mellett érdekes azon esetek vizsgálata, amikor egy adott szóhoz nem az elvárt kimenetet, hanem egy másik szót találtunk leghasonlóbbnak. A megfigyelt esetek egy része szemantikailag is értelmezhető volt. Ilyen például a kutya/ember és állat/ember kapcsolatok (az eredetileg egymáshoz rendelt kutya/állat szavak helyett) – abban az esetben, amikor a véletlenszerűen kiválasztott opciók között az ember szó is megjelent, hiszen ez nem tartozott a környezetükben megfigyelt eredeti 30 szó (célszavak) közé. Szintén a véletlen elemnek köszönhető érdekesség volt, amikor a legmagasabb szó párjának keresése közben a lehetséges válaszok közé bekerült magas szó elnyomta az előre kijelölt párt (legnagyobb), ami tulajdonképpen nem hiba, azonban az itt alkalmazott kiértékelési módszertanban a pontosság csökkenéséhez vezet.

Arra is volt példa, hogy az algoritmus által visszaadott kapcsolat szemantikailag motiválatlannak tűnő zaj volt, pl. az egész/új megfeleltetés a kimenetként remélt egész/teljes helyett. A fenti ábra ezt az esetet mutatja be, szemléltetve az egész szó hasonlóságát a 30 állandó célszóhoz (leszámítva az egész szót, mely önmagához maximálisan, tehát 1.0 értékkel hasonló…) Ugyanakkor az ábra azt is mutatja, hogy a megoldásként várt teljes szó szoros második helyen végzett a teszt során. Sajnos ez az adat egy automatikus kvantitatív kiértékelés során nem vehető figyelembe.

A teljes cikk elérhető a 2013. évi on-line MSZNY konferenciakötetben a 354-360. oldalakon, ahol megtalálható a kísérleti rendszer bővebb leírása.

Szegeden évente megrendezik a Magyar Számítógépes Nyelvészeti Konferenciát (MSZNY), melyet lelkesen látogatnak hallgatók, oktatók, nyelvtechnologiával dolgozók, a terület ismert és ikonikus alakjai is. (A legutóbbi konferencia képgalériája elérhető ezen a linken.) A szervezőket dicséri, hogy a konferenciakötet a konferencia kezdetekor már rendelkezésre áll; ez a számítógépes nyelvészet gyors fejlődése miatt nagyon hasznos, sőt szükséges jó szokás. Köszönet mindenkinek, aki mindezt évről-évre lehetővé teszi.

Charles J. Fillmore (1929-2014) emlékére

Charles Fillmore

Charles J. Fillmore (forrás)

2014. február 13-án, 84 éves korában elhunyt Charles J. Fillmore.

Fillmore 1929-ben született. Az 1960-as években Chomsky generatív mondattanától indult el saját útján: 1965-re a szemantika fontosságát hirdette, és kidolgozta az esetgrammatikát (case grammar). Arra hívta fel a figyelmet, hogy a nyelvtani struktúrákat mindennapi alapvető tapasztalataink szervezik; az ezekre a tapasztalatokra bevezetett esetcímkéit máig ismerjük és használjuk (Agent, Patient, Instrument, Location, stb.), amikor a grammatikai relációkról valami „értelmeset” szeretnénk mondani. Ő a keretszemantika (frame semantics) felfedezője és kifejlesztője is (1974-), melynek üzenete az, hogy nyelvi gondolkodásunk mentálisan definiált keretekben zajlik. Egy-egy szó elég ezen keretek aktiválására (felidézésére). Az NLP közösség Fillmore nevét a keretszemantikai kutatásaihoz kapcsolódó projekt, a FrameNet kapcsán ismeri, melynek vezető kutatója volt. A FrameNet máig az egyetlen jelentős kognitív nyelvészeti hátterű számítógépes nyelvészeti erőforrás.

Életrajza, és néhány őt méltató írás itt található: http://linguistics.berkeley.edu/charles-j-fillmore-1929-2014

Érdemes elolvasni a Lakoff által írt méltatást is, itt: http://www.huffingtonpost.com/george-lakoff/charles-fillmore-discover_b_4807590.html

Eddigi pályafutásom több pontján találkoztam Fillmore munkásságával. Az egyetemen elsőéves hallgatóként, „grammar practice” órán is tanultam esetgrammatikát – köszönhetően annak, hogy professzorom, Korponay Béla, aki ezt az órát is tartotta, az esetgrammatika elhivatott magyar művelője. Később még többet hallottunk tőle Fillmore-ról. A FrameNet adatbázist szintén ismerem, disszertációm megírásához is használtam, 2005-2006-ban. Szerencsém volt Fillmore egyik debreceni előadását is meghallgatni és együtt vacsorázni vele a tiszteletére adott díszvacsorán.

A statisztikai NLP erejét akkor tudja kihasználni, ha Fillmore-hoz hasonló elhivatott és kiváló nyelvészek és segítőik készek az empirikus adatokat tömegesen és in vivo elemezni, a munkába nyelvészeti tudást és – ami ugyanilyen fontos – munkaórák százait és ezreit befektetni. Fillmore 18 évig dolgozott a FrameNet projekten, kutatócsoportja több mint 800 szemantikai keretet dokumentált eddig. Ahogy Lakoff írja a fenti linken elérhető írásában, a FrameNet Fillmore géniuszának és állhatatosságának, valamint a hallgatói által felmutatott lojalitásnak és kemény munkának a szobra.

Információ és dokumentumok visszakeresése a vektortérben

A disztribúciós szemantikában használt vektorterek bizonyos események előfordulási gyakoriságának ábrázolását és összehasonlítását teszik lehetővé. Ez az esemény lehet bizonyos gyakori szavak előfordulása a célszavak előre kijelölt méretű környezetben. Kutatásom (és e blog) bejegyzéseinek nagyobb része ilyen ún. word-context vektorterekkel foglalkozik.

A vektortérmodell (VSM) eredetileg azonban mást jelentett.

A weblapok megkeresésének kulcsszavas eszközeit (Google search és társai) mindannyian ismerjük. A kulcsszavas keresés nem mondható egy nagyon kifinomult és “intelligens” eszköznek; nem is ezért szeretjük. Az információ visszakeresés (information retrieval, IR) területén dolgozó szakemberek megpróbálták megteremteni annak a lehetőségét még jóval a World Wide Web (sőt, a mai értelemben vett Internet) megszületése előtt, hogy egy adatbázisban szereplő dokumentumok közül megtaláljuk azokat, amelyek egy keresőkifejezéshez illeszkednek. Ugyancsak cél volt, hogy a megtalált dokumentumok relevanciáját is lehessen mérni, és a dokumentumokat relevancia szerint rendezve listázni.

A SMART IR rendszerhez kifejlesztett VSM-et (Salton és mtársai 1975) tekinthetjük a vektortér-alapú jelentésábrázolás és hasonlóságmérés úttörőjének. A megoldás nem word-context, hanem term-document alapú: ebben az esetben az indexelt kifejezések összes előfordulását megkeressük a dokumentumainkban, minden dokumentumra létrehozva egy olyan tulajdonságvektort, ami a dokumentumot a benne előforduló szavak/kifejezések gyakorisági adataival jellemzi. E vektor a term-document vektortér egy pontjára mutat. Mivel minden dokumentumnak megvan a rá jellemző tulajdonságvektora, így meg tudjuk mondani, hogy a dokumentumok mennyire hasonlóak. Az IR szempontjából fontos, hogy a felhasználó keresőkifejezéséből szintén megalkotható egy vektor, melyet ugyanabban a vektortérben elhelyezve és más vektorokkal összehasonlítva lehetővé válik, hogy megtaláljuk az adott keresőkifejezéshez hasonló dokumentumokat, és azokat relevancia szerint listázzuk.

Azoknak, akik az IR iránt érdeklődnek, bízvást ajánlható a Manning és mtársai által írt könyv (Manning et al. 2008). A könyv az egészen egyszerű, relevanciát nem használó indexeléstől indul, és gépi tanulási módszereket is ismertetve eljut a webes keresések algoritmusainak áttekintéséhez (rámutatva az információ visszakeresés legismertebb jelenlegi felhasználási területére). A könyv 14. fejezete foglalkozik a dokumentumok vektorteres osztályozásával (vector space classification), a 18. fejezet pedig a látens szemantikai indexeléssel (matrix decompositions and latent semantic indexing). A fenti linken a könyv HTML változatban elérhető.

JSSP2013 – “Corpus patterns” tutorial

Ez a bejegyzés a “Joint Symposium on Semantic Processing: Textual Inference and Structures in Corpora” című szakmai találkozó néhány további tapasztalatáról szól (a találkozóról szóló teljes beszámolóm az előző posztban olvasható).

A rendezvényen Corpus Patterns (Korpuszmintázatok) címmel tutoriált szerveztek, melynek oktatói Patrick Hanks, Elisabetta Jezek és Octavian Popescu voltak.

SX220_101_11_IMG_0115mod

Patrick Hanks korpusznyelvész és lexikográfus, 1983-tól a COBUILD vezető szerkesztője, 1987-től a Collins angol szótárainak főszerkesztője. 1990-2000 között az Oxford University Press angol szótárainak főszerkesztője volt. Jelenleg a University of Wolverhampton tanára az Egyesült Királyságban. A tutoriálon a Hanks és munkatársai által kifejlesztett CPA (Corpus Pattern Analysis) keretnek, valamint egy új szemantikai erőforrásnak, a Pattern Dictionary of English Verbs szótárnak a munkálataiba, hátterébe tekinthettünk be. Hanks kiindulási pontja az, hogy a szavaknak önmagukban nem jelentésük, hanem jelentés-potenciáljuk van. A szavak mintázata rendelkezik jelentéssel. A mintázatok leírásához mintegy 200 szemantikai típust használnak, a szavakhoz pedig gondos korpuszelemzéssel megkeresik azokat a mintázatokat, amelyekben az adott szó részt vesz. A tutoriálon a throw szóval dolgoztunk; a BNC korpuszból vett mondatokon vizsgáltuk azt, hogy az előzetesen Hanks és munkatársai által már megállapított 49 (ezt a szót érintő) mintázat közül melyikbe sorolható be az adott mondatban előforduló szóhasználat. Ez egyben egy aktív korpuszannotációs projekt bemutatója is volt (az annotációt saját fejlesztésű szoftverrel végzik). A mintázatokban a szemantikai típusokra utaló címkéket (pl. Force, Human, Concept) valamint tartalmi- és funkciószavakat jelölő literális sztringek szerepelnek, pl.

[[Human]] throw [[Physical Object]] [Adv[Direction]] (Hanks 2013)

ami egyben a throw használatának leggyakoribb (14%) használata Hanks és munkatársai saját adatai alapján.

Örömömre szolgált, hogy a lexikográfia egyik legendás alakját „munka közben” volt alkalmam látni, valamint a bemutatott elméleti keret maga is nagyon érdekes. Jelen beszámolóban azt szeretném még ezzel kapcsolatban kiemelni, hogy Hanks és munkatársai munkájukhoz egyedi, saját fejlesztésű szemantikai „koordinátarendszert” használnak, és kerülik egyéb meglévő elméletek (argumentumszerkezetre vonatkozó modellek) vagy akár kész adatbázisok (pl. a Charles Fillmore vezetésével kifejlesztett FrameNet) adatainak, kereteinek, keretelem-címkéinek használatát, miközben mindezeket szakirodalmi háttérként jegyzik és valamilyen szinten természetesen támaszkodnak rájuk. Szembetűnő volt az is, ahogy Hanks és mtársai inkább a Fillmore-féle korábbi Esetgrammatika (Case Grammar) nyomában haladnak, miközben a FrameNet ettől eltérő irányba fejlődött, főleg a keretfüggő keretelemek (Frame Elements) használatának köszönhetően.

Beszámoló a JSSP2013 szakmai találkozóról

2013 novemberében részt vettem az olaszországi Trentóban megrendezett, “Joint Symposium on Semantic Processing: Textual Inference and Structures in Corpora” című szakmai találkozón, ahova elsősorban disztribúciós szemantikai információkért, tapasztalatokért utaztam.

SX220_101_11_IMG_0113mod

A konferencián elhangzott előadások (13 meghívásos és 5 közlésre elfogadott előadás) és poszterek két téma köré csoportosultak:

  • logikai vonzatok (entailment),
  • disztribúciós szemantika.

Az elhangzott előadások közül a következők foglalkoztak elsősorban disztribúciós szemantikával:

  • Sabine Schulte in Walde (University of Stuttgart): Potential and limits of distributional approaches for semantic relatedness
  • Paolo Annesi, Danilo Croce, Roberto Basili (Department of Enterprise Engineering, University of Roma): Towards Compositional Tree Kernels

A fentieken kívül a következő előadások a szemantikai hasonlóság kérdésén keresztül szintén közvetlenül kapcsolódtak a kutatásomhoz:

  • Mona Diab (George Washington University, USA): Semantic Textual Similarity: past present and future
  • Tommaso Caselli, Laure Vieu, Strapparava Carlo, Guido Vetere (Trento): Aligning Verb Senses in Two Italian Lexical Semantic Resources
  • Nai-Lung Tsao, David Wible (National Central University, Taiwan): Word Similarity Using Constructions as Contextual Features

A találkozón az előadásokon kívül 12 poszterbemutató is volt. A trentói szimpózium sajátos megoldással, 2-2 perces időkeretben lehetőséget adott a poszterek szerzőinek plenáris bemutatkozására is, melyek gyors figyelemfelkeltő vagy rövid összefoglaló jellegű előadások voltak, az előadó választásától függően. Disztribúciós szemantikával foglalkozó további beszámolók, kiállított poszterek:

  • Matthew Capetola (Universtity of Oxford, Faculty of Linguistics): Towards universal quantification in distributional semantic space
  • Alina Maria Ciobanu, Anca Dinu (University of Bucharest): Alternative measures of word relatedness in distributional semantics
  • Lorenzo Ferrone, Fabio Massimo Zanzotto (University of Rome): Linear Compositional Distributional Semantics and Structural Kernels

A rendezvényen két tutoriál volt elérhető a résztvevők számára (ezek párhuzamosan futottak):
a)    Sebastian Pado: logikai vonzatok
b)    Patrick Hanks, Elisabetta Jezek and Octavian Popescu: korpuszmintázatok

A JSSP2013 szimpóziumon két kerekasztal-beszélgetést is szerveztek. A beszélgetések a plenáris program részeként voltak megszervezve. A találkozó két központi témájához (logikai vonzatok és disztribúciós szemantika) kapcsolódtak a programok. A disztribúciós szemantikával foglalkozó beszélgetés kiindulási pontja az volt, hogy különböző kutatásokhoz különböző hasonlóság-mértékeket használunk ill. használjunk-e, és általában beszélhetünk-e globális hasonlósági értékekről (szavak, frázisok, mondatok közt). Pl. az oroszlán és a kőoroszlán szavak hasonlóságának megítélésekor nagyon különböző eredményeket kell kapjunk, amikor alakjukat vagy amikor élő voltukat vagy „funkciójukat” hasonlítjuk össze, vagy amikor az összehasonlítás célja és funkciója más-más (pl. eltérő alkalmazásokban). A beszélgetés egyik eredménye éppen ezen hasonlósági szempontok számbavétele volt: a résztvevők eltérő célokra eltérő hasonlóság-interpretációt használnak, ennek megfelelően mind a módszerek, mind a módszerek alkalmazása során használt paraméterek beállítása nagyon változatos, esetleg ugyanazon vizsgálatsorozat keretén belül is.

A kutatás, melynek keretében a konferencián részt vehettem, a TÁMOP 4.2.4.A/2-11-1-2012-0001 Nemzeti Kiválóság Program című kiemelt projekt keretében zajlik. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg.

Szakirodalom, induláshoz

Ebben a posztban összegyűjtöttem néhány olyan könyvet, fejezetet és cikket, ami utazásunk megkezdéséhez véleményem szerint leghasznosabb.

Úttörők:

Harris, Z. S. (1954). “Distributional structure”, Word, 10/2-3, 1954, 146-62 (reprinted in Harris, Z.S., Papers in Structural and Transformational Linguistics, Dordrecht, Reidel, 775-794)

Rubenstein, H.,  Goodenough, J.B. (1965). Contextual correlates of synonymy, Computational Linguistics, 8:627-633.

Kezdésként őket ajánlom:

Sahlgren, M. (2008). The distributional hypothesis. From context to meaning: Distributional models of the lexicon in linguistics and cognitive science (Special issue of Rivista di Linguistica) 20/1, 2008.

Lenci, A. (2008). Distributional semantics in linguistic and cognitive research. Italian Journal of Linguistics 20(1), 1–31.

Sahlgren, M. (2008). The distributional hypothesis. From context to meaning: Distributional models of the lexicon in linguistics and cognitive science (Special issue of Rivista di Linguistica) 20/1, 2008.

Lenci, A. (2008). Distributional semantics in linguistic and cognitive research. Italian Journal of Linguistics 20(1), 1–31.

Folytatásként pedig őket:

Bullinaria, J. A., Levy, J. P. (2007). “Extracting semantic representations from word co-occurrence statistics: A computational study”, Behavior Research Methods, 39 (3): 510–526.

Bullinaria, J. A., Levy, J. P. (2012). “Extracting semantic representations from word co-occurrence statistics: stop-lists, stemming, and SVD”, Behavior Research Methods, 44/3, 890-907.

Baroni M., Lenci, A. (2008). “Concepts and properties in word Spaces”. In: Lenci A. (ed.), From context to meaning: Distributional models of the lexicon in linguistics and cognitive science, special issue of the Italian Journal of Linguistics, 20/1, 55-88.

Elman, J. L. (2011), “Lexical knowledge without a mental lexicon?”, The Mental Lexicon, 60: 1-33.

Rengeteg az értékes forrás és tanulmány, a köztük való eligazodásban a fentiek jelentős segítséget adnak.

Végül, de nem utolsósorban a magyar eredmények, részben jelen blog szerzőjének tollából:

Dobó A., Csirik J. (2012). Magyar és angol szavak szemantikai hasonlóságának automatikus kiszámítása. In: Tanács A., Vincze V. (szerk.) MSZNY 2013: IX. Magyar Számítógépes Nyelvészeti Konferencia. Szeged: Szegedi Tudományegyetem Informatikai Tanszékcsoport, 213-224.

Tóth Á. (2012). Vektortér alapú szemantikai szóhasonlósági vizsgálatok. In: Tanács A., Vincze V. (szerk.) MSZNY 2013: IX. Magyar Számítógépes Nyelvészeti Konferencia. Szeged: Szegedi Tudományegyetem Informatikai Tanszékcsoport, 354-360.

Tóth Á. (2013). Az ember, a korpusz és a számítógép: Magyar nyelvű szóhasonlósági mérések humán és disztribúciós szemantikai kísérletben. Argumentum 9. évf. Különszám Dr. Hollósy Béla 65. születésnapja alkalmából. 301-310.

Jó olvasást, eredményes kutatást kívánok kollégáknak, hallgatóknak egyaránt!

Update (2014. 09. 30):

Ajánlom figyelmükbe új könyvemet is (fentebb, a 2014. szeptemberi blogposztban néhány további részletet is olvashat):

Tóth Ágoston (2014). The Company that Words Keep: Distributional Semantics. Debrecen: Debreceni Egyetemi Kiadó. 158 p.
ISBN 978 963 318 449 3

Szójelentés a vektortérben (Dr. Tóth Ágoston kutatói blogja)

Képzeletbeli, vektorterekben történő utazásunk a disztribúciós szemantika világába vezet. A disztribúciós szemantikával foglalkozó közösség a szavak jelentéséről valami másfajtát mond ahhoz képest, amit a szótárakban találunk, vagy amit a lexikális szemantika állít róluk: a szavak jelentését hozzájuk kapcsolódó események (leginkább: velük együtt előforduló más szavak előfordulásaival) jellemezzük. Ezáltal kapunk egy olyan számítógépes eszközt, mely empirikus információk statisztikai kiértékelésén keresztül a jelentést egészen kézzelfogható közelségbe hozza a számítógépes algoritmusok számára is, és melynek segítségével pl. el tudjuk dönteni, hogy X szó Y vagy Z szóhoz hasonlóbb egy adott nyelvészeti, számítógépes nyelvészeti feladat megoldása közben.

Firth 1957 után szabadon úgy is fogalmazhatunk, hogy a disztribúciós szemantika a “madarat tolláról, szót barátjáról” elven alapul. A gyakorlatban nagyméretű szövegkorpuszokból olyan tulajdonságvektorokat nyerünk ki, amelyek a szavakat a velük együtt előforduló szavakkal (azok gyakorisági adataival, esetleg a hozzájuk kapcsolódó nyelvtani információkkal is kiegészítve) jellemzik. Ezután elvégezhetjük a kapott tulajdonságvektorok összehasonlítását, a szavak hasonlóságának mérése céljából, ami a disztribúciós szemantika alapelvei (a „disztribúciós hipotézis”) szerint szemantikai, jelentéstani hasonlóság. A környezetvektorokból összeálló sokdimenziós vektortérben helyezhetjük el az összehasonlítandó szavakat, távolságukat itt mérhetjük meg.

Kutatásom ilyen módszerrel nyert szóhasonlósági mutatók több szempontú elemzésével foglalkozik számítógépes nyelvészeti alapokról indulva elméleti nyelvészeti, lexikográfiai, pszicholingvisztikai és neurolingvisztikai kérdéseket is körbejárva, a megismeréstudomány több területét érintve.

A blog indítását és a 2013. szeptember – 2014. szeptember közti időszakban a működését a Nemzeti Kiválóság Program támogatta. A kutatás a TÁMOP 4.2.4.A/2-11-1-2012-0001 azonosító számú Nemzeti Kiválóság Program – Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése országos program című kiemelt projekt keretében zajlik. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg.

 

Nemzeti Kiválóság Program