49
Tudásalapú rendszerek építése Forrás: Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszer 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.

Tudásalapú rendszerek építése

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

Page 1: Tudásalapú rendszerek építése

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.

Page 2: Tudásalapú rendszerek építése

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

Page 3: Tudásalapú rendszerek építése

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ó

Page 4: Tudásalapú rendszerek építése

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”

Page 5: Tudásalapú rendszerek építése

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

Page 6: Tudásalapú rendszerek építése

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

Page 7: Tudásalapú rendszerek építése

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

Page 8: Tudásalapú rendszerek építése

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

Page 9: Tudásalapú rendszerek építése

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

Page 10: Tudásalapú rendszerek építése

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.

Page 11: Tudásalapú rendszerek építése

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:

Page 12: Tudásalapú rendszerek építése

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.

Page 13: Tudásalapú rendszerek építése

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

Page 14: Tudásalapú rendszerek építése

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

Page 15: Tudásalapú rendszerek építése

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.

Page 16: Tudásalapú rendszerek építése

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

Page 17: Tudásalapú rendszerek építése

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ó.

Page 18: Tudásalapú rendszerek építése

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.

Page 19: Tudásalapú rendszerek építése

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].

Page 20: Tudásalapú rendszerek építése

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).

Page 21: Tudásalapú rendszerek építése

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

Page 22: Tudásalapú rendszerek építése

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.

Page 23: Tudásalapú rendszerek építése

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á.

Page 24: Tudásalapú rendszerek építése

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 = [ ].

Page 25: Tudásalapú rendszerek építése

Ú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

Page 26: Tudásalapú rendszerek építé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)

Page 27: Tudásalapú rendszerek építése

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)

Page 28: Tudásalapú rendszerek építése

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

Page 29: Tudásalapú rendszerek építése

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

Page 30: Tudásalapú rendszerek építé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

Page 31: Tudásalapú rendszerek építése

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.

Page 32: Tudásalapú rendszerek építése

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.

Page 33: Tudásalapú rendszerek építése

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.

Page 34: Tudásalapú rendszerek építése

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

Page 35: Tudásalapú rendszerek építése

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

Page 36: Tudásalapú rendszerek építése

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.

Page 37: Tudásalapú rendszerek építése

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.

Page 38: Tudásalapú rendszerek építése

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

Page 39: Tudásalapú rendszerek építése

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.

Page 40: Tudásalapú rendszerek építése

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

Page 41: Tudásalapú rendszerek építése

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ó.

Page 42: Tudásalapú rendszerek építése

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)

Page 43: Tudásalapú rendszerek építése

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).

Page 44: Tudásalapú rendszerek építése

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

Page 45: Tudásalapú rendszerek építése

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.

Page 46: Tudásalapú rendszerek építése

További hibák

Hiányos, vagy hiányzó szabályok

Elérhetetlen szabályok

Page 47: Tudásalapú rendszerek építése

Validálás módszerei

Informális Teszteléses Helyszíni teszt Validálás modulonként

Page 48: Tudásalapú rendszerek építése

Ö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

Page 49: Tudásalapú rendszerek építése

Köszönöm megtisztelő figyelmüket!