obsah modulu znalostní inženýrství - eLearning OPF SU

Transkript

obsah modulu znalostní inženýrství - eLearning OPF SU
Slezská univerzita v Opavě
Obchodně podnikatelská fakulta v Karviné
Znalostní inženýrství
Jiří Ivánek, Robert Kempný, Vladimír Laš
Karviná 2007
2
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
3
OBSAH MODULU ZNALOSTNÍ INŽENÝRSTVÍ
1 ZNALOSTNÍ INŽENÝRSTVÍ A STRUKTURA EXPERTNÍCH SYSTÉMŮ ...........................11
1.1 Vznik znalostního inženýrství ....................................................................................................12
1.2 Pojem expertní systém ................................................................................................................15
1.3 Základní principy znalostního inženýrství ...............................................................................17
1.4 Typy aplikací expertních systémů .............................................................................................19
1.4.1 Příklady diagnostických expertních systémů .........................................................................20
1.5 Struktura expertního systému ...................................................................................................23
1.6 Znalosti.........................................................................................................................................25
1.7 Reprezentace znalostí .................................................................................................................26
1.8 Infereční mechanismus ...............................................................................................................29
1.9 Neurčitost.....................................................................................................................................30
2 PROSTŘEDÍ NEST...........................................................................................................................33
2.1 Historie NESTu ...........................................................................................................................34
2.1.1 SAK ........................................................................................................................................34
2.1.2 Vývoj NESTu .........................................................................................................................35
2.2 NEST ............................................................................................................................................35
2.2.1 Popis instalačního balíku a vlastní instalace...........................................................................35
2.2.2 Nastavení ................................................................................................................................38
2.2.3 NEST – základní možnosti a spuštění konzultace..................................................................40
2.2.4 Možnosti okna Dotaz a průběh konzultace.............................................................................43
2.2.5 Ukládání odpovědí..................................................................................................................46
2.2.6 Výsledky konzultace...............................................................................................................47
3 STRUKTURA BÁZE ZNALOSTÍ A INFERENČNÍ MECHANIZMUS V NEST .....................51
3.1 NEST editor .................................................................................................................................52
3.1.1 Zadávání nových prvků báze znalostí ....................................................................................54
3.2 Reprezentace znalostí .................................................................................................................57
3.2.1 Atributy a výroky....................................................................................................................57
3.2.2 Pravidla ...................................................................................................................................61
3.2.3 Kontexty .................................................................................................................................63
3.2.4 Integritní omezení...................................................................................................................63
3.3 Inferenční mechanismus.............................................................................................................63
3.3.1 Odvozování v síti pravidel......................................................................................................63
4 NEURČITOST V NEST....................................................................................................................67
4.1 Práce s neurčitostí .......................................................................................................................68
4.2 Funkce pro práci s neurčitostí ...................................................................................................68
4.2.1 Funkce NEG ...........................................................................................................................68
4.2.2 Funkce CONJ .........................................................................................................................68
4.2.3 Funkce DISJ ...........................................................................................................................69
4.2.4 Funkce CTR............................................................................................................................69
4.2.5 Funkce GLOB.........................................................................................................................69
4.2.6 Funkce NORM .......................................................................................................................70
4.2.7 Funkce IMP ............................................................................................................................70
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
4
4.3 Příklad výpočtu ...........................................................................................................................71
4.4 Srovnání přístupů práce s neurčitostí v NEST.........................................................................73
5 APLIKACE V NEST .........................................................................................................................76
5.1 Výběr problému a grafická reprezentace .................................................................................77
5.2 Založení nové báze ......................................................................................................................82
5.2.1 Volby báze znalostí ................................................................................................................83
5.3 Konstrukce báze znalostí............................................................................................................85
5.3.1 Zadávání atributů a jejich výroků ...........................................................................................85
5.3.2 Tvorba pravidel.......................................................................................................................88
5.4 Odlaďování báze .........................................................................................................................90
5.5 Tvorba dokumentace ..................................................................................................................92
6 BÁZE ZNALOSTÍ OPTCS...............................................................................................................94
6.1 OPTCS – výroky .........................................................................................................................97
6.2 OPTCS – kontexty ......................................................................................................................99
6.3 OPTCS – pravidla.......................................................................................................................99
7 VYUŽITÍ ZÍSKÁVÁNÍ ZNALOSTÍ Z DAT – PŘÍPADOVÁ STUDIECHYBA! ZÁLOŽKA NENÍ DEFIN
7.1 Projekt STULONG ...................................................................................................................104
7.1.1 O projektu STULONG .........................................................................................................109
7.1.2 NEST v projektu STULONG ...............................................................................................111
8 SPECIFIKACE ZADÁNÍ SEMINÁRNÍ PRÁCE ........................................................................114
8.1 Báze znalostí ..............................................................................................................................114
8.2 Ostatní náležitosti......................................................................................................................115
8.3 Obhajoba....................................................................................................................................115
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
5
RYCHLÝ NÁHLED DO PROBLEMATIKY MODULU ZNALOSTNÍ INŽENÝRSTVÍ
Kapitolu 1 Znalostní inženýrství a struktura expertních systémů započneme krátkým
historickým exkurzem a uvedením milníků spjatých se zrodem a vývojem znalostního
inženýrství. Dále definujeme expertní systémy a uvedeme jejich nejdůležitější vlastnosti
a principy, které je odlišují od klasických informačních systémů. Objasníme si, které
typy úloh je vhodné řešit nasazením expertního systému. Vysvětlíme si pojem inference,
inferenční mechanizmus a s tím spjatou práci se znalostmi, které, jak si ukážeme, můžeme reprezentovat pomocí produkčních pravidel. Ukážeme si také, jak tato pravidla
graficky znázornit. A na konci kapitoly si objasníme pojem neurčitosti, jenž je se znalostmi a expertními systémy fundamentálně spjatý.
První část kapitoly 2 Prostředí NEST je věnována krátkému nástinu vývoje programu
NEST, kterou začínáme zmínkou o jeho předchůdci - systému SAK.
1. kapitola
2. kapitola
Druhá část obsahující velké množství ilustračních a instruktážních obrázků je zaměřena
k získání základních praktických dovedností spojených s instalací balíku NEST a ovládání programu NEST.
Dozvíte se o nastaveních programu NEST, možnostech výstupu během konzultace i po
jejím dokončení. Ukážeme si jak číst výsledky konzultací a naučíme se je exportovat do
různých typů souborů.
V prvé části kapitoly 3 Struktura báze znalostí a inferenční mechanizmus v NEST si
nejprve v krátkosti představíme nabídky, jimiž ovládáme NEST editor.
3. kapitola
V druhé části se budeme zabývat jednotlivými atributy báze znalostí. Vysvětlíme pojmy
atribut a výrok. Specifikujeme jednotlivé typy atributů a rozdělíme si výroky dle jejich
postavení v rámci báze znalostí. Ukážeme si jaký je formální zápis pravidla v NEST a
představíme si typy pravidel.
V poslední části kapitoly se dozvíte o způsobu odvozování a prohledávání báze znalostí
inferenčním mechanizmem v systému NEST.
Kapitola 4 Neurčitost v NEST je dělena na dvě logické části. V první budou představeny
funkce pro zpracování neurčitosti standardním přístupem systému NEST. Ve druhé části
si pak na praktickém příkladu ukážeme výpočet neurčitosti. A konečně si ukážeme jak
postupovat při vlastní konzultaci, chceme-li, aby NEST zpracovával neurčitost jiným
než standardním způsobem.
4. kapitola
Kapitola 5 Aplikace v NEST bude ryze praktická. Pokusíme si nastínit, jak vybrat vhodné téma (např. pro seminární práci), kterak postupovat při samotném uchopení problému
a zorientování se, nalezení atributů, započetí vlastní práce v NEST editoru a tvorby pravidel, dále možnostem při ladění báze znalostí a možností výstupu použitelných pro dokumentační účely.
5. kapitola
Kapitola bude tedy zaměřena na získání ryze praktických znalostí a dovedností za pomocí názorných ukázek.
Kapitola 6 Báze znalostí OPTCS. Báze znalostí OPTCS je novější verzí báze znalostí
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
6. kapitola
6
OPTIMALI pro výběr vhodné matematické metody rozhodování, která byla původně
vytvořena v roce 1983 a realizována v konzultačním systému SAK. Popíšeme stručně
vznik a strukturu této báze znalostí, která bude dokumentována jejím výpisem ze systému NEST.
Kapitola 7 Expertní systémy a získávání znalostí z dat. Získávání znalostí z dat neboli
datamining (často také dobývání či dolování znalostí z databází) je poměrně nová disciplína, která by si jistě zasloužila minimálně vlastní samostatný kurz. Náš kurz se zabývá
především znalostním inženýrstvím a problematika získávání znalostí sice s tématem
úzce souvisí, nicméně přeci jen překračuje užší rámec kurzu.
7. kapitola
Závěrečná kapitola jak již její název Specifikace zadání seminární práce napovídá se
bude zabývat specifikací zadání, podmínek vypracování a podmínek obhajoby seminární
práce. Studenti dostanou informace o požadovaných parametrech báze znalostí, dokumentace a dalších přikládaných souborů i způsobu a časovém vymezení odevzdání a
dále informace vztahující se k obhajobě práce a zakončení kurzu.
8. kapitola
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
7
ÚVODEM MODULU ZNALOSTNÍ INŽENÝRSTVÍ
Autoři opory Znalostní inženýrství, která by se měla stát základním studijním materiálem především pro navazující magisterské studium na Obchodně podnikatelské fakultě
v Karviné Slezské univerzity v Opavě a také základním stavebním kamenem pro vytvoření elektronického stejnojmenného kurzu pro studenty kombinovaného studia formou
elearningu, stáli před fundamentální otázkou, jak přistoupit k vlastnímu obsahu opory.
Rozhodli se jít cestou, která byla ovlivněna právě určením opory pro „elearningové“
studenty ekonomické fakulty, tedy studentům, kteří jsou typem studia odkázáni na
samostudium a oborovým zaměřením orientováni na jiné oblasti než informační technologie. Proto se autoři nezabývají dlouze a hluboce, za jiných okolností zcela jistě neopominutelnou, teorií a historií oboru. Teorie je předkládána takříkajíc v kostce a v míře
nezbytně nutné tak, aby pokryla témata vymezená akreditací předmětu, s akcentem na
vysvětlení jednoho postupu či metody detailněji než uváděním alternativ plytčeji.
Autoři jsou také přesvědčeni, že praktickým seznámením studentů se systémem, v němž
lze vytvářet produkty znalostního inženýrství (v našem případě prázdný znalostní systém
NEST), v němž budou samostatně vytvářet vlastní semestrální projekt, jenž budou před
kolegiem svých kolegů veřejně demonstrovat a obhajovat, lze dosáhnout dostatečné seznámení se s disciplínou samotnou i napomoci vysvětlit a pochopit některé z principů,
přístupů a metod znalostního inženýrství. Navíc tato praktická zkušenost jistě zanechá
trvalejší poznatek o možnostech využití a ohodnocení pracnosti zpracovávaných projektů i pro budoucí praxi studentů.
Z výše uváděných důvodů se opora zdá býti někdy až detailně návodná (což vyplývá z
několikaleté zkušenosti autorů se softwarovými školeními a zhodnocením praktických
počítačových zkušeností a dovedností studentů násobené ještě objektivními specifiky
elearningového studia). V opoře samotné je na každém místě, kde to bylo možné nebo
vhodné, vždy vysvětlovaný problém ilustrován na popisu jeho řešení v NEST či NEST
editor, který je mnohdy rozšířen i o ukázky (screen shoty) z těchto programů. Dále se
autoři snažili text strukturovat a využívat nástroje distančního textu tak, aby studenta
upozornili na důležité momenty studia i práce při tvorbě báze znalostí ať již prostým
zvýrazňováním textu, uváděním marginálií na okraji opory a především používáním
shrnutí
, průvodců studiem
, oddílů pro zapamatování
atd.
Jak již bylo naznačeno, teorie v opoře sice nechybí, ale je uváděna a vysvětlována stroze
ovšem s bohatým odkazováním na další studijní zdroje především nacházejících se volně
přístupné zdroje internetu (WIKIPEDIA), tyto odkazy jsou v elektronickém textu vypsány modrým fontem s podtržením (viz odkaz v aktuálním odstavci) a po kliknutí myší (v
případě PDF) nebo po kliknutí myší a současném stisku klávesy CRTL (MS-word) se
daný odkaz otevře automaticky v okně internetového prohlížeče.
V opoře jsou také uváděny korespondenční úkoly
, které by měly být zakomponovány následně do vlastního elektronického kurzu. Předpokládá se, že poslouží studentům
k postupnému zvládnutí vypracování semestrální práce a kantorovi v získání přehledu
nad procesem tvorby báze a porozumění textu studentem a možnosti usměrnění jeho
aktivit tak, aby student bez zbytečných komplikací byl schopen práci samostatně vypra-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
8
covat. Nepředpokládá se tedy známkování či bodování těchto dílčích úkolů, ale spíše je
očekáván případný dialog studenta s tutorem (kantorem) nad odevzdaným řešením (pokud toto řešení nebude vyhovovat požadavkům) a následné odsouhlasení.
Na tomto místě je potřeba poděkovat autorům programu NEST, že umožnili využívat
jejich systém k studijním a demonstrativním účelům studenty naší fakulty.
Nyní již nezbývá popřát klidné a nerušené studium.
Kolektiv autorů.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
9
CÍL MODULU ZNALOSTNÍ INŽENÝRSTVÍ
Po úspěšném a aktivním absolvování tohoto MODULU
Budete umět:
Budete
umět
• Objasnit základní pojmy oboru znalostního inženýrství.
• Disciplínu znalostní inženýrství zařadit a uvést příbuzné disciplíny.
• Provádět konzultace v systému NEST a interpretovat výsledky a vysvětlit mechanizmus fungování programu.
• Postupovat při vlastním výběru tématu a jeho analýze tak, aby jste mohli pracovat
na vlastním projektu.
• Vytvořit vlastní projekt v systému NEST, tedy založit novu bázi znalostí, zadat atributy, výroky, formálně zapsat pravidla a bázi odladit.
• Využívat možností systému NEST pro tvorbu dokumentace k projektu, případně pro
dokumentaci či obhajobu způsobu řešení vlastního projektu.
Získáte:
Získáte
• Informace o zrodu a vývoji znalostního inženýrství.
• Představu o struktuře expertního systému a báze znalostí a její částech.
• Přehled o vývoji systému NEST.
• Potřebné informace o práci s neurčitostí, přístupech při zpracování neurčitosti a
funkcích, které s neurčitostí pracují.
• Praktické zkušenosti s ovládáním systémů NEST a NEST editor, mimo jiné v rámci
vypracovávání semestrální práce.
• Informace o fungujícím projektu STULONG realizovaném pomocí systému NEST.
• Seznam požadovaných podmínek a parametrů na vypracování a obhájení semestrální práce.
Budete schopni:
• Objasnit odlišnosti přístupu znalostního inženýrství a klasických informačních systémů k zpracování projektů.
• Vysvětlit princip práce inferenčního mechanizmu a vysvětlit jakým způsobem systém NEST vypočítává výsledné hodnoty vah.
• Účastnit se praktických projektů aplikace znalostního inženýrství.
• Popsat účel, cíle a strukturu báze znalostí OPTCS.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Budete
schopni
10
ČAS POTŘEBNÝ KE STUDIU
Čas potřebný k prostudování předkládané opory odhadujeme na cca 17 hodin. Tento
odhad může být samozřejmě značně ovlivněn především vaší individuální pečlivostí a
potřebou dalšího studování rozšiřujících odkazů a ostatní literatury, ale především činností spojenou s praktickým zkoušením si uváděných postupů a seznamováním se
s programu systému NEST.
PRŮVODCE STUDIEM 1
Na úvodních stránkách jste se dozvěděli, čím se předkládaná opora bude zhruba zabývat.
Znáte vytyčené cíle, jichž by mělo být dosaženo, a znáte hrubý časový rámec pro prostudování, proto nyní již přistupme k vlastnímu výkalu nejprve seznámením se s historií
disciplíny znalostní inženýrství a objasněním základních pojmů, s nimiž se můžete setkat.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
11
1 ZNALOSTNÍ INŽENÝRSTVÍ A STRUKTURA EXPERTNÍCH
SYSTÉMŮ
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY ZNALOSTNÍ INŽENÝRSTVÍ A
STRUKTURA EXPERTNÍCH SYSTÉMŮ
Kapitolu započneme krátkým historickým exkurzem a uvedením milníků spjatých se
zrodem a vývojem znalostního inženýrství. Dále definujeme expertní systémy a uvedeme jejich nejdůležitější vlastnosti a principy, které je odlišují od klasických informačních systémů. Objasníme si které typy úloh je vhodné řešit nasazením expertního systému. Vysvětlíme si pojem inference, inferenční mechanizmus a s tím spjatou práci se
znalostmi, které, jak si ukážeme, můžeme reprezentovat pomocí produkčních pravidel.
Ukážeme si také jak tato pravidla graficky znázornit. A na konci kapitoly si objasníme
pojem neurčitosti, jenž je se znalostmi a expertními systémy fundamentálně spjatý.
Rychlý
náhled
CÍLE KAPITOLY ZNALOSTNÍ INŽENÝRSTVÍ A STRUKTURA EXPERTNÍCH SYSTÉMŮ
Po úspěšném a aktivním absolvování této KAPITOLY
Budete umět:
Budete
umět
• Objasnit pojem znalostní inženýrství.
• Definovat expertní systém a uvést jeho charakteristické rysy.
• Posoudit zda-li je předkládaný problém možný nebo vhodný k řešení pomocí expertního systému.
• Reprezentovat znalosti pomocí výrokové logiky a tyto graficky znázornit.
• Vysvětlit pojem neurčitost.
Získáte:
Získáte
• Nejzákladnější informace o zrodu a vývoji znalostního inženýrství.
• Přehled o metodách inference.
• Představu o struktuře expertního systému
Budete schopni:
• Vysvětlit principy znalostního inženýrství, jimiž se liší od klasických informačních
systémů.
• Vyjmenovat a vysvětlit charakteristické rysy expertních systémů.
• Odlišit pojmy data, informace a znalosti.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Budete
schopni
12
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování KAPITOLY je cca 120 minut.
KLÍČOVÁ SLOVA KAPITOLY ZNALOSTNÍ INŽENÝRSTVÍ A STRUKTURA
EXPERTNÍCH SYSTÉMŮ
Znalostní inženýrství, umělá inteligence (artificial inteligence, AI); expertní systém,
znalostní inženýr, inferenční mechanizmus, báze znalostí, reprezentace znalostí, charakteristické rysy expertních systémů, typy aplikací, diagnostické a generativní ES, MYCIN, PROSPECTOR, FinCEN, data, informace, znalost, modularita znalostí, produkční
pravidla, grafické znázornění pravidel, metody inference, typy prohledávání báze znalostí, neurčitost v datech a znalostech.
Klíčová
slova
DEFINICE 1-1 ZNALOSTNÍ INŽENÝRSTÍ
Výstižně definuje znalostní inženýrství A.G.Baker (1985), jako metodologii umožňující, aby znalosti byly dány do vhodné použitelné formy. Poznamenává v té souvislosti,
že pro informaci jsou synonymy evidence, poznámky, detaily, výsledky, tabulky, kdežto
pro znalost jsou to poznání, učení, erudice, zkušenost.
Znalostní
inženýrství
Znalostní inženýrství je aplikovaná disciplína oboru umělá inteligence, která se zabývá
získáváním, zpracováním, reprezentací a automatizovaným využíváním znalostí.
1.1 Vznik znalostního inženýrství
Konstituování znalostního inženýrství a rozvoj jeho aplikací bylo vyústěním jistých procesů ve výzkumu umělé inteligence, která se jako samostatný vědní obor začala formovat v padesátých letech dvacátého století. Za počátek lze pokládat práci A. M. Turinga1 z
roku 1950, v níž jsou blíže vymezeny prostředky a cíle umělé inteligence (artificial intelligence AI). Inteligenci stroje navrhuje Turing testovat imitační hrou: úkolem stroje bude v komunikaci s experimentátorem (pomocí dálnopisu) předstírat, že je člověk. Odtud
vychází známá Minského2 definice, v níž je umělá inteligence vymezena jako věda, jejímž úkolem je naučit stroje, aby dělaly věci, které vyžadují inteligenci, jsou-li prováděny člověkem.
ČÁST PRO ZÁJEMCE 1 UMĚLÁ INTELIGENCE
Osoba
Manažer
Otázka
K čemu to mohu využít?
1
Alan Mathison Turing, (1912 – 1954) http://en.wikipedia.org/wiki/Alan_Turing
Marvin Minsky (1927) http://en.wikipedia.org/wiki/Marvin_Minsky
2
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Zrod AI
13
Technik
Jak nejlépe to mohu implementovat?
Výzkumník
Jak to mohu rozšířit?
Jak mi to může pomoci?
Uživatel
Překoná to mé problémy a výdaje?
Jak je to výhodné?
Tabulka 1-1: Různé pohledy na technologii expertních systémů. Zdroj: [GIA93].
První výsledky výzkumu v 50. letech vedly k velkému nadšení a optimismu. Newell3,
Shaw a Simon4 sestrojili v roce 1956 Logic Theorist, program, který automaticky dokázal převážnou část vět v Principia Mathematica5. Jejich General Problem Solver (195759) byl po řadu let nejsložitějším a nejpodrobnějším modelem lidského myšlení, který
kdy byl zkonstruován a ověřován. Simonovy práce z této doby, týkající se racionality,
rozhodování a řešení problémů (adresované zejména ekonomům a psychologům), byly
později (v roce 1978) oceněny Nobelovou cenou. Zdálo se, že větší a rychlejší počítače
brzy umožní již vyvinutými obecnými postupy simulovat většinu mentálních aktivit člověka.
50. léta
20. století
V šedesátých letech došlo ke zpomalení vývoje a ke zjištění, že obecné programy nestačí
pro řešení skutečně reálných úloh. Postupně se ukázalo, že stroj k řešení úlohy potřebuje
znát to, co o problému ví člověk, který jej řeší. V kostce řečeno, člověka expertem nedělá jen vysoké IQ, ale hlavně specializované znalosti, „know-how“. Zde je možno
sledovat počátek linie, která vedla ke vzniku znalostního inženýrství.
60. léta
20. století
V sedmdesátých letech se v oboru umělá inteligence výrazně odlišily tři podobory:
70. léta
20. století
• zpracování přirozeného jazyka,
• robotika (včetně strojového vidění),
• znalostní inženýrství.
Toto rozdělení odpovídá třem typů lidských inteligentních aktivit: komunikace, manipulace (a rozpoznávání), řešení problémů (usuzování). Názvy podoborů a větší specializace výzkumu v umělé inteligenci odpovídají také nové situaci, do níž se umělá inteligence propracovala: stala se předmětem komerčních a státních projektů.
Inteligentní
aktivity
Motivace a zaměření výzkumníků v umělé inteligenci jsou často velmi odlišné. První,
inženýrský směr, se orientuje na vytvoření inteligentních systémů či metod a technik,
které jsou k tomu potřebné. Neomezuje se tedy pouze na simulaci lidských technik řešení úloh. Druhý, psychologický směr, se orientuje na vytvoření umělých modelů lidských intelektuálních činností. Obecné studium a formalizaci intelektuálních mechanismů nezávisle na jejich realizaci lze chápat zvlášť jako třetí, filosoficko-matematický
Směry
výzkumů
3
Allen Newell (1927 - 1992) http://en.wikipedia.org/wiki/Alan_Newell
Herbert Alexander Simon ( 1916 – 2001) http://en.wikipedia.org/wiki/Herbert_Simon
5
Principia Mathematica třísvazkové dílo A. N. Whitehead a jeho žákem B. Russellem, ve kterém se pokusili upevnit
a sjednotit logické základy matematiky.
4
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
14
směr.
Všechny podobory, směry a koncepce v umělé inteligenci se vzájemně prolínají v
konstrukci integrálních systémů, vybavených více schopnostmi. Zřetelně se to projevuje v robotice a v projektech komplexních informačních systémů.
Výzkum v umělé inteligenci souvisí též s řadou dalších disciplin, jako je např. kybernetika, psychologie, bionika, teorie řízení, lingvistika, filozofie, ... Významná je spjatost s
rozvojem počítačů a vůbec technických prostředků zpracování informací na jedné straně
a s matematickou informatikou (teoretickou vědou o počítačích) na druhé straně. Lze
říci, že výzkum umělé inteligence se stává vůdčím faktorem v celé informatice a
informačním průmyslu.
Vztah AI a
ostatních
disciplín
První velkou aplikací umělé inteligence na problémy jiné než hraní her a řešení
hlavolamů byl program DENDRAL (1971). Systém DENDRAL byl určen pro identifikaci struktury molekul . Byl vyvíjen déle než deset let za účasti řady odborníků a v
oblasti své specializace překonal své tvůrce a další specialisty.
DENDRAL
Během vývoje systému DENDRAL se v polovině 60. let stal zjevným význam, který
pro konstrukci prakticky použitelných inteligentních systémů, má zabudování speciálních znalostí z oboru jejich aplikace. V prvním souhrnu výsledků projektu DENDRAL
bylo zdůrazněno, že člověk je schopen dobře řešit pouze úlohy z oblasti, v nichž je specialistou – v ostatních oblastech mu chybí příslušné znalosti. Z tohoto hlediska je expert
člověk se znalostmi specialisty v daném oboru a se speciálními metodami a heuristikami.
Expert
K ZAPAMATOVÁNÍ 1 EXPERT – ZNALOSTNÍ INŽENÝR
Expert je člověk se znalostmi specialisty v daném oboru a se speciálními metodami a
heuristikami. Naproti tomu znalostní inženýr6 je osoba, která se v daném oboru nemusí
orientovat do hloubky, nicméně umí znalosti nalézt (z literatury) nebo je umí od experta
získat, umí nalézt vazby mezi znalostmi experta a také znalosti zapsat, tj. vytvořit bázi
znalostí.
Postupně došlo k posunu v paradigmatu výzkumu umělé inteligence: za hlavní začala
být považována speciální, problémově orientovaná znalost a pozornost se soustředila
na hledání metod a technik, jak tuto znalost reprezentovat tak, aby mohla být efektivně využívána.
Během 70. let dvacátého století byla na tomto principu vybudována řada úspěšných
aplikací, tzv. expertních systémů a posléze se pro tento směr výzkumů a aplikací umělé
inteligence začal používat název znalostní inženýrství.
Domníváme se, že znalostní inženýrství je možno definovat v kontextu informačního
inženýrství – disciplíny, která se zabývá zpracováním informací do použitelné podoby.
Znalostní inženýrství se pak vyděluje jako část informačního inženýrství, soustřeďující
6
Srovnej knowledge engineer na wikipedia.org
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Vymezení
disciplíny
znalostního inže-
15
se na informace o tom, jak dospívat k novým informacím, tj. informace o usuzování v
konkrétních situacích. Tyto informace jsou jednak věcné (znalosti), jednak logické (inferenční procedury). Část znalostního inženýrství, která se zabývá speciálně inferenčními
mechanismy, lze nazvat logické inženýrství.
nýrství
Praktickým výsledkem znalostního inženýrství jsou expertní systémy – programy
poskytující erudované závěry na základě modelu znalostí.
1.2 Pojem expertní systém
DEFINICE 1-2 EXPERTNÍ SYSTÉM
• Podle E. Feigenbauma7 je expertní systém inteligentní počítačový program, který
užívá znalosti a inferenční procedury k řešení problémů, které jsou natolik obtížné,
že pro své řešení vyžadují významnou lidskou expertízu.
Expertní
systém
• Expertní systém je počítačový program simulující rozhodovací činnost lidského experta při řešení složitých úloh a využívající vhodně zakódovaných speciálních znalostí převzatých od experta s cílem dosáhnout ve zvolené problémové oblasti kvality
rozhodování na úrovni experta.
• Expertní systém je systém na řešení takových problémů, který by lidský expert v
dané oblasti dokázal vyřešit po telefonu.
Expertní systémy se objevily v 70. letech 20. století, kdy se vývoj umělé inteligence
zaměřoval převážně na reprezentování a zpracování znalostí získaných od experta.
Jsou tedy jedním z oborů umělé inteligence, kde kromě nich můžeme nalézt robotiku,
porozumění přirozenému jazyku a mluvené řeči, neuronové sítě a další. Dnes již mnoho
lidí považuje expertní systémy za zastaralé a překonané. Toto tvrzení vychází především
z vědeckých kruhů, neboť principy expertních systémů byly již natolik důkladně prozkoumány, že nový objev v tomto směru je jen velmi málo pravděpodobný a úsilí vědy
se proto obrací jiným směrem. V podnikové praxi jsou expertní systémy využívány
spíše jako aplikace drobnějšího charakteru uvnitř podniků. Nejsou určeny pro
„nahrazení“ experta v dané oblasti, ale jako „pomocník“ experta či manažera. Můžeme vidět aplikace pro „vyhledávání vhodného pracovníka s příslušnými znalostmi“
či „kontrolu určitého procesu ve firmě“
Podniková
praxe
Expertní systémy tedy často slouží pro nalezení rozhodnutí, ke kterému by uživatel
dospěl sám za delší čas, nebo jako „seznam“ navazujících procesů, aby uživatel na
něco nezapomněl. Upřednostňování expertních systémů před jinými, mnohdy i „inteligentnějšími“ systémy, může být způsobeno tím, že jsou často „průhlednější“ než většina
jiných „inteligentních“ systémů. To znamená, že uživatel ví, proč se systém rozhodl právě takto (buďto uživatel sám naplnil systém příslušnými pravidly, nebo si od systému
vyžádal příslušné vysvětlení) a navíc má možnost si systém upravit dle svých představ.
Transparentnost
7
Edward Albert Feigenbaum http://en.wikipedia.org/wiki/Edward_Feigenbaum
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
16
K ZAPAMATOVÁNÍ 2 EXPERTNÍ SYSTÉMY
Expertní systémy můžeme považovat za informační systémy, které podle zadání automaticky usuzují v konkrétní problémové oblasti a poskytují své závěry – nové informace
týkající se daného problému.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
17
1.3 Základní principy znalostního inženýrství
Znalostní systém je programový systém, který se od běžných programů liší způsobem,
jakým jsou v něm znalosti organizovány, začleněny a využívány a způsobem interakce s
uživatelem. Na rozdíl od většiny konvenčních programů, ve kterých jsou znalosti implicitně roztroušeny v programu, je rozhodující většina znalostí důležitých pro řešení problémů daného typu v rámci znalostního systému soustředěna explicitně v samostatně
modulární struktuře – bázi znalostí.
Báze znalostí
K ZAPAMATOVÁNÍ 3 PRINCIP EXPERTNÍCH SYSTÉMŮ
Nejdůležitějším principem expertních systémů je tak oddělení modelu znalostí od
způsobu jejich používání. Což znamená, že při doplňování a modifikacích báze znalostí není nutno modifikovat ostatní části znalostního systému. Báze znalostí obsahuje faktické a heuristické8 znalosti o dané oblasti. Inferenční mechanismus pracuje s bází znalostí při řešení konkrétní úlohy.
Princip
expertních
systémů
Faktické znalosti jsou různé údaje, poznatky, výsledky ... Tyto znalosti obvykle expert předává veřejnosti pomocí odborných publikací a vystoupení. S jádrem faktických
znalostí některého oboru jsou seznamováni studenti v klasické výuce.
Faktické
znalosti
Heuristické znalosti jsou různé pracovní postupy, pravidla úsudků a odhadů, způsoby
odhadů, způsoby odhalování a vynalézání nového ... Heuristické znalosti jsou zpravidla zkušenostní povahy, jsou nejisté. Vzhledem k tomu zůstávají soukromé a jen zřídka je umí expert formulovat a předat veřejnosti.
Heuristické
znalosti
Báze znalostí určuje do značné míry kvalitu celého expertního systému. Potvrdilo
se, že většina podstatných znalostí je heuristické povahy a expert sám často není schopen tyto znalosti explikovat9. Pro získání znalostí je proto nutná zdlouhavá práce
znalostního inženýra s dotyčným expertem. Východiskem je obvykle pečlivá analýza
mnoha řešených problémů.
Kvalita
expertního
systému
Strastiplnou týmovou prací experta a znalostního inženýra lze extrahovat reálné znalosti,
které nejsou součástí učebnic, ale jsou přitom rozhodující pro činnost experta. Explikace
těchto heuristických znalostí je sama o sobě významným výsledkem aplikace znalostního inženýrství.
K ZAPAMATOVÁNÍ 4 REPREZENTACE ZNALOSTÍ
Pro reprezentaci znalostí byla v umělé inteligenci vytvořena řada prostředků. Kromě
logických kalkulů se používají např. sémantické sítě, tzv. rámce, gramatiky atd. V ex8
Reprezentace znalostí
Heuristika je pojem pocházející z řečtiny (eúrískó, εύρίσκω, čes. sledovat, hledat něco, snažit se nalézt) a znamenající
v přeneseném smyslu „umění objevovat“. Více viz http://cs.wikipedia.org/wiki/Heuristika.
9
Vysvětlit, objasnit.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
18
pertních systémech bývá báze znalostí vyjádřena nejčastěji systémem pravidel typu
situace – akce. Situace je vystižena kombinací podmínek na okamžitý stav údajů a poznatků o řešené úloze, akce pak tyto poznatky doplňuje a mění. Vyjádření podmínek
akcí se musí opírat o jistou datovou strukturu odpovídající základním pojmům a poznatkům v dané oblasti. Pravidla pak vedou od rozpoznání stavu této databáze k její modifikaci.
Jednotlivá pravidla jsou vyjádřením jakýchsi atomických (na zvolené úrovni modelování) znalostí. Granularita báze znalostí musí odpovídat dané problémové oblasti:
příliš rozdrobená znalost je těžko programově zvládnutelná a špatně pochopitelná, v
opačném případě velká agregace systému nedovoluje dostatečnou diskriminaci jevů.
Reprezentace báze znalostí jako systému jednoduchých heuristik má výhodu ve
snadné interpretaci a modifikaci. Při ladění systému lze pružně bázi znalostí doplňovat, vypouštět některá pravidla nebo je měnit.
Expertní systém je tvořen konkrétní bází znalostí a inferenčním mechanismem. Tento
mechanismus a použitá reprezentace znalostí musí být založeny na některé teorii
usuzování a řešení úloh dané problémové oblasti (daným expertem). Jedině tak může
expertní systém simulovat příslušnou expertní činnost.
Inferenční
mechanizmus
K ZAPAMATOVÁNÍ 5 VYSVĚTLOVACÍ SCHOPNOST
Aby bylo možno přijmout závěry expertního systému, je nutné vědět, jak byly získány.
Expertní systémy jsou proto vybaveny možnostmi informovat o průběhu inference a
jednotlivé kroky podrobně objasnit. Vysvětlení předkládají ve formě vhodné pro uživatele a v rozsahu, který si uživatel určí. Vysvětlovací schopnost systému je nezbytná též
při ladění a modifikacích báze znalostí.
Za charakteristické rysy expertních systémů se tedy považují:
Vysvětlovací
schopnost
Rysy
• Oddělení znalostí a mechanismu pro jejich využívání. Znalosti experta jsou uloženy v bázi znalostí odděleně od inferenčního mechanismu. To umožňuje vytvářet
problémově nezávislé (prázdné) expertní systémy (expert system shells), kde jeden
inferenční mechanismus může pracovat s různými bázemi znalostí, obdobně, jako
lze stejným způsobem místo „klíče k určování bonity klienta“ procházet např. „klíč
k určování hub“ nebo „klíč k určování prince“.
Oddělení
znalostí od
• Neurčitost v bázi znalostí. V bázi znalostí jsou uloženy nejen exaktně dokázané
znalosti, ale i nejrůznější heuristiky, které se např. expertovi osvědčily při rozhodování za dlouhou dobu jeho praxe. Zde se pak objevují pojmy jako „často“, „většinou“, které je potřeba kvantifikovat (např. v nějaké škále od „určitě ano“ přes „nevím“ až k „určitě ne“). Takovou znalostí s neurčitostí může například být „jestliže
má pacient teplotu, obvykle je mu předepsán acylpyrin“; pacient totiž „často“ má
teplotu v důsledku chřipky, ale „někdy“ může mít teplotu, protože je v poúrazovém
šoku.
Neurčitost
v bázi
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
19
• Neurčitost v datech. Konkrétní data o daném případu bývají zatížena neurčitostí
způsobenou nepřesně určenými hodnotami nebo subjektivním pohledem uživatele
(odpovědi na míru jistoty v nějakém tvrzení). Může to být například odpověď „snad
ano“ na dotaz, zda má pacient teplotu.
Neurčitost
v datech
• Dialogový režim. Expertní systémy jsou nejčastěji konstruovány jako tzv. konzultační systémy. Uživatel komunikuje se systémem způsobem „dotaz systému – odpověď uživatele“ obdobně, jako s lidským expertem. Tento systém práce byl do značné
míry usnadněn nástupem osobních počítačů a s tím souvisejícím přechodem od dávkového zpracování na sálech výpočetních středisek k interaktivnímu zpracování
přímo na pracovním stole uživatele.
Dialogový
režim
• Vysvětlovací činnost. Aby se zvýšila důvěra uživatelů v závěry a doporučení expertního systému, měl by systém poskytovat vysvětlení svého uvažování. Obvykle
systém vysvětluje právě položený dotaz, znalosti relevantní k nějakému tvrzení,
právě zkoumanou cílovou hypotézu, právě probíhající odvozování.
Vysvětlovací činnost
• Modularita a transparentnost báze znalostí. Pro účinnost expertního systému je
rozhodující kvalita báze znalostí. Modularita umožňuje snadnou aktualizaci báze
znalostí, transparentnost umožňuje její snadnou čitelnost, srozumitelnost a kontrolu.
Samotné vytváření báze znalostí probíhá iterativním způsobem při opakovaných
konzultacích experta z dané problémové oblasti s odborníkem na tvorbu bází, tzv.
znalostním inženýrem, kdy je báze znalostí postupně „laděna“, až chování expertního systému (alespoň při konzultaci pro vzorové příklady) odpovídá představám experta.
Modularita
a
transparentnost
Jiné druhy charakteristik, které bychom mohli spíše označit jako požadavky, uvádí:
Další rysy
• Vysoká spolehlivost – systém musí být schopen odpovědět na stejné nebo vyšší
úrovni než lidský expert.
• Přiměřená doba odezvy – systém musí odpovídat v přijatelném čase. Vyřeší-li expert problém za hodinu, je systém podávající stejnou odpověď za rok nepoužitelný.
• Stabilita – systém musí být stabilní a nehroutit se, jinak nebude používán.
• Srozumitelnost – systém musí být schopný podávat vysvětlení o jednotlivých krocích odvozování, jinak bude nesrozumitelný a stane se z něj „černá skříňka“.
• Flexibilita – systém musí jednoduše umožňovat přidávání, měnění a mazání znalostí.
1.4 Typy aplikací expertních systémů
Podle charakteru řešených úloh se aplikace dají rozdělit na:
• diagnózu – proces nalezení chyb či chybných funkcí systému (živého nebo neživého);
• interpretaci – analýza dat s cílem určení jejich významu;
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Podle
charakteru
řešených
úloh
20
• monitorování – průběžná (on line) interpretace signálů a dat a určení okamžiku,
kdy je nutná intervence;
• plánování – nalezení posloupnosti akcí k dosažení cíle;
• návrh (design) – vytváření konfigurací objektů vyhovujících daným podmínkám;
• predikce – předpověď běhu budoucích událostí na základě modelu minulosti a současnosti.
Celkově lze expertní systémy (ES) rozdělit na dvě základní skupiny: diagnostické a generativní.
• Diagnostické expertní systémy zahrnují systémy, které slouží výběru jedné
z předem daného pevného seznamu možností. Historicky prvními a stále základními
příklady diagnostických expertních systémů jsou MYCIN pro diagnostiku jistých infekčních onemocnění a PROSPECTOR pomáhající při hledání nalezišť rud. Mezi
současnými ekonomickými aplikacemi diagnostických expertních systémů je např.
řada systémů odhadujících bonitu klienta, nebo vyhodnocujících investiční příležitosti. Zajímavý je systém FinCEN pomáhající při odhalování podezřelých transakcí.
Diagnostický ES
• Generativní expertní systémy nevedou k výběru jedné z několika variant řešení,
ale slouží k tvorbě návrhů přijatelných řešení. Možných řešení lze přitom potenciálně zkonstruovat nepřeberné množství. Systém jich ovšem generuje pouze omezený
počet a vyhodnocuje je testováním. Kromě již zmíněného prvního expertního systému DENDRAL do této skupiny patří třeba i známý systém XCON pro konfiguraci
počítačů podle uživatelských přání zákazníků.
Generativní ES
1.4.1 Příklady diagnostických expertních systémů
Úkolem expertního systému MYCIN je diagnóza jistých druhů infekcí ve složitých pooperačních stavech a doporučení pro jejich medikamentózní léčbu. Uživatelem je lékař chirurg, který nemusí být nutně expertem na infekční choroby (na rozdíl od experta, který byl zdrojem báze znalostí systému MYCIN). Během dialogu se systém MYCIN ptá
ošetřujícího lékaře na stav, zdravotní historii pacienta a výsledky laboratorních testů. Na
závěr systém MYCIN vydá diagnózu a doporučí vhodnou terapii.
Báze znalostí systému MYCIN obsahuje 451 pravidel tvaru: Jestliže (konjunkce podmínek), pak (závěr) s jistotou (číslo).
Každá podmínka nebo závěr je výrok tvaru (atribut) (objekt) (hodnota).
Jistota je číslo z jednotkového intervalu, které udává stupeň potvrzení závěru, jsou-li
potvrzeny (pravdivé) podmínky pravidla. Stupeň jistoty je pravidlům subjektivně připisován expertem.
PŘÍKLAD 1-1
Následuje ukázka pravidla systému MYCIN.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
MYCIN
21
Rule 85
If
The site of the culture is blood
The gramstain of the organism is gramneg
The morphology of the organism is a compromised
host
Then
The identity of the organism is pseudomona aeruginosa
With certainty 0.6
*
Inferenční mechanismus systému MYCIN je založen na zpětném řetězení a modelu
zpracování nejistoty, který interpretuje stupně jistoty jako tzv. míry důvěry.
Systém MYCIN vysvětluje své chování jak během konzultace (uživatel se může zeptat
systému, proč položil některou otázku), tak po jejím skončení (uživatel se může zeptat
systému, jak dospěl k některému závěru). Výsledky expertního systému MYCIN se při
hodnocení v 90% shodovaly nebo byly stejně dobré jako rozhodnutí odborných lékařů.
Ze systému MYCIN byl separován inferenční mechanismus, který se stal základem
„prázdného“ systému EMYCIN, jehož naplněním jinou bází znalostí vzniká nový expertní systém. Tak byl vyvinut např. systém PUFF pro interpretaci výsledků plicního
vyšetření spirometrem a systém SACON doporučující vhodnou strategii strukturní analýzy pevnosti konstrukce metodou konečných prvků.
EMYCIN
Úkolem expertního systému PROSPECTOR je odhad věrohodnosti toho, že se na daném
místě vyskytuje rudné ložisko typu reprezentovaného zadaným modelem. Uživatel pracuje s expertním systémem v dialogu, během něhož předkládá svá pozorování a je žádán
o další informace.
PROSPECTOR
Typická báze znalostí (o geologických charakteristikách měděných ložisek) je tvořena
inferenční sítí o 94 vrcholech a 105 pravidlech. Inferenční mechanismus systému PROSPECTOR je založen na zpětném řetězení s modifikovaným Bayesovským schématem
zpracování nejistoty (pseudopravděpodobnostní model).
U systému PROSPECTOR bylo provedeno srovnání jeho závěrů s usuzování geologa,
který byl zdrojem expertních znalostí. Průměrný rozdíl mezi odhady pořízenými systémem a expertem byl kolem 10%. Systém PROSPECTOR se proslavil tím, že brzy po
svém nasazení pomohl objevit cenné ložisko molybdenových rud.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
22
Struktura expertního systému PROSPECTOR se stala základem pro jeden z prvních
programových prostředků pro konstrukci expertních systémů – Advice Language / X.
Úkolem expertního systému FinCEN10 (Financial Crimes Enforcement Network) je odhad podezřelosti finanční transakce z hlediska praní špinavých peněz. Provozuje jej stejnojmenný úřad při americkém ministerstvu financí, který kontroluje všechny transakce
nad 10 tis. $ hlášené finančními institucemi. Expertní znalosti o podezřelosti transakcí
jsou reprezentovány ve formě cca 2000 pravidel a tzv. rámců zachycujících stereotypní
situace, což je výhodné při používání formulářů, na nichž jsou zprávy o jednotlivých
transakcích zasílány a vkládány do databáze.
FinCEN
Příkladem expertního systému pro hodnocení bonity klienta je systém FAST. Obsahuje
základní analýzu finančních charakteristik pomocí jednoduchého tabulkového kalkulátoru, databází kritérií vyjadřujících úvěrovou politiku konkrétní banky (preference, rizikové faktory, …) a vlastní znalostní systém pro výsledné hodnocení založený na bázi cca
900 pravidel.
FAST
Systémem na analýzu trhu cenných papírů je ESTA (Expert Systems for Technical Analysis), který pomocí expertních pravidel vyhodnocuje klouzavé průměry cen za 10, 20,
40 a 75 dnů.
ESTA
10
FinCEN - Financial Crimes Enforcement Network – informace o úřadu naleznete na oficiálních webových stránkách
http://www.fincen.gov/ .
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
23
1.5 Struktura expertního systému
Expertní systém je tvořen dvěma základními částmi: bází znalostí a inferenčním mechanismem. Názornou analogii uvádí:
algoritmus
+ struktura
dat
= program
inference
+ znalosti
= expertní
tém.
Program
x
znalostní
systém
sys-
Obrázek 1-1: Obecné schéma expertního systému [BER98].
„V bázi znalostí jsou uloženy znalosti experta z dané oblasti, inferenční (odvozovací)
mechanismus umožňuje tyto znalosti využívat při konzultaci pro konkrétní případ. Dalšími komponentami jsou báze znalostí, data ke konzultovanému případu, vysvětlovací
modul umožňující (do jisté míry) zdůvodnit postup systému při odvozování a modul pro
komunikaci s uživatelem. Toto schéma (viz Obrázek 1-1) odpovídá „klasickému“ systému, který pracuje v dialogu s uživatelem.“ ([BER98])
Schéma
exp.
systému
Toto „klasické“ schéma můžeme jednoduše převést na schéma „klient server“ (se
třístupňovou architekturou), ve kterém bývají zobrazovány „moderní“ programy (viz
Obrázek 1-2).
K ZAPAMATOVÁNÍ 6 INFERENČNÍ MECHANIZMUS
Klíčovou složkou znalostního systému je inferenční mechanismus (odvozovací mechanismus). Je to programový modul, jehož úlohou je vybírat z báze znalostí ty znalosti,
které jsou právě potřebné, interpretovat je a na jejich základě a v závislosti na okamžitém stavu řešení problému odvozovat nové, případně modifikovat už existující informace. Jeho dalším úkolem je řídit případný dialog s uživatelem – požadovat od něj podle
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Inferenční
mechanizmus
24
potřeby a v závislosti na řídící strategii data potřebná pro další postup řešení, pro jejichž
odvození nemá systém potřebné znalosti v bázi znalostí.
Obrázek 1-2: Klient-server schéma expertního systému.
ČÁST PRO ZÁJEMCE 2 INFERENCE
Inference (z latinského inferó – vnášet) – usuzování, odvozování určitých výroků
z jiných. V anglické literatuře se setkáme s termíny inference nebo inference technique –
pro odvozování jakož to získání závěrů na základě znalostí které již známe, a inference
rule nebo rule of inference čili pravidla usuzování (odvozování), které definují funkci
pro odvozování závěrů (výroků, conclusions) na základě platnosti předpokladů (premisis). Pro psaní logických vztahů odvozování existuje jistý aparát , který ovšem překračuje rámec této studijní opory.
Inference
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, která
není daným inferenčním mechanismem odvoditelná z jemu již dostupných znalostí.
Znalost
Důležitou komponentou znalostního systému je pracovní paměť, „tabule“. Jde o
dočasnou pracovní databázi, ve které jsou v průběhu řešení udržována všechna data,
která systém získal zvenku (od uživatele, jiných systémů nebo měřících přístrojů) nebo
která odvodil z jiných dat na základě znalostí v bázi znalostí. U složitějších a pokročilejších systémů bývá její součástí i záznam posloupnosti všech důležitých aktivit systému,
označovaný obvykle jako protokol.
Pracovní
paměť
Báze znalostí, inferenční mechanismus a pracovní paměť tvoří jádro znalostního systému. Při řešení úlohy jsou znalosti pomocí inferenčního mechanismu aplikovány na
údaje v pracovní paměti.
Proces
fungování
Vyčlenění báze znalostí jako samostatné struktury a s tím spojená explicitní, symbolická
a kompaktní reprezentace znalostí umožňuje zvýšit pohodlí uživatele při práci se systémy tohoto typu. Formalismy mohou být navrženy tak, aby byly srozumitelné a přijatelné
i pro neprogramátora. Významnou roli přitom hraje vysvětlovací modul umožňující
systému podat uživateli na požádání vysvětlení k danému případu, zdůvodnit dosa-
Vysvětlovací modul
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
25
žené výsledky, ke kterým systém dospěl, i postup, jakým k nim dospěl.
1.6 Znalosti
Jak již bylo výše řečeno, znalosti (resp. báze znalostí) tvoří jeden ze dvou základních
prvků expertních systémů (druhým je inferenční mechanismus). Definovat pojem
„znalost“ je velmi obtížné, navíc pro různé lidské činnosti se hodí jiná definice tohoto
pojmu. „Proto se často vychází z předpokladu, že znalost je základním pojmem, který je
každému jasný a srozumitelný, a že jej není třeba definovat.“ ([JIR95]) Představu o
pojmu znalosti, jak mu rozumíme v kontextu expertních systémů, naznačuje Obrázek
1-3.
ÚKOL K ZAMYŠLENÍ 1 DATA, INFORMACE, ZNALOSTI
Zamyslete se nad rozdíly, případně definujte vlastními slovy pojmy data, informace a
znalosti.
Obrázek 1-3: Hierarchie znalostí. Zdroj: [GIA93].
Pojmy data, informace a znalost jsou mnohdy používána jako synonyma. Všimněme si
jednoho přístupu k rozlišení a definování těchto pojmů.
Wiederhold (1986) definuje znalosti a data z hlediska budoucích informačních systémů
jako komplementární11 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.
ÚKOL K ZAMYŠLENÍ 2
Data obecně můžeme chápat jako zachycení vlastností okolní objektivní reality – popisují okolní svět (tzn. charakteristiky, míry, váhy, vlastnosti mohou být kvantitativní i
kvalitativní). Pokud data vstoupí do rozhodovacího procesu a poslouží nám v tomto pro11
Komplementární - doplňující se, zapadající do sebe.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Znalost
26
cesu (přispějí k snížení míry neuspořádanosti systému – subjektu, který se rozhoduje),
pak tato data můžeme označit za informace.
Typické je, že zdroj znalostí (expert) a zdroj informací (sebraná 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í pro účely automatizace rozhodovacích procesů je proto 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ě verifiková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 objektivně verifikovány. Mnohé definice,
nutné k organizaci systému, jsou také znalostmi; očekáváme od expertů definice,
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, a proto se vztahují spíše k typům entit než k jejich instancím. 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.
Data
vs.
znalosti
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, a proto je nutné rozpory pečlivě prověřovat. Avšak ani
správná data, která jsou v rozporu se znalostmi, nemusí ihned vést k revizi znalostí.
Jsou-li znalosti vybaveny faktory jistoty, je třeba spíše tyto faktory za pomoci automatické učící se procedury aktualizovat. Někdy konflikt 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.
Rozpory
v datech
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í.
1.7 Reprezentace znalostí
Reprezentace znalostí je spojena s hledáním modelů a datových struktur, které by umožnily reprezentovat významnou část znalostí a řešení daného problému v podobě báze
znalostí, a potom takto reprezentované znalosti efektivně využívat při řešení problému
počítačem.
Účelem vhodné reprezentace znalostí je kromě snadného vyhledávání a modifikace
uložených znalostí hlavně možnost odvozovat z nich pomocí inferenčního mechanismu potřebné závěry. Zejména v tom se znalostní systémy liší od databázových, kte-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Báze
znalostí
27
ré se soustřeďují především na otázku vyhledávání. Další odlišnost spočívá v neurčitosti
a neúplnosti, které jsou pro soustavy znalostí typické a musí na ně být při jejich reprezentaci brán zřetel.
Reprezentace znalostí je někdy považována za centrum zájmu výzkumu v umělé inteligenci, domníváme se však, že prvořadá je otázka způsobu odvozování, jemuž se musí
reprezentace znalostí podřídit.
Na reprezentaci znalostí jsou kladeny často protichůdné požadavky. Všimněme si
například požadavku modularity báze znalostí, který je pro získávání znalostí zvláště
významný. Při vytváření báze znalostí je důležité, aby použitá reprezentace dovolovala jednoduše upřesňovat znalosti, zejména je inkrementálně12 rozšiřovat. Báze znalostí bude zřejmě modulární, bude-li složena z nezávislých, jednoduchých částí, které
vyjadřují jakési atomické (na zvolené úrovni modelování dále nedělitelné) znalosti.
Modularita
Na druhé straně však existují důvody proti takovému uspořádání znalostí. Jednotlivé
znalosti totiž vyjadřují rozmanité závislosti, které mohou být od sebe svojí formou značně odlišné, avšak významově si mohou být blízké. Proto je vhodné použít neuniformní
reprezentaci, postihující co nejlépe podstatu znalostí, a doplnit ji o možnost vyjádřit
vazby mezi znalostmi. Požadavek volného sdružování příbuzných znalostí vychází z
potřeby rychle vyvolávat jednotlivé znalosti. Jak je zřejmé, v konkrétních případech je
nutno přistoupit k vhodnému kompromisu.
Volné
sdružování
znalostí
V expertních systémech jsou znalosti reprezentovány nejrůznějšími způsoby. Za „klasické“ lze považovat logiku (ať již výrokovou či predikátovou), pravidla, rámce (v
programování známé spíše pod názvem objekty) a sémantické sítě. Zmíníme se zde
stručně pouze o pravidlech, o jiných způsobech reprezentace znalostí se můžete více
dozvědět např. v [GIA93] či [BER98].
Soustava produkčních pravidel tvaru „situace → akce“ je jedním z nejčastěji užívaných způsobů vyjádření báze znalostí. Pravidlo je vyvoláno tehdy, nastala-li podmínka v
jeho situační části. Obecně není tvar a obsah pravidla nijak omezen, většinou jsou však v
konkrétních realizacích dodrženy tyto zásady:
• vyhodnocení situační části spočívá ve srovnání podmínky se stavem pracovní paměti, která při tom nesmí být měněna;
• akční část představuje vykonání jednoduchých zásahů do pracovní paměti, a to na
úrovni pojmů v ní používaných.
Pravidla tedy představují elementární akce systému. Vhodná volba těchto akcí usnadňuje
práci inferenčního i vysvětlovacího mechanismu. Výhodou této reprezentace báze znalostí je její značná modularita a přirozená deklarativní sémantika pravidel.
ÚKOL K ZAMYŠLENÍ 3 PRODUKČNÍ PRAVIDLA
Pravidla jsou zřejmě nejpoužívanější způsob reprezentace znalostí a jsou zároveň nejlépe pochopitelná pro lidské myšlení. Lidé často sami při řešení problémů používají výra12
Inkrementace – zvýšení (čísla). Zde ve významu přidání či přičtení.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Produkční
pravidla
28
zy IF THEN, jako například „JESTLIŽE prší, PAK si vezmu deštník“. Pravidla
v expertních systémech mají právě podobu IF THEN pravidel. Dalším důvodem pro
„oblíbenost“ těchto pravidel může být v tom, že tyto struktury se často používají
v oborech, které mají blízko k expertním systémům. V programovacích jazycích se IF
THEN struktura vyskytuje jako jeden z nejčastěji používaných příkazů, v logice není IF
THEN struktura nic jiného než jiný výraz pro implikaci (a jako implikace jsou pravidla
většinou vyhodnocována).
IF THEN struktura může být samozřejmě rozšířena do podoby IF THEN ELSE. 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 zapsat jako dvě pravidla
IF a THEN b
IF NOT a THEN c.
V předpokladu (antecedentu, levé straně, ...) pravidla se mohou vyskytovat různé výrazy
(opět záleží na systému), jako např. výrok, konjunkce výroků, disjunktivní normální
forma, dvojice atribut – hodnota, trojice objekt – atribut – hodnota, atd. V závěru (sukcedentu, pravé straně, ...) pravidla mohou být v zásadě tytéž výrazy, v některých systémech však bývají omezeny oproti předpokladu (např. místo konjunkce výroků
v předpokladu může být v závěru pouze jeden výrok).
K ZAPAMATOVÁNÍ 7 GRAFICKÉ ZNÁZORNĚNÍ PRAVIDEL
Pravidla v bázi znalostí je možno znázornit v podobě tzv. AND/OR grafu. Zde uzly grafu představují výroky a orientované hrany představují pravidla. Konjunktivní vazba mezi
výroky v předpokladu pravidla se znázorňuje obloučkem. Tedy sadě pravidel:
A → D
D → E
-A → F
B & C → F
odpovídá AND/OR graf viz Obrázek 1-4.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Grafické
znázornění
pravidel
29
Obrázek 1-4: AND/OR graf. Zdroj: [BER98].
1.8 Infereční mechanismus
Zatímco u lidských expertů mluvíme spíše o usuzování, u expertních systémů pro získávání nových znalostí či informací používáme výraz inference nebo odvozování.
Metody inference, jak je popisuje [GIA93], jsou:
Metody
inference
• Dedukce – logické usuzování, při kterém závěr musí vyplývat z předpokladů.
• Indukce – odvozování ze speciálního případu na obecný.
• Intuice – bez teorie. Expertní systémy tento druh inference zatím neimplementují.
• Heuristika – pravidla „vycucaná z prstu“ založená na zkušenosti.
• Generování a testování – pokus a omyl, často používané pro efektivní plánování.
• Abdukce – usuzování z platných závěrů na předpoklady, které mohly tyto závěry
způsobit.
• Default – pokud chybějí speciální znalosti, usuzuje se na základě obecných či běžných znalostí.
• Vlastní znalosti.
• Nemonotónní usuzování – předchozí znalosti mohou být chybné po získání nových
poznatků.
• Analogie – odvození závěru na základě podobnosti s jinou situací.
Inferenční mechanismus organizuje používání báze znalostí při řešení zadané úlohy a
komunikaci s uživatelem. Například prohledávání pravidlové báze znalostí může být
řízeno mnoha strategiemi. Základní typy jsou:
• Antecedentové řízení (forward chaining, bottom-up). Vyhledávají se pravidla, jejichž antecedent (situační předpoklady) je v datech splněn. Tato pravidla se okamžitě provádějí a tím se data modifikují, doplňují o nové poznatky.
• Sukcedentové řízení (backward chaining, top-down). Vyhledávají se pravidla s vytčeným sukcedentem (akcí, konsekventem). K jejich antecedentům se opět hledají
pravidla, která by je mohla potvrdit atd., až se dojde k prověřitelným pravidlům.
• Agendové řízení. Používají se váhové funkce, které neustále oceňují výhodnost vy-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Prohledávání báze
znalostí
30
volání pravidel nebo jejich skupin.
Obrázek 1-5: Typy inference. Zdroj: [GIA93].
Důsledkem použití některých pravidel může být dotaz na uživatele či sdělení uživateli.
Po průchodu bází znalostí formuluje inferenční mechanismus závěry.
1.9 Neurčitost
Neurčitost můžeme chápat jako nedostatek znalostí (nebo nepřesné znalosti) při řešení
rozhodovacího problému. „Neurčitost je problém, neboť nám zabraňuje ve výběru nejlepšího řešení a může způsobit výběr špatného řešení.“ ([GIA93]) Neurčitost může způsobit nejrůznější typy chyb (viz Tabulka 1-2). Na druhou stranu, téměř veškeré znalosti
a informace v našem světě jsou zatíženy určitou dávkou neurčitosti. Lidé jsou zvyklí s
neurčitostí pracovat a rozhodovat se i při nepřesných informacích, je tedy na místě zabývat se otázkou, jak přenést neurčitost do expertních systémů.
Příklad
zavřít ventil
přepněte ventil 1
zavřete ventil 1
ventil je zablokován
ventil není zablokován
Chyba
Důvod
nejednoznačnost (ambikterý ventil?
guous)
neúplnost (incomplete) kam přepnout?
nesprávnost (incorrect) správně je otevřít
špatně pozitivní (false
ventil není zablokován
positive)
špatně negativní (false
ventil je zablokován
negative)
nepřesnost (imprecise)
přesně je 5,4
nesprávnost (inaccurate) správně je 9,2
přepněte ventil 1 do polohy 5
přepněte ventil 1 do polohy 5,4
přepněte ventil 1 do polohy 5,4, 4
nejistota (unreliable)
chyba zařízení
nebo 0
náhodná chyba (random
ventil 1 je v poloze 5,4, 5,5 nebo 5,1
statistická fluktuace
error)
systematická chyba (sysventil 1 je v poloze 7,5
špatná kalibrace
tematic error)
ventil 1 není zablokovaný, protože nesprávná indukce (inva- ventil je zablokovaný
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
31
nebyl zablokovaný nikdy předtím
lid induction)
výstup je normální, proto je ventil 1 nesprávná dedukce (inva- ventil je zablokován
v dobrém stavu
lid deduction)
v otevřené pozici
Tabulka 1-2: Příklady typů chyb. Zdroj: [GIA93].
V expertních systémech může být neurčitost dvojího druhu. Je to jednak neurčitost v
expertních znalostech a jednak neurčitost v datech.
Neurčitost v expertních znalostech se v těchto systémech modeluje tak, že jednotlivým
pravidlům bývají přiřazeny prvky z nějaké (alespoň částečně uspořádané) struktury. obvykle se používá interval [ -1,1], [0,1] nebo [0,∞]. Pravidla potom mají tvar např.:
IF rozumný_záměr
WEIGHT 0.8
AND
seriózní_klient
THEN
půjčit
Neurčitost
ve
znalostech
WITH
kde váha 0,8 vyjadřuje, do jaké míry je expert přesvědčen, že je splněn závěr (výrok
„půjčit“), je-li si jist, že je splněn předpoklad (tj. současně splněny výroky „rozumný_záměr“ a „seriózní_klient“).
Naproti tomu neurčitost v datech přiřazuje určitou váhu počátečním uzlům, tj. např. rozumný_záměr WITH WEIGHT 0.9 vyjadřuje poměrně velké přesvědčení uživatele o
platnosti tohoto výroku (nikoli však jistotu).
Neurčitost
v datech
K práci s neurčitostí jsou využívány různé přístupy, např. pseudopravděpodobností
přístup, míry důvěry a nedůvěry, fuzzy logika, zobecňující algebraické pojetí. Jejich
popis můžete nalézt např. v [BER98] či [GIA93]. Neurčitost v systému NEST vychází
právě ze zobecněného algebraického pojetí.
KONTROLNÍ OTÁZKA 1
1. Jmenujte systém považovaný za první expertní systém.
2. Vyberte, které z následujících problémů neřadíme do oblasti AI: rozpoznávání obrazu, hlasové ovládání programů, dobývání znalostí z databází, diagnostika nemoci.
3. Rozhodněte zda-li následující výrok je pravdivý: „Expertní systém je systém rozhodování a odvozování založený na porovnávání přesně zjistitelných a měřitelných
požadavků uživatele.“
4. Vyberte, který z následujících úloh je vhodný pro zpracování expertním systémem:
a) doporučení vhodného automobilu pro klienta, b) výběr nejvhodnějšího automobilu v rámci výběrového řízení.
5. Uveďte název expertního systému vyhodnocujícího v USA podezřelost peněžních
transakcí.
SHRNUTÍ KAPITOLY ZNALOSTNÍ INŽENÝRSTVÍ A STRUKTURA EXPERTNÍCH
SYSTÉMŮ
Nyní, po prostudování této kapitoly, zhruba víte jak došlo ke zrodu disciplíny znalostní-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
32
ho inženýrství. Umíte vysvětlit co se skrývá pod pojmem expertní systém a umíte rozlišit, kdo to je expert a znalostní inženýr. Dokážete pomocí vyložení základních principů a
charakteristik expertního sytému vysvětlit odlišnost od ostatních programů a především
informačních systémů. Obeznámili jste se s pojmem inference a její úlohou v expertních
systémech. Umíte rozlišit mezi pojmy data, informace a znalosti. Víte jak lze reprezentovat znalosti. A dokážete vysvětlit jak souvisí neurčitost se znalostmi.
Reprezentace znalostí pomocí IF THEN pravidel a jejich grafické znázornění jsou
dovednosti, které dále využijeme při vlastní tvorbě baze znalostí – tedy pro tvorbu
vaší seminární práce.
ŘEŠENÍ A ODPOVĚDI
1. DENDRAL
2. dobývání znalostí z databází
3. není
4. a)
5. FinCEN
PRŮVODCE STUDIEM 2
Po obecném úvodu, který vás obeznámil se základními pojmy disciplíny a uvedl vás do
problematiky historie, fungování a tvorby expertních systémů, se nyní přesuneme
k představení jednoho z fungujících akademických softwarů. Konkrétně systému NEST
vyvinutého na VŠE v Praze, který naše fakulta (OPF) může využívat při výuce a jehož
osvojení tj. zvládnutí ovládání a tvorbu báze znalostí, bude předpokladem k úspěšnému
zvládnutí předmětu a udělení závěrečné známky.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
kapitoly
33
2 PROSTŘEDÍ NEST
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY PROSTŘEDÍ NEST
První část kapitoly je věnována krátkému nástinu vývoje programu NEST, kterou začínáme zmínkou o původním systému SAK, na nějž navazuje.
Rychlý
náhled
Druhá obsahově delší část obsahující velké množství ilustračních a instruktážních obrázků je zaměřena k získání základních praktických dovedností spojených s instalací
balíku NEST a ovládání programu NEST.
Dozvíte se o nastaveních programu NEST, možnostech výstupu během konzultace i po
jejím dokončení. Ukážeme si jak číst výsledky konzultací a naučíme se je exportovat do
různých typů souborů.
CÍLE KAPITOLY PROSTŘEDÍ NEST
Po úspěšném a aktivním absolvování této KAPITOLY
Budete umět:
Budete
umět
• Nainstalovat a nastavit parametry programů NEST a NEST editor.
• Spustit a dokončit konzultaci v NEST.
• Nalézt souhrnné informace o bázi znalostí.
Získáte:
Získáte
• Několik základních informací o systému SAK, který je přímým předchůdcem systému NEST.
• Přehled o vývoji systému NEST.
Budete schopni:
• Exportovat graf báze znalostí.
• Uložit odpovědi dokončené i nedokončené konzultace.
• Exportovat výsledky konzultace do různých formátů.
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování KAPITOLY je cca 180 minut včetně praktického procvičení na počítači (čas je velmi ovlivněn počítačovou zdatností studenta).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Budete
schopni
34
KLÍČOVÁ SLOVA KAPITOLY PROSTŘEDÍ NEST
SAK, vývoj NESTu, zdroje stažení, instalace, stažení funkčních bází znalostí, nastavení
programu, nastavení cest, nefunkčnost nastavení, spuštění NEST a zavedení báze, základní možnosti programu NEST, konzultace, průběh konzultace a možnosti během konzultace, ukládání a export odpovědí a výsledků konzultace.
2.1 Historie NESTu
2.1.1 SAK
Jelikož systém NEST volně navazuje na systém SAK, je vhodné alespoň stručně charakterizovat i tento systém.
Systém Automatizovaných Konzultací (SAK) je prázdný expertní systém diagnostického typu.
Práce na systému SAK započala v 80. letech ve skupině kolem J. Ivánka. První implementace (v roce 1983) byla na počítači Wang v jazyku Basic (systém SAK OPTIMALI).
V letech 1987 – 1991 byly postupně implementovány dvě verze na počítačích IBM PC
pod DOSem, jedna v jazyku TurboProlog (J. Ivánek, J. Ferjenčík, J. Švenda), druhá v
jazyku TurboBasic (J. Ivánek, J. Ferjenčík, P. Berka). Do roku 1995 byly prováděny
ještě některé drobnější úpravy ve verzi TurboBasic.
Systém používá pro reprezentaci znalostí výroky a pravidla. Kromě klasických výroků je
v systému zavedena koncepce sdružených výroků (výroky, které spolu fakticky souvisí,
ale nemusí se vylučovat), a numerické veličiny, jejichž hodnoty lze získávat i z vnějších
procedur. Pravidla mají tvar
K: A ⇒ S (w)
kde kontext K je výrok, antecedent A je tvořen elementární konjunkcí (tj. konjunkcí výroků nebo jejich negací), sukcedent S je výrok, který se nevyskytuje v A a w je váha
pravidla (v normalizovaném tvaru leží v intervalu [-1;1]). Pravidla mohou mít nejvýše
čtyřčlenný antecedent. Systém umožňuje vyjadřovat neurčitosti v pravidlech i v odpovědích uživatele, v systému je implementován standardní a logický inferenční mechanismus. Konzultace probíhá v režimu zpětného řetězení; kromě odvození závěrů nabízí
systém i standardní vysvětlování How, Why, What if.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Klíčová
slova
35
DALŠÍ ZDROJE
Další rozšiřující informace ohledně systému SAK, výrazně převyšující rámec této opory,
lze nalézt například v:
• IVÁNEK,J.: Realizace konzultačního systému SAK-OPTIMALI pro výběr matematické metody rozhodování. In: Expertní systémy – principy, realizace, využití. Praha,
ČSVTS FEL ČVUT 1984, s.160-172.
• FERJENČÍK,J. – IVÁNEK,J. – ŠVENDA,J.: Stručná informace o systému automatických konzultací SAK. In: Informatika a umelá inteligencia. Bratislava, DT ČSVTS
1985.
2.1.2 Vývoj NESTu
Systém NEST volně navazuje na systém SAK, dále jej rozvíjí a převádí do podoby aktuálních počítačových aplikací. Práce na návrhu nového systému započaly v polovině 90.
let (P. Berka, V. Svátek):
• 1995 – 97: specifikace systému NEST;
• 1996: konzultační modul v rámci systému pro hodnocení bonity klienta banky implementovaný komerční firmou.
V květnu 2003 začíná práce na implementaci systému NEST v podobě, kterou popisují
následující kapitoly.
ODMĚNA A ODPOČINEK
Mílí studenti, v předchozím textu jste si přečetli několik základních informací o historii
spjatou se systémem NEST. V následující části kapitoly se budeme zabývat praktickými
dovednostmi, proto doporučujeme (pokud text nečtete z počítače) v rámci odpočinku
zapnout počítač s připojením na internet a zkoušet si ověřit následující informace o instalaci a používání NEST.
2.2 NEST
Program NEST je volně přístupný na osobních internetových stránkách jednoho z autorů
opory a zároveň spoluautora expertního systému V. Laše. Se svolením autorů je program
NEST, respektive instalační balík dostupný na elearningovém portálu v rámci kurzu
Znalostní inženýrství (vždy v příslušném aktuálním akademickém roce a v příslušném
typu studia).
2.2.1 Popis instalačního balíku a vlastní instalace
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Odměna a
odpočinek
36
Jak již bylo zmíněno, instalační balík NEST (verze pro lokání počítač, nikoli síťová verze) je dostupná studentům OPF na elearningovém portálu (příslušný vyučující
v aktuálním semestru studentům předvede, kde tento balík bude dostupný) nebo také
z adresy http://vladalas.info/files/nest.zip.
Zdroje
stažení
Instalační balík je zip archív – tedy po úspěšném stažení by jste měli najít na vámi zvoleném místě určeném pro stahování souboru soubor nest.zip. Balík obsahuje skupinu
souborů bez instalátoru, a tedy po rozbalení můžete program respektive programy spouštět a používat. Studenti kurzu Znalostní inženýrství, které je vypisováno v rámci navazujícího studia, prošli kurzem Informatika A, a proto přepokládáme znalost ovládání operačního sytému, práci s archívy atp.
Instalace
Po úspěšném rozbalení nalezneme mezi soubory dva programy:
• NEST.exe
- software pro provádění konzultací nad zadanou (zavedenou, nahranou) bází znalostí.
• NEST_Editor.exe - software pro tvorbu vlastní báze znalostí.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Výše zmiňovaný postup instalace platí pro verzi NESTu staženou ze stránek V. Laše ke
dni 28.11.2007 obsahující NEST ve verzi 2.1.0 a NEST editor ve verzi 2.0.4. Je možné,
že se můžete dostat k jiným instalačním balíkům dřívějších verzích, které obsahovaly
instalátor. Instalátor byl sice v anglickém jazyce, ale opět je velmi triviální a lze vše proklikáním přes tlačítko „Next >“. Uživatel si volí cílový adresář instalace, dále jednotlivé
komponenty programu (viz Obrázek 2-1), složku Start Manu Folder, volba jazyka.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
37
Obrázek 2-1: Okno instalátoru s volbou jednotlivých složek programu.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Na internetu nebo ve vlastním instalátoru se můžete setkat s následujícími označeními
jednotlivých komponent NESTu:
• Stand-alone version – program pro provádění konzultací.
• Editor – editor pro tvorbu a úpravu bází znalostí.
• Base convertor – program pro konverzi bází znalostí.
• Klient-server version – NEST pro vzdálený přístup – síťová verze.
K ZAPAMATOVÁNÍ 8
Pro tvorbu báze znalostí a spouštění konzultací (ukládání výsledků konzultací, ukládání
odpovědí konzultací), jinými slovy k tvorbě a obhajobě seminární práce nám stačí
úspěšně nainstalovat a používat Stand-alone version NESTu a NEST editor.
K ZAPAMATOVÁNÍ 9
Instalaci můžeme považovat za dokončenou až po stáhnutí existujících a fungujících
bází znalostí, na kterých si můžeme později ukázat spouštění konzultací a úpravu bází
v NEST editoru. Báze znalostí jsou ke stažení ze stejných zdrojů jako vlastní NEST (viz.
odstavec Zdroje stažení v rámci této kapitoly) a to konkrétně:
• Princ.xml
- výuková báze imaginárního příkladu určování, zda-li konzultují-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Báze znalostí ke
stažení
38
cí osoba je či není „princ“ (obsahuje 1 cílový výrok, 7 pravidel),
• Nemoce.xml
- malá ilustrační báze s diagnostikou nachlazení, TBC nebo chřipky (obsahuje 3 cílové výroky, 14 pravidel),
• Uver.xml
- báze vytvořená na základě dolování z imaginárních dat (data miningu) s diagnostikou klienta, zda-li by mu mohl být poskytnut úvěr či nikoli (obsahuje 1 cílový výrok, 8 pravidel),
• OPTCS.xml
- volba vhodné matematické metody rozhodování (obsahuje 53
cílových výroků, 402 pravidel),
• TEAM.xml
- báze znalostí sloužící ke zdokonalení práce řešitelského týmu
(obsahuje 13 cílových výroků, 84 pravidel).
Obrázek 2-2: Adresář po dokončené instalaci včetně ukázkových bází.
PRŮVODCE STUDIEM 3
V této chvíli, jestliže postupujete chronologicky podle textu, by jste měli mít úspěšně
nainstalovaný balík NEST připraven ke spuštění.
2.2.2 Nastavení
Je velmi důležité se věnovat také krátce nastavení programů NEST a NEST editor. Po
spuštění (úvodní obrazovky programů dokumentují Obrázek 2-3 a Obrázek 2-4) v menu
obou programů vybereme položku Nastavení/Nastavení. V následujícím okně pak můžeme uživatelsky nastavit nejrůznější parametry programu (customization), jako jsou
jazyk, počet zobrazovaných desetinných míst, barvy, nastavení okna pro znázornění grafu, klávesové zkratky a nastavení adresářů (viz Obrázek 2-5)
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Nastavení
39
Obrázek 2-3: Úvodní obrazovka programu NEST.
Obrázek 2-4: Úvodní obrazovka programu NEST
editor.
K ZAPAMATOVÁNÍ 10
Velmi důležité je především nastavení „Adresáře“ (viz. Obrázek 2-5 barevně zatrhnuté).
Na této záložce nastavujeme cesty k důležitým souborům a adresářům, což nám později
může výrazně urychlit tvorbu vlastní báze.
Nastavení
cest
Obrázek 2-5: Okno Nastavení v NESTu.
K ZAPAMATOVÁNÍ 11
Je nutné také poznamenat, že ve starších verzích (ověřeno pro verzi 1.4.1) nemuselo
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Nefunkčnost na-
40
nastavení fungovat zcela správně a docházelo k chybám, které lze vyřešit postupem popsaným v komponentě „K zapamatování“ Systémová chyba v kapitole 2.2.5 .
stavení
Na tomto místě bychom rádi poznamenali, že NEST je program určený především pro
akademické účely, proto také nebyl kladen důraz na vzhled, ale na funkčnost programu
zaměřenou na tvorbu znalostní báze, porovnávání výsledků konzultací při volbě různých
druhů práce s neurčitostí atp. NEST není komerčním produktem a jeho využití mimo
výukové účely je nutno konzultovat s autory.
Nekomerčnost
NESTu
2.2.3 NEST – základní možnosti a spuštění konzultace
Program NEST je prázdný expertní systém, který obsahuje inferenční mechanizmus (viz kapitola 1.5 K zapamatovaní Inferenční mechanizmus a kapitola 1.8 a vysvětlovací modul (viz kapitola 1.3 odstavec Vysvětlovací schopnost). Program NEST je
tedy především program, který uživateli poskytuje grafické rozhraní (GUI) pro: nahrávání existujících bází znalostí, jejich spuštění, nastavení přístupu zpracování neurčitosti, vedení konzultace (způsobu získávání dat od uživatele), vyhodnocení a doporučení cílového výroku s možností vysvětlení závěrů.
Obrázek 2-6: Statistika báze znalostí „Nemoce.xml“.
Zavedení báze znalostí nebo její nahrání realizujeme pomocí úvodní obrazovky NEST
(viz. Obrázek 2-3). Pomocí tlačítka „Nahraj bázi“ nebo z menu „Báze/Nahraj bázi“
najdeme na disku bázi, se kterou chceme dále pracovat (např. Nemoce.xml). Po otevření
(chcete-li úspěšném zavedení či nahrání) báze se na úvodní obrazovce objeví, pokud
v samotné bázi tyto údaje vyplněny jsou, několik nových údajů:
• Vpravo od tlačítka „Nahraj bázi“ v rámečku „Aktuální báze“ se zobrazí název
souboru aktuální zavedené báze znalostí (v našem případě „Nemoce.xml“).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Zavedení
báze
41
• V rámečku „Popis báze“ nalezneme popis báze znalostí (v našem případě vidíme
text „Nemoci1“).
• V políčku „Expert“ nalezneme jméno experta, člověka odborníka na danou problematiku, který nám poskytl znalosti z dané oblasti. Znalosti také můžeme čerpat analýzou odborné literatury (v našem případě vidíme iniciály „PB“).
• V políčku „Znalostní inženýr“ nalezneme jména specialistů, kteří formalizovali a
zaznamenali znalosti získané od expertů či z literatury, dat a jiných zdrojů do báze
znalostí (v našem případě je políčko prázdné).
• V políčku „Datum“ nalezneme termín vytvoření báze znalostí (našem případě
„4.6.2003“).
Obrázek 2-7: Zobrazení stromu pravidel pomocí okna Graf.
Na úvodní obrazovce (viz. Obrázek 2-3) programu NEST dále vidíme:
• tlačítko „Zavřít“, odpovídá volbě z menu „Báze/Konec“ nebo stisknutí klávesové
zkratky ALT+F4. Tímto způsobem ukončíme program.
• Tlačítko „Konzultuj“, odpovídá volbě z menu „Báze/Konzultuj“, pokračujeme ke
spuštění konzultace.
• Volbou z menu „Báze/Statistika“ vyvoláme okno s podrobnějším popisem aktuální
báze znalostí (mimo údajů z odstavce Zavedení báze viz nahoře, zjistíme mj. rozsah
vah, druhy a počet atributů, výroků a pravidel). Údaje pro bázi „Nemoce.xml“ dokumentuje Obrázek 2-6.
• Volba z menu „Nastavení/Nastavení“ je popsána již výše především v odstavci
Nastavení.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Další možnosti
úvodní
obrazovky
NEST
42
• Volbou „Nástroje/NEST editor“ spustíme program NEST editor – samozřejmě pokud máme správně nastavenou cestu ke složce, ve které se editor nachází (viz
Obrázek 2-5).
• Volbou „Nástroje/Graf báze znalostí“ vyvoláme okno, kde:
o V pravém sloupečku nalezneme podrobný popis báze včetně pravidel a vah. Šířku sloupce můžeme pohodlně upravovat tažením myší za levý okraj (viz Obrázek
2-7).
o V levé části okna na záložce „Strom“ si můžeme nechat zobrazit – „rozklikat“
strom pravidel (viz Obrázek 2-7).
o V levé části okna na záložce „Graf“ je nám k dispozici graf aktuální báze znalostí (viz Obrázek 2-8).
o Z menu volbou „Sobor/Ulož graf jako obrázek“ můžeme exportovat graf do
formátu BMP.
• Funkční klávesou F1 nebo z menu „Nápověda/Nápověda“ vyvoláme nápovědu
k program.
• Informace o programu pak zjistíme volbou „Nápověda/O programu“.
Obrázek 2-8: Zobrazení grafu pomocí okna Graf.
Nyní tedy po zmáčknutí tlačítka konzultuj se přesuneme do okna „Nastavení konzultace“ (viz Obrázek 2-9). Možnosti nastavení pro naše účely není potřeba dále komentovat
stiskneme proto tlačítko „OK“ a tím konečně spustíme konzultaci (stále pracujeme
z bází „Nemoce.xml“).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Spuštění
konzultace
43
2.2.4 Možnosti okna Dotaz a průběh konzultace
Postupujete-li stále dle textu pak nyní budete zadávat odpovědi na dotazy v rámci konzultace. Každému dotazu odpovídá jedno okno. Dle typu dotazu (viz odstavec Typy okna Dotaz dole) se okno „Dotaz“ trochu liší. Společné pro všechny dotazy zůstává (viz
např. Obrázek 2-10):
• Jméno atributu – Obrázek 2-10 „pacient je bledy“
• Komentář atributu – pod jménem atributu, slouží uživateli vykonávajícímu konzultaci k upřesnění (pokus to není zřejmé se samotného jména atributu) nač se systém
ptá, co a jakým způsobem má uživatel hodnotit. V našem případě (Obrázek 2-10) je
políčko prázdné.
• V levém sloupci nahoře jsou tlačítka:
o „Proč“ – zobrazí okno s příslušnou výsečí grafu nebo stromu (podobně jako
okno Graf Obrázek 2-7 nebo Obrázek 2-8) dokumentující proč systém potřebuje
zjistit hodnotu váhy příslušného výroku a na jaký další atribut to má vliv.
o „Průběžné výsledky“ – otevře okno ne nepodobné oknu „Výsledky pravidlového
odvozování“, jehož možnosti jsou popsány v kapitole Výsledky konzultace.
o „Uložit odpovědi“ – tlačítko pro ukládání odpovědí i v průběhu konzultace více
v 2.2.5 Ukládání odpovědí.
• V levém sloupci dole jsou tlačítka:
o „Jistě ano“ – nemusíme vypisovat váhu odpovědi automaticky, po stisknutí se
zaznamená maximální, tj. v našem případě váha 3.
o „Irrelevantní“ – nahrazuje zapsání váhy 0.
o „Jistě ne“ - nemusíme vypisovat váhu odpovědi automaticky po stisknutí se zaznamená minimální tj. v našem případě váha -3.
o „Neznámý“ – slouží pro odpověď ve smyslu nevím, kterou nelze pomocí váhy
vyjádřit.
o „Odložit odpověď“ – nechá otázku nezodpovězenou na pozdější dobu.
o „Potvrdit odpověď“ – potvrzení odpovědí pokud zadáváme hodnoty
z klávesnice a přesun na další dotaz.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Okno
Dotaz
44
Obrázek 2-9: Okno nastavení konzultace.
Vaše odpovědi budou subjektivně hodnotit pravdivost výroků příslušných atributů. Můžeme se setkat se čtyřmi typy dotazů:
• Binární (viz Obrázek 2-10) – hodnotíme pouze pravdivost výroku v rámci rozsahu
vah.
• Jednoduchý (viz Obrázek 2-11) – vybíráme jeden z výroků nabízených v padací
liště (v našem případě „vysoký příjem“ nebo „nízký příjem“); tento výrok opět hodnotíme vahou, vlevo od výběru.
• Množinový (viz Obrázek 2-12) – z množiny přípustných výroků může vybrat jeden
či více výroků. Výrok vždy vybereme zakliknutím (podbarví se modře) ve sloupečku „Přípustné hodnoty“. Přetáhneme jej do sloupce „Vybrané hodnoty“ pomocí
tlačítka „>“. Nyní můžeme daný výrok ze sloupce „Vybrané hodnoty“ opět myší
zakliknout a vlevo jeho pravdivost oceníme vahou.
• Numerický (viz Obrázek 2-13) – na konkrétní dotaz odpovíme zadáním hodnoty
z rozsahu z dolní části okna („Zadejte hodnotu v rozmezí“).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Typy okna
Dotaz
45
Obrázek 2-10: Dotaz na binární výrok.
Obrázek 2-11: Dotaz na jednoduchý výrok.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
46
Obrázek 2-12: Dotaz na množinový výrok.
Obrázek 2-13: Dotaz na numerický výrok.
2.2.5 Ukládání odpovědí
Uložit odpovědi můžeme pomocí tlačítka „Uložit odpovědi“ v průběhu samotné konzultace (např. Obrázek 2-13) a nebo po jejím vyhodnocení v okně „Výsledky pravidlového
odvozování“ (viz Obrázek 2-15)
Po stisknutí tlačítka „Uložit odpovědi“ systém otevře okno „Uložení konzultace“, ve
kterém můžeme zadat popis konzultace (údaje zde vložené slouží uživateli pouze pro
pozdější lepší orientaci - čeho se uložené odpovědi týkají). Po potvrzení tlačítkem „OK“
vybereme klasicky cílový adresář pro uložení, případně můžeme zvolit (vypsáním) příponu.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
47
K ZAPAMATOVÁNÍ 12
Soubor s odpověďmi má vnitřní strukturu „xml“. Uložení odpovědí se hodí pro přerušení konzultace bez ztráty již zadaných odpovědí. Nebo k testování a ladění báze, kdy si
uložíme typické odpovědi, které by měly vést k jednomu z cílů (blíže viz kapitola 5.4
Odlaďování báze).
K ZAPAMATOVÁNÍ 13
Upozornění pro studenty používající nižší verzi NESTu než 2.1.0. V nižších verzích
se stávalo, že sobory s výsledky i soubory editované v NEST editoru nebylo možno nahrát do programu NEST. Problémům se dalo vyhnout po zeditování souboru (např.
v poznámkovém bloku) s výsledky či bází znalostí, ve kterém bylo nutno odstranit, ne
pouze vymazat obsah řádku, druhý řádek shora (viz. Obrázek 2-14: jedná se o začerněný
řádek s cestou k definičnímu souboru „base.dtd“).
Systémová
chyba
Obrázek 2-14: Úprava xml souboru.
2.2.6 Výsledky konzultace
Po zodpovězení všech dotazů inferenční mechanizmus vyhodnotí váhy a výsledky
NEST zobrazí v okně „Výsledky pravidlového odvozování“ (viz Obrázek 2-15). Systémově je nastaveno zobrazení vyhodnocení cílových výroků, ale uživatel si může přepínači v levé části okna zvolit zobrazení vyhodnocení všech výroků v kombinaci
s omezením jen kladné, jen záporné nebo všechny.
V tabulce, kde čteme výsledky konzultace vidíme sloupce: se jménem výroků, minimální a maximální hodnotou váhy, stavem a druhem výroku.
Stav výroku může nabývat hodnot:
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Stav
výroku
48
• Nedotčený znamená, že výrok vůbec nebyl při odvozování použit.
• Částečný znamená, že systém při odvozování na tento výrok narazil, ale při odvozování výsledků nakonec nebyl zcela potřeba, a tak jeho váha nemusí být dopočítána.
• Finální znamená, že tento výrok byl pro odvozování potřeba a že jeho váha má finální podobu.
• Provizionální znamená, že uživatel při některém dotazu odložil odpověď (viz složitější způsoby konzultace) a že po zodpovězení odložených odpovědí by se mohla
váha tohoto výroku ještě změnit.
Obrázek 2-15: Výsledky pravidlového odvozování.
Druhy výroků jsou:
• Cíl – výroky, jejichž váhu se systém snaží určit.
• Mezilehlý – výrok, který je použit jak v předpokladu, tak v závěru nějakého odvozovacího pravidla.
• Dotaz – výrok, který se nevyskytuje v závěru žádného pravidla, takže pokud chce
systém zjistit jeho váhu, musí se na něj zeptat uživatele.
K ZAPAMATOVÁNÍ 14
Povšimněme si prosím, že zelenou barvou vidíme kladně vyhodnocené výroky. Výroky
hodnocené nula (irelevantní výroky) jsou napsány černým fontem. Výroky hodnocené
záporně pak vidíme vyobrazeny červeným fontem.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
49
Výsledky pro pozdější použití - ať již k analýze nebo například pro dokumentaci - lze
samozřejmě exportovat do souboru. Export provedeme pomocí tlačítka „Export výsledků“. Po jeho stlačení systém zobrazí okno téhož jména (viz Obrázek 2-16), v němž můžeme zadat další podrobnější popis výsledků do textového pole „Popis konzultace“,
přepínači v oddílu „Exportovat do formátu“ určíme formát souboru s výsledky a zatrhávací volbou „Exportovat komentáře“ povolíme nebo zakážeme export komentářů.
Export
výsledků
Obrázek 2-16: Export výsledků.
ÚKOL K ZAMYŠLENÍ 4
Po porovnání souborů s exportem výsledků se zamyslete, k jakým účelům se různé typy
exportu hodí.
KORESPONDENČNÍ ÚKOL 1
Načtěte do NESTu bázi znalostí „Nemoce.xml“ a spusťte konzultaci.
1. Exportujte graf báze znalostí do soboru „Graf_baze_znalosti_nemoce.bmp“
2. Uložte odpovědi do souboru „nemoce_konzultace.xml“.
3. Exportujte výsledky konzultace do souboru „nemoce_vysledky.txt“, „nemoce_vysledky.htm“ a „nemoce_vysledky.xls“. Soubory s výsledky si prohlédněte a
srovnejte.
4. Všechny soubory odevzdejte na výukovém serveru.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Dovednosti zobrazení statistiky a export grafu báze znalostí, uložení odpovědí a také
export výsledků jsou dovednostmi, které můžete, a bude to také očekáváno, využít při
tvorbě dokumentace seminární práce.
SHRNUTÍ KAPITOLY PROSTŘEDÍ NEST
Po prostudování druhé kapitoly nyní víte, jak spolu souvisejí systémy SAK a NEST.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
kapitoly
50
Znáte několik bodů z vývoje systému NEST.
Víte, z jakých zdrojů lze získat instalační balík, a dokážete systém NEST nainstalovat a
nastavit důležitá nastavení. Umíte zavést bázi znalostí do programu NEST a získat nebo
exportovat informace o bázi znalostí. Umíte spustit a dokončit konzultaci včetně porozumění výsledků a jejich uložení do souboru. Také dokážete přerušit právě prováděnou
konzultaci, aniž by jste přišli o již zadané odpovědi.
PRŮVODCE STUDIEM 4
Nyní po seznámení se s NESTem a po první zkušenosti, jak konzultovat, bude jistě logické navázat v další kapitole odhalením struktury báze znalostí a fungováním inferenčního mechanizmu.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
51
3 STRUKTURA BÁZE ZNALOSTÍ A INFERENČNÍ MECHANIZMUS V NEST
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY STRUKTURA BÁZE ZNALOSTÍ
A INFERENČNÍ MECHANIZMUS V NEST
V prvé části kapitoly si v krátkosti představíme nabídky, jimiž ovládáme NEST editor.
Rychlý
náhled
V druhé části se budeme zabývat jednotlivými atributy báze znalostí. Vysvětlíme pojmy
atribut a výrok. Specifikujeme jednotlivé typy atributů a rozdělíme si výroky dle jejich
postavení v rámci báze znalostí. Ukážeme si jaký je formální zápis pravidla v NEST a
představíme si typy pravidel.
V poslední části kapitoly se dozvíte o způsobu odvozování a prohledávání báze znalostí
inferenčním mechanizmem v systému NEST.
CÍLE KAPITOLY STRUKTURA BÁZE ZNALOSTÍ A INFERENČNÍ MECHANIZMUS V
NEST
Po úspěšném a aktivním absolvování této KAPITOLY
Budete umět:
Budete
umět
• Ovládat program NEST editor.
• Vysvětlit rozdíl mezi pojmem atribut a výrok.
• Vysvětlit rozdíl mezi jednotlivými druhy pravidel.
• Popsat inferenční mechanizmus NESTu a postup při vlastním vyhodnocování báze.
Získáte:
Získáte
• Informace jakým způsobem lze zadávat atributy a výroky atributů.
• Informace o mechanizmu získání váhy numerického atributu.
• Potřebné informace o pravidle, jeho předpokladové i závěrové části.
Budete schopni:
• Editovat existující atributy a výroky v bázi znalostí.
• Správně použít při konstrukci báze jednotlivé druhy výroků.
• Správně zadat numerický atribut pomocí grafu fuzzy množin.
• Zadávat pravidla báze znalostí.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Budete
schopni
52
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování KAPITOLY je cca 180 minut včetně odzkoušení si některých dovedností v NEST editoru.
KLÍČOVÁ SLOVA KAPITOLY STRUKTURA BÁZE ZNALOSTÍ A INFERENČNÍ
MECHANIZMUS V NEST
NEST editor, základní a rozšířená nabídka, zadávání nových prvků báze, atribut x výrok,
binární atribut, jednoduchý atribut, množinový atribut, numerický atribut, fuzzy interval,
dělení výroků, hodnota atributu, obecný zápis pravidla, předpoklad, závěr, apriorní pravidlo, logické pravidlo, kompozicionální pravidlo, kontext, integritní omezení, odvozování a jeho mechanizmus v NEST.
Klíčová
slova
Než přejdeme k objasňování struktury báze znalostí, věnujme nejprve několik odstavců
nástroji pro její tvorbu, tedy NEST editoru.
3.1 NEST editor
NEST editor je součástí instalačního balíčku NEST. Po spuštění programu nám naběhne
obrazovka programu (viz Obrázek 2-4) a my můžeme založit novou bázi, nebo nahrát již
existující, dokončenou či rozpracovanou, bázi za účelem její editace.
Základní okno editoru obsahuje následující menu:
• Soubor – základní nabídka s nástroji pro manipulaci s bází na úrovni souboru.
o Nový – založení nové báze klávesová zkratka CTRL+N.
o Nový sklad případů NEST.
o Otevři – otevření již existující báze znalostí CTRL+O.
o Zavři – uzavření aktuálně otevřené báze.
o Ulož – uložení změn CTRL+S
o Ulož jako ... – uložení pod jiným jménem nebo volba formátu – výchozí formát
ukládání je xml, v této nabídce nkb (NEST Knowledge Base).
o Export báze – export báze znalostí do formátů txt nebo htm. Tedy do formátů
vhodných pro tvorbu dokumentace atp.
o Konec – ukončení programu.
• Nastavení.
o Nastavení ... – stejné jako v NEST (viz 2.2.2 Nastavení).
• Okno – množina voleb ovlivňující rozložení a vizáž okna při práci s více bázemi najednou. Položky jsou taktéž dostupné pomocí ikon pod systémem menu.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Základní
nabídka
53
o Kaskáda.
o Horizontální dlaždice.
o Vertikální dlaždice.
o Minimalizuj vše.
o Uspořádej vše.
• Nástroje.
o Zobraz graf – zobrazení grafu aktuální báze znalostí.
o Statistika – výpis informací o aktuální bázi znalostí.
o NEST – spuštění programu NEST – předpokládá správnou instalaci a nebo
správné nastavení (viz 2.2.2 Nastavení).
o Base convertor – spuštění konvertoru bází. Base convertor byl součástí instalačního balíku NEST (verze 1.4). Volba předpokládá opět správnou instalaci balíku
nebo správné nastavení (viz 2.2.2 Nastavení).
• Nápověda
o Nápověda
o O aplikaci
Po založení nové báze či načtení již existující báze znalostí přibudou v menu následující
položky:
• Edituj – soubor nabídek pro editaci jednotlivých složek báze znalostí.
K jednotlivým položkám, vzhledem k výkladu uváděnému v další části kapitoly, není potřeba uvádět podrobnosti.
o Atributy a výroky
o Pravidla
o Kontexty
o Integritní omezení
o Globální vlastnosti
• Kontrola
o Kontrola – volba je dosažitelná pomocí ikony v hlavním okně. Po zvolení systém provede kontrolu báze a případně ohlásí chyby (viz Obrázek 3-1).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Nabídka po
načtení
báze
znalostí
54
Obrázek 3-1: Ukázka chybového hlášení po spuštění kontroly báze znalostí.
Po načtení existující báze znalostí či založení nové báze znalostí se v okně NEST editoru
otevře okno aktuální báze, jež je rozděleno do sloupců, v nichž nalezneme postupně atributy, výroky, pravidla, kontexty a integritní omezení. Každý ze sloupců je rozdělen (defaultně) na poloviny, v horní části je vždy seznam např. atributů a v dolní části sloupce
pak nalezneme, po zakliknutí konkrétní položky z horní části sloupce, další upřesňující
parametry (viz Obrázek 3-2).
Obrázek 3-2: Okno NEST editoru po načtení existující báze znalostí.
3.1.1 Zadávání nových prvků báze znalostí
V následujícím textu ještě ukážeme, jakým způsobem vytváříme nové prvky tzn. atributy, výroky a pravidla v NEST editoru. Jak již bylo zmíněno, po založení nové báze (viz
kapitola 5.2 Založení nové báze na straně 82) či načtení existující báze vybereme pří-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
55
slušnou nabídku z menu (např. Edituj/Atributy a výroky) nebo dvojklikem myší v horní
polovině příslušného sloupce vyvoláme editační okno pro editaci či zadávání nového:
• Atributu nebo výroku (viz Obrázek 3-3.) Nově vytvořené atributy nebo již existující respektive jejich názvy bychom viděli v levém horním poli a jejich výrokové
stavy pak v poli pod atributy (viz např. Obrázek 3-6).
• Pravidla (viz Obrázek 3-4). Nově vytvořené pravidlo nebo seznam již existujících
pravidel bychom viděli v levém sloupci okna Pravidla (viz např. Obrázek 5-5 na str.
88).
K ZAPAMATOVÁNÍ 15
Je důležité si uvědomit (viz dále v rámci kapitoly) rozdíl mezi pojmy atribut a výrok.
Každý z atributů může nabývat jednoho či více výrokových stavů. Pravdivost či nepravdivost těchto výroků hodnotí u dotazů osoba provádějící konzultaci zadáním subjektivně
zvolené váhy v rozmezí, které systém dovoluje; u ostatních (mezilehlých či cílových)
výroků určuje váhu inferenční mechanismus na základě odvozování pomocí báze znalostí.
K ZAPAMATOVÁNÍ 16
Teprve po vytvoření atributů, alespoň dvou (jeden musí být binární nebo množinový,
aby mohl být zakomponován do závěrové části pravidla), můžeme začít s tvorbou pravidel.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Tvůrce báze může (jak jste si jistě všimli) dále zadávat mimo atributů, výroků a pravidel
také kontexty a integritní omezení. Kontexty a integritní omezení jsou však nástroje či
prvky báze znalostí, které se s úspěchem dají využít při zpracovávání středně velkých či
větších projektů, proto se zde jimi, respektive jejich tvorbou a editací dále nebudeme
detailněji zabývat.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
56
Obrázek 3-3: Editační okno Atributy – výroky pro vytváření nových atributů a jejich výroků s oknem
Nový atribut v popředí (po stisknutí tlačítka Nový atribut).
Obrázek 3-4: Editační okno Pravidla pro vytváření nových pravidel s oknem Nové pravidlo v popředí (po
stisknutí tlačítka Nové pravidlo).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
57
3.2 Reprezentace znalostí
3.2.1 Atributy a výroky
Atributy slouží k popsání vlastností objektů reálného světa. Nabývají různých hodnot,
podle kterých se pak určují váhy výroků, které jsou od atributů odvozeny. Existují
čtyři typy atributů:
Atribut
x
výrok
• binární;
• nominální jednoduchý;
• nominální množinový;
• numerický.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Rozumíš?
Obrázek 3-5: Zadávání nového binárního atributu.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
58
Binární atribut je základním typem atributu. Je od něj odvozen právě jeden výrok se
stejným jménem. Tento výrok, stejně jako atribut, od kterého je odvozen, pak nabývá
určité váhy reprezentující jeho „pravdivost“. Váha je udávána pomocí intervalu, čímž je
umožněno vyjadřovat i částečné znalosti o pravdivosti atributu, resp. výroku.
Binární
atribut
Například pracujeme-li na váhovém rozsahu [-1;1] (pokud nebude řečeno jinak, bude ve
všech následujících příkladech používán tento váhový rozsah), následující váhy znamenají toto:
• [-1;-1] – výrok jistě neplatí (FALSE);
• [ 1; 1] – výrok jistě platí (TRUE);
• [-1; 1] – o výroku nevíme nic (UNKNOWN);
• [ 0; 0] – výrok je irelevantní (IRRELEVANT).
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Rozumíš?
Obrázek 3-6: Zadávání jednoduchého atributu.
Nominální jednoduchý atribut (nebo jen Jednoduchý atribut) je atribut, který může
nabývat právě jedné hodnoty z daného seznamu hodnot. Typickým příkladem je „typ
účtu“ v bance. Od tohoto atributu je pak odvozeno právě tolik výroků, kolik je možných
hodnot, kterých může atribut nabývat (výrok je již stejný, jako u binárního atributu).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Jednoduchý atribut
59
Pokud je atributu přiřazena nějaká hodnota (s váhou), tuto váhu dostane jen příslušný
výrok a všem ostatním výrokům je přiřazena váha „FALSE“.
Je-li například zadáno, že uživatel si založil běžný účet s váhou [0,6;0,6], pak všem
ostatním typům účtu je přiřazena váha „FALSE“.
K ZAPAMATOVÁNÍ 17
Všimněte si, že (na rozdíl od binárního atributu) atribut jednoduchý může nabývat jednoho z více výrokových stavů. Nové výroky zadáváme pomocí tlačítka „Nový výrok“.
ODMĚNA A ODPOČINEK
Odměna a
odpočinek
Obrázek 3-7: Zadávání množinového atributu.
Nominální množinový atribut (nebo jen Množinový atribut) je podobný „Jednoduchému atributu“, jen může nabývat libovolného počtu hodnot z daného seznamu. Příkladem může být atribut „světové jazyky, kterými člověk hovoří“. Od tohoto atributu je
opět odvozeno tolik výroků, kolik je možných hodnot, které může atribut nabývat. Při
přiřazení určitých hodnot atributu se přenese váha na příslušné výroky a hodnotám (resp.
výrokům), kterým nebyla přiřazena žádná váha, se pak přiřadí předem nastavená váha
(UNKNOWN nebo IRRELEVANT).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Množinový
atribut
60
ODMĚNA A ODPOČINEK
Odměna a
odpočinek
Obrázek 3-8: Zadávání numerického atributu.
Numerický atribut je atribut, který nabývá číselné hodnoty z předem zadaného rozmezí. Jako příklad lze uvést „velikost platu“. Od tohoto atributu může být odvozeno libovolné množství výroků, přičemž každý výrok má zadanou váhovou funkci, která
převede číselnou hodnotu na váhu.
Váhová funkce je zadávána pomocí tzv. fuzzy intervalu, který má lichoběžníkový, případně trojúhelníkový tvar charakteristické funkce (viz Obrázek 3-9). Zadávání numerického atributu je dokumentováno pomocí obrázku Obrázek 3-8; zadání výroku „hot“ odpovídá obrázku Obrázek 3-9.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Numerický
atribut
61
Obrázek 3-9: Fuzzy intervaly.
Podle postavení v bázi znalostí lze výroky dělit na dotazy (výrok není v závěru žádného
pravidla), mezilehlé výroky (výrok je v závěru nějakého pravidla i v předpokladu nějakého pravidla) a cíle (výrok není v předpokladu žádného pravidla). Pokud není výrok
použit ani v předpokladu, ani v závěru pravidla, jedná se o tzv. osamocený výrok, který
NEST zcela ignoruje.
Dělení
výroků
Atributy můžeme dle rozsahu dělit na „případové“ a „obecné“. Případové atributy popisují konkrétní konzultovaný případ, zatímco obecné atributy jsou stálé pro více konzultací (např. úroková míra).
Hodnotu určitého atributu může systém získat z různých zdrojů. Standardně se systém
snaží získat hodnoty „inferencí“ (odvozováním) pomocí pravidel, jedná-li se o cíle či
mezilehlé atributy, nebo dotazem „od uživatele“, jedná-li se o dotaz. Dalším zdrojem
může být „soubor“, jehož první řádek se systém pokusí interpretovat jako příslušnou
hodnotu. Čtvrtým zdrojem je „externí funkce“, která vytvoří soubor s příslušnou hodnotou a z tohoto souboru pak hodnotu načte. Poslední dva uvedené zdroje mohou být použity pouze pro binární a numerické atributy. Posledním zdrojem je „výpočet“ (lze použít
jen pro numerické atributy), kdy hodnota atributu je spočítána z hodnot jiných numerických atributů a zadaných čísel s použitím matematických operací sčítání, odčítání, násobení a dělení. Zdroje lze nastavit tak, aby v případě neúspěchu jednoho byl použit jiný.
Každý atribut či výrok může mít přidělené určité akce. Akcí se rozumí externí program,
který je spuštěn, pokud výrok nabude alespoň takové váhy, která je u akce zadána.
3.2.2 Pravidla
Základní podoba pravidel v NESTu je následující:
kontext: IF předpoklad THEN závěr1[váha1],...,závěrN[váhaN]
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Obecný
zápis
62
Kontext rozhoduje o tom, zda se dané pravidlo bude aplikovat či nikoliv. Blíže je o kontextech pojednáno v následující sekci.
Předpoklad pravidla je tvořen disjunktivní normální formou, neboli disjunkcí libovolného množství „výrazů“, přičemž „výrazem“ může být buď výrok, nebo konjunkce
výroků. Je-li předpoklad splněn, je závěru pravidla připočítán příslušný příspěvek tohoto pravidla. Aby byl předpoklad splněn, musí jeho celková váha (o jejím vypočítání viz
sekce „práce s neurčitostí“) přesáhnout „práh platnosti předpokladu“, který je implicitně
nastaven na nulu.
Předpoklad
Závěr pravidla je tvořen výrokem a váhou, která slouží pro výpočet příspěvku pravidla k danému výroku a představuje neurčitost v bázi znalostí. Pokud má pravidlo
více závěrů, výsledný efekt je stejný, jako by existovalo více pravidel se stejnými předpoklady a příslušnými závěry.
Závěr
K ZAPAMATOVÁNÍ 18
Na rozdíl od předpokladu můžeme v závěru pravidla použít pouze výroky binárních a
množinových atributů. Výroky jednoduchých atributů nemůžeme použít, neboť jejich
platnost se v reálu vylučuje (platí vždy pouze jeden výrok z množiny).
Každé pravidlo má zadanou svou prioritu (číslo z intervalu [0;1]), podle které může být
postupováno při výběru pravidel pro aplikaci při odvozování. (O odvozování blíže viz
sekce „Inferenční mechanismus“.)
Pravidla se dělí do třech základních typů:
• apriorní pravidla;
• logická pravidla;
• kompozicionální pravidla.
Apriorní pravidla jsou taková pravidla, která platí vždy, tj. nemají předpoklad (ani
kontext), resp. jako předpoklad je brána hodnota „TRUE“. Tato pravidla umožňují přiřadit výrokům implicitní váhu.
Apriorní
pravidlo
Logická pravidla jsou pravidla, jejichž závěr nenabývá hodnot z celého intervalu [-1;1]
(resp. [-rozsah vah; rozsah vah]), ale nabývá jen „logických hodnot“. Je li předpoklad
splněn (tj. pokud dolní hranice váhového intervalu přesáhne práh zadaný pro toto pravidlo), je váha závěru „TRUE“, resp. „FALSE“ (pokud je negace závěru), není-li předpoklad splněn, váha závěru je „IRRELEVANT“. Pouze tato pravidla mohou dát absolutní
jistotu ±1.
Logické
pravidlo
Kompozicionální pravidla pracují na celém intervalu [-1;1] tak, jak je vysvětleno v
sekci „práce s neurčitostí“.
Kompozicionální
pravidlo
Pravidlu může být přiřazena „akce“ stejně jako je tomu u výroku. Tato akce je spuštěna,
jakmile je pravidlo „použito“, tj. předpoklad pravidla je splněn a jsou učiněny příslušné
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
63
závěry.
3.2.3 Kontexty
Kontexty jsou, podobně jako předpoklady pravidel, disjunktivní normální formy literálů,
které (v případě kladné váhy) určují, že je aplikovatelné nějaké pravidlo či integritní
omezení. Kontexty se tedy používají pro členění báze znalostí (pravidel, integritních
omezení) do relativně samostatných částí.
3.2.4 Integritní omezení
Integritní omezení mají stejnou podobu jako kompozicionální pravidla. Základní rozdíl
je v tom, že integritní omezení se nepodílejí na odvozování závěrů, ale jsou vyhodnocovány samostatně po skončení odvozování. Slouží pro formulování dodatečných podmínek, které by měly platit po skončení konzultace mezi literály. Pokud je integritní omezení splněno, systém to nedá nijak najevo. Pokud však splněno není, je uživatel upozorněn, že byla porušena omezení (a samozřejmě která).
3.3 Inferenční mechanismus
3.3.1 Odvozování v síti pravidel
Inference v systému NEST je kombinací zpětného a přímého řetězení. Na začátku
konzultace systém vezme všechny cíle (cílem je buď výrok, který není použit v předpokladu žádného pravidla, nebo výrok, který uživatel označí jako cílový), postupně je
označuje jako „aktuální“ a snaží se je vyhodnotit.
„Aktuální“ výrok je nejprve vyhodnocován metodou zpětného odvozování následujícím
způsobem:
• Je zkontrolováno, není li aktuální výrok již vyhodnocen (nachází se ve stavu „final“). Pokud ano, je vyhodnocování ukončeno.
• Následuje zjištění, z jakých zdrojů se má váha výroku zjišťovat. Pokud je zdroj jiný
než „inference“, je vyhodnocování přerušeno a je spuštěn příslušný zdroj. Pokud
zdroj není uveden, použije se „inference“.
• Jsou zjištěna všechna pravidla, ve kterých je výrok v závěru. Pokud neexistuje žádné
takové pravidlo, je vyhodnocování přerušeno a je položen dotaz uživateli (efekt je
stejný, jako by byl u výroku zadán zdroj „uživatel“). Jsou li známy příspěvky všech
pravidel potřebných pro odvození váhy výroku (všechna kompozicionální pravidla
nebo část logických pravidel, u kterých se příspěvky skládají pomocí disjunkce), je
vypočtena výsledná váha výroku (pomocí funkce GLOB – viz sekce „neurčitost“),
stav výroku je označen jako finální a vyhodnocování je ukončeno (nikoliv přerušeno). Pokud nejsou známy příspěvky potřebných pravidel, pravidla jsou seřazena dle
zadané priority (od začátku, od konce, minimální délka, maximální délka, dle zadání
experta), systém vezme první nevyhodnocené pravidlo a pokusí se zjistit jeho pří-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Mechanizmus
NESTu
64
spěvek následovně:
o Pokud není známa váha kontextu, tato váha se zjistí (probíhá stejně jako zjišťování váhy předpokladu). Je li váha kontextu (její maximální hranice) menší nebo
rovna prahu platnosti kontextu, je příspěvek pravidla „IRRELEVANT“ (tj. nulový).
o Je zjištěna váha předpokladu tak, že nejprve je zjištěna váha všech výrazů (u výroků se vezme jejich váha, u konjunkcí je váha jednotlivých výroků vyhodnocena
pomocí funkce CONJ) a jednotlivé výrazy jsou vyhodnoceny pomocí funkce
DISJ. Pokud váha některého výroku není známa (výrok není ve stavu „final“), je
tento výrok označen za „aktuální“ a je pro něj spuštěno vyhodnocování.
o Pomocí funkce CTR je spojena váha předpokladu a váha kontextu (má li pravidlo
kontext) a výsledná váha je opět pomocí funkce CTR spojena s vahou jednotlivých závěrů. Tím je pravidlo vyhodnoceno a jeho stav je označen jako „final“
(zároveň jsou spuštěny jeho „akce“).
Je li odvozování přerušeno, je zjištěn atribut, od kterého je odvozen výrok, při jehož
vyhodnocování došlo k přerušení. Hodnota tohoto atributu je zjištěna z příslušného zdroje (dotazem od uživatele, ze souboru či externí funkce nebo pomocí výpočtu). Poté, co je
hodnota zjištěna, je spočítána příslušná váha všech výroků, které jsou od daného atributu
odvozeny, a jejich stav je označen jako „final“. (Stejně jsou vzaty i výroky odvozené od
numerických atributů, které mají jako zdroj daný atribut.) Pro tyto výroky systém postupně spouští přímé odvozování, které probíhá takto:
• Pro výrok jsou zjištěna všechna pravidla, ve kterých je použit v předpokladech.
• Pravidlo je vyhodnoceno stejným způsobem jako tomu bylo při zpětném odvozování
s tím rozdílem, že pokud při vyhodnocování nějakého výroku z předpokladu pravidla dojde k přerušení, toto přerušení je ignorováno a místo toho je ukončeno vyhodnocování tohoto pravidla (to znamená, že se neposílá dotaz uživateli ani není použit
jiný zdroj).
• Je li pravidlo úspěšně vyhodnoceno, procházejí se postupně výroky ze závěrů pravidla. Tento výrok je nejprve vyhodnocen metodou zpětného odvozování s tím, že je
opět ignorováno přerušení a místo něj je vyhodnocování výroku ukončeno. Pokud se
povede výrok vyhodnotit, je pro něj spuštěna metoda přímého odvozování.
KORESPONDENČNÍ ÚKOL 2
Založte novou bázi znalostí a dle obrázku Obrázek 3-9 zadejte numerický atribut. Bázi
uložte a odevzdejte v rámci elektronického kurzu.
KONTROLNÍ OTÁZKA 2
Jakým druhem atributu by jste popsali v bázi znalostí zabývající se rozhodováním o výpočetní technice situaci, že počítač může být na základě jistých dříve zjištěných výroků
desktop, notebook nebo PDA? Zdůvodněte.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
65
KONTROLNÍ OTÁZKA 3
Vysvětlete jak rozumíte následujícímu pravidlu:
IF HCD AND teplota(zvysena) THEN diagnoza(Chripka)[3,000],
diagnoza(Nachlazeni)[-2,000]
SHRNUTÍ KAPITOLY STRUKTURA BÁZE ZNALOSTÍ A INFERENČNÍ
MECHANIZMUS V NEST
V právě prostudované kapitole jsme se krátce seznámili s programem NEST editor. Již
víme, ze kterých komponent se skládá vlastní báze znalostí, a po prostudování přiložených obrázků a splnění úkolů na konci kapitoly umíme zadat či zeditovat jednotlivé atributy a jejich výroky.
Nahlédli jsme také do principu práce inferenčního mechanizmu NESTu.
ŘEŠENÍ A ODPOVĚDI
Návod pro korespondenční úkol. Novou bázi znalostí založíme po spuštění NEST editoru stiskem klávesové zkratky CTRL+N. Po jejím stisknutí se objeví okno, do nějž může uživatel vepsat základní informace o bázi znalostí (viz blíže kapitola 5.2 Založení
nové báze na straně 82). Jelikož v zadání není bližší specifikace, okno pouze zavřeme
tlačítkem Zavřít a můžeme zadávat numerický atribut.
Kontrolní otázka: Jelikož je v zadání napsáno, že platnost stavů je určována na základě
dříve zjištěných výroků, předpokládáme, že se bude jednat o atribut, mezilehlý případně
cílový, tzn. výroky tohoto atributu musejí být obsaženy v závěrech nějakých pravidel,
proto ačkoli v praxi počítač může být pouze jedním z vyjmenovaných druhů (tedy jen
desktop, nebo jen notebook a nebo jen PDA), použijeme atribut množinový. Byl-li by
tento atribut atributem základním, použili bychom samozřejmě pro jeho konstrukci atributu jednoduchého.
Kontrolní otázka: Jestliže platí výrok HCD a zároveň výrok zvysena atributu teplota
pak platí: výrok Chripka atributu diagnoza s vahou 3 a výrok Nachlazeni atributu diagnoza s vahou -2. Protože toto pravidlo je vybráno z báze znalostí nemoce.xml, můžeme
volně formulovat, že daným pravidlem je reprezentována zhruba následující znalost:
Pokud má pacient zánět horních cest dýchacích (HCD) a zároveň má zvýšenou teplou
pak zcela jistě trpí chřipkou a téměř jistě netrpí nachlazením.
PRŮVODCE STUDIEM 5
Kapitolu jsme ukončili stručným vysvětlením inferenčního mechanizmu. Víme, že při
průchodu bází znalostí dochází k výpočtu neznámých vah jednotlivých výroků. Váhy
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
kapitoly
66
výroků odvozuje nebo chcete-li vypočítává inferenční mechanizmus pomocí funkcí,
které si představíme v navazující kapitole.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
67
4 NEURČITOST V NEST
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY NEURČITOST V NEST
Kapitola je dělena na dvě logické části. V první budou představeny funkce pro zpracování neurčitosti standardním přístupem systému NEST. Ve druhé části si pak na praktickém příkladu ukážeme výpočet neurčitosti. A konečně si ukážeme jak postupovat při
vlastní konzultaci, chceme-li, aby NEST zpracovával neurčitost jiným než standardním
způsobem.
Rychlý
náhled
CÍLE KAPITOLY NEURČITOST V NEST
Po úspěšném a aktivním absolvování této KAPITOLY
Budete umět:
Budete
umět
• Použít jednotlivé funkce práce s neurčitostí.
Získáte:
Získáte
• Znalost o tom, jak systém pracuje s neurčitostí.
• Přehled o funkcích, jež mohou být použity v rámci vyhodnocování konzultace inferenčním mechanizmem.
Budete schopni:
Budete
schopni
• Vypočítat váhy výroků báze znalostí standardním mechanizmem pro práci
s neurčitostí.
• Provádět konzultace v systému NEST za pomocí libovolného v systému NEST dostupného mechanizmu práce s neurčitostí.
• Porovnat výsledky konzultací nad jedinou bázi znalostí, při stejných hodnotách odpovědí a při odlišném způsobu práce s neurčitostí.
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování KAPITOLY je 120 minut.
KLÍČOVÁ SLOVA KAPITOLY NEURČITOST V NEST
Přístupy práce s neurčitostí, standardní mechanizmus, funkce: NEG, CONJ, DISJ, CTR
a GLOB, pomocné funkce: NORM a IMP, standartní výpočet.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Klíčová
slova
68
4.1 Práce s neurčitostí
Systém NEST pracuje s váhami, které vyjadřují neurčitost v bázi znalostí i neurčité odpovědi během konzultace. Zatímco váhy pravidel jsou zadávány pouze jednou hodnotou,
během konzultace se používá pro vyjádření váhy interval. Váhy pravidel w (a případně i
jednohodnotové odpovědi uživatele či jiných zdrojů) jsou převedeny na jednobodový
interval [w;w].
Způsob práce s neurčitostí vychází z algebraické teorie skládání vah, jak uvádí [HAJ85]
(lze též nalézt v [BER98]). NEST používá 5 základních funkcí (NEG, CONJ, DISJ,
CTR, GLOB) a 2 pomocné (NORM, IMP). Tyto funkce jsou definované na intervalu [1;1] (funkce NORM je definovaná na množině reálných čísel a slouží pro normování
intervalů na tento rozsah).
Systém nabízí 4 inferenční mechanismy (tj. 4 podoby těchto funkcí) – standardní, logický, neuronový a hybridní. Standardní inferenční mechanismus vychází ze způsobu práce
s neurčitostí v systémech MYCIN a PROSPECTOR, logický inferenční mechanismus je
založen na vícehodnotové logice – funkce CTR je fuzzy modus ponens a funkce GLOB
je fuzzy disjunkce v Łukasiewiczově13 sémantice, neuronový inferenční mechanismus je
inspirován modelem neuronu a hybridní inferenční mechanismus je kombinací standardního a logického. Pět funkcí (NEG, CONJ, DISJ, NORM, IMP) je definováno pro
všechny typy inferenčních mechanizmů stejně, ve zbylých dvou funkcích (CTR a
GLOB) jsou odlišnosti.
Inferenční
mechanizmy NEST
4.2 Funkce pro práci s neurčitostí
4.2.1 Funkce NEG
Funkce NEG slouží pro výpočet váhy negace výroku. Je definována následovně:
NEG(w) = –w
resp. pro práci s intervalem [w1;w2]:
NEG([w1;w2]) = [-w2;-w1]
4.2.2 Funkce CONJ
Funkce CONJ slouží pro výpočet váhy konjunkce dvou výroků. Je definována následovně:
13
Jan Łukasiewicz – (21.12.1878 – 13.2.1956) polský matematik a filozof; tvůrce více hodnotové logiky někdy také
nazývané jako Łukasiewiczova logika.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
69
CONJ(v,w) = min(v,w)
resp. pro práci s intervaly [v1;v2],[w1;w2]
CONJ([v1;v2],[w1;w2]) = [min(v1,w1); min(v2,w2)]
4.2.3 Funkce DISJ
Funkce DISJ slouží pro výpočet váhy disjunkce dvou výrazů. Je definována následovně:
DISJ(v,w) = max(v,w)
resp. pro práci s intervaly [v1;v2],[w1;w2]
DISJ([v1;v2],[w1;w2]) = [max(v1,w1); max(v2,w2)]
4.2.4 Funkce CTR
Funkce CTR (z anglického contribution) slouží pro výpočet příspěvku pravidla, resp. pro
složení vah kontextu a předpokladu pravidla. Je definována následovně:
• standardní, neuronový a hybridní inferenční mechanismus:
CTR(a,w) = 0
CTR(a,w) = a * w
; a ≤ 0
; a > 0
• logický inferenční mechanismus:
CTR(a,w) = 0
; a < 0
CTR(a,w) = sign(w) * max(0,a + |w| – 1) ; a ≥ 0
Pro práci s intervaly [a1;a2],[w1,w2] se pak používá výraz
CTR([a1;a2],[w1,w2]) = [CTR(a1,w1);CTR(a2,w2)]
4.2.5 Funkce GLOB
Funkce GLOB slouží pro skládání příspěvků více pravidel. Je definována následovně:
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
70
• standardní inferenční mechanismus
GLOB(v,w) = 0; (v = 1, w = –1) nebo (v = –1, w = 1)
GLOB(v,w) = (v + w)/(1 + v * w)
• logický a hybridní inferenční mechanismus
GLOB(w1...wn) = min(Σw>0w ,1)
+
max(Σw<0w, 1)
• neuronový typ neurčitosti
GLOB(w1...wn) = min(max(sΣw, –1), 1) kde s = 1
Pro práci s intervaly [a1;a2],[w1,w2] se pak používá výraz
GLOB([a1;a2],[w1,w2]) = [GLOB(a1,w1);GLOB(a2,w2)]
4.2.6 Funkce NORM
Jediná funkce, která je definována i mimo interval [ 1;1], slouží pro ořezávání vah právě
na tento interval, pokud je někde přesažen. Funkce je používána po výpočtu příspěvku
kompozicionálního pravidla pomocí funkce CTR a po složení všech příspěvků pravidel
u výpočtu váhy výroku pomocí funkce GLOB. Funkce je definována následovně:
NORM(w) := min(max(w, rozsah), rozsah)
resp. pro práci s intervalem [w1;w2]:
NORM([w1;w2]) = [min(max(w1, rozsah), rozsah); min(max(w2,rozsah), rozsah)]
kde rozsah = 0,999 (resp. počet devítek za desetinnou čárkou odpovídá počtu desetinných míst, se kterými právě systém pracuje).
4.2.7 Funkce IMP
Funkce IMP je používána pro výpočet výsledné váhy integritního omezení. Rozhoduje
tedy o tom, zda integritní omezení bylo porušeno či nikoliv a do jaké míry. Je definována následovně:
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
71
IMP(w,v) = 0; w <= 0
IMP(w,v) = max(0, min(w – v)) ; w > 0
resp. pro práci s intervalem [w1;w2]:
IMP([w1;w2],[v1,v2]) = [max(0, w1 – v1); max(0, w2 – v2)]
kde w je váha předpokladu integritního omezení (případně upravená pomocí kontextu
funkcí CTR) a v je váha jeho závěru.
PRŮVODCE STUDIEM 6
Dosud jsme se zabývali teorií vlastního výpočtu. Ve druhé části kapitoly se zaměříme na
praktické procvičení výpočtu a případné možnosti srovnání přístupů k neurčitosti na
základě konzultací v NEST.
4.3 Příklad výpočtu
ŘEŠENÝ PŘÍKLAD 4-1
Spustíme konzultaci nemoce.xml se standardním inferenčním mechanismem a
v rámci konzultace zadáme odpovědi viz. Tabulka 4-1. Necháme vyhodnotit konzultaci a necháme si vysvětlit, jak systém postupoval v případě určení vah pro cílový výrok TBC. Použijeme informace z již zmiňované tabulky (Tabulka 4-1) a
z vysvětlovacího modulu a pokusíme se ručně přepočítat váhy určené systémem dle
teorie vysvětlené v této kapitole.
Atribut
Pacient je bledý
Dýchavičnost
Teplota
Další příznaky
Další příznaky
Výrok
Pacient je bledý
Dýchavičnost
Teplota
Kašel
Rýma
Odpověď
1
1
37
3
1
Tabulka 4-1: Tabulka odpovědí uživatele v rámci konzultace nemoce.při rozsahu vah od -3 (jistě
ne) až po 3 (jistě ano). Atribut teplota je zadáván numericky
Řešení příkladu
Výroky
Min váha < Max váha
Stav
Druh Komentář
diagnoza(TBC)
1,779
1,779
finální
cíl
diagnoza(Nachlazeni)
1,285
1,285
finální
cíl
-0,857
-0,857
finální
cíl
diagnoza(Chripka)
Tabulka 4-2: Tabulka výsledků konzultace nemoce.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
72
Obrázek 4-1: Graf vysvětlujícího modulu pro cílový výrok TBC. Zelené identifikátory pravidel
zapůsobily kladným způsobem v rozhodování pro variantu či lépe cílový výrok TBC.
Znalosti, které mají vliv při rozhodování či výpočtu konečné váhy cílového výroku
TBC:
c1 IF bledost THEN diagnoza(TBC)[1,0]: 0,333
c2 IF dychavicnost THEN plice[2,0]: 0,667
c3 IF priznaky(kasel) THEN plice[2,0]: 2,000
c6 IF plice THEN diagnoza(TBC)[2,0]: 1,548
c9 IF NOT(bledost) THEN diagnoza(TBC)[-1,0]: 0,000
c10 IF NOT(dychavicnost) AND NOT(priznaky(kasel)) THEN
plice[-3,0]: 0,000
c12 IF NOT(plice) THEN diagnoza(TBC)[-3,0]: 0,000
Všimněme si nejdříve pravidel c2, c3, která vedou k mezilehlému výroku plice a
mají (více či méně) splněný předpoklad. Obě pravidla mají váhu 2,0. Předpoklad
pravidla c3 je splněn s maximální jistotou, takže jeho příspěvek je roven jeho váze,
tj. 2,0. Oproti tomu předpoklad pravidla c2 je splněn pouze s váhou 1 (odpověď
trochu ano), tj. z jedné třetiny, takže příspěvek tohoto pravidla je 0,667 (ve standardním přístupu k práci s neurčitostí je dán součinovou funkcí
CTR=2*1/3=0,667). Výsledná váha výroku plice je pak dána agregací těchto
dvou příspěvků pomocí standardní funkce GLOB (pozor – před použitím funkce
musíme váhy převést na jednotkový interval a poté výsledek opět přepočítat na
interval [-3;3]):
GLOB(2,0/3; 0,667/3) =
= (0,667 + 0,222) / (1 + 0,667 * 0,222) =
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Standardní
výpočet
73
= 0,889 / 1,148 = 0,774
Váha výroku plice tedy bude 2,323. Pravidlo c6 z něj pomocí standardní funkce
CTR odvodí příspěvek 2,323/3 * 2,0 = 1,549 k cílovému výroku diagnoza(TBC).
Příspěvek pravidla c9 k témuž výroku je 0,333, neboť váha předpokladu i váha
samotného pravidla je 1. Spojení obou příspěvků určuje opět funkce GLOB:
GLOB(1,549/3; 0,333/3) =
= (0,516 + 0,111) / (1 + 0,507 * 0,111) =
= 0,627 / 1,057 = 0,593,
takže výsledná váha výroku diagnoza(TBC) je 1,779.
Pokud bychom pro zpracování neurčitosti v této konzultaci použili logický inferenční mechanismus, situace by se značně změnila: Pravidlo c2 by mělo pomocí
přísné logické funkce CTR nulový příspěvek, neboť součet vah předpokladu (1/3) a
pravidla (2/3) není větší než 1. Výrok plice je tak odvozen pouze pravidlem c3
s váhou 2. Příspěvek pravidla c6 je pak roven 2/3 + 2/3 – 1 = 1/3, tj. 1 v naší škále.
Pravidlo c9 bude mít z logického hlediska také nulový příspěvek (součet neurčitostí
předpokladu a pravidla je pouze 2/3, což je málo na to, aby mělo nějaký efekt).
Výsledná váha výroku diagnoza(TBC) je tak při použití logického inferenčního
mechanismu 1,0.
Poznamenejme, že tento příklad je spíše atypický, nejčastěji nedochází k tak výrazným rozdílům a pořadí cílových výroků podle získaných vah bývá obdobné ve
všech implementovaných modelech práce s neurčitostí.
*
4.4 Srovnání přístupů práce s neurčitostí v NEST
Jak již bylo zmíněno, jedním z účelů systému SAK a potažmo NEST bylo mimo jiné
umožnit srovnání přístupů zpracování neurčitosti. Systém NEST umožňuje tvůrci báze
znalostí zadat a porovnat výsledky konzultací pří následujících přístupech práce s neurčitostí:
• Standardní přístup – založený na pravděpodobnosti.
• Logický přístup – založený na fuzzy logickém přístupu.
• Neuronový přístup – založený na přístupu z oblasti neuronových sítí.
• Hybridní přístup – je přístup kombinující standardní a fuzzy logický přístup.
Při průchodu bází znalostí NEST přepočítává váhy pomocí funkcí popisovaných
v kapitole 4.2 Funkce pro práci s neurčitostí přístupem, který je zadán při vytváření báze
znalostí. Uživatel však může přístup k zpracování neurčitosti změnit viz Obrázek 4-2
před zahájením vlastní konzultace.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
74
Obrázek 4-2: Volba přístupu při zpracování neurčitosti v NEST
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Za účelem srovnání výsledků doporučujeme vyhodnotit konzultaci standardním způsobem a výsledky konzultace jakož i vlastní odpovědi uložit. Před dalším spuštěním konzultace jednoduše nahrajete uložené odpovědi (viz kapitola 2.2.3 NEST – základní možnosti a spuštění konzultace) a změníte typ zpracování neurčitosti (Obrázek 4-2). Uložené
výsledky pak lze jednoduše porovnat např. v tabulkovém kalkulátoru MS-Excel.
SAMOSTATNÝ ÚKOL 1
Srovnejte výsledky konzultací nad bází znalostí nemoce.xml za použití:
1. Standardního mechanizmu
2. Logického mechanizmu
3. Neuronového mechanizmu
Jako vstupní hodnoty použijte tabulku Tabulka 4-1.
SHRNUTÍ KAPITOLY NEURČITOST V NEST
V právě prostudované kapitole jste se seznámili s mechanizmem zpracování neurčitosti a
výpočtu vah při tzv. standardním přístupu systému NEST. Měli by jste umět použít jednotlivé funkce. Také by jste měli být schopni ovlivnit způsob práce s neurčitostí
v samotné aplikaci.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
kapitoly
75
ŘEŠENÍ A ODPOVĚDI
Mechanizmus
1
Výroky
1,779
1,779
diagnoza(Nachlazeni)
1,285
1,285
-0,857
-0,857
1,285
1,285
1
1
-0,285
-0,285
diagnoza(Nachlazeni)
diagnoza(TBC)
diagnoza(Chripka)
3
Max váha
diagnoza(TBC)
diagnoza(Chripka)
2
Min váha <
diagnoza(TBC)
2,111
2,111
diagnoza(Nachlazeni)
1,285
1,285
-0,857
-0,857
diagnoza(Chripka)
Všimněte si prosím, že výsledky logického mechanizmu jsou zcela odlišné od ostatních
dvou; diagnózou s největší vahou je nachlazení, kdežto v druhých dvou případech je to
TBC (i když i v těchto případech se konkrétní váha liší).
PRŮVODCE STUDIEM 7
V současné době jsme již načerpali dostatek informací, abychom rozuměli (alespoň
rámcově), jak pracuje program NEST. Měli bychom také z předchozího textu být schopni vybrat vhodnou oblast pro řešení pomocí nástrojů znalostního inženýrství. Proto následující kapitola naváže nastíněním možného postupu při práci nad úlohou zpracovávanou v NESTu.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
76
5 APLIKACE V NEST
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY APLIKACE V NEST
Kapitola Aplikace v NEST bude ryze praktická. Pokusíme si nastínit jak vybrat vhodné
téma (např. pro seminární práci), kterak postupovat při samotném uchopení problému a
zorientování se, nalezení atributů, započetí vlastní práce v NEST editoru a tvorby pravidel, dále možnostem při ladění báze znalostí a možností výstupu použitelných pro dokumentační účely.
Rychlý
náhled
Kapitola bude tedy zaměřena na získání ryze praktických znalostí a dovedností pomocí
názorných ukázek.
CÍLE KAPITOLY APLIKACE V NEST
Po úspěšném a aktivním absolvování této KAPITOLY
Budete umět:
Budete
umět
• Graficky reprezentovat váš konkrétní problém a grafickou reprezentaci dále využít
pro zadávání atributů báze znalostí.
• Založit vlastní bázi znalostí a konkrétním nastavením ovlivnit její chování při konzultaci.
• Zadávat a editovat atributy, výroky a pravidla.
• Zapisovat i složitá pravidla obsahující konjunkci či disjunkci v předpokladu a budete
umět použít negaci výroku.
Získáte:
Získáte
• Informace jak postupovat při výběru tématu.
• Způsoby jak nalézt znalosti.
• Vysvětlení k čemu slouží komentáře v bázi znalostí.
• Návod jak postupovat při ladění báze znalostí.
Budete schopni:
• Na základě analogie ilustrovaného příkladu si vybrat vlastní téma seminární práce,
téma analyzovat a pomocí postupných kroků dovést do úspěšného konce.
• Zvolit cílové výroky.
• Identifikovat na základě analýzy problému mezilehlé roviny.
• Znalosti zapisovat pomocí pravidel do báze znalostí.
• Na základě uplatnění složitých pravidel a negací v nich a uváženými a opodstatně-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Budete
schopni
77
nými změnami vah ladit bázi znalostí.
• Tvořit dokumentaci a vysvětlit její smysl.
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování, v případě souběžného praktického odzkoušení
v programu NEST editor, KAPITOLY je minimálně 240 minut. Pokud se student bude
zároveň se studiem textu zabývat i výběrem a plněním korespondenčních úkolů,
s největší pravděpodobností tento čas lehce přesáhne. Protože je kapitola časově náročná
a poměrně stěžejní především vzhledem k požadavku vypracování vlastního projektu
rozdělili jsme text do čtyř logických celků oddělených upozorněním na čas k odpočinku.
KLÍČOVÁ SLOVA KAPITOLY APLIKACE V NEST
Vhodné oblasti, získávání znalostí, výběr cíle, založení báze, rozsah vah, implicitní váha, zadávání atributů a výroků, tvorba pravidel, předpoklad, disjunkce a konjunkce
v přepokladové části, negace v pravidle, závěr pravidla, odlaďování báze, nadbytečné
pravidlo, cyklus v bázi, tvorba dokumentace.
Klíčová
slova
Jak již na jiných místech opory bylo zmíněno, autoři opory se domnívají, že nejlepší
znalosti a dovednosti z různých oborů se dají získat zapojením studentů do řešení úloh a
proto chtějí exkurz do disciplíny znalostního inženýrství založit na vlastní zkušenosti
studenta z ovládání programu NEST a tvorby vlastní báze znalostí pomocí NEST editoru.
S programem NEST jsme se již seznámili v kapitole 2 Prostředí NEST a také programem NEST editor jsme velmi krátce poznali v rámci kapitoly 3.
5.1 Výběr problému a grafická reprezentace
V kapitole 1.4 Typy aplikací expertních systémů se dočteme, že vhodná témata nebo
oblasti jsou takové, ve které v praxi existuje osoba, kterou bychom mohli nazvat expertem, a zároveň si umíme představit, že konzultace nebo porada s tímto expertem by
mohla být prováděna po telefonu, tedy bez jeho fyzické přítomnosti, a to v délce nepřesahující přibližně čtvrt hodiny.
Obecně, i s přihlédnutím k již zpracovávaným pracím z dřívějška, lze říci, že přijatelné a
dobře zpracovatelné jsou aplikace na téma doporučení vhodného výrobku (namátkou
doporučení: notebooku, auta, dovolené, mobilního telefonu, vhodného sportu pro dítě,
domácího mazlíčka, finančního produktu atd.), nebo diagnostické úlohy zakládající se
na základech psychologických, lékařských či jiných dotazníků (např. diagnostika
možnosti vrozených vad, diagnostika typu temperamentu, diagnostika vhodné role
v týmu atd.) a nebo diagnostiky různých závad a poruch (nahrazení help linky, diagnostika poruch v počítačové síti, chyby počítačů, aut, vhodný postup při provádění prv-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Vhodné
oblasti
78
ní pomoci atp.).
V rámci volby oboru či hodnocení vhodnosti problému ke zpracování metodikou a prostředky znalostního inženýrství samozřejmě nesmíme zapomenout na znalosti v daném
(vybraném) oboru. Musíme mít zdroj potencionálních znalostí. Znalosti můžeme formulovat na základě studia a analýzy odborných článků (v tištěné literatuře či internetu),
nebo na základě rozhovorů s expertem v dané oblasti případně na základě syntézy a
porovnávání obou zmiňovaných zdrojů.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Vybrali-li bychom si oblast ke zpracovávání např. doporučení vhodného fotoaparátu,
můžeme s klidným svědomím prohlásit, že toto je vhodná oblast, neboť se jedná o diagnostický problém – doporuční vhodného výrobku na základě zjištění potřeb konzultující osoby. V praxi v roli experta vystupují obchodní asistenti prodeje s fotografickými
potřebami či elektro prodejen a lze říci, že v rámci tohoto poradenství jsou schopni zákazníkovi pomoci s výběrem v rámci několika málo minut. Také si jistě dokážeme představit, že by byla takováto konzultace proveditelná bez nutnosti setkání experta (prodávajícího) a konzultujícího (kupujícího) či fyzické přítomnosti doporučovaného zboží (je
možné, jak je to ostatně obvyklé v rámci e-shopů, suplovat obrázky či odkazy na konkrétní zboží). Konkrétní znalosti lze tedy čerpat od konkrétního prodejce či na základě
prostudování článků zabývajících se problematikou výběru vhodného aparátu (např. Jak
správně vybrat digitální fotoaparát? - 1. díl).
ÚKOL K ZAMYŠLENÍ 5
Zkuste se nyní zamyslet nad vám blízkou oblastí, ve které znáte jistá doporučení či dokonce pravidla výběru či hodnocení, nebo, ve které znáte osobu (experta), jež těmito
znalostmi vládne a byla by ochotna s vámi spolupracovat na potencionální seminární
práci.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
V rámci kapitoly si nastíníme vlastní postup při zpracovávání báze znalostí na úloze
doporučení vhodného šicího stroje. Báze a postup bude velmi omezen, a to vzhledem
k cíli předvést postup výběru tématu, tvorby grafické reprezentace, identifikace atributů,
tvorbu pravidel, odladění báze a možnost expotru informací pro dokumentaci.
Vybrali jsme si tedy vhodnou a nám přitažlivou oblast doporučení vhodného šicího stroje. Je zřejmé, že můžeme úlohu pojmout ve dvou rovinách:
1. obecné doporučení stroje pro občasné šití (pro začátečníky), pro domácí kutily (poloprofesionální) a nebo pro spíše profesionální účely, a to nezávisle na konkrétních
modelech či značkách,
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Získávání
znalostí
79
2. doporučení konkrétního typu a značky z omezené množiny zahrnutých modelů,
na základě zjištění potřeb konzultujícího.
K ZAPAMATOVÁNÍ 19
Na tomto místě je potřeba zdůraznit slova doporučení na základě zjištění potřeb. Což
se může a většinou liší od zjišťování preferencí, tedy zjišťování, kterých vlastností si
uživatel více váží, či které by preferoval (což je základní úlohou systému AHP14).
Ve vybrané oblasti si stanovíme cíl: výběr konkrétního modelu – čili program na konci
konzultace po zjištění potřeb a jejich ohodnocení váhami na základě odpovědí od uživatele a pro projití či přepočtu inferenčním mechanizmem doporučí (odliší číselnou vahou)
jeden ze tří šicích strojů značky Brother: LS2125, BC2100 a nebo NV400. Stanovili
jsme si tedy konkrétní cíle, které v již dříve rozebíraném názvosloví budeme reprezentovat jako cílový atribut množinový, který bude nabývat tří výrokových stavů (tj. konkrétních modelů). Tyto stavy můžeme zaznamenat do grafu popisujícího bázi (viz Obrázek
5-1).
Výběr cíle
K ZAPAMATOVÁNÍ 20
Výběr cílů potažmo i zhodnocení vhodnosti námi vybrané oblasti pro např. seminární
práci je také limitován možností zda jsme na základě analýzy cílových výroků (chcemeli dodržet více stupňovost báze) schopni identifikovat dostatek společných i odlišných
vlastností těchto výroků, které by mohly být reprezentovány výroky a atributy
v mezilehlé rovině. Potažmo jsme-li schopni formulovat laické dotazy na potřeby klienta, ze kterých jsme dále schopni vyvozovat a usuzovat pomocí obecně platných pravidel
z oboru platnost zmiňovaných výroků mezilehlé roviny.
o Uveďme si na internetu dosažitelné parametry vybraných šicích strojů (ke dni
18.12.2007 dosažitelné ze stránek např. http://www.brother-czech.cz):
LS2125
•
•
Cena: 2.701,00 Kč.
Jednojehlový základní šicí
stroj s kyvným chapačem a volným
ramenem a výbornou cenou.
•
7 druhů stehů.
•
21 šicích technik.
•
Pevně dané programy.
•
Šití knoflíkové dírky na 4 kroky.
NV400
BC2100
•
•
•
•
Cena: 6.289,00 Kč.
Elektronický šicí stroj s rotačním
chapačem a volným ramenem.
•
•
LCD dispej pro jednoduché nastavení parametrů šití.
Plná automatika pro šití knoflíkových dírek, 5 druhů.
•
40 voleb stehů.
•
Volné nastavení délky stehu a šířky
14
Vlastnosti
strojů
•
Cena: 17.017,00 Kč.
Špičkový elektronicky řízený šicí
stroj s přímou volbou funkcí tlačítky, LCD display, pro náročné zákazníky, robustní konstrukce, rozšířená šicí plocha v ceně, kroková a
patchworková patka v příslušenství.
Šicí stroj pro náročné zákazníky.
V paměti 294 druhů stehů a 10
druhů knoflíkových dírek šitých automaticky.
Analytic Hierarchy Process – analytický hierarchický proces, se kterým se studenti OPF SU mohou seznámit blíže
v rámci kurzu Rozhodovací analýza pro manažery či konkrétně ve skriptu prof. RNDr. Jaroslava Ramíka CSc. Vícekriteriální rozhodování - analytický hierarchický proces (AHP). ISBN 80-7248-047-2.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
80
•
Volné rameno.
•
Zapošití a šití zpět páčkou.
•
•
•
cik – caku.
•
3 sady znaků.
•
Automatický navlékač horní nitě.
•
Přímá volba základních stehů.
Regulace napětí horní nitě.
•
Blesková příprava spodní nitě.
•
Možnost šití dvoujehlou.
•
Šestinásobně dělený podavač.
Příslušenství: patka pro šití knoflíkové dírky, zipová patka, patka pro
našívání knoflíků, sada jehel - 3 ks,
dvoujehla, látací destička, přídavný
kolík cívky, 3 ks cívek, šroubovák.
•
•
•
Tlačítko pro zafixování polohy
patky.
Rychloupínací systém pro výměnu
patek.
•
•
•
10 pamětí pro uložení nejpoužívanějších šicích nastavení.
Vlastní návrh vyšívacích stehů.
Programovatelný automatický odstřih.
Čelní uložení cívky nití.
Ovládání podavače zasunutím pod
stehovou desku pro látání a vyšívání.
•
•
Osvětlení šicí plochy LED diodami.
•
Dobře přístupné ovládací prvky.
•
Dobře přístupné ovládací prvky.
•
Schránky s příslušenstvím.
Volné rameno pro šití uzavřených
kruhů - nohavice, rukávy.
•
Šestinásobně dělený podavač.
•
Regulace přítlaku patky.
•
•
Příslušenství: patka pro šití knoflíkové dírky, overloková patka, patka
pro vyšívání monogramů, patka pro
přišívání zipů, patka pro slepý steh,
patka pro přišívání knoflíků, sada
jehel + dvoujehla, 4 ks cívky, páráček, šroubovák, přídavný kolík cívky, štěteček k čištění.
•
Prostor pro šití i rozměrných dílů,
velký šicí stůl součástí příslušenství.
Tlačítko pro zafixování polohy
patky.
•
Automatický navlékač nitě.
•
Blesková příprava spodní nitě.
•
Osvětlení LED diodami.
•
Volné rameno pro šití rukávů.
•
Volba polohy jehly při zastavení.
•
•
•
Světelná signalizace pro START a
STOP.
Kolenní páka.
Příslušenství: prošívací patka pod
pružinou, kráčející patka, patka pro
knoflíkovou dírku, patka obnitkovací, patka pro monogramy, patka
pro všívání zipu, patka pro přišívání
knoflíků, patka s vodítkem, teflonová patka, patka s otevřenou špičkou, dvoujehla, páráček, šroubováky,kartáček.....
Z výše uvedeného vyplývá, že stroje intuitivně můžeme rozlišit na stroj základní
(LS2125 - nabízí základní funkce a je za nejnižší cenu), stroj střední třídy (BC2100 –
nabízí široké možnosti stehů a šicích technik spolu s možností vlastního nastavení, více
příslušenství) a stroj nejvyšší třídy (NV400 – nejlépe vybavený co do příslušenství i
funkcí).
Rozšíříme-li, pro jaký druh zákazníka doporučíme základní zmíněné druhy strojů, pak
bychom to mohli na základě konzultace s krejčovou či vlastních zkušeností vyhodnotit
následovně:
• Základní typ šicího stroje vhodný pro občasné šití (uživatel nemá nároky na rychlou
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
81
přípravu stroje k šití), pro šití typu drobných správek (látání, sešívání roztrhaných
švů atp.), sešívání dílů z obvyklých druhů látek (nebude využívat speciálních patek)
základními stehy (nebude používat ozdobných stehů a nebude mít potřebu upravovat
délku a šířku stehů). Obecně tedy vhodný pro uživatele, kteří občas něco potřebují
spravit nebo vyrobit a nemají ambice na profesionalitu provedení.
• Šicí stroj střední třídy by měl být kompromisem mezi základní a nejvyšší třídou.
Tedy bude doporučován pro domácí ne příliš časté šití konfekce tedy výrobků, u
kterých je potřeba mít jistou možnost variability v šířce a délce stehu, dále větší výběr stehů, předpokládané jsou taktéž požadavky na automatické šití knoflíkové dírky
a také více komfortu při přípravě šicího stroje. Protože předpokládáme šití konfekce
je předpoklad, že uživatel může mít nároky na šití i z tenkých, z mačkavých či kluzkých materiálů, nebo šití patchworku, nebo přišíváni stuh, prýmků a perel či všívání
zipů „skrytým“ způsobem (stroj nabízí možnost dokoupení rozšiřujícího příslušného
příslušenství). Mohl by být vhodný i jako druhý stroj pro zařízení dílny pro oprávky
(tedy pro obdobné typy šití jako nižší třída s tím rozdílem, že by se jednalo o časté
šití).
• Šicí stroj nejvyšší třídy pak budeme doporučovat pro zákazníky profesionály, tzn.
kteří šijí velmi často, potřebují co nejvíce usnadnit manipulaci se strojem a jeho přípravu k šití, vyžadují maximální komfort a možnosti nastavení, a vzhledem
k rozsahu výrobků vyžadují široké možnosti příslušenství.
Z výše uváděných vlastností a charakteristik zákazníka, pro kterého by byl stroj určen
bychom mohli učinit následující závěr: pro doporučení cílového typu stroje je potřeba
v rámci konzultace zjistit a rozlišit úroveň šití profi (UP) či hobby (UH); šíři použití
stroje vysoká (ŠPV) a nízká (ŠPN); četnost šití nízká (ČŠN) a vysoká (ČŠV); komfort
obsluhy a možnosti nastavení či rozšíření nízká (KaMN), střední (KaMS) a vysoká
(KaMV). Identifikované vlastnosti a vztahy mezi nimi můžeme zaznamenat do grafu
(viz Obrázek 5-1), který nám poslouží i pro budoucí tvorbu pravidel (vztahy reprezentované pomocí šipek mezi jednotlivými atributy). Tyto vlastnosti mimo četnosti šití budou
vyhodnocovány na základě základních dotazů. Mezi základní dotazy pak zařadíme dotazy na profesionalitu výstupu, šití svatebních, plesových šatů, společenských a slavnostních oděvů, šití patchworku, šití ozdobných výšivek, vyšívání monogramů, látání, oprávek, prošívání a sešívání vícevrstvých dílů, šití z kluzkých, jemných či krčivých materiálů (atd.). Základní dotazy již na obrázku Obrázek 5-1 zachycené nejsou, neboť by se stal
nepřehledným.
K ZAPAMATOVÁNÍ 21
Z výše uvedeného odstavce to není tak zřejmé, nicméně při stanovování atributů v rámci
přípravy projektu se nám může stát, že některé z atributů se v jistých dimenzích mohou
z menší části překrývat. Proto nepodceňujte vytváření si své vlastní dokumentace již při
analýze problému, ve které nejen atributy nazvete, ale i blíže popíšete, tak aby při návratu od přerušené práce nedocházelo k logickým posunům, způsobeným zapomínáním. Při
práci s NEST editorem pak můžeme využít k tomuto účelu již zmiňované komentáře
jednotlivých atributů.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
82
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Mějme, prosíme, neustále na paměti, že při zpracování úlohy ve znalostním inženýrství
neexistuje obecně správné řešení. Každý znalostní inženýr řeší úlohu logickou úvahou
tak, aby dosáhla požadovaných cílů nebo subjektivně vytyčených cílů – čili úloha bývá
podmíněna účelem a logika řešení má tuto účelovost ctít. Je tedy obtížné, zůstaneme-li
v rovině našeho kurzu, vyjadřovat se k návrhům na seminární práci pokud tutor (přednášející, cvičící atp.) nezná mantinely, cíl, účel či nástin logiky problému, který student
hodlá zpracovávat.
LS212
ŠPN
BC210
ŠPV
NV400
KaM
N
UH
KaM
S
KaM
V
UP
ČŠN
ČŠV
Obrázek 5-1: První náčrt budoucí báze znalostí a vztahů mezi některými jejími prvky.
KORESPONDENČNÍ ÚKOL 3
V této chvíli by jste již měli býti schopni nejen vybrat vhodnou oblast pro řešení v rámci
seminární práce, ale také učinit grafický rozbor svého problému s identifikací cílů, některých mezilehlých výroků a také některých základních výroků. Vámi vybranou oblast
s určením cílových, některých mezilehlých a základních výroků (případně s grafickým
znázorněním ve formě oskenovaného náčrtu či vytvořeným např. pomocí kreslení v MSword) odevzdávejte na elearningovém serveru. Váš návrh bude konzultován s tutorem.
5.2 Založení nové báze
Po přípravné analýze námi zvoleného problému můžeme směle spustit NEST editor a
započít vlastní práci. Nejprve (např. volbou z menu Soubor/Nový nebo klávesovou
zkratkou CTRL+N) založíme novou bázi.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Založení
báze
83
Obrázek 5-2: Zadání globálních parametrů uživatelem.
Je vhodné v okně „Globální parametry“ vyvolaném předchozí akcí uživatele ihned zadat
známé parametry a zvolit volitelné parametry (viz Obrázek 5-2). Doplníme krátký popis
báze, tak aby bylo jasné k jakým účelům je báze konstruována, co je jejím cílem či výsledkem. Dále zadáme jména nebo jméno experta (kdo je to expert jsme již definovali
v předchozím textu např. v rámci kapitoly 1 Znalostní inženýrství a struktura expertních
systémů odstavec Expert) a znalostního inženýra.
5.2.1 Volby báze znalostí
Další volby, jimiž ovlivníme chování báze znalostí či spíše chod inferenčního mechanizmu, jsou tyto:
• Rozsah vah - interval [-rozsah vah ; rozsah vah], ve kterém budou zadávány a zobrazovány veškeré váhy v bázi. V tomto intervalu pak zadávejte i veškeré váhy při
tvorbě báze. Pokud rozsah vah změníte, veškeré váhy se automaticky přepočítají.
Tento parametr byste měli určitě zadat při založení nové báze, abyste mohli jednotlivé váhy zadávat ve správném intervalu.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Běžně se v bázi znalostí používá rozsah vah 1 nebo 3. Je celkem jedno jaký rozsah si
zvolíte systém na pozadí váhy nakonec přepočítává na rozsah 1 a pro zobrazení výsledků
zase zpět do rozsahu zadaným uživatelem. Prakticky: někteří lidé jsou zvyklí lépe hodnotit nebo vyjadřovat váhy percentuálně (pak bychom preferovali rozsah vah 1). Rozsah
vah 3 má tu výhodu, že respektuje obecnou schopnost lidí ještě dobře rozlišovat na škále
7 stupňů, což rozpětí -3 až 3 v celých číslech poskytuje.
• Globální práh platnosti kontextu udává váhu, kterou musí překročit kontext, aby
byl splněný (a aby tedy bylo použito pravidlo, u kterého je kontext uveden). U každého pravidla lze zadat individuální práh, pokud však není uveden, je použit tento
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Rozsah
vah
84
globální práh.
• Globální práh platnosti předpokladu udává váhu, kterou musí překročit logické
pravidlo (resp. jeho minimální váha), aby bylo vyhodnoceno jako splněné. Opět lze
u jednotlivých pravidel nastavit individuální práh.
• Inferenční mechanizmus – určí jakým způsobem bude defaultně přistupovat inferenční mechanizmus k zpracování neurčitosti (viz také kapitola 4 Neurčitost
v NEST).
• Implicitní váha určuje, jakou váhu mají dostat výroky, kterým nebyla váha určena
jinak (například výpočtem nebo dotazem). Tuto váhu dostanou například všechny
výroky odvozené od multiple atributu, kterým uživatel v dotazu nepřiřadil jinou
váhu. Implicitní váha může být buď neznámá, tj. váha [-1 ; 1] (upravená na rozsah
příslušné báze), nebo irelevantní, tj. váha [0 ; 0].
Implicitní
váha
• Globální priorita pravidel určuje, v jakém pořadí bude systém zpracovávat pravidla, nastane-li situace, že jich může použít více najednou. Od začátku znamená, že
systém dá přednost tomu pravidlu, které je v bázi znalostí uvedeno dříve, od konce
znamená přesný opak. Minimální délka znamená, že systém použije nejprve pravidlo, které má kratší předpoklad, při maximální délce vezme nejprve pravidlo s delším předpokladem. Při volbě definovaná expertem budou brána pravidla v pořadí
podle priority, kterou určil expert při tvorbě báze. Pokud tato priorita není u pravidel
uvedena, systém se zachová jako při volbě od začátku.
Globální
priorita
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
V zásadě mimo určení rozsahu vah a doplnění popisných informací (popis báze, expert,
znalostní inženýr) můžeme nastavení ponechat ve výchozím stavu.
ODMĚNA A ODPOČINEK
Na tomto místě je jistě vhodné si udělat pauzu, zvlášť pokud jste při studiu začali přemýšlet nad vhodnou oblastí pro seminární práci či dokonce jste se problém pokusili pomocí grafického znázornění „uchopit“.
PRŮVODCE STUDIEM 8
V tuto chvíli bychom (pokud samozřejmě chcete dle výkladu zpracovávat analogicky
např. svůj problém) měli mít ujasněno, jakým tématem se zabýváme, identifikovali jsme
cílové výroky a také některé mezilehlé a základní výroky. Stěžejní výroky a stěžejní
vazby jsme si zachytili pomocí grafu. Založili jsme novou bázi, do které jsme zadali
globální vlastnosti a nyní se můžeme vrhnout na vlastní konstrukci báze.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Odměna a
odpočinek
85
5.3 Konstrukce báze znalostí
Na základě grafického znázornění výroků a vztahů mezi nimi (vlastního nebo můžeme
pracovat s grafem Obrázek 5-1) můžeme uvažovat, jaké v bázi použijeme atributy a které z v grafu zachycených výroků jim přiřadíme jakožto jejich výrokové stavy (samozřejmě, že stále máme v pozadí na zřeteli i ostatní vlastnosti v grafu nezachycené a popsané při našem modelovém případě v podkapitole 5.1 ).
5.3.1 Zadávání atributů a jejich výroků
V případě doporučení šicího stroje z grafu vidíme, že máme tři konečné cílové výroky,
čili toto jsou výrokové stavy příslušného atributu, který si můžeme nazvat „šicí stroj“.
Konkrétní výroky tohoto atributu jsou tedy jednotlivé typy (viz Obrázek 5-3). Typ atributu použijeme množinový, neboť jednotlivé výroky mohou samozřejmě platit současně
s rozdílnou vahou (prodavač v obchodě mimo to, že zákazníkovi něco doporučí, se také
často vyjadřuje k alternativám, které též hodnotí).
Obrázek 5-3: Zadávání cílových výroků pro cvičný případ doporučení šicího stroje.
Obdobným způsobem pak zadáme i ostatní atributy tedy šíře použití (ŠP), úroveň šití
(U), komfort obsluhy a možnosti (KaM) také jako množinové atributy. Atribut četnost
šití (ČŠ) bud atributem numerickým, kdy budeme zjišťovat jak často uživatel bude se
strojem během měsíce pracovat v rozmezí 0-31. Odpověď z intervalu 0-4 považujeme za
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
86
odpověď zcela jistě ČŠ nízká, odpověď z intervalu 15-31 zcela jistě ČŠ vysoká, odpověď z intervalu 4-8 ještě ČŠ nízká (nízká s vahou nižší než 1) a odpověď z intervalu 415 za již vysoká (vysoká s vahou nižší než 1).
Mezi základní atributy (tedy atributy, které budou figurovat pouze v předpokladové části
pravidel a z pohledu konzultujícího vystupují v roli otázek) zařadíme mimo numerického atributu další, dotazující se konzultujícího jakým způsobem bude stroj využívat, jaké
produkty bude na stroji zhotovovat, či jaké šicí techniky hodlá používat. Z těchto odpovědí pak lze usuzovat na nutnost a škálu doplňků, možnosti nastavení šicího stroje a
možnosti využívání škály stehů, což jsou (jak jsem si ukázali na výčtu vlastností
v odstavci Vlastnosti strojů na str. 79) nejvýznamnější vlastnosti odlišující jednotlivé
typy strojů.
Konkrétně do báze znalostí bychom mohli zavést atributy (údaje či upřesnění uváděné v
závorkách, můžeme uvádět do komentářů – poslouží pro lepší orientaci a pochopení
otázky konzultující osobou při vlastní konzultaci):
• Binární: Podnikání (šití na šicím stroji Vás živí – podnikáte v oboru švadlena, krejčová atp.)? Šití známým (šijete širšímu okruhu svých známých)? Šití pro nejužší rodinu?
• Množinové (jednotlivé položky z následujících atributů by samozřejmě bylo možno
řešit jako samostatné binární atributy, nicméně výroky v atributech jsou logicky seskupeny a navíc přinášejí přehled do NEST editoru):
o Šicí techniky (ohodnoťte vahou v přípustném rozmezí, prosím, z množiny následujících šicích technik, které budete používat): záplatování, sešívání dílů, obšívání (ubrusy, povlečení, závěsy, záclony), patchwork (někdy také quilting), prošívání, knoflíkové dírky, vyšívání monogramů, entlování se začistěním otřepků.
o Konfekce (ohodnoťte vahou v přípustném rozmezí, prosím, z množiny následujících možných finálních produktů, které budete produkovat): drobné opravy, šití
společenských oděvů a konfekce, šití domácích oděvů, šití pracovních oděvů, šití
svatebních šatů, šití plesových šatů.
o Ostatní (ohodnoťte vahou v přípustném rozmezí, prosím, z množiny následujících
možných finálních produktů, které budete produkovat): výroba textilních hraček,
ozdob a dekorací, ochranných pomůcek, obalů, tašek.
Přehled zavedených atributů a jejich výroků je ilustrován pomocí obrázku Obrázek 5-4.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
87
Obrázek 5-4: Přehled atributů a jejich výroků pro bázi znalostí šicí stroj.
SHRNUTÍ
Nyní se nacházíme v situaci, kdy jsme založili novou bázi znalostí a pomocí grafického
znázornění vazeb mezi jednotlivými atributy, respektive jejich výrokovými stavy, které
jsme identifikovali na základě např. analýzy cílových výroků a jejich vlastností, bychom
mohli začít tvořit pravidla. Není chybou, když během další práce zjistíte, že je vhodné
nebo dokonce potřebné do báze vložit nový atribut nebo doplnit dříve zapomenutý či
neidentifikovaný výrokový stav (čím méně takových zásahů budete mít, tím jste pravděpodobně kvalitněji provedli analýzu problému). Celý proces vytváření a odlaďování
báze znalostí je proces, kde má fungovat zpětná vazba.
Shrnutí
KORESPONDENČNÍ ÚKOL 4
V minulém korespondenčním úkolu jste si zvolili téma seminární práce a vypracovali
jste graf z něhož budete vycházet při konstrukci báze znalostí. Určili jste cílové výroky a
některé důležité především mezilehlé výroky. Dále prosím zpřesněte své zadání o uvedení dalších atributu výčtem základních atributů a jejich výrokových stavů.
ODMĚNA A ODPOČINEK
Pokud při studiu textu paralelně pracujete například na své seminární práci, pak neza-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Odměna a
odpočinek
88
pomeňte na odpočinek a načerpání nových sil.
5.3.2 Tvorba pravidel
Pro tvorbu vlastních pravidel již máme potřebné předpoklady splněny. Provedli jsme
analýzu našeho problému a graficky jsme náš problém zachytili. Zadali jsme pomocí
NEST Editoru atributy a jejich výrokové stavy. Nebrání nám nic tvořit pravidla.
K ZAPAMATOVÁNÍ 22
Pravidlo se skládá z předpokladu, kde může figurovat kterýkoli z výrokových stavů
všech typů atributů a závěru pravidla, kde mohou být pouze výrokové stavy atributů
množinových a binárních.
Podrobněji jsme se již pravidly, respektive jejich reprezentací zabývali v kapitole 3.2.2
Pravidla na straně 61. Nová pravidla zadáváme např. vyvoláním nabídky menu Edituj/Pravidla nebo dvojklikem pravým tlačítkem v horní polovině sloupce pravidla, vyvoláme tak okno pro zadávání nového pravidla (viz Obrázek 3-4). Po stlačení tlačítka
Nové pravidlo výběru typu pravidla (pracujeme s kompozicionálními pravidly)
Obrázek 5-5:Editační okno pro editaci a vytváření pravidel (barevně jsou zatrženy některé důležité části
okna).
Okno pro editaci a zadávání pravidel je znázorněno na obrázku: Obrázek 5-5. V levém
sloupci se nachází nebo bude nacházet seznam již existujících pravidel. V horním šedém
řádku je pak zobrazeno vlastní pravidlo v IF THEN podobě (tento zápis se mění
v závislosti na změnách vykonávaných pomocí ostatních ovládacích prvků okna).
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
89
Při vytváření pravidla je potřeba si rozmyslet jakým způsobem budeme značit jednotlivé
pravidla (numericky, za pomocí zkratek a čísel, či zvláštními názvy objasňující vlastní
vazbu). Do kolonky ID, v levé části okna pod šedým řádkem, vyplníme tedy označení
pravidla. Dále bychom ještě mohli nastavit prioritu pravidla případně kontext. Také můžeme vyplnit kolonku Komentáře, do které (pokud je projekt rozsáhlejší či pravidlo složitější) vložíme nějaký blíže vysvětlující komentář.
Vytvoření
pravidla
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Obrázek 5-5 zachycuje pravidlo reprezentované čtyřmi vazbami sbíhajícími se v atributu
BC2100 (viz Obrázek 5-1).
Při zadávání předpokladové části pravidla budeme využívat tři části okna „Pravidla“
(zvýrazněná červenou, zelenou a modrou barvou viz opět Obrázek 5-5, na tyto barevně
odlišené části oken se budeme v následujících odstavcích odvolávat). V předpokladové
části může být pouze jeden předpoklad, logická konjunkce dvou či více předpokladů
nebo logická disjunkce dvou či více předpokladů či logických konjunkcí.
Předpoklad
Při vytváření přepokladu nejprve musíme kurzorem označit (tak, aby bylo podbarveno
modře) slovo „předpoklad“ v červeném rámečku. Po té můžeme ze zeleného boxu vybrat konkrétní předpokladový výrok (předpoklad) a po stlačení první ikony z modrého
rámečku (připomínající klávesu enter) vložíme tento do předpokladu pravidla. Zopakováním tohoto postupu vytvoříme předpoklad s disjunkci dvou předpokladů.
Disjunkce
Chceme-li vytvořit konjunkci, nejprve opět označíme slovo „předpoklad“ a poté stiskneme druhé tlačítko se shora v modrém rámečku s ikonou „&“. Výroky pro konjunkci
pak vkládáme stejným způsobem jako v předešlém odstavci, jen místo slova „předpoklad“ musíme mít označený znak „&“.
Konjunkce
Chceme-li mít v předpokladové části obsaženou negaci nějakého výroku, tento výrok,
pokud už jsme je vložili a vidíme ho v červeně označené části okna, označíme a zatrhneme políčko „Negace“. Před výrokem v červeně ohraničené části okna se objeví znaménko záporu a v šedém řádku NOT.
Negace
Chceme-li některý z výroků (nebo konjunkci) z předpokladové části smazat, pak jej
označíme a myší klikneme na poslední tlačítko v modře označené části s ikonou křížku.
Mazání
V závěrové části pravidla může být opět jediný výrok nebo skupina výroků, jimž navíc
přiřazujeme váhu jejich platnosti. Závěr(y) vybíráme ze sloupečku „Možné závěry“ a
přesouváme je do sloupečku „Vybrané závěry“ pomocí tlačítka (tlačítek mezi oběma
sloupci) mezi sloupci. Váhu pak po označení vlastního závěru vepíšeme vždy jako kladnou hodnotu boxu „Váha“. Má-li být výsledná váha záporná, zatrhneme volbu negace
(viz černá část okna „Pravidla“).
Závěr
pravidla
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
90
ODMĚNA A ODPOČINEK
Předchozí text kapitoly 5.3.2 Tvorba pravidel sice nebyl dlouhý a ani náročný, přesto
před dalším pokračováním si udělejte pauzu na vyčištění myšlenek a nabrání dalších sil.
5.4 Odlaďování báze
Odlaďování báze znalostí je dalším stěžejním bodem při tvorbě fungujícího projektu.
Pokud jste přesvědčeni, že ve vaší bázi jsou zachyceny téměř všechny nebo všechny
výroky a atributy, a pokud jste již všechny výroky použili v alespoň jednom pravidle,
můžete se zabývat odlaďováním.
K ZAPAMATOVÁNÍ 23
Pro odlaďování je potřeba mít připraveny tzv. vzorové odpovědi pro jednotlivé cílové
výroky. V zásadě existuje pro každý cílový výrok vzorová konzultace, respektive soubor
odpovědí, který by měl systém vyhodnotit s vysokou vahou pro daný cílový výrok (na
rozdíl od ostatních cílových výroků). Je to vlastně jakýsi kontrolní soubor odpovědí –
kontrolní ve smyslu kontroly smysluplnosti báze znalostí. Kontrolní či vzorové odpovědi
vám poskytne expert nebo je musíte identifikovat sami na základě analýzy svého problému částečně už vyplývají z počáteční analýzy při tvorbě garafu.
PRŮVODCE TEXTEM, PODNĚT, OTÁZKA, ÚKOL
Při odlaďování s úspěchem použijete v prvé řadě možnosti uložení odpovědi do externího souboru, aby jste nemuseli po každé úpravě vah či přidání nového pravidla pracně
procházet znova a znova konzultaci a odpovídat na všechny dotazy. Dále pak jistě využijete možnosti ukládat si výsledky konzultací do např. textového souboru, pomocí nichž
pak můžete srovnávat, jak se která úprava projevila na výsledcích a fungování báze.
Je zřejmé, že není možné, aby člověk přehledně zachytil do grafu o třech cílových výrocích, čtyřech až šesti výrocích mezilehlých a deseti či více výrocích základních, což samo o sobě předpokládá několik desítek jednoduchých pravidel, přehledně veškeré vazby
(jednoduchá pravidla, složitá pravidla s konjunkcí a pravidla s negativními váhami).
Sestavení báze znalostí začíná po zadání atributů a výroků konstrukcí základních pravidel (většinou jednoduchého typu – v předpokladu i závěru s jedním pozitivním výrokem
či pozitivní vahou). Takto vytvoříme základní kostru báze a zajistíme její jakousi základní funkčnost, ale pravděpodobně zjistíme, že systém dostatečně nerozlišuje mezi
cílovými výroky – váhy cílových výroků jsou v malém rozpětí (všechny nebo některé
z nich). Váhy se liší např. v setinách nebo několika málo desetinách, a to i v případě, že
použijete kontrolní či vzorové odpovědi. Tento fakt nemusí a většinou ani neznamená
fundamentální chybu v logice zpracování.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Odměna a
odpočinek
91
Nyní je potřeba se zamyslet nad složitějšími pravidly a zabývat se hodnotami vah
v závěrech jednotlivých pravidel. Například pokud v grafu máme situaci, kdy do jednoho cílového výroku směřuje více vazeb z kupříkladu tří výroků mezilehlé roviny, můžeme zkonstruovat tři jednoduchá pravidla reprezentující každou z těchto vazeb (nebo jedno pravidlo s logickou disjunkcí pokud v závěru chceme použít stejnou váhu) protože
platnost, kteréhokoliv předpokladu bude mít vliv na platnost závěru. Nicméně většinou
z praxe platí jistý synergický efekt, kdy výsledné působení jednotlivých faktorů se nerovná jejich prostému součtu, ale je o něco vyšší. Tento jev můžeme zachytit pomocí
jednoho či více pravidel, kdy do předpokladu dáme konjunkci dvou či více výroků a
v závěru ohodnotíme výrok vyšší vahou.
Dalším krokem je zamyšlení se nad použitím negací (jestliže jedním pravidlem definujeme, že když platí předpoklad, pak platí s jistou vahou závěr, neznamená to automaticky, že systém ví jaký platí vztah v případě neplatnosti toho předpokladu).
Konstrukce pravidel s negací v předpokladu – zamyšlení, zda-li neexistuje také znalost
popisující situaci, kdy víme, že některý z výroků je nepravdivý nebo konzultující jeho
platnost ohodnotil zápornou vahou.
Konstrukce pravidel s negací v závěru – zamyšlení se, zda-li platnost či neplatnost některého výroku (např. základního) nemá negativní vliv na platnost hierarchicky výše
položeného výroku (např. v mezilehlé rovině).
Poslední možností je pak bedlivě zanalyzovat výši vah v jednotlivých výrocích.
K ZAPAMATOVÁNÍ 24
V průběhu ladění je také dobré si občas zkontrolovat graf báze, zda-li nevznikla
v projektu nadbytečná – duplicitní pravidla. Zbytečný výrok figuruje v jediném pravidle
v předpokladové části a zároveň k výroku v závěru pravidla nevede žádné další pravidlo,
takový to výrok můžeme zrušit a platnost výroku ze závěru nadbytečného pravidla nyní
zadá uživatel při konzultaci.
Nadbytečné pravidlo
K ZAPAMATOVÁNÍ 25
Systém sám si hlídá, aby nějaký výrok neobjevil v předpokladu pravidla a později
v navazujícím pravidle v závěru. Rekurze či cyklus v bázi znalostí není možná.
Cyklus
SHRNUTÍ
V tuto chvíli jsme si prošli téměř veškeré možnosti systému NEST a NEST editor, které
využijete nebo můžete využít při tvorbě svého vlastního projektu. Také jste byli upozorněni na některé postupy při vlastní tvorbě a chybí nám ještě upozornit na často opomíjenou, ale někdy velice praktickou část každé práce, a to je tvorba dokumentace.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
92
5.5 Tvorba dokumentace
Tvorba dokumentace je často opomíjenou a ne příliš populární stránkou při zpracovávání projektů, a to nejen na půdě školy, ale leckdy i v podnikové praxi. Je potřeba si však
uvědomit, že dobře provedená dokumentace může zásadním způsobem ovlivnit zaškolování nových pracovníků do problému, přechod či zapojení dalších nových pracovníků do
řešitelského týmu, nemluvě o situaci, kdy z nějakého důvodu jediný či hlavní řešitel práci opustí a my projekt musíme dotáhnout do cíle nebo později upravovat. V případě
úprav projektu po delší době dokumentace dobře poslouží i samotnému autorovi pro
rychlejší opětovné proniknutí do problému.
V dokumentaci je potřeba vždy představit a vymezit problém a zhodnotit jeho řešení,
případně uvést možné slabiny sytému a doporučení dalšího rozvoje.
Zůstaneme-li na naší akademické půdě, je tedy nutno objasnit problémovou oblast, typ
řešeného problému, uvést, co je cílem projektu, jaké jsou cílové výroky. Charakterizujeme obecné vlastnosti cílových výroků mající vliv na průběh konzultace. Dále uvedeme
globální parametry řešení: tedy zdroj znalostí, řešitelský tým atd. Metody získávání znalostí v řešené oblasti můžeme dále rozvést, aby bylo možno posoudit jejich správnost,
opodstatněnost a relevantnost. Také je vhodné dokumentovat řešení pomocí grafu báze
znalostí. V profesionálně tvářící se dokumentaci bychom jistě uvedli výčet všech atributů i výroků s komentářem, aby byl jasný jejich smysl a použití. Také bychom uvedli výčet pravidel a okomentovali bychom mechanizmus či způsob stanovení vah.
V dokumentaci bychom měli, zdůraznit k jakému účelu je projekt nebo řešení vhodné a
upozornit na limity řešení, případně na možnosti dalšího rozvoje.
Nástroje systému NEST využitelné pro tvorbu dokumentace:
• Statistika – NEST (Báze/Statistika).
• Graf – NEST i NEST editor.
• Globální parametry, atributy, výroky, pravidla a komentáře – NEST editor. (Soubor/Export báze).
KORESPONDENČNÍ ÚKOL 5
Během práce na vašem projektu uložte na elearningovém serveru export vaší báze do
textového souboru.
SHRNUTÍ KAPITOLY APLIKACE V NEST
Právě prostudovaná 5 . kapitola se jeví jako stěžejní vzhledem k předpokládanému cíli –
zpracování vlastního projektu v prostředí NEST. Praktická zkušenost získaná tvorbou
funkčního projektu by vám měla přiblížit problémy znalostního inženýrství a vlastní
práce nad odlaďováním báze znalosti i objasnit nebo pomoci pochopit mechanizmy fungování báze znalostí (inferenčního mechanizmu) i obsah nejdůležitějších pojmů disciplí-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
kapitoly
93
ny.
Měli by jste si nyní již poradit sami s výběrem vhodného tématu pro seminární práci.
Víte, že před vlastním započetím práce v NEST editoru je nutné se věnovat analýze problému, která by měla vyústit v rámcové grafické znázornění budoucí báze znalostí, jejích atributů a základních vztahů mezi nimi.
Dále by jste měli umět využít analýzy a grafického náčrtu pří vlastním zadávání atributů
a jejich výroků a také při tvorbě pravidel. Víte, že převedení základních vztahů do formy
pravidel sice zajistí základní funkčnost báze znalostí, ale že je po té třeba věnovat čas na
odladění vlastní báze, a také víte, jak při tomto procesu postupovat a na co se zaměřit.
Nakonec v ne poslední řadě jste se seznámili s rolí a účelem dokumentace a měli by jste
pro její tvorbu umět využít nástrojů programů NEST i NEST editor.
PRŮVODCE STUDIEM 9
Po „ošahání“ postupu práce nad vlastní bázi znalostí si v další kapitole představíme fungující aplikaci OPTCS, která dokumentuje využitelnost disciplíny znalostního inženýrství a může vám také pomoci při výběru a konstrukci vlastního projektu.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
94
6 BÁZE ZNALOSTÍ OPTCS
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY BÁZE ZNALOSTÍ OPTCS
Báze znalostí OPTCS je novější verzí báze znalostí OPTIMALI pro výběr vhodné matematické metody rozhodování, která byla původně vytvořena v roce 1983 a realizována
v konzultačním systému SAK. Popíšeme stručně vznik a strukturu této báze znalostí.
Struktura báze bude dokumentována jejím výpisem ze systému NEST.
Rychlý
náhled
CÍLE KAPITOLY BÁZE ZNALOSTÍ OPTCS
Po úspěšném a aktivním absolvování této KAPITOLY
Získáte:
• Informace o vzniku a struktuře seriozní a funkční báze znalostí, v rozsahu středně
velkého projektu.
• Na příkladu báze znalostí OPTCS získáte povědomí o hloubce a složitosti problému
řešení možných projektů znalostního inženýrství.
• Představu o struktuře báze dokumentovanou na výpisu atributů a pravidel a výseči
grafu báze OPTCS.
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování KAPITOLY je 45 minut. Je zřejmé, že tento čas
může být snadno prodloužen, pokud student bude hlouběji zkoumat vlastní bázi
v programech NEST a NEST editor.
V operačním výzkumu bylo vyvinuto velké množství matematických metod rozhodování. Výběr metody adekvátní dané rozhodovací situaci je obtížnou expertní úlohou. Musí
vycházet z dobré znalosti všech metod a z důkladného rozboru dané situace.
Prvním krokem v přípravě báze znalostí bylo vypracování seznamu základních metod
rozhodování, z nichž bude expertní systém vybírat – to budou cílové výroky. Tvorba
seznamu metod se řídila následujícími požadavky:
• metody ze seznamu by měly dohromady dostatečně pokrývat typické rozhodovací
situace na uvažované střední úrovni řízení;
• každá metoda zařazená do seznamu by měla být dobře matematicky propracována a
ověřena v aplikacích;
• pro každou metodu by mělo existovat dostupné programové vybavení;
• seznam by neměl být příliš dlouhý.
Expertem vytvořený seznam obsahuje 41 metod rozdělených do 12 bloků. Pro úplnost a
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Získáte
95
z důvodu „mapování bílých míst“ byla do každého bloku metod zařazena navíc položka
„Netypická úloha …“.
Rozdělení metod do skupin:
1. lineární programování: optimalizace plánu výroby, optimalizace plánu výroby a
duální úloha, směšovací problém, směšovací problém a duální úloha, přiřazovací
problém, dopravní problém, rozvržení výroby ke strojům, Dantzigova-Wolfeho dekompozice;
2. nelineární programování: problém pevných nákladů, optimalizace výrobního programu s kvadratickou účelovou funkcí, kontrola rizika, optimalizace efektivnosti,
dynamické programování;
3. parametrizace: parametrizace pravých stran v úloze lineárního programování, parametrizace účelové funkce v úloze lineárního programování;
4. celočíselné programování: optimalizace vyrobního programu s celočíselnými
proměnnými, optimalizace investic, programování s nula-jednotkovými proměnnými;
5. sekvenční úlohy: sekvenční problém jednostupňový, sekvenční problém vícestupňový;
6. grafy: nalezení maximálního toku, nalezení nejkratší cesty, okružní dopravní problém, minimální kostra;
7. síťové úlohy: metoda PERT, metoda CPM;
8. modely zásob: deterministický model zásob, stochastický model zásob, netypický
model zásob;
9. vícekriteriální vyhodnocování variant: grafické metody vicekriteriálního vyhodnocování variant, Fullerův trojúhelník, Saatyho matice, využití fuzzy preferencí, vicekriteriální optimální programování;
10. antagonistické konflikty: maticová hra, struktura výroby při oligopolu;
11. neantagonistické konflikty: dvojmaticová hra, tvorba koalic, dekompozice – řízení
rozdělením zdrojů;
12. riziko a neurčitost: rozhodování při riziku; rozhodování při neurčitosti-Laplace;
rozhodování při neurčitosti-minimax; kontrola kvality-maticový model;
Dalším krokem bylo sestavení souboru relevantních dotazů týkajících se důležitých
aspektů rozhodovacích situací. Expert formuloval dotazy dvou druhů:
• základní dotazy, které slouží ke hrubé klasifikaci rozhodovací situace a umožňují
výběr bloku metod;
• speciální dotazy, které slouží k rozlišení metod v jednom bloku, často explicitně
zjišťují, zda daná rozhodovací situace patří do jisté úzké aplikační třídy.
Podle názoru experta by konzultace se systémem doporučujícím vhodnou matematickou
metodu rozhodování měla probíhat ve dvou fázích. V první fázi by měly být položeny
uživateli základní dotazy a poté vybrány 3-4 nadějné bloky metod. Ve druhé fázi by měly být položeny speciální dotazy týkající se těchto bloků metod a případně dalšího bloku
metod, který by se teprve v této fázi také ukázal nadějným. Počet speciálních dotazů,
které by uživatel zodpovídal, by se tak značně omezil. Výběr bloku metod představuje
mezistupeň v usuzování – bloky metod budou v bázi znalostí reprezentovány mezilehlými výroky. Sdružování metod do bloků totiž vyjadřuje důležitá hlediska pro klasifikaci
rozhodovacích situací.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
96
Tomuto procesu usuzování a struktuře výroků pak odpovídala formulace pravidel tří
druhů:
•
základní pravidla, která vedou od základních dotazů k určení bloku metod;
•
speciální pravidla, která vedou od speciálních dotazů v rámci jednoho bloku metod k jednotlivým metodám tohoto bloku;
•
doplňková pravidla, která vyjadřují důsledky různých dalších relevantních kombinací dotazů.
Báze znalostí OPTIMALI měla původně 234 pravidel, postupně se rozšířila na 402 pravidel ve verzi OPTCS. Část pravidel je uvedena kontexty, což jsou výroky, jejichž pravdivost podmiňuje použitelnost vlastního pravidla. Nejčastěji je takto vyjádřena vazba
speciálního pravidla na blok metod, jehož se týká. Tato konstrukce pravidel spolu
s použitím logického inferenčního mechanismu umožňuje realizovat alespoň zčásti představu experta o dvou fázích pokládání dotazů a usuzování.
Níže uvádíme výpis báze znalostí OPTCS a také výseč grafické reprezentace báze
(Obrázek 6-1). Všimněte si v souboru výroků základních dotazů, mezilehlých výroků –
bloků metod a k nim přiřazeným speciálním dotazům vztahujícím se pak vesměs
k jednotlivým metodám bloku – cílovým výrokům. Poznamenejme, že očíslování výroků a přítomnost některých nevyužitých (XXX) jsou poplatné dřívějšímu prostředí systému SAK. V souboru pravidel pak můžete najít základní, speciální a doplňková pravidla obsahující tyto výroky.
Globální parametry báze znalostí OPTCS (lze stáhnout dle návodu z kapitoly 2.2.1
odstavec Báze znalostí ke stažení):
• Popis báze: Báze znalostí OPTIMALI pro volbu vhodné matematické metody rozhodování. Expertem je prof. M. Maňas z katedry ekonometrie VŠE v Praze.
• Expert: M. Maňas
• Znalostní inženýr: J. Ivánek, L. Šímová
• Datum: 2.6.1990
• Inferenční mechanizmus: Logický
• Rozsah vah: 3
• Implicitní váha: [0,000;0,000]
• Globální priorita: Od začátku
• Globální práh platnosti kontextu: 0,000
• Globální práh platnosti předpokladu: 0,900
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Globální
vlastnosti
97
Obrázek 6-1: Výseč části báze OPTCS.xml
6.1 OPTCS – výroky
Báze OPTCS obsahuje 124 binárních atributů. Z předchozích kapitol víme, že binární
atribut nabývá pouze jediného výrokového stavu, a proto uvádíme ID atributů, které je
shodné s ID výroku.
ID: 1 Máte ekonomický systém, ve kterém chcete najít optimální rozhodnutí, pod kontrolou?
ID: 2 Je výsledek Vašeho rozhodnutí hodnocen podle jediného kriteria?
ID: 3 Vybíráte si při rozhodování ze souboru konečného počtu variant?
ID: 4 Ovlivňuje důsledek Vašeho rozhodnutí do značné míry náhoda?
ID: 5 Trváte na tom, že princip, podle něhož bude rozhodnutí vybráno, musí být jednoduchý
a snadno pochopitelný?
ID: 6 Ovlivňují konečný výsledek Vašeho rozhodnutí ještě akce dalších subjektů či institucí?
ID: 7 Je důležité, aby vaše rozhodnutí respektovalo posloupnost jednotlivých akcí nebo
vývoj v čase?
ID: 8 Domníváte se, že výsledek optimalizace připouští grafické znázornění?
ID: 9 Jde ve vašem případě o problém optimalizace v oblasti dopravy?
ID: 10 Obsahuje Váš optimalizační problém prvky konfliktu?
ID: 11 Domníváte se, že podstatné aspekty Vašeho problému nelze vyjádřit matematicky?
ID: 12 LINEÁRNÍ PROGRAMOVÁNÍ
ID: 13 Hledáte optimální plán výroby při omezených zdrojích?
ID: 14 Hledáte optimální způsob směšování komponent do výsledného produktu?
ID: 15 Řešíte otázku přesunu výrobních zařízení na nová působiště?
ID: 16 Řešíte otázku optimální dopravy sypkých nebo tekutých materiálů z několika zdrojů
do míst určení?
ID: 17 Potřebujete rozepsat výrobu na jednotlivá zařízení nebo pracoviště?
ID: 18 Je systém, který optimalizujete, rozložitelný na podsystémy?
ID: 19 Je možné použít k ustavení optima cenového mechanismu?
ID: 20 Optimalizace plánu výroby
ID: 21 Optimalizace plánu výroby a duální úloha
ID: 22 Směšovací problém
ID: 23 Směšovací problém a duální úloha
ID: 24 Přiřazovací problém
ID: 25 Dopravní problém
ID: 26 Rozvržení výroby ke strojům
ID: 27 Dantzigova-Wolfeho dekompozice
ID: 28 Netypická úloha lineárního programování
ID: 29 NELINEÁRNÍ PROGRAMOVÁNÍ
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Atributy a
výroky
98
ID: 30 Mají při Vašem rozhodování významnou úlohu náklady, které nejsou úměrné rozsahu
výroby?
ID: 31 Má ve Vašem rozhodování značnou důležitost ukazatel efektivnosti?
ID: 32 Máte k dispozici statistické údaje o proměnlivosti výnosu jednotlivých výrobních
činností?
ID: 33 Problém pevných nákladů
ID: 34 Optimalizace výrobního programu s kvadratickou účelovou funkcí
ID: 35 Kontrola rizika
ID: 36 Optimalizace efektivnosti
ID: 37 Dynamické programování
ID: 38 Netypická úloha nelineárního programování
ID: 39 PARAMETRIZACE
ID: 40 Hledáte optimální plán výroby v závislosti na proměnných podmínkách v dodávce
surovin?
ID: 41 Hledáte optimální plán výroby v závislosti na cenách proměnných v čase?
ID: 42 Mění se podstatně normy spotřeby zdrojů v čase?
ID: 43 Parametrizace pravých stran v úloze lineárního programování
ID: 44 Parametrizace účelové funkce v úloze lineárního programování
ID: 45 Netypická úloha parametrizace
ID: 46 CELOČÍSELNÉ PROGRAMOVÁNÍ
ID: 47 Je nutné, aby kvantitativní údaje ve výsledku byly zaokrouhleny na celá čísla?
ID: 48 Řešíte problémy investiční činnosti?
ID: 49 Je nutné vybrat při optimalizaci vždy jednu ze skupiny činností?
ID: 50 Optimalizace vyrobního programu s celočíselnými proměnnými
ID: 51 Optimalizace investic
ID: 52 Programování s nula-jednotkovými proměnnými
ID: 53 Netypická úloha celočíselného programování
ID: 54 SEKVENČNÍ ÚLOHY
ID: 55 Hledáte rozpis výroby na jednom výrobním zařízení?
ID: 56 Hledáte rozpis výroby na více výrobních zařízeních?
ID: 57 Sekvenční problém jednostupňový
ID: 58 Sekvenční problém vícestupňový
ID: 59 Netypický sekvenční problém
ID: 60 GRAFY
ID: 61 Řešíte problém přepravy tekutého nebo sypkého substrátu potrubní sítí?
ID: 62 Řešíte problém optimální přepravy z jednoho místa do místa určení?
ID: 63 Hledáte optimální plán rozvozu při podmínce, že dopravní prostředek se musí vrátit
do místa, ze kterého vyjel?
ID: 64 Hledáte projekt uceleného dopravního spojení výrobních center v jeden celek?
ID: 65 Hledáte plán optimálního svozu či rozvozu pomocí nehomogenního souboru vozidel?
ID: 66 Nalezení maximálního toku
ID: 67 Nalezení nejkratší cesty
ID: 68 Okružní dopravní problém
ID: 69 Minimální kostra
ID: 70 Netypická úloha na grafu
ID: 71 SÍŤOVÉ METODY
ID: 72 Potřebujete sestavit lhůtový plán realizace projektu?
ID: 73 Znáte přesné doby trvání jednotlivých činností v projektu?
ID: 74 XXX
ID: 75 Metoda PERT
ID: 76 Metoda CPM
ID: 77 Netypická síťová metoda
ID: 78 XXX
ID: 79 MODELY ZÁSOB
ID: 80 Řešíte problém optimalizace zásob?
ID: 81 XXX
ID: 82 Deterministický model zásob
ID: 83 Stochastický model zásob
ID: 84 Netypický model zásob
ID: 85 XXX
ID: 86 VICEKRITERIÁLNÍ VYHODNOCOVÁNÍ VARIANT
ID: 87 Máte možnost získat informace o Vašem rozhodovacím problému pomocí konzultací u
expertů?
ID: 88 Můžete stanovit všechna kritéria hodnocení efektu Vašeho rozhodnutí?
ID: 89 XXX
ID: 90 Grafické metody vicekriteriálního vyhodnocování variant
ID: 91 Fullerův trojúhelník, Saatyho matice
ID: 92 Využití fuzzy preferencí
ID: 93 Vicekriteriální optimální programování
ID: 94 Netypická úloha vicekriteriálního vyhodnocování variant
ID: 95 XXX
ID: 96 ANTAGONOSTICKÉ KONFLIKTY
ID: 97 Má situace, o níž rozhodujete, povahu vyhraněného konfliktu?
ID: 98 Hledáte optimální rozsah výroby v podmínkách konkurence?
ID: 99 XXX
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
99
ID: 100 Maticová hra
ID: 101 Struktura výroby při oligopolu
ID: 102 Netypická antagonistická hra
ID: 103 XXX
ID: 104 NEANTAGONISTICKÉ KONFLIKTY
ID: 105 Má situace, v níž rozhodujete, v sobě prvky konfliktu s možností dohody?
ID: 106 Je ve Vaší situaci zásadně důležitá otázka, s kým se dohodnout o společném postupu?
ID: 107 Potřebujete řídit systém, který je rozdělen na relativně malé jednotky?
ID: 108 Může se optimum realizovat vhodným rozdělením zdrojů nebo surovin?
ID: 109 Dvojmaticová hra
ID: 110 Tvorba koalic
ID: 111 Dekompozice – řízení rozdělením zdrojů
ID: 112 Netypická neantagonistická hra
ID: 113 XXX
ID: 114 RIZIKO A NEURČITOST
ID: 115 Máte k dispozici statistické údaje o náhodných jevech ovlivňujících důsledky
Vašich rozhodnutí?
ID: 116 Chcete při Vašem rozhodování brát zvlaštní zřetel na nejhorší případ, který může
nastat?
ID: 117 Jsou ve Vašem problému zahrnuty otázky výstupní kontroly kvality?
ID: 118 XXX
ID: 119 Rozhodování při riziku
ID: 120 Rozhodování při neurčitosti-Laplace
ID: 121 Rozhodování při neurčitosti-minimax
ID: 122 Kontrola kvality-maticový model
ID: 123 Netypická úloha rozhodování při riziku nebo neurčitosti
ID: 124 XXX
6.2 OPTCS – kontexty
Kontexty
Kontexty:
ID:
ID:
ID:
ID:
ID:
k144
k189
k224
k236
k251
12
29
39
46
54
ID:
ID:
ID:
ID:
ID:
k264
k289
k306
k312
k330
60
71
79
86
96
ID:
ID:
ID:
ID:
ID:
k341
k364
k379
k386
k389
104
114
2
NOT(2)
3
ID:
ID:
ID:
ID:
ID:
k394
k397
k398
k400
k401
4
NOT(4)
5
9
13
6.3 OPTCS – pravidla
Báze znalostí OPTCS obsahuje 402 kompozicionálních pravidel:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c1 IF 1 THEN 12[2]
c3 IF 1 THEN 39[1]
c5 IF 1 THEN 54[1]
c7 IF 1 THEN 71[1]
c9 IF NOT(1) THEN 60[-1]
c11 IF NOT(1) THEN 104[2]
c13 IF 2 THEN 12[3]
c15 IF 2 THEN 39[2]
c17 IF 2 THEN 54[2]
c19 IF 2 THEN 79[1]
c21 IF 2 THEN 114[1]
c23 IF NOT(2) THEN 29[-2]
c25 IF NOT(2) THEN 46[-1]
c27 IF NOT(2) THEN 86[3]
c29 IF NOT(2) THEN 104[1]
c31 IF 3 THEN 39[-2]
c33 IF 3 THEN 60[1]
c35 IF NOT(3) THEN 12[2]
c37 IF NOT(3) THEN 39[2]
c39 IF 4 THEN 46[-1]
c41 IF 4 THEN 71[1]
c43 IF 4 THEN 86[-2]
c45 IF 4 THEN 104[1]
c47 IF NOT(4) THEN 12[2]
c49 IF NOT(4) THEN 39[1]
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c2 IF 1 THEN 29[2]
c4 IF 1 THEN 46[2]
c6 IF 1 THEN 60[1]
c8 IF NOT(1) THEN 54[-1]
c10 IF NOT(1) THEN 96[2]
c12 IF NOT(1) THEN 114[3]
c14 IF 2 THEN 29[3]
c16 IF 2 THEN 46[3]
c18 IF 2 THEN 60[1]
c20 IF 2 THEN 86[-3]
c22 IF NOT(2) THEN 12[-2]
c24 IF NOT(2) THEN 39[-2]
c26 IF NOT(2) THEN 54[-1]
c28 IF NOT(2) THEN 96[1]
c30 IF 3 THEN 12[-2]
c32 IF 3 THEN 46[2]
c34 IF 3 THEN 71[1]
c36 IF NOT(3) THEN 29[2]
c38 IF 4 THEN 39[-1]
c40 IF 4 THEN 60[-2]
c42 IF 4 THEN 79[1]
c44 IF 4 THEN 96[1]
c46 IF 4 THEN 114[3]
c48 IF NOT(4) THEN 29[2]
c50 IF NOT(4) THEN 46[2]
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
OPTCS
pravidla
100
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c51 IF NOT(4) THEN 54[1]
c53 IF NOT(4) THEN 86[1]
c55 IF 5 THEN 29[-1]
c57 IF 5 THEN 46[1]
c59 IF NOT(5) THEN 29[1]
c61 IF NOT(5) THEN 86[1]
c63 IF 6 THEN 29[-1]
c65 IF 6 THEN 46[-1]
c67 IF 6 THEN 71[-1]
c69 IF 6 THEN 104[3]
c71 IF NOT(6) THEN 12[2]
c73 IF NOT(6) THEN 39[2]
c75 IF NOT(6) THEN 54[2]
c77 IF NOT(6) THEN 71[1]
c79 IF NOT(6) THEN 104[-1]
c81 IF 7 THEN 39[2]
c83 IF 7 THEN 71[2]
c85 IF NOT(7) THEN 29[1]
c87 IF NOT(7) THEN 46[1]
c89 IF NOT(7) THEN 60[1]
c91 IF NOT(7) THEN 79[-1]
c93 IF 8 THEN 46[-1]
c95 IF 8 THEN 71[2]
c97 IF 8 THEN 86[2]
c99 IF 8 THEN 104[-1]
c101 IF NOT(8) THEN 29[1]
c103 IF NOT(8) THEN 46[1]
c105 IF NOT(8) THEN 96[1]
c107 IF NOT(8) THEN 114[1]
c109 IF 9 THEN 29[1]
c111 IF 9 THEN 46[1]
c113 IF 9 THEN 71[1]
c115 IF 9 THEN 96[-1]
c117 IF 9 THEN 114[1]
c119 IF NOT(9) THEN 60[-2]
c121 IF NOT(9) THEN 104[1]
c123 IF 10 THEN 86[1]
c125 IF 10 THEN 104[3]
c127 IF NOT(10) THEN 12[1]
c129 IF NOT(10) THEN 39[1]
c131 IF NOT(10) THEN 54[1]
c133 IF NOT(10) THEN 71[1]
c135 IF 11 THEN 29[-1]
c137 IF 11 THEN 86[2]
c139 IF 11 THEN 104[1]
c141 IF NOT(11) THEN 12[2]
c143 IF NOT(11) THEN 39[1]
c145 k144: IF 13 THEN 21[2]
c147 k144: IF 13 THEN 92[1]
c149 k144: IF 13 THEN 34[2]
c151 k144: IF 13 THEN 36[1]
c153 k144: IF NOT(13) THEN 21[-2]
c155 k144: IF 14 THEN 22[2]
c157 k144: IF 14 THEN 25[-1]
c159 k144: IF NOT(14) THEN 22[-1]
c161 k144: IF 15 THEN 24[2]
c163 k144: IF 15 THEN 26[1]
c165 k144: IF 15 THEN 76[1]
c167 k144: IF 16 THEN 25[2]
c169 k144: IF 16 THEN 69[1]
c171 k144: IF 17 THEN 26[2]
c173 k144: IF 17 THEN 28[1]
c175 k144: IF 17 THEN 58[1]
c177 k144: IF 18 THEN 27[2]
c179 k144: IF NOT(18) THEN 27[-3]
c181 k144: IF 19 THEN 21[1]
c183 k144: IF 19 THEN 23[1]
c185 k144: IF 19 THEN 25[1]
c187 k144: IF 19 THEN 33[1]
c189 k189: IF 7 THEN 33[-2]
c191 k189: IF 7 THEN 35[-1]
c193 k189: IF 7 THEN 37[2]
c195 k189: IF 7 THEN 54[2]
c197 k189: IF NOT(7) THEN 33[1]
c199 k189: IF NOT(7) THEN 35[1]
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c52 IF NOT(4) THEN 60[1]
c54 IF 5 THEN 12[2]
c56 IF 5 THEN 39[-1]
c58 IF 5 THEN 71[1]
c60 IF NOT(5) THEN 39[1]
c62 IF NOT(5) THEN 104[1]
c64 IF 6 THEN 39[-1]
c66 IF 6 THEN 54[-1]
c68 IF 6 THEN 96[3]
c70 IF 6 THEN 114[1]
c72 IF NOT(6) THEN 29[2]
c74 IF NOT(6) THEN 46[2]
c76 IF NOT(6) THEN 60[2]
c78 IF NOT(6) THEN 96[-1]
c80 IF 7 THEN 12[1]
c82 IF 7 THEN 54[2]
c84 IF 7 THEN 79[2]
c86 IF NOT(7) THEN 39[-1]
c88 IF NOT(7) THEN 54[-1]
c90 IF NOT(7) THEN 71[-2]
c92 IF 8 THEN 29[-1]
c94 IF 8 THEN 60[2]
c96 IF 8 THEN 79[1]
c98 IF 8 THEN 96[-1]
c100 IF NOT(8) THEN 12[1]
c102 IF NOT(8) THEN 39[1]
c104 IF NOT(8) THEN 54[1]
c106 IF NOT(8) THEN 104[1]
c108 IF 9 THEN 12[2]
c110 IF 9 THEN 39[-1]
c112 IF 9 THEN 60[2]
c114 IF 9 THEN 86[1]
c116 IF 9 THEN 104[-1]
c118 IF NOT(9) THEN 39[1]
c120 IF NOT(9) THEN 96[1]
c122 IF 10 THEN 39[-1]
c124 IF 10 THEN 96[3]
c126 IF 10 THEN 114[1]
c128 IF NOT(10) THEN 29[1]
c130 IF NOT(10) THEN 46[1]
c132 IF NOT(10) THEN 60[1]
c134 IF NOT(10) THEN 79[1]
c136 IF 11 THEN 39[-1]
c138 IF 11 THEN 96[1]
c140 IF 11 THEN 114[1]
c142 IF NOT(11) THEN 29[2]
c144 k144: IF 13 THEN 20[2]
c146 k144: IF 13 THEN 90[1]
c148 k144: IF 13 THEN 33[1]
c150 k144: IF 13 THEN 28[1]
c152 k144: IF NOT(13) THEN 20[-2]
c154 k144: IF NOT(13) THEN 34[-2]
c156 k144: IF 14 THEN 28[1]
c158 k144: IF 14 THEN 23[2]
c160 k144: IF NOT(14) THEN 23[-1]
c162 k144: IF 15 THEN 25[1]
c164 k144: IF 15 THEN 75[1]
c166 k144: IF NOT(15) THEN 24[-2]
c168 k144: IF 16 THEN 66[1]
c170 k144: IF NOT(16) THEN 25[-2]
c172 k144: IF 17 THEN 27[1]
c174 k144: IF 17 THEN 57[1]
c176 k144: IF NOT(17) THEN 26[-1]
c178 k144: IF 18 THEN 28[1]
c180 k144: IF 19 THEN 20[1]
c182 k144: IF 19 THEN 22[1]
c184 k144: IF 19 THEN 24[1]
c186 k144: IF 19 THEN 29[2]
c188 k144: IF 19 THEN 101[2]
c190 k189: IF 7 THEN 34[-2]
c192 k189: IF 7 THEN 36[-1]
c194 k189: IF 7 THEN 38[1]
c196 k189: IF 7 THEN 71[3]
c198 k189: IF NOT(7) THEN 34[1]
c200 k189: IF NOT(7) THEN 36[1]
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
101
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c201
c203
c205
c207
c209
c211
c213
c215
c217
c219
c221
c223
c225
c227
c229
c231
c233
c235
c237
c239
c241
c243
c245
c247
c249
c251
c253
c255
c257
c259
c261
c263
c265
c267
c269
c271
c273
c275
c277
c279
c281
c283
c285
c287
c289
c291
c293
c295
c297
c299
c301
c303
c305
c307
c309
c311
c313
c315
c317
c319
c321
c323
c325
c327
c329
c331
c333
c335
c337
c339
c341
c343
c345
c347
c349
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k224:
k224:
k224:
k224:
k224:
k224:
k236:
k236:
k236:
k236:
k236:
k236:
k236:
k251:
k251:
k251:
k251:
k251:
k251:
k251:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k289:
k289:
k289:
k289:
k289:
k289:
k289:
k289:
k289:
k306:
k306:
k306:
k312:
k312:
k312:
k312:
k312:
k312:
k312:
k312:
k312:
k330:
k330:
k330:
k330:
k330:
k341:
k341:
k341:
k341:
k341:
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
NOT(7) THEN 37[-1]
30 THEN 37[1]
30 THEN 51[1]
31 THEN 36[2]
31 THEN 38[1]
31 THEN 90[1]
31 THEN 92[1]
31 THEN 94[1]
32 THEN 35[2]
32 THEN 119[2]
NOT(32) THEN 119[-1]
NOT(32) THEN 110[-1]
40 THEN 35[1]
NOT(40) THEN 43[-1]
41 THEN 35[1]
42 THEN 29[2]
42 THEN 45[2]
NOT(42) THEN 44[1]
47 THEN 24[1]
NOT(47) THEN 50[-1]
48 THEN 21[1]
48 THEN 92[1]
49 THEN 51[2]
49 THEN 53[1]
NOT(49) THEN 51[-1]
55 THEN 57[2]
55 THEN 53[1]
NOT(55) THEN 57[-1]
NOT(55) THEN 110[-1]
56 THEN 26[1]
NOT(56) THEN 58[-1]
NOT(56) THEN 110[-1]
61 THEN 67[1]
61 THEN 70[1]
62 THEN 67[2]
62 THEN 101[-2]
62 THEN 111[-3]
63 THEN 68[2]
NOT(63) THEN 68[-1]
64 THEN 68[1]
64 THEN 70[1]
NOT(64) THEN 69[-1]
65 THEN 53[1]
65 THEN 70[2]
72 THEN 75[2]
72 THEN 57[1]
72 THEN 59[1]
NOT(72) THEN 75[-1]
NOT(72) THEN 100[-1]
NOT(72) THEN 110[-2]
73 THEN 76[2]
73 THEN 77[1]
NOT(73) THEN 76[-2]
80 THEN 83[2]
NOT(80) THEN 82[-1]
NOT(80) THEN 84[-1]
8 THEN 90[2]
8 THEN 94[1]
87 THEN 91[2]
87 THEN 94[1]
NOT(87) THEN 91[-2]
88 THEN 91[2]
88 THEN 93[2]
NOT(88) THEN 90[-1]
NOT(88) THEN 93[-1]
10 THEN 112[1]
97 THEN 100[2]
NOT(97) THEN 100[-1]
98 THEN 102[1]
98 THEN 35[1]
105 THEN 109[2]
105 THEN 111[1]
105 THEN 119[1]
106 THEN 110[2]
106 THEN 112[1]
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c202
c204
c206
c208
c210
c212
c214
c216
c218
c220
c222
c224
c226
c228
c230
c232
c234
c236
c238
c240
c242
c244
c246
c248
c250
c252
c254
c256
c258
c260
c262
c264
c266
c268
c270
c272
c274
c276
c278
c280
c282
c284
c286
c288
c290
c292
c294
c296
c298
c300
c302
c304
c306
c308
c310
c312
c314
c316
c318
c320
c322
c324
c326
c328
c330
c332
c334
c336
c338
c340
c342
c344
c346
c348
c350
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k189:
k224:
k224:
k224:
k224:
k224:
k224:
k236:
k236:
k236:
k236:
k236:
k236:
k236:
k236:
k251:
k251:
k251:
k251:
k251:
k251:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k264:
k289:
k289:
k289:
k289:
k289:
k289:
k289:
k289:
k306:
k306:
k306:
k312:
k312:
k312:
k312:
k312:
k312:
k312:
k312:
k312:
k330:
k330:
k330:
k330:
k330:
k330:
k341:
k341:
k341:
k341:
k341:
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
30 THEN 33[2]
30 THEN 38[1]
NOT(30) THEN 33[-2]
31 THEN 37[1]
31 THEN 51[1]
31 THEN 91[1]
31 THEN 93[1]
NOT(31) THEN 36[-1]
32 THEN 38[1]
NOT(32) THEN 35[-2]
NOT(32) THEN 34[-1]
40 THEN 43[2]
40 THEN 50[1]
41 THEN 44[2]
NOT(41) THEN 44[-1]
42 THEN 38[2]
NOT(42) THEN 43[1]
47 THEN 50[2]
47 THEN 53[1]
48 THEN 51[2]
48 THEN 90[1]
NOT(48) THEN 51[-1]
49 THEN 52[2]
49 THEN 86[2]
NOT(49) THEN 52[-1]
55 THEN 28[1]
55 THEN 59[1]
NOT(55) THEN 101[-1]
56 THEN 58[2]
56 THEN 59[1]
NOT(56) THEN 101[-1]
61 THEN 66[2]
61 THEN 69[1]
NOT(61) THEN 66[-1]
62 THEN 90[1]
62 THEN 110[-2]
NOT(62) THEN 67[-1]
63 THEN 25[1]
64 THEN 69[2]
64 THEN 67[1]
64 THEN 25[1]
65 THEN 28[1]
65 THEN 69[-1]
NOT(65) THEN 70[-1]
72 THEN 76[2]
72 THEN 58[1]
72 THEN 77[1]
NOT(72) THEN 76[-1]
NOT(72) THEN 101[-2]
NOT(72) THEN 111[-2]
73 THEN 75[-1]
NOT(73) THEN 75[2]
80 THEN 82[2]
80 THEN 84[2]
NOT(80) THEN 83[-1]
8 THEN 60[1]
8 THEN 93[1]
NOT(8) THEN 90[-1]
87 THEN 92[1]
87 THEN 119[1]
88 THEN 90[2]
88 THEN 92[1]
88 THEN 94[1]
NOT(88) THEN 91[-1]
10 THEN 102[1]
NOT(10) THEN 102[-1]
97 THEN 109[1]
98 THEN 101[2]
98 THEN 20[1]
NOT(98) THEN 101[-1]
105 THEN 110[2]
105 THEN 112[1]
NOT(105) THEN 109[-2]
106 THEN 111[1]
NOT(106) THEN 110[-2]
102
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c351
c353
c355
c357
c359
c361
c363
c365
c367
c369
c371
c373
c375
c377
c379
c381
c383
c385
c387
c389
c391
c393
c395
c397
c399
c401
k341:
k341:
k341:
k341:
k341:
k341:
k341:
k364:
k364:
k364:
k364:
k364:
k364:
k364:
k379:
k379:
k379:
k379:
k386:
k389:
k389:
k389:
k394:
k397:
k398:
k401:
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
107 THEN 111[2]
NOT(107) THEN 111[-1]
108 THEN 29[1]
108 THEN 54[1]
108 THEN 75[1]
108 THEN 109[1]
108 THEN 112[1]
115 THEN 123[2]
NOT(115) THEN 120[1]
NOT(115) THEN 122[1]
116 THEN 119[1]
116 THEN 123[1]
117 THEN 122[2]
117 THEN 123[1]
31 THEN 36[2]
NOT(3) AND 9 THEN 20[2]
NOT(3) AND 9 THEN 34[2]
3 AND 9 THEN 50[2]
80 THEN 90[2]
NOT(2) AND 11 THEN 90[1]
97 THEN 100[1]
117 THEN 122[1]
32 THEN 119[2]
80 THEN 82[2]
107 THEN 111[-1]
107 THEN 111[2]
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
ID:
c352
c354
c356
c358
c360
c362
c364
c366
c368
c370
c372
c374
c376
c378
c380
c382
c384
c386
c388
c390
c392
c394
c396
c398
c400
c402
k341:
k341:
k341:
k341:
k341:
k341:
k364:
k364:
k364:
k364:
k364:
k364:
k364:
k364:
k379:
k379:
k379:
k386:
k386:
k389:
k389:
k394:
k394:
k398:
k400:
k401:
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
107 THEN 112[1]
108 THEN 12[1]
108 THEN 37[1]
108 THEN 71[2]
108 THEN 76[1]
108 THEN 111[2]
115 THEN 119[2]
NOT(115) THEN 119[-2]
NOT(115) THEN 121[1]
116 THEN 121[2]
116 THEN 100[1]
NOT(116) THEN 120[1]
117 THEN 100[1]
NOT(117) THEN 122[-2]
31 THEN 51[1]
NOT(3) AND 9 THEN 21[2]
NOT(3) AND 9 THEN 33[2]
5 THEN 92[-1]
NOT(3) THEN 93[2]
NOT(2) AND 11 THEN 92[1]
105 THEN 109[1]
17 THEN 35[1]
80 THEN 83[2]
32 THEN 36[-1]
16 AND 61 THEN 66[1]
47 THEN 50[2]
SAMOSTATNÝ ÚKOL 2
Spusťte konzultaci v NEST s bází znalostí OPTCS.xml. Nechejte si zobrazit graf báze
znalostí. Vykonejte vlastní konzultaci. Srovnejte projekt s bázemi Nemoce.xml a
uver.xml. Všimněte si rozdílu nejen v rozsahu, ale i struktuře a stupňovitosti báze.
SHRNUTÍ KAPITOLY BÁZE ZNALOSTÍ OPTCS
Na uvedené a okomentované bázi znalostí OPTCS.xml jsme si dokumentovali, jak rozsáhlý a složitý může být projekt středního rozsahu. Seznámili jste se také zhruba
se základními kroky vývoje báze.
PRŮVODCE STUDIEM 10
Předchozí kapitolu můžeme charakterizovat jako praktický exkurz, který vám může
velmi pomoci při postupu a tvorbě vaší vlastní seminární práce. Další kapitola představí
disciplínu dobývání znalostí z databází, která může být využita jako zdroj znalostí a použita v rámci řešení projektů řešených pomocí metod znalostního inženýrství.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
kapitoly
103
7 EXPERTNÍ SYSTÉMY A ZÍSKÁVÁNÍ ZNALOSTÍ Z DAT
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY EXPERTNÍ SYSTÉMY A
ZÍSKÁVÁNÍ ZNALOSTÍ Z DAT
Získávání znalostí z dat neboli data mining (často také dobývání či dolování znalostí
z databází) je poměrně nová disciplína, která by si jistě na jiném typu školy zasloužila
minimálně vlastní samostatný kurz. Téma je logicky děleno na dvě části: úvodní část
tématu je věnována představení disciplíny a některým obecným principům a postupům.
V druhé části je představen projekt STULONG, který dokumentuje funkční případové
řešení využití data miningových postupů s využitím metod znalostního inženýrství.
Rychlý
náhled
CÍLE KAPITOLY EXPERTNÍ SYSTÉMY A ZÍSKÁVÁNÍ ZNALOSTÍ Z DAT
Po úspěšném a aktivním absolvování této KAPITOLY
Budete umět:
Budete
umět
• Vyjmenovat typy data miningových úloh.
• Vyjmenovat a upřesnit aplikační oblasti vhodné pro zapojení data miningových metod.
Získáte:
Získáte
• Stručný přehled o vzniku disciplíny dobývání znalostí z databází.
• Informace o projektu STULONG.
• Povědomí možnosti využití a možnost prakticky vyzkoušet aplikaci znalostního inženýrství a dataminingu zapojením prostředků programu NEST.
• Internetové odkazy na stránky pojednávající o projektu STULONG a na stránky samotného konzultačního prostředí.
Budete schopni:
• Popsat jednu z metodik postupu vytváření data miningových projektů CRISP-DM.
ČAS POTŘEBNÝ KE STUDIU
Celkový doporučený čas k prostudování KAPITOLY je cca 120 minut včetně případného prostudování internetových odkazů a konzultace v rámci projektu STULONG.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Budete
schopni
104
KLÍČOVÁ SLOVA KAPITOLY EXPERTNÍ SYSTÉMY A ZÍSKÁVÁNÍ ZNALOSTÍ Z
DAT
KDD vznik a proces, data mining, typy úloh, aplikační oblasti, metodiky řešení projektů,
CRISP-DM, STULONG, cíle projektu, Lisp Miner, data zpracovávaná v rámci projektu,
příprava báze znalostí.
Klíčová
slova
7.1 Dolování znalostí z databází
Knowledge discovery in database (KDD) se začíná objevovat ve vědeckých kruzích počátkem 90. let 20. století (na konferencích zabývajících se umělou inteligencí a strojovým učením), tedy v době boomu osobních počítačů a s tím spojeného rozmachu databázových prostředků. KDD je někdy označována také jako data mining, i když data mining může být chápán jako analytická součást interaktivního a iterativního procesu
KDD.
Vznik
DEFINICE 7-1
Knowledge discovery in database (KDD) čili dobývání znalostí z databází je netriviálním procesem získávání implicitních, dříve neznámých a potenciálně užitečných informací z dat.
KDD
Impulzem pro zahájení procesu KDD je existence nebo identifikace reálného (manažérského) problému a výstupem nebo cílem je nalézt nové (překvapivé) znalosti pro
řešení.V rámci procesu KDD můžeme rozeznat následující kroky:
Proces
1. vytvoření řešitelského týmu,
2. specifikace problému,
3. získání dat,
4. výběr vhodné metody analýzy dat,
5. předzpracování dat,
6. data maining,
7. interpretace výsledků analýzy.
K ZAPAMATOVÁNÍ 26
Pojmem data mining se někdy označuje celý proces dobývání znalostí, ale také se můžeme setkat z užším vymezením, kdy data mining chápeme jako přímou aplikaci vybraného (nebo vybraných) metod pro vyhledávání zajímavých vztahů v datech.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Data mining
105
ČÁST PRO ZÁJEMCE 3
Kořeny data minigu můžeme vidět jako průnik oblastí zabývajících se predikčním modelováním (predictive modelling), které využívá poznatků statistických a poznatků z oblasti databází, a prohledáváním databází (Knowledge discovery), které v sobě spojuje metody strojového (machine learning) učení a distribuovaných výpočtů (high performance
& distibuted computing). (Viz Obrázek 7-1).
Obrázek 7-1: Kořeny data miningu. Zdroj: http://www-users.cs.umn.edu/~kumar/Presentation/M7-dmchap1.pdf
V rámci disciplíny KDD se zpracovávají tři základní typy úloh:
Typy úloh
• klasifikační a predikční úlohy – úlohy jejichž cílem je nalézt znalosti použitelné pro
klasifikaci nových případů či predikovat – předpovídat - vývoj,
• deskriptivní úlohy – cílem úloh je nalézt strukturu nebo významné vazby, které jsou
v datech skryty,
• hledání „nuggetů“ – cílem je nalézt nové překvapivé znalosti.
Výše uvedené typy úloh jsou v praxi aplikovány v řadě i komerčně dobře využitých a
využitelných oblastí:
• Detekce podvodů: Posuzování žádostí o finanční prostředky či odhalování podvodného chování zákazníků patří mezi velmi citlivé a složité úlohy. Data miningové
predikční modely mohou vystihnout komplikované vazby mezi vlastnostmi klientů a
velmi dobře předpovídat potenciální podvodníky. Tyto modely se využívají např. v
bankovnictví při posuzování přidělení úvěrů, v telekomunikacích pro odhalení špatného placení účtů nebo ve státní sféře při výběru daní či přidělování dotací.
• Profily zákazníků: Vytvoření segmentů zákazníků a zařazování do těchto segmentů
napomáhá vytvořit nabídku pro zákazníka podle jeho potřeb a navíc ušetřit finanční
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Aplikační
oblasti
106
prostředky za oslovení nevhodných klientů. Tyto modely najdou uplatnění všude,
kde je třeba cíleně oslovit zákazníka. Typickým příkladem může být úspora peněz,
při nabízení nového produktu, kdy nabídku zašleme jen klientům, kteří jsou našimi
potencionálními zájemci. (segmentace klientů bank a pojišťoven: rozpoznání problémových nebo vysoce bonitních klientů)
• Udržení zákazníka: Získání nového zákazníka bývá v praxi finančně daleko náročnější než udržení už existujícího. Proto je výhodné vytipovat klienty, kteří mají
sklony k přechodu ke konkurenci a udělat pro ně speciální akce nebo nabídky. Takovéto modely najdou uplatnění např. v telekomunikacích, kde je velká migrace zákazníků mezi jednotlivými společnostmi. (zákazníci mobilních sítí a internet providerů)
• Stanovení diagnózy: Pro stanovení správné diagnózy a podání správného léčiva na
základě známých příznaků může být s výhodou použit data miningový predikční
model, který dovede zahrnout i různé anomálie a skryté závislosti.
• Analýza časových řad: Existují časové řady, které lze velmi obtížně popsat standardními matematicko-statistickými modely. Pomocí data miningových metod můžeme v takových řadách detekovat různé interakce vyšších řádů, modelovat nelineární závislosti apod. Své uplatnění tu data mining najde ve všech oblastech, kde je
třeba provádět předpovědi na základě historických dat, tedy např. ekonomika (predikce vývoje kursů akcií, predikce spotřeby elektrické energie, analýza nákupního
košíku, atd.), meteorologie, kontrola kvality (analýza poruch telekomunikačních sítí,
příčiny poruch automobilů, atd.) apod.
• Analýza prohlížení stránek na Internetu: Soubory z www serverů se záznamy o
prohlížení stránek jsou velmi objemná a dynamicky se rozrůstající data, která obsahují množství skrytých vazeb. Díky data miningu můžeme z těchto dat získat informace o nejčastějších vzorech v prohlížení či zákazníky segmentovat podle jejich
chování na Internetu. Navíc díky predikčním schopnostem těchto modelů lze každému zákazníkovi nabídnout Internetové stránky podle jeho potřeb. Uvedené postupy uplatňují především společnosti, které po Internetu prezentují nebo prodávají své
produkty.
ČÁST PRO ZÁJEMCE 4
Efektivní zapojení procesu dobývání znalostí v rozhodovacím procesu subjektu (firmy,
banky, ministerstva atd.) může znamenat nalezení významné tržní výhody – v této souvislosti se hovoří o tzv. business intelligence. Business intelligence poskytuje mechanizmus zajišťující doručení správné informace správné osobě ve správný čas a jako takový
je základním kamenem procesu vytváření a distribuce komplexních informací. Analytické možnosti pak představují určitou nadstavbu, která umožňuje prostřednictvím predikce, modelování nebo simulace odhalit skryté souvislosti, což umožňuje právě data mining.
7.1.1 Metodika CRISP-DM
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Business
inteligence
107
Během vývoje a rozvoje KDD vzniklo postupně několik metodik, které si kladou za cíl
poskytnout uživatelům jednotný rámec pro řešení různých úloh z oblasti dobývání znalostí:
• metodika 5A – autorem metodiky je firma SPSS15; 5A je akronymem prováděných
kroků Assess (posouzení potřeb projektu), Access (shromáždění potřených dat),
Analyze (provedení analýz), Act (přeměna znalostí na akční znalosti), Automate
(převedení výsledků analýzy do praxe);
• SEMMA – metodika použitá firmou SAS; akronym ukrývá jednotlivé kroky metodiky Sample (vybrání vhodných objektů), Expore (vizuální explorace16 a redukce
dat), Modify (datové transformace), Model (analýza dat několika metodami), Assess
(porovnání modelů a interpretace);
• CISP-DM – metodika pro použití v nejrůznějších komerčních aplikacích; CRoss Industry Standard Process for Data Mining.
Obrázek 7-2: Grafické znázornění procesu KDD dle metodiky CRISP-DM. Zdroj:
http://upload.wikimedia.org/wikipedia/cs/3/38/CRISP%E2%80%93DM.png
CRISP-DM zahrnuje následující kroky:
CRISP-DM
• Definování cílů projektu a požadavků z obchodního hlediska, převedení znalostí na
definici data miningového problému a předběžné navržení plánu, jak dosáhnout cílů.
Při definování cíle je zapotřebí definovat rovněž kritéria (z podnikatelského hlediska) pro hodnocení úspěšnosti nebo užitečnosti výstupu projektu. Tato kritéria mohou
být objektivně měřitelná nebo subjektivně vnímatelná. Dalším dokumentem, který
15
SPSS je celosvětově působící společnost vyvíjející software a řešení pro prediktivní analýzy. V současné době produkt Clementine (data mainingový software) podporuje metodu CRISP-DM.
16
Explorace – výzkum, terénní výzkum. V našem případě vizuální posouzení.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
108
se v této etapě vypracovává, je analýza přínosů a nákladů (včetně identifikace všech
nutných vstupů finančních, materiálních i lidských). Nutnou součástí této etapy je
sestavení plánu projektu, ve kterém je popsán způsob dosažení cílů data miningu.
Měly by být stanoveny kroky, které musí být vykonány, společně s jejich trváním,
požadovanými zdroji, vstupy, výstupy a závislostmi. Součástí plánu je rovněž analýza závislostí mezi časovým harmonogramem a riziky. Projektový plán by měl obsahovat detailní plán pro každou fázi.
• Porozumění datům – získání dat nebo získání přístupu k datům, která jsou uvedena
ve zdrojích. Tento výchozí sběr zahrnuje případně i nahrání dat, pokud je to nutné
pro jejich pochopení. Všechny tyto operace by měly být popsány společně s metodami užitými k získání dat. Zaznamenány by rovněž měly být i problémy vzniklé
během tohoto procesu a způsoby řešení pro případné použití v budoucnosti (při opakování stejného či podobného projektu). Dále tento krok zahrnuje popsání charakteristik dat, jako např. formát, množství dat (počtu záznamů a polí v každé tabulce),
popis polí a dalších znaků.
• Příprava dat zahrnuje činnosti, které vedou k vytvoření datového souboru, který
bude zpracováván jednotlivými analytickými metodami. Tato data by měla obsahovat údaje význačné pro danou úlohu a mít podobu, která je vyžadována vlastními
analytickými algoritmy. Příprava dat zahrnuje selekci, čištění, transformaci, vytváření, integrování a formátování dat. Tato fáze je obvykle nejpracnější částí celého
projektu.
• Modelování – metodologie CRISP v úvodním kroku této fáze doporučuje vybrat
konkrétní algoritmus (či algoritmy), který se bude použit pro analýzu. Před vlastním
sestavením modelu potřebujeme vytvořit postup nebo mechanismus, který bude testovat kvalitu a sílu (správnost) modelu. Proto obvykle rozdělujeme datovou sadu na
sadu učící a testovací. Model je vytvářen na učící datové sadě a jeho kvalita je určována na testovací sadě dat. V průběhu samotného modelování je vytvářen jeden nebo více modelů. V používaných nástrojích bývá často množství parametrů, které
mohou být různě měněny, proto je nutné vždy důkladně zaznamenat všechny nastavené hodnoty. Dle CRISP bychom měli zaznamenat rovněž zdůvodnění, proč jsme
vybrali zrovna tuto kombinaci nastavení.
• Hodnocení výsledků - tento krok hodnotí úroveň, s jakou model dosahuje obchodních cílů a snaží se určit, zda-li je přítomen nějaký důvod (obchodní), proč je tento
model nedostatečný. Vytvořený model je možné ohodnotit tím způsobem, že jej užijeme na reálné situace a sledujeme jeho kvalitu. Pokud je výsledný model označen
jako schopným uspokojit obchodní potřeby, následuje důkladná revize celé data miningové úlohy a určuje se, zda-li nebyl přehlédnut nějaký důležitý faktor či úkol.
Také se v tomto kroku rozhoduje o následné implementace ve světle analýzy zbývajících zdrojů a rozpočtu.
• Implementace - během zavádění modelů by nemělo být opomenuto vytvoření plánů
pro kontrolu a údržbu. Jejich význam roste, pokud se výsledky data miningových
analýz mají stát součástí každodenních aktivit organizace. Důkladná příprava strategie údržby pomáhá vyhnout se zbytečně dlouhým obdobím, po která jsou data miningové výsledky špatně užívány. Z důvodu kontroly nasazení výsledků je nutný de-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
109
tailní plán kontrolní činnosti. Tento plán bere do úvahy specifický typ nasazení.
7.1.2 KDD software
S rozvojem IS-IT technologií a rozvojem, popularizací a hmatatelnými výsledky aplikací
metod dobývání znalostí, se neustále rozšiřuje nabídka funkčních profesionálních komerčních i freewarových systémů určených pro data mining. (Viz Tabulka 7-1)
Systém
Výrobce
URL
CART
Salford System
http://www.salford-system.com
Clementine
SPSS
http://www.spss.com
Enterprise Miner
SAS Institute
http://www.sas.com
Intelligent Miner
IBM
http://www-4.ibm.com
Kepler
Dialogis
http://dialogis.de
Knowledge Studio
Angoss
http://www.angoss.com
LISp Miner
VŠE
http://lispminer.vse.cz
MineSet
Silicon Graphics
http://www-europe.sgi.com
See5
RuleQuest Research
http://www.rulequest.com
Statistica Data Miner
StatSoft
http://www.statsoft.com
Weka
University of Waikato
http://www.cs.waikato.ac.nz
WizWhy
WizSoft
http://www.wizsoft.com
Tabulka 7-1: Některé ze známých data miningových softwarů.
K ZAPAMATOVÁNÍ 27
V předchozích kapitolách jsme se zabývali programem NEST, který je uzpůsoben tak,
aby mohl spolupracovat s LISp Miner-em, což je data mainingový program vyvinutý na
VŠE Praha, a lze tedy využít výsledků dolování znalostí pro sestavení vlastní funkční
báze znalostí bez zásahu či konzultací experta.
SHRNUTÍ
V první části kapitoly jsme se seznámili s oblastí informačních technologií zvanou dobývání znalostí. V následující druhé části se pak pokusíme ilustrovat možné využití metod KDD a znalostního inženýrství na praktické aplikaci STULONG.
Shrnutí
ODMĚNA A ODPOČINEK
Před dalším studiem načerpejte sil a osvěžte mysl u lahodného šálku čaje.
7.2 Projekt STULONG
7.2.1 O projektu STULONG
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Odměna a
odpočinek
110
STULONG je jeden z projektů EuroMISE centrum – Kardio. Pracoviště VŠE, které je
součástí EuroMISE centrum – Kardio, se zabývá vývojem a aplikací technik a nástrojů
pro získávání a zpracování lékařských znalostí. Hlavními používanými postupy jsou
dobývání znalostí z medicínských databází (data mining) a formalizace znalostí obsažených v textech, zejména lékařských doporučených postupů.
DALŠÍ ZDROJE
V síti internet můžete nalézt další podrobnější informace o projektu STULONG, a to na
adrese http://euromise.vse.cz/stulong.
Projekt Stulong sleduje dva hlavní cíle:
Cíle projektu
• podrobné studium rizikových faktorů aterosklerózy u mužů středního věku,
• demonstrace možností aplikace metod dobývání znalostí z databází v medicínské
oblasti.
Rizikové faktory aterosklerózy byly sledovány u 1419 mužů v letech 1976 – 1999
v souladu s celkovou metodikou projektu. Při vstupním vyšetření byly zjišťovány hodnoty 244 atributů. Hodnoty 219 z nich byly číselné kódy nebo výsledky měření. Dále
bylo provedeno 10 610 kontrolních vyšetření, při kterých byly zjišťovány hodnoty 66
atributů.
Projekt Stulong započal v první polovině sedmdesátých let jako rozsáhlá epidemiologické studie primární prevence aterosklerózy. Sběr dat probíhal na několika pracovištích.
Prvotní data byla později upravena do elektronické podoby a zpracována základními
statistickými postupy. Poté byla analyzována v rámci výzkumu aplikací metod dobývání
znalostí v medicíně. Pro analýzy dat se v rámci projektu Stulong významným způsobem
používá systém LISp Miner.
Kromě systematického vyhledávání významných vztahů mezi sledovanými atributy
(asociační pravidla implikace generovaná pomocí metody GUHA) je v systému též
možnost využití metody KEX/ESOD pro automatickou konstrukci báze znalostí z dat.
Vzniklá báze znalostí může být konvertována do systému NEST, čímž je vytvořen expertní systém poskytující konzultace na základě daných dat. Právě tento postup byl také
v projektu Stulong použit - jeho výsledek bude popsán v následujícím odstavci.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Data a
metody
zpracování
111
Obrázek 7-3: Stránka dotazu v projektu STULONG.
Součástí projektu Stulong jsou i dva výzkumné projekty:
• prezentace výsledků analýz v přirozeném jazyce,
• on line analýzy, které umožňují on line klást vlastní analytické otázky po Internetu a
získávat bezprostředně odpovědi.
7.2.2 NEST v projektu STULONG
V nedávné době byla implementována síťová verze NESTu do projektu STULONG.
Aplikace poskytuje veřejnosti možnost zjistit si riziko výskytu aterosklerózy pomocí
jednoduché konzultace po Internetu. Výsledné rozhodnutí systému má charakter spíše
informativní – je tedy třeba jej případně konzultovat s lékařem.
ČÁST PRO ZÁJEMCE 5
Internetová aplikace vytvořená v rámci projektu STULONG se nazývá AtherEX. Její
stručný popis je dostupný na adrese http://www.euromise.cz/research/software.html.
Vlastní konzultaci lze pak provést na adrese http://nest.aspweb.cz/?app=atherex.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
112
Obrázek 7-4: Stránka výsledků v projektu STULONG.
Práci na vývoji systému lze rozdělit do tří částí:
• příprava báze znalostí,
• příprava webového rozhraní,
• úpravy na samotném NESTu.
Příprava báze znalostí představuje nejpracnější a časově nejnáročnější část implementace. V první fázi byly převedeny znalosti (pravidla a atributy) získané pomocí systému
LISp Miner do syntaxe báze znalostí pro NEST. Takto získaná báze znalostí je kontrolována a dále upravována za přítomnosti experta. Především jsou texty jednotlivých atributů a výroků převedeny do jazyka, kterému porozumí i uživatel – laik, a dále jsou přidávána další pravidla, která nebyla nalezena automaticky, ale která jsou nutná pro
správné fungování báze. Nutno poznamenat, že na vytvoření báze znalostí se podíleli
především doc. Ing. P. Berka, CSc. (v roli znalostního inženýra) a MUDr. M. Tomečková, CSc. (v roli experta).
Příprava
báze znalostí
Příprava webového rozhraní zahrnuje vytvoření webových stránek určených pro konzultaci v systému NEST (za pomoci klasického HTML a příslušných „pseudo tagů“ –
viz sekce „Síťová verze“), které budou jednoduché pro ovládání uživatelem a vzhledem
Příprava
webového
rozhraní
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
113
budou odpovídat stránkám EuroMISE. Ukázky z těchto stránek můžete vidět na obrázích Obrázek 7-3 a Obrázek 7-4.
SHRNUTÍ KAPITOLY EXPERTNÍ SYSTÉMY A ZÍSKÁVÁNÍ ZNALOSTÍ Z DAT
V právě prostudované kapitole jsme si v krátkosti představili disciplínu dobývání znalostí z databází včetně jejího vzniku. Uvedli jsme si a rozvedli typy úloh KDD včetně hlavních aplikačních oblastí. Obeznámili jsme se s existencí metodik postupů, dle kterých se
postupuje při řešení data minigových projektů a jednu z nich – CRISP-DM – jsme si
rozvedli detailně. Uvedli jsme také jakýsi (jistě neúplný) výčet softwarových produktů.
Dále jsme si představili projekt STULONG, který představuje výsledek úspěšného praktického využití poznatků z několika disciplín především z oblasti data miningu (za pomocí systému Lisp Miner) a znalostního inženýrství (systému NEST). Také jste měli
možnost si celý projekt takříkajíc „ohmatat“ na uváděných odkazech na příslušné webové stránky.
PRŮVODCE STUDIEM 11
Tato kapitola obsahově uzavírá ráme kurzu Znalostního inženýrství a následuje poslední
kapitola, v níž si podrobněji specifikujeme požadavky seminární práce. Její vypracování
a obhájení jistě přispěje k lepšímu pochopení principů fungování metod znalostního inženýrství.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
kapitoly
114
8 SPECIFIKACE ZADÁNÍ SEMINÁRNÍ PRÁCE
RYCHLÝ NÁHLED DO PROBLEMATIKY KAPITOLY SPECIFIKACE ZADÁNÍ
SEMINÁRNÍ PRÁCE
Předchozí text zakončíme kapitolou v níž se dozvíte potřebné informace k tvorbě seminární práce.
Rychlý
náhled
CÍLE KAPITOLY SPECIFIKACE ZADÁNÍ SEMINÁRNÍ PRÁCE
Po úspěšném a aktivním absolvování této KAPITOLY
Získáte:
• Informace o nutných parametrech kladených na bázi znalostí.
• Informace o nutných podmínkách kladených na dokumentaci.
• Informace k vlastní obhajobě.
8.1 Báze znalostí
Podstatnou částí seminární práce je funkční a vyladěná báze znalostí. Báze znalostí je
vyhotovena pomocí programu NEST editor a uložena v samostatném xml souboru.
Student volí v rámci zpracovávání práce vhodné téma pro aplikaci metod znalostního
inženýrství. Téma je možné charakterizovat jako problém diagnostického typu tzn. jakékoliv poradenství, diagnóza chyb, závad, onemocnění atp. Pro inspiraci uvádíme: diagnostika typu osobnosti, doporučení konkrétního typu výrobku (notebooku, mobilního
telefonu, počítače, automobilu atp.), diagnostika možného výskytu vrozené choroby,
doporučení vhodného typu služby (pojištění, finančního produktu, dovolené, programu
ve welness centru atd.).
V rámci zvoleného a odsouhlaseného tématu je potřeba zvolit konkrétní výstupní doporučení, čili cílové výroky, kterých by mělo být několik.
Báze znalostí nesmí být plochou – musí obsahovat mezilehlou rovinu atributů respektive
výroků. Báze bude tří nebo více stupňová.
V mezilehlé rovině by mělo být okolo 5-10 výroků. Dotazů, které budou pokládány uživateli, tj. výroků na vstupní úrovni báze znalostí by mělo být více než výroků z nich
odvozovaných na vyšších úrovních báze znalostí.
Báze by měla obsahovat nejen jednoduchá pravidla, ale i pravidla složitější, tedy pravidla s konjunkcemi v předpokladu a také s negativními závěry.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Získáte
115
K ZAPAMATOVÁNÍ 28
Významným faktorem obhajoby bude nejen předvedení funkční báze znalostí, ale i její
odladění, aby konzultace dávaly smysluplné výsledky.
8.2 Ostatní náležitosti
Celá opora předpokládá vedení kurzu ať již v kombinovaném či presenčním studiu ve
formě elektronického či elearningového kurzu tak, aby obsahoval aktivity návodně vedoucí studenta postupně od výběru tématu až po vlastní odevzdání elektronických výsledků práce včetně dokumentace.
V ideálním případě tedy bude se studentem konzultován veškerý postup, během něhož
budou vypracovány veškeré i doprovodné náležitosti požadované k obhajobě práce.
K ZAPAMATOVÁNÍ 29
Student k vlastní obhajobě vypracuje a odevzdá, alespoň týden dopředu před samotným
termínem, funkční bázi znalostí v NEST, uložené typové konzultace v rámci svého zpracovávaného projektu a v neposlední řadě zpracovanou dokumentaci.
Dokumentací se rozumí samostatný dokument (např. ve formátu MS-Word DOC nebo
PDF), který bude zpracován po formální stránce standardně dle pokynů pro zpracování
diplomové práce. V dokumentaci student představí řešený problém, okomentuje své
řešení pomocí grafického znázornění báze a statistiky vlastní báze znalostí. Uvede
výčtem cílové výroky, typy a počty jednotlivých pravidel a atributů. Dále připojí a popíše výsledky vzorových konzultací.
K ZAPAMATOVÁNÍ 30
Adekvátně k počtu cílových výroků existuje stejný počet vzorových konzultací. Vzorová
konzultace je soubor typických odpovědí, které by zadával uživatel, jemuž by byl doporučován konkrétní cílový výrok.
V rámci dokumentace je také možno popsat případná úskalí, obtíže, které se vyskytly
během řešení, či nástin možných alternativ řešení. V závěru je očekáváno zhodnocení
vlastního řešení s návrhem jak problém dále rozpracovat.
8.3 Obhajoba
Obhajoba seminární práce probíhá tak, že práci a její výsledky student přednese a před-
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
116
vede před zkoušejícím a přítomnými kolegy. Vysvětlí cíl práce, nastíní logiku práce a
některých stěžejních pravidel. Objasní rámcově jaké parametry jsou zjišťovány formou
dotazů. Opět rámcově nastíní vazbu na mezilehlou rovinu a na rovinu cílovou.
K ZAPAMATOVÁNÍ 31
Předpokladem úspěšné obhajoby je také zvládnutí instalace systému NEST, ovládání
programů NEST a NEST editor, včetně editace atributů, pravidel a převádění grafických
a jiných výstupů.
V rámci obhajoby student prokáže zvládnutí systému NEST v následujícím rozsahu:
• Student demonstruje na připravených typových konzultacích funkčnost báze.
• Student interpretuje výsledky konzultace pro přítomné kolegy.
• Podle potřeby komentuje, jak byly odvozeny výsledky konzultací.
• Na požádání student předvede graf zpracované báze znalostí.
• Na požádání student zobrazí a případně vysvětlí konstrukci vlastní báze znalostí.
• Zobrazí v případě nutnosti konkrétní pravidlo či atribut své báze.
K ZAPAMATOVÁNÍ 32
Po demonstraci vlastní báze bude následovat debata, v níž se očekává i zapojení ostatních kolegů k různým aspektům zvoleného řešení. Student obhájí zodpovězením dotazů
z pléna své řešení.
Vlastní známka či zápočet bude udělen(a) po hromadné obhajobě při individuálním ústním dozkoušení.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
117
SHRNUTÍ MODULU ZNALOSTNÍ INŽENÝRSTVÍ
Znáte okolnosti vzniku disciplíny znalostní inženýrství a umíte vyjmenovat příbuzné
disciplíny.
Dokážete pojem znalostní inženýrství definovat a vysvětlit.
Umíte popsat základní principy znalostního inženýrství.
Umíte rozdělit znalostní systémy do základních typů a umíte uvést konkrétní systémy
diagnostického typu.
Jste schopni objasnit strukturu expertního systému.
Víte co je to znalost a víte, jakými způsoby mohou být znalosti reprezentovány.
Pochopili jste úlohu inferenčního mechanismu.
Dokážete objasnit pojem neurčitost a vysvětlit, jak souvisí se znalostními systémy.
Dokážete nainstalovat, spustit a nastavit program NEST včetně spuštění a ukládání průběžných výsledků konzultace a průběžných odpovědí.
Umíte ovládat NEST editor a jste schopni zadávat nové prvky báze znalostí.
Víte jakým způsobem jsou reprezentovány znalosti v systému NEST.
Znáte druhy atributů a víte, jak se dají použít.
Víte, jak se v systému NEST zapisují pravidla.
Byli jste seznámeni s mechanizmem inferenčního mechanizmu systému NEST a víte,
jak funguje odvozování v síti pravidel.
Umíte objasnit, jak pracuje systém NEST s neurčitostí a jaké k tomu využívá funkce.
Jste schopni vypočítat, respektive ilustrovat postup výpočtu výsledných vah cílových
výroků pomocí funkcí pro práci s neurčitostí fungují v systému NEST.
Víte, že systém NEST v závislosti na nastavení umožňuje několik přístupů k práci
s neurčitostí.
Umíte si vybrat vhodné téma pro zpracování pomocí systému NEST a dokážete jej graficky znázornit.
Umíte na základě předchozí analýzy započít vlastní práci na nové bázi znalostí a dále ji
konstruovat - tedy vkládat atributy, výroky a pravidla tak, aby tato báze byla formálně
funkční.
Víte, jak postupovat při laďění báze znalostí a k čemu slouží a jaké nástroje použit při
tvorbě dokumentace.
Znáte účel a strukturu báze znalostí OPTCS.
Představili jseme si disciplínu dolování znalostí z dat a ilustrovali její praktické využití
spolu s metodami znalostního inženýrství na přikladu projektu STULONG.
Znáte specifikaci a nároky požadované pro úspěšné obhájení seminární práce.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Shrnutí
modulu
118
KLÍČOVÁ SLOVA MODULU ZNALOSTNÍ INŽENÝRSTVÍ
Znalostní inženýrství, umělá inteligence (artificial inteligence, AI); expertní systém,
znalostní inženýr, inferenční mechanizmus, báze znalostí, reprezentace znalostí, charakteristické rysy expertních systémů, typy aplikací, diagnostické a generativní ES, MYCIN, PROSPECTOR, FinCEN, data, informace, znalost, modularita znalostí, produkční
pravidla, grafické znázornění pravidel, metody inference, typy prohledávání báze znalostí, neurčitost v datech a znalostech,
1. kapitola
SAK, vývoj NESTu, zdroje stažení, instalace, stažení funkčních bází znalostí, nastavení
programu, nastavení cest, nefunkčnost nastavení, spuštění NEST a zavedení báze, základní možnosti programu NEST, konzultace, průběh konzultace a možnosti během
konzultace, ukládání a export odpovědí a výsledků konzultace.
2. kapitola
NEST editor, základní a rozšířená nabídka, zadávání nových prvků báze, atribut x výrok,
binární atribut, jednoduchý atribut, množinový atribut, numerický atribut, fuzzy interval,
dělení výroků, hodnota atributu, obecný zápis pravidla, předpoklad, závěr, apriorní pravidlo, logické pravidlo, kompozicionální pravidlo, kontext, integritní omezení, odvozování a jeho mechanizmus v NEST.
3. kapitola
Přístupy práce s neurčitostí, standardní mechanizmus, funkce: NEG, CONJ, DISJ, CTR
a GLOB, pomocné funkce: NORM a IMP, standartní výpočet.
4. kapitola
Vhodné oblasti, získávání znalostí, výběr cíle, založení báze, rozsah vah, implicitní váha, zadávání atributů a výroků, tvorba pravidel, předpoklad, disjunkce a konjunkce
v přepokladové části, negace v pravidle, závěr pravidla, odlaďování báze, nadbytečné
pravidlo, cyklus v bázi, tvorba dokumentace.
5. kapitola
KDD vznik a proces, data mining, typy úloh, aplikační oblasti, metodiky řešení projektů,
CRISP-DM, STULONG, cíle projektu, Lisp Miner, data zpracovávaná v rámci projektu,
příprava báze znalostí.
7. kapitola
DALŠÍ ZDROJE
Berka, P. – Jirků, P. – Vejnarová, J.: Expertní systémy. 1. vyd. Praha, VŠE 1998. 160 s.
Berka, P.: Vybrané znalostní systémy SAK, SAZE, KEX. Skripta VŠE, 2000.
Berka, P.: Dobývání znalostí z databází. 1. vyd. Praha, Academia, 2003. ISBN 80-2001062-9.
Berka, P., Laš, V., Svátek, V.: Nový expertní systém NEST. Sborník konference Znalosti
2004, Ostrava 2004, s. 256–267. ISBN 80-248-0456-5.
The Data Mining Group.http://www.dmg.org, 20. 2. 2004-04-21.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
119
EuroMISE centrum – Kardio. http://euromise.vse.cz, 20. 2. 2004-04-21.
Giarratano, J., Riley, G.: Expert Systems – Principles and Programming. PWS Publishing Company, Boston 1993. ISBN: 0-534-95053-1.
Hájek, P.: Combining Functions for Certainty Factors in Consulting Systems. Int. J.
Man-Machine Studies 22, 1985
Jiroušek, R.: Metody reprezentace a zpracování znalostí v umělé inteligenci. 1. vyd.
Skripta VŠE, 1995. 103 s.
LISp-Miner: http://lispminer.vse.cz, 20. 2. 2004.
WikipediA: http://wikipedia.org.
BERKA, Petr, LAŠ, Vladimír, TOMEČKOVÁ, Marie. AtherEx: An Expert System for Atherosclerosis Risk Assessment. Aberdeen 23.07.2005 – 25.07.2005. In: MIKSCH, Silvia, HUNTER, Jim, KERAVNOU, Elpida (ed.). Artificial
Intelligence in Medicine. Berlin : Springer-Verlag, 2005, s. 79–88. ISBN 3-540-27831-1.
•
IVÁNEK,J. - FERJENČÍK,J. - ŠVENDA,J.: Znalostní inženýrství - východiska a
perspektivy. SIVO 2092. Praha, ÚVTEI/ÚTEIN 1986, 74s.
•
IVÁNEK,J.: Získávání znalostí - určující faktor rozvoje informačních technologií. SIVO
2175. Praha, ÚVTEI/ÚTEIN 1988, 102s.
•
IVÁNEK,J. - FERJENČÍK,J. - STEJSKAL,B. - ŠVENDA,J.: Základy matematické
informatiky - III. Znalostní inženýrství. Praha, Skripta VŠE 1987, 114s.
•
IVÁNEK,J.: An expert system recommending suitable mathematical decision method.
Computers and Artificial Intelligence, 5, 1986, s.241-251.
•
IVÁNEK,J. - ŠVENDA,J. - FERJENČÍK,J.: Inference in Expert Systems Based on
Complete Multivalued Logic. Suppl. Journal Kybernetika, Vol. 25, 1989, p.25-32.
•
IVÁNEK, J.: Representation of expert knowledge as a fuzzy axiomatical theory.
International Journal of General Systems, 20, 1991, s. 55-58.
•
IVÁNEK,J. - STEJSKAL,B.: Automatic Acquisition of Knowledge Base from Data without
Expert: ESOD (Expert System from Observational Data). In: Proc. COMPSTAT'88
Copenhagen. Physica-Verlag Heildelberg 1988, s.175-180
•
LAŠ, V.: Diplomová práce. VŠE v Praze
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Příloha
Vzor dokumentace pro seminární práci
K ZAPAMATOVÁNÍ 33
Následující vzor dokumentace seminární práce je vzorem skutečně vypracované a odevzdané práce. Slouží pouze k ilustračním účelům, tedy vaše vlastní dokumentace se
může a bude od předloženého vzoru lišit, nicméně by měla sledovat předestřenou
strukturu.
Práce tedy bude obsahovat:
• Úvodní obálkovou stránku s názvem práce, jménem autora a rokem vypracování.
• Obsah.
• Představení problémů.
• Řešení.
• Statistické údaje o bázi.
• Závěr.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
120
Příloha
Vzor dokumentace pro seminární práci
SLEZSKÁ UNIVERZITA V OPAVĚ
Obchodně podnikatelská fakulta v Karviné
Seminární práce do kurzu:
Znalostní inženýrství
Téma:
Výběr vhodného automobilu
Ak. rok 2007/2008
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Zpracoval: Mikůš Jiří
121
Příloha
Vzor dokumentace pro seminární práci
OBSAH:
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
122
Příloha
1.
Vzor dokumentace pro seminární práci
123
VÝBĚR TÉMATU
Žijeme v době, kdy lidé využívají stále více dopravních prostředků pro přesun sama sebe a svých
věcí. K tomu jsou využívány zejména osobní, případně nákladní vozidla. Vozidla procházejí každoročně ohromnou obměnou, které jsou dány technologickými změnami a požadavky zákazníků
zejména v oblasti designu a pohodlí. Automobily se staly samozřejmostí pro téměř každou rodinu.
Z tohoto důvodu jsem se i já ve svém projektu zaměřil na výběr jednotlivých druhů osobních automobilů. Jaký typ vozu je pro daného člověka vhodný v závislosti na jeho požadavcích, možnostech a přáních.
Lidé mají v dnešní době stále méně času a z tohoto důvodu je pro ně velmi důležitá úspora
času. Pomocí dobře zvoleného typu a modelu vozidla lze ušetřit čas. Rozhodl jsem se zaměřit na 4
modely automobilů: Škoda Octávia, Škoda Roomster, Toyota Raf4 a Peugeot 208. Potencionální
zákazníci mohou rozlišit vozidlo podle několika vlastností. Základní vlastností je účelnost vozidla,
dále rychlost, cena, luxus, spotřeba, zdali má zákazník rodinu, případně zdali využívá automobil k
přepravě nákladů, apod.
2.
POSTUP PŘI ZPRACOVÁNÍ PROJEKTU
Nejtěžší byl hned v úvodu výběr tématu, které budu zpracovávat ve svém projektu. Nabízely se
mnohá témata, ale ne u každého se daly vymyslet vhodné atributy a mezilehlé výroky.
Ovšem napadlo mě, že v mé rodině se vyskytuje několik lidí, kteří se zabývají prodejem a servisem
automobilů a náhradních dílů na ně. Navíc přes léto jsem pracoval jako koordinátor u asistenční
služby pro osobní a nákladní vozidla. Zejména tyto důvody mne vedly k tomu, vybrat si nakonec
bázi dat založenou na výběru vhodného automobilu.
Jako nejtěžší věc na celé seminární práci považují uvědomění si, jak má celá báze znalostí vypadat,
jaká má být její struktura, jaké jsou mezilehlé atributy a cílové výroky. Myslím, že je důležité si
načrtnout graf celé báze, ať znalostní inženýr vidí, jak má báze má vypadat. Poté už nevidím nějaký
zásadní problém ve zadávání atributů. Další problémy mohou nastat v zadávání vah u možných
výroků. S tímto problémem si znalostní inženýr musí „pohrát“, aby báze správně fungovala.
Další problém, na který jsem narazil, bylo zjištění, že pokud je atribut mezilehlým atributem a já k
tomuto atributu nepřidám výrok, který někam směřuje, tak budu mít potom problém, že se mi bude
tento mezilehlý výrok objevovat při konzultaci.
3.
STATISTIKA
Atributy
Celkem 16
Binární 8
Dotazovací 14
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Příloha
Vzor dokumentace pro seminární práci
Jednoduchý 3
Mezilehlý 1
Množinový 2
Cílový 1
124
Numerický 3
Výroky
Celkem 37
Binární 8
Jednoduchý 12
Množinový 7
Dotazovací 27
Mezilehlý 6
Cílový 4
Numerický 10
Graf báze
4.
ZÁVĚR
Myslím, že tento expertní systém založený na znalostní bázi v rámci projektu prodeje automobilů,
pro který byl vytvořen, funguje podle všech pravidel správně, ale jelikož se jedná pouze o vzorový
příklad a tudíž zde v žádném případě nejsou zahrnuty všechny druhy značek a modelů vozů a
všechny vlastnosti, které zákazníci požadují, proto pro skutečné využití je nutno zahrnout širší sortiment značek, vlastností i pravidel, podle kterých by systém v praxi fungoval.
Vše se vyvíjí a také oblast vozidel se vyvíjí velmi dynamicky jak v oblasti designu, výkonu, využití
alternativních paliv, vlastností, proto je nutno pravidelně aktualizovat informace a znalosti.
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
Příloha
Vzor dokumentace pro seminární práci
SEZNAM POUŽITÝCH ZNAČEK, SYMBOLŮ A ZKRATEK
INFORMATIVNÍ, NAVIGAČNÍ, ORIENTAČNÍ
KE SPLNĚNÍ, KONTROLNÍ, PRACOVNÍ
Průvodce studiem
Kontrolní otázka
Průvodce textem, podnět, otázka,
úkol
Samostatný úkol
Shrnutí
Test a otázka
Tutoriál
Řešení a odpovědi, návody
Čas potřebný k prostudování
Korespondenční úkoly
Nezapomeň na odměnu a odpočinek
VÝKLADOVÉ
NÁMĚTY K ZAMYŠLENÍ, MYŠLENKOVÉ,
PRO DALŠÍ STUDIUM
K zapamatování
Úkol k zamyšlení
Řešený příklad
Část pro zájemce
Definice
Další zdroje
Věta
Jiří Ivánek, Robert Kempný, Vladimír Laš: Znalostní inženýrství
125

Podobné dokumenty

Sborník "Banka dat a modelů ekonomiky ČR"

Sborník "Banka dat a modelů ekonomiky ČR" nich nejen možnost měření vlivů jedněch ekonomických veličin na jiné, ale také příležitost k simulacím variantních scénářů ekonomické politiky s prozkoumáním důsledků určitých rozhodnutí a k prognó...

Více

Teorie her

Teorie her Příklad 3.1: Tic-Tac-Toe (neboli americké piškvorky) se hrají na čtvercové síti 3x3 políčka. První z hráčů maluje křížky, druhý maluje kolečka. Hráči se střídají a vyhraje ten, komu se podaří umíst...

Více

5.1 Rozhodovací stromy

5.1 Rozhodovací stromy Indukce rozhodovacích stromů patří k nejznámějším algoritmům z oblasti symbolických metod strojového učení. Při tvorbě rozhodovacího stromu se postupuje metodou „rozděl a panuj“ (divide and concque...

Více

1998

1998 Kromě Sangerovy metody se ve speciálních případech používá tzv. metoda Maxama a Gilberta. Při ní se molekula DNA štěpí působením různých velice specifických chemických činidel. Na rozdíl od prvé me...

Více

operační výzkum - Sdružení TurnovFree.net

operační výzkum - Sdružení TurnovFree.net aby ovládali každý krok řešících algoritmů, ale aby pochopili podstatu použitých metod a modelů, jejich možnosti použití, ale i omezení. Jen tak je možné se vyhnout nedorozumění z přeceňování výsle...

Více

flow93 5

flow93 5 Pokud je pohon připojen k hlavnímu vedení, jsou součástky napájecí jednotky pod napětím. Kontakt s tímto napětím je extrémně nebezpečný a může způsobit smrt nebo vážné poranění. Pokud je střídavý p...

Více

DATA MINING - MOŽNOSTI A ZPŮSOBY JEHO VYUŽITÍ

DATA MINING - MOŽNOSTI A ZPŮSOBY JEHO VYUŽITÍ  Odhalení závislostí a rozdílů Data mining nenahrazuje, ale doplňuje dosud užívané postupy vyhodnocování hromadných dat. Dolování dat je mnohem komplexnější proces, než "prosté" výše uvedené metod...

Více