Kapitola 1 - Co je "umělá inteligence"

[ Hlavní stránka | Předchozí kapitola | Další kapitola]
aneb jemný úvod do problematiky

Motto:

Všichni lidé od přírody touží po vědění.
    Aristoteles
    384 - 322 př. n. l.

Technické možnosti, funkční schopnosti a zejména rozsáhlé programové vybavení současných výpočetních prostředků (záměrně se zde neomezíme pouze na oblast "klasických" nebo dokonce osobních počítačů, přestože ony tvoří převážné procento dnes výrobci produkované výpočetní techniky, ale z hlediska principiálně snadno realizovatelných funkčních možností moderních číslicových systémů poskytují uživateli obvykle jen značně omezenou podmnožinu těchto funkčních vlastností, a to z jednoduchého důvodu, že pro běžné komerční využití počítače např. pro evidenci nákupu a prodeje zboží v obchodě či psaní textů nebo dopisů ty "dokonalejší" funkce prostě nejsou zapotřebí) v poslední době významně rozšířily okruh úloh a problémů, které lze s pomocí výpočetní techniky efektivně řešit. Lze konstatovat, že soudobé výpočetní systémy spolu se svým, na konkrétním technickém prostředku (hardware) často nezávislým programovým vybavením již mnohonásobně předčily představy, které tvůrce prvních počítačů při jejich konstrukci původně inspirovaly. Vlastnosti většiny dnes dodávaného programového vybavení a výkonnost hardware číslicových systémů umožňují zpracovávat i takové úlohy, jejichž řešení se ještě před několika málo roky považovalo za výhradní doménu lidské inteligence. V té souvislosti vznikla v průběhu posledních dvaceti let teoreticky poměrně náročná vědní disciplina, která takové úlohy zkoumá a pokouší se je s využitím moderních výpočetních prostředků řešit. Podle charakteru úloh a způsobů jejich řešení dostala název Umělá inteligence (angl. Artificial Intelligence, něm. Kuenstliche Intelligenz).

1.1 Přirozená versus umělá inteligence

[ Hlavní stránka | Předchozí kapitola | Další kapitola]

Ačkoli pojem inteligence běžně používáme k označení některých lidských vlastností, nejsme schopni jednoznačně vyjádřit nebo dokonce definovat, co vše tento pojem obsahuje, které projevy lidské činnosti máme či nemáme považovat za projevy inteligence. Někdo mezi projevy inteligence (v tomto případě přirozené) zahrnuje schopnosti přizpůsobovat se, učit se, jiní ztotožňují tuto vlastnost se schopností účelně využívat paměť nebo pochopit situaci, předvídat důsledky svých rozhodnutí ap. Obtížnost přesnějšího vymezení obsahu pojmu inteligence vyplývá zřejmě z toho, že projevy živé hmoty jsou produktem jejího milióny let trvajícího vývoje.

Inteligenci, nebo lépe míru inteligence jedince zatím nelze žádnými prostředky objektivně měřit. Inteligentní chování zpravidla posuzujeme pouze prostřednictvím vnějších projevů jedince, které pak lze určitým způsobem vyhodnocovat (na jejich hodnocení jsou založeny např. dobře známé IQ testy). Mezi vnější projevy přirozené inteligence patří např. schopnost rozpoznávat objekty a situace reálného světa, vytvářet si modely světa nebo situací a pracovat s nimi, upřesňovat je a zdokonalovat učením, zobecňovat poznatky, vytvářet (definovat) nové pojmy, využívat analogie, stanovovat si cíle apod. Do jaké míry však tyto projevy jsou skutečně projevy inteligence? Samotný výskyt zmíněných projevů ještě nic neznamená. Zpravidla ještě záleží na tom, na jaké úrovni obecnosti je úloha (test) řešena. Např. rozpoznání trojrozměrného tělesa tvaru krychle od tělesa tvaru kvádru na základě změřených délek hran jistě není úloha vyžadující přílišnou inteligenci. Ale rozpoznávání obecných objektů nebo situací, s nimiž se v každodenním životě setkáváme, mezi "inteligentní" úlohy zařadíme. V jejich případě totiž už nevystačíme s jednoduchým geometrickým popisem, nýbrž musíme současně využívat např. vizuální informace o zkoumaných objektech, jejich akustické projevy, musíme zvažovat možné interpretace zjištěných údajů, tj. které údaje v daném místě a daném čase přicházejí v úvahu ve vztahu k řešené úloze, stavu okolí ap. Zahrnutí informací tohoto typu vytváří množství variant řešení, přičemž pomocí znalostí a zkušeností (které bývají také kodifikovány jako projevy inteligence) a na základě posouzení všech dostupných informací se snažíme vybrat jen velice omezený počet variant řešení (v optimálním případě dokonce pouze jedinou), které považujeme za nejlepší. U člověka ovšem takový výběr variant bude vždy subjektivně zatížen - výběr variant řešení téže úlohy provedený několika individui téměř s jistotou nebude totožný.

