Szabályalapú következtetés lényege II. Szabályalapú következtetés Szabályalapú technikáknál az ismereteket vagy ha-akkor szerkezetű kal, vagy feltétel nélküli tényállításokkal írják le. a feladat megoldásához felhasználható ismeretek konkrét feladattal kapcsolatos ismeretek általános szakterületi ismeretek konkrét, tényszerű ismeretek általános, szabály formájú ismeretek Egy feladat-megoldási helyzetben meg kell határozni az alkalmazható at, kiválasztani közülük egyet és azt ani, aminek következtében módosul a feladatmegoldási helyzet. Ismeretalapú modellezés Ismeretalapú modellezés 2 általános - speciális Szabályalapú következtetés különböző megközelítései Produkciós rendszerekben (Kereső rendszer) MI általános megoldó sémája ha feltétel akkor hatás szabály lehet a megoldás beégetett procedurális eleme is. Szabályalapú rendszerekben IR egyik markáns fajtája ha feltétel akkor következmény at szimbolikus formában, elkülönítve tárolja. Szabályalapú logikai következtetésnél Tételbizonyító módszer ha feltétel akkor állítás implikációt tartalmazó logikai állítások. Logikai programozásban (Prolog) logika nyelve egy programozási nyelv speciális logikai állítások: Horn klózok Ismeretalapú modellezés 3 eklaratív (logikai állítás) Szabályok leírásának módjai o Kockavilágra vonatkozó állítás: ha holding(x) és ontable(y) és clear(y) akkor on(x, y) ( x)( y)(holding(x) ontable(y) clear(y) on(x, y)) ( x)( y)(holding(x) ontable(y) clear(y) on(x, y)) o Tananyagra vonatkozó állítás: ha nehézség= közepes és jegyzeteltség= rossz akkor tanulási_idő= hosszú Procedurális (ható programok formájában) o ha holding(x) és ontable(y) és clear(y) akkor stack(x, y) Ismeretalapú modellezés 4 Szabály alkalmazása: láncolás Illesztés Előre láncolás Ha a szabály feltétele illeszkedik az aktuális állapothoz, akkor a szabály következményének megfelelően módosítható az aktuális állapot vagy a továbbiakban feltételezhető a rákövetkező állapot. Visszafelé láncolás Ha a szabály következménye illeszkedik az éppen vizsgált részcélhoz, akkor ezen részcél eléréséhez elegendő a továbbiakban a szabály feltételét igazolni, a részcélt ezzel visszavezetjük a szabály feltételére. Illesztés egyszerű program változókkal hő = 05 ha hő > 80 akkor Riasztás Sztringek adott hibahatárú illesztése Makko Szeged utca 3. <token, token 2, token 3, token 4 > token-attribútumok: státusz, érték, javított érték, stb. ha token i.státusz:=nem_ismert és Pl: Makó távolság(token i.érték, név) < limit ahol név településnévtár akkor token i.javérték:=név és token i.státusz:=településnév Ismeretalapú modellezés 5 Ismeretalapú modellezés 6
Illesztés Elsőrendű logikai állítások illesztése x helyébe a P(a) Q(a) ( x) ( P(x) Q(x) R(x) ) P(a) Q(a) ( x) ( (P(x) Q(x)) R(x) ) Fuzzy fogalmak illesztése a 45%-ban nehéz, 3%-osan jegyzetelt tananyag ha nehézség= közepes és jegyzeteltség= rossz akkor tanulási_idő= hosszú Ismeretalapú modellezés 7 Megoldható feladatok fajtái. Egy kezdeti állapotból (illetve az azt jellemző tényekből) kiindulva el kell jutni egy célállapotba vagy meg kell konstruálni egy célállapotot. o Építsük fel az on(,) tornyot adott kezdő állásból! o Keressük a kockák olyan elrendezését adott kezdő állásból, ahol egy kocka egy másik tetején van! Pl.: on(,) clear() on(,c) ontable(c) handempty() 2. Egy célállítást kell ki következtetni a kezdetben érvényes tényekre támaszkodva akár úgy is, hogy közben a célállítást is pontosítani kell, annak nem ismert attribútumait fel kell tárni. o Felépíthető-e megadott kockákból egy on(,) torony? o Teljesülhet-e az on(x,y) célállítás, és vajon milyen x és y értékekre? Ismeretalapú modellezés 8 Előre haladó vagy adatvezérelt következtetés iránya Tényekből kiindulva a célállapot felé halad. Egy szabály alkalmazása az aktuális állapotot változtatja meg vagy előállítja a következő állapot által kielégített feltételt. kkor fejeződik be sikeresen, ha olyan állapotba jut, amelyre a célállítás teljesül. Visszafelé haladó vagy célvezérelt Célállítás igazolását a felhasználásával visszavezeti a tényekre. Minden lépésben egy részcélt vezet vissza egy szabály feltételére, amely a továbbiakban részcéllá válik. kkor fejeződik be sikeresen, ha minden részcél a tényekre vezetődik vissza. Ismeretalapú modellezés 9 tények E H G, then add() then swap(,c) C, then add() Szabályalkalmazási lánc: betesz mindent. datvezérelt következtetés munka memória,, E, G, H,, E, G, H, C,, E, G, H, C,, E, G, H,, 2. C 3. Ismeretalapú modellezés 0 illeszt? cél Célvezérelt következtetés Szabályalapú következtetés eredménye tények E H G illeszt? Szabályalkalmazási lánc: munka memória C,,,. C betesz: kivesz: ; betesz C, kivesz: C; betesz: kivesz: ; betesz, 2. 3. if C, C if if, Ismeretalapú modellezés cél z eredmény adatvezérelt következtetés esetén a kívánt következmény, célvezérelt esetben egy Rendben válasz a cél attribútumainak esetleges pontosítása mellett, de mindkét esetben kiegészül egy magyarázattal is. magyarázat lényegében az a szabályalkalmazási (vagy következtetési) lánc, amely megmutatja, hogy mely nak, milyen sorrendben és milyen milyen illesztés mellett ott alkalmazásával kaptuk az eredményt. megoldás kereséssel történik. Előnyben részesítjük a heurisztikus módosítható stratégiájú kereséseket; az esetek döntő részében ez egy visszalépéses keresés. Ismeretalapú modellezés 2 2
Szabályalapú reprezentáció előnye és hátránya Esettanulmány: Cím tisztítás Előnyök o Természetes ábrázolás o egymástól függetlenül építhetők be az ismeretbázisba. o Könnyen kiegészíthető bizonytalanságkezelési lehetőségekkel Hátrányok o Nem objektum alapú o Nehéz kivédeni az ellentmondó és redundáns bekerülését. o Nincs szabványosítva a at leíró nyelv Probléma Különböző mértékben részletezett, eltérő sorrendben megadott, hiányos, esetenként hibás, elektronikus formájú, szövegesen megadott postai címek beazonosítása a szabványos országos címadatbázisba. Több lehetséges válasz esetén a legjobban illeszkedő címet (címeket) adjuk meg. Rendeljünk a megoldáshoz egy illeszkedési mértéket Ismeretalapú modellezés 3 Ismeretalapú modellezés 4 feladat nehézsége Megoldás ötlete Elírások és hibás adatok fordulhatnak elő (4-8. helyett csak 4, ajcsi-sininszki Endre) datelemek között inkonzinsztencia léphet fel (település és irányítószám) Rövidítéseket kell kezelni (p. Nagy L. kir. u.) z épület, lépcsőház, emelet besorolás feldolgozása, ami nincs szabványosítva (írásmódja lehet római vagy arab szám, sorrendjük nem rögzített) Településrészek, csatolt települések kezelése (Pl.: "ükkszentlászló, Fő utca" = "Miskolc, Fő utca", "gárd" = "Gárdony") vizsgált címet szintaktikai egységekre (token) bontjuk. 7 p. Pázmány P. u.. <7><p.><Pázmány><P.><u.><.> Fokozatosan válik a kezdeti cím teljesen beazonosított címmé úgy, hogy minden lépésben egy újabb címrészt próbálunk felfedni, azaz egy vagy több szomszédos beazonosítatlan tokenről megmondjuk, hogy melyik címrészhez tartozik és mi az értéke(ha kell, javítjuk). 7 udapest Pázmány P. utca. 7 udapest Pázmány Péter. utca.. C ép. ( ~ házszám). C ép. (C ~ épület, ép. ~ ) Minden lépésnek és ezek következtében a címnek is van egy hihetősége (0 és közötti valós szám). cím hihetősége kezdetben, amelyet minden lépés csökkent. Ismeretalapú modellezés 5 Ismeretalapú modellezés 6 előfeltétel következmény Szabály előfeltétele előfeltétel következmény Szabályalkalmazás hatása z előfeltétel egy token-mintázat, úgynevezett tokensémák sorozata, amelynek illeszkednie kell a cím tokenjeinek egy részsorozatához. <StreetNumber><Isuilding><IsuildingStringLike> 5. C ép. (ahol a 5 már házszámként azonosított) lapvetően kétféle tokenséma lehet o zonosítatlan tokenhez illeszthető: <Is > (<Isuilding>) o zonosított tokenhez illeszthető: <StreetNumber> z illesztés algoritmusát a tokenséma Is mögötti része azonosítja. z azonosítatlan tokenhez való illeszkedésnek van egy mértéke: o Sztringek közötti távolság: p, udapes, utapes ~ udapest o Koherencia már azonosított tokenekkel (Pl.: irányítószám és kerület) szabály egyik következménye, hogy többnyire azonosít egy újabb tokent. 5. C ép. (5 ~ házszám). C ép. (C ~ épület, ép. ~ ) szabály módosíthatja egy token értékét. udapes Pázmány P. u.. udapest Pázmány Péter. utca. udapest Pázmány P. u.. udapest Pázmány Péter. utca. 8 udapest Pázmány Péter. utca. 7 udapest szabály kiszámolja megváltozott cím új hihetőségét. (cím a szabály után) = (szabályalkalmazás) * (cím a szabály előtt) (szabályalkalmazás) = (szabály illeszkedés) * (szabály) Ismeretalapú modellezés 7 Ismeretalapú modellezés 8 3
Szabálybázis. Szabálybázis 2. szint előfeltétel címmező hit <IsSettlement> település 00 2 <IsPostalCode@Settlement> irszám 00 2 <IsPostalCode> irszám 50 3 <Isistrict@PostalCode> kerület 00 3 <Settlement><Isistrict@PostalCode> kerület 98 3 <Settlement><Isistrict@PostalCode><IsistrictStringLike> kerület 00 3 <Isistrict@PostalCode><IsistrictStringLike> kerület 95 4 <IsPublicPremisesType> köz.típus 00 6 <IsPublicPremisesName@Settlement> köz.név 00 7 <StreetType><IsStreetNumber@Settlement@StreetName@ StreetType> házszám 00 7 <IsNumber><IsEqualTo(-)><IsNumber> házszám 00 7 <IsStreetNumber@Settlement@StreetName@StreetType> házszám 75 7 <StreetName><IsStreetNumber@Settlement@StreetName házszám 95 @StreetType> szint előfeltétel címmező hit 8 <StreetNumber><Isuilding><IsuildingStringLike> épület 00 8 <StreetNumber><Isuilding> épület 90 8 <Isuilding><IsuildingStringLike> épület 98 9 <IsuildingStringLike><Isuilding> lépcső 90 9 <uilding><isuilding><isstaircasestringlike> lépcső 00 9 <uilding><isuilding> lépcső 90 9 <Isuilding><IsStairCaseStringLike> lépcső 98 0 <IsNumber><IsFloorStringLike> szint 00 0 <IsRomanNumber><IsFloorStringLike> szint 00 0 <IsLetter><IsFloorStringLike> szint 99 0 <Stairs><IsRomanNumber><IsEqualTo(/)> szint 99 <IsFloorStringLike><IsNumber> ajtó 95 <IsNumber><IsoorStringLike> ajtó 00 Ismeretalapú modellezés 9 Ismeretalapú modellezés 20 Problématér Problématér fájának részlete problématér elemei a valamilyen mértékben beazonosított és korrigált címek, ahol egyik címből egy másikba egy szabály vezet el. tér szerkezete egy háló (irányított körmentes gráf). Egy címre sok szabály alkalmazható, ugyanaz a szabály több tokenhez is illeszthető, sőt egy szabály egy tokenre többféle eredményt adhat. problématér mérete óriási! Problématér szűkítése: csoportosítjuk a at aszerint, hogy melyik címrészt azonosítja, és a címrészeket kötött sorrendben azonosítjuk. Ekkor a struktúra egy irányítatlan fa lesz. Ennek bevezetése egy igen jelentős lépésnek bizonyult. 0.750 Gárdony 2483 I. u. 9 0.750 Gárdony 2483 I. u. 9 0.609 0.57 0.57 2483 Gár I. u. 9 település szabály irányítószám közterülettípus közterületnév házszám Gyál 2483 I. u. 9 Gyál 2360 I. u. 9 Gyál 2360 utca I. 9 Gyál 2360 utca Ilona 9 0.82 0.780 0.634 0.466 Ismeretalapú modellezés 2 Ismeretalapú modellezés 22 Megoldások keresése Előre tekintő gráfkeresés Egy jó (lehetőleg a legjobb) megoldást (azaz olyan címet, amire nem lehet már szabályt alkalmazni) keresünk. Ebben o vagy minden tokent beazonosítottunk o vagy nincs több szabályalkalmazási szint, de maradtak azonosítatlan tokenek (ez tovább rontja a hihetőséget) Csak olyan módosítható keresési stratégia jöhet szóba, amely képes optimális megoldást adni. o Iteratívan mélyítő visszalépéses keresés (I*) lehetne, de nincs hozzá megengedhető heurisztikánk. o z * algoritmushoz is megengedhető heurisztika kellene. o Módosított előre tekintő (best first) gráfkeresést alkalmaztunk. Globális munkaterület (NYÍLT halmaz) a feldolgozásra váró címeket tartalmazza, kezdetben a kiinduló címet. keresés mindig a leghihetőbb címet veszi ki a NYÍLT halmazból és arra alkalmazza az összes lehetséges szabályt az összes lehetséges módon. Nem áll le a gráfkeresés az első megoldás megtalálásakor, hanem tovább kutat jobb (jobban hihető) megoldások után. NYÍLT halmazt korlátozzuk: csak a valahány leghihetőbb címet tárolja, de ezek közül is csak az eddig talált legjobb megoldásnál jobb hihetőségű vagy egy adott korlátnál nem rosszabb hihetőségű címeket. (vágó heurisztika) Ezek a módosítások is jelentősen javítottak a rendszeren. Ismeretalapú modellezés 23 Ismeretalapú modellezés 24 4
Megerősítéses tanulás Futtatási eredmény Szabályok hihetősége o (szabály) = eredményes használatok száma / összes használat száma o Eredményes használatok o Felügyelő által megjelölt o Legjobb (néhány legjobb) megoldás kiválasztása Stratégiai paraméterek (korlátok, validálási büntetések, hiányzó vagy fel nem ismert elemek büntetése) közül alkalmazásokhoz köthető az utóbbi kettő, így arra a fenti módszer alkalmazható Ismeretalapú modellezés 25 Ismeretalapú modellezés 26 5