Expertní systémy Tvorba expertního systému Jan Górecki Název prezentace Název projektu Rozvoj vzdělávání na Slezské univerzitě v Opavě Registrační číslo projektu CZ.02.2.69/0.0./0.0/16_015/0002400 Logolink_OP_VVV_hor_barva_cz •Problematikou tvorby expertních (znalostních) systémů se zabývá znalostní inženýrství (knowledge engineering). Znalostní inženýrství csvukrs •Znalostní inženýrství má mnoho společných rysů se softwarovým inženýrstvím. Odlišnosti se týkají typu, povahy a množství reprezentovaných znalostí. Znalostní inženýrství csvukrs •U softwarového inženýrství se jedná o dobře definované algoritmické znalosti. Povahu a množství těchto znalostí potřebných pro řešení daného problému lze předem dobře odhadnout. Znalostní inženýrství csvukrs •U znalostního inženýrství se jedná o extenzivní, nepřesné a špatně definované znalosti, jejichž povahu a množství lze předem velmi špatně odhadnout. To způsobuje potíže v počátečních etapách vývoje ES při odhadu potřebného úsilí a při tvorbě návrhu. Znalostní inženýrství csvukrs •Model životního cyklu ES kombinuje rychlé prototypování a inkrementální vývoj a obsahuje tyto etapy: •1. Analýza problému. •2. Specifikace požadavků. •3. Předběžný návrh. •4. Počáteční (rychlé) prototypování a vyhodnocování. •5. Konečný návrh. •6. Implementace (získávání a reprezentace znalostí). •7. Validace a verifikace (testování). •8. Změny návrhu. •9. Údržba. •Etapy 6, 7 a 8 se iteračně opakují pro jednotlivé části (subsystémy) expertního systému. Životní cyklus expertního systému csvukrs •Cílem analýzy je posoudit vhodnost aplikace znalostních technik pro řešení daného problému. • •Kritéria pro toto posouzení mohou být rozdělena do dvou skupin: –Vhodnost aplikace –Dostupnost zdrojů • Analýza problému csvukrs •1. Problém skutečně existuje? •2. Jsou pro něj vhodné znalostní techniky? •Mohou být replikovány lidské znalosti řešení problému? •Znalosti jsou převážně heuristické? •Jsou tyto znalosti dobře chápány a akceptovány? •Expertízy se často mění (nejsou konstantní)? •Vstupní data jsou nekompletní nebo nepřesná? •Znalostní přístup k řešení je lepší než jiné prostředky? •Odpovědi na tyto otázky mají různou váhu a nemusejí být všechny kladné. Musejí být posuzovány jako celek s ohledem na konkrétní podmínky). •3. Je znalostní přístup oprávněn z hlediska nákladů a přínosů? • Vhodnost aplikace csvukrs •1. Má projekt manažerskou podporu? –dostatek času –potřebné prostředky a školení –disponibilita expertů •2. Je podpora ze strany expertů? •3. Jsou experti kompetentní? •4. Jsou experti komunikativní? •5. Jsou experti fyzicky dostupní? •6. Jsou k dispozici jiné zdroje znalostí? Dostupnost zdrojů csvukrs •1. Úvod. • Charakteristika problému, profil uživatelů, cíle projektu. Struktura specifikace požadavků csvukrs •2. Funkce expertního systému. • Vstupy a výstupy systému, pomocné funkce, implementační priority. Struktura specifikace požadavků csvukrs •3. Omezení. • Hardwarová omezení, externí rozhraní, kompatibilita s předchozími produkty, rychlost, spolehlivost, udržovatelnost, bezpečnost, identifikace chyb. Struktura specifikace požadavků csvukrs •4. Závěrečné požadavky • Metody validace a verifikace, požadavky na dokumentaci, jiné požadavky. Struktura specifikace požadavků csvukrs •1. Výběr paradigmatu reprezentace znalostí. –Pravidla nebo logika – vhodné pro mělké znalosti. –Struktury (rámce objekty, sémantické sítě) – vhodné pro hluboké a strukturálně provázané znalosti. –Hybridní systémy – spojení strukturálních znalostí se schopností inference. •2. Výběr metod usuzování (souvisí s volbou reprezentace). •3. Výběr nástrojů (komerční nebo zákaznický systém?). •4. Výběr lidských zdrojů (znalostní inženýři, vedoucí týmu, experti). •5. Požadavky na vývojový tým (dány zejména složitostí a rozsahem systému). Předběžný návrh csvukrs •1. Paradigma reprezentace znalostí a usuzování. •2. Flexibilita. • Uživatelsky definované funkce, externí rutiny, vestavěné funkce, podpora datových struktur. •3. Speciální požadavky. • Časové usuzování, operace v reálném čase, zpracování neurčitosti, přístup k externímu softwaru, grafika, okna. •4. Pomocné funkce. • Editor znalostní báze, trasování, vysvětlování, testovací a verifikační pomůcky, grafická prezentace znalostní báze. •5. Výkon. •6. Podpora výrobce. • Dokumentace, on-line help, podpora horkou linkou, školení, konzultace. •7. Náklady Kritéria pro výběr komerčního shellu csvukrs •Rychlé prototypování (rapid prototyping) využívá prostředky jako Lisp, Prolog a/nebo komerčně dostupné prázdné ES (shells) s cílem rychle vytvořit fungující prototyp finálního systému. Rychlé prototypování csvukrs •Na základě vyhodnocení prototypu musejí být všechna předběžná rozhodnutí potvrzena nebo změněna. Rychlé prototypování csvukrs •Počáteční prototyp by měl mít dobré uživatelské rozhraní a rozumně robustní podmnožinu znalostí, aby zamýšlení uživatelé mohli posoudit jeho aplikovatelnost. Rychlé prototypování csvukrs •Prototyp může být sice po vyhodnocení dále modifikován, ale doporučuje se jeho opuštění a započetí implementace ES na základě konečného návrhu od počátku. Rychlé prototypování csvukrs •Získávání znalostí (knowledge acquisition) je klíčovou operací implementace ES a představuje nejdelší a nejpracnější část vývoje ES. Získávání znalostí csvukrs •Akvizice znalostí je proces zjišťování (elicitation) ze zdrojů (expertů, textů, dat, obrázků, … ) a jejich reprezentace v bázi znalostí. Získávání znalostí csvukrs •Proces naplňování báze znalostí probíhá inkrementálně (incremental development). Postupně jsou implementovány zvládnutelné a relativně ucelené části znalostí (subsystémy). Po implementaci každé části probíhá testování, na jehož základě mohou být provedeny případné změny v návrhu. Získávání znalostí csvukrs •1. Získávání znalostí od expertů formou spolupráce mezi znalostními inženýry a experty –1 : 1 (nejčastější případ) –1 : n –m : 1 –m : n Způsoby získávání znalostí csvukrs •2. Automatizované získávání znalostí (strojové učení) –od expertů –z textů –z dat (data mining) • Způsoby získávání znalostí csvukrs •Obvykle se proces dělí do tří fází: 1.Seznámení s problémem, získání základních znalostí (spolupráce nejen s expertem ale také se zadavatelem a uživatelem) 2.Získávání obecných znalostí. 3.Získávání specifických znalostí. Proces získávání znalostí od expertů csvukrs •Práce s jedním expertem: –obvykle formou interview; –nebezpečí zavlečení chybné expertízy Proces získávání znalostí od expertů csvukrs •Práce se skupinou expertů: –panelová diskuse, brainstorming; –nižší riziko chybných expertíz; –náročnější na přípravu a průběh, –nebezpečí konfliktů mezi experty • Proces získávání znalostí od expertů csvukrs •Optimalizace interview: –pečlivé naplánování a efektivní řízení průběhu •Plánování interview: –místo konání – v počáteční fázi na pracovišti experta, později (je-li to možné) na pracovišti znalostního inženýra –doba trvání – kolem 2 hodin, rozhodně ne více než 3 –cíle interview – stanoveny na základě přehledu výsledků předchozího sezení •S plánem interview je třeba experta předem seznámit. • Příprava interview csvukrs ¡Nestrukturované interview (běžný rozhovor, vhodné pro počáteční fázi) ¡Strukturované interview (kladení cílených dotazů, získání detailního pohledu) ¡Myšlení nahlas (expert popisuje svá myšlenkové pochody a chování při řešení problému) ¡Pokus o řešení problému pod dohledem experta s cílem vcítit se do jeho myšlenkových pochodů ¡Metoda repertoárové tabulky (repertory grid) Ÿsloupce odpovídají objektům z dané oblasti Ÿřádky odpovídají konstruktům; každý konstrukt je tvořen dvěma mezními (nejlépe protikladnými) vlastnostmi objektů Ÿpolíčka tabulky obsahují číselná ohodnocení příslušnosti objektu k jednomu či druhému pólu • Techniky získávání znalostí od experta csvukrs •Paradox znalostního inženýrství: – Čím více se experti stávají kompetentními, tím méně jsou schopni popsat znalost, kterou používají při řešení problémů. •Typy problémových expertů: –expert obávající se ztráty postavení po zavedení ES –cynický expert –velekněz oboru –paternalistický expert –nekomunikativní expert –lhostejný expert –pseudovzdělanec v umělé inteligenci • Problémy práce s experty csvukrs •Výběr typu kytary: •akustická (nylonové struny) •akustická (kovové struny) (https://www.youtube.com/watch?v=L2HjE6ER0P0) •elektrická (kovové struny) https://www.youtube.com/watch?v=fDTm1IzQf-U •elektro-akustická (kovové struny) https://www.youtube.com/watch?v=THrYzZr6glQ • • •oud guitar, slide guitar, ravi shankar sitar, weird guitar (https://www.youtube.com/watch?v=EAZdiJGWdfI&list=RDEAZdiJGWdfI#t=10 nebo http://www.youtube.com/watch?v=ICLkuwWO9tU ) Praktická aplikace csvukrs Děkuji za pozornost Některé snímky převzaty od: RNDr. Jiří Dvořák, CSc. dvorak@fme.vutbr.cz