Máme-li uměle vytvořený systém považovat za inteligentní, pak samozřejmě od něj budeme vyžadovat, aby produkoval obdobné vnější projevy. A na porovnávání vnějších projevů inteligence člověka a uměle vytvořeného systému byly založeny všechny dřívější definice umělé inteligence. Marvin Minski z MIT před více než dvaceti léty definoval umělou inteligenci jako "vědu o vytváření strojů nebo systémů, které budou při řešení zadaného úkolu užívat takového postupu, který bychom - kdyby ho realizoval člověk - považovali za projev jeho inteligence" . Tato definice je velice všeobecná a souvisí s testem, který navrhl A.,N.\Turing před více než 30 léty a který lze stručně popsat takto:

Člověk -- operátor má vyřešit určitý (zadaný) úkol a k vyřešení úkolu je izolován v uzavřené místnosti, ve které může svoji činnost konzultovat pouze prostřednictvím dvou počítačových terminálů, lhostejno kterého. Jeden z terminálů je však připojen na výkonný výpočetní systém vybavený "určitou dávkou inteligence", prostřednictvím druhého terminálu má operátor možnost konzultovat své záměry s jiným člověkem - nositelem přirozené inteligence. Operátor přirozeně předem neví, kam je který terminál připojen. Konzultace spočívá v kladení různých otázek souvisejících se zadanou úlohou. Pokud člověk - operátor nebude ani po dostatečně dlouhé době schopen určit, který z terminálů je připojen k počítači, bude výpočetní systém, resp. jeho program pokládán za inteligentní.

Tento test dnes přirozeně může vyvolat úsměv. Při hlubším zamyšlení ale zjistíme, že přes časový odstup od doby jeho vzniku na aktuálnosti a racionalitě nic neztratil. Ve smyslu výše uvedených tvrzení jsme totiž nuceni i "inteligenci" v chování uměle vytvořených systémů posuzovat pouze podle jejích vnějších projevů. Navíc vždy půjde o vnější projevy programu, který někdo vytvořil, čili projevy chování systému budou v určité míře odrážet rysy chování tvůrčího subjektu. Z funkčních vlastností soudobého číslicového výpočetního systému přirozeně plyne, že jakákoli variabilita ve zpracování bude pouze výběrem z předem připravených variant (větví) programu a bude - jako ostatně při jakémkoli zpracování na počítači - záležet na komplexnosti a precisnosti, s jakou tvůrce danou úlohu zpracoval.

Uměle vytvořený systém, má-li se navenek chovat "inteligentně", musí při řešení zadané úlohy postupovat obdobně jako člověk, tzn. musí sbírat všechny dostupné údaje o úloze (které v úlohách UI obvykle nazýváme fakty), pomocí připravených algoritmů je třídit, ohodnocovat a podle daného kritéria uspořádávat a konečně na základě výsledků zpracování faktů se musí rozhodnout pro alternativy postupu řešení. Nemá-li dostatek informací pro rozhodnutí o dalším postupu, musí být schopen požádat o doplnění informací a nově získané informace zatřídit do již existujících. Přitom se výpočetní systém nemůže opírat pouze o "hrubou sílu" výpočetní techniky, tj. nevyhodnocovat postupně všechny varianty řešení, protože často bývá jejich počet tak vysoký, že ani superrychlé systémy by nebyly schopny v přijatelném čase tato vyhodnocení provést. Bude řešit pouze některé varianty, pro něž se na základě dostupných údajů (faktů) musí účelně rozhodnout. Inteligentní systém tak musí některé varianty postupu vyšetřovat přednostně, jiné, které pokládá za málo nadějné kandidáty řešení, dočasně nebo zcela odloží. Obecně zde platí (a to i pro člověka s přirozenou inteligencí), že čím méně neúspěšných variant systém při hledání řešení analyzuje, tím se jeví jeho chování inteligentnější. V ideálním případě, tj. při existenci všech údajů o úloze a stoprocentní definici cíle (cílového stavu), by systém měl posuzovat a realizovat pouze varianty rychle vedoucí k cíli. To je ovšem pouze ideální představa, ve skutečnosti téměř vždy pracujeme s informacemi neúplnými nebo neurčitými. A to je dalším charakteristickým rysem systémů s umělou inteligencí - musejí být schopny pokud možno spolehlivé funkce i při neurčitých a neúplných faktech.

