A tudás keresése
A mesterséges intelligencia korai szakaszában a felülről lefelé irányuló, más néven szimbolikus megközelítés volt a domináns irány. Az alapötlet egyszerű volt, az emberi tudást ki kell nyerni, gép által olvasható formába kell önteni, majd erre a tudásra építve automatikusan kell problémákat megoldani. Ez a megközelítés két nagy kérdésre épült, hogyan ábrázoljuk a tudást, és hogyan modellezzük a rá épülő következtetést.
Fontos különbséget tenni a tudás, az információ és az adat között. A könyvek önmagukban adatot tartalmaznak, ez fizikai formában létező szöveg. Amikor elolvassuk és megértjük ezt a szöveget, információvá válik számunkra. Amikor ezt az információt beépítjük a világról alkotott saját modellünkbe, akkor beszélhetünk tudásról. Ezt a lépcsőzetes felépítést szokás a DIKW piramissal szemléltetni, amelynek négy szintje az adat, az információ, a tudás, és legfelül a bölcsesség, vagyis a metatudás arról, hogy mikor és hogyan érdemes egy adott tudást felhasználni.
A tudásreprezentáció problémája tehát az, hogy találjunk egy olyan hatékony módszert, amellyel a tudást adat formájában tudjuk tárolni a gépben, úgy, hogy az automatikusan felhasználható legyen. Ez egyfajta spektrumként képzelhető el. A skála egyik végén az algoritmikus ábrázolás áll, ahol a tudást egyenesen egy program testesíti meg, ez hatékony, de rugalmatlan. A másik végén a természetes nyelvű szöveg áll, amely rendkívül kifejező, de önmagában nem alkalmas automatikus következtetésre.
A tudásreprezentáció fő módszerei
A számítógépes tudásreprezentációnak több jól elkülöníthető típusa alakult ki a kutatás során.
A hálózati reprezentáció abból indul ki, hogy fejünkben a fogalmak összekapcsolódó hálózatot alkotnak. Ezt a hálózatot úgynevezett szemantikus hálózatként lehet leképezni a gépben, jellemzően objektum, attribútum és érték hármasok listájaként. Ha például programozási nyelvekről szeretnénk tudást tárolni, olyan hármasokat építhetünk, mint hogy a Python egy típus nélküli nyelv, vagy hogy a Pythont Guido van Rossum találta ki.
A hierarchikus reprezentáció azt ragadja meg, hogy gyakran rendezünk objektumokat hierarchiába. Tudjuk például, hogy a kanárimadár egy madárfajta, és minden madárnak vannak szárnyai. Ennek egyik jól ismert formája a keretalapú, vagyis frame reprezentáció, amelyben minden objektumot vagy objektumosztályt egy keret ír le, ez a keret pedig úgynevezett slotokat, vagyis mezőket tartalmaz, alapértelmezett értékekkel, megkötésekkel, vagy akár eljárásokkal, amelyek kiszámítják az adott mező értékét.
A procedurális reprezentáció a tudást cselekvések listájaként ábrázolja, amelyek egy adott feltétel teljesülésekor hajthatók végre. Ennek legismertebb formája a termelési szabály, vagyis a ha akkor típusú állítás. Egy orvosi szabály például kimondhatja, hogy ha egy páciensnek magas láza van, vagy magas a C reaktív fehérje szintje a vérében, akkor gyulladása van. Amint ez a feltétel teljesül, a rendszer levonhatja a következtetést, és felhasználhatja azt egy további szabály feltételeként.
Végül a logika, amelyet eredetileg Arisztotelész javasolt az egyetemes emberi tudás formalizálására, ma is az egyik legpontosabb tudásábrázolási módszer. A gyakorlatban a teljes predikátumlogika túl bonyolult a hatékony számításhoz, ezért annak egyszerűbb részhalmazait használjuk, ilyen például a Prolog nyelv alapját adó Horn klózok.
Hogyan épül fel egy szakértői rendszer
A szimbolikus AI egyik legfontosabb korai sikertörténete a szakértői rendszerek megjelenése volt. Ezek olyan programok, amelyeket úgy terveztek, hogy egy szűk, jól körülhatárolt problématerületen szakértőként tudjanak eljárni. A rendszer magja egy emberi szakértőtől kinyert tudásbázis, amelyre egy következtető motor épül, ez végzi a tényleges érvelést.
A felépítés hasonlít az emberi gondolkodás rövid és hosszú távú memóriájára. A probléma memória tartalmazza az éppen vizsgált eset konkrét adatait, például egy páciens testhőmérsékletét vagy vérnyomását, ezt statikus tudásnak is hívjuk, hiszen ez az adott probléma egy pillanatnyi állapotát rögzíti. A tudásbázis a szakterület hosszú távú, szabályokban rögzített tudását tartalmazza, amely nem változik konzultációról konzultációra. A következtető motor pedig összehangolja a keresést a lehetséges problémaállapotok között, szükség esetén kérdéseket tesz fel a felhasználónak, és megkeresi az adott állapotra alkalmazható szabályokat.
Egy egyszerű példa erre egy állat fajtájának meghatározása fizikai jellemzők alapján, olyan szabállyal, mint hogy ha egy állat húst eszik, vagy éles fogai, karmai és előre néző szemei vannak, akkor ragadozónak minősül. Az ilyen szabályhalmaz grafikusan egy úgynevezett ÉS VAGY fával ábrázolható, ami hasznos segédeszköz a tudás kinyerésének kezdeti szakaszában, magában a rendszerben viszont kényelmesebb közvetlenül a szabályokkal dolgozni.
Előre és visszafelé történő következtetés
A szakértői rendszerek kétféle módon juthatnak el egy következtetéshez.
Az előrekövetkeztetés a rendelkezésre álló kiinduló adatokból indul, és lépésről lépésre halad a cél felé. A rendszer megnézi, hogy a cél attribútum már szerepel-e a munkamemóriában, ha igen, megáll, ha nem, összegyűjti azokat a szabályokat, amelyek feltétele éppen teljesül, ez az úgynevezett konfliktushalmaz. Ha egynél több ilyen szabály van, valamilyen konfliktusfeloldási stratégiával választ közülük, ilyen lehet az első illeszkedő szabály kiválasztása, egy véletlenszerű választás, vagy a legspecifikusabb szabály előnyben részesítése. A kiválasztott szabály alkalmazása után a folyamat újraindul.
A visszafelé történő következtetés a célból indul ki, és megkeresi azokat a szabályokat, amelyek levezethetnek hozzá. Ez különösen hasznos olyan helyzetekben, mint az orvosi diagnózis, ahol nem célszerű minden lehetséges vizsgálatot elvégezni előre, hanem csak azokat érdemes elvégezni, amelyekre a következtetéshez ténylegesen szükség van. A rendszer ilyenkor a szabály feltételeit rekurzívan újabb célokként kezeli, és ha egy adott hipotézis nem igazolható, egyszerűen egy másik szabályt próbál ki.
Egy jól felépített szakértői rendszer legfontosabb tulajdonsága, hogy bármely döntése pontosan visszavezethető és megmagyarázható, ellentétben a mai neurális hálózatokra épülő megoldásokkal, amelyek gyakran fekete dobozként működnek.
Ontológiák és a szemantikus web
A huszadik század végén komoly kezdeményezés indult arra, hogy a tudásreprezentáció eszközeit az internetes tartalmak annotálására is felhasználják, hogy nagyon pontos keresési igényeket is ki lehessen elégíteni. Ezt a törekvést szemantikus webnek nevezték. Az alapja az ontológia fogalma, vagyis egy adott probléma terület formális, explicit leírása. A legegyszerűbb ontológia egy egyszerű objektumhierarchia, a bonyolultabbak már következtetésre használható szabályokat is tartalmaznak.
A szemantikus webben minden fogalmat és minden kapcsolatot egyedi URI azonosít, és minden állítás hármasok formájában rögzíthető. Ha például azt szeretnénk kifejezni, hogy ezt a tananyagot egy adott személy hozta létre egy adott napon, ezt két egyszerű hármassal tudjuk leírni. Ehhez a törekvéshez kapcsolódik több XML alapú nyelv is, mint az RDF, az RDFS és az OWL.
Bár a szemantikus web térnyerését jelentősen lassította a keresőmotorok és a természetes nyelvfeldolgozás fejlődése, amelyek ma már közvetlenül szövegből is ki tudnak nyerni strukturált adatot, egyes projektek ma is aktívan bővítik ezt a fajta tudásbázist. A Wikidata és a DBpedia jó példák erre, mindkettő gépileg olvasható tudásbázist épít nyilvános forrásokból, és lekérdezhető speciális lekérdező nyelveken, mint a SPARQL. Aki szeretne saját ontológiát építeni, kipróbálhatja a Protégé nevű ingyenes, vizuális szerkesztőt.
Miért fontos ma is a szimbolikus gondolkodás
Manapság a mesterséges intelligencia kifejezést sokan a gépi tanulás vagy a neurális hálózatok szinonimájaként használják. Az emberi gondolkodás azonban jelentős részben explicit érvelésen alapul, amit a mai neurális hálózatok önmagukban nem kezelnek jól. Éppen ezért a valódi, éles projektekben az explicit, szabályalapú következtetés továbbra is fontos szerepet játszik, különösen ott, ahol a döntést meg kell tudni magyarázni, vagy ahol a rendszer viselkedését kontrollált módon kell tudni módosítani, anélkül hogy az egész modellt újra kellene tanítani. A szabályalapú és a tanult modellek kombinációja ma is gyakori megoldás olyan iparágakban, ahol az átláthatóság és a szabályozói megfelelés kulcskérdés.
Forrás
Ez a lecke a Microsoft nyílt forráskódú, MIT licenc alatt elérhető "AI For Beginners" tananyagának magyar adaptációja. Eredeti angol lecke. GitHub. Felhasznált magyar gépi fordítás. GitHub.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →