Szakértő rendszer alaptechnikák, elemi problématípusok és a tudáslapú rendszerépítés jellegzetességei Forrás: Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszerek. Dunaújvárosi Főiskola Kiadói Hivatala, Készítette: Péter Imre 2007
1.Szakértő rendszer problématípusok
1.1 Szakértő rendszer problématípusok osztályzása Klasszikus osztályzás szerint (Hayes-Rooth): - interpretáció - előrejelzés - diagnózis - objektumtervezés - tevékenységtervezés - őrzés/monitorozás - hibaelhárítás - javítás - oktatás - szabályozás Felhasználói szituációt alapul vevő osztályzás. Nem minden típus elemi, - vannak speciális esetek: diagnosztizáló részhalmaza az interpretáló - lehetnek összetett típusok is: pl. hibaelhárítás= diagnózis + javítás
Problématípusokat realizáló technikák szerinti csoportosítás (Harmon): - procedurális problémák - diagnosztizáló problémák - monitorozó/őrző problémák - konfiguráló vagy objektumtervező (design) problémák - tevékenység tervező (planning) vagy ütemező (scheduling) problémák 1.1 Szakértő rendszer problématípusok osztályzása
1.1.1 Procedurális problémák Amikor az adott tárgyköri ismeretanyag leírható valamely egyszerű eljárással, procedurális problémával állunk szemben. (Ilyen probléma algoritmikusan leírható, vagy döntési fába rendezhető.) Jellemző megvalósítási alaptechnika: hagyományos programozás Tudásalapú rendszert használunk procedurális nyelv helyett, ha : - gyorsan és inkrementálisan szeretnénk fejleszteni - a programot gyakran kell módosítani - a rendszerfejlesztő szakember nem ismeri a hagyományos (procedurális) nyelveket
1.1.2 Diagnosztizáló problémák Megfigyelések (mint okozatok) halmaza fölötti következtetés egy vagy több lehetséges javaslatra (okra, okokra). A lehetséges okok felsorolása eleve adott, és számuk – az okozatok számához képest – kevés. Jellemző problémakör: hibakezelés zajos adatokon Jellemző típusjegyek: - A szakértő saját és más ember megfigyeléseire alapozza következtetéseit. - A szakértő egy vagy több okot választ ki egy meghatározott listából és megpróbálja igazolni azokat Jellemző megvalósítási alaptechnikák: - szabály alapú technika (célvezérelt következtetéssel) - hibrid technika Példa: orvos és beteg, autószerelő
1.1.3 Monitorozó vagy őrző problémák Jelek/jelzések folyamatos figyelése során akcióba lépés, ha a kívánttól eltérő szituáció áll elő, vagy hibás jel/minta adódik. A monitorozó és diagnosztizáló problémák összevetése: - A monitorozó rendszer a környezetből felé áramló összes bemenő adatot feldolgozza, elemzi, majd viszonylag kevés transzformációval hozza meg következtetéseit. - Csak a saját maga által észlelt jelekben bízik. - A diagnosztizáló rendszer a felhasználótól a problémamegoldás során csak a számára éppen szükséges adatokat kérdezi meg. Jellemző megvalósítási alaptechnikák: - szabály alapú technika (adatvezérelt következtetéssel) - hibrid technika (ha indokolt és nem nagyágyú) Példa: folyamatvezérelt rendszerek valósidejű diagnosztizáló rendszerei
1.1.4 Konfiguráló vagy objektumtervező problémák A megfigyelések és a felhasználói igények alapján maga a rendszer dolgoz ki egy vagy több lehetséges megoldást, javaslatot. Jellemző megvalósítási alaptechnikák: - szabályalapú technika adatvezérelt következtetéssel - bonyolultabb esetben hibrid technika Kétféle konfiguráló problématípust különböztetünk meg: - kényszerfeltétellel megszorított, - ill. nyílt vagy kreatív problémák. Példa: részegységek halmaza, az egyes egységek kapcsolta, valamint a felhasználó igényinek figyelembevételével az elfogadható konfigurációk kidolgozása
1.1.5 Tevékenységtervező vagy ütemező problémák A tevékenységek olyan sorozatát határozzák meg, melyeknek az adott körülmények között történő végrehajtása célhoz vezet. Jellegzetes tevékenységtervező/ütemező probléma: Események strukturált választása erőforrások és feladatsorrendek felett, ahol az események sorrendje nem tetszőleges, hanem specifikus, kényszerfeltételekkel korlátozott. Ez a rendszer tekinthető tehát időkezelést is biztosító strukturált konfiguráló rendszerként. Jellemző megvalósítási alaptechnikák: - hibrid technika - egyszerű esetben adatvezérelt technika Példa: termelésszervezés
1.1.5 Tevékenységtervező vagy ütemező problémák A problémát meghatározó bemenő adatok jellemző csoportjai: - Igények: az igényelt feladatok, szolgáltatások és események - Források: a feladat ellátását biztosító források és szolgáltatások - Kényszerfeltételek: megkötések az időre, meghatározott forrásokra, korlátozások a választható alternatívákra és egyéb opciók
1.2 Alaptechnikák és problématípusok kapcsolata Jellemző problématípusok: - Procedurális és egyszerű diagnosztizáló típus. Problémák: - Flexibilitás hiánya. - Nem lehet kezelni sem komplex, sem heurisztikák többszintű halmazát Induktív technikák
Szabályalapú technikák A szabályalapú rendszereknél alkalmazott cél- és adatvezérelt stratégiák erőteljesek és flexibilisek. - A legtöbb szabályalapú rendszer kombinálja a kétféle láncoló technikát. - Hibrid rendszereknél a stratégiát megadó, átfogó stratégia a célvezérelt.
Célvezérelt szabályalapú technika Adatvezérelt szabályalapú technika Kevés cél (megoldási javaslat), sok kiinduló adat. Sok cél (lehetséges megoldás), kevés kiinduló adat. Csak annyi kiinduló adatot kér be, amennyi az igazolandó cél, megoldási javaslat alátámasztásához szükséges. Beéri annyi bemenettel, amennyit a felhasználó megad, és ezekből konstruál elfogatható célt vagy megoldást. Megadja az összes lehetséges javaslatot (közelebb áll a procedurális megoldáshoz, mint az adatvezérelt következtetés). Nem állít elő minden lehetséges megoldást – általában csak egyet, esetleg többet is. Jellemző problématípus: 1.diagnosztizáló: A megoldás oldaláról, a célból indul ki, amit a kiinduló adatokkal próbál igazolni. Jellemző problématípusok: 1.konfiguráló/objektumtervező: Kiinduló adatokból indul ki, amely alapján cél(oka)t, vagyis lehetséges ép konstrukciókat állít elő. 2.monitorozó/őrző: Kiinduló adatokból indulva, azokat elemezve, okukat keresve figyelmeztet, ha a kívánttól eltérő esetről van szó. 3.tevékenységtervező/ütemező: Tevékenységek olyan sorozatát határozza meg, melyeknek az adott körülmények között történő végrehajtása az elején kitűzött célhoz vezet.
Hibrid technikák Jellemző problématípusok: - minden típus, kivéve az egyszerű eseteket. A hibrid technikákat felhasználó eszközök sokszínűek, univerzálisak, azonban felhasználásuk nem javasolható a hagyományos nagy rendszerek, ill. bizonyos egyszerű, kisméretű tudásalapú alkalmazások esetén.
1.2.2 Problématípusok és javasolható alaptechnikák Könnyebb Jól definiált PROBLÉMATÍPUSOK Procedurális és Induktív eszközök Hagyományos nyelvek és CASE eszközök Diagnosztizáló Célvezérelt szabályalapúeszközök Monitorozó/őrzőAdatvezéreltHibrid eszközök Konfiguráló és objektumtervező szabályalapúeszközök (Keret-struktúrák és Szabályok) Rosszul definiált Nehezebb Tevékenységtervező vagy ütemező Kisméretű, egyszerűKözépméretűNagy, bonyolult A FELADAT MÉRETE ÉS BONYOLULTSÁGA
2. A tudásalapú rendszerépítés jellegzetességei
A gyakorlatban jól használható tudáslapú rendszereket létrehozni és működtetni csak megfelelő vállalati stratégia mellett lehet!!! Tudásalapú/szakértő rendszerek tervezésének javasolt első lépései: 1)Feladat elemzés: milyen a feladat külső természete (feladatvégzés környezetének és a feladatvégző ember viselkedésének elemzése ). Az elemzés során rendszerint kiderül az is, hogy érdemes-e egyáltalán a feladattal tovább foglalkozni. 2)Feladat szerkezet meghatározás: milyen a feladat struktúrája, „belső természete”. (Mi megy végbe a szakértőben feladatvégzés során, és milyen a tudásának szerkezete.)
2.1 Tudásalapú stratégia kidolgozása Jellegzetes tudásalapú stratégiák A. Intelligens feladatmegoldó segédletek PC-n. B. Középméretű tanácsadó rendszerek munkaállomásokon C. Középméretű tanácsadó rendszerek nagygépeken, hálózatokon. D. Nagyméretű LISP-alapú rendszerek. E. Beágyazott rendszerek.
A. Intelligens feladatmegoldó segédletek PC-n Feladatmegoldó segédlet pl.: - személyre szabott címjegyzék - telefonkönyv - egy elemes bútor összeszerelési útmutatója - egy szoftver installálási kézikönyve - egy hypertext technikával felépített „help” Az ilyen intelligens feladatmegoldó segédletek problématípusa jellemzően procedurális vagy diagnosztizáló és a felhasználónál képzettebb szakember tudását tartalmazza. Példa: Oracle Credit Advisor hiteltanácsadó: hitelképességet ellenőrzi
B. Középméretű tanácsadó rendszerek munkaállomásokon Ezek a nagyobb méretű és bonyolultabb tudásalapú rendszerek alternatív megoldásokat figyelembevevő javaslataikkal nagyban hozzá tudnak járulni a felhasználói döntések előkészítéséhez. Nem azt mondják meg, hogy mit kell tenni, hanem hogy mit lehet! Jellemző problématípusok: - diagnosztizáló - monitorozó - konfiguráló - ütemező Példa: ASEA Maintenance Advisor karbantartási tanácsadó: robotegységek hibáinak felderítésében és karbantartásában segít
C. Középméretű tanácsadó rendszerek nagygépeken, hálózatokon A nagygépeken és hálózatokon működtetett tanácsadó rendszerek több felhasználót szolgálnak ki – különböző hozzáférési jogokkal. A jellemző problématípusok megegyeznek a munkaállomásokon működtetett tanácsadó rendszerekével. Példa: DASD Advisor: direkt elérésű tárolóegységek finomhangolásánál ad tanácsot
D. Nagyméretű LISP- alapú rendszerek Az amerikai nagy MI kutató/fejlesztő központok jellemző stratégiája ez (pl.: Department of Defense, NASA, különböző egyetemek), számuk 500 körüli. Példa: - VAX számítógépeket konfiguráló R1/XCON. - MYCIN orvosi diagnosztikai szakértő rendszer
E. Beágyazott rendszerek Meglevő rendszerekbe beágyazott kiegészítő technika Példa: - intelligens felhasználói felület - intelligens utófeldolgozó komponens
2.1.2 Tudásalapú rendszerek felhasználási lehetőségei A szakértő rendszer belépése előtti/utáni helyzetek párba állítva. ELŐTTEUTÁNA a. Helyettesíti az (emberi) szakértőt: Probléma Javaslat b. Részben helyettesíti a szakértőt: Probléma Javaslat Javaslat Emberi szakértő Szakértői rendszer Emberi szakértő Szakértői rendszer Emberi szakértő
ELŐTTEUTÁNA c. Támogatja a szakértőt: Probléma Javaslat Probléma Javaslat d. Támogatja a számítógépes alkalmazás felhasználását – intelligens feladatmegoldó segédletként: Felhasználó Eredmény Emberi szakértő Emberi szakértő Szakértő rendszer Számítógépes alkalmazás Számítógépes alkalmazás Szakértő rendszer
ELŐTTEUTÁNA e. Számítógépes alkalmazásba ágyazott: Felhasználó Eredmény f. Számítógépes alkalmazáshoz előtét rendszerként hozzáépített – intelligens felhasználói felület biztosítva: Felhasználó Eredmény Számítógépes alkalmazás Számítógépes alkalmazás Szakértő rendszer Számítógépes alkalmazás Szakértő rendszer Számítógépes alkalmazás
ELŐTTEUTÁNA g. Számítógépes alkalmazáshoz utófeldolgozó komponensként hozzáépített : Felhasználó Eredmény h. Helyettesíti magát a (kinyomtatott) dokumentumot: Felhasználó „Javaslat” Felhasználó Javaslat Szakértő rendszer Számítógépes alkalmazás Számítógépes alkalmazás Nyomtatott dokumentum Szakértő rendszer
2.1.3 Intelligens feladatmegoldó segédletek Célszerű feladatmegoldó segédletekkel dolgozni, ha: - a válaszidő nagysága nem olyan fontos, mint a válaszadás pontossága - viszonylag ritkán fordul elő, hogy meg kell oldani problémákat - kis hibák súlyos következményekkel járhatnak - a feladatmegoldás sok lépésben, vagy bonyolult döntéshozatali folyamat során valósulhat meg A feladatmegoldó segédletek típusai: - információszolgáltatás - eljárás alkalmazásában segítségadás - algoritmikus döntéshozatalnál segítségadás - heurisztikus jellegű döntéshozatalnál segítségadás
2.2 Feladat kiválasztása A tudásalapú stratégia kidolgozása után hozzá lehet kezdeni a tudásalapú technológiával megépítendő, lehetséges feladatok felmérésének. Feladat-elemzési munkalap kitöltése: segít a feladatok megismerésében A feladatmegoldás jelenleg/szakértői rendszer segítségével: Felhasználó Javaslat Bemenet Kimenet Feladat elemzés (Szabályok, következtetések)
2.2.1 Kulcs-kritériumok He ezen kritériumon közül valamelyik nem teljesül, az még nem kizáró ok! - tárgyköri szakértő rendelkezésre áll - eset-adatok rendelkezésre állnak: átlagosak és szélsőségesek - szűk problémakörből vett, jól definiált a feladat - procedurális vagy: a megoldást olyan lépésekre tudjuk bontani, melyek sorrendje előre rögzíthető - strukturált: nem bontható lépésekre, döntési fával, vagy hibafával írható le elemzéssel oldható meg - verbális ismeretek
2.2.2 Kizáró kritériumok – elkerülendő feladatok Ha csak egyik kritérium is fenn áll, akkor az kizáró ok! - „köznapi tudás ” kezelése - analógián alapuló következtetések - érzékeléssel összefüggő ismeretek kezelése - nagyon gyakran változó tárgyterületek - a szakértők egyetértése nem biztosítható - bonyolult geometriai és térbeli következtetések - bonyolult oksági, vagy időkezelést igénylő következtetések
2.2.3 Felhasználói szempontok Fel kell mérni, hogy: - a leendő felhasználók igényelnek-e egyáltalán támogatást - ismeri-e a felhasználó a számítógépet, milyen esetekben használja - milyen szoftvereket ismernek a felhasználók, és melyeket használnak rendszeresen A rendszerrel szemben támasztott követelmények: - sebesség - elfogadható pontosság - magyarázatadás igénye Felhasználó motiváltsága Oktatás és betanítás
2.2.4 Vezetői szempontok. A rendszer értékelése - projekt támogatása - változtatásoktól idegenkedő vezetők meggyőzése: - a termelékenység növelhető és/vagy - költségmegtakarítás érhető el, - a döntéshozói munka minősége, következetességének mértéke emelkedni fog, - új termék vagy szolgáltatás kidolgozása válik lehetővé, - kulturális hatások
2.3 Feladatelemzés A feladatvégzés környezetének elemzése: megvizsgáljuk, hogy milyen a feladatvégző ember és a tárgyköri szakértő viselkedése és ebből kiindulva érdemes-e tovább foglalkozni a feladattal. A feladatelemzés szempontjai: - milyen problémájuk van az embereknek, miközben a feladatot végzik - milyen okokra vezethető vissza - egy hagyományos adatfolyam elemzés segítene-e az elemzésben
Munkakörnyezet Tárgyköri szakértő Szakértői javaslat Feladatvégző ember Telefon Számító- gép SzituációKimenet Eredmények Visszacsatolás A feladatvégző ember teljesítményének elemzése
2.3.1 A feladat elemzéséhez szükséges első interjúk Az első interjúk addig tartanak, amíg nem tisztáztuk teljesen a feladat-végrehajtás lényegét. Eközben válaszolni kell a következő kérdésekre: - KI lesz a szakértő rendszer felhasználója? - MI CÉLBÓL fogják használni a rendszert? - HOL fogják a rendszert használni? - MIKOR fogják használni (feladat-végrehajtás közben, vagy előtte, utána)? - MIÉRT fogják használni a rendszert? (Mi fogja meggyőzni őket, hogy használják?)
2.4 Feladat szerkezet meghatározása A feladat szerkezet, vagyis a tárgyköri ismeretek szerveződésének meghatározása a tudásalapú technológia központi kérdése. Ez a tevékenység az adott problémával kapcsolatos kognitív elemzés során valósul meg, amelynek célja kideríteni, hogy a szakértő mit tud, és ismereteit hogyan mozgósítja a probléma megoldása során. Ez a szemléletmód a hagyományos szoftver tervezésre nem jellemző.
2.5 Tudásmérnök Olyan személy, aki tudásalapú/szakértő rendszert tervez és fejleszt. Általában magasan képzett informatikai szakember, aki jártas az MI módszereinek és eszközeinek alkalmazásában. A jó tudásmérnök legfontosabb tulajdonságai: - kíváncsiság, türelem, kitartás, személytelenség, jó kommunikációs képesség - a szakértővel szembeni tisztelet, kritikusság - hit a munka fontosságában és sikerében A szakértővel való együttműködés főbb problémái: - a jó szakértő megtalálása - egy vagy több szakértő bevonása a munkába - a felhasználók bevonása - a rendszertesztelő szakértő kiválasztása - kommunikációs problémák
2.6 Tudásszerzés (Knowledge Acquisition) A tudásszerzés vagy ismeretszerzés nem csak a szakértő rendszer fejlesztés végéig tartó folyamat, hanem a tárgyterület változásait figyelembevevő, folyamatos tudásbázis aktualizálásának is elengedhetetlen összetevője. A tudásszerzés a következő tevékenységekre terjed ki: - a tudásalapú rendszer által kezelendő tárgyterületi ismeretek forrásainak feltárása összegyűjtése, elemzése, rendszerezése, finomítása - az összegyűjtött ismeretanyag formalizálása megvalósítása (számítógéppel feldolgozható formában) A tudásszerzés folyamatának szereplői: - tárgyterületi szakértő - tudásmérnök - rendszerszervező - tudásbázis-adminisztrátor
2.6.1 Tudásszerzés egyes rendszerfejlesztési fázisokban Tudásszerzési módokRendszerépítési fázisok Kezdeti interjúk a szakértővel vagy szakértőkkel és a felhasználókkal Projekt kiválasztás Kezdeti tudásszerző interjúkElemzés, tervezés Esetek tesztelése és további tudásszerző interjúk Prototípus fejlesztés Tesztelés felhasználókkal és további szakértők bevonásával Rendszerfejlesztés
(Teszt-)esetek felhasználása a rendszerépítés során (Teszt-)esetek generálása Néhány eset kell a prototípus- fejlesztéshez Több kiválasztott eset felhasználása a rendszerépítésnél A végleges rendszer futtatása „élő” és „validáló” esetekkel A végleges rendszer tesztelésére, validálására félretett esetek Prototípus fejlesztés Rendszerfejlesztés A végleges rendszer kifejlesztése, helyszíni tesztelése és validálása
2.6.2 A tudásszerzés módszerei 1. Közvetlen módszerek: A szakértői ismeretanyag emberi segédlettel történő kibontása 1.1 Direkt módszerek: A tudásmérnök a probléma megoldásának folyamatát figyelve, arra vonatkozó kérdések segítségével igyekszik megszerezni az ismereteket. 1.2 Indirekt módszerek: A tudásmérnök a rejtett szakértői tudást igyekszik felderíteni, különleges pszichológiailag átgondolt feladatok elé állítva a szakértőt.
2. Közvetett vagy automatikus módszerek: Adott információkból számítógéppel történő „tudáskigyűjtés”, általában a gépi tanulás eszközeinek felhasználásával. 2.1 Induktív eszközök: Egyik legismertebb az ID3 algoritmus, amely objektumok adott tulajdonságok szerinti osztályzásával optimális döntési fát generál. 2.2 Adatbázisokból való automatikus tudásszerzés adatbányászat, tudásfelfedezés A tudásszerzés módszerei
- Leggyakrabban az általános elvek tisztázásával kell kezdeni! - Nem szabad kényszeríteni a szakértőt a számára szokatlan formalizmusra! - Nem helyes megszakítani a szakértőt! - Célszer magnóra/videóra venni a beszélgetést! - Írásos és egyéb forrásokból is célszerű tájékozódni! Néhány praktikus elv a tudásszerzéshez
2.6.4 A prototípuskészítés mint technikai segédeszköz A prototípusok tulajdonképpen felfoghatók az emberek közti olyan kommunikációs csatornának, amelyek nagyszámú és sokféle döntést közvetítenek a másik fél felé. Prototípusok szokásos csoportosítása: - kutató/feltáró - kísérleti - végrehajtás/teljesítmény bemérő - szervezési - evolúciós
Célszerű a prototípus technika alkalmazása: - a rendszerrel támasztott követelmények meghatározásánál - egy lehetséges megoldás megtervezésénél - a fejlesztés részvevőinek együttműködési készségének eldöntésére - a felhasználói felület és szolgáltatások kikísérletezésére - a tervezett rendszernek az alkalmazói környezetre való hatásának vizsgálatára - a felhasználók betanításánál, mint segédeszköz - marketing célú demonstrációk tartására A prototípuskészítés mint technikai segédeszköz
Szabályalapú rendszer fejlesztési paraméterek durva becslése (1990) Rendszer- méret PrototípusInterjú- gyakoriság Rendszer- építés Esetek száma Összes idő- szükséglet Szabályok száma Nagyon kicsi 2 – 30 nap1 nap vagy 1 hét 3 – 6 nap10 – 121 hónap50 Kisméretű15 – 60 nap1 nap vagy 1 – 2 hét 6 hét303 hónap200 Közepes méretű 1 – 3 hónap1 nap vagy 4 – 6 hét 12 – 24 hónap 50 – – 30 hónap Nagy méretű-----közel 3000