V reálném světě je posuzování variant řešení úlohy možné na základě využití znalostí o úloze. Lze tedy říci, že inteligentní systém čerpá svoji inteligenci ze souboru, nebo lépe báze znalostí. Znalost se nám tak objevuje jako další základní pojem z oblasti umělé inteligence, který bude v dalším nutno formalizovat a precisněji definovat. Zatím nám postačí, když si znalosti budeme intuitivně definovat jako vyšší typ datové struktury, který kromě obvyklých atributů datových struktur obsahuje také akce (operace) jednoznačně charakterizující příslušnou znalost (viz dále). Má-li systém znalosti efektivně využívat, musejí být tyto vhodně uspořádány a snadno přístupné. Tím se otevírají další dva problémové okruhy umělé inteligence: jak znalosti reprezentovat a jak je efektivně ukládat. Obecně se otázka reprezentace znalostí považuje za jeden z nejdůležitějších problémů umělé inteligence a bude mu věnována samostatná kapitola. Problém ukládání a vyhledávání znalostí je dnes posunut do oblasti využití komerčních databázových systémů pro návrh bází znalostí.

Vrátíme-li se po těchto úvahách zpět k otázce definice, co to vlastně umělá inteligence je, resp. co vše do ní patří, můžeme na jejich základě zformulovat následující slovní definici:

Člověkem uměle vytvořený systém budeme považovat za inteligentní (tzn., že systém bude obsahovat inteligentní prvky, avšak uměle vytvořené - čili prvky umělé inteligence), pokud bude schopen:

  1. spolehlivě rozpoznávat předměty, jevy a situace, v nichž se nachází,
  2. vytvářet si jejich formální nebo funkční modely, jakož i modely chování svého okolí, s nímž je v interakci,
  3. analyzovat a formalizovat vztahy mezi rozpoznanými předměty, jevy či situacemi a také vztahy ke svému okolí,
  4. na základě poznatků (znalostí) získaných činnostmi (akcemi) uvedenými v bodech 1 - 3 vyvozovat příslušné závěry, tj.

1.2 Hlavní problémové a aplikační oblasti UI

[ Hlavní stránka | Předchozí kapitola | Další kapitola]

1.2.1 Řešení úloh (Problem solving)

Řešení úloh představuje dnes poměrně rozsáhlou součást problematiky umělé inteligence. Lze říci, že rozvoj tématické oblasti řešení úloh byl původně inspirován poměrně naivní představou, aby výpočetní systém vyřešil tu či onu úlohu, se kterou si člověk třeba neví rady. Přirozeně celý problém řešení úloh nelze formulovat tak zjednodušeně. V praxi obvykle jde o nalezení některého konkrétního, z nějakého hlediska optimálního (častěji přibližně optimálního) postupu řešení, přičemž zadavatel musí být schopen úlohu formálně správně a hlavně jednoznačně formulovat. Což nebývá jednoduché.

Do problémové oblasti řešení úloh můžeme také zařadit problematiku hraní her, neboť ve svém principu nám obvykle jde o nalezení nejsnazší cesty jak dosáhnout kýženého cíle - vyhrát nad soupeřem. Hraní her je však algoritmicky velmi obtížná záležitost, náročná především na uložená data a znalosti (pojem znalosti zde používáme ve výše uvedeném pojetí, které budeme v dalším precisovat), je mu zejména v ekonomické oblasti přisuzován dnes značný význam, a proto je někdy uváděno jako samostatná podoblast UI.

