1 / 37

NEST

Vladimír Laš. NEST. Petr Berka, Vladimír La š , Vojt ěch Svátek FIS VŠE, Praha. Obsah prezentace . Historie expertních systémů na VŠE Reprezentace znalostí Odvozování a práce s neurčitostí Konzultace Implementace systému Případové usuzování Problémy, současné práce, výhledy.

cassie
Download Presentation

NEST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vladimír Laš NEST Petr Berka, Vladimír Laš, Vojtěch Svátek FIS VŠE, Praha

  2. NEST Obsah prezentace • Historie expertních systémů na VŠE • Reprezentace znalostí • Odvozování a práce s neurčitostí • Konzultace • Implementace systému • Případové usuzování • Problémy, současné práce, výhledy

  3. NEST Expertní systémy na VŠE - Systém Automatických Konzultací SAK • 1983: počítač Wang, jazyk Basic • J. Ivánek + J. Ferjenčík, J. Švenda (DP) (Ivánek, J.: Realizace konzultačního systému SAK-OPIMALI pro výběr matematické metody rozhodování. In: Expertní systémy, ČSVTS FEL ČVUT, Praha 1984 160-172) • 1987-91: převod na počítače IBM PC pod DOSem • jazyk TurboProlog (Ivánek, Ferjenčík, Švenda) • jazyk TurboBasic(Ivánek, Ferjenčík, Berka) • 1995: konec záplatování verze TurboBasic

  4. NEST SAK – TurboBasic

  5. NEST SAK - TurboProlog

  6. NEST Expertní systémy na VŠE - prehistorie systému NEST • druhá pol. 90 let - práce na návrhu nového systému (P. Berka, V. Svátek) • publikace • Berka,P.: Nový expertní systém. LISp-Report 94-06, 1994 • Svátek,V. - Berka,P.: Specifications of a Question/Answer Knowledge-Based Agent. In: (Žižka, Brazdil eds.) Artificial Intelligence Techniques AIT'95, Brno, 1995, s.338 • 1995-97: specifikace systému NEST • 1996: konzultační modul v rámci systému pro hodnocení bonity klienta banky implementovaný komerční firmou • 1998-2003: nesystematické neúspěšné pokusy sehnat studenta-programátora

  7. NEST Expertní systémy na VŠE - historie systému NEST • květen 2003: začátek práce na implementaci systému NEST (P. Berka, V. Laš) • vývojové prostředí DELPHI pod Windows • báze znalostí zapisovány v XML • stand-alone + webová verze • editor báze • česká i anglická verze

  8. NEST Reprezentace znalostí (1/4) • Atributy a výroky • binární True, False • jednoduché nominální hodnoty atributu • množinové nominální hodnoty atributu • numerické fuzzy intervaly • s atributy sdruženy zdroje a akce • atributy popisují případ nebo prostředí

  9. NEST Reprezentace znalostí (2/4) • Pravidla s prioritami IF předpoklad THEN závěr A akce kde předpoklad je disjunktivní forma (disjunkce konjunkcí) literálů (výroků nebo negací výroků), závěr je seznam literálů a akce je seznam akcí (externích programů) • kompozicionální - každý literál v závěru doplněn vahou • apriorní - kompozicionální pravidla bez předpokladu • logická - nekompozicionální pravidla bez vah; pouze tato pravidla mohou dát absolutní jistotu

  10. NEST <compositional_rule> <id>c1</id> <condition> <conjunction> <literal> <id_attribute>velikost_nohy</id_attribute> <id_proposition>malá_noha</id_proposition> <negation>0</negation> </literal> <literal> <id_attribute>dobrá_rodina</id_attribute> <negation>0</negation> </literal> </conjunction> </condition> <conclusions> <conclusion> <id_attribute>princ</id_attribute> <negation>0</negation> <weight>3,000</weight> </conclusion> </conclusions> </compositional_rule> IF velikost_nohy(malá_noha) AND dobrá_rodina THEN princ[3,000]

  11. NEST Reprezentace znalostí (4/4) • Integritní omezení ANTSUC (stupeň) kde ANT i SUC jsou DNF literálů a stupeň je číslo vyjadřující důležitost integritního omezení používají se pro kontrolu logické konzistence průběhu konzultace diagnoza(chřipka)  not diagnoza(zdráv) • Kontexty - disjunktivní formaliterálů, která (v případě kladné váhy) určuje, že je aplikovatelné nějaké pravidlo či integritní omezení

  12. NEST Odvozování • Odvozování v síti pravidel jako kombinace zpětného a přímého řetězení • kompozicionálníodvozování v rámci kompozicionálních a apriorních pravidel (skládání příspěvků pravidel) • nekompozicionální odvozování v rámci logických pravidel (modus ponens + disjunkce) • Vyhodnocení porušení integritních omezení IMPL(a,s)= max(0, min(1, a-s)) proa> 0

  13. NEST Práce s neurčitostí (1/4) (Založena na algebraické teorii P. Hájka) • použity kombinační funkce pro práci na [-1, 1]: • NEG pro výpočet váhy negace výroku, • CONJ pro výpočet váhy konjunkce výroků, • DISJ pro výpočet váhy disjunkce výroků, • CTR pro výpočet příspěvku pravidla k váze závěru, • GLOB pro skládání příspěvků více pravidel.

  14. NEST Práce s neurčitostí (2/4) • definovány různé „inferenční mechanizmy“, tj různé varianty kombinačních funkcíCTR a GLOB: • Standardní - vychází ze  systémů MYCIN (funkce CTR) a PROSPECTOR (funkce GLOB) • Logický - funkce CTR je fuzzy modus ponens a funkce GLOB je fuzzy disjunkce v Lukasiewiczově sémantice • Neuronový - funkce CTR odpovídá váženému vstupu wixido neuronu, funkce GLOB aproximuje aktivační funkci tanh(iwixi)

  15. NEST Práce s neurčitostí (3/4) • NEG(w) = - w • CONJ(w1,w2) = min(w1,w2) • DISJ(w1,w2) = max(w1,w2)

  16. NEST Práce s neurčitostí (4/4) • práce s neurčitostí rozšířena (díky monotonii) na práci s intervaly vah: • NEG[w1,w2] = [NEG(w2),NEG(w1)] • CONJ([w1,w2],[v1,v2]) = [CONJ(w1,v1),CONJ(w2,v2)] • DISJ ([w1,w2],[v1,v2]) = [DISJ(w1,v1),DISJ(w2,v2)] • CTR([a1,a2],w) = [CTR(a1,w),CTR(a2,w)] • GLOB([w1,w2],[v1,v2]) = [GLOB(w1,v1),GLOB(w2,v2)]

  17. NEST Režimy konzultace • dialogový režim - klasický režim dotaz/odpověď využívající pro volbu aktuálního dotazu zpětné řetězení • režim dotazník –po vyplnění dotazníku se rovnou spouští odvozování (tento režim simuluje přímé řetězení) • režim dialog s dotazníkem–nejprve systém nabídne dotazníkobsahující všechny dotazy, po vyplnění dotazníku se případně kladou další potřebné dotazy • načítání odpovědí ze souboru – načtené odpovědi lze měnit (režim dotazník) • just-in-time – zobrazovní odpovědí zároveň s vyplňováním dotazníku

  18. NEST Nastavení konzultace

  19. NEST Typy odpovědí • binární atribut - váha • jednoduchý nominální atribut – hodnota a váha • jednoduchý nominální atribut – seznam hodnot a jejich vah • numerický atribut - hodnota Dotazy nezodpovězené v průběhu konzultace získávají automaticky implicitní váhu „neznámá“ [-1,1] nebo “irelevantní“ [0,0], odpovědi lze rovněž odkládat a po skončení konzultace se k nim vrátit

  20. NEST Příklad dotazu

  21. NEST Výsledek konzultace

  22. NEST Implementace systému NEST • stand-alone verze: • vnitřní architektura jako klient-server aplikace • klient-server verze: • webový server (windows) + prohlížeč • víceuživatelský přístup řešen vytvářením kopií báze znalosti na serveru pro každého přihlášeného uživatele • ke každé bázi znalostí přiřazeny html stránky definující vzhled dialogu s uživatelem (možnost libovolně modifikovat při zachování příslušných „pseudotagů“)

  23. NEST Síťová verze - server

  24. NEST Síťová verze - standardní klient

  25. NEST síťová verze - klient na míru

  26. NEST Editor báze

  27. NEST 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.

  28. NEST 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:

  29. NEST Případové usuzování – CBR (3/3) Klasifikace (k-NN) 1. Pro nový příklad x 1.1. Najdi x1, x2, … xKK nejbližších příkladů 1.2. Přiřaď y = ŷ’y‘ je majoritní třída příkladů x1, … xK, (pokud y je kategoriální) nebo (pokud y je numerické)

  30. NEST 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ů) • podobnost mezipří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 a kompozicionální a logické (nekompozicionální) odvozování

  31. NEST 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ů 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 a novou konzultací • možnost pracovat s intervaly vah

  32. NEST Případové usuzování a NEST – kompozicionální odvozování

  33. NEST Případové usuzování a NEST – logické odvozování

  34. NEST 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) • Zatím případové usuzování začleněno do NESTu jako samostatný modul

  35. NEST Problémy se současnou verzí • Vývoj prostředí Delphi byl ukončen • Špatná podpora nových technologií • Nezájem učit se tento jazyk • Problematické úpravy v programu • Téměř nemožný další vývoj • Nevhodná koncepce webové verze (samostatný webový server)

  36. NEST Současné práce • Převod systému do nového vývojového prostředí (Visual Studio .NET) • Základ systému koncipován jako knihovna napojitelná na různé klienty • Webová verze • Webová služba • Stand-alone verze (zatím není) • Webová verze psaná pro standardní server (IIS) – snadnější a „bezpečnější“ nasazení

  37. NEST Výhledy(aneb co by se dalo dělat) • Propojení pravidlového a případového usuzování (výběr vhodnějšího způsobu odvozování, kombinování obou, …) • Modifikace pravidel na základě případového usuzování (automatická tvorba BZ) • Předělání editoru BZ • Implementace jiných jazyků pro zápis BZ • ???

More Related