Kapitola 6 Tvorba aplikace Bookerùv zákon: ©petka praxe vydá za tunu teorie.
Murphyho zákony
6.1 Volba aplikaèní oblasti Neexistuje jednoznaèná formule, která by odli¹ila úlohy øe¹itelné \konvenèními" systémy od úloh, vy¾adujících nasazení technik umìlé inteligence (ostatnì samotné odli¹ení tìchto technik je znaènì vágní). Rozhodování èasto závisí na subjektivním odhadu znalostního in¾enýra a na jeho zku¹enostech s pøedcházejícími projekty. Pøesto postupem èasu vzniklo nìkolik schémat, která mìla tento rozhodovací úkol usnadnit. Asi nejznámìj¹í je dvoukriteriální schéma zalo¾ené na odhadu vágnosti a komplexnosti dané úlohy [?]: 1. úlohy s nízkým stupnìm vágnosti a nízkým stupnìm komplexnosti jsou øe¹itelné konvenèními pøístupy a nevy¾adují tedy nasazení znalostních systémù, 2. naopak úlohy s vysokým stupnìm vágnosti i komplexnosti mohou být dostupnými prostøedky nezvládnutelné. Pro nasazení znalostních systému jsou vhodné zbylé mo¾nosti: 3. úlohy s vysokým stupnìm vágnosti a nízkým stupnìm komplexnosti; typická je zde práce s neurèitostí, 1
KAPITOLA 6. TVORBA APLIKACE
2
oblast pøíklady systémù medicina Mycin, Casnet/Glaucoma, Internist/Caduceus, Pip, chemie genetika geologie mechanika matematika výuka právo
Rheum, Puff, Oncocin, Medico, Protis, DM, Cadiag, Neurex, Vm, Headmed, Eeg, ... Dendral, Crysalis, Secs, Synchem Molgen Prospector Sacon, Mechano Macsyma, Am Guidon, Why, Blah, Sophie Legol, Taxman, Lrs, Matrim
Tabulka 6.1: Pøíklady aplikací 4. úlohy s nízkým stupnìm vágnosti a vysokým stupnìm komplexnosti; typická je zde práce s velkým objemem znalostí. Tansley a Hayball [?] uvádìjí mj. následující pøíznaky, podle nich¾ lze usuzovat na vhodnost aplikace znalostních technologií: v de nici úlohy jsou pou¾ity termíny typu: pravidla, vztahy, pøedpoklady, úloha se zdá být neøe¹itelná numerickým výpoètem, zpracovávaná fakta se vyznaèují urèitým stupnìm jistoty (resp. nejistoty), úloha nevy¾aduje manuální zruènost, pro úlohu existují kvali kovaní experti. Jiným doporuèením mù¾e být \pravidlo telefonního hovoru"; ka¾dý problém, který expert bì¾nì vyøe¹í po telefonu za 10 a¾ 30 minut lze øe¹it i expertním systémem. Telefonní rozhovor od ltruje ve¹kerou sensorickou informaci, expert nemusí provádìt ¾ádnou manuální èinnost a du¹evní úsilí spojené s øe¹ením problému mu zabere jen nìkolik minut. U vìt¹ích projektù je vhodné realizovat podrobnou studii proveditelnosti (\feasibility study"), která de nitivnì rozhodne o tom, zda se systém má èi nemá vyvíjet. Tabulka 6.1 ukazuje pøíklady expertních systémù nasazených v rùzných aplikaèních oblastech. První expertní systémy se objevily v oblasti mediciny a dodnes si tato oblast udr¾uje pøední místo v poètu aplikací. Snad to bylo zpùsobeno tím,
6.1. VOLBA APLIKAÈNÍ OBLASTI
3
¾e expertní systémy se objevily v dobì zavádìní výpoèetní techniky do lékaøské praxe a ¾e se tedy hledaly nejrùznìj¹í mo¾nosti nasazení poèítaèù. Pøesto se objevují pochybnosti o vhodnosti této aplikaèní oblasti. Lékaøské znalosti jsou navzájem tak provázané, ¾e se jen obtí¾nì hledá relativnì izolovaný problém; navíc nejèastìji pou¾ívaný prostøedek pro reprezentaci znalostí - pravidla nejsou pøíli¹ vhodná pro zachycení tìchto znalostí. Z diagnostických úloh se tedy jako vhodnìj¹í jeví technická diagnostika. Pomìrnì velký podíl expertních systémù ve výrobì souvisí s celkovou \computerizací" a zavádìním CIM (computer integrated manufacturing). Aplikacím v oblasti ekonomie je vìnována samostatná podkapitola. Pøehled o poètu aplikací do konce roku 1992 (podle [?] je uveden na obrázku 6.1. zemìdìlství obchod chemie komunikace poèítaèové syst. vzdìlávání elektronika strojírenství ¾ivotní prostøedí geologie zprac. obrazu informaèní manag. právo výroba matematika medicina meteorologie vojenství hornictví energetika vìda výzkum vesmíru doprava 0
50
100
150
Obr. 6.1: Poèet aplikací
200
250
300
KAPITOLA 6. TVORBA APLIKACE
4
6.2 Volba systému Na trhu je dnes k dispozici øada prostøedkù pro tvorbu aplikací expertních systémù, od jednoduchých prázdných expertních systémù v cenách desítek nebo stovek dolarù (napø. VPExpert) a¾ po slo¾itá vývojová prostøedí v cenách tisícù dolarù (napø. KEE). Tyto prostøedky se samozøejmì li¹í co do
prostøedkù pro reprezentaci znalostí, zpùsobù inference, podpory tvorby a ladìní báze znalostí, míry u¾ivatelského komfortu pøi konzultaci. Vzhledem k tomu, ¾e situace se mìní ka¾dým okam¾ikem, nelze podat vyèerpávající pøehled v¹ech známých nástrojù. V dal¹ím se tedy zamìøíme na popis nìkterých tuzemských systémù, na nìkteré zahranièní systémy odkazujeme prostøednictvím jejich WWW stránek, tak jak byly známy v dobì psaní skript. Jinou mo¾ností je vlastní vývoj celého systému pøímo \na míru" dané aplikaci. Lze pou¾ít jak bì¾né programovací jazyky (C, Pascal), tak programovací jazyky pro umìlou inteligenci (LISP, PROLOG) nebo \jazyky" pro tvorbu expertních systémù (OPS, CLIPS). Tato cesta ale vy¾aduje podstatnì vìt¹í zku¹enosti (s expertními systémy i programátorské) ne¾ prosté vyu¾ití existujícího shellu.
6.2.1 EQUANT Equant je systém vyvinutý v ÈSAV (Matematický ústav a Ústav informatiky a
výpoèetní techniky) skupinou okolo P. Hájka a T. Havránka [?]. Vývoj systému zaèal poè. 80. let; pro inspiraci sáhli autoøi po systému Mycin. Pùvodní verze byla implementována pro sálové poèítaèe v jazyce PL/1, verze pro osobní poèítaèe je implementovaná v jazyce Turbo Prolog. Pro reprezentaci znalostí systém nabízí výroky a pravidla s vahami. Inference je zalo¾ena na zpìtném øetìzení; pro práci s neurèitostí systém nabízí rùzné sémantiky a mo¾nost pracovat s intervaly místo s bodovými hodnotami vah. Systém neumo¾òuje pracovat s numerickými velièinami. Equant se stal vzorem pro expertní systém Sak.
6.2. VOLBA SYSTÉMU
5
6.2.2 SAK
Sak je vyvíjen na V©E skupinou J. Ivánka. Pro reprezentaci znalostí se pou¾ívají
výroky: kvalitativní (jednoduché nebo sdru¾ené) a kvantitativní (odpovídající
intervalùm numerické velièiny) a pravidla ve tvaru K: A => S (w), kde A je pøedpoklad pravidla (konjunkce výrokù nebo jejich negací), S je závìr pravidla (jeden výrok), w je váha pravidla (internì reprezentována èíslem z intervalu [ 1; 1] a K je kontext (výrok, který rozhoduje o tom, zda pravidlo bude aktivováno). Inference v systému probíhá metodou zpìtného øetìzení. Obvyklý re¾im práce je v dialogu, kdy systém polo¾í dotaz a u¾ivatel odpoví: (1) odpovìdí na kvalitativní dotazy je váha výroku, (2) odpovìdí na kvantitativní dotazy je hodnota velièiny a» u¾ zadaná pøímo z klávesnice nebo získaná výpoètem za pou¾ití numerické procedury. Systém Sak umo¾òuje pracovat se dvìma inferenèními mechanismy, které se li¹í zpùsobem práce s neurèitostí: (1) standardním (prospectorovským) a (2) logickým (zalo¾eným na vícehodnotové logice). Kromì konzultace nabízí Sak celou øadu vysvìtlovacích (why, how) a øídících (what-if, zmìna cíle) modulù.
6.2.3 FEL-EXPERT
Fel-Expert je oznaèení pro øadu prázdných expetních systémù vyvíjených od
poè. 80. let na Elektrotechnické fakultì ÈVUT ve skupinì V. Maøíka [?]. Zatímco Equant volnì navazuje na Mycin, Fel-Expert navazuje na Prospector. To se týká pøedev¹ím podoby pravidel a zpùsobu práce s neurèitostí. Báze znalostí je tvoøena výroky a pravidly, systém umo¾òuje pracovat s øídícími kontextovými vazbami (kontexty jsou na rozdíl od Saku vzta¾eny k výrokùm) a s numerickými velièinami dvou typù (S-uzly a Q-uzly; numerické velièiny v Saku spí¹e odpovídají Q-uzlùm). Na rozdíl od pøedcházejících systémù se pracuje s apriorními vahami výrokù. Pravidla mohou mít pouze jednoèlenný antecedent. Tedy pravidlo 1 & 2 => 3 (w)
tak jak se objeví v systémech Equant a Sak 1, je zde \rozepsáno" do tøí pravidel 1 => 4 2 => 4 4 => 3 (0,w) 1
Èísla v zápisu pravidla jsou èísly výrokù.
KAPITOLA 6. TVORBA APLIKACE
6
a doplòujícího logického uzlu (výrok è. 4). Na druhé stranì dvì pravidla 1 => 2 (v) -1 => 2 (w)
lze reprezentovat jediným pravidlem
1 => 2 (w,v).
6.2.4 Nìkteré zahranièní komerèní systémy
Tabulka 6.2 ukazuje WWW stránky nìkterých zahranièních komerèních systémù urèených pro osobní poèítaèe. název výrobce charakteristika URL EXSYS EXSYS pravidla www.exsysinfo.com/ G2 GenSym reálný èas www.gensym.com/ KappaPC IntelliCorp. hybridní www.intellicorp.com/ Level 5 Level 5 pravidla www.L5r.com/ M4 Teknowledge pravidla www.teknowledge.com/ Nexpert Object Neuron Data hybridní www.neurondata.com/ Tabulka 6.2: Informace o zahranièních systémech
6.3 ®ivotní cyklus expertního systému Metoda \programuj, pak hledej chyby", pou¾ívaná v zaèátcích tvorby znalostních systémù, postupnì ustupuje systematiètìj¹ímu zpùsobu návrhu a implementace, tak jak se pou¾ívá v softwarovém in¾enýrství. Zde patøí k bì¾nì pou¾ívaným modelùm ¾ivotního cyklu tzv. vodopádový model (waterfall model), ve kterém je ka¾dá etapa ukonèena testováním. To umo¾ní minimalizovat náklady na vývoj systému (problémy vzniklé v jednotlivých etapách jsou okam¾itì odstraòovány). Jiným bì¾nì pou¾ívaným modelem je \V" model, kde jednotlivým krokùm návrhu od studie proveditelnosti po návrh implementace odpovídají (v opaèném poøadí) pøíslu¹né kroky realizace a testování. Pro tvorbu znalostních systémù byla vyvinuta metodologie Kads (Knowledge Analysis and Design System), která podporuje pøedev¹ím fázi návrhu.
6.3. ®IVOTNÍ CYKLUS EXPERTNÍHO SYSTÉMU
7
Pøi tvorbì znalostních systémù je výhodné pou¾ít inkrementální model, který umo¾òuje postupnì roz¹iøovat funkènost vyvíjeného systému. Mo¾ná podoba tohoto modelu, tak jak ji prezentují standardní uèebnice znalostního in¾enýrství, je znázornìna na obr. 6.2,2 tedy jako proces rozdìlený do ètyø fází - analýzy, speci kace, vývoje a vyu¾ívání. Pøi analýze problému se posuzuje, zda lze ve zvolené aplikaci pou¾ít techniky znalostního in¾enýrství.
Pøi identi kaci se formuluje problém, jeho¾ øe¹ení by bylo ulehèeno nasazením znalostních systémù.
Pøi zhodnocení se posuzuje vhodnost vytvoøení znalostního systému pro zvo-
lenou aplikaci. V tomto kroku si tvùrci znalostního systému musí zodpovìdìt otázky: Je znalostní systém pro zvolenou aplikaci technicky realizovatelný? Pøevý¹í výhody z nasazení znalostního systému náklady na jeho vývoj? Bude znalostní systém skuteènì vyu¾íván? Usnadní jeho nasazení dosavadní zpùsob øe¹ení problému?
Na vývoji systému se podílejí znalostní in¾enýøi, experti, programátoøi, i potenciální u¾ivatelé. Ve fázi speci kace se de nuje èinnost znalostního systému a znalostní in¾enýr získává rámcovou pøedstavu o tom, jak daný problém øe¹í expert. Vlastní vývoj znalostního systému je iterativní proces. Jednotlivé kroky se nìkolikrát opakují, tak jak se postupnì zpøesòuje a roz¹iøuje budovaný systém. Nový vývojový cyklus se mù¾e zamìøit na zpøesnìní existující báze znalostí nebo na roz¹íøení zábìru znalostního systému. ©íøe zábìru znalostního systému urèuje rozsah èinnosti a situace pro které lze systém pou¾ít. Pøi prvním prùchodu vývojovým cyklem vznikne prototyp systému, který je omezen co do rozsahu èinnosti (napø. diagnostikuje závadu, ale ji¾ nedoporuèuje zpùsob jejího odstranìní) i co do situací (napø. diagnostikuje poruchy pouze urèitého typu). Ji¾ v této fázi je ale vhodné prototyp otestovat a pøedvést expertovi, aby si expert mohl udìlat pøedstavu o speci ckých rysech øe¹ení úlohy poèítaèem a porovnat jej s pùvodními postupy, které sám pou¾ívá. Vlastní vývojový cyklus zaèíná konceptuálním návrhem, který speci kuje èinnost znalostního systému na obecné úrovni. Tento návrh by mìl být konstruován tak, aby 2
[?].
Schéma podle [?]. Podobný cyklus pro tvorbu aplikace znalostního systému je popisován i v
KAPITOLA 6. TVORBA APLIKACE
8 Znalostní in¾enýrství
Identi kace
Analýza
?
Zhodnocení
Získávání znalostí
Úvodní pøedstava
?
Specifikace
De nování èinnosti
Vývoj
Konceptuální návrh
?
?
Zpøesòování Návrh a implementace roz¹iøování ? I @ @ Implementace KA A K A
A
Vyu¾ívání
A A
Detailní pohled
?
A A A A A
Vyhodnocení ?
Nasazení A
?
Údr¾ba
Obr. 6.2: Vývoj znalostního systému se systém mohl snadno roz¹iøovat v jednotlivých prùchodech vývojovým cyklem. Dùle¾itá je tedy dekompozice problému na dílèí, relativnì samostatné podproblémy. Návrh implementace popisuje jak se pro zamý¹lenou úlohu pou¾ije zvolené vývojové prostøedí. Z pohledu znalostního in¾enýra se musí pøedev¹ím vyøe¹it pøevod získaných znalostí do pøíslu¹ného formalismu pou¾itého pro reprezentaci znalostí. V kroku implementace probíhá vlastní kódování báze znalostí, v pozdìj¹í fázi vývoje systému rovnì¾ integrace do výpoèetního prostøedí. Vyhodnocení znalostního systému v raných fázích vývoje pøedstavuje prosté testování báze znalostí. Na základì zku¹ebních (trénovacích) pøípadù se posuzuje shoda závìrù systému s doporuèeními experta. V pozdìj¹í fázi vývoje je vyhodnocení systému rozhodnutím o jeho nasazení do rutinního provozu.
6.3. ®IVOTNÍ CYKLUS EXPERTNÍHO SYSTÉMU
9
Dùle¾ité místo má v tomto procesu syntaktická a sémantická kontrola báze znalostí. Této problematice, nazývané také veri kace a validace bází znalostí se v poslední dobì vìnuje stále vìt¹í pozornost. Podle Lopeze [?] lze hovoøit o strukturální veri kaci, funkèní veri kaci. Pøi strukturální veri kaci se zkoumá struktura báze znalostí. Zamìøíme-li se pouze na báze znalostí v podobì produkèních pravidel, strukturální veri kace znamená nalezení rozporných pravidel, nadbyteèných pravidel, cyklù v pravidlech, neaplikovatelných pravidel, nedosa¾itelných cílù, nekonzistentních situací apod. Je tedy zamìøena pøedev¹ím na nalézání inkonzistencí v bázích znalostí. Strukturální veri kace je dobøe propracována u systémù zalo¾ených na pravidlech, které nepracují s neurèitostí a pou¾ívají nestrukturované báze znalostí. Cílem funkèní veri kace báze znalostí je nalezení nesprávných výsledkù konzultací, analýza obsahu báze znalostí a modi kace báze znalostí. Jako jeden z mála systémù, které poskytují prostøedky pro automatizaci tohoto procesu je uvádìn systém Seek [?]. Nìkdy je mo¾no znalostní systém vyu¾ívat ji¾ bìhem vývoje ve chvíli, kdy je jeho zábìr dostateènì ¹iroký, jindy je tøeba vyèkat a¾ do úplného dokonèení. Vyu¾ívání systému je na obr. 6.2 charakterizováno jako dva kroky:
Pøi nasazení se systém instaluje pro rutinní pou¾ívání. To mù¾e zahrnovat in-
tegrování systému do pou¾ívaného programového vybavení (databáze, vstupní senzory), ale i ¹kolení u¾ivatelù.
Bìhem celé doby ¾ivotnosti znalostního systému musí být báze znalostí prù-
bì¾nì udr¾ována (aktualizována a opravována) aby znalostní systém dokázal reagovat na mo¾né modi kace problémù, které ma øe¹it (jako pøíklad si uveïme systém Xcon kon gurující poèítaèe rmy DEC, kde je nutno zahrnovat stále nové typy komponent).
Èasový odhad nároènosti vývoje nìjaké aplikace tak jak ho uvádìjí Harmon a King [?] je v tabulce 6.3. Paralelnì s vývojem znalostního systému jako programového prostøedku probíhá úzce související proces - získávání znalostí. Èinnosti s ním spojené jsou tím podstatným, co odli¹uje znalostní systémy od jiných softwarových systémù.
KAPITOLA 6. TVORBA APLIKACE
10
Typ systému malý velký velmi velký Poèet pravidel 50-350 500-3000 10000 Poèet èlovìkorokù 0.3-0.5 1-2 3-5 Cena projektu (v tis.$) 40-60 500-1000 2000-5000 Tabulka 6.3: Vývoj aplikace
6.4 Získávání znalostí Tvorba znalostního systému je v¾dy netriviální zále¾itostí: ze samotné podstaty expertních znalostí vyplývá jejich výjimeènost a slo¾itost, která se promítá i do procesu jejich získávání. Navíc se stále obohacuje spektrum technik, které lze pøi získávání znalostí pou¾ít (jde zejména o techniky strojového uèení, ale napø. i nové pøístupy ke konceptuálnímu modelování). Nelze tedy stanovit postup, který je za v¹ech okolností optimální. Existují ov¹em empiricky ovìøené v¹eobecné zásady a heuristiky, které mohou být zaèínajícímu znalostnímu in¾enýrovi u¾iteèné. V dal¹ím textu se pokou¹íme nìkteré z tìchto \uèebnicových" zásad naznaèit. Ná¹ výklad zdaleka nepostihuje slo¾itost reálných aplikací, mù¾e v¹ak poslou¾it jako ilustrace rùznorodosti problémù, s nimi¾ se znalostní in¾enýr setkává, a s tím souvisejících nárokù na pru¾nost jeho my¹lení a schopnost pøizpùsobit se speci kùm daného projektu.
získávání znalostí HH HH j
ruèní
podporované poèítaèem
H H H j
interaktivní
automatizované
Obr. 6.3: Zpùsoby získávání znalostí Techniky získávání znalostí lze èlenit napø. podle klasického schematu (obr. 6.3), navr¾eného J. Boosem [?]. Základním a témìø jediným zpùsobem získávání znalostí byl po dlouhou dobu dialog znalostního in¾enýra s expertem, tj. \ruèní" získávání - elicitace - znalostí. V posledních pøibli¾nì deseti letech se v¹ak zaèaly roz¹iøovat techniky vyu¾ívající, v té èi oné podobì, poèítaèovou podporu. Interaktivní pro-
6.4. ZÍSKÁVÁNÍ ZNALOSTÍ
11
støedky pro elicitaci znalostí doplòují nebo dokonce do jisté míry nahrazují znalostního in¾enýra jako partnera experta v dialogu. Plnì automatizované prostøedky napø. systémy strojového uèení a pøípadového usuzování (Case{Based Reasoning) pak umo¾òují získání (explicitních nebo implicitních) znalostí z pøíkladù expertních rozhodnutí nebo dat získaných pozorováním (observaèní data).
6.4.1 Elicitace od expertù
Znalosti je mo¾né od experta získávat buï pøímo v zobecnìné podobì, nebo rozborem (zobecnìním) konkrétních rozhodovacích situací (pøípadová analýza). Zpravidla je v¹ak vhodné oba zpùsoby kombinovat. Pro poèáteèní fáze elicitace znalostí se napø. osvìdèila následující dvojice krokù (viz [?]):
Úvodní výklad experta k dané problematice. I kdy¾ se znalostnímu in¾enýrovi
èasto zdá, ¾e pov¹echné informace o problému ji¾ naèerpal z literatury, osobní pohled experta mívá nezanedbatelnou cenu. Úvodní \monolog" má ov¹em i psychologický význam - expert se uvolní a uvìdomí si, ¾e se pohybuje v oblasti dùvìrnì známé. Znalostní in¾enýr by mìl dávat najevo pozorný zájem, nemìl by v¹ak mluvèího pøeru¹ovat èastými \jak" a \proè".
Pøípadová diskuse. Expert vybere nìkolik pøípadù - minulých, právì øe¹ených, nebo i hypotetických - a demonstruje svùj pøístup k jejich øe¹ení. Znalostní in¾enýr by mìl být schopen postup sledovat, pøípadné nejasnosti upøesnit dotazy. Opìt v¹ak není vhodné pøedèasnì zkoumat motivaci experta k jednotlivým krokùm (dotazy typu \proè").
V pozdìj¹ích fázích hraje analýza konkrétních pøípadù stále podstatnìj¹í roli. Zpùsoby získávání (elicitace) znalostí od experta se opírají o techniky známé z psychologie. Sem patøí pøedev¹ím rùzné zpùsoby vedení interview: nestrukturované interview pøipomínající bì¾ný rozhovor je vhodné pro první fázi získávání znalostí; strukturované interview má podobu pevné agendy s cílenými dotazy - pou¾ívá se pro získání detailního pohledu na jednotlivé èinnosti experta. K jiným technikám patøí napø. brainstorming pro rychlé generování velkého mno¾ství nápadù v poèáteèních fázích práce na projektu, nebo introspekce èi my¹lení nahlas, pøi kterém expert verbalizuje své my¹lenkové pochody i své chování pøi øe¹ení problému. Z neverbálních technik pro získávání znalostí mù¾eme pøipomenout \karetní metodu" (pou¾ívá se pro ni anglický termín \card sort"), nebo metodu repertoárové tabulky (\repertory grid"). Technika card sort, pøi které expert navrhuje rùzná setøídìní objektù (pøípadù) uvedených na jednotlivých kartách, je urèena k primární
KAPITOLA 6. TVORBA APLIKACE
12
strukturaci znalostí. Problémem pøi její aplikaci nìkdy bývá pøesvìdèit experta, ¾e \hraní karet" je mínìné vá¾nì a není jen ztrátou èasu. Metoda repertoárové tabulky je zalo¾ena na tzv. konstruktivní psychologické teorii G. Kellyho. Kellyho psychologický prostor, jako¾to model my¹lení, je budován na dvou druzích pojmù. Prvním jsou objekty, které èlovìk pou¾ívá k de nování oblasti daného tématu. Mohou to být napø. osoby, fyzické pøedmìty, jevy, akce, diagnózy nebo abstraktní entity. Druhým pojmem jsou konstrukty, které jsou vlastnì speciálními vlastnostmi nebo atributy objektù. Konstrukt je tvoøen dvìma vlastnostmi póly, které tvoøí mezní hodnoty konstruktu (napø. dobrý - ¹patný). U konstruktu je dùle¾ité, aby oba póly od sebe byly psychologicky znaènì vzdáleny (nejlépe aby byly pøímo protikladné), co¾ vlastnì systém konstruktù svým zpùsobem \normalizuje". Formalizací psychologického prostoru, kde nad objekty vyrùstá systém konstruktù, je u Kellyho repertoárová tabulka (repertory grid).
6.4.2 Poloautomatické od expertù Jako pøíklad systému pro interaktivní tvorbu báze znalostí ve spolupráci s expertem lze uvést systém Ets (Expertise Transfer System) vyvinutý Boosem v roce 1985 [?] 3. Ets pomáhá expertovi analyzovat vstupní mno¾inu heuristik a parametrù a automaticky produkuje mno¾inu pravidel. Postup je zalo¾en na repertoárové tabulce, zmínìné v pøedchozí èásti mezi neverbálními technikami.
6.4.3 Automatické z dat Mezi metody automatizovaného získávání znalostí lze øadit nìkteré statistické metody analýzy dat (shluková analýza, diskriminaèní analýza), symbolické metody strojového uèení (indukce rozhodovacích stromù nebo rozhodovacích pravidel), neuronové sítì, genetické algoritmy, pøípadové usuzování (case-based reasoning) nebo objevování znalostí v databázích (knowledge discovery in databases, data mining). Jednotícím rysem vý¹e uvedeného rozmanitého výètu je skuteènost, ¾e znalosti se získávají generalizací z velkého poètu pøípadù pøi jen minimálním vyu¾ití znalostí (a tedy minimálním pøispìní experta). Pod názvem Saze - Systém Automatického Získávání Expertíz vznikla tuzemská implementace systému [?]. 3
6.5. PØÍKLADY EKONOMICKÝCH APLIKACÍ
13
6.5 Pøíklady ekonomických aplikací Metody umìlé inteligence zaznamenaly úspì¹né aplikace i v ekonomii. A» u¾ se jedná o aplikace ve nanèní oblasti (bonita klienta banky, podpora auditu, investièní doporuèení), nebo marketing èi makroekonomické modely, objevila se celá øada komerènì vyu¾ívaných systémù. O vzrùstu zájmu o tuto aplikaèní oblast svìdèí mimo jiné i vznik nových èasopisù vìnovaných této problematice. Je to napø. International Journal of Intelligent Systems in Accounting, Finance & Management (vycházející od roku 1992 místo èasopisu Expert Systems Review), nebo èasopis AI in Finance (vycházející od roku 1995 místo èasopisu AI Expert). Ekonomické aplikace mají ve srovnání s jinými oblastmi nìkteré speci cké rysy. Vzhledem k tomu, ¾e jde o peníze (aplikace nových metod pøiná¹ejí u¾ivatelùm zisk i náskok pøed konkurencí), jen velmi málo se publikuje o úspì¹ných systémech. Podobnì, i nezdary nebývají pøíli¹ zveøejòovány, aby neslou¾ily konkurenci jako informace typu \tudy cesta nevede". Pou¾ití metod umìlé inteligence napomáhá organizaèním zmìnám a decentralizaci u u¾ivatelù. Rozhodovací pravomoci se pøesouvají od expertù na ústøedí k \ne-expertùm" na ni¾¹ích úrovních hierarchie rmy (napø. z centrály banky na její poboèky). Pou¾ití metod umìlé inteligence pøitom zaji¹»uje, ¾e rozhodnutí budou provedena standardním, reprodukovatelným zpùsobem, a ¾e budou dobøe zdokumentována. V ekonomické oblasti se ji¾ roky pracuje s výpoèetní technikou; pou¾ívají se metody operaèního výzkumu a statistické metody, budují se mana¾erské informaèní systémy. Proto se pøi nasazení metod umìlé inteligence musí uva¾ovat o jejich integraci do stávajícího prostøedí. Mù¾e se tedy stát, ¾e \umìlointeligentní" komponenta bude tvoøit jen malou èást celého systému. V následující èásti jsou uvedeny nìkteré ekonomické aplikaèní oblasti a pøíklady pou¾ívaných systémù.
6.5.1 Hodnocení bonity klienta Hodnocení bonity klienta, které provádí banka v pøípadì ¾ádosti o pùjèku, je vlastnì klasi kaèní úloha, kdy na základì (oèekávané) schopnosti splatit pùjèku je klient hodnocen jako rizikový nebo nerizikový. Hodnocení klienta je závislé nejen na jeho ekonomických charakteristikách (údaje z roèních uzávìrek, ale i podnikatelský zámìr na pøí¹tí roky), ale i na vývoji celého pøíslu¹ného odvìtví a na úvìrové politice banky.
KAPITOLA 6. TVORBA APLIKACE
14
FAST
Pøíkladem pou¾ití metod umìlé inteligence (v kombinaci s klasickými softwarovými prostøedky) pro tuto úlohu je systém Fast [?]. Systém je tvoøen tøemi èástmi: tabulkovým kalkulátorem pro analýzu nanèních charakteristik klienta, databází s kritérii úvìrové politiky banky (preference a rizikové faktory jednotlivých odvìtví) a znalostním systémem pro výsledné hodnocení klienta na základì pøedchozích èástí. Pro znalostní èást se pou¾ívá jeden z klasických prázdných expertních systémù, systém Exsys. data o podniku odvìtvové standardy
-
?
FAST Desktop
Strategie banky -
EXSYS shell
?
EXSYS Report Generator závìr
?
Obr. 6.4: Schema systému FAST Advisor Cílem tvùrcù systému bylo modelovat zku¹eného úvìráøe banky. Po numerické analýze ukazatelù podniku (získaných z výsledovky pomocí tabulkového kalkulátoru) následuje analýza bonity za pou¾ití expertního systému. Báze znalostí obsahuje témìø 900 pravidel, která vypovídají o rùzných pomìrech, trendech apod. Je-li nìkterá z hodnot v po¾adovaných mezích, ve výstupní, automaticky generované zprávì se objeví pøíslu¹ný text. Na základì zvolené strategie banky (diversi kovanému pøístupu
6.5. PØÍKLADY EKONOMICKÝCH APLIKACÍ
15
k jednotlivým klientùm) se zpráva je¹tì modi kuje. Z dal¹ích systémù z této oblasti lze uvést napø. Lending Advisor, vyvinutý rmou Syntelligence ve spolupráci s Wells Fargo Bank a First Wachovia Bank, pomáhá vyhodnocovat ¾ádosti o komerèní pùjèky. Systém rozpozná potenciální rizika pùjèky, zvolí vhodnou strukturu pùjèky a umí poskytnout vysvìtlení svého rozhodnutí. Lending Advisor je velký víceu¾ivatelský systém provozovaný na sálových poèítaèích IBM. Autoloan je systém vyvinutý pro U.S. Navy Federal Credit Union, kde pomáhá vyhodnocovat ¾ádosti o pùjèky na automobily [?]. Class (Commercial Loan Analysis Support System) vyhodnocuje nanèní situaci rmy ¾ádající o pùjèku, doporuèuje rozhodnutí o udìlení pùjèky a dokumentuje celý proces posouzení ¾ádosti. Systém je implementovaný v Gen-x. Marble, systém implementovaný v prázdném systému Personal Consultant Plus, vyhodnocuje ¾ádosti o pùjèky. Souèástí je komponenta, která umo¾òuje automaticky získávat pravidla z dat [?].
6.5.2 Podpora auditu PLANET
Systém Planet [?] pou¾ívá rma Price Waterhouse jako podporu pro své auditory. Od poloviny 80.let pøikroèili u Price Waterhouse ke standartizaci zpùsobu provádìní auditu v celosvìtovém mìøítku. První pomùckou auditorù byla série knih (Audit Guidance Series), zahrnující v¹echny pøedpisy, a program APEX, umo¾òující \ruènì" sestavovat plány auditu (na základì rozsáhlé tabulky). Motivací pro tvorbu znalostního systému byla nejen snaha automatizovat tvorbu plánu auditu ale i uva¾ovat rizikové faktory jednotlivých krokù auditu provádìného u daného klienta. Schema systému Planet je na obrázku 6.5. Tvorba systému (získávání znalostí) probíhala v následujících etapách: 1. nalezení seznamu mo¾ných rizikových faktorù, 2. kategorizace seznamu expertem, 3. vytvoøení matice vazeb mezi rizikovými faktory a typy chyb, (práce s více experty, pak skupinový konsensus)
KAPITOLA 6. TVORBA APLIKACE
16
stupeò v jakém jsou pøítomny rizikové faktory stupeò v jakém jednotlivé kroky vyhovují auditu
-
PLANET
plán auditu -
Obr. 6.5: Schema systému Planet 4. testování prototypu v laboratorních podmínkách. (hledání mezer v bázi a validace) Bìhem konzultace nejprve u¾ivatel (auditor) zadá informace o klientovi. Nato systém vytvoøí agendu a zaène klást otázky. S ka¾dou otázkou jso spojeny akce (1) pøiøazení rizika k nalezenému typu chyby, které je mo¾no se dopustit, (2) uzpùsobení systému zvolením relevantní èásti báze a (3) volba podrobnìj¹ího dotazu. Po ukonèení dialogu pro urèování rizika systém vygeneruje první versi plánu auditu. U¾ivatel má poté mo¾nost modi kovat plán auditu na základì what-if analýzy. Systém byl vyvíjen na pracovních stanicích v prostøedí Kee, pro pou¾ívání byl pøenesen na osobní poèítaèe. Své zku¹enosti z vývoje této aplikace shrnuli autoøi do nìkolika bodù, které je mo¾no zobecnit: 1. ve znalostech je síla, 2. získejte experta pro spolupráci, 3. zamìøte se na koncového u¾ivatele, 4. pou¾ijte inkrementální vývoj metodou rychlého prototypování (rapid prototyping). Jiným systémem pro podporu auditu je ExperTAX pou¾ívaný u rmy Coopers and Lybrand jako pomocník auditorù a daòových poradcù pøi zji¹»ování informací pro urèení vý¹ky danì [?].
6.5. PØÍKLADY EKONOMICKÝCH APLIKACÍ
17
6.5.3 Analýzy cenných papírù Pøi urèování vhodné investièní politiky (okam¾iky nákupu a prodeje, vhodná skladba portfolia) se bì¾nì pou¾ívají dva základní pøístupy: technická analýza a fundamentální analýza. Pøi technické analýze se vychází z pøedstavy, ¾e ve¹keré informace potøebné k urèení nového kursu jsou obsa¾eny v minulých hodnotách dosa¾ených kursù a objemù obchodù. Bì¾nì se tedy pou¾ívají statistické metody predikce èasových øad zalo¾ené napø. na klouzavém prùmìru. Tyto standardní metody je mo¾no doplnit o komponentu zalo¾enou na metodách umìlé inteligence. Pøíkladem je systém Esta (Expert Systems for Technical Analysis), který vyu¾ívá klouzavé prùmìry za rùzná období (10, 20, 40 a 75 dnù). Výsledky jsou kombinovány s heuristikami experta (v podobì IF THEN ELSE pravidel) pro investování do konkretního typu akcií. Systém vyu¾ívá prázdný expertní systém Insight2 [?]. Systém Invest radí klientùm banky v souvislosti s nákupem a prodejem akcií. Bìhem konzultace si nejprve vytváøí pøedstavu o klientovi ( nanèní situace, ochota riskovat, po¾adavek na dlouhodobý rùst majetku nebo pravidelné výnosy), podle ní pak klade speciální dotazy. Na vývoji spolupracuje nìkolik nìmeckých bank [?]. Nyse Focus Review System urèuje trendy a hledá nanèní problémy na základì
automatické analýzy zpráv vydávaných na Newyorské burze.
Systém MarketMind slou¾í jako podpora pro nanèní operace na Newyorské burze. Systém v reálném èase monitoruje údaje z burzy, dává doporuèení, kdy obchodovat, a (díky napojení na burzovní transakèní systém) pøímo dává pøíkazy pro provedení pøíslu¹ných operací. Znalostní èást systému je zalo¾ena na produkèních pravidlech vyu¾ívaných metodou pøímého øetìzení [?].
6.5.4 Makroekonomické modely CARMA Systém Carma (Computer-Assisted Real Estate Market Analyst) slou¾í pro provádìní analýzy trhu. Je vytvoøen za pou¾ití prázdného expertního systému Exsys a tabulkového kalkulátoru Lotus 1-2-3. Systém klade otázky týkající se vývoje zamìstnanosti, populace, situace v domácnostech apod.; pøitom vede u¾ivatele ke shromá¾dìní v¹ech potøebných údajù pro provedení úèinné analýzy [?].
KAPITOLA 6. TVORBA APLIKACE
18
6.5.5 Sledováni nanèních transakcí FINCEN
FinCEN (Financial Crimes Enforcement Network) pou¾ívá ministerstvo nancí
USA pro provìøování nanèních transakcí pøesahujících 10.000 $, aby odhalilo eventuální nelegální aktivity. Systém obsahuje 2000 pravidel, a je provozován na pracovních stanicích Apollo. Dlouhodobým cílem je sledovat praní ¹pinavých penìz v celosvìtovém mìøítku [?]. Systém kombinuje práci s rozsáhlou databází Sybase (pro sledování nanèních transakcí) s metodami umìlé inteligence (tabule, pravidla, strojové uèení). Pro vyhodnocování \podezøelosti" transakce se pou¾ívá expertní systém Nexpert Object. Ka¾dé pravidlo v bázi znalostí hledá nìkterou z nanèních aktivit charakteristických pro praní ¹pinavých penìz. Dílèí pøíspìvky pravidel k pozitivní resp. negativní evidenci, ¾e sledovaná transakce, subjekt nebo úèet je podezøelá, se skládají bayesovským zpùsobem do výsledného skóre.
6.5.6 Závìr
Cíle podnikatelských aktivit se dají shrnout slovy pracovat lépe (a tedy vydìlat více). To mnohdy znamená lépe se rozhodovat. V této oblasti mohou výraznì pøispìt metody umìlé inteligence, tak jak to formulovali O'Leary a Kingston ve svém èlánku [?]: Databáze a tabulkové kalkulátory zpøístupnily informace, nutné pro rozhodování. Metody umìlé inteligence jdou je¹tì dále, tím, ¾e (èásteènì nebo plnì) pøebírají rozhodování samotné.