Intelligenza Artificiale (AI) e Decision Support nella sanità digitale

Intelligenza Artificiale (AI) e Decision Support nella sanità digitale

Introduzione

Con il termine intelligenza artificiale (A.I. Artificial Intelligence) s’intende l’abilità di un computer di svolgere ragionamenti tipici della mente umana.  Nel suo aspetto puramente informatico, essa comprende la teoria e le tecniche per lo sviluppo di algoritmi che consentano ai calcolatori di mostrare un’attività intelligente in determinati campi di applicazione. Le attività e le capacità dell’Intelligenza Artificiale comprendono:

  • Apprendimento automatico (anche detto Machine Learning)
  • Ragionamento automatico (sul modello della mente umana)
  • Pianificazione (Planning)
  • Cooperazione con agenti software e hardware
  • Elaborazione del linguaggio naturale (Natural Language Processing)
  • Interpretazione ed elaborazione di immagini reali

Sistemi esperti

Un sistema esperto può essere definito come 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 (AI).

Un sistema esperto altro non è che un software capace di catturare l’esperienza umana relativa ad un certo dominio di conoscenze. Nella sanità digitale si distinguono i Medical Expert Systems, trattati nei paragrafi sottostanti, che sono le più comuni applicazioni di intelligenza artificiale (AI) usate comunemente nella routine clinica quotidiana da parte delle strutture sanitarie come ad esempio gli ospedali.

La loro caratteristiche fondamentali sono le seguenti:

  1. Possesso di conoscenza specifica: La bontà di un programma di IA dipende perlopiù dalla qualità della conoscenza in esso contenuta, e non dal formalismo o dalla tecnica inferenziale utilizzata.
  2. Capacità di ragionamento: Un buon sistema esperto dev’essere capace di effettuare dei ragionamenti e delle deduzioni logiche a partire dalla conoscenza a disposizione al fine di prendere delle efficaci decisioni finali.
  3. Interazione col mondo esterno: E’ necessario un protocollo di comunicazione con il mondo esterno, sia per aggiornare la base di conoscenza che per interagire con gli utenti e le eventuali reti connesse.
  4. Delucidazione del proprio operato: Il sistema dev’essere in grado di esibire delle spiegazioni sulle conclusioni raggiunte.
  5. Capacità di apprendimento: Premettiamo che questa caratteristica non appartiene a tutti i sistemi esperti. E’ utile che un sistema esperto, attraverso il proprio stesso operato, possa migliorare la propria perizia nel raggiungimento della soluzione.
  6. Aderenza del dominio alla realtà: Un sistema esperto deve lavorare su di un dominio che deve attenersi il più possibile al mondo reale; possono essere presenti dei limiti, ma non si deve ricorrere ad un modello troppo semplificato o troppo astratto.

Componenti fondamentali dei sistemi esperti

Le componenti fondamentali dei sistemi esperti sono essenzialmente quattro e sono:

  1. Base di conoscenza: Al suo interno è immagazzinata tutta  la conoscenza a disposizione. Essa rappresenta la parte statica del sistema.
  2. Motore inferenziale: E’ la parte del sistema che lavora sulla base di conoscenza al fine di raggiungere le conclusioni. Porta a termine dei ragionamenti, effettua una scrematura della conoscenza utile in ogni determinato momento e gestisce l’interazione con l’utente. Esso rappresenta la parte dinamica del sistema.
  3. Area dati: In essa vengono memorizzate le informazioni di partenza, i risultati parziali della computazione e le informazioni aggiuntive che di volta in volta vengono richieste all’utente.
  4. Interfaccia di comunicazione: Offre la possibilità di interagire con l’utente.
Componenti fondamentali dei sistemi esperti
Componenti fondamentali dei sistemi esperti

Progettazione dei sistemi esperti

La progettazione di un sistema esperto richiede una forte interazione tra il progettista e l’esperto. L’esperto deve cercare di condensare la propria esperienza il più possibile, fornendo al progettista quelle regole euristiche e quei meccanismi di ragionamento più comunemente utilizzati nel dominio di riferimento. Il progettista deve, invece, sforzarsi di comprendere al massimo questa esperienza, stimolando l’esperto con un continuo scambio di domande e risposte, in modo da poter opportunamente codificare la conoscenza.

In definitiva, lo sviluppo di un sistema esperto è un processo incrementale ed evolutivo descritto da un certo numero di fasi, le quali si potrebbero sintetizzare in un sotto-processo di estrazione e in uno di rappresentazione della conoscenza dell’esperto.

Fasi per la progettazione dei sistemi esperti

