500 likes | 642 Views
SZAKÉRTŐ RENDSZEREK. Ismeretalapú rendszerek tervezése, fejlesztése, ismeretszerzés. Németh Nóra. 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ó). Az építkezés első lépései.
E N D
SZAKÉRTŐ RENDSZEREK Ismeretalapú rendszerek tervezése, fejlesztése, ismeretszerzés Németh Nóra
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ó)
Az építkezés első lépései • 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
Példafeladat • 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
Feladat megoldása • 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 szerkezete 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 Kizáró kritérium nincsen Diagnosztizáló, egyszerű kiválasztó feladat Célvezérelt következtetés (célzott kérdések feltevése) Feladat elemzés (Szabályok, következtetések) Felhasználó Javaslat Bemenet Kimenet
Induló szabálykészlet kidolgozása Kétféle mód • rögtön szabályokat írunk • először döntési táblába foglaljuk a példákat Objektum és attribútumok alapján a szakértő elmondja a szabályokat.
A képmagnó tanácsadó rendszer 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’.
Döntési tábla, célok 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 Indukcióval szabályokat generálunk Cél megadása cél = javaslat
Szabályok továbbfejlesztése • Minden esetben adjon tanácsot • Felhasználóbarát párbeszéd biztosítása • Több javaslatos szituációk • Bizonytalanságkezelés (bizonyossági tényezők hozzárendelése a szabályokhoz) • Szabályok finomítása • Ismétlődő szabályok egyesítése • Ismeretanyag bővítése újabb szabályokkal
Bizonytalanságkezelés • A feladat nem eléggé szakértői, mivel az azonos igényeket kielégítő készülékek közül bizonyosakat gyakrabban ajánl • Bizonyosságok bevezetése (cf) • A szakértő a tudásbázis elemeit 0-100 közötti értékekkel minősítiPl. Ha valamelyik termékre több panasz érkezett, azt kevesebb bizonyossággal ajánlja
Tudásbázis finomítása absztrakcióval • 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ébecsökken a tudásbázis mérete, rövidebb lesz a kiértékelési idő • If állókép = igen and keresés = igenthen jó-minőség = igen
Tudásbázis finomítása absztrakcióval • transzformáció szabályok – felhasználó számára kézenfekvőbb kérdésekif legfeljebb < 30000then ár = alacsony. question(legfeljebb) = ‘Legfeljebb mennyit szán a készülékre?’ legalvals(legfeljebb) = number
Ismétlődő szabályok egyesítése azonos attribútum-struktúrájú (ismétlődő) szabályok ö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 bevitele • 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, átrendezhetjük mi a szabályok sorrendjét • előrevetett szabállyal időben elvágjuk a meghiúsuló szabályok végrehajtását (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ö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érelt 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 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 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
Adatvezérelt gép • Az adatvezérelt gép ”üzemanyaga” az adat, amíg az nincs, el sem indul • Az induló adatokat külön meg kell adni • Futása akkor áll le, ha már nincsen tüzelőképes szabály (nem a legjobb megoldás-HALT eset)
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.
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. • 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 építése • 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 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 • A jelenlegi szakértői rendszerek igen érzékenyek az előbbi követelményekre, mivel a tudásbázis adott szituációban működtetendő tudásdarabkákat tartalmaz; védeni kell az illetéktelen behatolók elől.
Szakértői rendszer hibaforrásai • Hiányzik a követelmény-specifikáció, ha 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 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
VerifikálásProgramozási hibák a szabálybázisban Redundáns szabályok: • Szemantikailag redundáns: • Ha tartalmilag nem különböznek, tehát feltételeik és következményeik ekvivalens átrendezéssel aznos formára hozhatók • Szab-a1 Szab-a2 if páratartalom = magas and if hőmérséklet = forró and hőmérséklet = forró páratartalom = magas then zivatar = lehetséges then zivatar = lehetséges Bizonyossági tényező esetén különösen veszélyes (bizonyosság megerősítése) • Szemantikai értelemben redundáns: • Ha két szabály nem hozható azonos formára, mégis azonos a jelentésük • Szab-a3: if páratartalom = magas and hőmérséklet = forró then zivatar = várható Terminológia rögzítésével elkerülhető • Szab-a4: if páratartalom = magas and hőmérséklet = forró then villámás-zápor=várható
VerifikálásProgramozási hibák a szabálybázisban • Ellentmondó szabályok • Azonos feltétellel és egymásnak ellentmondó következményű szabályok ellentmondásossá teszik a tudásbázist • if páratartalom magas and hőmérséklet=forró then napsütés = várható. • if páratartalom magas and hőmérséklet=forró then not napsütés = várható
VerifikálásProgramozási hibák a szabálybázisban • Magában foglaló szabályok • Egy szabály magában foglal egy másikat, ha feltétele bővebb, következménye pedig ugyanaz • Szab-c1 Szab-c2 if páratartalom = magas and if hőmérséklet = forró and páratartalom = magas hőmérséklet = forró and then zivatar = várható légnyomás = alacsony then zivatar = várható
VerifikálásProgramozási hibák a szabálybázisban • Körkörös szabályok • A szabályok körbefutó következtetésre jutnak • if testvérek(X,Y) then szülők-azonosak(X,Y) • if szülők-azonosak(X,Y) then testvérek(X,Y)
VerifikálásProgramozási hibák a szabálybázisban • Szükségtelen feltétel alkalmazása • Két szabály szintaktikailag redundáns lenne, de van egy egymásnak ellentmondó feltételük, mely lehet hogy el is hanyagolható if piros foltok = igenand lázas = igenthen betegség = kanyaró if piros foltok = igenand lázas = nemthen betegség = kanyaró
VerifikálásProgramozási hibák a szabálybázisban • Zsákutca szabályok • Egy szabály akkor jelent zsákutcát, ha egyetlen akciója sem jelent megoldást, és nem is eredményezi másik szabály tüzelőképessé válását • if üzemeanyagszint-mutató = pirosthen tank = üres
VerifikálásProgramozási hibák a szabálybázisban • Hiányzó vagy hiányos szabályok • Elérhetetlen szabályokfeleslegesen növeli a kód méretét, mivel semmilyen másik szabály nem érinti
Validálás • A tudásalapú rendszerek utolsó minőségellenőrző lépése • A rendszer következtetései elogadhatóak-e és eleget tesz-e a felhasználói elvárásoknak
Validálási módszerek • Informális • Szakértők bevonásával a rendszer javaslatainak megvitatása (főként tudásbázis-részletre alkalmas) • Tesztelős • Előkészített teszt-esetek futtatása szakértők bevonásával, az ő javaslataikat összevetik a rendszer javaslataival és kiemelik az egyezéseket (fekete doboz módszer)
Validálási módszerek • Helyszíni teszt • A szakértő a rendszer használatának helyszínén teszteli a rendszert (valós esetek futtatásával).Nem várt hibák, mellékhatások merülhetnek fel. • Modulonként • Részrendszerek validálása • (rendszerszintű validálás is kell!) • Érzékenység elemzés • A bemenet kismértékű módosításakor milyen érzékenyen változik a kimenet.Főként a bizonytalanság kezelése esetén hatékony
Validálási kritériumok • Összhasonlítás ismert, korábbi eredményekkel • Összehasonlítás szakértői problémegoldással • Elfogadja a szubjektív ítéletet • Összehasonlítás elméleti lehetőségekkel
Validálás lehetséges hibái • Téves következtetés (a rendszer nem pontos, nem szabatos) • Olyan bemenet, amit a rendszer nem tud feldolgozni (a rendszer nem teljes)
BOR TANÁCSADÓ RENDSZER PÉLDA
Feladat jellemzése • Rendszer célja: • Az elfogyasztott ételhez milyen bort igyunk? • Felhasználói kör: • Éttermi felszolgáló és a vendég • Szakértői kör: • Egy francia, bor szokásokat ismerő pincér • Feladat típusa: • Diagnosztizáló, célvezérelt következtetés
A tanácsadás menete Fő étel Mártás ízletesség Legjobban illő testesség Legjobb szín Legjobb édességi fok Ajánlott testesség Ajánlott szín Ajánlott édességi fok Bor Testesség, szín, édesség
Rendszer felépítése • Moduláris • Statikus kontextus fa – adott modulok milyen sorrendben következnek egymás utánstart szabály beállítása 1. MAIN 2. 3 /2 4. 5. QUESTIONS RULES WINES PRINT-RESULT 3 /1 CHOOSE-QUALITIES WINE-QUESTIONS
Rendszer felépítése • Dinamikus kontextus fa • Programozott modularitás (modulok sorrendje) • (focus QUESTIONS CHOOSE-QUALITIES WINES PRINT-RESULTS) • (defrule CHOOSE-QUALITIES:: startit => (focus RULES))
Bizonyossági tényezők • alapérték: 100.0 • ha egy feltétel kielégített, eltávolítja és abizonyossági értékeket módosítja a minimumra • Minden feltétel rendelkezik bizonyossági tényezővel, a következmény is, és ezen következmények kombinálásával megadható a szabály bizonyossága is • kiiratáskor a bizonyossági tényezőkre egy adott szabályt alkalmaz • ((p1 + p2) *100 – p1p2) / 100
Kiiratás • Fejlett szakértő rendszer, mivel: • A felhasználó válaszai alapján többféle bort is javasol a rendszer • Minden egyes ajánláshoz tartozik egy bizonyosság
CLIPS felület Do you generally prefer dry, medium, or sweet wines? dry Do you generally prefer red or white wines? white Do you generally prefer light, medium, or full bodied wines? full bodied Is the flavor of the meal delicate, average, or strong? delicate Does the meal have a sauce on it? no Is the main component of the meal meat, fish, or poultry? meat t SELECTED WINEStt WINE CERTAINTYt ----t Valpolicella 90% Chardonnay 64% Zinfandel 64% Cabernet-Sauvignon 40% Soave 40% Sauvignon-Blanc 40% Chablis 40% Geverztraminer 40%