Szövegértő gépek?
Ön hogyan tárolja a világgal kapcsolatos ismereteit? Ebben nem vagyunk teljesen biztosak, de azt elmondhatjuk, hogyan végzik ugyanezt a feladatot a számítógépek. A gyakorlati megvalósítás sem várat sokat magára – a Google mindenesetre már felkészült...
A webes keresés jövőjével foglalkozó sorozatunk korábbi részeiben áttekintettük, hogyan tudnak a számítógépes programok információkat kinyerni a weblapok szövegéből. De hová teszik és mihez viszonyítják ezeket az információkat? Ahhoz, hogy a szövegfeldolgozást tovább automatizálhassuk, az kell, hogy a szoftverünknek ismeretei legyenek a való világról!
(Forrás: Wikimedia Commons / Steve Jurvetson / CC BY 2.0)
Filozófia helyett
A számítástechnikában a fogalmak egymáshoz való kapcsolódásait leíró rendszereket ontológiáknak nevezik. A szó eredetileg egy másik tudományágból származik – az ontológia, vagy más néven lételmélet a filozófia egyik altudománya. A filozófiai és az informatikai ontológiafogalomnak van köze egymáshoz, de a gyakorlatban meglehetősen elkülönülnek. Mi most az informatikai fogalomról beszélünk.
Az ontológiákban megtaláljuk a különböző fogalmakat jelentésükkel, valamint emellett azt is, hogyan kapcsolódnak egymáshoz. Vannak általános célú ontológiák, de gyakoribbak azok, amelyek valamilyen konkrét tudásterületre vonatkoznak. Ezen az angol nyelvű weboldalon megnézhetünk egy humán-anatómiai ontológiát, ami olyan ismereteket tartalmaz, mint hogy a fej az emberi szervezet része, az arc a fej része, a bal szem az arc része és a szemek halmazába tartozik, és így tovább.
(Forrás: Wikimedia Commons / Elyzhium / CC BY-SA 3.0)
Ha van egy ilyen nagy fogalomrendszerünk, akkor mindenféle bonyolult következtetést levonhatunk a segítségével. Például megállapíthatjuk, hogy a bal szemgolyó a fej része – ezt valószínűleg minden olvasónk tudja, de vajon hol található a mediális meniscus? (A cikk végén eláruljuk!)
Alá- és fölérendelés
Nyelvészetibb példa az ontológiákra a WordNet, ami a szavak jelentéséről ad információt, ilyen módon viszonylag általános célú. A WordNet eredetileg angol nyelven készült el, de mára már számos más nyelv mellett magyar változata is van. Ez sajnos nem érhető el az interneten, de az eredeti angol WordNetet kipróbálhatjuk. Minden szónak megnézhetjük a fölérendelt jelentéskategóriáit, és így megállapíthatjuk például, hogy a láncfűrész egy motoros fűrész, ami a motoros szerszámok körébe tartozik, ami a gépek körébe tartozik, és így tovább.
Még a szűk területre vonatkozó ontológiák is igen nagyra nőhetnek; nem is gondoljuk, mennyi tudás van a fejünkben! Az angol WordNetben 155287 angol szó található, a fentebbi anatómiai modellben pedig több, mint százhúszezer anatómiai fogalom. (Ez utóbbiak között több, mint kétmillió különböző kapcsolat áll fenn!)
Hogyan készülnek?
Az ontológiákat leggyakrabban külön erre a célra készült ontológianyelveken rögzítik. Ezek a programozási nyelvekre hasonlítanak, de pusztán leíró jellegűek; nem tartalmaznak például utasításokat, mint a programnyelvek általában.
Hogyan lehet létrehozni ontológiákat? Egyfelől kézzel – a lelkes fejlesztők szépen bepötyögik a fogalmakat és definiálják a közöttük fennálló kapcsolatokat. Ennek a nehézségeiről már korábban írtunk. Másfelől viszont magát az ontológialétrehozás folyamatát is lehet többé-kevésbé automatizálni – ezt lejjebb látni fogjuk.
Ha már van egy kész ontológiánk, akkor azt alkalmazhatjuk egy szövegre és így a számítógép által feldolgozható információt nyerhetünk ki belőle. Például kinyerhetjük az orvosi szakcikkekből, hogy milyen anatómiai struktúrákra vonatkoznak. Ez is történhet kézzel – elolvassuk a szöveget és kitöltünk róla egy számítógépes űrlapot, beikszelgetve a megfelelő kategóriákat –, vagy automatikusan. Esetleg a kettő valamilyen kombinációjával: a szoftver javasol kategóriákat, mi pedig megerősítjük vagy elutasítjuk a tippeket.
A webes kereséshez azonban arra van szükség, hogy lehetőleg minden automata módon, emberi közreműködés nélkül tudjon futni, hiszen senki sem győzné munkával az összes weboldal kézi feldolgozását. Ez igaz akkor is, ha már van kész ontológiánk, amihez viszonyítani szeretnénk az új szövegeket, és akkor is, ha még csak most szeretnénk kinyerni a fogalmakat a weblapokról.
Habár egyelőre még nincsen olyan rendszer, ami automatikusan kinyeri a fogalmakat és teljes viszonyrendszerüket bármilyen webes szövegből, de sok kutató foglalkozik a kérdéskörrel. Szűkebb témakörökben már létezik viszonylag jól működő automata ontológia-kinyerés. A hasonló fejlesztések gyakran építenek a WordNet meglévő fogalomrendszerére, ahhoz viszonyítják az új, ismeretlen szövegek fogalmait. Például a „szavazógép” tartalmazza a „gép” szót, ami szerepel a WordNetben, így feltételezhetően a szavazógép is a gépek közé tartozik. Ennek mindenféle következménye van, akár az is, hogy a szavazógép nem egy zöldség.
Egy adott szövegből egészen más információkat szűrhetünk le annak alapján, hogy milyen az ontológiánk. Az előbbi orvosi cikkekből a gyógyszerezéssel kapcsolatos információkat is kinyerhetjük, nemcsak az anatómiai struktúrákra vonatkozóakat. Az internetes keresés továbbfejlesztéséhez az lenne ideális, ha lenne egy hatalmas általános célú ontológiánk, és így a kereső mindenféle fogalom viszonyait képes lenne értelmezni. De vajon vannak-e ilyen tervek?
Merre halad a keresővilág?
Korábban már röviden utaltunk rá, hogy a Google nagy lendülettel építi saját ontológiáját. Ez a rendszer több különböző forrásból dolgozik, de közülük kiemelten fontos a Wikipédia.
A Google-nél természetesen nagyon jól tudják, milyen technológiáktól várhatóak a jövőben a keresőipari áttörések, és a cégnek van annyi pénze, hogy minden akárcsak nyomokban sikeresnek ígérkező fejlesztésre elképesztő összegeket költsön. Így a riválisoknak egyre nehezebb a dolguk – már nem igazán várható, hogy a semmiből előtűnve valakik a jelenlegi keresőket elsöprő újítással álljanak elő, mint az a hőskorban többször is megtörtént.
A Google talán legnagyobb mai vetélytársa, a Microsoft által üzemeltetett Bing nem használ ennyire látványosan ontológiákat. Sőt amennyire meg tudjuk állapítani, egyáltalán nem használ ontológiákat. Ezt nem igazán tudjuk mire vélni; már csak azért sem, mert a Microsoft 2009-ben felvásárolt egy kimondottan ilyen technológiát fejlesztő céget, a Powersetet. Akkoriban arról szóltak a hírek, hogy épp ilyen téren kíván a Microsoft a Google elé kerülni. A Bing keresésekben egy ideig tényleg megjelentek a Powerset-alapú válaszok, főleg akkor, ha angol nyelvű kérdő mondatokat intéztünk a keresőhöz. Ezt a funkciót azonban ha jól látjuk, időközben csendben megszüntették.
(Forrás: Wikimedia Commons / Microsoft / GNU-FDL 1.2)
Hacsak valamilyen egészen váratlan esemény nem történik, a Google valószínűleg még egy darabig uralni fogja a keresőpiacot... A mediális meniscus a térd része, a térdízület belsejében található. De mint korábbi történeti áttekintésünkben láthattuk, az efféle váratlan események nem is voltak annyira ritkák!
További olvasnivaló, felhasznált irodalom
Google's knowledge graph: Here comes the ontology
Are Semantics Helping Bing Make Better Decisions?
Machine Learning Techniques for Automatic Ontology Extraction (fóliák)