Le fasi principali della progettazione dei sistemi esperti sono qui sotto elencate:

  1. Identificazione: si individuano le caratteristiche del problema e gli elementi della conoscenza.
  2. Concettualizzazione: l’obiettivo è identificare ed esplicitare i concetti chiave, e le relazioni tra gli elementi identificati nella prima fase. E’ la fase in cui il problema viene suddiviso in un insieme di moduli indipendenti.
  3. Formalizzazione: comprende la scelta del linguaggio di rappresentazione e la progettazione di strutture per organizzare la conoscenza.
  4. Implementazione: riguarda la formulazione di regole, che costituiscono la base di conoscenza, e la strategia di controllo da utilizzare per ragionare su di essa
  5. Test: concerne la valutazione delle prestazioni del sistema, che viene sottoposto al giudizio critico dell’esperto.

Specifichiamo in ogni caso che l’evoluzione di un sistema esperto non è un processo rigorosamente lineare. Durante la progettazione c’è un continuo processo di revisione del sistema, di riformulazione dei concetti e di riprogettazione della conoscenza che porta ad un raffinamento dello stesso.

Progettazione di un sistema esperto
Progettazione di un sistema esperto

Rappresentazione della conoscenza

La rappresentazioe della conoscenza rappresenta il punto focale della progettazione di un sistema esperto. Essa si tratta della scelta del linguaggio di rappresentazione e la definizione di architetture in cui la base di conoscenza va esplicitata. Affinchè il sistema presenti un comportamento effettivamente
‘intelligente’, è necessario rispettare delle condizioni di aderenza al mondo reale. Ciò implica che esista una certa connessione tra la conoscenza del sistema e il mondo reale. A tal proposito abbiamo due posizioni:

  • C’è chi ipotizza che il mondo reale ammetta una descrizione in un qualche linguaggio, cioè che ci sia come una mappa tra mondo reale e rappresentazione.
  • C’è chi dimostra agnostico nei confronti di questa connessione, delegando agli esperti la traduzione degli stimoli provenienti dal mondo in “descrizioni” del mondo.

La conoscenza è costituita dai seguenti elementi:

  1. Oggetti e loro proprietà
  2. Eventi che modificano l’ambiente in cui il sistema opera

Per passare da una visione della conoscenza come semplice archivio ad una visione come “base” di un comportamento intelligente, sono necessari dei particolari processi:

  1. Acquisizione: è la capacità di mettere in relazione il nuovo con qualcosa di già noto. Tecnicamente, procedure per inserire, modificare o strutturare la conoscenza.
  2. Reperimento:
    • Linking: collegamento fra parti distinte della conoscenza in relazione a particolari eventi. (“l’auto dal meccanico” connesso a “prendere bus”).
    • Lumping: raggruppamento di elementi di conoscenza che in genere si usano insieme. (“auto in panne” connesso a “controllo batteria”).
  3. Inferenza: si tratta di meccanismi per rendere esplicita una conoscenza implicita. Si occupa di deduzioni e induzioni.

Sistemi esperti in medicina

Adesso si descrivono i vari ambiti e compiti a cui i Medical Expert Systems fanno riferimento al giorno d’oggi:

Assistenza alla diagnosi

Sulla base della storia medica del paziente, il sistema esperto può suggerire una possibile diagnosi. Esso è utile per casi clinici particolarmente rari e insoliti ma ancor di più diventa utile per supportare medici con poca esperienza.

Sistema informativo

Il sistema informativo saniatrio è capace di gestire il vasto insieme di dati trattati da un laboratorio. Esso può interpretare in modo automatizzato i risultati di alcuni test e funge da punto di contatto per i vari tecnici di laboratorio in modo da garantire l’assoluta coerenza dei dati.

Analisi e pianificazione di terapie

Un sistema esperto nel campo medico e quindi nella sanità digitale può elaborare le terapie proposte dai medici al fine di evidenziare errori, omissioni o inconsistenze.

Information Retrieval

Attraverso l’Information Retrieval è possibile ‘settare’ degli agenti software in modo che essi vadano alla ricerca di informazioni relative ad un determinato problema. In questo contesto, viene messo a conoscenza ogni agente con i propri bisogni e preferenze, in modo da filtrare con efficacia gli ipotetici risultati.

Promemoria

Un sistema esperto è capace di inviare via mail dei warnings o delle scadenze importanti in seguito ad uno scanning dei risultati dei test di laboratorio o delle prescrizioni effettuate.

Interpretazione di immagini

Per interpretazione di immagini si intende un’analisi computerizzata di immagini relative al campo medico. Questo compito prevalentemente viene associato ai CAD Systems.

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *