Znalosti a jejich reprezentace Znalost je lidský odhad uložený v mysli, získaný pomocí zkušeností a interakcí s okolním prostředím. Znalost je fyzický, mentální nebo elektronický záznam o vztazích, o kterých věříme, že existují mezi skutečnými či imaginárními entitami, silami, jevy, Znalost je vnitřní náhled, porozumění a praktické know-how, které všichni ovládáme je to základní zdroj, který nám umožňuje chovat se inteligentně Znalost je informace o světě, která umožňuje expertovi udělat rozhodnutí. (Wikipedia) P. Berka, 2012 1/30
Znalosti Explicitní: formalizované, artikulované a tedy sdílené. Implicitní: primárně skryté (v datech) ale potenciálně formalizovatelné a tedy i sdělitelné. Tacitní: nevědomé a nesdělitelné znalosti skryté v myslích jedinců expertů. P. Berka, 2012 2/30
Znalosti Deklarativní: zachycující co platí (statické pravdy) Procedurální: zachycující jak postupovat při provádění nějakých akcí (usuzování) Znalosti Individuální Kolektivní P. Berka, 2012 3/30
Tři dimenze znalostí (převzato z Bureš, Čech, 2006) P. Berka, 2012 4/30
Data, informace, znalosti z pohledu znalostního managementu (managementu znalostí) 1. Data (+ relevance + účel =) 2. Informace (+ aplikace =) 3. Znalosti (+ intuice + zkušenosti =) 4. Moudrost (Tobin, 1996) 1. Data (+ význam + struktura =) 2. Informace (+ uvažování + abstrakce + aplikace =) 3. Znalosti (+ výběr + zkušenosti + principy + ohraničení + učení =) 4. Expertíza (jednotlivý expert) (+ integrace + distribuce + navigace =) 5. Kompetence (způsobilost organizace) (Beckman, 1997) P. Berka, 2012 5/30
Data, informace, znalosti z pohledu procesu rozhodování Jestliže se můžeme spolehnout při sběru materiálu na automatický proces nebo úředníka, hovoříme o datech. Správnost dat vzhledem k reálnému světu může být objektivně verifikována srovnáním s jeho opakovaným pozorováním. Jestliže hledáme experta, který by poskytl materiál, potom hovoříme o znalostech. Znalosti obsahují abstrakce a generalizace objemného materiálu. Obvykle jsou méně přesné a nemohou být objektivně verifikovány. (Widerhold, 1986) P. Berka, 2012 6/30
Požadavky na reprezentované znalostí Transparentnost (znalosti musí být srozumitelné) Modulárnost (soubor znalostí je obvykle tvořen řadou jednoduchých elementů) Modifikovatelnost (musí existovat způsob jak znalosti upravovat a měnit) Užitečnost (znalosti musí být použitelné např. pro podporu rozhodování) P. Berka, 2012 7/30
Role reprezentace znalostí Náhražka reality umožňující odhadovat důsledky naších akcí pouze na základě usuzování a nikoliv konání v reálném světě Soubor ontologických závazků, tedy odpověď na otázku, v jakých pojmech mám usuzovat o světě Fragmentární teorie inteligentního usuzování Výpočetní prostředí ve kterém probíhá strojové usuzování Prostředí pro lidské vyjadřování, tedy jazyk, pomocí kterého mluvíme o světě (Davis, Shrobe, Szolovits, 1993) P. Berka, 2012 8/30
Základní prostředky reprezentace znalostí (v expertních systémech) Predikátová logika Sémantické sítě Rámce Pravidla Případy P. Berka, 2012 9/30
Predikátová logika Jazyk predikátové logiky - konstanty: např. karel, zikmund - proměnné: např. X, Y - predikátové symboly (relace): např. muž(zikmund) - funkční symboly (operace): např. věk(zikmund) - logické spojky:,,,, - kvantifikátory:, Termy - jednoduché (konstanty nebo proměnné) - složené (vzniklé aplikací funkce na termy, tedy např. věk(x)). Literál predikát (nebo jeho negace) aplikovaný na množinu termů např. muž(zikmund), nebo větší_než(věk(zikmund),23))) - pozitivní literál neobsahuje negaci: např. muž(zikmund) - negativní literál obsahuje negaci: např. muž(eliška) P. Berka, 2012 10/30
Formule Atomická formule má tvar P(t 1,t 2,..,t n ), kde P je predikátový symbol a t i jsou termy (jde tedy o literál) Jsou-li a formule, pak jsou formulemi i,,,,, x (x), x (x) Příklad správně utvořené formule x opice(x) savec(x) Jiným příkladem správně utvořené formule je definice spojitosti funkce f v bodě a: ( >0)( >0) ( x) x - a < f(x) f(a) < Klauzule Formule tvořená disjunkcí literálů L 1 L 2 L n Hornova klauzule Klauzule která obsahuje nejvýše jeden pozitivní literál, tedy např. H v L 1 L n tuto klauzuli můžeme ekvivalentně zapsat jako implikaci L 1 L n H. P. Berka, 2012 11/30
Prolog Deklarativní způsob programování - specifikuje se co se má spočítat, aniž by se podrobně specifikovalo jak se to má spočítat. Termy: jednoduché, tzn. konstanty (např. karel) a proměnné (např. X) složené, tvořené funktorem a n-ticí termů (např: den(sobota), otec(karel_iv,zikmund)). Klauzule: atomické formule, které odpovídají složeným termům (lze je chápat jako fakta v databázi), A1 podmíněné příkazy ve tvaru implikace A1 A2 An B B :- A1,A2,...,An cílové klauzule, které mají tvar dotazu?- C1,C2,...,Cn. P. Berka, 2012 12/30
Prolog a reprezentace znalostí: Pravidla jako Prologovské klauzule savec(x) :- dava_mleko(x). savec(x) :- ma_srst(x). dravec(x) :- savec(x),zere_maso(x). kocka(x) :- dravec(x),mnouka(x). pes(x) :- dravec(x),steka(x). pes(x) :- dravec(x),chodi_na_voditku(x). Odpovědi na otázky jako Prologovská fakta: ma_srst(bobek). ma_srst(sultan). ma_srst(tyrl). zere_maso(mici). zere_maso(sultan). zere_maso(tyrl). mnouka(mici). dava_mleko(stracena). steka(sultan). chodi_na_voditku(tyrl). P. Berka, 2012 13/30
Sémantické sítě navrženy R. Quillianem v druhé pol. 60. let v rámci prací na porozumění přirozenému jazyku jako model asociativní paměti člověka. Sémantická síť umožňuje popisovat realitu jako objekty, které jsou navzájem v nějakých vztazích (relacích). Sémantická síť má přirozenou grafovou reprezentaci; objekty jsou uzly a relace mezi nimi jsou hrany v grafu. P. Berka, 2012 14/30
(Unified Medical Language System - UMLS) P. Berka, 2012 15/30
Predikátová logika vs. sémantické sítě x; student(x) person(x) x; professor(x) person(x) x; person(x) y; numer(y) age(x,y) x; student(x) y; professor(y) supervisor(x,y) student(marie) profesor(harry) numer(23) P. Berka, 2012 16/30
Rámce navrženy v polovině 70. let Marvinem Minskym z MIT jako prostředek pro reprezentaci stereotypních situací. Rámec (frame): Datová struktura (objekt) obsahující data (položky, slots), meta-data (meta-položky, meta-slots) a procedury (metody). Základní rysy: postupné vyplňování stránek předdefinované hodnoty (defaults) standardní položky (ako, isa, part_of) hierarchie (generalizace/specializace), dědičnost, zapouzdřenost Rámce se staly inspirací pro objektově-orientované programování P. Berka, 2012 17/30
(defclass auto (vozidlo) (pohon :initform 'motor)) (defclass osobní_auto (auto) (účel :initform 'přeprava_osob)) syntaxe Common Lisp Object System (CLOS) P. Berka, 2012 18/30
Příklad metapoložek: způsob, jakým se systém ptá uživatele na hodnotu inferenční priorita priorita dědění typ dědičnosti (lze dědit vlastnosti, hodnoty i metapoložky, pořadí zdrojů (Order of Sources): o zpětné řetězení, o dědění dolů, o dědění vzhůru. o dotaz uživateli, o inicializace na počátku konzultace, o zjišťování při běhu (default), o načtení z databáze, o zavolání externí procedury. akce po změně hodnoty (If Changed) (systém Nexpert Object) P. Berka, 2012 19/30
Pravidla IF-THEN struktury dobře známé z programovacích jazyků, použití pravidel vychází z implikací ve výrokové logice A B A B 0 0 1 0 1 1 1 0 0 1 1 1 Sémantika: procedurální jestliže situace pak akce ( typické pro generativní systémy) deklarativní jestliže předpoklad pak závěr ( typické pro diagnostické systémy) P. Berka, 2012 20/30
Procedurální pravidlo IF The current context is assigning devices to Unibus models and There is an unassigned dual-port disk drive and The type of controller it requires is known and There are two such controllers, neither of which has any device assigned to it, and The number of devices that these controllers can support is known THEN Assign the disk drive to each of the controllers, and Note that the two controllers have been associated and that each supports one drive (systém R1/XCON) Deklarativní pravidlo IF The site of the culture is blood, and The identity of the organism is not known with certainty, and The stain of the organism is gramneg, and The morfology of the organism is rod, and The patient has been seriously burned THEN There is a weakly suggestive evidence (.4) that the identity of the organism is pseudomonas (systém MYCIN) P. Berka, 2012 21/30
IF rozumný_záměr AND seriózní_klient THEN půjčit IF NOT podvodník AND záruky_splacení THEN seriózní_klient IF movitosti THEN záruky_splacení IF nemovitosti THEN záruky_splacení P. Berka, 2012 22/30
Atributy a výroky Situace, předpoklad a závěr pravidel jsou kombinace (,, ) tvrzení o stavu světa: Tvrzení: výrok (auto má červenou barvu) atribut, hodnota (barva_auta = červená) objekt, atribut, hodnota (auto: barva = červená) (u každého tvrzení lze zjistit jeho pravdivost) Typy atributů: kategoriální - tvrzení tvořena hodnotami atributů o binární (např. žena) o nominální (např. barva vlasů) o ordinální (např. dosažené vzdělání) numerické (např. věk) - tvrzení tvořena intervaly hodnot P. Berka, 2012 23/30
Inferenční síť AND-OR graf dotazy - tvrzení, která se nevyskytují v závěrech pravidel cíle - tvrzení, která se nevyskytují v předpokladech pravidel mezilehlé uzly - ostatní tvrzení P. Berka, 2012 24/30
Tvrzení v systému NEST Tvrzení (výroky) tvořeny dvojicí atribut, hodnota Atributy binární nominální numerické Výroky True, False hodnoty atributu fuzzy intervaly Fuzzy intervaly nominální atributy jednoduché vs. množinové atributy případu vs. atributy prostředí P. Berka, 2012 25/30
Pravidla v systému NEST Pravidla s prioritami IF předpoklad THEN závěr A akce kde předpoklad je disjunktivní forma (disjunkce konjunkcí) literálů, závěr je seznam literálů a akce je seznam akcí (externích programů). Pravidla: kompozicionální - každý literál v závěru doplněn vahou IF noha(malá) AND dobrá_rodina THEN princ[3,000] apriorní - kompozicionální pravidla bez předpokladu Apriori THEN princ[-1,000] logická - nekompozicionální pravidla bez vah; pouze tato pravidla mohou dát absolutní jistotu IF NOT(dobrá_rodina) THEN NOT(princ) P. Berka, 2012 26/30
Rámce a pravidla častá kombinace v komerčních systémech: rámce (objekty) pro vyjádření statických znalostí pravidla pro odvozování Příkladem (generativního) systému může být produkční systém (jazyk) OPS5. Příklad pravidla: (P jak-se-do-lesa-vola ((message ^type acustic ^source-id <x> ^dest-id <y> ^cont <cont>) <old>) (information-node ^id <y> ^kind forest) --> ((MAKE message ^type acustic ^source-id <y> ^dest-id <x> ^cont <cont>) <new>) (REMOVE message <old>) ) P. Berka, 2012 27/30
Příkladem (diagnostického) systému může být Nexpert Object. Třídy (rámce): (@CLASS= adept (@PROPERTIES= parents_status size_of_feet status)) Instance objektu: (@OBJECT= current_adept (@CLASSES= adept) (@PROPERTIES= evaluation parents_status size_of_feet status)) Diagnostická pravidla s akcemi: (@RULE= r1 (@LHS= (Is (current_adept.size_of_feet) ("small")) (Yes (good_parents)) ) (@HYPO= adept_evaluation) (@RHS= (Let (current_adept.status) ("Prince")) (Show ("princ_ye.txt") )) P. Berka, 2012 28/30
Pomocné prostředky reprezentace znalostí Kontexty popisují situace, kdy to, zda se bude vyhodnocovat nějaké tvrzení závisí na tom, že jiné tvrzení již bylo vyhodnoceno. v systému NEST konjunkce literálů, která určuje že aplikovatelné nějaké pravidlo nebo integritní omezení Integritní omezení vyjadřují pravdivé vazby mezi tvrzeními. Nepodílí se na odvozování, používají se pro kontrolu logické konzistence průběhu konzultace. v systému NEST ve tvaru Ant Suc (stupeň) Akce jsou vnější procedury, jejichž aktivace je vázána na průběh odvozování. v systému NEST mohou být aktivovány po vyhodnocení tvrzení nebo po aplikování pravidla Zdroje definují způsob získání hodnoty atributu nebo váhy tvrzení. v systému NEST může být zdrojem odpovědi na dotaz uživatel, soubor, vnitřní funkce nebo vnější procedura P. Berka, 2012 29/30
Případy (Case) Případy mají podobu vyřešených problémů (situací) z dané aplikační oblasti P. Berka, 2012 30/30