L’identificazione della sincope nei verbali elettronici di Pronto Soccorso attraverso il Natural Language Processing 


Il Natural Language Processing (NLP) è il trattamento informatico della lingua naturale (il linguaggio umano) che usiamo tutti i giorni per comunicare. In ambito medico, il NLP non è altro che un software che riesce a identificare dalle parole un modo per definire meglio una malattia, per esempio la sincope. Più precisamente, il Natural Language Processing è un insieme di tecniche computazionali per analizzare e rappresentare un testo o il linguaggio umano ad uno o più livelli di analisi linguistica, con l’obiettivo di ottenere una lingua articolata, un processo linguistico, secondo le sembianze di quella umana, ed in grado di adattarsi a differenti compiti (E.D. Liddy, Center for Natural Language Processing – Syracuse University).

Per saperne di più su questo argomento tanto interessante quanto complesso, abbiamo intervistato un esperto, il Professor Raffaello Furlan, Direttore della Clinica Medica – Medicina 4 e Responsabile della “Unità Sincope e Disturbi della Postura” in Humanitas Research Hospital, nonché Direttore della Scuola di Specialità di Medicina Interna e Presidente della Scuola di Fisioterapia in Humanitas University.

 

Professore, che cos’è il Natural Language Processing?

E’  una metodica, di fatto un software,  che consente di identificare e classificare un termine che riflette una malattia, nel nostro caso la sincope,  all’interno delle note scritte dal medico o dall’infermiere  al momento di accettare e visitare il paziente in Pronto Soccorso.

Nel caso specifico della sincope, il NLP viene utilizzato per identificare la patologia nell’ambito di un gruppo di circa 30 mila pazienti. Ciò si potrebbe ottenere usando gli ICD-9 o ICD-10 (dove ICD sta per “International Classification of Diseases”), che sono dei codici internazionali che permettono l’identificazione di questa malattia, ma solo a scopo di epidemiologia clinica. Si è visto tuttavia che l’impiego solo di ICD-9 presenta importanti limitazioni principalmente legate alla scarsa accuratezza con cui l’ICD-9 viene compilato (in tutto il mondo!) ed il fatto di non riuscire ad identificare molte sincopi. Si pensi ad esempio al caso di un paziente anziano che per via di una sincope cade a terra e si frattura il femore. In quel caso la diagnosi ICD-9 di dimissione sarà ovviamente “frattura di femore” e il motivo della caduta, cioè la sincope, viene a perdersi. Se, invece, esiste la necessità di condurre studi scientifici, occorre essere più precisi. Un approccio più preciso è reso possibile dall’intelligenza artificiale che poi si esplica secondo diverse modalità, tra cui il machine learning (apprendimento automatico) e il NLP.

 

Come avviene l’identificazione automatica della sincope sui verbali elettronici di Pronto Soccorso?

L’algoritmo, che deve identificare la sincope nel testo libero scritto dal medico o dall’infermiere, va ad analizzare i cosiddetti unigrammi, bigrammi o trigrammi, in cui ci sono una, due o tre parole in un qualche modo correlate al termine che vogliamo identificare. Gli unigrammi sono quella parole isolate, oltre al termine sincope, sinonimi di sincope o che  ne possono indicare la causa o relazione come assenza, caduta, capogiro, ipotensione, lipotimia, malessere, pre-sincope, o anche, trauma, frattura. I bigrammi sono, ad esempio, crisi lipotimica, crisi epilettica; i trigrammi, ferita lacero contusa oppure perdita di coscienza. L’algoritmo, quindi, cerca quelle parole che sono correlate all’evento che vogliamo andare a riconoscere e, incrociando gli unigrammi, i bigrammi e i trigrammi, riesce a identificare con elevata probabilità l’evento sincope e ad attribuirlo a quella cartella elettronica di quello specifico paziente.

 

È la prima volta che il Natural Language Processing​ viene impiegato nell’identificazione automatica della sincope su verbali elettronici del Pronto Soccorso?  

Si tratta della prima volta, sì.

Abbiamo condotto degli studi preliminari impiegando le reti neurali (un software che simula il funzionamento delle reti dei neuroni umani producendo per un determinato input anche outputs non lineari). Per certi versi le reti neurali  artificiali sono una forma “iniziale” di intelligenza artificiale poichè riescono a seguire (modellizzare) molti processi biologici che sono per la gran parte non lineari.

 

Quali sono i vantaggi?

Il grosso vantaggio è la possibilità di accedere a dati amministrativi, quindi poter condurre degli studi retrospettivi su popolazioni molto ampie. Questi  sarebbero possibili soltanto identificando una malattia secondo i codici ICD-9, dei quali abbiamo visto prima alcuni limiti. Il nostro studio impiega due popolazioni, una raccolta durante quattro mesi del 2013 e un’altra corrispondente a quattro mesi del 2015. Il totale delle cartelle elettroniche analizzate corrisponde ad oltre 15 mila pazienti.   

