Tudásalapú rendszerek építése

Post on 30-Dec-2015

39 views 0 download

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

Transcript of 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.

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!