A szemantikus pók

A szemantikus web koncepciója nemrégiben ünnepelte a 11. születésnapját, amelynek köszönhetően az elmúlt évek hosszú kutatásainak összegzésére került sor a kutatói világban. Jómagam egy hazatérő, nemzetközileg is elismert magyar kutató előadásán tűnődtem el a szemantikus web jelenén és jövőjén. Már csak azért is, mert az elmúlt években mintha reneszánszát élné a “szemantikus” szó használata, egyre több kereső motor ezzel a hívószóval próbálja lepipálni a Google képességeit. Vajon lehetséges ez, vagy ez is “csak” egy álom, mint a szemantikus web?

A szemantikus web koncepciója (Tim Berners Lee nevét mindig leírják ilyenkor, hozzá fűződik az ötlet – ezért én sem hagyhatom ki) megadja azt a vonalat, amely alapján a hagyományos mérnöki módszerekkel intelligens, megbízható és lényegében “emberi” intelligenciával bíró ún. szoftverügynökeket – ezt nevezzük most ágensnek – lehetne építeni. Bár a szemantikus web lényegi részének tárgyalása sok helyen hozzáférhető (ilyenkor mások mindig Wikipediát emlegetik, hát legyen; ott is le van írva…), én most egy sajátos, emberi nézőpontból emelem ki a rétegeit:

  1. A legalapvetőbb dolog egy univerzális, közös gépi nyelv kidolgozásánál a közös írásjelek egyeztetése, azaz legalább abban meg kell állapodni a gépeknek, hogy milyen írásjeleket hajlandók elfogadni. A kompromisszum: minden ma élő nyelv írásjegye legyen benne (csak annyit mondok: Unicode). Ez így azonban elégséges, jó lenne, ha legalább emellett még egy közös szótárral egyértelműsítenénk, hogy mi micsoda, azaz zárjuk ki a szinonima fogalmát – erre való az URI.
  2. Ha ez megvan, akkor az ágensnek meg kell mondani, hogy a mondatokat, és más mondat- vagy szövegtani egységeket formálja meg, illetve zárja egybe, azaz mondja meg, hogy a szavak, kifejezések, mondatok, bekezdések stb. hol kezdődnek és hol érnek véget. Minden ilyen egységhez, persze, fűzhet gondolatokat, megjegyzéseket, kiegészítéseket, ahogy neki tetszik. Egy megkötés van csak, a szavak, mondatok stb. sorrendje rögzített, azaz ezeket nem szabad felcserélni, mert annak más lehet a jelentése, szerepe. Ebből lett az XML.
  3. Ha már tudjuk, hogy hogyan kell a szavakat és kifejezéseket leírni, akkor az egyes fogalmak között fennálló viszonyokat, a mondanivalót, az adatokat, tényeket, a tudásbázist is valahogyan jelezni, tárolni, illetve reprezentálni kell. Szükségünk van tehát egy közös, univerzális adatbázis-szerkezetre, amelyre nincs is jobb megoldás, mint az RDF.
  4. Van közös szótárunk, adatunk, tudásbázisunk, akkor semmi nem akadályoz meg minket, hogy a világ dolgait egyetlen nagy matematikai rendszerben össze gyűjtsük – azaz a létezők tárát hozzuk létre, idegen szóval az ontológiát. Az ontológia azonban nem csak adatbázis, hanem a mondatokban rejtett mondanivalót, az értelmet, azaz a szemantikát hívatott rögzíteni; azt lehet mondani, hogy minden “gépi tudás” a világról mind-mind benne van.
  5. A gép-emberi elme azonban nem lehet csak lexikai tudással felvértezve, szükség van következtetésre (igen, ez a következtetés rétege), “észre” is, amivel bizonyos dolgokat végig lehet gondolni, és az alapján ideális (és/de nem feltétlenül morálisan helyes) döntéseket lehet hozni automatikusan. A gépi agy végülis pontosan olyan, mint azt Asimov írta: logikus, de nem ésszerű.
  6. Eddig, ugye, a gép nyelvet, testet, elmét építettük fel, most eljött az ideje, hogy az emberrel is kommunikáljon a gépünk. Na, nem akarunk valami iszonyúan bonyolult nyelvet kitalálni, csak azt akarjuk elmondani a felhasználónak, hogy így és így gondolkodtunk (gondolkodott a gép!?), ilyen és ilyen forrásokból dolgoztunk; most tessék megnézni, hogy van-e valami hiba, mi nem tetszik.
  7. Persze, a felhasználó csak egy ember, ezért feltétlenül szükség van egy olyan rétegre is, amely a bonyolult matematikai apparátussal megfogalmazható kérdéseket, illetve az eredményeket valami egyszerű eszközzel (pl. grafikon, szöveges kereső, táblázat, 3D animáció) értelmezhetővé, használhatóvá és emészthetővé teszi – azaz szükség van még a felhasználói felületre is.

A felépítés pont olyan, mint amilyennek lennie kellett 1999-ben: világos, a maga módján egyszerű, hihető, grandiózus és sokat ígérő. Ahogy egyik barátom mondta, már a kezdeteknél látszott, hogy ez így, ebben a formában sosem fog működni, de nem is ez volt a cél. Sokkal inkább az a sok-sok milliárd euró lebegett az emberek szeme előtt, amelyet erre a területre kellett költeni, és ami tényleg hatalmas fejlődést indított be a szoftveriparban. Ne gondoljuk, hogy lennének ma 3D filmek, ha nem lett volna szemantikus web.

