Dunaújvárosi Főiskola Informatikai Intézet
Tudásalapú rendszerek Dr. Seebauer Márta főiskolai tanár
[email protected]
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 észlelt, de nem értelmezett szimbólum, jelminta, mintázat
Információ é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ó
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.
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.
Láz Kovács János
Tudás
38 °C Matáv részvényei Árfolyam növekszik 5%
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 – – – –
•
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 – – – –
•
János tud autót vezetni. Egy sebész tud operálni. Palika haza tud menni. Julika tud fogat mosni.
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
egyszerű elemi kijelentéseket használ
logikai alapú a tudás deklaratív módon ábrázolja, a megoldást egy következtető rendszer szolgáltatja
strukturált attribútumokkal rendelkező objektumokat alkalmaz
Reprezentációs módszerek • procedurális reprezentáció • logikai alapú reprezentáció – – – –
logikai formulák logikai nyelvek formális nyelvtanok szabályalapú reprezentáció
• 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ó – 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
THEN IF THEN = {Feltétel1, Feltétel2, …, Feltételn} G
A,B,C→D D,E →G F →G
D A
B
C
E
F
Szabály alapú következtetés Célállítások szintje
r ezé
lve z Cé
Tudásbázis atv Ad
ér el t
Szabályok szintje
Agenda
elt
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
Munka memória
Következtető gép
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. 2. 3. 4. 5. 6. 7.
IF is_Elefant(X) THEN is_Emlos(X) IF is_Macska(X) THEN is_Emlos(X) IF is_Pingvin(X) THEN is_Madar(X) IF is_Emlos(X) THEN is_Allat(X) IF is_Madar(X) THEN is_Allat(X) is_Elefant(Clyde) is_Pingvin(Tweety) Szabály
Új tény
1.
is_Emlos(Clyde)
8.
3.
is_Madar(Tweety)
9.
4.
is_Allat(Clyde)
10.
5.
is_Allat(Tweety)
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)
4. IF is_Emlos(X) THEN is_Allat(X)
5. IF is_Madar(X) THEN is_Allat(X)
is_Madar(Tweety)
is_Emlos(Tweety) 1. IF is_Elefant(X) THEN is_Emlos(X)
Példa célvezérelt következtetésre
2. IF is_Macska(X) THEN is_Emlos(X)
3. IF is_Pingvin(X) THEN is_Madar(X) is_Pingvin(Tweety)
is_Elefant(Tweety)
is_Macska(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
szállít
közlekedési eszköz ez egy
emberek
repülő
ez egy
busz
gépjármű ez egy
van
teherautó
motor
szállít áru
Objektum - tulajdonság - érték
Autó
instance of is equivalent to has properties of subclass of has part of set member type of
Színe
Piros
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
Kötött pályás
Vizi
Szabad pályás
Víz alatti
Tengeralattjáró
Légi
Víz feletti
Osztály
Frame Osztály Kerekek száma Motor Karosszéria
Szlotok
Frame Alapértelmezett érték
Autó Gépjármű default=4 Értékhalmaz=(Négyütemű, Kétütemű, Diesel) Értékhalmaz=(Fém, Műanyag)
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
Korlátozások
Objektum
É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
belépési feltételek család éhes és van pénze
Results
eredmények család már nem éhes, kevesebb a pénze
Properties
kellékek asztalok, étlap, ételek, italok, pénz, stb.
Roles
szerepek vendég, pincér, szakács, tulajdonos, stb.
Track
hasonló változat kávézó
Scene
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 ES - Expert System KBS - Knowledge Based 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
Szakértő rendszer A probléma megoldása és magyarázatadás
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 Szakterület Probléma
Megoldás
Tudásbegyűjtés és ábrázolás
Reprezentált tudás Számítógép
Következtetés
A válasz bemutatása
Válasz
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
Tudásbeszerző alrendszer Következtető gép
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ásbázis
Tudásbeszerző alrendszer
Hagyományos programok • adatot kezel • algoritmust alkalmaz • ismétlődő eljárásokon, ciklusokon halad keresztül • nagy adatbázisokra épül
Tudásalapú rendszerek • 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ó, állandó nem fakul meg a korral • a tudás könnyen és hitelesen továbbadható, 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%
Szállítás 8%
Űrkutatás 10% Mezőgazdaság 8% Üzleti élet 24%
Az SZR-ek megoszlása alkalmazási területek szerint Biztosítás 3%
Adó könyvelés 4% Bank 8%
Németország 1992-93
Egyéb 4%
Ipar 81%
Hazai SZR-ek megoszlása alkalmazási területek szerint 1985-91 Orvosi alkalmazások 25%
Energetika 11%
Kémia 15%
Egyéb ipar 17%
É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
ajánlott-szín
rule-21
rule-22
rule-23
rule-24 rule-25
rule-37
rule-44
ajánlott-testesség
ajánlott-édesség
...
...
rule-14
rule-20
rule-26
rule-32
legjobb-szín ... rule-6
fõtartozék
rule-7
rule-8
vanpulyka
f
f
baromfi
igen
rule-9
rule-11
vanmártás
mártás
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
Tudásbázis
Video Hang Adatbázis
Frame-ek
Logika
Táblázat Dokumentum
Nyomtató Külső fájlok
Felhasználó
Felhasználó
Internet
Modern tudásalapú rendszer architektúrák
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