Reprezentace a vyvozování znalostí Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: ► Reprezentace a vyvozování znalostí ► Extralogické informace ► Pravidlové systémy ► Nejistota a pravděpodobnost Úvod do umělé inteligence 10/12 1/31 Reprezentace a vyvozování znalostí Reprezentace a vyvozování znalostí otázka: Jak zapíšeme znalosti o problému/doméně? Když je zapíšeme, můžeme z nich mechanicky odvodit nová fakta? ► reprezentace znalostí (knowledge representation) - hledá způsob vyjádření znalostí počítačově zpracovatelnou formou (za účelem odvozování) ► vyvozování znalostí (reasoning) - zpracovává znalosti uložené v bázi znalostí (knowledge base, KB) a provádí odvození (inference) nových závěrů: • odpovědi na dotazy • zjištění faktů, které vyplývají z faktů a pravidel v KB • odvodit akci, která vyplývá z dodaných znalostí, .. . Úvod do umělé inteligence 10/12 2/31 Reprezentace a vyvozování znalostí Reprezentace znalostí Reprezentace znalostí proč je potřeba speciální reprezentace znalostí? vnímání lidí x vnímání počítačů ► člověk ► když dostane novou věc (třeba pomeranč) - prozkoumá a zapamatuje si ho (a třeba sní) ► během tohoto procesu člověk zjistí a uloží si všechny základní vlastnosti předmětu ► později, když se zmíní daná věc, vyhledají se a připomenou uložené informace ► počítač ► musí se spolehnout na informace od lidí ► jednodušší informace - přímé programování ► složité nebo rozsáhlé informace - zadané v symbolickém jazyce Úvod do umělé inteligence 10/12 3/31 Reprezentace a vyvozování znalostí Reprezentace znalostí Volba reprezentace znalostí která reprezentace znalostí je nejlepší? Pro řešení skutečně obtížných problémů musíme používat několik různých reprezentací Každý konkrétní typ datových struktur má totiž své klady a zápory a žádný se sám o sobě nezdá adekvátní pro všechny funkce zahrnuté v tom, čemu říkáme "selský rozum" (common sense). - Marvin Minsky spoluzakladatel MIT Ul lab Úvod do umělé inteligence 10/12 4/31 Reprezentace a vyvozování znalostí Reprezentace znalostí Limity reprezentace znalostí Všechny modely se mýlí, některé jsou ale užitečné. (All models are wrong, but some are useful) - George Box, významný britský statistik Kompletní reprezentace znalostí má řešit: ► kategorie ► míry a hodnoty ► složené objekty ► čas, prostor a změny ► události a procesy ► fyzické objekty ► látky/substance ► mentální objekty a postoje v Často je nutné se kvůli efektivitě modelu vzdát přesnosti nebo úplnosti Úvod do umělé inteligence 10/12 Reprezentace a vyvozování znalostí Reprezentace znalostí Reifikace - abstrakce jako objekt reifikace (zvěčnění) - zjednodušení (logické) analýzy abstrakci/objekt vyššího řádu modelujeme jako objekt vlastnost objektu « predikát pomeranč "držím pomeranč držet(Ja, x) A pomeranč(x) "mám rád chut pomeranče" & mít_rád( Ja, x) A x = chuť(?pomeranč?) ... v PL1 nelze s reifikací predikátu pomeranč (konstanta): "mám rád chut pomeranče" « mít_rád( Já, x) A x = chuť (pomeranč) "držím pomeranč" « držet( Ja,x) A is_instance(x, pomeranč) Z čistě logického hlediska vznikají neexistující objekty (spory při tvrzení o neexistenci) ale při korektním zpracování - stačí jednodušší formalismus Úvod do umělé inteligence 10/12 6/31 Extralogické informace Extralogické informace - třídy, sémantické sítě, rámce co jsme dosud ignorovali: ► objekty reálného světa mají mezi sebou vztahy • třídy/kategorie, podtřídy x nadtřídy • hierarchie vztahů části/celku • dědění vlastností v hierarchiích ► stav světa se může měnit v čase • explicitní reprezentace času • nemonotónní uvažování (pravdivost se může měnit v čase) ► ne každá informace je "černobílá" • nejistota • statistika, fuzzy logika Úvod do umělé inteligence 10/12 7/31 Extralogické informace Třídy objektů Třídy objektů ► "Chci si koupit fotbalový míč." • Chci si koupit FM27341 - špatně • Chci si koupit objekt, který je prvkem třídy fotbalových míčů - správně ► objekty jsou organizovány do hierarchie tříd • FM27341 G fotbalové_míče • fotbalové.míče C míče ► fakta (objekty) x pravidla (třídy) • Všechny míče jsou kulaté. • Všechny fotbalové míče mají X cm v průměru. • FM27341 je červenomodrobílý. • FM27341 je fotbalový míč. • (Proto: FM27341 je kulatý a má X cm v průměru.) Úvod do umělé inteligence 10/12 8/31 Extralogické informace Ontológie Ontológie ► ontológie ve filozofii - nauka o existenci a typech existencí ► ontológie v informatice - formální popis znalostí, pojmy a vztahy mezi pojmy, hierarchie ► ontológie obecné (upper level) x doménové ► různé dostupné obecné, žádná standardem (zatím): (Open)Cyc, SUMO/MILO, Dublin Core, DOLCE, ... http://archivo.dbpedia.org, http://www.ontologyportal.org (=> (and (instance ?KILL Killing) (patient ?KILL ?0BJ)) (exists (?DEATH) (and (instance ?DEATH Death) (experiencer ?DEATH ?0BJ) (causes ?KILL ?DEATH)))) Pokud nějaký proces (7KILL) je instancí zabíjení (Killing) a nějaký agent (?OBJ) je předmětem toho procesu => pak existuje jiný proces (7DEATH) takový, že tento jiný proces je instancí smrti (Death) a agent ?OBJ se účastní tohoto jiného procesu 7DEATH a původní proces 7KILL je příčinou tohoto jiného procesu 7DEATH Úvod do umělé inteligence 10/12 Extralogické informace Sémantické sítě Sémantické sítě sémantické sítě - reprezentace faktových znalostí (pojmy + vztahy) ► vznikly kolem roku 1960 pro reprezentaci významu anglických slov ► znalosti jsou uloženy ve formě grafu Q pojmy (objekty, třídy) _> vztahy O O T O O ► nejdůležitější vztahy - taxonomie: • podtřída (subclass) - vztah mezi třídami • instance - vztah mezi konkrétním objektem a jeho rodičovskou třídou jiné vztahy - část (has-part), barva, ... Úvod do umělé inteligence 10/12 10 / 31 Extralogické informace Sémantické sítě Sémantické sítě - příklad Úvod do umělé inteligence 10/12 11 / 31 Extralogické informace Sémantické sítě Dědičnost v sémantických sítích ► pojem sémantické sítě předchází OOP ► dědičnost: • jestliže určitá vlastnost platí pro třídu—platí i pro všechny její podtřídy • jestliže určitá vlastnost platí pro třídu—platí i pro všechny prvky této třídy ► určení hodnoty vlastnosti - rekurzivní algoritmus ► potřeba specifikovat i výjimky - mechanizmus vzorů a výjimek (defaults and exceptions) • vzor - hodnota vlastnosti u třídy nebo podtřídy, platí ta, co je blíž objektu • výjimka - u konkrétního objektu, odlišná od vzoru Úvod do umělé inteligence 10/12 12 / 31 Extralogické informace Sémantické sítě Dědičnost vztahů část/celek ► "Krávy mají 4 nohy." • každá noha je částí krávy ► "Na polije (konkrétní) kráva." • všechny části krávy jsou taky na poli ► "Ta kráva (na poli) je hnědá (celá) " • všechny části té krávy jsou hnědé ► "Ta kráva je šťastná." • yfecfTřiyjE^ - neplatí ► lekce: některé vlastnosti jsou děděny částmi, některé nejsou explicitně se to vyjadřuje pomocí pravidel jako part-of(x, y) A location(y, z) =4> location(x, z) 13 / 31 Extralogické informace Sémantické sítě Vzory a výjimky - příklad ► "Všichni ptáci mají křídla." ► "Všichni ptáci umí létat." ► "Ptáci se zlomenými křídly jsou ptáci, ale neumí létat." ► "Tučňáci jsou ptáci, ale neumí létat." ► "Kouzelní tučňáci jsou tučňáci, kteří umí létat." ► kdo umí létat: - "Penelope je pták." =4> "Penelope umí létat." - "Penelope je tučňák." =4> "Penelope neumí létat." - "Penelope je kouzelný tučňák." =4> "Penelope umí létat." ► všimněte si, že víra v hodnotu vlastnosti objektu se může měnit s příchodem nových informací o klasifikaci objektu Úvod do umělé inteligence 10/12 14 / 31 Extralogické informace Sémantické sítě Aplikace sémantických sítí (Princeton) WordNet - http://wordnet.princeton.edu/ ► sémantická síť 150.000 (anglických) pojmů, zachycuje: • synonyma, antonyma (významově stejná/opačná) • hyperonyma, hyponyma (podtřídy) • odvozenost a další jazykové vztahy ► tvoří se národní wordnety (navázané na anglický WN) český wordnet - cca 30.000 pojmů ► nástroj na editaci národních wordnetů - DEBVisDic/VisDic, vyvinutý na Fl MU - http://deb.fi.muni.cz/ ► VisualBrowser - http://nlp.f i.muni.cz/proj ekty/visualbrowser/ nástroj na vizualizaci (sémantických) sítí, vznikl jako DP na Fl MU Úvod do umělé inteligence 10/12 15 / 31 Extralogické informace Sémantické sítě VisualBrowser V 1.0 File View Help Zoom |_iL LíJ Play Search http:ťJhlp.fi.muni.cz/eurowiordnet/en# T I í Clue I ď □ |x| adjectives * nouns * verbs holonym part • hypernym literal involved agent execute start playing sound off strike up Ontology: http:/ťnlp.fi.muni.cz/euroworunet# Perspective: Thesaurus 16 / 31 Úvod do umělé inteligence 10/12 Extralogické informace Sémantické sítě _1 -r1 ^ i ^ DEBVisDic User Settings 1 Windows Help English Wordnet dog: [n] andiron: 1, fired og:l, dog:7, dog [nj frump: 1, dog:2 [n] cad: 1, bounder: 1, blackguard: 1, dog:4, houn [n] dog: 1, domestic dog: 1, Canis familiaris: 1 [n] frank:2 _,j-r1"^!" Dictionary - SSJČ dictionary - SSÖ Morph, analyzer ajka Google Greek Wordnet Search Preview T POS: n Synonyrr Definitio wolf) tha many bn Usage: t Domain: SUMO/\ --» [hyp Number of ť Czech Wordnet pes navotfacLißavOLiEvo ííeíídvôí: : 0, iiEp lü5 lkü [n] TlEp lüö lkü : 1 [nJ TiEplüö lkü:0 Search [a] zakopaný pes: 1 [a] pol icejuf pes: 1 [n] hlida£:4, hlfdacf pes: 1 [n] pes: 1 [nj slepecký pes: 1, vodící pes: 1 review Tree RevTree Preview Tree RevTree Edit XML pespes ENG20-020005 <ĽLR type=" ho 1 o_member" >ENG20-020i ENG20-075 xcapekl 200 3/06/2 53 ENG2G-G2GG2 ENG20-02027 0 oviôiiiiLt: 1 ^Ôl|juxo otvt lke !lie| fr lloučoooc: 1 ÖXE LpOTTO !ľ|T fröllU.LOUpi| TIE p umber of entries: 3 Nu m her of en tries: 12 LH Russian Wordnet Search [nj JKypHan: 1 Preview Tree RevTree Edit XML POS: n ID: RUS-1234560515 Synonyms: KHnra:1 Show in Czech Wordnet Definit cSpoLU Usage 6n6nn< Usage TeaTp? --» [has_hypernym] ne^atHoe H3flaHne:1 Take key from Czech Wordnet AutoLookUp in ► Copy entry to Czech Wordnet Import IDs from file Number of entries: 1 Úvod do umělé inteligence 10/12 17 / 31 Extralogické informace Rámce Rámce Rámce (frames): ► varianta sémantických sítí představená Marvinem Minskim ► velice populární pro reprezentaci znalostí v expertních systémech ► všechny informace relevantní pro daný pojem se ukládají do univerzálních struktur - rámců ► stejně jako sémantické sítě, rámce podporují dědičnost ► 00 programovací jazyky vycházejí z teorie rámců Úvod do umělé inteligence 10/12 18 / 31 Extralogické informace Rámce Rámce - příklad rámec obsahuje objekty, sloty a hodnoty slotů příklady rámců: savec: podtřída: zvíře část: hlava * m á-koži cti: ano podtřída\ savec * barva: šedá * vel i kost: velký instance: slon mít-rád: jablka slon Nellie: '*' označuje vzorové hodnoty, které mohou měnit hodnoty u podtříd a instancí Úvod do umělé inteligence 10/12 19 / 31 Extralogické informace Rámce Sémantické sítě x rámce sémantické sítě rámce uzly objekty spoje sloty uzel na druhém konci spoje hodnota slotu deskripční logika (description logic) - logický systém, který manipuluje primo s rámci Úvod do umělé inteligence 10/12 20 / 31 Extralogické informace Rámce Rámce - využití v praxi příklad využití rámců - ontológie Friend of A Friend (FOAF) ► popisuje osoby, jejich činnosti a vztahy k jiným osobám a objektům ► decentralizovaný přístup, http://xmlns.com/foaf/spec/ ► využívaný komunitami (blogovací platformy, MediaWiki, ...) ► základ standardu W3C WebID 1.0 (2014 draft) Vincent van Gogh <ŕoaŕ: img rdf: resource="/i m ages / va ngogh . j pg " /> < f o a f: made rdf: r e so u rce="https://www .vangoghgallery.com/painting/sunflowerindex.html" Úvod do umělé inteligence 10/12 21 / 31 Pravidlové systémy Pravidlové systémy ► snaha zachytit produkčními pravidly znalosti, které má expert ► obecná forma pravidel IF podmínka THEN akce • podmínky - booleovské výrazy, dotazy na hodnoty proměnných • akce - nastavení hodnot proměnných, příznaků, .. . ► důležité vlastnosti: • znalosti mohou být strukturovány do modulů . f O V ■ / , I V/V V' I f f XI "iii v • systém muze být snadno rozšířen přidáním nových pravidel beze změny zbytku systému Úvod do umělé inteligence 10/12 22 / 31 Pravidlové systémy Pravidlová báze znalostí Pravidlová báze znalostí - příklad pravidla pro oblékání: pravidlo 1 IF X je seriózní AND X bydlí ve městě THEN X by měl nosit sako pravidlo 2 pravidlo 3 pravidlo 4 IF X je akademik AND X je společensky aktivní AND X je seriózní THEN X by měl nosit sako a kravatu IF X bydlí ve městě AND X je akademik THEN X by měl nosit kravatu IF X je podnikatel AND X je společensky aktivní AND X je seriózní THEN X by měl nosit sako, ale ne kravatu společenská pravidla: pravidlo 5 IF X je podnikatel AND X je ženatý THEN X je společensky aktivní pravidlo 6 IF X je akademik AND X je ženatý THEN X je seriózní profesní pravidla: pravidlo 7 IF X učí na univerzitě OR X učí na vysoké škole THEN X je akademik pravidlo 8 IF X vlastní firmu OR X je OSVČ THEN X je podnikatel Úvod do umělé inteligence 10/12 23 / 31 Pravidlové systémy Expertní systémy Expertní systémy ► aplikace pravidlových systémů ► zaměřeny na specifické oblasti - medicínská diagnóza, návrh konfigurace počítače, expertíza pro těžbu nafty, ... ► snaha zachytit znalosti experta pomocí pravidel ale znalosti experta zahrnují - postupy, strategie, odhady, . .. ► expertní systém musí pracovat s procedurami, nejistými znalostmi, různými formami vstupu ► vhodné oblasti pro nasazení expertního systému: • diagnóza - hledání řešení podle symptomů • návrh konfigurace - složení prvků splňujících podmínky • plánování - posloupnost akcí splňujících podmínky • monitorování - porovnání chování s očekávaným chování, reakce na změny • řízení - ovládání složitého komplexu • předpovědi - projekce pravděpodobných závěrů z daných skutečností • instruktáž - inteligentní vyučování a zkoušení studentů Úvod do umělé inteligence 10/12 24 / 31 Pravidlové systémy Expertní systémy Expertní systémy v praxi CLI PS, pravidlový jazyk a prostředí pro expertní systémy ► NASA Johnson Space Center - řízení kontroly raket ► aktivně vyvíjený, tisíce projektů ► pracuje s objekty, fakty a IF-THEN pravidly (deftemplate emergency (slot type)) ; objekt (deftemplate response (slot action)) ; objekt (defrule fire— emergency (emergency (type fire)) ; pravidlo => (assert (response (action a c t i v a t e — s p r i n k I e r )))) (reset) (assert (emergency (type fire))) ( run ) (facts) f-0 f-1 f-2 fakt ( initial— fact) (emergency (type fire)) (response (action a c t i v a t e — s p r i n k I e r )) For a total of 3 facts Úvod do umělé inteligence 10/12 25 / 31 Nejistota a pravděpodobnost Nejistota Nejistota definujme akci At jako "Vyrazit na letiště t hodin před odletem letadla." jak najít odpověď na otázku "Dostanu se akcí At na letiště včas k odletu letadla?" problémy: 1. částečná pozorovatelnost (stav vozovky, záměry ostatních řidičů, . ..) 2. nejistota výsledků akcí (píchnutí kola, ...) 3. obrovská složitost modelování a předpovědi dopravní situace čistě logický přístup tedy: - riskuje chybu - "A$ mě na letiště dostane včas." - vede k závěrům, které jsou příliš slabé pro rozhodování: "A$ mě tam dostane včas, pokud nebude na dálnici nehoda a pokud nebude pršet a jestli nepíchnu kolo a jestli nebude fronta na odbavovacích přepážkách a jestli nebudou problémy při kontrole zavazadel ..." Úvod do umělé inteligence 10/12 26 / 31 Nejistota a pravděpodobnost Nejistota Metody pro práci s nejistotou ► defaultní/nemonotónní logika Předpokládejme, že nepíchnu cestou kolo. Předpokládejme, že A$ bude OK, pokud se nenajde protipříklad. ► logická pravidla s faktory nejistoty (zastaralé) ^5 ^o.s dostat se na letiště včas. zalévání i—^o.99 mokrý trávník mokrý trávník 1—^0.7 déšť ► pravděpodobnost (míra předpokladu, že hodnota bude true) Vzhledem k dostupným informacím, A3 mě tam dostane včas s pravděpodobností 0.05. poznámka: fuzzy logika se zabývá mírou pravdivosti, NE pravděpodobností Úvod do umělé inteligence 10/12 27 / 31 Nejistota a pravděpodobnost Pravděpodobnost Pravděpodobnost Pravděpodobnost sumarizuje nejistotu pocházející z - lenosti - nepodařilo se vypočítat všechny výjimky, podmínky, . .. - neznalosti - nedostatek relevantních údajů, počátečních podmínek, . .. subjektivní x Bayesovská pravděpodobnost: - pravděpodobnostní vztah mezi tvrzením a jeho pravdivosti vzhledem k podmínkám: P(A/[\žádné hlášené nehody) = 0.5 nejedná se o vyjádření pravděpodobnostní tendence (ale může se získat ze znalostí podobných případů v minulosti) - pravděpodobnost tvrzení se může měnit s novými (vstupními) podmínkami: P(A/[\žádné hlášené nehody, je 4:00 ráno) = 0.63 pravidlo pro podmíněnou pravděpodobnost - P(a\b) = pokud P(b) ^ 0 neboli pravidlo násobení (product rule) - P(a A b) = P(a\b)P(b) Nejistota a pravděpodobnost Vyvozování z nejistých znalostí Vyvozování z nejistých znalostí ► náhodná proměnná (random variable) - funkce, která vzorkům přiřazuje hodnoty —>► vrací výsledky měření sledovaného jevu distribuce pravděpodobností náhodné proměnné = (vektor) pravděpodobností, že daná proměnná bude mít konkrétní hodnotu např.: náhodná proměnná Odd ~ výsledek hodu kostkou bude lichý náhodná proměnná Weather « jaké bude počasí (slunce, déši, mraky, sníh) Odd{l) = true Weather(21.11.2005) = déši distribuce pravděpodobností proměnných Odd a Weather P(Odd = true) = 1/6 + 1/6 + 1/6 = 1/2 P(Odd) = (1/2,1/2) P(Weather) = (0.72,0.1,0.08,0.1) ► pravidla pro výpočet pravděpodobnosti logicky souvisejících událostí P (a V b) = P(a) + P(b) - P(a A b) Nejistota a pravděpodobnost Vyvozování z nejistých znalostí Bayesovské pravidlo pro vyvozování z pravidla pro podmíněnou pravděpodobnost - P(s\b) = p(aAb)/p(b) lze odvodit Bayesovské pravidlo pro určení diagnostické pravděpodobnosti ze znalosti příčinné pravděpodobnosti: P(Následek|Příčina)P(Příčina) P(Příčina| Následek) = P(Následek) např. ZMB zánět mozkových blan, ZK ztuhlý krk: , , ,, P(zk\zmb)P(zmb) 0.8 x 0.0001 „ P(zmb\zk) = ——1 ,,v-- =-—-= 0.0008 P(zk) 0.1 vyvozování = 1. rozdělení akce na atomické události 2. zjištění pravděpodobností atomických událostí 3. výpočet/odvození pravděpodobností pomocí složených distribucí pravděpodobností (Joint probability distribution) P(Odd, Weather) = 0.36 0.05 0.04 0.05 0.36 0.05 0.04 0.05 Úvod do umělé inteligence 10/12 30 / 31 Nejistota a pravděpodobnost Vyvozování z nejistých znalostí Bayesovské sítě Bayesovská síť: ► acyklický orientovaný graf ► uzly obsahují tabulky podmíněných pravděpodobností rodičů ► síť reprezentuje složenou distribuci pravděpodobností všech proměnných ► umožňuje efektivní přesné nebo přibližné (Monte Carlo) vyvozování ► nejčastěji používaný aparát pro vyvozování z nejistých znalostí Vloupání Honza volá P(V) A P(H) t 0.90 f 0.05 Zemětřesení v z P{A) t t 0.95 t f 0.94 f t 0.29 f f 0.001 Marie volá P(Z) 0.002 A P(M) t 0.70 f 0.1 P(v\h, m) = aP(v) Ez P(z) Ea P(a\v, z)P{h\a)P{m\a) Úvod do umělé inteligence 10/12 31 / 31