Készítette: Ágfalvi Zsófia – Szakértői rendszerek, Pannon Egyetem, 2009.
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 Verifikálás Validálás
A kisméretű szabályalapú rendszerek többsége célvezérelt, alkalmazási típusuk pedig jellemezően diagnosztizáló. A minta feladat egy képmagnó vételénél tanácsot adó rendszer megépítése lesz.
1) A probléma elemzése és definiálása. 2) A probléma szerkezetének meghatározása. 3) Az induló szabálykészlet kidolgozása. 4) A szabályok továbbfejlesztése, finomítása. 5) A következtetés és vezérlés „testre- szabása”.
A megoldandó feladat átfogó jellemzéséhez néhány szempont: o Cél: képmagnó kiválasztásában tanácsadás. o Felhasználói kör: képmagnó eladással foglalkozó üzlet eladói. o Szakértői kör: ugyancsak az üzlet eladói o A rendszer felhasználásának módja: az eladók munkájának támogatása. o A felhasználó jellemző igényei lehetnek pl.: villogó fény, digitális kijelző, színes gombok, alacsony ár…
Felhasználó, Bemenet ->Elemzés-> Kimenet, Javaslat.
Elképezhető, hogy egy későbbi rendszerváltozat az eladókat részlegesen/teljesen kiváltja a tanácsadásban.
Tárgyköri szakértő rendelkezésre áll: igen Tesztesetek rendelkezésre állnak: igen Szűk, jól definiált a feladat: igen Verbális ismeretek jellemzőek: igen
Kizáró kritériumok: Egyik kizáró kritériummal 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)
Egy képmagnókat árusító üzlet kínálatából a vevők igényeit kielégítő készülékekre javaslatot tevő tanácsadó rendszer megépítése. Szükséges információk a vevőtől. A rendszer megfelelően súlyoz, és indokol. Későbbiekben kibővíthető a kínálat változásával.
„konkrét” képmagnók attribútumok: o videó-rendszer típus o fejek száma o állókép lehetősége o felvétel keresési lehetőség o ár Szempontok attribútum nevének megválasztásához: o rövid nevek használata o összetett szavaknál elválasztójelek: „-”, „ _ ” o találó nevek használata Objektum neve is attribútum: neve: „javaslat”, értékei pedig a konkrét képmagnó nevek Logikai alapú reprezentáció alkalmazható, célvezérelt következtetést alkalmazunk
Kétféle módon indíthatjuk egy kicsi szabályalapú rendszer építését: o Vagy rögtön szabályokat írunk, o vagy előbb táblázatba, döntési táblába foglaljuk a szakértő példáit.
1. Szabályok megírásával: A képmagnó tanácsadó rendszer első szabályai: szab-1: iftípus= ‘VHS’ and fejek-száma = 4 and állókép = igen and keresés = igenand ár = alacsony thenjavaslat = ‘VCX-1000’. szab-2: iftípus= ‘VHS’ and fejek-száma = 4 and állókép = igen and keresés = igen and ár = közepes thenjavaslat = ‘Record-Mate99’. szab-3: iftípus = ‘BETA’ and fejek-száma = 3 and állókép = nemand keresés = igenand ár = alacsony then javaslat = ‘Xmovie-Beta’. szab-4 if típus = ‘VHS’and fejek-száma = 5and állókép = igenand keresés = igenand ár = magas then javaslat = ‘Super-Viewer-2.0’.
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 thenfejek-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.
Típus Fejek száma ÁllóképKeresésÁrJavaslat VHS4igen alacsony VCX VHS4igen közepes Record- Mate99 BETA3nemigenalacsony XMovie- Beta VHS5igen magas Super- Viewer- 2.0
Döntési tábla készítése 1. Leíró közelítés: összes javaslat beírása, majd táblázat kitöltése soronként 2. Empirikus közelítés: ugyanarra a javaslatra akár több alternatív sort 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 fogjuk össze
Cél megadása: goal = ; Indulhat a konkrét feladat megoldása A nem definiált attribútum-értékekre alapértelmezés szerint angol kérdő-mondattal kérdez rá: „ What is the value of ? ” 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.
Minden esetben adjon tanácsot Felhasználóbarát párbeszéd biztosítása Szituációk kidolgozása, melyekhez több javaslat tartozhat Bizonytalanságkezelés 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 Újabb szabályok bevitelével bővítjük a tárolt ismeretanyagot
Akkor is adjon tanácsot, ha ismereteinek határához ért. Helyezzünk el lezáró szabályt. szab-6: ifjavaslat is unknown and display (‘Nem tudok javaslatot adni!’) thenjavaslat = nem-adható.
Felhasználói párbeszédet támogató meta-szabályok alkalmazása Kérdő mondat deklarálása: question( ) = ‘Milyen…’. pl.: question(típus) = ‘Milyen típusú képmagnót kíván venni?’. Válasz-menü deklarálása: legalvals( ) = [, …]. pl.: legalvals(típus) = [‘VHS’,’BETA’]. válasz-ellenőrzés: legalvals( ) =. pl.: legalvals(fejek-száma) = number.
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].
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).
A szakértő azonos igényeket kielégítő készülékek közül egyeseket gyakrabban szokott ajánlani, mint másokat. bizonyossági tényező alkalmazása: cf válaszoknál is használható: ‘Igényt tart-e állókép üzemmódra?’ igen, nem igen cf 80 Javaslat = Super-Viewer-2.0 cf 32
felhasználó által nem érthető helyzetekben használunk attribútum-absztrakciót 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 = igen thenjó-minőség = igen. transzformáció szabályok – felhasználó számára kézenfekvőbb az értékcsoportok közti átváltás szab-8:iflegfeljebb < thenár = alacsony. question(legfeljebb) = ‘Legfeljebb mennyit szán a készülékre?’ legalvals(legfeljebb) = number.
szab-9: iflegfeljebb >= thenár = magas. szab-10: iflegfeljebb >= and legfeljebb < 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á.
Az 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. o 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, o egyetlen adatbázis szabállyal („szabály-osztállyal”) és attribútum- értékek n-eseit rögzítő adatbázis táblával. o pl.: szab-db: iftípus = [ ] and fejek-száma = [ ] and állókép = [ ] and keresés = [ ] and ár = [] then javaslat = [ ].
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
szabályok vagy részeik sorrendjének megváltoztatása bizonytalanságkezelésnél lokális küszöbszám megadása többértékű (többszörös) cél megadása
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
Deklaratív és heurisztikus ismeretek Vezérlési ismeretek Objektumok kidolgozása Vezérlési elemek kidolgozása Szabályok megírása Vezérlési utasítások beírása a szabályokba
1. a probléma elemzése és definiálása 2. induló adatok megadása 3. induló szabálykészlet megadása 4. a rendszer megállásának beállítása 5. szabályvégrehajtása vezérlése 6. a rendszer továbbfejlesztése
1. a probléma elemzése és definiálása 2. kontextus-hierarchia meghatározása 3. induló kontextusfa megtervezése 4. a kontextusfa implementálása 5. a kontextusfa és a szabályok kibővítése, felülbírálata
A feladat részfeladatokra bontása: o Procedurális elemzéssel o Strukturális elemzéssel
Átfogó/áttekintő közelítés: Leszűkítő, részletező közelítés: Kevert közelítés: 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.
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. Az általános célú tudásalapú eszközök piacán a hibrid eszközök dominálnak.
1. probléma meghatározása 2. keretek és rések megadása 3. példányok megadása 4. felhasználói felület megadása 5. szabályok megadása 6. démonok megadása 7. üzenetküldés kidolgozá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
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 Validálás Rendszertesztelés: Hagyományos szoftverekTudásalapú rendszerek Előre meghatározható teszt- esetekkel Megfigyelés révén Adott bemenethez adott kimenet„elfogadható” kimenetek Objektív és teljeskörűSzubjektív és nem teljeskörű Laboratóriumi környezetbenLaborban nem lehet tesztelni
Redundáns szabályok: Szintaktikailag redundáns Szab-a1 if páratartalom = magas and hőmérséklet = forró thenzivatar = lehetséges. Szab-a2 ifhőmérséklet = forróand páratartalom = magas thenzivatar = lehetséges.
Szemantikailag redundáns: Szab-a3: ifpáratartalom = magasand hőmérséklet = forró thenzivatar = várható. Szab-a4: ifpáratartalom = magasand hőmérséklet = forró then
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ó.
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ö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).
Szintaktikailag redundáns lenne, de az egyik feltételük ellentmond egymásnak. if piros-foltos = igen and lázas = igen then betegség = kanyaró if piros-foltos = igen and lázas = nem then betegség = kanyaró
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.
Informális Teszteléses Helyszíni teszt Validálás modulonként Érzékenység elemzés