Případové usuzování v expertním systému NEST Vladimír Laš, Petr Berka Vysoká škola ekonomická, Praha
KEG Obsah Expertní systém NEST Případové usuzování (obecně) Případové usuzování v NESTU principy kompozicionální odvozování logické odvozování Implementace Další vývoj - diskuze
KEG Expertní systém NEST (1/3) reprezentace znalostí atributy (binární, nominální jendoduché, nominální množinové, numerické) a od nich odvozené výroky každý atribut přiřazené zdroje: Standardní zdroje: odvozování, dotaz na uživatele Další zdroje: implicitní váha, soubor, externí funkce, výpočet pravidla: předpoklad závěr (váha), akce kompozicionální - každý literál v závěru má váhu apriorní - kompozicionální pravidla bez předpokladu logická - nekompozicionální pravidla bez vah kontexty, integritní omezení
KEG Expertní systém NEST (2/3) inference jako kombinace zpětného a přímého řetězení kompozicionální inference pro kompozicionální a apriorní pravidla (kombinování příspěvků pravidel) nekompozicionální inference pro logická pravidla (modus ponens + disjunkce) zpracování neurčitosti neurčitost se může vyskytovat ve znalostech experta i v odpovědích uživatele během konzultace, kompozicionální (kombinování příspěvků všech aplikovatelných pravidel) založeno na algebraické teorii P. Hájka různé sady kombinačních funkcí (MYCIN + PROSPECTOR, Lukasiewiczova vícehodnotová logika, neuronové sítě) váhy reprezentovány jako intervaly [w 1,w 2 ] (díky monotónii všech funkcí lze počítat pouze s krajními hodnotami intervalů)
KEG Expertní systém NEST (3/3) základní režimy konzultace: dialogový, pomocí dotazníku, kombinovaný, „just- in-time“ implementováno jako stand-alone nebo client-server verze (vývojové prostředí Delphi).
KEG Případové usuzování – CBR (1/3) alternativa k pravidlovému usuzování znalosti reprezentovány množinou typických případů jako nestrukturované vektory hodnot atributů, jako strukturované objekty, nesoucí informace o situacích, kdy je použití případu relevantní i o akcích, které se mají provést.
KEG Případové usuzování – CBR (2/3) Usuzování na základě podobnosti pro případy reprezentované jako vektory hodnot atributů založeno na vzdálenosti: eukleidovská překrytí Podobnost: 1/d(x 1,x 2 ) nebo 1 - d(x 1,x 2 )
KEG Případové usuzování – CBR (3/3) Klasifikace (k-NN) 1. Pro nový příklad x 1.1. Najdi x 1, x 2, … x K K nejbližších příkladů 1.2. Přiřaď y = ŷ’ y‘ je majoritní třída příkladů x 1, … x K, (pokud y je kategoriální) nebo (pokud y je numerické)
KEG Případové usuzování a NEST – principy (1/2) případy odpovídají konzultacím - obsahují tedy informace o odpovědích na dotazy i o odvozených cílech (vyjádřeno jako váhy příslušných výroků) jsou-li v BZ mezilehlé výroky, nejsou při odvozování použity podobnost mezi případem a novou konzultací dána podobností mezi váhami odpovídajících si výroků analogicky s pravidlovým usuzováním navrženo kompozicionální a logické (nekompozicionální) odvozování
KEG Případové usuzování a NEST – principy (2/2) odvozování realizováno „kombinačními funkcemi“ pro výpočet podobnosti vah dvou (odpovídajících si) výroků výpočet podobnosti dvou konzultací (případu a konzultace) - na základě podobností vah všech výroků (dotazů) případu a nové konzultace výpočet váhy cíle nové konzultace – na základě váhy cíle u případu a podobnosti mezi případem (případy) a novou konzultací možnost pracovat s intervaly vah
KEG Podobnost vah výroku pro práci s intervaly ([w a1,w a2 ], [w b1,w b2 ] jestliže se intervaly nepřekrývají: jestliže se intervaly překrývají: Případové usuzování a NEST – kompozicionální odvozování (1/2)
KEG Případové usuzování a NEST – kompozicionální odvozování (2/2) Váha cíle Podobnost dvou konzultací pro práci s intervaly se zvlášť spočítá váha pro horní a pro dolní mez
KEG Případové usuzování a NEST – logické odvozování (1/2) Podobnost vah výroku Podobnost dvou konzultací pro práci s intervaly se zvlášť spočítá váha pro horní a pro dolní mez
KEG Případové usuzování a NEST – logické odvozování (2/2) Váha cíle pro práci s intervaly je případ s podobností [a 1,a 2 ] podobnější nové konzultaci než případ s podobností [b 1,b 2 ], jestliže:
KEG Implementace případového usuzování v systému NEST návaznost na stávající systém NEST zatím implementována jen stand-alone verze jen dva režimy práce (dotazník a nahrání odpovědí ze souboru) podobně jako u pravidlového odvozování nemusí být zadány hodnoty všech atributů, nezodpovězené dotazy získají implicitní váhu „neznámá“ (w=[-1,1]) případně „irelevantní“ (w=0)
KEG Screenshot s vysvětlením závěru konzultace
KEG Problém v logickém odvozování konzultaceVáha dotazuVáha cíle 1[1;1][0;1] 2[-1;-0.5][-1;0] Nová konzultace[-1;1][-1;0] - ?? Pro “konkrétní“ hodnoty z intervalů může nastat situace, kdy konzultace 1 je podobnější. Správný výsledek: [-1;1] Připravena úprava logického odvozování
KEG Další vývoj NESTu (1/3) Zatím případové usuzování začleněno do NESTu jako samostatný modul Další práce kombinování pravidlového a případového usuzování vážené hlasování obou přístupů volba vhodnějšího přístupu pro danou konzultaci modifikace pravidel na základě případů
KEG Další vývoj NESTu (2/3) nový software Důvody pro nový software problémy s implementací případového usuzování (resp. s propojením CBR a RBR) problémy s webovou verzí NESTu ukončený vývoj prostředí Delphi
KEG Další vývoj NESTu (3/3) nový software Možné vlastnosti softwaru „propojení“ zdrojů a usuzování CBR, RBR (či případné další usuzování) na stejné úrovni jako současné zdroje (výpočet, soubor, …) kombinování výsledků z více zdrojů primárně webová aplikace (psáno v aspx.NET) přidání „vztahů“ mezi výroky propojení se standardními jazyky (SWRL – semantic web rule language)