Ve stručnosti můžeme říci, že každá úloha je formálně definována (popsána) výchozím stavem, množinou cílových stavů (která může obsahovat také pouze jediný prvek anebo cílový stav nemusí být předem explicitně zadán a je dán obecně platnými podmínkami - viz šachové úlohy) a množinou přípustných akcí. Úkolem výpočetního systému vybaveného umělou inteligencí bude nalézt takovou posloupnost přípustných akcí, která úlohu převede z výchozího stavu do některého stavu cílového. Formálně pak řešení úlohy můžeme formulovat pomocí symboliky programového systému GPS (General Problem Solver), která vychází z funkcionální představy úlohy jako dvojice objektů, kde první objekt, tzv. počáteční, představuje výchozí stav úlohy a druhý objekt, tzv. cílový, charakterizuje konečný stav úlohy. Řešením úlohy pak je nalezení posloupnosti operátorů, která převádí počáteční objekt v objekt cílový.

1.2.2 Automatické dokazování (Theorem proving)

Nalezení důkazu matematické věty zpravidla bývá označováno jako jedna z vrcholných intelektuálních činností člověka. Matematik, který provádí důkaz nějaké věty, musí být nejen schopen formulovat hypotézy a dedukovat z existujících faktů nové závěry, ale také musí umět intuitivně odhadnout, které dílčí části důkazu (formulované a samostatně dokazované např. jako lemmata) musejí být provedeny v prvé řadě a v jakém pořadí, aby kompletní důkaz jednak byl vůbec doveden do úspěšného konce a jednak aby celkový postup provedení důkazu byl formálně správný. Rozhodnutí, jak postup dokazování dekomponovat na části řešené relativně samostatně (a nezávisle), jsou obvykle závislá na množství speciálních znalostí a zkušeností získaných v předchozí činnosti, tj. při provádění jiných matematických důkazů.

Existující programové systémy provádějící důkazy matematických vět jsou proto koncipovány obdobným způsobem, tzn. mají v sobě takové znalosti (i když jen v omezené míře dané kapacitními možnostmi) zakomponovány a při své činnosti je dokážou obdobným způsobem jako člověk úspěšně aplikovat. Samozřejmě, že lze provádět pouze takové výpočetní akce a využívat jen takové znalosti, které lze důsledně formalizovat a v relativně jednoduché formě (kvůli rychlému vybavování) uchovávat v paměti výpočetního systému.

Formalizace deduktivního procesu pomocí některého výrazového prostředku do značné míry usnadňuje popsat postupy uvažování expertů, ukládat je do paměti výpočetního systému jako znalosti a pak je při dokazování efektivně využívat. Řadu běžných komplikovaných úloh, jakými je např. stanovení medicinské či technické diagnózy nebo inteligentní postupy vyhledávání dat v databázích lze účinnou formalizací převést na úlohy automatického dokazování. Toto tvrzení lze snadno ilustrovat např. jednou z nejjednodušších lékařských diagnostických úloh - zánětlivé onemocnění v organismu lze jednoznačně prokázat zvýšenou sedimentací.

1.2.3 Inteligentní postupy vybavování údajů z databází (Intelligent retrieval from databases)

Současné databázové systémy slouží k dlouhodobému uchovávání nejrůznějších druhů rozsáhlých, vnitřně strukturovaných informací. Běžným cílem aplikace databázových systémů pak je poskytování informací z databází člověku na základě zodpovídání jeho dotazů položených ve zvoleném dotazovacím jazyce. Omezení se na pouhého člověka je zde však téměř trestuhodným zjednodušením, neboť na databáze se dnes mohou obracet se svými dotazy i různé technické systémy, výpočetní systémy zapojené v sítích ap., bez přičinění člověka. Je-li např. moderní výpočetní systém vybaven "určitou dávkou inteligence", sám dokáže svůj dotaz na databázi formulovat. Jedná se o zcela přirozený postup, který dnes používá většina expertních systémů při přístupu ke znalostem, resp. faktům uloženým v bázi znalostí, resp. faktů. Základní úlohou pak bude nejen nalezení požadovaných dat s co nejkratší odezvou, nýbrž zpravidla na systému také požadujeme, aby z uložených dat dokázal odvodit (vydedukovat) požadovanou odpověď na zadanou otázku. Je-li umělý systém schopen takového deduktivního uvažování, lze množství ukládaných skutečností ve formě dat výrazněji zredukovat, což se příznivě odrazí mj. i ve zrychlené odezvě databázového systému.