A szemantikus web már a negyedik rétegnél, viszonylag korán, 2001-ben elakadt, hiszen a megjelenő matematikai korlátokat nem lehet(ett) áthidalni. Pontosabban fogalmazva: bizonyították, hogy egy egyszerű adattárolásnál alig valamivel “okosabb”, értelmes méretű ontológia használatának számítási igénye akkora, hogy nemhogy a valós időt nem fogja közelíteni, de jó, ha 10-100 év múlva választ ad egy-egy egyszerű kérdésre. Igen, jelenlegi számítástudományi tudásunk a XIX. századi matematikán alapszik, és bár sokat fejlődött főleg az 1930-as és 1960-as években, igazából meg sem közelíti az emberi agy mérhetetlenül komplex gondolkodási képességeit. No, nem a matematikában, mert nincs az a számítógép, amely lassabb lenne mondjuk egy osztás elvégzésében, mint egy matematikai zseni. Az emberi kommunikációt, a gondolatokat, mondanivalót, a matematikai formában nem, vagy csak nehezen leírható beszédet nem vagyunk képesek gépileg értelmezni (bár éppenséggel néhány ember esetében én emberileg sem), ezért az ontológia is eleve halálra volt ítélve.

Akkor mégis miért lett a szemantikai keresés olyan nagy dolog mostanság? Erre tudok politikusi és valamivel racionálisabb választ is adni. A politikusi válasz az lenne, hogy ez a fogalom már benn van a köztudatban, így nem csak a politikusok, de a többi pénzcsapot nyitni, zárni képes ember fejében is. A racionális válaszom az lenne, hogy ténylegesen a Google ebben a kérdésben gyenge. Az első sikeres szemantikus kereső (és lényegében a mostani önjelöltek is), az Ask azt a trükköt vetette be, amit minden nyelvtanár tanít, nevezetesen: egy feltett kérdésre a válasz lényegében a kérdésben benne van, csak a szavakat kell más sorrendbe tenni. Azaz pl. a “Hol van a Nyugati pályaudvar?” kérdésre a válasz valahogy így kell, hogy hangozzék: “A Nyugati pályaudvar … van.” Következtetés: elég az ilyen mintájú szövegeket keresni, és ezzel kiszámítható a válasz. Természetesen, az indoeurópai nyelvekben az ige közvetlen a főnév (vagy névelem) mellett van, így a minta keresése még egyszerűbb, mint magyarban. A Google egy ilyen kérdésre jó esetben a Google Maps-hez irányít, rossz esetben 27 millió találatot ad, amelyben a “Nyugati pályaudvar” szerepel.

Az összetett kérdésekben a Google messze alulmúlja a jól felépített szemantikus keresőket. A “Mikor látogatott amerikai elnök a Szovjetunióba?” (angol nyelvű) kérdésre a Google csak blöfföl, minden van, ami a Szovjetunióval vagy az amerikai elnökkel kapcsolatos, míg az Ask már az első találatával megmondja a választ, de a többi is erősen releváns. Márpedig a legtöbb kérdés hasonlóan fókuszált, azaz ha tényleg akarsz valamit keresni, célszerűnek látszik a szemantikus keresőket használni. De nem fogjuk. Egyrészt azért nem, mert a keresőkérdések döntő többsége (utolsó mérésünk szerint) egy-két szavas kifejezés. Kevesebb, mint 1% használ bonyolult szókapcsolatokat, matematikai operátorokat, vagy keresőtől függő speciális karaktereket. Azaz utálunk sokat gépelni. Másrészről a szemantikus kereső akkor boldogul jól, ha a számára érthető nyelven (és a magyar nem ilyen), viszonylag egyszerű, nyelvtanilag nagyjából helyes mondatokat mondunk neki. Ezzel pedig elvesztettük a felhasználók 97%-át. Érdekességképpen: az egyik leggyakoribb keresőkifejezés magyar oldalakon az “ájfon”, de a szemantikus keresők nem tudnak mit kezdeni a Fradi, a Vén Rúni, és még ki tudja miféle szavakkal. A magyar helyesírás ráadásul annyira komplikált, hogy kisebb csoda, ha valaki megír egy mondatot hiba nélkül, főleg, ha az átírási szabályokat is ide vesszük (pl. hányan írják így: dizájn, fájl, gadzsit?). Az egyszerűség alatt pedig tőmondatokat kell érteni, azaz a birtokos szerkezeteket (pl. Hol születtek II. Erzsébet fiai?), logikailag összekapcsolt szerkezeteket (pl. Kik születtek 1975-ben és 1976-ban? – igen, ez helyes, létezik a magyarban a “vagy” értelmű “és”), netán leíró (vagy körülíró) mondatelemeket (pl. Mi volt a II. világháború lezárásakor hivatalban levő amerikai elnök neve?) kerülni kell – helyes válaszokat csak kis eséllyel kaphatunk. Tőmondatokban pedig még a Google se rossz, feltéve, hogy a konkrétum, amit keresünk neveket tartalmaz. Így pl. “Mikor látogatott Nixon elnök a Szovjetunióba?” kérdésre már a Google is hamar jó választ talál.

Összefoglalva: a magunk részéről egyfelől várjuk, hogy jöjjön a Nagy Szemantikus Keresők korszaka – de egyelőre erre még várhatunk. Türelemmel tesszük, mert ez a korszak el fog jönni (ha 2500 évet is kell rá várni). Addig is kell nekünk egy szemantikus pók, amely ha nem is értelmezi a kérdéseinket, legalább szemantikus rendezi majd a weben található információkat. De miért nem foglalkozik senki póktenyésztéssel?!