Expertný systém je program spustený na počítači. Podobne ako ľudský expert vie o danej téme veľa, preto expertné systémy obsahujú špecializované vedomosti a pravidlá, ktoré umožňujú riešiť konkrétne problémy alebo odpovedať na odborné otázky. Ľudia môžu expertnému systému položiť otázku alebo zadať situáciu, ktorú systém analyzuje pomocou svojej bázy vedomostí a potom poskytne odporúčanie, diagnózu alebo rozhodnutie. Expertný systém väčšinou používa súbor pravidiel (napríklad vo forme „ak–potom“), logické vzťahy a mechanizmy odvodzovania; táto metóda automatizovaného uvažovania patrí do oblasti informatiky nazývanej umelá inteligencia.
Základné komponenty expertného systému
- Báza vedomostí – ukladá fakty, pravidlá, ontológie a štruktúrované poznatky o danej doméne.
- Inference engine (odvodenie) – aplikuje pravidlá na fakty z bázy vedomostí a dedukuje nové závery alebo odporúčania.
- Užívateľské rozhranie – umožňuje komunikáciu medzi používateľom a systémom (zadávanie otázok, zobrazovanie odpovedí, vysvetlenia).
- Vysvetľovací modul – generuje zdôvodnenia, prečo systém dospel k určitému záveru (dôležité pre dôveru používateľa).
- Nástroje pre získavanie vedomostí – pomáhajú expertom previesť ich znalosti do formálnej podoby (knowledge engineering).
Spôsoby uvažovania a reprezentácie vedomostí
- Pravidlové systémy – najbežnejší prístup; vedomosti sú reprezentované pravidlami typu „ak (podmienka) – potom (záver)“.
- Rámcové a objektové reprezentácie – štruktúry, ktoré opisujú typické vlastnosti a vzťahy medzi entitami.
- Neistota a pravdepodobnosť – mechanizmy ako váhy, certainty factors alebo Bayesovské prístupy umožňujú pracovať s neúplnými alebo neistými informáciami.
- Odvodzovanie – forward chaining (postupné uplatňovanie pravidiel od faktov k záverom) a backward chaining (spätné hľadanie pravidiel vedúcich k cieľovému záveru).
Výhody a obmedzenia
- Výhody: konzistencia v rozhodovaní, dostupnosť expertných znalostí bez potreby stáleho prítomného človeka, schopnosť vysvetliť závery a zjednodušiť školenie menej skúsených používateľov.
- Obmedzenia: náročnosť pri získavaní a formálnom zapísaní znalostí (knowledge acquisition), problémy s udržiavaním aktuálnosti bázy vedomostí, obmedzená flexibilita pri nových neznámych situáciách, ktoré neboli vopred pokryté.
Praktické využitie
Expertné systémy sa používajú v mnohých oblastiach, napríklad:
- medicína (podpora diagnostiky a liečby),
- technická diagnostika a servis (identifikácia porúch strojov alebo sietí),
- financie a kreditné hodnotenie,
- v návrhu a expertných poradách (chemické, biologické systémy, plánovanie výroby),
- rozhodovacie podporné systémy v podnikaní.
Rôzne skupiny ľudí môžu mať rôzne druhy prístupu k expertnému systému. Ľudia, ktorí spravujú sieť počítačov, majú iné potreby ako pracovník v kancelárii alebo sekretárka — chýbajúce funkcie, iné tlačidlá v rozhraní alebo odlišné úrovne podrobností vo vysvetleniach. Dobre navrhnutý systém preto ponúka prispôsobiteľné rozhranie a rôzne „módy“ pre rôzne typy používateľov.
Vývoj a údržba
Vývoj expertného systému zvyčajne zahŕňa spoluprácu medzi doménovými expertmi a knowledge engineerom, ktorí extrahujú vedomosti a formalizujú ich do pravidiel alebo iných štruktúr. Údržba zahŕňa aktualizáciu vedomostí, ladenie pravidiel, testovanie na nových prípadoch a kontinuálne hodnotenie výkonnosti.
Vztah k moderným metódam umelej inteligencie
Hoci v posledných rokoch dominuje v niektorých oblastiach strojové učenie založené na dátach, expertné systémy zostávajú dôležité tam, kde je potrebná zrozumiteľnosť a explicitná kontrola vedomostí. Moderné riešenia často kombinujú pravidlové systémy s modelmi strojového učenia, čím vznikajú hybridné systémy, ktoré využívajú silné stránky oboch prístupov.
Expertné systémy tak zostávajú praktickým a transparentným nástrojom v oblasti umelá inteligencia, ktorý pomáha preniesť ľudské odborné znalosti do softvérových riešení pre reálne aplikácie.