Tra le varie branche dell’intelligenza artificiale, il Natural Language Processing (NLP), in italiano traducibile come elaborazione del linguaggio naturale, riveste un ruolo di importanza sempre più crescente, soprattutto negli ultimi anni. Questa disciplina, infatti, si concentra sull’interazione tra computer e linguaggio umano, permettendo alle macchine di comprendere, interpretare e generare testo in modo simile a come farebbe un essere umano.
In principio, prima dell’avvento delle tecniche di Machine Learning, l’elaborazione del linguaggio naturale si basava principalmente su approcci simbolici e regole definite manualmente dal lavoro congiunto di linguisti e programmatori. Questo tipo di approcci, però, avevano diverse limitazioni:
· Scalabilità: la creazione manuale di regole risultava laboriosa e difficile da scalare a lingue e domini complessi;
· Ambiguità: gestire l’ambiguità linguistica era molto complicato attraverso regole fisse;
· Adattabilità: i sistemi erano rigidi e non potevano facilmente adattarsi a nuovi dati o contesti.
Come anticipato, la svolta, o ancor meglio, la rivoluzione, si ebbe con l’introduzione del Machine Learning, che ha permesso ai sistemi di NLP di apprendere dai dati piuttosto che dipendere esclusivamente da regole manuali. Questo ha semplificato il modo di trattare l’ambiguità e la varietà del linguaggio naturale, portando alla creazione di sistemi molto più efficienti e flessibili.
Natural Language Processing e Machine Learning
Una fase cruciale del Machine Learning è il pre-processing. Esso interviene prima dell’applicazione degli algoritmi stessi e serve a preparare i dati grezzi per essere utilizzati efficacemente dai modelli. Raccolta una significativa quantità di dati, la prima attività da compiere è quella del pre-processing, cioè di preparazione del dato, la quale comprende una serie di tecniche che consistono nel trasformare i dati a disposizione, in maniera tale che questi possano essere analizzati in modo più agevole e utile dagli algoritmi di Machine Learning.
Alcuni esempi di queste tecniche sono:
· Tokenizzazione: consiste nel suddividere il testo in più parti, chiamate appunto token. Ogni token è costituito da una singola parola. Le parole vengono divise sulla base di separatori definiti, come spazi, virgole, punti, ecc;
· Normalizzazione: consiste nella pulizia dei singoli token, ad esempio la rimozione di caratteri numerici, speciali, ecc;
· Rimozione delle stop word: consiste nell’eliminazione di quelle parole poco significative, perché magari utilizzate spesso all’interno delle frasi e che dunque non offrono una maggiore informazione per la classificazione del testo, anzi soventemente provocano addirittura dei peggioramenti. Esse consistono in articoli, preposizioni, pronomi e parole che ricadono nel caso sopra descritto;
· Lemmatizzazione: è quella tecnica che si occupa di identificare i lemmi di una parola, quindi nella trasformazione di un verbo all’infinto;
· Stemmizzazione: attraverso cui si identificano e recuperano le radici delle parole, con l’obiettivo di recuperare quindi la sola parte significativa delle stesse;
· Generazione degli n-grammi: è la tecnica attraverso la quale, ottenuta una frase in input, si raggruppano le parole dalla quale essa è composta in insiemi parzialmente sovrapponibili di n elementi. Solitamente i risultati migliori si ottengono con n = 2 o n = 3.
Terminata la fase di pre-processing, quindi preparati i dati, questi si troveranno in un formato uniforme e meglio comprensibile per l’algoritmo di apprendimento e possono essere utilizzati per addestrare il modello di Machine Learning che, a seconda della natura del problema che affrontano e del tipo di apprendimento che utilizzano, possono raggrupparsi in diversi gruppi, di cui i principali sono:
· Supervisionati: per i quali è necessario avere uno storico dei dati etichettati per la fase di apprendimento del modello, ad esempio nel caso della classificazione;
· Non supervisionati: per i quali non si ha necessità di esempi storici per la fase di apprendimento del modello, ad esempio nella clusterizzazione, ossia quel tipo di apprendimento il cui obiettivo consiste nel raggruppare dati simili tra loro senza l’utilizzo di etichette predefinite.
Una volta creato il modello, i dati a cui applicare quest’ultimo, devono essere pre-processati allo stesso modo in cui lo sono stati i dati di addestramento, al fine di garantire coerenza e accuratezza nelle previsioni dello stesso.
Natural language processing: un caso d’uso
Attraverso l’impiego di algoritmi sofisticati e l’analisi avanzata del testo con le tecniche cui abbiamo fatto riferimento, è possibile sviluppare soluzioni software che sfruttando la potenza di questi ultimi, siano in grado di automatizzare, in maniera efficiente e precisa, processi più o meno complessi e sicuramente estremamente time-consuming, come ad esempio la classificazione in categorie, spesso anche multilivello, dei numerosi messaggi di posta elettronica in entrata di una grande organizzazione.
Infatti, nel panorama sempre più digitale delle istituzioni, siano esse operanti nel settore finanziario, assicurativo, legale, delle risorse umane, ecc. la gestione efficiente delle comunicazioni è diventata una priorità fondamentale. Tuttavia, le procedure noiose e ripetitive, come quella sopra citata, continuano a rappresentare una sfida significativa. Questo processo, infatti, non solo richiede un notevole impegno in termini di tempo e di personale, ma è anche soggetto a errori umani che possono compromettere l’efficienza complessiva dell’istituzione.
La soluzione Aiom
In questo contesto, in Revelis è stato sviluppato Aiom, una soluzione software capace di analizzare in simultanea più caselle di posta elettronica, sia PEC che tradizionali, che si pone come una risposta innovativa a questa esigenza critica. Con la sua capacità di apprendere dai dati e adattarsi ai cambiamenti nelle comunicazioni, tramite riaddestramento dei modelli di apprendimento, questo sistema offre un approccio su misura per le organizzazioni che desiderano ottimizzare le proprie operazioni, minimizzando i tempi necessari per il loro espletamento, consentendo una gestione più efficiente delle email e liberando risorse umane preziose, che risparmiando una enorme mole di tempo, possono così dedicarsi ad altre attività.
L’addestramento può essere effettuato utilizzando diversi algoritmi e nel caso in cui si opti per algoritmi probabilistici, Aiom è in grado di fornire anche una valutazione in termini percentuali riguardo l’affidabilità di una certa classificazione e può essere configurato per rispondere al mittente in maniera automatica se tale affidabilità è superiore ad una certa soglia configurabile.
Opzionalmente è possibile inserire in Aiom anche delle cosiddette Golden Rules, vale a dire regole definite dal cliente, completamente configurabili in qualsiasi momento che permettono di definire la classificazione in base a:
· L’indirizzo del mittente o degli indirizzi presenti in To o in Cc.
· Espressioni regolari, definendo il criterio di attivazione della regola tramite la ricerca di testo o pattern rilevanti in:
o oggetto dell’email
o testo dell’email
o eventuali allegati.
· Qualsiasi altra esigenza espressa dal cliente.
Ciò risulta utile per diversi motivi:
· Perché talvolta le organizzazioni hanno necessità di effettuare la classificazione secondo dei criteri specifici. In tal caso, quindi, è possibile evitare di interrogare il modello di Machine Learning, che verrà utilizzato solo nel momento in cui questo non si riesca a trovare una classificazione applicando questo primo filtro.
· Nel momento in cui non vi è uno storico, quindi un dataset di partenza con dati già classificati. Con il metodo descritto, infatti, il software può comunque entrare in funzione classificando le email in entrata e creando, di fatto, al contempo, uno dataset sul quale addestrare poi un modello di Machine Learning. Una base dati siffatta, potrebbe risultare anche più precisa rispetto a quella generata sulla base di classificazioni effettuate da esseri umani, in quanto mantiene uniformità nella classificazione, cosa che, all’aumentare del numero di categorie, diventa sempre più difficile da mantenere già per un singolo individuo, ancor di più quando questi ultimi sono in maggior numero. Si pensi, a tal proposito, al caso in cui più operatori umani siano allocati sull’attività di lettura dei messaggi di posta elettronica e conseguente classificazione degli stessi in categorie: la probabilità di ottenere classificazioni diverse per un certo messaggio non è bassa e aumenta sensibilmente all’aumentare delle possibili categorie, cosa che va a creare un dataset di bassa qualità sul quale costruire un modello di Machine Learning.
I vantaggi della soluzione Aiom
La soluzione sopra descritta è attualmente attiva presso una importante banca internazionale e gestisce il flusso in entrata di diverse caselle di posta elettronica.
Per il cliente, i vantaggi portati dall’introduzione di questo software si riassumono in:
· Ottimizzazione delle performance: si stima una riduzione del 70% del tempo di lavorazione;
· Abbattimento dell’effort: un minor numero di personale allocato sull’attività di lettura, smistamento, classificazione e risposta alle email in entrata;
· Incremento della precisione: il 94% delle email è gestito correttamente.
Autore: Carmelo Pitrelli e Domenico Rodilosso