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 W O R D > 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)
ľoaŕ:name>Vincent van Gogh foa f: name>
<ŕ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" foaf: Person>
Ú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