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.