In questo caso non si tratta di dati strutturati , come negli studi retrospettivi fatti in passato. Per spiegarmi meglio, un dato strutturato indica che una certa popolazione viene caratterizzata da elementi clinici che vengono posti in una cartella di tipo Excel. In una cartella strutturata, cioè, tutti i pazienti hanno un fattore di rischio che si chiama ad esempio “livello del colesterolo”, hanno una comorbidità che si chiama “diabete mellito”, ecc., hanno delle caratteristiche precise della malattia che nel caso della sincope si riferiscono  per esempio al fatto che essa  sia insorta in posizione eretta oppure durante un esercizio fisico. Tutti questi elementi posti in una cartella Excel creano un data base strutturato, il che è possibile, però, per un numero limitato di variabili e di pazienti, e necessita inoltre un inserimento spesso manuale dei dati con grosso impiego di tempo uomo.  

Con il nostro approccio, invece, è possibile analizzare automaticamente le cartelle elettroniche. A queste vengono  successivamente appaiati gli eventuali  dati strutturati che gli specialisti IT di Humanitas sono riusciti anche a fornirci. Quello che è interessante è che, appunto, dalle annotazioni del medico possiamo chiaramente risalire alla patologia, perché i nostri algoritmi (e questa è un’altra novità importante) dal punto di vista teorico sono applicabili anche ad altre malattie o ad altri sintomi oltre alla sincope, per esempio al dolore toracico, al dolore addominale o alla mancanza di fiato (dispnea).

 

Qual è l’importanza che l’articolo sia stato accettato dal Journal of Clinical Medicine?

Il primo elemento di importanza è che l’articolo entra in un numero speciale del giornale dedicato all’Intelligenza Artificiale. Un secondo elemento è che abbiamo comunicato alla comunità scientifica internazionale che al momento esiste la possibilità, attraverso l’analisi del linguaggio naturale, quindi con tecniche di intelligenza artificiale, di identificare le sincopi nell’ambito di una popolazione che si è presentata al Pronto Soccorso. Questo è ovviamente il primo passo. In un prossimo futuro, sempre usando algoritmi di intelligenza artificiale, credo sarà possibile stratificare il rischio “individuale” dei pazienti con sincope. Sarà cioè possibile identificare il caso potenzialmente più grave perché caratterizzato da un possibile peggior prognosi, confrontandolo con le caratteristiche di una popolazione molto ampia di cui è già noto l’outcome,  identica al paziente stesso per età, sesso, copatologie, fattori di rischio etc. Si eserciterebbe quindi davvero una medicina personalizzata, in cui l’evidenza non sarebbe basata solo su studi di popolazione ma sarebbe individualizzata. 

 

Quale sarà il prossimo obiettivo?

Parlando di obiettivi, è necessario sottolineare che questo lavoro è il frutto del contributo cruciale di un gruppo di persone che stanno lavorando molto bene in team e le cui figure Senior sono rappresentate dalla Dr.ssa Dipaola, Dr. Brunetta e dal Dr. Gatti, un fisico di IBM. Inoltre ci sono giovani medici specializzandi (Dr. R. Menè, D. Shiffer) e uno studente del 4° anno del Corso Internazionale di Medicina di Humanita University (A. Giaj Levra). Senza il loro contributo e quello dei “ragazzi IT” di Humanitas (soprattutto di M. Anastasio) questo lavoro non avrebbe potuto essere fatto. Per il momento il nostro algoritmo funziona sulla nostra popolazione e con linguaggio naturale italiano, quindi Il prossimo passaggio sarà quello di vedere se funziona bene anche su altri data base.   Per questo siamo in contatto con i colleghi del Policlinico di Milano. Un altro aspetto importante è quello di validarlo anche su un linguaggio differente dall’Italiano (come l’inglese, per esempio).  Da questo punto di vista siamo relativamente ottimisti, perché l’inglese ha una banca dati di termini medici già a disposizione per i nostri algoritmi molto ampia per cui dovrebbe essere più semplice ottenere una buona performance degli algoritmi stessi. Siamo in contatto inoltre  con  colleghi norvegesi e con un gruppo di colleghi di Tel Aviv . In questi casi, che rappresentano la situazione opposta all’inglese,  credo le cose si complicheranno per via del fatto che le note scritte da medici e infermieri in PS sono rispettivamente in norvegese ed ebraico.  

Il sogno ed il lascito per i più giovani è quello di riuscire  a mettere in rete le banche dati italiane, europee, americane, canadesi ecc., per avere a disposizione milioni di informazioni ed arrivare all’obiettivo finale di una medicina veramente personalizzata.

HUMANITAS GROUP

Humanitas è un ospedale ad alta specializzazione, centro di Ricerca e sede di insegnamento universitario. Ha sviluppato la sua organizzazione clinica istituendo centri di eccellenza specializzati per la cura dei tumori, di malattie cardiovascolari, neurologiche e ortopediche – oltre che un centro oculistico e un fertility center.