1.2.4 Reprezentace znalostí a znalostní systémy (Knowledge engineering and expert consulting systems)

Znalostí expertů je obvykle využíváno k řešení úzce specializovaných úloh na velmi vysoké odborné úrovni. Řešené úlohy mohou být povahy analytické (diagnostika v medicině nebo technická diagnostika) nebo syntetizující (plánování léčby, návrh výrobního postupu ap.). Znalosti jsou základním předpokladem procesu usuzování (odvozování) a výpočetní systém s umělou inteligencí lze v této souvislosti zjednodušeně chápat jako systém, který shromažďuje a ve vhodné podobě uchovává užitečné znalosti a pak je adekvátně používá. U znalostních systémů zpravidla rozlišujeme dva obsahově odlišné druhy informací - fakta (elementární data, jejichž platnost, pravdivost či věrohodnost je dokázána nebo ji lze dokázat) a vlastní znalosti (postupy, procedury, algoritmy, ...), které ne vždy bývají úplné. Potom hovoříme o jisté neurčitosti ve znalostech, eventuálně i v datech (faktech) a navzdory této neurčitosti musí znalostní systém dospět k nějakému závěru. Komunikace uživatele se znalostním systémem bývá obvykle vedena formou vhodného dialogu připomínající konzultaci experta s klientem (odtud anglický název), během níž uživatel upřesňuje data, s nimiž systém pracuje. Výsledkem činnosti znalostního systému pak je rozhodnutí, resp. řešení (postup řešení problému) - např. stanovení diagnózy pacienta, návod jak odstranit poruchu nejedoucího automobilu ap. K rozhodnutí či nalezení řešení pak znalostní systém využívá poznatků (postupů) z oblasti řešení úloh nebo automatického dokazování.

1.2.5 Vnímání prostředí (Perception problems)

Vnímání prostředí je jednou z nejvýznamnějších vlastností živých organismů. Určitou část těchto vlastností se člověk snaží přenést také na uměle vytvořené systémy. Základní aplikační oblastí strojového vnímání je dnes robotika (viz dále) - bez vnímání bezprostřední situace i vlivů okolí si vlastně inteligentního robota (nikoli pouze manipulátor nebo např. svařovací automat) nelze ani představit. Podle charakteru vnímání pak hovoříme o vizuálním vnímání a analýze scény, resp. o počítačovém vidění (analýze vizuální informace pořízené např. televizní kamerou), akustickém vnímání (zpracování akustických signálů a lidské řeči sejmuté akustickými čidly) či zpracování taktilní (hmatové) informace. Všechny tři druhy vnímání prostředí pak k dosažení požadovaných závěrů obvykle využívají metod a prostředků rozpoznávání (viz odst. 1.2.8).

1.2.6 Automatické plánování a rozvrhování činností (Combinatorial and scheduling problems)

V současné době značně potřebnou a z teoretického i implementačního hlediska velmi zajímavou třídou úloh patřících do oblasti UI jsou úlohy nalezení optimálního rozvrhu, resp. plánu činností souvisejících např. s výrobou určitého výrobku, realizací stanovených akcí ap. Klasickou úlohou tohoto typu je dobře známý problém obchodního cestujícího, který má navštívit N zadaných míst v takovém pořadí, aby jeho cesta od místa k místu s návratem do výchozího místa byla z hlediska ujeté vzdálenosti nebo vynaložených nákladů optimální (hledisko minimální vzdálenosti bývá využíváno v případě cestování stejným dopravním prostředkem, hledisko minimálních nákladů při cestování různými dopravními prostředky na větší vzdálenosti, např. kombinace letadlo + vlak, auto nebo loď). Úloha je obvykle řešena pomocí grafu o N uzlech a výsledkem je nalezení takové cesty v grafu (kružnice, neboť cestující se musí vrátit do výchozího místa), kdy cestující každé místo navštíví pouze jednou a náklady na uskutečnění cesty budou minimální. Jiným typem úloh je opět známý problém osmi dam na šachovnici rozmístěných tak, aby nebyly v interakci. Úlohy tohoto typu mají velmi mnoho řešení a hledání jednotlivých přípustných řešení jednoduchými metodami obvykle přivodí kombinatorickou explozi a bývá jednak obtížné vybrat vhodné řešení a jednak pro nalezení všech možných řešení nemusí stačit kapacita ani velkého počítače.

