Gestire interi flussi aziendali senza l’intervento umano è l’obiettivo ultimo. Un miraggio che, però, sta prendendo progressivamente un’identità reale e tangibile grazie ai software di Natural language processing (NLP) che stanno proliferando sia dal punto di vista numerico sia dal punto di vista della loro applicazione.
I software NLP hanno diversi meriti, primo dei quali è la conditio sine qua non che pretende la digitalizzazione per essere impiegati. Ha quindi uno scopo propedeutico, inducendo le imprese che vogliono farne uso a optare per una piena digitalizzazione dei processi. A seguire, un evidente vantaggio è la possibilità di sgravare i dipendenti da compiti ripetitivi, noiosi e che inducono all’errore. Non da ultimo, sono acceleratori dei flussi aziendali, permettendo di interfacciarsi in modo veloce e naturale agli stakeholder, ossia a tutte le figure in stretto contatto con l’azienda, siano questi clienti, fornitori, partner o investitori.
L’AI e la scoperta di nuovi farmaci: le grandi promesse del “Natural Language Processing”
Software di Natural Language Processing (NLP): quali sono
Sono molti e crescono di numero, a prescindere da chi li produce, si muovono soprattutto negli ambiti del riconoscimento della voce e del testo. Lo interpretano e gli danno un senso, principalmente offrendo queste possibilità:
- riconoscimento vocale (speech recognition), modelli che identificano ciò che una persona dice. Un esempio classico sono gli assistenti vocali di Google, di Amazon e di Apple,
- moderazione di contenuti (content moderation), ossia modelli tipicamente orientati alla censura selettiva, identificando termini ritenuti inappropriati. Modelli diffusi e messi a disposizione in forma pre-addestrata, tra gli altri, da Google Cloud Nlp e Microsoft Azure Cognitive Services Text Analytics,
- sentiment analysis, modelli che identificano se un testo ha connotazioni positive, neutre o negative. L’ambito di applicazione tipico è quello delle Chatbot ma anche il rilevamento dello spam,
- riepilogo del testo (text summarization) è l’attività di ridurre in modo efficace un testo, evidenziandone le porzioni cruciali, non di rado si tratta di un processo preliminare alle attività di sentiment analysis, affinché i modelli dediti a questo scopo siano più rapidi ed efficaci,
- Named Entity Recognition, attività nella quale il modello cerca di identificare il tipo di ogni parola o frase che appare nel testo di input, per esempio riconoscere nomi e cognomi date. Si tratta di modelli utilizzati in molti scenari quali il rilevamento dello spam, l’assistenza clienti, le chatbot e il l’automazione dei flussi domande-risposte (Q&A),
- automazione Q&A (automated question-answering systems), modelli che forniscono risposte predefinite riconoscendo il testo di input,
- traduzione automatica (machine translation), il modello che traduce interi periodi da una lingua a un’altra,
- generazione del linguaggio naturale (natural language generation) è un’attività modello, cerca di generare frasi in linguaggio naturale dai dati di input o dalle informazioni fornite dagli sviluppatori. Tecnica discretamente diffusa e della quale si trovano tracce nei post sui social media, nelle email e in una quantità crescente di applicazioni specifiche le quali, partendo da un antefatto testuale, restituiscono ambientazioni personalizzate e complete. ChatGPT è l’applicazione più famosa.
Tutti software che, al di là dell’ambiente di applicazione, usano il pre-addestramento e lasciano agli sviluppatori il compito di perfezionarne il funzionamento.
I modelli NLP pronti all’uso
Sono modelli pre-addestrati che possono essere implementati dagli sviluppatori con un minimo impiego di risorse. Di fatto, sono modelli di Deep learning addestrati su grandi set di dati per eseguire attività specifiche, possono quindi essere utilizzati, e riutilizzati, per creare applicazioni di diverso tipo. Possono essere caricati in librerie NLP come, per esempio, PyTorch o Tensorflow ed essere personalizzati secondo le esigenze.
C’è uno stretto legame tra modelli pre-addestrati e transfer learning, un addestramento supplementare oltre a quello basato sui dati per il pre-addestramento in sé. Con il transfer learning, infatti, il modello funga da punto di partenza per una nuova applicazione, si usano le conoscenze apprese dal modello e si fornisce un nuovo set di dati per renderlo più specifico. L’alternativa sarebbe quella di creare un modello ex novo, con un maggiore impiego di denaro, lavoro e tempo.
L’esempio più classico è incarnato dalle Chatbot che offrono modelli pre-addestrati (Bert e GPT sono i più noti) che possono essere riaddestrati con dati più settoriali per creare applicazioni da collocare in ambiti specifici.
Automazione dei processi di valutazione con i software NLP
È un processo aziendale spesso sottostimato proprio a causa della quantità di modelli pre-addestrati disponibili. Si tende in qualche modo ad accontentarsi di ciò che soddisfa le esigenze aziendali fermando la ricerca di software Nlp più performanti e, allo stesso tempo, ci si limita a valutare le differenze tra valutazione automatica e manuale, misurando l’apporto dei software NLP in base a quest’ultima. Questo tipo di valutazioni hanno due limiti evidenti: la lentezza e la propensione all’errore.
I sistemi NLP, al contrario di quanto vale per l’uomo nel suo operare quotidiano, non sono monolitici, sono l’insieme di entità distinte ed è in quest’ottica che vanno assunti laddove occorre applicarle a processi di valutazione. L’automazione di qualsiasi processo non può essere soltanto rapportata a quelle che si intendono essere circostanze reali, perché queste escludono anomalie, problemi imprevedibili ed eccezioni in genere.
Si tratta di trovare un equilibrio che di per sé è precario. Infatti, anche ricorrere ad automazioni dei processi di valutazione inserendo nelle tecnologie e nelle tecniche NLP ogni singolo step, ci si espone al rischio che ognuno di questi, elaborato dai sistemi NLP come un singolo componente, erediti errori di valutazione dallo step precedente e li amplifichi prima che venga valutato lo step successivo.
L’unica strada percorribile sembra essere quella del reverse engineering: dato il risultato desiderato – che dovrebbe essere sempre di standard più elevati rispetto a quelli garantiti dall’intervento umano – ricostruire il percorso a ritroso. In questo modo l’efficacia complessiva può persino essere elevata rispetto al risultato atteso, perché il modo di operare dei sistemi NLP non è ovvio.
Automazione della creazione di documenti con l’utilizzo di NLP
Le aziende sono chiamate a gestire una grande quantità di documenti, ogni dipartimento ne riceve e ne produce, basti pensare alla contabilità, alla finanza, alle vendite, al marketing e all’ufficio del personale, unità tipiche delle aziende di medie e grandi dimensioni.
Una gestione che richiede tempo e personale, che ha un costo, che non è esente da errori e che non è scalabile. Se a ciò si aggiunge che i documenti sono file di diversi formati (immagini, file Pdf, file di Office, e così via) appare evidente il grado crescente di difficoltà.
Estrarre e inserire dati diventa macchinoso, mentre ciò che occorre è una gestione low-touch se non addirittura no-touch.
Occorre una breve disquisizione: la Robotic process automation (RPA), al contrario di quanto possa sembrare a una prima lettura, non si presta allo scopo, perché prevede la lettura manuale del patrimonio documentale e l’inserimento dei record selezionati, ancora una volta a mano, nei sistemi di archiviazione adeguati.
L’obiettivo ultimo deve essere la generazione automatica di documenti e questo necessita di una loro elaborazione senza intervento umano. Ed è qui che subentrano gli strumenti NLP, capaci di tenere testa a interi flussi come, per esempio, la registrazione in contabilità di fatture passive, la creazione di quelle attive, il controllo degli incassi e i pagamenti ai fornitori al momento opportuno.
Nella creazione automatica di documenti rientrano anche le procedure e i manuali aziendali, così come l’allestimento di reportistica con le informazioni pertinenti agli scambi tra dipartimenti. Un esempio classico, mediato da modelli NLP, è quello per il quale un’azienda può convalidare i dati estratti da una transazione commerciale, archiviarli nel sistema Erp e provvedere a valutarne la veridicità, il rispetto degli standard aziendali o degli accordi relativi alla transazione stessa e, non da ultimo, rivelare incongruenze o tentativi di frode.
Il nuovo ruolo dell’Intelligenza artificiale per la gestione aziendale
Qualsiasi attività svolta da qualsivoglia impresa inserita in ogni comparto commerciale può essere demandata a un’Intelligenza artificiale. Il richiamo più forte è quello all’industria 4.0, ma è solo un tassello dell’intero mosaico. Le Intelligenze artificiali entrano in ogni comparto dell’impresa, tant’è che il controllo di gestione diventa sempre più orientato all’acquisizione di metodi innovativi.
Si parla spesso di democratizzazione delle AI e, per quanto sia un termine forzato nella forma, è puntuale nella sostanza: grazie ai grandi player del settore, oggi qualsiasi realtà aziendale può sfruttare le AI, erogate spesso come servizio e a prezzi che partono da una manciata di euro. Questo comporta un radicale cambiamento nei processi organizzativi e un minore costo di gestione.
Si tratta di un argomento dalla portata molto ampia, la cui sintesi può essere: le AI sono in grado di ridisegnare qualsiasi flusso e dipartimento aziendale, riducendo i costi, gli errori e gli sprechi. Questo vale tanto per il recruiting e l’assunzione di dipendenti, la scelta dei fornitori fino all’assistenza post-vendita, passando per la produzione, la logistica, l’amministrazione, il marketing e le finanze.
Non ci sono soltanto flussi e informazioni che circolano in entrata o in uscita, ce ne sono molti destinati a rimanere all’interno dell’azienda e anche questi sono interamente demandabili alle AI, si pensi per esempio alla gestione documentale e alla reportistica.
Ciò che importa – e che a nostro avviso ogni azienda dovrebbe sapere prima di cominciare a digitalizzare i processi – è che, pure apportando cambiamenti radicali ai flussi, questi non sempre devono essere completamente rivoluzionati. Nei processi di ogni azienda c’è molto di buono e le AI vanno intese come evoluzione dei processi stessi, non per forza di cose come una creazione ex novo la quale, oltre a rischiare di spiazzare completamente i dipendenti, può avere un impatto devastante sull’operatività, sui costi e sulla filosofia dell’azienda in sé.
L’analisi del testo: migliorare la relazione tra azienda e cliente
L’analisi del testo è preziosa in diversi ambiti. Oltre alla sentiment analysis, fondamentale per prevenire crisi e cogliere in modo rapido i pareri non positivi che i clienti pubblicano sul web, riveste un ruolo primario anche nell’assistenza precedente e seguente la vendita.
L’analisi del testo, in aggiunta alla sentiment analysis, consente di individuare quelle che vengono definite “tendenze nascoste”, ossia malcontenti o elogi che non vengono esplicitati dai clienti in modo diretto ma che riguardano una parte di un servizio, per esempio una presunta inefficacia dell’assistenza tecnica, o il difetto in una funzionalità, anche secondaria, di un prodotto.
Inoltre, i chatbot possono riconoscere le parole necessarie e inoltrare le richieste dei clienti agli uffici competenti, aumentando l’efficacia delle risposte e il tempo necessario a fornirle.
Apprendimento automatico in ambito business: confronto tra piattaforme
Il Machine learning è terreno fertile per molti giganti del settore, e il mercato è popolato di soluzioni Open source oppure proprietarie.
Tra le più interessanti, oggi, figurano H20.ai e Dataiku. La prima è adatta alla simulazione di scenari al fine di scovare i modelli migliori, mentre la seconda piattaforma ha un senso spiccato per le analisi predittive in ambienti no-code, ossia a bassa (o del tutto assente) necessità di programmazione.
Le soluzioni più note, fornite da Google, Amazon, Microsoft e IBM, hanno peculiarità in qualche modo comparabili, seppure abbiano ognuna delle feature esclusive o che eccellono rispetto alla concorrenza. Ci sono molte librerie – tipicamente Open source – che però tendono ad avere bisogno di programmatori per essere implementate nel modo più opportuno.
Guida alla scelta di una soluzione NLP adatta alle esigenze aziendali
Come detto, si tratta di un processo di reverse engineering, occorre quindi partire dall’obiettivo ultimo e procedere a ritroso. Inoltre, poiché ogni forma di AI necessita di dati per esistere ed essere efficace, è necessario che ogni azienda faccia i conti realistici con i dati di cui dispone.
Per ogni obiettivo finale esistono soluzioni mirate, alcune appannaggio di imprese che hanno al loro interno programmatori e Data scientist, altre in regime low-code o no-code.
Altre discriminanti che conducono verso la scelta ottimale sono la natura della soluzione scelta (se a pagamento oppure Open source) e la volontà di usare piattaforme online oppure una struttura hardware e software interna all’azienda.
Google Cloud Natural Language
È uno degli innumerevoli servizi che Google mette a disposizione e consiste in modelli di Machine learning che analizzano testi per estrarne i contenuti ritenuti rilevanti e la loro archiviazione secondo logiche amministrabili.
Il servizio dà ampio spazio di manovra a chi ne fa uso, permettendo la personalizzazione dei parametri mediante i quali lavora Google Cloud Natural Language senza la necessità di scrivere codice, rimanendo quindi fedele alla filosofia no-code. Le Api permettono di integrare la comprensione del linguaggio con qualsiasi applicazione terza, riuscendo così ad adeguarsi a una moltitudine di imprese, a una platea di utenti molto numerosa.
Due i punti di forza di Google Cloud Natural Language: la semplicità d’uso e il costo in base ai consumi, quest’ultima cosa avvantaggia anche le piccole organizzazioni. La soluzione può essere provata gratuitamente e l’interfaccia, che richiama quella di tutti i servizi targati Mountain View, ne rende più intuitivo l’uso.
IBM Watson Natural Language Understanding
Un ecosistema per l’analisi avanzata del testo uscito dai laboratori IBM, Watson Natural Language Understanding utilizza il deep learning per estrapolare significato da dati di testo non strutturati.
Offre un livello di analisi approfondito grazie ai metadati e a quelli che vengono definiti insight nascosti, ossia i termini di senso non espressi in modo palese e identificati grazie al lavoro sovrapposto di più modelli. Inoltre, si integra a tutto l’ecosistema di servizi offerti da IBM Watson, piattaforma deputata al Cloud, alle IA e quindi al Machine learning, al Deep learning e all’elaborazione e all’analisi di Big data. Può essere provato gratuitamente e applica una politica di prezzo basata sull’utilizzo.
Amazon Comprehend
Al pari delle precedenti, Amazon Comprehend è una soluzione completa, pure avendo una vocazione particolare per il sentiment analysis sul web, esaminando e riconoscendo contenuti diffusi tramite i canali social ma ha una vasta gamma di applicazioni, tra analisi di documenti (anche finanziari) e la gestione dei documenti, anche di settori specifici come quello legale. Il prezzo è proporzionale all’uso delle risorse messe a disposizione in Cloud.
Microsoft Azure Language Understanding
Tra le piattaforme no-code per eccellenza, Microsoft Azure Language Understanding permette un grado di personalizzazione di alto livello, mettendo a disposizione suite e strumenti per la creazione di Chatbot e per il training di diversi modelli. È disponibile come servizio web e anche on-premise ed è integrabile con Language Studio, una serie di strumenti utili a integrare funzionalità offerte dai servizi cognitivi di Azure che possono essere impiegati tramite apposite Api che non richiedono particolari competenze per essere sfruttate.
Apple SiriKit
È un mondo esclusivo, ossia un kit di sviluppo per ottenere il meglio nel rapporto tra app e Siri, l’assistente virtuale di Apple. SiriKit include diversi framework per implementare estensioni delle app affinché le richieste degli utenti vengano convertite in azioni specifiche.
Sap Leonardo
È un ecosistema di software e servizi che abilitano chi ne fa uso a ricorrere a metodologie di Machine learning, IoT, Big data e Data analysis.
Gli ambiti di implementazione permettono anche:
- l’individuazione dei comportamenti dei clienti,
- creare simulazioni per valutare le conseguenze di scenari specifici,
- l’individuazione di soluzioni e operazioni di tuning per rendere più rapidi ed efficaci i dipartimenti aziendali,
- la creazione di applicazioni per il Natural language processing mediante Api e modelli pre-addestrati.
Il costo è comunicato a chi ne fa richiesta, può essere però organizzata una demo per testare con mano le potenzialità del prodotto.
HuggingFace Transformers Library
Huggingface fornisce Api per i modelli pre-addestrati di diverse applicazioni NPL. Usa i trasformatori più diffusi, tra i quali Bert, BlenderBot e i modelli GPT. Di fatto, è una libreria che fornisce decine di centinaia di modelli per sfruttare testo, immagini e audio. Una soluzione che ne contiene diverse, Open source e supportata da un’ampia comunità che, però, necessita di risorse interne all’azienda, programmatori esperti, per essere sfruttata al meglio.
Rasa NLU e Rasa Core
Rasa Open source è una piattaforma per le AI conversazionali che permette la totale integrazione con sistemi di terze parti, per esempio social media o app di messaggistica istantanea.
Rasa Core è deputato alla gestione dei flussi della conversazione, mentre Rasa NLU (Natural language understanding) elabora il testo per estrapolarne le occorrenze pertinenti, così come configurate da chi ne fa uso. In parole più immediate, Rasa NLU passa a Rasa Core l’output di ciò che elabora per permettere a un Bot di fornire le risposte all’utente che ha formulato richieste o domande.
OpenNLP
Sviluppata da Apache, OpenNLP è una libreria che mette gratuitamente a disposizione diversi modelli (anche in italiano) ed è ampiamente utilizzata in ogni ambito del NLP, a partire dal riconoscimento dell’idioma fino alle analisi del testo. Oltre a essere prelevabile gratuitamente, si distingue per la qualità del supporto garantito dall’ampia comunità di riferimento e per la semplicità di implementazione. Sono molte le risorse online che mostrano in modo molto semplice come è possibile farne uso.
spaCY
È una libreria tra le più diffuse per l’implementazione di applicazioni NLP. Prelevabile gratuitamente è molto usata in ambito di Data mining e della classificazione di testi. Tra i motivi che ne hanno spinto la diffusione figurano la facilità di integrazione con altre librerie, la facilità di impiego e di sviluppo il quale, tuttavia, richiede conoscenze specifiche soprattutto per sfruttarne le potenzialità avanzate.