Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Ismeretalapú rendszerek tervezése, ismeretszerzés, ismeretalapú rendszerek fejlesztése Takács Eszter Magdolna DFSVDK Mesterséges intelligencia, szakértői rendszerek VEMISAM254M
Utolsó módosítás: 2013. november 6.
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tartalom 1
Tudásalapú rendszerépítés jellegzetességei Tervezés első lépései Jellegzetes tudásalapú stratégiák Feladat kiválasztás Feladat elemzés Feladat szerkezet meghatározás Tudásszerzés A tudásalapú és a hagyományos technológia összevetése
2
Tudásalapú rendszerek építése Célvezérelt rendszerek építése Pl. Kutyafajtákat kiválasztó rendszer építése
Adatvezérelt rendszerek Strukturált szabályalapú rendszerek építése Hibrid rendszerek építése
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tervezés első lépései
Tervezés első lépései
Feladat elemzése Feladat külső természete Feladatvégzés környezetének vizsgálata Feladatvégző ember és szakértő viselkedése Érdemes-e a feladattal tovább foglalkozni?
Feladat-szerkezet meghatározása Feladat struktúrája, belső természete Hogyan gondolkodik a feladatvégző és a szakértő? Milyen a szakértő tudásának szerkezete? Hogyan használja?
Tudásszerzés Szakértőkkel való konzultáció
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Jellegzetes tudásalapú stratégiák
Intelligens feladatmegoldó segédletek
Kisméretű PC alapú Alacsony költségek Papír alapú módszer kiváltása Fejlesztői és felhasználói kör egybeesik Procedurális vagy diagnosztizáló Pl. telefonkönyv, hibakeresési kézikönyv, összeszerelési útmutató
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Jellegzetes tudásalapú stratégiák
Középméretű tanácsadó rendszerek
Középméretű PC-n és/vagy munkaállomásokon működtethető Átlagos költségek Előbbinél „okosabb” Alkalmazói programfejlesztők Nem azt mondják meg, hogy mit kell, hanem, hogy mit lehetne tenni. Diagnosztizáló, monitorozó, konfiguráló vagy ütemező Pl. karbantartó szakemberek segítése a hibák felderítésében
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Jellegzetes tudásalapú stratégiák
Középméretű tanácsadó rendszerek nagygépeken, hálózatokon
Középméretű Nagygépeken működtethető Átlagos költségek Nagygépes alkalmazói programfejlesztők Több felhasználó kiszolgálása, különböző jogokkal Diagnosztizáló, monitorozó, konfiguráló vagy ütemező Pl. nagygépek CPU-teljesítményének finomhangolása
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Jellegzetes tudásalapú stratégiák
Nagyméretű LISP-alapú rendszerek
Nagyméretű LISP-alapú gépek Magas költségek LISP-programozók, tudásmérnökök Pl. orvosi diagnózisra és terápiára javaslatot tevő MYCIN
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Jellegzetes tudásalapú stratégiák
Beágyazott rendszerek
Nagyméretű Nagygépek, munkaállomások Közepes költségek Alkalmazói programfejlesztők Pl. meglévő rendszerekbe beágyazott intelligens felhasználói felület, vagy utófeldolgozó komponens
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat kiválasztás
Feladat kiválasztás
Tudás alapú vállalati stratégia kiválasztása megtörtént Lehetséges feladatok felmérése Feladat elemzési munkalap kitöltése Táblázat alapján eldönteni, hogy mely feladat(ok) megvalósítását célszerű beindítani
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat kiválasztás
A feladat jellemzése
A feladat jelenlegi megvalósítása Kulcs-kritériumok Tárgyköri szakértő rendelkezésre áll Eset-adatok rendelkezésre állnak Szűk problémakörből vett, jól definiált a feladat Procedurális a feladat Struktúrált elemzéssel oldható meg a feladat Verbális ismeretek
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat kiválasztás
A feladat jellemzése
Kizáró kritériumok - elkerülendő feladatok Kerüljük a „köznapi tudás” kezelését Kerüljül az analógián alapuló következtetéseket Kerüljük az érzékeléssel összefüggő ismeretek kezelését Kerüljük a nagyon gyakran változó tárgyterületeket Kerüljük azokat a feladatokat, ahol a szakértők egyetértése nem biztosítható Kerüljük a bonyolult geometriai és térbeli következtetéseket Kerüljük a bonyolult oksági, vagy időkezelést igénylő következtetéseket
Tudásalapú rendszerépítés jellegzetességei Feladat kiválasztás
A feladat jellemzése
A probléma típusa és a következtetés jellege Felhasználói szempontok Megértésre szükség van Hardver-ismeretek, hardver rendelkezésre állás Szoftver-ismeretek, szoftver rendelkezésre állás Sebesség Elfogadható pontosság Magyarázatadás igénye A felhasználó motiváltsága Oktatás, betanítás
Vezetői szempontok, rendszer értékelése
Tudásalapú rendszerek építése
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat elemzés
Feladat elemzés szempontjai Munkakörnyezet Eszközök hiánya, nem megfelelő tájékoztatás
Szituáció A feladat kezdésének ideje, sorrendje nem ismert
Feladatvégző Ügyetlen, nem motivált, nincs elég szakértelme, összekeveri a feladatokat. . .
Tárgyköri szakértő Nincs/nehezen elérhető javaslat
Visszacsatolás Nincs vagy nem megfelelő visszacsatolás
Kimenet Előírások, szabványok
Eredmények Értékelés, értékelés eredményét közlik a feladatvégzővel
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat elemzés
A feladat elemzéséhez szükséges első interjúk
Feladat-végrehajtás lényegének tisztázása Alábbi kérdésekre válaszolni Kik lesznek a felhasználók? Mi célból fogják használni a rendszert? Hol fogják a rendszert használni? Hol és hogyan ülhetnek le mellé? Mikor fogják használni (feladat-végrehajtás közben, előtte, utána)? A felhasználói hatékonyságot növeli, vagy csökkenti? Milyen áron? Miért fogják használni? Mi győzi meg az embereket, hogy használják?
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat szerkezet meghatározás
Feladat szerkezet meghatározás
Tárgyköri ismeretek szerveződésének meghatározása Kognitív elemzés Szakértő mit tud Ismereteit hogyan mozgósítja
Hagyományos szoftver tervezésre nem jellemző
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Feladat szerkezet meghatározás
A tudásmérnöki munka
Tudásalapú rendszereket tervez, fejleszt Visszacsatolásos fejlesztési folyamat Tudásszerzés -> Ismeretek formalizálása -> Tudásbázis-szintű kódolás -> Tesztelés
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tudásszerzés
Tudásszerzés folyamatának szereplői
Tárgyterületi szakértő Tudásmérnök Rendszerszervező (integrált alkalmazásoknál) Tudásbázis-adminisztrátor (komolyabb tudásalapú projekteknél)
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tudásszerzés
A szakértővel való együttműködés főbb problémái
A „ jó” (a legjobb) szakértő megtalálása Egy vagy több szakértő bevonása a munkába Ütemezési kérdések, a vállalatvezetés támogatása „Jó” felhasználók bekapcsolása A rendszert tesztelő szakértő(k) kiválasztása Kommunikációs problémák
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tudásszerzés
Tudásszerzés az egyes rendszerfejlesztési fázisokban
Tudásszerzési módok Kezdeti interjúk a szakértővel, szakértőkkel és a felhasználókkal. Kezdeti tudásszenő interjúk. Esetek tesztelése és további folyamatos tudásszerző interjúk. Tesztelés felhasználók és további szakértők bevonásával.
Rendszerépítési fázisok Projekt kiválasztás, elemzés, tervezés, prototípus fejlesztés indítása. Prototípus-fejlesztés. Prototípus-fejlesztés, rendszerfejlesztés. Rendszetfejlesztés.
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tudásszerzés
Néhány praktikus elv a tudásszerzéshez
Célszerű tipikus esetek, problémák és megoldások megbeszélésével kezdeni Nem szabad kényszeríteni a szakértőt a számára szokatlan formalizmusok, tudásreprezentációs módszerek használatára Ne szakítsuk meg a szakértő beszédét A beszélgetés rögzítése Írásos és egyéb anyagok tanulmányozása
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Tudásszerzés
Ismeretszerzés módszerei
Közvetlen módszerek Direkt módszerek Indirekt módszerek
Közvetett vagy automatikus módszerek Induktív eszközök Adatbázisokból való automatikus ismeretszerzés
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
A tudásalapú és a hagyományos technológia összevetése
A tudásalapú és a hagyományos technológia összevetése Tudásalapú technológia Tudásszerzés Formalizált (szak)ismeret Tudásbázis (megfelelő következtető géppel végrehajtható kód) A formalizált ismeretanyag struktúrája és a tudásbázis struktúrája közel azonos.
Bonyolultabb fázis: tudásszerzés
Hagyományos technológia Kezdeti követelmény-specifikálás Strukturált specifikáció, rendszerterv Programkód (részei: adat és algoritmus) Strukturált specifikáció és a programkód közötti leképezés nem struktúra-tartó. A közbeiktatott rendszertervezés határozza meg a progam-struktúrát. Bonyolultabb fázis: rendszertervezés
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Célvezérelt rendszerek építése
Kisméretű szabályalapú rendszerek többsége célvezérelt Alkalmazási típusuk diagnosztizáló Az építé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”
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Pl. Kutyafajtákat kiválasztó rendszer szabályai 1. szabály ha
tipus = vadaszkutya marmagassag = nagy szinvaltozat = voros akkor kutyafajta = ir szetter
3. szabály ha
tipus = juhaszkutya marmagassag = kozepes szinvaltozat = fekete-feher szorzet = kozepesen hosszu akkor kutyafajta = border collie
2. szabály ha
tipus = orzo marmagassag = hatalmas szinvaltozat = feher szorzet = raszta akkor kutyafajta = komondor 4. szabály ha
tipus = oleb marmagassag = pottom ful-tipus = folallo tomeg = tollpihe akkor kutyafajta = csivava
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Pl. Kutyafajtákat kiválasztó rendszer absztrahálással
Tudásbázis mélyítése Kérdezett nem érti, hogy mért kérdezik a kutya típusát. Nagy mozgásigényű fajtát keres.
5. szabály ha mozgasigeny = nagy akkor tipus = vadaszkutya tipus = juhaszkutya
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Pl. Kutyafajtákat kiválasztó rendszer döntési táblája Típus vadász őrző juhász
Marmag. nagy hatalmas közepes
öleb
pöttöm
Szín vörös fehér feketefehér *
Szőr * raszta köz. hosszú *
Fül * * *
Tömeg * * *
Kutyafajta ír szetter komondor border collie
fölálló
tollpihe csivava
Leíró közelítés: összes javaslatot beírjuk, majd kitöltjük a tulajdonságokat Empirikus közelítés: ugyanarra a javaslatra akár több alternatív sort megadhatunk. Pl. Egy kutyafajtán belül létezik több színváltozat.
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Szabályok továbbfejlesztése Egyszerűsítő javaslatok Azonos sorokból csak egyet tartsunk meg. Megegyező javaslattal rendelkező sorokat a feltételben or -ral fogjuk össze.
Minden esetben adjon választ Felhasználóbarát párbeszéd Többjavaslatos szituációk Bizonytalanságkezelés: bizonyossági tényezőket rendelünk a szabályokhoz Finomítjuk a szabályokat Egyesítjük az ismétlődő szabályokat Újabb szabályok bevitelével bővítjük a tárolt ismeretanyagot
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Több javaslatot adó szituációk, bizonytalanság kezelés Több javaslatos szituációk Nem csak egy megoldásra vagyunk kíváncsiak, hanem mindre. Pl. Ne csak a csivavát találja meg, hanem a yorkshire terriert is.
Bizonytalanság kezelés Azonos tulajdonságú kutyafajták közül egyes fajtákat gyakrabban ajánl a rendszer. Pl. Egyes kutyafajták hajlamosabbak a betegségekre, ezért azokat nem ajánlja gyakran a rendszer.
Kérdezett nem tudja pontosan a választ Pl. A kérdezett nem tudja megállapítani pontosan a marmagasságot.
Bizonyossági tényező hozzárendelése a szabályokhoz, lehetséges válaszokhoz, bemeneti adatokhoz.
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Célvezérelt rendszerek építése
Tudásbázis finomítása
Attribútum absztrakció: ismétlődő feltételeknél, felhasználó számára jobb érthetőség miatt Ha tipus = juhaszkutya, marmagassag = kozepes akkor csaladi-kutyanak-idealis = igen
Ismétlődő szabályok Ismétlődő szabályok helyett adatbázis szabályok használata
Transzformációs szabályok Ha pontos-marmagassag ≥ 70cm akkor marmagassag = hatalmas
Tudásalapú rendszerépítés jellegzetességei Célvezérelt rendszerek építése
Szabályok bevitele, testreszabás
Szabályok bevitelénél gondosan kell eljárni Konzisztencia ellenőrzése Végtelen ciklusok elkerülése
Testreszabás Sorrend, prioritás beállítása Bizonytalanságnál küszöbszámok megadása Többszörös cél kezelése
Tudásalapú rendszerek építése
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Adatvezérelt rendszerek
Adatvezérelt rendszerek
Adatokból konstruálnak egy vagy több elfogadható megoldást Sok megoldás miatt a tudásmérnöknek több beleszólást kell biztosítani a vezérlés menetébe Kiinduló adatok megadása Konzultáció menetének előírása Megállási feltétel
Tudásalapú rendszerépítés jellegzetességei Adatvezérelt rendszerek
A fejlesztés 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
Tudásalapú rendszerek építése
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Strukturált szabályalapú rendszerek építése
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
Tudásalapú rendszerépítés jellegzetességei
Tudásalapú rendszerek építése
Hibrid rendszerek építése
Hibrid rendszerek építése
Keret és szabályalapú technikák + objektum orientált felhasználói felület A 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