Většina úloh zmíněného typu (včetně např. úlohy obchodního cestujícího) patří do kategorie tzv. NP-úplných (non-polynomial complete) úloh, jejichž řešení je nalezeno po konečném počtu kroků metody a pro něž bylo již zpracováno mnoho teoretických metod. Podstatou metod obvykle bývá určení vztahu mezi rozsahem úlohy (rozsahem úlohy obchodního cestujícího může být např. počet navštívených míst) a počtem kroků metody, které musejí být realizovány, aby bylo nalezeno alespoň uspokojivé řešení. Obecně pro řešení libovolné úlohy existují tři typy tohoto vztahu - lineární, polynomiální nebo exponenciální. Záleží pak pouze na vlastním zadání úlohy, jakého typu daný vztah je. Má-li např. obchodní cestující navštívit místa ležící na jedné železniční trati a použije-li pro uskutečnění cesty vlak, pak algoritmická složitost optimálního řešení úlohy je přibližně lineární. Časová, resp. operační složitost metody řešení NP-úplné úlohy však v obecném případě roste exponenciálně s rozsahem úlohy. Existují sice určité způsoby rozkladu úlohy vedoucí k nalezení příznivějšího vztahu mezi počtem kroků metody a rozsahem úlohy, jejich platnost však nelze zobecnit, jejich hodnocením a dalším rozvojem se zabývá obecná teorie algoritmů a tématicky přesahují rámec tohoto skripta.

1.2.7 Robotika (Robotics)

Robotika je jednou z nejvýznamnějších aplikačních oblastí umělé inteligence. Pro rozvoj inteligentních robotů mělo velký význam úspěšné řešení elementárních kombinatorických a logických úloh, protože se jím potvrdila možnost imitace lidské kognitivní činnosti strojem. Systémy typu "oko - ruka" se dobře uplatňují při konstrukci a programování mobilních robotů.

Inteligentním nebo kognitivním robotem se rozumí počítačem řízený integrovaný systém, který je schopen autonomní i cílově orientované interakce s reálným prostředím, je schopen vnímat a rozpoznávat prostředí, v němž se nachází, je schopen vytvářet si a průběžně modifikovat jeho model a především je schopen samostatně řešit i složitější úlohy podle instrukcí zadaných člověkem. Takový robot se rozhoduje o vlastní činnosti na základě vnitřní reprezentace vnějšího prostředí v souladu se zadanými cíli a obvykle je schopen ovlivňovat změny prostředí manipulováním s předměty vlastním pohybem. Musí být také schopen průběžné komunikace s člověkem, a to v přirozeném nebo umělém jazyce. To vše znamená, že inteligentní robot si musí na základě poznání cíle zadané úlohy sestavit vlastní plán řešení úlohy a tento následně také vykonat. Plánem činnosti robota se rozumí posloupnost kroků v činnosti robota reprezentovaných elementárními operátory, jejíž provedením dosáhne robot požadovaného cílového stavu. Algoritmický systém inteligentního robota, který je schopen automaticky generovat odpovídající plány na řešení úloh v daném prostředí, se obvykle nazývá plánovacím systémem nebo také generátorem plánu a vychází z poznatků teorie řešení úloh a automatického plánování a rozvrhování činností.

1.2.8 Rozpoznávání (Pattern Recognition)

Rozpoznáváním objektů, jevů nebo situací rozumíme třídění (klasifikaci) objektů, jevů a situací do předem určených množin objektů (jevů, situací,...), které nazýváme klasifikačními třídami, podle jejich společných nebo naopak rozdílných vlastností. Klasifikační třídy jsou v ideálním případě disjunktní, v reálném světě se však obvykle prolínají, a proto klasifikace do takových tříd není jednoznačná. Lze pouze tvrdit, že zařazený objekt patří do dané třídy s jistou pravděpodobností. Většina úloh rozpoznávání je tak úlohami s pravděpodobnostním charakterem a pro jejich řešení se využívá aparátu teorie pravděpodobnosti.

