A számítógépes nyelvfeldolgozás alapjai Szintaxis A számítógépes nyelvfeldolgozás alapjai A számítógépes nyelvfeldolgozás alapjai – 2013. március 14.
Bevezetés Szintaxis: mondat szavai között levő nyelvtani kapcsolatok (alany-ige, főnév-névutó stb.) azonosítása (gépi úton) Tokenizálás és szófaji egyértelműsítés eredményének felhasználásával Parsing – parser
Mondatbeli egységek Frázisok: szorosabban összetartozó elemek Főnévi csoportok (NP): én, a sárga ház, Pisti kutyája… Ezek töltik be a különféle nyelvtani szerepeket (alany, tárgy…) predikátum-argumentum viszonyok nem csak ige lehet predikátum (melléknevek (féltékeny vkire), esemény jelentésű főnevek (vkik közötti háború)…)
Szintaxis az alkalmazásokban A szintaktikai elemzés általában előfeldolgozó lépés egy magasabb rendű feladathoz A folyó szövegek mélyebb nyelvi elemzéséhez elengedhetetlen a mondatok szintaktikai elemzése Információkinyeréshez is szükséges a jó minőségű szintaktikai elemzés: A SPAR felvásárolta a PLUS-t. Vásárló: SPAR Áru: PLUS
Szintaxis az alkalmazásokban Gépi fordítás Tegnap az irodában Péter öt levelet írt. TEMP LOC SUBJ OBJ VERB Peter wrote five letters in the office yesterday. SUBJ VERB OBJ LOC TEMP
Számítógépes szintaxis Szabályalapú elemzés Szakértők kézzel írnak szabályokat Statisztikai elemzés Nagyméretű adatbázisok (treebankek) Elemzők (parserek) Treebankekből automatikusan kinyert szabályok alapján zajlik az elemzés
Statisztikai szintaktikai elemzés Angol nyelvre kifejlesztett technológiák Konstituens- (összetevős) és függőségi (dependencia)alapú elemzők Kötött szórend vs. szabad szórend
Függőségi vs. konstituenselemzés Minden csomópont egy szónak felel meg -> nincsenek művi csomópontok (CP, I’…) a függőségi fákban Konstituens-nyelvtanok általában kötött szórendű nyelvekre jók Mi határozza meg a szintaktikai viszonyokat? a fában való elhelyezkedés (konstituens) függőségi viszonyok (címkézett élek) (dependencia)
Elemzés mint keresés adott mondathoz az elemzési fákat megtalálni és kiválasztani a legjobbat Megszorítások a keresésben: A fa gyökere a kezdő szimbólum (S) A fa levelein az input szavai találhatók
Konstituenselemzés Terminálisok: szavak Nemterminálisok: konstituensek Szabályok: baloldal egyetlen nemterminális
Elemzés fentről lefelé célirányos S-ből kiindulva építi a fát szabályok bal oldalát illeszti
Elemzés lentről felfelé adatorientált input szavaiból indul ki szabályok jobb oldalát illeszti
Összehasonlítás fentről lefelé: lentről felfelé: csak jó (S-ben végződő) fákat állít elő sok fa nem felel meg az inputnak lentről felfelé: csak a szavaknak megfelelő fák állnak elő számos rossz fa is előáll
Konstituensfák a Szeged Treebankben Generatív szintaxison alapul (É. Kiss et al. 1999) A magyar nyelv szintaktikai sajátságai szintén figyelembe vannak véve (nem „hardcore” Chomsky-féle nyelvtan) Az ige-argumentum viszonyokat címkék kódolják Nagyon részletes információk: minden esetraghoz külön nyelvtani szerep tartozik Szemantikai információ is megjelenik (idő- és helyhatározók)
Függőségi elemzés Tranzakcióalapú Gráfalapú Minden lépésben egy új él felvétele Osztályozási probléma: egyedek: szópárok jellemzők: szavak, POS-kódok akció: új él behúzása vagy semmi Gráfalapú Legjobb gráf megtalálása
Függőségi fák a Szeged Dependencia Treebankben A szavak a fa csomópontjai A főnévi argumentumok sokkal kevesebb szereppel rendelkeznek: SUBJ, OBJ, DAT,OBL, ATT -> morfológia kódolja már az esetragot Szemantikai információ megőrződik Lehetnek keresztező élek (A fiúnak látta a kutyáját.)
Virtuális csomópontok Kijelentő mód, jelen idő, 3. személyben nincs létige András katona (*van). András legyen katona! András katona lesz. A SzT-ben nincs jelölve ezeknek a mondatoknak a grammatikai szerkezete SzDT-ben virtuális csomópontok
Szeged Treebank vs. Szeged Dependencia Treebank Címkézett relációk mindkettőben -> nem olyan nagy az eltérés Virtuális csomópontok SzDT-ben -> minden mondat nyelvtani szerkezettel rendelkezik (IE, MT) Nincsenek szórendi megszorítások a SzDT-ben Szóalakok szerepelnek a fákban Egyéb lehetőség: morfémaalapú szintaxis (Prószéky et al. (1989), Koutny, Wacha (1991))
Hol tartunk jelenleg? Szeged (Dependencia) Treebank: konstituens és függőségi reprezentáció egyaránt (kézi annotáció) Magyarra adaptált statisztikai elemzők: konstituens (Berkeley parser) függőségi (Bohnet-parser) Szeged (Dependencia) Treebanken tanítva Sztenderd magyar szövegeken viszonylag jól működnek Nyelvspecifikus hibák
Alanyesetű, nem alanyi szerepet betöltő főnevek Birtokos: a kisfiú labdája Predikatív névszó: István juhász maradt. Tárgy: A kutyám kergeti a macska. (kerti ösvény mondat) A fiam szereti a lányod.
Lehetséges megoldások Birtokos: SzT: egy NP tartalmazza a birtokost és a birtokot ((a kisfiú) labdája) SzDT: ATT reláció Predikatív névszó: PRED reláció SzDT: virtuális csomópont Tárgy: OBJ reláció Néha nem elég a szövegkörnyezet… -> többértelműség
Áltárgyak Formailag tárgynak látszó határozók: Futottam egy jót. Nagyot aludtam. Tárgyatlan ige -> nem lehet tárgy -> MODE reláció
Részes esetnek látszó esetek Nem minden szemantikai alany áll alanyesetben: Részes esetű alany: Sándornak kell elrendeznie az ügyeket. Mindkét treebankben DAT Bizonyos segédigék részes esetű alannyal állnak (kivételek) DAT-NOM párhuzam: birtokos szerkezet
Többértelműség morfológiai többértelműség: szemét – szem+é+t szerkezeti többértelműség: Reggel lelőttem egy elefántot a pizsamámban. Kin van a pizsama? lexikális többértelműség: „megveted még hideg ágyamat” Visszautasítod vagy megágyazol? szemantikai többértelműség: Minden férfi szeret egy nőt. Ugyanazt a nőt vagy mindenki másikat?
Szintaktikai többértelműség bővítmények csatolása: Láttam a lányt a távcsővel. Kinél van a távcső? mellérendelés: (Sikoltozó (gyerekek és anyukák)) szaladgáltak a játszótéren. ((Sikoltozó gyerekek) és (anyukák)) szaladgáltak a játszótéren. szintaktikai egyértelműsítés: az összes lehetséges fa előállítása a mondathoz és a legjobb kiválasztása lokális többértelműség: a mondat egy része többértelmű (több elemzés rendelhető hozzá), de a mondat maga nem (a fiú kutyája – az „a” hova csatlakozik?)
Többértelműség az angolban Time flies like an arrow. VB VBZ VB DT NN NN NNS IN VB NNP NN RB CC
Time flies like an arrow. Az időlegyek szeretnek egy nyilat. Úgy repül az idő, mint egy nyílvessző. A Time magazin úgy száll, mint egy nyílvessző. Az idő úgy menekül, mint egy nyílvessző. A Time magazin kiadója úgy száll, mint egy nyílvessző. Mérd a legyek sebességét úgy, mint egy nyílét. Mérd a legyek sebességét úgy, mint egy nyíl. Mérd meg nyílsebesen a legyek sebességét. Mérd meg azoknak a legyeknek a sebességét, amelyek egy nyílra hasonlítanak.
Szintaktikai elemzés jóságának mérése Konstituenselemzés Minden konstituenst hasonlítunk (címkézve vagy anélkül) Egyes szavak őseinek sorozatát hasonlítjuk Dependenciaelemzés minden szóra ős és/vagy reláció típusának eltalálása
Kiértékelés pontosság fedés F-mérték LAS (labeled accuracy score): szülő és címke ULA (unlabeled accuracy score): csak szülő elemzési hibák lehetséges okai: rossz szófaji elemzés hiba a tanító adatbázisban többértelműség