500 likes | 726 Views
Tudásalapú rendszerek építése. Forrás: Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszerek. Dunaújvárosi Főiskola Kiadói Hivatala, 2000. A forrás alapján kiegészítette: Benkő Attila (IX5AID) – Szakértői rendszerek, Pannon Egyetem, 2007. Az előadás tartalma.
E N D
Tudásalapú rendszerek építése Forrás: Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszerek. Dunaújvárosi Főiskola Kiadói Hivatala, 2000. A forrás alapján kiegészítette: Benkő Attila (IX5AID) – Szakértői rendszerek, Pannon Egyetem, 2007.
Az előadás tartalma • Célvezérelt rendszerek építése • Adatvezérelt rendszerek építése • Strukturált szabályalapú rendszerek építése • Hibrid rendszerek építése • Tudásalapú rendszerek verifikálása és validálása • Összefoglalás
Célvezérelt rendszerek építése • kisméretű rendszerek többsége célvezérelt • alkalmazásuk jellemzően diagnosztizáló(osztályozó v. kiválasztó) • példa: képmagnó vétele ill. bor-tanácsadó
Első lépések • a probléma elemzése és definiálása • a probléma szerkezetének meghatározása • az induló szabálykészlet kidolgozása • a szabályok továbbfejlesztése, finomítása • a következtetés és vezérlés „testre-szabása”
1. A feladat elemzése és megadása jellemzés: • A rendszer célja: képmagnó kiválasztásában tanácsadás • Felhasználói kör: üzlet eladói (esetleg vevők) • Szakértői kör: üzlet eladói • Felhasználás módja: eladók munkájának támogatása • Felhasználó jellemző igényei: pl. villogó fény, digitális kijelző, színes gombok, minél alacsonyabb ár
A feladatmegoldás jelenlegi módja(Felhasználó, Bemenet Elemzés Kimenet, Javaslat) • Bemenet: a vevők vételi szempontjaiA vevő képmagnót szeretne vásárolni, és tanácsot kér. • Elemzés: vevők kikérdezése, lehetőségek bemutatása, alternatívákAz eladó kérdéseket tesz fel a vevőnek, hogy megtudja a vevő igényeit. • Kimenet: javasolható készülékek, indoklássalAz eladó javaslatként megnevez egy v. több képmagnót, indoklással. Feladat elemzés (Szabályok, következtetések) Felhasználó Javaslat Bemenet Kimenet
Szakértő rendszer Probléma Javaslat Feladatmegoldás szakértő rendszer segítségével: Elképzelhető, hogy egy későbbi rendszerváltozat az eladókat részlegesen/teljesen kiváltja a tanácsadásban. Kulcs-kritériumok: • Tárgyköri szakértő rendelkezésre áll: igen (kijelölt eladó) • Tesztesetek rendelkezésre állnak: igen (képmagnók leírása) • Szűk, jól definiált a feladat: igen (procedurális jellegű) • Verbális ismeretek jellemzőek: igen Emberi szakértő
Kizáró kritériumok: • egyikkel sem kell számolni A feladat típusa: • Diagnosztizáló: igen (ezen belül egyszerű kiválasztó jellegű) A következtetés jellege: • Célvezérelt: igen (kevés a javasolható készülék, a kiválasztáshoz célzott kérdések kellenek) Feladat: képmagnóra javaslatot tevő rendszer, információk a vevőktől, a rendszer súlyoz és indokol, kínálat változását követi
A feladat szerkezetének meghatározása • „konkrét” képmagnók (ami készleten van, más obj.-ot nem kezel) • attribútumok: • videó-rendszer típus • fejek száma • állókép lehetősége • felvétel keresési lehetőség • ár • Szempontok attribútum nevének megválasztásához: • rövid nevek használata (20-30 karakter) • összetett szavaknál elválasztójelek: „-”, „ _ ” (eszköz-függő) • találó nevek használata (a fejlesztés résztvevői számára félreértés nélkül érthetőek) • Objektum neve is attribútum: neve: „javaslat”, értékei pedig a konkrét képmagnó nevek • Logikai alapú (szabály alapú) reprezentáció alkalmazható, célvezérelt következtetést alkalmazunk
Induló szabálykészlet kidolgozása • kétféle mód • rögtön szabályokat írunk • előbb döntési táblába foglaljuk a példákat Objektum és attribútumok alapján szakértő elmond egy szabályt.
Szabályok megírásával: A képmagnó tanácsadó rendszer első szabályai: szab-3: if típus = ‘BETA’ and fejek-száma = 3 and állókép = nem and keresés = igen and ár = alacsony then javaslat = ‘Xmovie-Beta’. szab-4 if típus = ‘VHS’ and fejek-száma = 5 and állókép = igen and keresés = igen and ár = magas then javaslat = ‘Super-Viewer-2.0’. szab-1: if típus= ‘VHS’ and fejek-száma = 4 and állókép = igen and keresés = igen and ár = alacsony then javaslat = ‘VCX-1000’. szab-2: if típus= ‘VHS’ and fejek-száma = 4 and állókép = igen and keresés = igen and ár = közepes then javaslat = ‘Record-Mate99’.
Mélyebb működési szintek: • absztrahálással, külső következtetési szabályok beiktatásával • részcélok • segéd-hipotézisek • absztrakt attribútumok bevezetése Példa: ha a vevő nem tudja a fejek számát, csak azt, hogy jó minőségű készüléket szeretne szab-5: if minőségi-keresés = fontos then fejek-száma = 4 and fejek-száma = 5. Új attribútum, ill. szabály beiktatásával működési-szint növelés érhető el. A szabályok összevonása megengedett, ha a feltételük megegyezik és következményükben ugyanaz az attribútum szerepel.
Döntési tábla készítése (kétféle szemlélet) • Leíró közelítés: összes javaslat beírása, majd táblázat kitöltése soronként • Empirikus közelítés: ugyanarra a javaslatra akár több alternatív sort (példát) is megadhatunk Pl. egy termék követéséhez szükséges hibajegyzék esetén: • külön tárolunk minden reklamációt • hiba-jelenségenként gyűjtjük a reklamációkat Ezután szabályok generálása indukcióval. Egyszerűsítő javaslatok: • azonos sorokból csak egyet tartsunk meg • a megegyező javaslattal rendelkező sorokat „or”-al kössük össze
Cél megadása: goal = <javasolt attribútum> (jelen esetben: goal = javaslat) • Indulhat a konkrét feladat megoldása(nem definiált értékekre rákérdez a rendszer) • A nem definiált attribútum-értékekre alapértelmezés szerint angol kérdő-mondattal kérdez rá: • „ What is the value of <attribútum> ? ” • Példa: • What is the value of típus? VHS • What is the value of minőségi-keresés? fontos • What is the value of állókép? igen • What is the value of keresés? igen • What is the value of ár? magas • javaslat = Super-Viewer-2.0.
Szabályok továbbfejlesztése, finomítása • Minden esetben adjon tanácsot (legalább: „Forduljon igazi szakértőhöz!”) • Felhasználóbarát párbeszéd biztosítása • Szituációk kidolgozása, melyekhez több javaslat tartozhat • Bizonytalanságkezelés (bizonytalansági tényezőkkel; felhasználó is) • Szabályok finomítása absztrakció útján, vagy kiegészítés további szabályokkal • Egyesítjük az ismétlődő szabályokat (ha az eszköz ezt megengedi) • Újabb szabályok bevitelével bővítjük a tárolt ismeretanyagot
Minden esetben adjon tanácsot a rendszer • akkor is adjon tanácsot, ha ismereteinek határához ért • helyezzünk el lezáró szabályt szab-6: if javaslat is unknown and display (‘Nem tudok javaslatot adni!’) then javaslat = nem-adható.
Felhasználóbarát párbeszéd biztosítása • Felhasználói párbeszédet támogató meta-szabályok alkalmazása • kérdő mondat deklarálása: question(<attribútum-név>) = ‘Milyen…’.pl.: question(típus) = ‘Milyen típusú képmagnót kíván venni?’. • Válasz-menü deklarálása: legalvals(<attribútum-név>) = [<érték>, …].pl.: legalvals(típus) = [‘VHS’,’BETA’]. • válasz-ellenőrzés: legalvals(<attribútum-név>) = <ellenőrző eljárás>.pl.: legalvals(fejek-száma) = number.
A felhasználói párbeszédet támogató meta-deklarációk question(típus) = ‘Milyen típusú képmagnót kíván venni?’. legalvals(típus) = [‘VHS’, ’BETA’]. question(minőségi-keresés) = ‘Fontos-e a keresés minősége?’. legalvals(minőségi-keresés) = [fontos, nem-fontos]. question(állókép) = ‘Igényt tart-e állókép üzemmódra?’. legalvals(állókép) = [igen, nem]. question(keresés) = ‘Igényt tart-e felvétel keresésére?’. legalvals(keresés) = [igen, nem]. question(ár) = ‘Milyen árfekvésű készülék érdekli?’. legalvals(ár) = [alacsony, közepes, magas].
Több javaslatot adó szituációk kidolgozása • ne csak egy, hanem több érték keresése az adott célhoz pl.: Prolog: nem csak az első megoldásra vagyunk kíváncsiak, hanem mindegyikre • multivalued(javaslat). pl.: multivalued(fejek-száma).
Bizonytalanságkezelés bevezetése • a szakértő azonos igényeket kielégítő készülékek közül egyeseket gyakrabban szokott ajánlani, mint másokat (szerviz, használhatóság, haszonkulcs, akció) • bizonyossági tényező alkalmazása: cfif …. then javaslat = ‘Super-Viewer-2.0’ cf 40 • válaszoknál is használható:‘Igényt tart-e állókép üzemmódra?’ igen, nemigen cf 80Javaslat = Super-Viewer-2.0 cf 32
Tudásbázis finomítása absztrakcióval – 1. • felhasználó által nem érthető helyzetekben használunk attribútum-absztrakciót (pl.: fej-attribútum) • ismétlődő feltétel-csoportokat ki lehet emelni egy új szabály feltételébe csökken a tudásbázis mérete, rövidebb lesz a kiértékelési időszab-7: if állókép = igen and keresés = igenthen jó-minőség = igen. • transzformáció szabályok – felhasználó számára kézenfekvőbb az értékcsoportok közti átváltásszab-8: if legfeljebb < 30000then ár = alacsony. question(legfeljebb) = ‘Legfeljebb mennyit szán a készülékre?’legalvals(legfeljebb) = number.
Tudásbázis finomítása absztrakcióval – 2. szab-9: if legfeljebb >= 60.000 then ár = magas. szab-10: if legfeljebb >= 30.000 and legfeljebb < 60.000 then ár = közepes. Ne azt kérdezze a rendszer, hogy közepes árfekvésű terméket akar-e vásárolni, hanem azt, hogy legfeljebb mennyi pénzt szán rá.
Ismétlődő szabályok egyesítése azonos attribútum-struktúrájú (ismétlődő) szabályok általánosítása kézenfekvő. Ezek összevonás után helyettesíthetőek (eszköztől függő módon) • változókat tartalmazó egyetlen szabállyal és a változók konkrét (attribútum)érték n-eseivel, mint tényállításokkal (Prolog szerű megoldás) • egyetlen adatbázis szabállyal („szabály-osztállyal”) és attribútum-értékek n-eseit rögzítő adatbázis táblávalpl.: szab-db:if típus = [ ] and fejek-száma = [ ] and állókép = [ ] and keresés = [ ] and ár = [ ]then javaslat = [ ].
Új szabályok bevitelével bővítjük a rendszerben tárolt ismereteket • konzisztencia ellenőrzés : Nagyon törékeny egy ilyen rendszer, ha nem készítjük elő gondosan a rendszer bővítését, az új szabályok könnyen vezethetnek az eddigiekkel ellentmondó következtetésekre. • tudásalapú végtelen ciklus kiküszöbölése
A következtetés és vezérlés testre-szabása • szabályok vagy részeik sorrendjének megváltoztatása • ha nem lehet szabály prioritást megadni, szabályok sorrendjét is átrendezhetjük • előrevetett szabállyal időben elvágjuk a meghiúsuló szabályok előtt a végrehajtást (sebesség növelése) • szabály-relatív küszöbszám (a bizonytalansági súly mellett) • szabályokban elemi feltételek átrendezése; ha valami gyakran meghiúsul, azt előrevéve megspórolhatjuk az előtte lévő feltételek kiértékelését • bizonytalanságkezelésnél lokális küszöbszám megadása • bizonyossági szint csökken a bizonytalan szabályoknál. Ha egy küszöbszám alá kerül, akkor meghiúsul. Átírhatjuk a küszöbszámot. • többértékű (többszörös) cél megadása • ha a megoldáshoz a rendszer fokozatosan közelít , a célt részcélokra lehet bontani (pl. TV ajánlattal bővíteni a képmagnó ajánlatot)
adatokból megkonstruálnak egy vagy több elfogadható megoldást sok megoldás – nem mindegy, milyen úton történik a keresés tudásmérnöknek több beleszólás biztosítása a vezérlés menetébe a végrehajtás vezérlésével is foglalkozni kell (kiinduló adatok megadása, konzultáció menetének előírása, megállási feltétel) Adatvezérlet rendszerek építése
Rendszerépítés két vonala Deklaratív ésheurisztikusismeretek Vezérlési ismeretek Objektumokkidolgozása Vezérlési elemekkidolgozása Vezérlési utasításokbeírása a szabályokba Szabályok megírása
Adatvezérelt rendszerek építésének első lépései • a probléma elemzése és definiálása • induló adatok megadása • induló szabálykészlet megadása • a rendszer megállásának beállítása • szabályvégrehajtása vezérlése • a rendszer továbbfejlesztése
Strukturált szabályalapú rendszerek építése • a probléma elemzése és definiálása • kontextus-hierarchia meghatározása • induló kontextusfa megtervezése • a kontextusfa implementálása • a kontextusfa és a szabályok kibővítése, felülbírálata
Kontextus-hierarchia meghatározása • A feladat részfeladatokra bontása: • Procedurális elemzéssel • Egymás után elvégzendő részfeladatok sorozatára lehet bontani. • Strukturális elemzéssel • A feladat dekomponálása a feladat belső szerkezetének olyan kibontását jelenti, amelynél a részfeladatok egymáshoz kapcsolódnak, de ezek nem a feladatmegoldás során egymás után megteendő lépések. Pl.: ASEA robotegységek hibafelderítését és karbantartását támogató tanácsadó rendszer.
Induló kontextus-fa megtervezése • Átfogó/áttekintő közelítés: • Az egész feladatot elnagyolva fogja meg. Felszínes lesz a modell, prototípus általában nem is készül. • Leszűkítő, részletező közelítés: • Egy kiragadott kontextust részleteiben kidolgozunk, majd megépítünk egy prototípust is. • Kevert közelítés: • Az előző két eset kombinációja. Ily módon meg lehet vizsgálni a rendszer átfogó struktúráját, megmutatva egy részletesebben kidolgozott részletét is. • Az egyes kontextusok által átfogott feladat terjedelme legyen közel azonos. • Több változatot is érdemes kidolgozni és elemezni azokat. • Találó neveket adjunk a kontextusoknak.
Hibrid rendszerek • A feladat leírására kombinálják a keret- és a szabályalapú technikákat, a felhasználói felületet pedig objektum-orientált technikával kezelik. • Előnyei: • Szabályokat csak a heurisztikák leírására használjuk • Egyetlen helyen, a kereten belül vannak az adott keretekről szóló összes információk. • Az általános célú tudásalapú eszközök piacán a hibrid eszközök dominálnak.
Hibrid rendszerek építésének javasolt lépései • probléma meghatározása • keretek és rések megadása • példányok megadása • felhasználói felület megadása • szabályok megadása • démonok megadása • üzenetküldés kidolgozása
Tudásalapú rendszerek verifikálása és validálása • A hiteles (dependant) szakértői rendszerekkel szembeni követelmények: • Megbízhatóság • Védelem • Biztonságosság • Karbantarthatóság • Hordozhatóság
Szakértői rendszer hibaforrásai Hiányzik a követelmény-specifikáció, ha pedig van, akkor nem tartják be. A tudásbázisba beépítenek szintaktikai és szemantikai hibákat. Nincs megfelelően reprezentálva a tárgyterületi ismeretanyag és/vagy az alkalmazott következtetések nem illeszkednek a problémához.
Verifikálás és validálás • Verifikálás: • Összehasonlító ellenőrzés • Egy adott fejlesztési fázis eredményének értékelési eljárása. • Célja: igazolni az eredmény megfelel a követelményeknek • A hibaforrások 1. és 2. eseteivel, valamint a tudásbázis konzisztenciájának és teljességének szintaktikai és szemantikai hibákra vezető hiányosságaival foglalkozik. • Validálás: • Bevizsgálás, érvényesítés • Az elkészült rendszer kiértékelési eljárása. • Célja: a szoftver a működésében megfelel-e a minőségi jellemzőknek • Főként a hibaforrások 3. esetével foglalkozik.
Programozási hibák a szabálybázisban • Redundáns szabályok: • Szintaktikailag redundáns • Szab-a1 if páratartalom = magas and hőmérséklet = forró then zivatar = lehetséges. • Szab-a2 if hőmérséklet = forró and páratartalom = magas then zivatar = lehetséges. Különösen veszélyes, ha bizonyossági tényezőt kapcsolunk hozzájuk, és pl.: különböző forrásokból származó következményekként indokolatlanul megerősítik egymás (önmaguk) bizonyossági mértékét.
Redundáns szabályok • Szemantikailag redundáns: • Szab-a3: if páratartalom = magas and hőmérséklet = forró then zivatar = várható. • Szab-a4: if páratartalom = magas and hőmérséklet = forró then
Ellentmondó szabályok • A feltétel azonos • A következmény egymásnak ellentmondó • Pl.: • then napsütés = várható. • then not napsütés = várható.
Magában foglaló szabályok • Ha a feltétel bővebb, a következmény pedig ugyanaz. • Pl.: • 2 feltétel => a következmény • 2+1 feltétel => b következmény (a not = b)
Körkörös szabályok • Körbefutó következtetések • if testvérek(X,Y) then szülők-azonosak(X,Y). • if szülők-azonosak(X,Y) then testvérek(X,Y).
Szükségtelen feltétel alkalmazása • Szintaktikailag redundáns lenne, de az egyik feltételük ellentmond egymásnak • lázas = igen • lázas = nem
Zsákutca szabályok • A következményének egyetlen akciója sem jelent megoldást, de nem is eredményezi más szabály tüzelőképessé válását. • if üzemanyagszint-mutató = piros then tank = üres.
További hibák Hiányos, vagy hiányzó szabályok Elérhetetlen szabályok
Validálás módszerei Informális Teszteléses Helyszíni teszt Validálás modulonként
Összefoglalás • Főbb MI kutatási irányok: • Integrálás a korábbi technológiákkal és alkalmazásokkal • Kapcsolatok létesítése az MI különböző területei között • A kutatási eredmények mielőbbi hasznosításának kényszere • Alkalmazás-specifikus eszközök kifejlesztése