Protože vlastnosti klasifikovaných objektů se zpravidla zjišťují pozorováním nebo měřením a následně převádějí na hodnoty určitých veličin (např. elektrických signálů), přičemž pro jejich vyjádření je nezbytná i několikanásobná transformace zjištěných nebo naměřených hodnot, vyšetřujeme ve skutečnosti určitý obraz (číselný, symbolický) objektu, a proto se často hovoří o oblasti rozpoznávání obrazů. Dnes existuje řada metod rozpoznávání založených na různých teoretických principech a na jejich aplikaci je založeno především vnímání prostředí (viz odst. 1.2.5) a porozumění lidské řeči (zpracování přirozeného jazyka), i když ve druhém případě jde o značně složitou problematiku, kdy metody rozpoznávání mají uplatnění zejména v prvotní fázi zpracování řečového signálu, tj. při rozpoznávání řečových segmentů a řečových jednotek jako jsou části slabik, slabiky, slova, jednoduchá slovní spojení ap.

Metody rozpoznávání dnes nacházejí uplatnění v takových praktických oblastech, jakými jsou rozpoznávání tištěného nebo i ručně psaného textu a jeho převod na textový soubor, klasifikace otisků prstů a identifikace jejich původce, rozpoznávání mluvených povelů pro řízení technologických zařízení, v lékařské i technické diagnostice, při analýze struktur materiálů a defektoskopických zkouškách, při analýze snímků z družic ap. Aplikační oblast metod rozpoznávání je velice široká, programová realizace řady metod se stala součástí standardního programového vybavení výpočetních systémů všech kategorií. Vzhledem k šíři aplikací se poněkud detailnějšímu rozboru základních metod rozpoznávání věnuje pátá kapitola skripta.

1.2.9 Porozumění přirozenému jazyku (Natural language understanding)

Porozumění přirozenému jazyku je samostatnou aplikační oblastí metod UI, přičemž pro zpracování např. běžné plynulé řeči nacházejí uplatnění metody prakticky ze všech výše uvedených oblastí. Patří k nejsložitějším aplikacím metod umělé inteligence, protože cílem aplikace je vytvořit takové programové a technické vybavení použitého výpočetního systému, které mu umožní "porozumět" pokynům zadávaným člověkem běžnými větami přirozeného jazyka (nebo zatím alespoň jeho podmnožiny). Přitom rozlišujeme dvě zásadně odlišné formy komunikace člověka s výpočetním systémem v přirozeném jazyce - komunikaci vedenou klasickými komunikačními prostředky, tj. zadáváním požadavků nebo příkazů prostřednictvím běžné klávesnice se zobrazováním odpovědí např. na obrazovce terminálu (jednodušší varianta, neboť jednotlivá slova věty přirozeného jazyka jsou explicitně a zpravidla bezchybně zadávána a zřetelně oddělována) a komunikaci hlasovou, která je vedena lidským, resp. syntetickým hlasem. Druhá forma vyžaduje využití velmi dokonalých metod rozpoznávání založených na značně složitých teoretických modelech a jejich detailnější popis výrazně přesahuje rámec skripta.

Podstata porozumění přirozenému jazyku spočívá v tom, že běžný jazyk slouží ke komunikaci mezi inteligentními bytostmi, které jsou vybaveny přibližně stejným modelem světa. Sdělovaná věta je fragmentem modelu osoby sdělující, který zapadá do modelu osoby zprávu přijímající. Zbytek se doplní kontextem z modelu. Je-li příjemcův model dostatečně bohatý a inferenční mechanismus pro doplnění z kontextu příslušně vyvinutý, stačí krátká věta k porozumění složitým projevům světa. Základem pro vytvoření systému porozumění přirozenému jazyku je proto nejen aplikace metod rozpoznávání pro syntaktickou, sémantickou a pragmatickou analýzu hlasového projevu člověka, ale také vytvoření dostatečně bohatého vnitřního modelu, který bude odrážet všechny podstatné vlastnosti a rysy dané problémové oblasti, v níž bude komunikace v přirozeném jazyce využito (problémově nezávislá komunikace v celé výrazové bohatosti kteréhokoli "živého" přirozeného jazyka zatím bohužel vůbec nepřipadá v úvahu).