Upload
caldwell-campbell
View
43
Download
0
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
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
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”
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
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őProbléma Javaslat
Szakértő rendszer
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
1. rögtön szabályokat írunk
2. 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-1:if típus= ‘VHS’ and
fejek-száma = 4 andállókép = igen andkeresé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 andkeresés = igen andár = közepes
then javaslat = ‘Record-Mate99’.
szab-3:if típus = ‘BETA’ and
fejek-száma = 3 andállókép = nem andkeresés = igen andár = alacsony
then javaslat = ‘Xmovie-Beta’.
szab-4if típus = ‘VHS’ and
fejek-száma = 5 andállókép = igen andkeresés = igen andár = magas
then javaslat = ‘Super-Viewer-2.0’.
1. Szabályok megírásával:
A képmagnó tanácsadó rendszer első szabályai:
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.
2. Döntési tábla készítése
Típus Fejek száma Állókép Keresés Ár Javaslat
VHS 4 igen igen alacsony VCX-1000
VHS 4 igen igen közepes Record-Mate99
BETA 3 nem igen alacsony XMovie-Beta
VHS 5 igen igen magas Super-Viewer-2.0
Döntési tábla készítése (kétféle szemlélet)
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 (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 andkeresés = igen
then jó-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: 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 = [ ] andkeresé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)
Adatvezérlet rendszerek építése
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)
Rendszerépítés két vonalaDeklaratív ésheurisztikusismeretek
Vezérlési ismeretek
Objektumokkidolgozása
Vezérlési elemekkidolgozása
Szabályok megírása Vezérlési utasításokbeírása a szabályokba
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
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
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
1. probléma meghatározása2. keretek és rések megadása3. példányok megadása4. felhasználói felület megadása5. szabályok megadása6. démonok megadása7. ü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ágVédelemBiztonságosságKarbantarthatóságHordozható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.
Rendszertesztelés
Hagyományos szoftverek Tudá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örnyezetben Laborban nem lehet tesztelni
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ény2+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ásokkalKapcsolatok létesítése az MI különböző
területei közöttA kutatási eredmények mielőbbi
hasznosításának kényszereAlkalmazás-specifikus eszközök kifejlesztése
Köszönöm megtisztelő figyelmüket!