Intelligenza artificiale - Sistemi esperti
I sistemi esperti (ES) sono uno dei principali domini di ricerca dell'IA. Viene introdotto dai ricercatori della Stanford University, Computer Science Department.
Cosa sono i sistemi esperti?
I sistemi esperti sono le applicazioni informatiche sviluppate per risolvere problemi complessi in un particolare dominio, a livello di straordinaria intelligenza e competenza umana.
Caratteristiche dei sistemi esperti
- Alte prestazioni
- Understandable
- Reliable
- Altamente reattivo
Capacità di sistemi esperti
I sistemi esperti sono in grado di:
- Advising
- Istruire e assistere l'essere umano nel processo decisionale
- Demonstrating
- Trovare una soluzione
- Diagnosing
- Explaining
- Interpretazione dell'input
- Previsione dei risultati
- Giustificare la conclusione
- Suggerire opzioni alternative a un problema
Sono incapaci di -
- Sostituire i decisori umani
- Possedere capacità umane
- Produzione di output accurati per una base di conoscenza inadeguata
- Affinare le proprie conoscenze
Componenti di sistemi esperti
I componenti di ES includono:
- base di conoscenza
- Motore di inferenza
- Interfaccia utente
Vediamoli brevemente uno per uno -
base di conoscenza
Contiene conoscenze specifiche del dominio e di alta qualità.
La conoscenza è necessaria per mostrare intelligenza. Il successo di qualsiasi ES dipende principalmente dalla raccolta di conoscenze estremamente accurate e precise.
Cos'è la conoscenza?
I dati sono una raccolta di fatti. Le informazioni sono organizzate come dati e fatti sul dominio delle attività.Data, information, e past experience combinati insieme sono definiti come conoscenza.
Componenti della Knowledge Base
La base di conoscenza di un ES è un archivio di conoscenze sia fattuali che euristiche.
Factual Knowledge - Sono le informazioni ampiamente accettate dagli ingegneri della conoscenza e dagli studiosi nel dominio dei compiti.
Heuristic Knowledge - Si tratta di pratica, giudizio accurato, capacità di valutazione e indovinare.
Rappresentazione della conoscenza
È il metodo utilizzato per organizzare e formalizzare la conoscenza nella knowledge base. È sotto forma di regole IF-THEN-ELSE.
Acquisizione della conoscenza
Il successo di qualsiasi sistema esperto dipende principalmente dalla qualità, completezza e accuratezza delle informazioni memorizzate nella knowledge base.
La base di conoscenza è formata da letture di vari esperti, studiosi e Knowledge Engineers. L'ingegnere della conoscenza è una persona con le qualità di empatia, apprendimento rapido e capacità di analisi dei casi.
Acquisisce informazioni dall'esperto in materia registrandolo, intervistandolo e osservandolo al lavoro, ecc. Quindi classifica e organizza le informazioni in modo significativo, sotto forma di regole IF-THEN-ELSE, per essere utilizzate dalla macchina di interferenza. L'ingegnere della conoscenza monitora anche lo sviluppo dell'ES.
Motore di inferenza
L'uso di procedure e regole efficienti da parte del motore di inferenza è essenziale per dedurre una soluzione corretta e impeccabile.
In caso di ES basato sulla conoscenza, il motore di inferenza acquisisce e manipola la conoscenza dalla base di conoscenza per arrivare a una particolare soluzione.
In caso di ES basato su regole,
Applica le regole ripetutamente ai fatti, che sono ottenuti dalla precedente applicazione della regola.
Aggiunge nuove conoscenze alla knowledge base, se necessario.
Risolve il conflitto di regole quando più regole sono applicabili a un caso particolare.
Per consigliare una soluzione, il motore di inferenza utilizza le seguenti strategie:
- Concatenamento in avanti
- Concatenamento all'indietro
Concatenamento in avanti
È una strategia di un sistema esperto per rispondere alla domanda, “What can happen next?”
Qui, il motore di inferenza segue la catena di condizioni e derivazioni e alla fine ne deduce il risultato. Considera tutti i fatti e le regole e li ordina prima di giungere a una soluzione.
Questa strategia viene seguita per lavorare su conclusioni, risultati o effetti. Ad esempio, la previsione dello stato del mercato azionario come effetto delle variazioni dei tassi di interesse.
Concatenamento all'indietro
Con questa strategia, un sistema esperto trova la risposta alla domanda, “Why this happened?”
Sulla base di quanto è già accaduto, l'Inference Engine cerca di scoprire quali condizioni potrebbero essersi verificate in passato per questo risultato. Questa strategia viene seguita per scoprire la causa o il motivo. Ad esempio, la diagnosi di cancro del sangue negli esseri umani.
Interfaccia utente
L'interfaccia utente fornisce l'interazione tra l'utente dell'ES e l'ES stesso. Si tratta generalmente di Natural Language Processing in modo da essere utilizzato dall'utente esperto nel dominio delle attività. L'utente dell'ES non deve essere necessariamente un esperto di intelligenza artificiale.
Spiega come l'ES sia arrivato a una particolare raccomandazione. La spiegazione può apparire nelle seguenti forme:
- Linguaggio naturale visualizzato sullo schermo.
- Narrazioni verbali in linguaggio naturale.
- Elenco dei numeri di regola visualizzati sullo schermo.
L'interfaccia utente consente di risalire facilmente alla credibilità delle detrazioni.
Requisiti di efficiente interfaccia utente ES
Dovrebbe aiutare gli utenti a raggiungere i loro obiettivi nel modo più breve possibile.
Dovrebbe essere progettato per funzionare per le pratiche di lavoro esistenti o desiderate dell'utente.
La sua tecnologia dovrebbe essere adattabile alle esigenze dell'utente; non il contrario.
Dovrebbe fare un uso efficiente dell'input dell'utente.
Limitazioni dei sistemi esperti
Nessuna tecnologia può offrire una soluzione semplice e completa. I sistemi di grandi dimensioni sono costosi, richiedono tempi di sviluppo significativi e risorse informatiche. Gli ES hanno i loro limiti che includono:
- Limitazioni della tecnologia
- Difficile acquisizione della conoscenza
- Gli ES sono difficili da mantenere
- Elevati costi di sviluppo
Applicazioni di Expert System
La tabella seguente mostra dove è possibile applicare ES.
Applicazione | Descrizione |
---|---|
Dominio di progettazione | Design dell'obiettivo della fotocamera, design automobilistico. |
Dominio medico | Sistemi di diagnosi per dedurre la causa della malattia da dati osservati, conduzione di operazioni mediche su esseri umani. |
Sistemi di monitoraggio | Confronto continuo dei dati con il sistema osservato o con comportamenti prescritti come il monitoraggio delle perdite in un lungo oleodotto. |
Sistemi di controllo dei processi | Controllo di un processo fisico basato sul monitoraggio. |
Dominio della conoscenza | Individuazione di guasti nei veicoli, nei computer. |
Finanza / Commercio | Rilevamento di possibili frodi, transazioni sospette, negoziazione in borsa, pianificazione delle compagnie aeree, pianificazione delle merci. |
Tecnologia di sistema esperta
Sono disponibili diversi livelli di tecnologie ES. Le tecnologie dei sistemi esperti includono:
Expert System Development Environment- L'ambiente di sviluppo ES include hardware e strumenti. Sono -
Postazioni di lavoro, minicomputer, mainframe.
Linguaggi di programmazione simbolica di alto livello come LISt Programming (LISP) e PROgrammation en LOGique (PROLOG).
Database di grandi dimensioni.
Tools - Riducono in larga misura lo sforzo e i costi necessari per sviluppare un sistema esperto.
Potenti editor e strumenti di debug con multi-finestre.
Forniscono una prototipazione rapida
Avere definizioni integrate di modello, rappresentazione della conoscenza e progettazione dell'inferenza.
Shells- Una shell non è altro che un sistema esperto senza base di conoscenza. Una shell fornisce agli sviluppatori l'acquisizione di conoscenze, il motore di inferenza, l'interfaccia utente e la funzione di spiegazione. Ad esempio, di seguito vengono fornite alcune conchiglie:
Java Expert System Shell (JESS) che fornisce API Java completamente sviluppate per la creazione di un sistema esperto.
Vidwan , una shell sviluppata presso il National Center for Software Technology, Mumbai nel 1993. Consente la codifica della conoscenza sotto forma di regole IF-THEN.
Sviluppo di sistemi esperti: passaggi generali
Il processo di sviluppo di ES è iterativo. I passaggi nello sviluppo dell'ES includono:
Identifica il dominio del problema
- Il problema deve essere adatto a un sistema esperto per risolverlo.
- Trova gli esperti nel dominio delle attività per il progetto ES.
- Stabilire l'economicità del sistema.
Progettare il sistema
Identifica la tecnologia ES
Conoscere e stabilire il grado di integrazione con gli altri sistemi e database.
Comprendi come i concetti possono rappresentare al meglio la conoscenza del dominio.
Sviluppa il prototipo
Dalla Knowledge Base: l'ingegnere della conoscenza lavora a -
- Acquisisci la conoscenza del dominio dall'esperto.
- Rappresentalo sotto forma di regole If-THEN-ELSE.
Prova e perfeziona il prototipo
L'ingegnere della conoscenza utilizza casi di esempio per testare il prototipo per eventuali carenze nelle prestazioni.
Gli utenti finali testano i prototipi dell'ES.
Sviluppa e completa l'ES
Testare e garantire l'interazione dell'ES con tutti gli elementi del suo ambiente, inclusi gli utenti finali, i database e altri sistemi di informazione.
Documenta bene il progetto ES.
Istruire l'utente a utilizzare ES.
Mantenere il sistema
Mantieni aggiornata la knowledge base tramite revisione e aggiornamento regolari.
Fornire nuove interfacce con altri sistemi di informazione, man mano che questi sistemi si evolvono.
Vantaggi dei sistemi esperti
Availability - Sono facilmente disponibili grazie alla produzione in serie di software.
Less Production Cost- Il costo di produzione è ragionevole. Questo li rende convenienti.
Speed- Offrono una grande velocità. Riducono la quantità di lavoro svolto da un individuo.
Less Error Rate - Il tasso di errore è basso rispetto agli errori umani.
Reducing Risk - Possono lavorare in ambienti pericolosi per l'uomo.
Steady response - Lavorano costantemente senza diventare mobili, tesi o affaticati.