Případové usuzování v expertním systému NEST Vladimír Laš, Petr Berka Katedra informatičníhoa znalostního inženýrství, FIS, VŠE Praha Praha 3, Nám. W. Churchilla 4 {lasv,berka}@vse.cz Abstrakt. Článek popisue základní způsob případového usuzování, který byl implementován do expertního systému NEST, původně pouze pravidlového. dvozování probíhá nad skladem předchozích případů, který (na rozdíl od pravidlové báze znalostí) nemusí vytvářet expert. V systému sou implementovány dva způsoby případového odvozování kompozicionální a logický lišící se způsobem využívání případů ve skladu. Tyto způsoby sou inspirovány kompozicionálním a logickým způsobem práce s neurčitostí v sítí pravidel původního systému NEST. V závěru sou nastíněny další možné rozšíření systému především hlubší integrace plavidlového a případového usuzování. Klíčová slova: případové usuzování, expertní systém Úvod Tento text popisue, akým způsobem fungue případové usuzovaní, které bylo přidáno do expertního systému NEST. dvozování (kompozicionální respektive logické) v tomto expertním systému bylo původně založeno pouze na pravidlech (klasická IF THEN pravidla). Důvodů pro přidání případového usuzování do systému e několik. Mezi hlavní patří problémy s tvorbou bází znalostí. Pro pravidlové usuzování e nutné mít předem vytvořenou kvalitní bázi znalostí, podle níž systém odvozue závěry. Pro případové usuzování nám stačí mít sklad případů s dostatečným počtem dříve vyřešených případů (o kterých máme alespoň určitou istotu, že byly řešeny správně). Tento sklad případů lze sehnat ednodušším způsobem než kvalitní bázi znalostí. Dalším důvodem e např. možnost odvodit výsledky různými způsoby a tím ověřit eich správnost. Systém NEST V tomto textu nebudeme popisovat NEST, o tomto systému se lze více dozvědět v [] či []. Zde bychom zmínili pouze dvě základní věci, které přímo souvisí s případovým usuzováním reprezentace znalostí pomocí výroků a pravidel a odvozování a způsob práce s neurčitostí.
. Výroky a pravidla Systém NEST nabízí pro reprezentování znalostí výroky (odvozené od binárních, nominálních a numerických atributů), pravidla (kompozicionální s neurčitostí i nekompozicionální bez neurčitosti), kontexty a integritní omezení. IF-THEN pravidla představuí původní základní prostředek pro reprezentování znalostí v systému NEST. Předpoklad pravidla e tvořen disunktivní normální formou (disunkce konunkcí) literálů (výroků nebo eich negací), závěr pravidla e tvořen seznamem (konunkcí) literálů. Systém NEST nabízí tři typy pravidel: kompozicionální pravidla sou pravidla, kde každý závěr pravidla e doplněn váhou pravidla, která zhruba řečeno vyadřue do aké míry tento závěr platí, pokud předpoklad platí s istotou. V průběhu konzultace se skládaí dílčí příspěvky pravidel, která vedou ke stenému závěru proto označení kompozicionální, apriorní pravidla sou kompozicionální pravidla bez předpokladu; tato pravidla umožňuí přiřadit výrokům implicitní váhu, logická pravidla sou nekompozicionální pravidla bez vah. Je-li předpoklad takovéhoto pravidla s istotou splněn, váha závěru e známa rovněž s istotou a závěr se považue za plně vyhodnocený v ostatních případech se pravidlo neaktivue. Pouze logická pravidla mohou dát absolutní istotu +-.. dvozování a práce s neurčitostí Systém NEST umožňue pracovat s váhami, které vyadřuí neurčitost v bázi znalostí i neurčité odpovědi během konzultace. Práce s neurčitostí vychází z algebraické teorie P. Háka [3]. V systému sou tedy definovány kombinační funkce NEG (pro výpočet váhy negace výroku), CNJ (pro výpočet váhy konunkce výroků), DISJ (pro výpočet váhy disunkce výroků), CTR (pro výpočet příspěvku pravidla k váze závěru) a GLB (pro složení příspěvků více pravidel se steným závěrem). Váha není vyádřena edním číslem, ale reprezentue i interval vah. Interval chápeme tak, že výrok může získat libovolnou váhu z daného intervalu. Interval tedy simulue opakované konzultace pro všechny možné hodnoty z intervalu. Vzhledem k monotonii kombinačních funkcí (funkcí používaných při odvozování) stačí pracovat pouze s mezemi intervalů. Použité typy pravidel nabízeí dva možné způsoby odvozování: kompozicionální odvozování v rámci kompozicionálních a apriorních pravidel. V průběhu konzultace se skládaí dílčí příspěvky všech pravidel vedoucích ke stenému závěru. Něaké pravidlo e pak aktivováno a dá nenulový příspěvek k váze závěru, pokud () kontext pravidla (e-li zadán) e odvozen s kladnou vahou a rovněž () předpoklad pravidla e odvozen s kladnou vahou kontext (e-li zadán) přitom modifikue váhu pravidla. Jde tedy o způsob dovozování známý ze systému SAK (a analogický systémům Equant, FEL-EXPERT, MYCIN, PRSPECTR a pod.), nekompozicionální odvozování v rámci logických pravidel. Jak iž bylo uvedeno v předcházeícím odstavci, logická pravidla odvozuí závěr
s istotou s využitím klasického dedukčního pravidla modus ponens. V průběhu konzultace pak edno aktivované pravidlo plně vyhodnotí daný závěr. Skládání příspěvků pravidel tedy má charakter disunkce, tak ak e tomu například v komerčních expertních systémech Nexpert bect nebo Kappa PC. Z tohoto způsobu rozdělení odvozování na kompozicionální a logické vychází i způsob práce případového usuzování, ak e uvedeno dále. 3 Jak fungue případové usuzování Případové usuzování (Case-Based Reasoning, CBR) e založeno na principu analogie: v neznámé situaci použi to řešení, které se osvědčilo v situaci podobné. Znalosti sou tedy reprezentovány v podobě databáze iž vyřešených problémů (případů) a usuzování má podobu hledání případu, který bude nepodobněší nastalé rozhodovací situaci [4]. Případy vyadřuící znalosti v systémech CBR lze reprezentovat v zásadě dvěma způsoby:. ako nestrukturované vektory hodnot atributů,. ako strukturované obekty, nesoucí informace o situacích, kdy e použití případu relevantní i o akcích, které se maí provést. Použitý způsob reprezentace pak předurčue způsob ukládání (indexování) případů i měření podobnosti. V prvním případě vystačíme s některou s běžných metrik. Pro měření vzdálenosti mezi numerickými hodnotami se obvykle používá eukleidovská metrika d m E ( x ) = E ( x ), kde δ E ( x ) = ( x x ) = δ () pro měření vzdálenosti mezi kategoriálními hodnotami se používá tzv. překrytí (overlap) d ( x ) δ ( x kde : δ ( x m = = δ ( x kde x sou dva vektory o m složkách. ) = 0 pro x ) = pro x ), = x x V systému NEST sme zvolili první způsob reprezentace (a tedy i odvozování). Případy sou chápany ako údae z provedených konzultací: obsahuí tedy informace o odpovědích na dotazy i o odvozených cílech. dvozování vah závěrů nové konzultace pak probíhá na základě dřívěších případů. K tomu e zapotřebí, abychom měli sklad případů s dostatečným počtem dříve vyřešených případů. Nová konzultace (nový případ) e pak porovnávána s těmito staršími případy, e určena podobnost ()
k ednotlivým případům a na základě této podobnosti e spočtena váha cílů nové konzultace. Podobně ako v případě použití pravidel, i v případě použití případů nabízí NEST dva přístupy: kompozicionální odvozování a logické odvozování. ba způsoby definuí 3 základní funkce: Podobnost dvou výroků výsledkem e číslo z intervalu [-;], které určue, ak podobné sou dva stené výroky z různých konzultací (při práci s intervaly musíme počítat s intervalem [w, w ], kde w i e prvkem [-;]). Podobnost dvou konzultací výsledkem e opět číslo z intervalu [-;], které určue, ak podobné sou dvě konzultace. Funkce pro výpočtu využívá vzdálenost ednotlivých výroků. Výpočet váhy závěrů - e funkce, která na základě vzdálenosti konzultací (vzdálenost nové konzultace k ednotlivým starým případům) vypočítá váhy závěrů nové konzultace. Základní rozdíl mezi kompozicionálním a logickým způsobem odvozování spočívá v tom, že zatímco v kompozicionálním způsobu sou brány v úvahy váhy všech případů ve skladu a váha závěru e odvozována skládáním těchto vah, tak v logickém způsobu odvozování e vybrán nepodobněší případ a váha závěru e určena na základě tohoto případu. Cíle (cílové výroky) nové konzultace mohou být určeny dvěma způsoby. Pokud v bázi znalostí existuí pravidla, mohou být cíle určeny na základě těchto pravidel steným způsobem ako v případě pravidlového usuzování. Druhou možností e přímo ve skladu případů označit atributy, které maí být brány ako cílové. Jednotlivé atributy mohou mít ve skladu případů určeny svoi váhu. Tato váha e pak zohledňována při výpočtu vzdálenosti konzultací (atributy s vyšší váhou se na odvozování podíleí více než atributy s nižší váhou). Pokud atribut nemá váhu zadanou, bere se automaticky maximální váha (tedy ). 4 Kompozicionální odvozování 4. Výpočet podobnosti dvou výroků Měme výrok v, který má v konzultaci k a váhu w a a v konzultaci k b váhu w b. Podobnost výroku pak definueme ako: pvk ( k a, kb ) = wa wb (3) pvk [ ;] pv k = - znamená, že výroky sou zcela odlišné, pv k = znamená, že výroky sou stené. Pro práci s intervaly (uvažume intervaly [w a, w a ] a [w b, w b ]): Jestliže aw > bw nebo bw > aw (intervaly se nepřekrývaí) pak pvk ( ka, kb ) = [min( wa wb, wa wb ), (4) max( w w, w w )] a b a b
Jinak (intervaly se překrývaí): x = w w = w w pv ( k k a a, k b b a ) = [ max( x b 3 3 4 = ),] w a w b 4 = w a w b (5) 4. Výpočet podobnosti dvou konzultací Měme konzultaci k a konzultaci k. Podobnost konzultací pak definueme ako: wa pv( vk i, vk i ) * i pva (6) pk( k, k ) = sva kde v ki značí i-tý výrok (dotaz) v případu k wa e váha atributu nastavená v bázi znalostí, pva e počet výroků, které sou odvozeny od rodičovského atributu příslušného výroku (toto dělení e zde proto, neboť každý atribut má být při výpočtu podobnosti zohledňován en ednou; e-li tedy od atributu odvozeno vice výroků, e tímto způsobem celkově.započítán en ednou) sva e součet vah atributů (dotazů) Σ probíhá přes všechny dotazy pk = - znamená, že případy sou zcela odlišné, pk = znamená, že případy sou stené. Pro práci s intervaly se podle vzorce zvlášť spočte hodnota pro horní mez a zvlášť pro dolní mez. 4.3 Výpočet váhy závěru nové konzultace Měme bázi znalostí s případy k i a novou konzultaci (nový případ) k n. Měme cílový výrok c s vahou w c pk( kn, ki ). wci i wcn = (7) pkon kde pkon e počet konzultací Σ de přes všechny případy v bázi znalostí. Jedná se vlastně o vážený součet vah závěrů ednotlivých případů, kde ako váhy slouží podobnost ednotlivých případů od nové konzultace. Pro práci s intervaly se podle vzorce zvlášť spočte hodnota pro horní mez a zvlášť pro dolní mez.
5 Logické odvozování 5. Výpočet podobnosti dvou výroků Měme výrok v, který má v konzultaci k váhu w a v konzultaci k váhu w. Dále měme zadaný práh podobnosti výroků p. Podobnost výroků pak definueme ako: pvl ( k, k ) = estliže pvk ( k, k ) > p (8) pvl ( k, k ) = inak To znamená, že pokud vzdálenost výroků spočtena kompozicionálním přístupem přesáhne práh podobnosti výroků, pak e logická podobnost rovna, inak se rovná -. Pro práci s intervaly se spočte steným způsobem pro minimální i maximální váhu. 5. Výpočet podobnosti dvou konzultací Počítá se steným způsobem ako u kompozicionálního přístupu. 5.3 Výpočet váhy závěru nové konzultace Měme bázi znalostí s případy k i a novou konzultaci k n. Měme cílový výrok c s vahou w c wci i M w cn = : i M i = max i[ pk( kn, ki )] (9) M Nebo-li váha nové konzultace se rovná váze konzultace, která e nepodobněší a v případě, že e nepodobněších konzultací více, vezme se průměr z eich vah. Pro práci s intervaly e případ s podobností [a, a] podobněší nové konzultaci než případ s podobností [b, b] estliže: a + a ) ( b + b ) 0 (0) ( > 6 Implementace systému Implementace pravidlového usuzování systému plynule navazue na původní implementaci systému, ak e popsaná v []. Zatím e vytvářena pouze stand-alone verze (klient-server verze bude dodělána až pod odladění všech problémů). Sklad případů e nyní reprezentován pomocí souboru xml (obdobně ako báze znalostí s pravidly), přičemž ukáže-li se v budoucnu, že případové odvozování nad tímto souborem probíhá příliš pomalu, bude vytvořen vlastní formát pro skladování dat (případně bude použita relační databáze).
7 Další rozvo systému V prvním kroku rozvoe systému e potřeba především sehnat dostatečně obsáhlý sklad případů a vytvořit pravidlovou bázi znalostí z příslušné oblasti. Na těchto základech by mělo proběhnout důkladné testování výše popsaných algoritmů. V dalším rozvoi by mělo doít k užšímu propoení případového a pravidlového usuzování, kdy by systém měl automaticky (či poloautomaticky) vybírat mezi případovým a pravidlovým usuzováním. V poslední části rozšíření bude snaha naučit systém upravovat pravidla v bázi znalostí na základě skladu případů. Reference. Berka P., Laš V., Svátek V., Nový expertní systém NEST. Brno 5.0.004 7.0.004. In: Snášel V. (ed.). Znalosti 004. strava : VŠB TU strava, 004, s. 56 67. ISBN 80-48-0456-5. Laš V. http://lisp.vse.cz/nest, Expertní systém NEST 3. Háek P. Combining Functions for Certainty Factors in Consulting Systems. Int. J. Man-Machine Studies, 985 4. Watson I., Marir F., Case-based reasoning: An review. The Knowledge Engineering Review, Vol. 9:4, 994, 37-354. Annotation: This paper describes basic type of case-based reasoning how it was implemented in the expert system NEST (originally rule-based system). The reasoning proceeds over the cases storage, which doesn t have to be created by expert contrary to rule knowledge base. There are types of case-based reasoning in the system compositional and logical. These types differ in manner of using cases storage. Future developments of the system is outlined in the end of paper.