Dunaújvárosi Főiskola Informatikai Intézet Tudásalapú rendszerek Dr. Seebauer Márta főiskolai tanár seebauer.marta@szgti.bmf.hu
Tudás fogalma Tudás a valós világ tükröződése az emberi tudatban, amelynek nem minden részlete fejezhető ki verbálisan. Olyan ismeret, amely közelebb visz egy probléma megoldásához. Adat Információ Tudás észlelt, de nem értelmezett szimbólum, jelminta, mintázat értelmezett adat, amely jelentéssel bír, egy döntési folyamat bemenetén és kimenetén található megtanult, rendszerezett és egy döntési folyamat során felhasznált információ Láz Kovács János 38 C Kovács János láza 40 C. Ha a beteg láza 38 C fölé emelkedik, lázcsillapítót kell beadni neki. Matáv részvényei Árfolyam növekszik 5% A Matáv részvényeinek árfolyama 5%-kal növekedett. Ha a Matáv részvényeinek árfolyama 5%-kal növekszik, el kell adni.
A tudásreprezentáció szintjei kognitív operációs szint emberi képességek és jártasságok halmaza, amelyeket nehéz vagy lehetetlen számítógépen ábrázolni János tud autót vezetni. Egy sebész tud operálni. Palika haza tud menni. Julika tud fogat mosni. tudatos megfogalmazás szintje a valós világ gondolati leképezése Hogyan kell csinálni? verbalizációs szint a valós világ természetes nyelvi leírása A gépjármű oktató magyaráz a tanulóvezetőnek. Az orvosprofesszor magyaráz a medikusoknak a műtőben. Palika elmondja a barátjának, hogyan talál el hozzájuk. A fogorvos elmondja a gyerekeknek, hogyan kell helyesen fogat mosni. logikai reprezentáció szintje a valós világ szimbolikus ábrázolása formalizált nyelv alkalmazásával, amely számítógéppel könnyen megvalósítható fizikai reprezentáció szintje az ismeret ábrázolása számítógépes kóddal
MI technikák célja az ismeretek megszerzése - tudásbeszerzés az ismeretek leírása, formális megjelenítése, ábrázolása - tudásreprezentáció SZINTAKTIKA az ismeretek hasznosítása - problémamegoldás valamely következtetési módszer felhasználásával SZEMANTIKA
A reprezentációs módszerek osztályozása procedurális tartalmazza a megoldás algoritmikus lépéseit logikai alapú a tudás deklaratív módon ábrázolja, a megoldást egy következtető rendszer szolgáltatja egyszerű elemi kijelentéseket használ strukturált attribútumokkal rendelkező objektumokat alkalmaz
procedurális reprezentáció logikai alapú reprezentáció logikai formulák logikai nyelvek formális nyelvtanok szabályalapú reprezentáció Reprezentációs módszerek strukturált reprezentáció asszociatív vagy szemantikus hálók taxonomikus hálók döntési fák frame-ek scriptek hibrid reprezentáció hibrid reprezentáció frame-ek + szabályok + procedúrák
Logikai formula Előnye: Hátránya: N &( ~D V Sz ) S pontos, egyértelmű tömör, kifejező számítógéppel jól kezelhető nehezen olvasható zárt világot feltételez nem kezeli a hiányzó adatokat és a bizonytalanságot
Szabályalapú reprezentáció Ha a sebesség túl magas, akkor fékezz. Ha a részvény árfolyama esik, akkor el kell adni. IF <Feltételrész> THEN <Következmény> IF <Feltételrész> THEN <Cselekvés> <Feltételrész> = {Feltétel 1, Feltétel 2,, Feltétel n } A,B,C D D,E G F G A D B C G E F
Szabály alapú következtetés Célállítások szintje Agenda Szabályok szintje Célvezérelt Adatvezérelt Tudásbázis Tényállítások szintje Adatbázis lekérdezés Felhasználói válasz Alapértelmezés
A szabályalapú rendszerek általános felépítése Következtető gép Munka memória Tudásbázis
Szabály kiválasztása Adatvezérelt következtetés Forward-Chaining Feltételrész ellenőrzése Teljesül Nem teljesül Szabály alkalmazása Cél? Nem Igen Vége
Példa adatvezérelt következtetésre 1. IF is_elefant(x) THEN is_emlos(x) 2. IF is_macska(x) THEN is_emlos(x) 3. IF is_pingvin(x) THEN is_madar(x) 4. IF is_emlos(x) THEN is_allat(x) 5. IF is_madar(x) THEN is_allat(x) 6. is_elefant(clyde) 7. is_pingvin(tweety) Szabály 1. 3. 4. 5. Új tény is_emlos(clyde) is_madar(tweety) is_allat(clyde) is_allat(tweety) 8. 9. 10. 11.
Célvezérelt következtetés Backward-Chaining FUNCTION ÉRVÉNYES(Cél) IF Cél megtalálható a munkamemóriában OR Visszafelé_láncolás (Cél) THEN Tárold Cél-t a munkamemóriába; Return true; ELSE Return false; ENDIF; END FUNCTION Visszafelé_láncolás (Cél) IF Létezik olyan szabály: IF Feltételrész THEN Cél AND FORALL B eleme Feltételrész: ÉRVÉNYES (B) THEN Return true; ELSE Return false; ENDIF; END
is_allat(tweety) Példa célvezérelt következtetésre 4. IF is_emlos(x) THEN is_allat(x) 5. IF is_madar(x) THEN is_allat(x) is_emlos(tweety) is_madar(tweety) 1. IF is_elefant(x) THEN is_emlos(x) 2. IF is_macska(x) THEN is_emlos(x) 3. IF is_pingvin(x) THEN is_madar(x) is_elefant(tweety) is_macska(tweety) is_pingvin(tweety) 7.is_Pingvin(Tweety) Nincs a tudásbázisban olyan tény, amely bizonyítaná Cél bizonyított
Szemantikus hálók ez egy repülő szállít emberek közlekedési eszköz ez egy gépjármű van motor ez egy busz ez egy teherautó áru szállít
Objektum - tulajdonság - érték Autó Színe Piros instance of is equivalent to has properties of subclass of has part of set member type of példánya azonos tulajdonsággal rendelkezik részosztálya része eleme típusa
Szemantikus hálók Előnye: Hátránya: minden kapcsolatot tömören ír le öröklődés keresési idő rövid nincs szabvány a következtető rendszerre kivételek kezelése kombinatorikus robbanás
Taxonomikus hálók Jármű Szárazföldi Vizi Légi Kötött pályás Szabad pályás Víz alatti Víz feletti Tengeralattjáró
Osztály Alapértelmezett érték Frame Frame Osztály Kerekek száma Motor Karosszéria Autó Gépjármű default=4 Értékhalmaz=(Négyütemű, Kétütemű, Diesel) Értékhalmaz=(Fém, Műanyag) Korlátozások Objektum Szlotok Frame Példány Gyártó Típus Kerekek száma Motor Szín Karosszéria HWI-JD85 Autó Opel Kadett E 4 Négyütemű Bordó Fém Értékek
Frame Előnye: Hátránya: eseményvezérelt következtetés (démonok) az ismeretek strukturált szervezése dinamikus értékadás deklaratív és procedurális ismeretek együttes alkalmazása kivételek kezelése heurisztika nehezen alkalmazható új struktúrájú objektum beillesztése
Script Entry conditions Results Properties Roles Track Scene belépési feltételek család éhes és van pénze eredmények család már nem éhes, kevesebb a pénze kellékek asztalok, étlap, ételek, italok, pénz, stb. szerepek vendég, pincér, szakács, tulajdonos, stb. hasonló változat kávézó mozzanat belépés, rendelés, evés, fizetés, távozás
Script Előnye: Hátránya: hatékony alkalmazásorientált
Az szakértő rendszerek helye a számítástechnika rendszerében MI programok Tudásalapú rendszerek Szakértői rendszerek SZR KBS - Knowledge Based System ES - Expert System
Szakértői szituáció
Problémamegoldás szakértő rendszer alkalmazásával A feladat megoldását végző személy a probléma delegálása A probléma megoldása és magyarázatadás Szakértő rendszer
Problématípusok klasszifikációs diagnosztikai monitorozó konstrukciós (konfiguráló) rekonstrukciós tervezési (ütemező) prognosztikai
A problémamegoldás szakértői rendszerrel Reális világ Szakterület Probléma Tudásbegyűjtés és ábrázolás Megoldás A válasz bemutatása Reprezentált tudás Válasz Számítógép Következtetés
Az SZR kritériumai Probléma-megoldó programrendszer Tudásalapú rendszer Az adatok lehetnek hiányosak Betekintést enged a megoldás menetébe
Szakértői rendszerek felépítése Felhasználó Szakértői rendszer Felhasználói felület Magyarázó alrendszer Következtető gép Tudásbeszerző alrendszer Tudásbázis
Szakértői rendszer shell Tudásmérnök Felhasználó felület Magyarázó alrendszer Expertensystem Következtető gép Tudásbeszerző alrendszer Tudásbázis
Hagyományos programok Tudásalapú rendszerek adatot kezel algoritmust alkalmaz ismétlődő eljárásokon, ciklusokon halad keresztül nagy adatbázisokra épül tudást kezel heurisztikát vagy szabályokat alkalmaz következtetett eljárásokon halad keresztül tudásbázisra épül
A tudásalapú rendszerek alkalmazásának előnyei a tudás állandó, nem fakul meg a korral a tudás könnyen és hitelesen továbbadható, sokszorozható a tudásbázis előállítása rendszerezi a meglévő tudást, a tudás jól dokumentálható lesz, származhat több embertől is a tudás viszonylag olcsón, bárhol és bármikor elérhető kíméli a képzettebb szakemberek munkaidejét
A tudásalapú rendszer korlátai nyitott világ problémája csak a megadott szabályok szerint gondolkodik nem veszi észre tudása határait speciális problémák megoldására használható az időtényező szerepe a fejlesztési és elavulási idő aránya költségvonzatok a fejlesztés és a bevezetés költségei magasak a tudásbázis állandó karbantartást igényel emberi tényezők szakmai féltékenység, idegenkedés a számítógéptől a szakértők nem egyező véleménye
Új SZR alkalmazások száma az USA-ban 14000 12000 10000 8000 6000 4000 2000 0 1985 1986 1987 1988... 1992
Az SZR-ek alkalmazási területei információ-feldolgozás elemzés tervelőkészítés konfigurálás hibakeresés ütemezési feladatok ipar, mezőgazdaság vegyészet, gyógyszerkutatás orvostudomány, egészségügy meteorológia, geológia hadiipar, harcászat, űrkutatás pénzügy, bankok biztosítótársaságok szállítás, utazási irodák jogi rendszerek, szerződéskötések, adótanácsadás politika
Az SZR-ek megoszlása alkalmazási területek szerint USA 1992-93 Orvosi alkalmazások 23% Ipar 27% Űrkutatás 10% Szállítás 8% Üzleti élet 24% Mezőgazdaság 8%
Az SZR-ek megoszlása alkalmazási területek szerint Biztosítás 3% Egyéb 4% Ipar 81% Adó könyvelés 4% Bank 8% Németország 1992-93
Hazai SZR-ek megoszlása alkalmazási területek szerint 1985-91 Energetika 11% Orvosi alkalmazások 25% Egyéb ipar 17% Kémia 15% Épitőipar 11% Üzleti élet 12% Számitástechni ka 9%
A bor tanácsadó rendszer működése M1 shellben bor rule-33 rule-34 rule-35 rule-36 rule-37 rule-44... ajánlott-szín ajánlott-testesség ajánlott-édesség...... rule-21 rule-22 rule-23 rule-24 rule-25 rule-14 rule-20 rule-26 rule-32 legjobb-szín... rule-6 rule-7 rule-8 rule-9 rule-11 fõtartozék vanpulyka vanmártás mártás f baromfi f igen f igen f paradicsomos cf = (100 * cf1 + 100 * cf2 - cf1 * cf2) / 100.
Tudásalapú alkalmazás felépítése Level5 rendszerben Felhasználói felület Külső programok Szöveg Kép Video Tudásbázis Hang Adatbázis Frame-ek Logika Dokumentum Táblázat Nyomtató Külső fájlok
Felhasználó Felhasználó Modern tudásalapú rendszer architektúrák Internet Web Szerver Alkalmazás Szerver Adatbázis Szerver Felhasználó Következtető gép Felhasz nálói felület Tudásbázis Kliens-szerver architektúra Beágyazó rendszerek Beágyazott rendszerek
A fejlesztésben résztvevő személyek A fejlesztő rendszer gyártója/forgalmazója Programozók Tudásmérnök Rendszeradminisztrátor Szakértő Szakértő Szakértő Szakértő
Problématerület kiválasztása Szakértők kiválasztása A probléma elemzése Tudásalapú rendszerek fejlesztési folyamata Fejlesztői környezet kiválasztása Tudásbegyűjtés és tudásábrázolás Prototípus elkészítése Verifikálás és validálás Tudásbegyűjtés és tudásábrázolás Tudásalapú rendszer felépítése Verifikálás és validálás Karbantartás