De ki az a Fletó?
Szövegértelmezés hurkatöltővel
Magyar miniszterelnökök példáján mutatjuk be, mennyire fontos tudni azt, hogy különböző tulajdonnevek ugyanarra az emberre vonatkozhatnak. Ha a számítógép nem boldogul el ezzel a problémával, furcsa megoldások születhetnek! Ön emlékszik még, kinek a ragadványneve volt a „Hóbagoly”?
Az internetes keresés jövőjével foglalkozó sorozatunkban az elmúlt néhány részben azt tárgyaltuk, hogyan lehet minél automatizáltabb módon információkat kinyerni egy szövegből. Azáltal, hogy a számítógép valamennyire megérti, mit jelent a weboldalak szövege, a keresés is sokkal hatékonyabbá válhat. De ez igen bonyolult feladat, és számos lépésből áll...
Egyenesen a parlamentből
Mint korábban láthattuk, keresőnknek első lépésben el kell különítenie a lényeges részeket a lényegtelenektől. Majd a lényeges szövegből ki kell nyernie a legfontosabb adatokat, az úgynevezett névelemeket – ezek javarészt tulajdonnevek vagy számok. De ha ez mind megtörtént, még mindig nincsen vége a folyamatnak. Most továbbmegyünk!
Ezúttal nem a popzenéből vagy az állatvilágból, hanem a belpolitikából választottuk példáinkat... Döntésünk nem annyira esetleges, mint amennyire annak látszhat: mint arról már írtunk, az információkinyerés jelenlegi elsődleges terepe a közéleti hírek automatizált feldolgozása.
(Forrás: Wikimedia Commons / Michael LoCascio / CC BY-SA 3.0)
Sokból egyet
Az előző részt ott fejeztük be, hogy a feldolgozandó szövegben már megtaláltuk a névelemeket, és személy – hely – szervezet vagy hasonló kategóriákba osztottuk őket. De ezzel még nem megyünk igazán sokra... Hogy belássuk, miért, vegyük például a következő, több névelemet tartalmazó mondatot:
Gyurcsány Ferencet Kurbel tanár úr – valaminő rejtélyes okból – Fletó Fletonovics Jemeljánnak kereszteli el, s a Fletó név aztán egy életre rajta marad.
(Debreczeni József: Gyurcsány Ferenc)
Milyen névelemeket találhatunk itt? Gyurcsány Ferenc, Kurbel, Fletó Fletonovics Jemelján, valamint Fletó. Még ha a számítógép-programunk sikeresen ki is nyerte őket szövegünkből, majd pedig megállapította, hogy személyek, továbbra sem tudja, milyen viszonyban vannak ezek a személyek egymással. Mi, emberi olvasók tudjuk, hogy Gyurcsány Ferenc azonos Fletóval, valamint Fletó Fletonovics Jemeljánnal, de különbözik Kurbel tanár úrtól. Ezeknek az ismereteknek több forrása is lehet: egyfelől ha követtük az elmúlt években a magyar politikát, akkor tudjuk, hogy a Fletó Gyurcsány beceneve, másfelől pedig a mondat jelentéséből is ez következik. Mit tehet a kereső, hogy hasonló eredményre jusson, mint mi?
(Forrás: Wikimedia Commons / Szegvári Ádám Csaba / CC BY-SA 2.0)
Oldódjunk fel
Hasonló fogalom az anaforafeloldás (anaphora resolution); a két kifejezést a számítógépes nyelvészek gyakran szinonimaként is használják, de nem teljesen ugyanaz a jelentésük. Az anafora visszautalást jelent, tehát ha egy mondatrész egy korábbi mondatrészre utal vissza, akkor az anaforafeloldás megmondja, mi mire utalt vissza. Példamondatunkban az annak a korábbi Magyarországot-ra hivatkozik.
A nyelvészetben azt a jelenséget, amikor ugyanarra a valóságos világbeli dologra különböző módokon hivatkozhatunk, koreferenciának hívják. Amikor megállapítjuk, hogy a különböző nevek közül melyek vonatkoznak ugyanarra a dologra, az a koreferenciafeloldás (gyakran használt angol nevén coreference resolution).
A koreferencia sokkal tágabb fogalom, mint amire most a névelemek esetében szükségünk lesz. Például az is koreferenciafeloldás, amikor megállapítjuk, hogy egy névmás mire vonatkozik:
Úgy akarunk erős és sikeres Magyarországot felépíteni, hogy annak gerince egy erős és sikeres középosztály legyen.
(Orbán Viktor, kiemelés tőlünk)
Az annak szó itt ugyanarra utal, mint a Magyarország. Ilyen mélységben azonban a keresők valószínűleg csak a távolabbi jövőben fogják feldolgozni a szövegek tartalmát, egyelőre az is elegendő feladat, hogy a névelemek koreferenciáját megtalálják. A számítógépes nyelvészeti alkalmazások már viszonylag jól megbirkóznak a koreferenciafeloldással egész mondatokban is, de ami működik kicsiben, egy internetes keresőnek megfelelő méretben már túl erőforrás- és időigényes lehet.
(Forrás: Wikimedia Commons / Európai Néppárt / CC BY 2.0)
Szabályhalmok
A névelemek koreferenciafeloldására eleinte szabályalapú megközelítéseket használtak. Például ha két névelem azonos kezdetű, valószínűbb, hogy ugyanazt a dolgot jelölik – ez a szabály valószínűsítené, hogy Fletó azonos Fletó Fletonovics Jemeljánnal, de az még nem derülne ki e módon, hogy mindkettő azonos Gyurcsány Ferenccel. Vannak olyan szabályok is, amelyek csak bizonyos nyelveken működnek; ilyen például az a szabály, miszerint két névelem akkor lehet azonos referenciájú, ha mindkettő ugyanolyan nemű. A magyar nyelv nem jelöli nyelvtanilag a nemet, így ezzel nem megyünk sokra.
Később, a kilencvenes évek második felétől ezen a részterületen is megjelentek a tanulóalgoritmusok, talán még nagyobb sokféleségben, mint azt az előző részben láthattuk. A működési elvük gyakran hasonló, mint az előző kérdéskör esetén: a tanulóalgoritmus azt sajátítja el, hogyan kombinálja a különböző tulajdonságokat, szabályszerűségeket. De a koreferenciafeloldásban ezen túl viszonylag könnyen fel lehet használni meglehetősen újszerű információforrásokat is...
Lexikális tudás
2006-ban jelent meg az a kutatási irány, amely a névelemeket egyenként megpróbálja Wikipédia-szócikkekhez kapcsolni. Azok a névelemek, amelyeket a rendszer ugyanahhoz a szócikkhez köt, feltételezhetően ugyanarra a dologra vonatkoznak.
Hasonló módszerekkel viszonylag könnyen megállapítható, hogy Fletó ugyanaz az ember, mint Gyurcsány, de még talán olyan információkkal is tudna mit kezdeni egy ilyen rendszer, mint hogy a Hóbagoly Boross Péter volt miniszterelnök ragadványneve; habár érdekes módon ez az adat jelenleg megtalálható a Hóbagoly szócikkben, viszont hiányzik a Boross Péter szócikkből. Ahogyan a kutatók néha mondani szokták, az adatbázis olyan, mint a hurkatöltő – csak azt lehet kihozni belőle, amit már beleraktak...
(Forrás: Wikimedia Commons / Derzsi Elekes Andor)
A Google angol nyelvű változata már most is megpróbálja a kereséseket Wikipédia-oldalakhoz kötni, de ez a magyar változatban még nem működik. Ha a Hóbagollyal még nem is boldogul a kereső, azért már most sikeresen beazonosítja például Bajnai Gordont Magyarország volt miniszterelnökeként:
A Wikipédiát használó megközelítéseknek az a nagy előnyük, hogy nemcsak koreferenciafeloldásra jók, hanem egyben egy terjedelmes, már meglévő tudásbázissal is összekötik az adatokat. Az információkinyerésben rendszerint ez a következő lépés – ha a programunk megtalálta a névelemeket és azonosította, melyek vonatkoznak ugyanarra a valóságos világbeli létezőre, még össze kell kapcsolnia őket a meglévő tudásanyagával. A keresők által felhasználható vagy éppen általuk létrehozott tudásbázisokról azonban már csak a következő részben fogunk részletesebben írni...
További olvasnivaló, felhasznált irodalom (angolul)
Coreference resolution: a review of general methodologies and applications in the clinical domain
Robust disambiguation of named entities in text
Coreference resolution libraries (ha programozó hajlamunk van és szeretnénk magunk is kipróbálni a koreferenciafeloldást)
Magyar Narancs címlap 1994-ben:
pakolj bagoly