
Un sistema esperto è un programma che cerca di riprodurre le prestazioni di una o più persone esperte in un determinato campo di attività, ed è un'applicazione o una branca dell'intelligenza artificiale.
I programmi utilizzati dai sistemi esperti sono in grado di porre in atto procedure di inferenza adeguate alla risoluzione di problemi particolarmente complessi, a cui potrebbe, se posto in una dimensione umana, porre rimedio solo un esperto del settore disciplinare in cui rientra la questione da risolvere. Ciò implica che tale sistema possa avvalersi in modo risoluto e autorevole delle istanze inferenziali che soggiacciono al corretto funzionamento del programma, cosicché sia capace di superare le incertezze e le difficoltà su cui volge la propria attività.
I sistemi esperti si differenziano dunque da altri programmi simili, in quanto, facendo riferimento a tecnologie elaborate in funzione dell'intelligenza artificiale, sono sempre in grado di esibire i passaggi logici che soggiacciono alle loro decisioni: proposito che, ad esempio, non è attuabile da parte della mente umana.
Il sistema esperto si compone principalmente di tre sezioni: 
Queste informazioni sono piuttosto generiche, ed estremamente flessibili per ciò che concerne la designazione di un programma con una tale definizione. Non esistono infatti sistemi capaci per davvero di soddisfare nella sua interezza il tipo di conoscenza che dovrebbe caratterizzare un sistema di tale fatta. Difatti, nella maggior parte dei programmi, le componenti che presiedono alle procedure di inferenza, non riescono ad attenere il rigore connaturato ad un algoritmo, in quanto nelle situazioni altamente complicate sarebbe troppo dispendioso analizzare ogni possibilità; si ricorre così allo stratagemma dell'euristica, che, tramite ragionamenti approssimativi ("fuzzy logic"), sacrifica la sicurezza dell'algoritmo per giungere a risultati altamente probabili, ma comunque fallibili.
I sistemi esperti si dividono in due categorie principali.
I sistemi esperti basati su regole sono dei programmi composti da regole nella forma codice_1 (se condizione, allora azione). Dati una serie di fatti, i sistemi esperti, grazie alle regole di cui sono composti, riescono a dedurre nuovi fatti.
Per esempio, supponiamo di avere un problema di salute, forniamo al sistema esperto i seguenti fatti:
il sistema esperto assume i fatti e sceglie una regola così formata:
Esempi di sistemi a regole sono Jess e CLIPS.
Un sistema esperto basato su alberi, dato un insieme di dati ed alcune deduzioni, creerebbe un albero che classificherebbe i vari dati. Nuovi dati verrebbero analizzati dall'albero e il nodo di arrivo rappresenterebbe la deduzione.
È da notare che un sistema esperto non è "intelligente" nel senso comune della parola, ossia in modo creativo. Le deduzioni di un sistema esperto non possono uscire dall'insieme di nozioni immesse inizialmente e dalle loro conseguenze. Ciò che li rende utili è che, come i calcolatori elettronici, possono maneggiare una gran quantità di dati molto velocemente e tenere quindi conto di una miriade di regole e dettagli che un esperto umano può ignorare, tralasciare o dimenticare.


Una base di conoscenza (individuata anche con il termine inglese knowledge base e con l'acronimo KB) è un tipo speciale di database per la gestione della conoscenza per scopi aziendali, culturali o didattici. Essa costituisce dunque un ambiente volto a facilitare la raccolta, l'organizzazione e la distribuzione della conoscenza.
Una base di conoscenza di interesse aziendale, normalmente, si propone l'esplicita conoscenza di una organizzazione, inclusa quella che può servire alla risoluzione dei problemi, e concerne articoli, rapporti, manuali per gli utenti ed altro. Una base di conoscenza dovrebbe rispettare una ben progettata struttura di classificazione, osservare (pochi) determinati formati per i contenuti e disporre di un motore di ricerca.
L'aspetto più importante di una base di conoscenza è il tipo di informazione che contiene. Una base di conoscenza che diventa un sito da dove scaricare informazioni irrilevanti vede il suo ruolo compromesso, proprio come un'informazione irrilevante. Assicurarsi che le informazioni più rilevanti ed aggiornate siano presenti in una base di conoscenza è essenziale per il suo successo, per non menzionare il fatto di avere un eccellente sistema di recupero delle informazioni (motore di ricerca).
Determinare il tipo delle informazioni e dove queste risiedono nella base di conoscenza è un'attività che viene determinata in base ai processi che supportano il sistema. Un robusto processo di creazione della struttura è la spina dorsale di una base di conoscenza di successo.
