Kapitola 4 Reprezentace znalostí
Malekùv zákon:
I ta nejjednodu¹¹í my¹lenka se dá vyjádøit slo¾itì.
Murphyho zákony
4.1 Pojem znalosti Pojmy data, informace a znalost jsou mnohdy pou¾ívány jako synonyma. V¹imnìme si jednoho pøístupu k rozli¹ení a de nování tìchto pojmù. Wiederhold [?] de nuje znalosti a data z hlediska budoucích informaèních systémù jako komplementární pojmy. Vychází z rozboru rozhodovacího procesu, v nìm¾ expert vybavený znalostmi zva¾uje data relevantní pro daný problém a èiní rozhodnutí. Znalosti expert získal vzdìláním a zku¹eností. Vybraná data pøedstavují informace o konkrétní situaci èi pøípadu. 1
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
2
Funkci znalostí a dat v procesu rozhodování znázoròuje schéma uvedená na obrázku ??. Vzdìlání
Zku¹enost R @
Znalosti
Data
R @
Informace Rozhodování
?
Obr. 4.1: Data a znalosti Typické je, ¾e zdroj znalostí (expert) a zdroj informací (shromá¾dìná data) jsou odli¹né - zvlá¹tì v hospodáøských aplikacích nemá expert èas sbírat a ovìøovat data. Rozli¹ení dat a znalostí je tedy podle nìj následující: 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ì veri kována srovnáním s jeho opakovaným pozorováním. Pøípadnì se stav svìta zmìní a musíme se spolehnout na pøedchozí pozorování. Jestli¾e hledáme experta, který by poskytl materiál, potom hovoøíme o znalostech. Znalosti obsahují abstrakce a generalizace objemného materiálu. Typicky jsou ménì pøesné a nemohou být objektivnì veri kovány. Mnohé de nice, nutné k organizaci systému, jsou také znalostmi; od expertù oèekáváme de nice, které jsou dùle¾itými stavebními kameny pro dal¹í abstrakce, kategorizace a generalizace. Data odrá¾ejí souèasný stav svìta na úrovni instancí, tak¾e obsahují mnoho detailù, jsou objemná a èasto se rychle mìní. Znalosti se tak èasto nemìní. Pojednávají o generalizacích, o obecných zákonitostech. Rozdíl mezi daty a znalostmi se jeví podstatný v úvahách o aktualizaci, chybách v datech a nejistotì znalostí. Aplikace na podporu øízení a plánování budou záviset zejména na znalostech adekvátních pro rozhodovací postup a výjimky v datech budou spí¹e ignorovat. Novì získaná data mohou být v rozporu s existujícími znalostmi. Ve velkých databázích se v¾dy vyskytují chybné údaje, data, která jsou v rozporu se znalostmi,
4.1. POJEM ZNALOSTI
3
nemusí ihned vést k revizi znalostí. Jsou-li znalosti vybaveny faktory nejistoty, je tøeba spí¹e tyto faktory za pomoci automatické uèící se procedury aktualizovat. Nìkdy kon ikt mezi daty a znalostmi ukazuje na neúplnost báze znalostí a lze jej vyøe¹it doplnìním dal¹ích znalostí, které pokrývají nové pøípady. Jeden z problémù vztahu dat a znalostí spoèívá v tom, ¾e data na vy¹¹í úrovni zpracování (napø. ji¾ agregovaná nebo jinak odvozená) se mohou jevit jako znalost vùèi ni¾¹í úrovni zpracování. To vede k úvahám o informaèních systémech s mnohaúrovòovými strukturami. Giarratano a Riley [?] uvádìjí tuto \pyramidu " pojmù (obr. ??). Nejní¾e v uvedené hierarchii je ¹um pøedstavující nezajímava a podezøelá data. O úroveò vý¹e jsou data, pøedstavovaná potenciálnì zajímavými údaji. Zpracovaná data pak mù¾eme chápat jako informace. Na dal¹í úrovni jsou znalosti (získané napø. zobecnìním informací) a nejvý¹e metaznalosti, které mù¾eme chápat jako \znalosti o znalostech" neboli znalosti o tom, jak vyu¾ívat znalosti. V expertních systémech se nìkdy mluví o rùzných typech znalostí: doménové znalosti zachycující znalosti z dané problémové oblasti pøedstavují v této pyramidì znalosti, øídící znalosti, ukazující jak vyu¾ívat doménové znalosti, pak pøedstavují metaznalosti. A A A A A A A
metaznalosti
znalosti informace data
A A A
A
A A
A
A A A
¹um
A
A
A
Obr. 4.2: Hierarchie znalostí Pojem znalosti je vhodné chápat právì v rámci logiky usuzování a inferenèního mechanismu, který ji prakticky realizuje. Za novou znalost pova¾ujeme tu informaci,
4
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
která není daným inferenèním mechanismem odvoditelná z ji¾ dostupných znalostí (Ivánek [?]). Znalosti pou¾ívané v expertních systémech mívají obvykle charakter mìlkých, povrchových znalostí (shallow knowledge). Pozorujeme napøíklad u pacienta zvý¹enou teplotu a z ní usuzujeme na chøipku. Pøíèinná (kauzální) souvislost ale bývá opaèná; organismus pacienta je napaden viry, to vybudí imunitní systém, zrychlí se metabolismus a to vede ke zvý¹ené teplotì. V posledních letech se objevují tendence takovéto pochopení jevù pou¾ít pøi tvorbì bází znalostí; pak se hovoøí o hlubokých, kauzálních znalostech.
4.2 Predikátová logika Predikátová logika je jedním z nejlépe prozkoumaným systémù pro reprezentaci a zpracování znalostí. Aèkoli pùvodnì navr¾ená pro studium relace logického dùsledku, stala se predikátová logika nebo v jiné terminologii teorie prvního øádu prototypem schemat pro reprezentaci znalostí (viz zejména následující odstavec 4.3). Pùvodnì byla predikátová logika zkoumána pro potøeby matematiky, ale brzy se ukázalo (zejména v souvislosti s rozvojem imformatiky), ¾e jde o velmi univerzální prostøedek, umo¾òující analyzovat jazykové výrazy nezbytné právì pro reprezentaci znalostí v mnoha na první pohled odli¹ných tématických oblastech. Navíc se tento prostøedek reprezentace ukázal jako výhodný pro studium odvoditelnosti (inference) mezi tvrzeními, co¾ je patrnì ten nejvýznamnìj¹í pøíspìvek predikátové logiky pro porozumìní výpoètovým problémùm soudobé informatiky. Jistý fragment predikátové logiky se rovnì¾ stal teoretickým základem jednoho z významných programovacích jazykù pro umìlou inteligenci - Prologu [?]. Proto¾e predikátová logika byla po témìø celé dvacáté století pova¾ována za minimum, které by ka¾dý matematik a informatik mìl ovládat, existuje relativní dostatek dobrých uèebnic na rozmanitých úrovních hloubky a detailnosti výkladu. Mù¾eme se zde tedy omezit na rekapitulaci základních pojmù a principù. Na rozdíl od elementárního pohledu dvouhodnotové výrokové logiky (která stojí v pozadí expertních systémù zalo¾ených na deklarativních pravidlech - viz dále), v teoriích prvního øádu zkoumáme samotnou vnitøní strukturu výrokù, a proto musíme zaèít speci kací jazyka. Jazyk PL obsahuje individuové promìnné, predikátové symboly,
4.2. PREDIKÁTOVÁ LOGIKA
popø. funkèní symboly a konstanty, kvanti kátory, logické spojky (známé nám ji¾ z výrokové logiky).
5
Pøedpokládáme, ¾e konkrétní jazyk v¾dy obsahuje alespoò jeden predikátový symbol (aby bylo o èem hovoøit), konstanty a funkèní symboly u¾ povinné nejsou nebo» neroz¹iøují podstatnì vyjadøovací sílu jazykù prvního øádu - jsou ov¹em dobrou pomùckou jak pro zlep¹ení srozumitelnosti, tak pro vytvoøení \technického" zázemí pro efektivní odvozování. Po speci kaci jazyka mù¾eme pøistoupit k obvyklému pojmu termu. Termy reprezentují v¹echna univerzální i speciální jména objektù o nich¾ mù¾e být pøi pou¾ití daného jazyka øeè - vytváøejí se z individuových promìnných, konstant a funkèních symbolù. Právì funkèní symboly slou¾í k vytváøení jmen slo¾itì strukturovaných objektù. Predikátové symboly a kvanti kátory pak slou¾í k vytváøení formulí, co¾ jsou právì ty jazykové výrazy, které reprezentují znalosti. Mezi nimi dùle¾itou roli zastávají sentence { formule, které mají tu vlastnost, ¾e jim lze pøiøadit pravdivostní hodnotu a de facto se chovají jako výroky. Podobnì jako ve výrokové logice lze vytvoøit syntaktický systém, který umo¾òuje analyzovat pojem dùkazu v teoriích prvního øádu. Znamená to pøidat k \axiomùm výrokové logiky" (teï u¾ vyjádøeným v jazyce predikátové logiky) axiomy speci kace a generalizace. Pojmy dùkazu a dokazatelnosti se pak nezmìní. Ze sémantického hlediska nejvýznamnìj¹í roli mají pojmy splnitelnost a interpretace èi modelu, co¾ je interpretace, která je pravdivá. V predikátové logice pak platí, ¾e co je dokazatelné je i pravdivé (korektnost) a co je pravdivé, je i dokazatelné (úplné). Z výpoètového hlediska je dùle¾ité, ¾e existuje rozumný fragment predikátové logiky, v nìm¾ je mo¾né logickou dokazatelnost automatizovat, tj. pøenechat stroji. K tomu je tøeba si uvìdomit, ¾e libovolnou formuli lze PL lze vyjádøit v tzv. klauzulární podobì [?]. Omezíme-li se na klauzule Hornovy (klauzule, které mají nejvý¹e jeden pozitivní literál) lze zaruèit, ¾e se v¾dy najde procedura, která o dokazatelnosti rozhodne. V obecném pøípadì tomu tak bohu¾el není. Pro potøeby znalostního in¾enýrství omezení na Hornovy klauzule v¹ak není pøíli¹ omezující, nebo» v takto omezeném formalismu lze vyjádøit vìt¹inu \rozumných" teorií. V¹echno je to zalo¾eno na Herbrandovì vìtì, která dokazatelnost formule (klauzule) ' v teorii T , tj otázku zda T ` ' pøevádí na nesplnitelnost teorie T [ f:'g. Metoda dokazování je obvykle zalo¾ena na Robinsonovì rezoluèním pravidle, které { zhruba øeèeno { øíká, ¾e z premis, z nich¾ jedna obsahuje pozitivní literál a druhá tentý¾ literál s negací je odvoditelná klauzule, která je disjunkcí \zbytkù" obou pùvodních klauzulí.
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
6
Pøedností schematu reprezentace znalostí v logice je pøedev¹ím jednoduchá metoda aktualizace znalostí Vlo¾it do báze znalostí novou polo¾ku neèiní (na rozdíl od tøeba sémantických sítí èi rámcù - viz dále) ¾ádné potí¾e. Znalostní in¾enýr se nemusí starat o souvislosti jednotlivých polo¾ek báze znalostí. Stejnì tak je tomu pøi ru¹ení znalostí, daná polo¾ka se prostì jen vyma¾e. Masivní atomizace znalostí v¹ak pøiná¹í i nevýhody. Není toti¾ patrné jak spolu jednotlivé formule souvisejí, které formule jsou relevantní pro dokazování èi odvozování, báze znalostí zalo¾ená jen na seznamu platných formulí je málo strukturovaná. K tomuto problému se je¹tì vrátíme v odstavci o inferenèním mechanismu.
4.3 Pravidla Pravidla pøedstavují nejpou¾ívanìj¹í prostøedek pro reprezentaci znalostí v expertních systémech. Pravidla jako¾to IF-THEN struktury jsou dobøe známy z programovacích jazykù, sémantika pravidel vychází z implikací ve výrokové logice (tab. ??). A 0 0 1 1
B A =) B 0 1 1 1 0 0 1 1
Tabulka 4.1: Pravdivostní hodnoty implikace Pravidla mohou být chápána dvojím zpùsobem; procedurálnì nebo deklarativnì: (1) (2)
jestli¾e situace pak akce jestli¾e pøedpoklad pak závìr
Pøijmeme-li první (procedurální) interpretaci, pak hovoøíme o produkèních pravidlech (pota¾mo systémemch); nastala-li pøíslu¹ná situace, systém provede danou akci. Tento zpùsob chápání pravidel je bì¾ný v generativních expertních systémech. Druhá interpretace odpovídá diagnostickým expertním systémùm; je-li splnìn pøíslu¹ný pøedpoklad, systém odvodí daný závìr. Druhá (deklarativní) interpretace je
4.3. PRAVIDLA
7
vlastnì speciálním pøípadem interpretace první, provádí se jediná standardní akce odvození závìru. Pøíkladem první interpretace je pravidlo z generativního systému R1/Xcon (obr. ??), pøíkladem druhé interpretace je pravidlo z diagnostického systému Mycin (obr. ??). Nìkdy mù¾e mít pravidlo jak závìr, který se odvozuje, tak akce, které se vykonají v pøípadì, ¾e jsou splnìny pøedpoklady pravidla. Pøíkladem systému, který toto umo¾òuje, mù¾e být vývojové prostøedí Nexpert Object; ukázka pravidla z báze PRINC je uvedena na obrázku ?? (závìr pravidla je zde oznaèen jako hypotéza). 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 devices 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
Obr. 4.3: Pravidlo v systému R1/XCON
IF The The The The The
site of the culture is blood, and identity of the organism is not known with certainty, and stain of the organism is gramneg, and morfology of the organism is rod, and patient has been seriously burned
THEN There is a weakly suggestive evidence (.4) that the identity of the organism is pseudomonas
Obr. 4.4: Pravidlo v systému MYCIN
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
8
(@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") (@KEEP=FALSE;@WAIT=TRUE;)) ) )
Obr. 4.5: Pravidlo v systému Nexpert Object IF-THEN struktura mù¾e být samozøejmì roz¹íøena do podoby IF-THEN-ELSE; tak je tomu napø. u prázdného expertního systému Exsys. Toto roz¹íøení slou¾í pøedev¹ím pro zvý¹ení pohodlí u¾ivatele pøi tvorbì báze. Je snadno vidìt, ¾e pravidlo IF a
THEN b
ELSE c
lze (bez ztráty kytièky) zapsat jako dvì pravidla IF a IF NOT a
THEN b THEN c.
Na¹e pozornost bude zamìøena pøedev¹ím na \diagnostická" pravidla. V pøedpokladu takových pravidel je obvykle kombinace (typicky konjunkce)1 nìjakých tvrzení, závìr pak bývá (jedno) tvrzení, které se odvodí, pokud jsou tvrzení v pøedpokladu splnìna (tak to alespoò myslel expert). Tvrzení (a» u¾ v pøedpokladu nebo v závìru) mù¾e mít podobu:
výroku
napø. auto má èervenou barvu takovouto podobu mají tvrzení napø. v expertním systému Sak
dvojce atribut, hodnota
napø. barva auta = èervená takovouto podobu mají tvrzení napø. v expertním systému M4
Zamý¹lenou disjunkci v pøedpokladu napø. IF pravidel IF a THEN c a IF b THEN c. 1
a OR b THEN c mù¾eme vyjádøit pomocí dvou
4.3. PRAVIDLA
9
trojce objekt, atribut, hodnota
napø. auto: barva = èervená takovouto podobu mají tvrzení napø. v expertním systému Nexpert Object
Pravidla v bázi znalostí je mo¾no znázornit v podobì AND/OR grafu. Zde uzly grafu pøedstavují výroky a orientované hrany pøedstavují pravidla. Vazba mezi výroky v pøedpokladu pravidla se znázoròuje oblouèkem. Tedy sadì pravidel
! ! ! !
A D -A B & C
D E F F
odpovídá AND/OR graf uvedený na obázku ??. E
F
DD D D D D D D D D
D A
B
C
Obr. 4.6: AND/OR graf Výroky v bázi znalostí lze rozdìlit do tøí skupin: cíle jsou výroky které nejsou v pøedpokladu ¾ádného pravidla, (tedy koøeny v AND-OR grafu), dotazy jsou výroky, které nejsou v závìru ¾ádného pravidla (tedy listy v AND-OR grafu) a mezilehlé výroky, které jsou jak v pøedpokladech, tak v závìrech pravidel. Mezilehlé výroky zpùsobují zøetìzení pravidel (závìr jednoho pravidla je v pøedpokladu pravidla jiného), báze znalostí tedy mù¾e mít bohat¹í strukturu ne¾ jen vazby pøímo mezi dotazy a cíli. Báze znalostí ale nesmí obsahovat cykly (nesmí existovat sekvence pravidel A1 ! A2, A2 ! A3, An 1 ! An, ... ,An ! A1).
10
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
Obr. 4.7: Medvídek
4.4 Sémantické sítì
Sémantické sítì byly navr¾eny v druhé pol. 60.let v rámci prací na porozumìní pøirozenému jazyku jako model asociativní pamìti èlovìka (Quilian). 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. Relace v sémantických sítích pøedstavují základní prostøedek pro vyjadøování znalostí. Osvìdèilo se pou¾ívat nìkteré typické relace; jsou to IS-A (ISA), A-KIND-OF (AKO) a PART-OF. IS-A (is an instance of) umo¾òuje vyjádøit, ¾e nìjaký konkretní objekt (instance) patøí do urèité tøídy objektù. Relace A-KIND-OF umo¾òuje vyjadøovat hierarchii tøíd, PART-OF umo¾ní vyjádøit, ¾e objekt (tøída objektù) je tvoøen èástmi (napø. motor a kola jsou èástí auta). Pøíkladem mù¾e být obrázek 4.1 zachycující pøíklady a protipøíklady konceptu \brána" a pøislu¹nou sémantickou sí», která odpovídá tomuto konceptu. Tento pøíklad byl pøevzat z [?]. Jiný pøíklad sémantické sítì je uveden na obrázku 4.1.
4.5 Rámce Rámce byly navr¾eny v pol.60. let Marvinem Minskym jako prostøedek pro reprezentaci znalostí. Rámce v pùvodní pøedstavì mìly umo¾òovat reprezentovat stereotypní situace. Práce s rámci mìla být zalo¾ena na postupném vyplòování stránek, do kterých se zapisují hodnoty polo¾ek (vlastnosti). Pøitom se hojnì vyu¾ívá pøedde novaných hodnot.
4.5. RÁMCE
11
Rámce dobøe umo¾òují vyjádøit statické znalosti, tedy nìjakou hierarchii pojmù (za pou¾ití polo¾ek ako) nebo dekompozici (za pou¾ití polo¾ek part-of). Vazba mezi rámci se dá (podobnì jako u sémantických sítí) znázornit grafem. Pøíklad hierarchie rámcù je na obrázku ??. Na rozdíl od semantických sítí mají uzly v grafu (rámce) vnitøní strukturu.
Auto
ako: Vozidlo pohon: motor ...
Osobní auto
Nákladní auto
ako: Auto pohon: motor úèel: pøeprava osob ...
ako: Auto pohon: motor úèel: pøeprava nákladu ...
Ford
ako: Osobní auto pohon: motor úèel: pøeprava osob výrobce: Ford ... Obr. 4.8: Rámce Rámce bývají obvykle doplnìny o pravidla, která umo¾òují odvozovat v bázi znalostí. V souèasné dobì rámce pronikly do programovacích jazykù. Zde se pro nì pou¾ívá název objekty; pøíslu¹ný styl programování vyu¾ívající objekty se pak nazývá objektovì orientované programování. Základní charakteristiky OOP jsou zapouzdøení (encapsulation): spojení de nice datových struktur (vlastností objektu) s procedurami (metodami), které je pou¾ívají, do jednoho datového typu, tzv objektu
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
12
napø: type kruh = objekt(Bod) Polomìr: Integer procedure Init(InitX, InitY, InitPolomìr) procedure Zobraz procedure Skryj end
dìdiènost (inheritance): mo¾nost vytváøet hierarchickou strukturu objektù, kdy objekty na ni¾¹í úrovni (dìti) dìdí de nice datových typù i metod od objektù na vy¹¹í úrovni (rodièe) napø:
Poloha = objekt X, Y: Integer | | Bod = objekt(Poloha) Viditelný: Boolean procedure Zobraz procedure Skryj | |---------------------|--------------------------| Ètverec = objekt(Bod) Kruh = objekt(Bod) Trojúhelník = objekt(Bod) . . . Polomìr: Integer . . . procedure Zobraz procedure Skryj
polymor smus: metoda, která se pod tým¾ jménem dìdí v hierarchii objektù, mù¾e mít na ka¾dé úrovni hierarchie jinou podobu, napø:
Bod.Zobraz Ètverec.Zobraz Kruh.Zobraz Trojúhelník.Zobraz
V pøípadì pou¾ití rámcù pro reprezentaci znalostí má nejvìt¹í význam dìdiènost (lze dìdit polo¾ky i jejich hodnoty; obvyklé je dìdìní shora dolù) a zapouzdøení (souèástí rámce jsou kromì datových struktur i procedury pro práci s nimi). Mezi (komerènì dostupné) systémy vyu¾ívající rámce (objekty) patøí napø. Nexpert Object
4.5. RÁMCE
13
nebo PC-Kappa pro osobní poèítaèe nebo CLOS (Common Lisp Object System), který se stal \standardem" pro pou¾ívání rámcù na pracovních stanicích. Rámce v systému Nexpert Object umo¾òují pou¾ívat (násobné) dìdìní polo¾ek i jejich hodnot. Slovem objekt se zde oznaèuje jak vìt¹í skupina (tøída), tak i prvek z této skupiny (instance). Tøídy umo¾òují vytváøet hierarchie pojmù, lze rovnì¾ pracovat se subobjekty, které jsou èástí jiných objektù (napø. procesor je èástí poèítaèe). Vlastnosti (properties) slou¾í k popisu objektù, hodnoty vlastností jsou uchovávány v polo¾kách (slots). Objekty mají kromì \bì¾ných" polo¾ek také metapolo¾ky umo¾òující popisovat vlastnosti (chování) polo¾ek. Pøíkladem je metapolo¾ka if-change urèující co se má stát, zmìní-li se hodnota pøíslu¹né polo¾ky, nebo metapolo¾ka order-of-sources urèující, jakým zpùsobem se má získat nová hodnota polo¾ky (mo¾nosti jsou inference, dìdìní, dotaz u¾ivateli, inicializace na zaèátku konzultace, externí procedura). Tyto metapolo¾ky umo¾òují de novat procedury, které se mají provést. If-change metapolo¾kám se øíká démony. Nexpert umo¾òuje pou¾ívat tøi základní typy dìdìní: (1) dìdìní vlastností, (2) dìdìní hodnot a (3) dìdìní metapolo¾ek. Pøíklad hierarchie objektù (pro bázi PRINC) je uveden na obrázku ??. (@CLASS= people (@SUBCLASSES= adept parents)) (@CLASS= adept (@PROPERTIES= parents_status size_of_feet status)) (@CLASS= parents (@PROPERTIES= blue_blood property))
Obr. 4.9: Objekty v bázi PRINC Mo¾nost násobného dìdìní hodnot polo¾ek mù¾e vést k inkonsistencím. Ve známém pøíkladu \Nixonova kosoètverce" (obr. ??) nelze dìdìním jednoznaènì zjis-
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
14
tit, jestli Nixon je nebo není paci sta. Nìkteré systémy v takovém pøípadì ¾ádnou hodnotu nepøiøadí, jiné uva¾ují obì mo¾nosti, dal¹í vy¾adují speciální znalosti pro vyøe¹ení tohoto rozporu. paci sta
@ I @ @ @
republikán
kvaker
@ I @ @
@
republikán kvaker
Obr. 4.10: Nixonùv kosoètverec
4.6 Pomocné prostøedky reprezentace znalostí Kromì vý¹e popsaných prostøedkù pro reprezentaci znalostí mù¾eme u øady systémù nalezt i dal¹í (pomocné) mo¾nosti jak zachytit vazby mezi prvky báze znalostí. Uveïme napøíklad
kontexty, implikace, integritní omezení. Kontexty (kontextové vazby) popisují situace, kdy to, zda se bude vyhodnocovat nìjaké tvrzení závisí na tom, ¾e jiné tvrzení ji¾ bylo vyhodnoceno. Èasto citovaným pøíkladem kontextové vazby je, ¾e u pacienta má smysl zji¹»ovat graviditu pouze v pøípadì, ¾e ji¾ víme, ¾e pacient je ¾ena. Kontextovì mohou být vázány výroky (napø. systém Fel-expert), pravidla (napø. systém Sak) nebo èásti báze znalostí (napø. systém Nexpert Object). Kontexty samy o sobì nemají vliv na výsledek konzultace,
4.6. POMOCNÉ PROSTØEDKY REPREZENTACE ZNALOSTÍ
15
jen øídí její prùbìh. Navenek se pou¾ití kontextù jeví jako \inteligentnìj¹í" zpùsob kladení dotazù systémem v prùbìhu konzultace. Implikace (pou¾ité napø. v systému Vex [?]) umo¾òují vyjádøit vazby ekvivalence nebo inkluze mezi tvrzeními v bázi 2. Implikace tak doplòují pravidla o dal¹í výrazové prostøedky. Ekvivalence A ==> B, B ==> A vyjádøená pomocí pravidel by znamenala cyklus, který je v bázi znalostí nepøípustný. Implikace rovnì¾ umo¾òují vyjádøit vazby mezi cíly (pacient má chøipku ==> not(pacient je zdravý)), co¾ pomocí pravidel rovnì¾ nelze 3. Implikace (tak jak byly pou¾ity v systému Vex) vyjadøují logické vazby mezi tvrzeními, které mají platit bez ohledu na konzultaci pro daný pøípad. Po skonèení inference v síti pravidel byly tedy implikace pou¾ity ke korekci odvozených vah. Integritní omezení podobnì jako implikace vyjadøují vazby mezi tvrzeními. Na rozdíl od implikací se nepodílí na odvozování, slou¾í jen jako jakási \kontrola", ¾e doporuèený závìr vyhovuje dal¹ím po¾adavkùm. Studie provedená na nìkterých èeských expertních systémech ukazuje, ¾e pomocné prostøedky nemají vliv na výsledek konzultace, ovlivòují ale prùbìh konzultace tím, ¾e \oøezávají" prohledávaný prostor [?]. U¾ivateli se toto jeví jako zmen¹ení poètu polo¾ených dotazù. A expert 13 pravidla, kontexty 32 pravidla, kontexty 36 pravidla, kontexty, implikace 36 pravidla 48
konzultace B C D 22 22 22 33 35 38 29 36 37 23 33 35 48 48 48
E 18 33 33 33 48
Tabulka 4.2: Poèty dotazù dle prostøedkù pro reprezentaci znalostí Ve zmiòované studii byla stejná báze znalostí implementována v rùzných expertních systémech vyu¾ívajících pravidla pro reprezentaci znalostí a pracujících komposicionálním zpùsobem s neurèitostí. Nìkteré z tìchto systémù nabízely i pomocné prostøedky (kontexty, implikace). Provedené konzultace ukázaly, ¾e systémy, Nìco z toho, napø. inkluzi lze vyjádøit i rámci. Pøedpokládáme, ¾e cíle jsou (z de nice) ta tvrzení, která nejsou v pøedpokladu ¾ádného pravidla. 2 3
KAPITOLA 4. REPREZENTACE ZNALOSTÍ
16
které pracovaly pouze s pravidly, polo¾ily v prùbìhu konzultace v¹echny dotazy (v bázi znalostí bylo celkem 48 dotazù), systémy vyu¾ívající dal¹í prostøedky pro reprezentaci znalostí polo¾ily podstatnì ménì dotazù (i kdy¾ jich bylo v¾dy více, ne¾ kolik jich polo¾il expert (viz tab.??) 4).
4.7 Porovnání prostøedkù reprezentace znalostí Pravidla jsou nejpou¾ívanìj¹í prostøedek pro reprezentaci znalostí. Jejich výhodou je jednoduchost a srozumitelnost (expert se èasto vyjadøuje zpùsobem, který lze pøímo kódovat jako pravidla) a modularita (snadno se aktualizuje báze znalostí). Nevýhodou je, ¾e v bázi tvoøené (nestrukturovaným) souborem pravidel jsou èasto implicitnì skryty strategické znalosti o zpùsobu øe¹ení úlohy (napø. v Saku poøadí pravidel v bázi urèuje zpùsob vedení konzultace). Pravidla rovnì¾ neumo¾òují vyjadøovat strukturální znalosti v dané aplikaèní oblasti; typickým pøíkladem takovýchto znalostí jsou taxonomie. Rámce byly navr¾eny pro reprezentování stereotypních znalostí, pøedstavují napø. vhodný prostøedek pro zachycení inherentní struktury nìjakých konceptù. Jsou rovnì¾ vhodné pro aplikace, kde se provádí porovnávání (pattern-matching) mezi daty a hypotézami. Rámce mají ale i své nevýhody. Vzhledem k provázanosti rámcù mù¾e pøítomnost nebo nepøítomnost jiných rámcù ovlivnit polo¾ky v daném rámci (znalosti reprezentované pomocí rámcù jsou tedy mémì modulární). Jiným problémem je, ¾e systémy pou¾ívající rámce obvykle neumo¾òují rozli¹it mezi \základními" vlastnostmi (hodnotami polo¾ek), které musí mít ka¾dá instance daného rámce a vlastnostmi \doplòkovými" vlastnostmi, které pøíslu¹né instance mohou, ale nemusí mít. To, ¾e hodnota polo¾ky mù¾e být zmìnìna kdekoliv v hierarchii rámcù znamená, ¾e nelze zaruèit, ¾e nìkteré vlastnosti jsou spoleèné [?]. Souèasné nástroje pro tvorbu aplikací mohou nabízet více ne¾ jen jeden prostøedek pro reprezentaci znalostí. Pak hovoøíme o hybridních schématech reprezentazce. Nejèastìji se kombinují pravidla a rámce (objekty). Vhodný prostøedek pro reprezentaci znalostí souvisí i s typem a slo¾itostí aplikace. Harmon [?] uvádí následující tabulku (Tab. ??), ze které je patrné, ¾e pro slo¾itìj¹í aplikace je zapotøebí pou¾ít i slo¾itìj¹í nástroje (s bohatìj¹ími výrazovými prostøedky). Nejen, ¾e systémy kladly v¾dy více dotazù ne¾ expert, vydaly rovnì¾ i více doporuèení (závìrù s kladnou vahou) ne¾ expert. Závìr ze studie tedy byl, ¾e expert se ve srovnání s expertním systémem snáze zamìøí na to podstatné a zú¾í svoji pozornost na men¹í poèet mo¾ných závìrù. 4
4.7. POROVNÁNÍ PROSTØEDKÙ REPREZENTACE ZNALOSTÍ
typ úlohy reprezentace znalostí nástroje diagnostika pravidla malé monitorování pravidla malé/støední design pravidla/hybridní støední/velké plánování hybridní velké Tabulka 4.3: Vhodná reprezentace znalostí pro rùzné aplikace
17