A mesterséges intelligenciának fogalma sincs arról, hogy mi az a fogalom
A nyelvészetről és a mesterséges intelligenciáról szóló sorozatom következő pár részében arról fogok elmélkedni, hogy milyen esélyei vannak annak, hogy automatikusan, számítógéppel feltárjuk az emberek által alkotott fogalmak hálózatát, kapcsolatait. Ez elég bonyolult jelenségkör, ezért a kutatása is elég bonyolult, és sokféle irányban halad. Ezért több részben fogok róla beszélni. Az első részben magukról a fogalmakról és a hasznukról beszélek. A következő részben azt a problémát veszem elő, hogy mi közük a fogalmaknak a természetes nyelvekhez, amiken az emberek a forrásként szolgáló szövegeket megfogalmazzák. Utána pedig néhány olyan megközelítést mutatok majd be, amikkel a kutatók megpróbálják megoldani a fogalomhálózatok ábrázolásának problémáját.
A fogalom fogalma
A mesterséges intelligencia legfogósabb kérdése a különböző emberi fogalmak kapcsolatrendszerének ábrázolása, használata. Amikor erre vonatkozó irodalmat olvasunk, azt fogjuk látni, hogy fogalmon nem mást értenek, mint tulajdonságok együttesét. Az ókortól fogva így van ez, már Arisztotelész is így használta ezt a szót. Például a „fa” fogalma tartalmazza a „növény” fogalmának összes tulajdonságát (ez az ún. genus proximuma a közvetlenül fölérendelt fogalom), ezen kívül pedig még nagyjából az „évelő”, „fás szárú”, „felnyúló” és „koronás” tulajdonságokat (ezek azok, amik a többi növénytől megkülönböztetik, vagyis az ún. differentia specificái).
A korábban ebben a rovatban megjelent írásaimban már meséltem arról, hogy a mesterséges intelligencia kutatásában a tulajdonságok együtt járását, vagyis a „fogalmakat” sokféle eszközzel, elsősorban neurális hálók segítségével igyekeznek megragadni. A fogalmakkal kapcsolatos legalapvetőbb képességek szimulálására számtalan módszert használnak, például a felismerés utánzásra felügyelt tanulást, a kategorizálás megragadására pedig felügyelet nélkülit (amit én „önfelügyeltnek” neveztem).
Teljesen nyilvánvaló, hogy mihez szükségesek ezek a modern mindennapi életben. Például egy önvezető autónak fel kell ismernie a környezetében feltűnő (és esetleg mozgó) tárgyakat, jelenségeket, mert ezekhez kell igazítania a viselkedését. Egy cég pedig akkor tudja a legjobban eladni a termékeit és szolgáltatásait, ha képes felismerni a különböző lehetséges fogyasztói csoportokat, és hozzájuk tudja igazítani a kínálatát és a reklámjait. Az önvezető autó esetében magától értetődik, de a cég esetében is igaz, hogy ezt „kézi erővel”, puszta emberi gondolkodással nem lehet jól megoldani, nem beszélve arról, hogy mennyivel olcsóbb és gyorsabb, ha automatizáljuk a megoldást. Nem nehéz belátni, mennyiféle alkalmazási területe lehet ezeknek a képességeknek, hiszen rengeteg tudomány és mesterség van, amiben az ismert és használandó adatok mennyisége lassan csillagászati méretű, ezért a problémák megoldása automatizálásért kiált – gondoljunk csak a genetikára, vagy akár az építőiparra, az orvostudományra, és így tovább. Szerintem a jog és akár a politika is megérett arra, hogy automatizálással segítsük a problémák megoldását, de ezekben már nyilvánvalóan a nyelvnek is fontos szerepe van. És sajnos a nyelvtudomány olyan lemaradásban van, hogy ezek a területek egyelőre a tudományos fantasztikum világához tartoznak.
Nem véletlenül hangsúlyoztam, hogy eddig a legalapvetőbb képességekről van szó. Az emberi gondolkodásnak, ezen belül pedig a problémamegoldó képességünknek ezeknél sokkal összetettebb mechanizmusai is vannak. Eljutottunk ugyan odáig, hogy a fogalmakat számvektorokkal tudjuk ábrázolni, és néhány alapvető műveletet is tudunk végezni ezekkel a vektorokkal, amiknek közük van a fogalmak tartalmához. De még a közelében sem vagyunk annak, hogy a fogalmak közötti bonyolult logikai összefüggéseket meg tudjuk ragadni.
Például az előbb említett „fa” fogalom, mint a növények egyik osztálya, nem rendszertani (genetikai) kategória, hanem több családban és rendben is előfordulnak fák, vagyis a „fa” és a rendszertani osztályozás között bonyolult kapcsolatok vannak. És akkor még mindig csak az osztályozásokról beszéltünk, és nem említettük például azt, hogy a „fa” fogalomnak még funkcionális tulajdonságai is vannak (vagyis felhasználási módjai), hogy időben lezajló esemény-fogalmakhoz is kapcsolódik (olyan „történetekben” vesz részt, mint a növekedés vagy a kitermelés), és nem utolsósorban a tulajdonságairól is sokféle tartalmas dolgot elmondhatnánk, és ezeknek a révén mindenféle más fogalmakkal is kapcsolatban vannak. Vagyis a fogalmak hálózatot alkotnak a köztük levő logikai kapcsolatok révén.
A fogalomhálózatok
A logikai összefüggések próbája az, hogy milyen következtetéseket tudunk levonni bizonyos helyzetekből, tényállásokból. A számvektorokkal való fogalomábrázolás csak nagyon kevés fajta következtetésre ad módot. Persze óriási eredmény, hogy a számítógép is képes megállapítani, hogy ha fáról van szó, akkor feltétlenül növényről is, vagy hogy (amint a korábbi írásomban említettem) a király és a királyné viszonya hasonlít a férj és a feleség viszonyához. De azt a következtetést, hogy ha egy fát t időpontban kivágnak, akkor a t-nél későbbi időpontokban nem áll ott, ahol t előtt állt, ilyen eszközökkel nem lehet levonni.
Hatalmas kihívás tehát a mesterséges intelligencia előtt, hogy úgy ábrázolja a fogalmak hálózatát, hogy gyakorlati célokra, például következtetések levonására lehessen használni. És mivel ma már világos, hogy „kézi erővel” ezt is lehetetlen „betáplálni” a számítógépbe (ahogy azt a múlt század közepén gondolták), a gépeknek ezt is megtanulniuk kell. Az ember feladata kidolgozni ennek a gépi tanulásnak a módszereit, algoritmusait. Kicsit nagyobb falat ez, mint amikről korábban írtam, ezért több részben fogok az olvasókkal erről beszélgetni. Jöjjön tehát az eleje, ebben sajnos több a filozófia, mint a gyakorlati megvalósítások, de a folytatás is következni fog.
A fogalomhálózatok haszna
Láttuk, hogy mire jó a legalapvetőbb képességek (felismerés, kategorizálás) automatizálása. Kicsit nehezebb átlátni, hogy mire jó a fogalomhálózatok automatikus feltárása, megtanulása. Elsősorban szövegek automatikus feldolgozására, „megértésére” érdemes gondolni. Ha például az a kérdés, hogy egy szöveg gyógyszerről szól-e, elég nagy az esélye, hogy magát a gyógyszer szót nem fogjuk benne megtalálni, viszont találunk benne olyan szavakat, amik kapcsolatban vannak a gyógyszerekkel. Például megtaláljuk a fájdalomcsillapító szót vagy az adagolás szót. Ha tudjuk, hogy ezeknek a funkciója összefügg (vagy legalábbis összefügghet) a gyógyszerekkel, akkor közelebb kerülünk a kérdés megválaszolásához. Persze úgy tűnik, hogy ilyenkor a legegyszerűbb megoldás úgynevezett kulcsszavakat keresni a szövegben (mint amilyen a fájdalomcsillapító vagy az adagolás), de egyrészt lehet, hogy a kérdés bonyolultabb, mint hogy miről szól a szöveg, másrészt pedig valahonnan azt is tudnunk kell, hogy a gyógyszerekről szóló szövegek felismeréséhez mik a jó kulcsszavak.
Összefoglalva: Hosszabb távon el szeretnénk érni, hogy a számítógép valóban megértse a szöveget. Ezt első közelítésben úgy értjük, hogy képes legyen következtetéseket levonni belőle. Például fel kell ismernie, hogy ha fájdalomcsillapítóról van szó, akkor egyúttal gyógyszerről is, de ennél bonyolultabb következtetésekre is szükség van. Hagyományosan és legfelületesebben ugyanis az emberi megértést is azzal szoktuk jellemezni, hogy képesek vagyunk-e a hallottakból következtetéseket levonni.
Az is világosnak látszik, hogy a leggazdagabb információforrás, aminek a segítségével a fogalmak hálózata feltérképezhető, a természetes nyelven írt szövegekben található. Ezért a fogalomhálózatok feltárásának problémája szorosan kapcsolódik a nyelvészettel. Ahhoz, hogy a gép szövegeket használhasson a fogalomhálózat megismeréséhez, az szükséges, hogy a használt kifejezések funkcióját legalább az ehhez szükséges mértékben ismerje, megismerje. Azt, hogy „ismerje a funkciójukat”, a számítógép esetében csak úgy tudjuk értelmezni, hogy olyan ábrázolást (reprezentációt) tudjon hozzájuk rendelni, amikből aztán képes leolvasni köztük levő viszonyokat. Például az olyan logikai viszonyokat, mint hogy „a fájdalomcsillapítók gyógyszerek”, akár az iskolából ismert Venn-diagramokkal is ábrázolhatjuk (vagyis a fájdalomcsillapítóknak megfelelő kör belül van a gyógyszereknek megfelelő körön). De a bonyolultabb viszonyokat általában nem vizuálisan, ábrákkal ábrázoljuk, hanem valamilyen logikai nyelven. Ennek számtalan lehetőségét itt most természetesen nem ecsetelem tovább, mert ehhez a logika tudományának rejtélyeibe mélyebben bele kellene mennem.
A szerző nyelvész, az MTA Nyelvtudományi Intézetének főmunkatársa. A Qubit.hu-n megjelent írásai itt olvashatók.