L'elaborazione del linguaggio naturale (NLP) è un sottocampo dell'informatica e dell'intelligenza artificiale (AI) che utilizza il machine learning per consentire ai computer di comprendere e comunicare con il linguaggio umano.
L'NLP consente ai computer e ai dispositivi digitali di riconoscere, comprendere e generare testo e parlato combinando la linguistica computazionale (la modellazione basata su regole del linguaggio umano) insieme alla modellazione statistica, al machine learning e al deep learning.
La ricerca sull'NLP ha contribuito a rendere possibile l'era dell'AI generativa, dalle capacità di comunicazione dei modelli linguistici di grandi dimensioni (LLM) alla capacità dei modelli di generazione di immagini di comprendere le richieste. L'NLP fa già parte della vita quotidiana di molti, essendo utilizzato per i motori di ricerca, i chatbot per il servizio clienti con comandi vocali, i sistemi GPS a comando vocale e gli assistenti digitali per rispondere alle domande su smartphone come Alexa di Amazon, Siri di Apple e Cortana di Microsoft.
L'NLP svolge anche un ruolo crescente nelle soluzioni aziendali che aiutano a semplificare e automatizzare le operazioni aziendali, aumentare la produttività dei dipendenti e semplificare i processi aziendali.
L'NLP rende più facile per gli esseri umani comunicare e collaborare con le macchine, consentendo loro di farlo nel linguaggio umano naturale che usano ogni giorno. Ciò offre vantaggi in molti settori e applicazioni.
L'NLP è particolarmente utile per automatizzare completamente o parzialmente attività come il supporto clienti, l'immissione dei dati e la gestione dei documenti. Ad esempio, i chatbot basati su NLP possono gestire le domande di routine dei clienti, consentendo agli agenti umani di occuparsi di problemi più complessi. Nell'elaborazione dei documenti, gli strumenti di NLP possono classificare automaticamente, estrarre informazioni chiave e riassumere i contenuti, riducendo i tempi e gli errori associati alla gestione manuale dei dati. L'NLP facilita la traduzione linguistica, convertendo il testo da una lingua all'altra e preservandone significato, contesto e sfumature.
L'NLP migliora l'analisi dei dati consentendo l'estrazione di insight da dati di testo non strutturati, come recensioni dei clienti, post sui social media e articoli di giornale. Utilizzando le tecniche di text mining, l'NLP può identificare modelli, tendenze e sentiment che non sono immediatamente evidenti in set di dati di grandi dimensioni. L'analisi del sentiment consente l'estrazione di qualità soggettive (atteggiamenti, emozioni, sarcasmo, confusione, sospetto) dal testo. Viene spesso utilizzata per indirizzare le comunicazioni al sistema o alla persona che ha maggiori probabilità di fornire la risposta successiva.
Ciò consente alle aziende di comprendere meglio le preferenze dei clienti, le condizioni di mercato e l'opinione pubblica. Gli strumenti di NLP possono anche eseguire la categorizzazione e il riassunto di grandi quantità di testo, rendendo più facile per gli analisti identificare le informazioni chiave e prendere decisioni basate sui dati in modo più efficiente.
L'NLP beneficia la ricerca consentendo ai sistemi di comprendere l'intento alla base delle domande degli utenti, fornendo risultati più accurati e contestualmente pertinenti. Invece di fare affidamento esclusivamente sulla corrispondenza delle parole chiave, i motori di ricerca basati su NLP analizzano il significato di parole e frasi, rendendo più facile trovare informazioni anche quando le query sono vaghe o complesse. Ciò migliora l'esperienza dell'utente nelle ricerche sul web, nel recupero di documenti o nei sistemi di dati aziendali.
L'NLP consente ai modelli linguistici avanzati di creare testi simili a quelli umani per vari scopi. I modelli pre-addestrati, come GPT-4, possono generare articoli, report, testi di marketing, descrizioni di prodotti e persino scrittura creativa in base ai prompt forniti dagli utenti. Gli strumenti basati sull'NLP possono anche aiutare ad automatizzare attività come la creazione di e-mail, la scrittura di post sui social media o la documentazione legale. Comprendendo il contesto, il tono e lo stile, l'NLP si assicura che il contenuto generato sia coerente, pertinente e allineato con il messaggio previsto, risparmiando tempo e fatica nella creazione dei contenuti e mantenendone la qualità.
L'NLP combina la potenza della linguistica computazionale con algoritmi di machine learning e deep learning. La linguistica computazionale utilizza la data science per analizzare il linguaggio e il parlato. Comprende due tipi principali di analisi: l'analisi sintattica e l'analisi semantica. L'analisi sintattica determina il significato di una parola o di una frase analizzando la sintassi delle parole e applicando regole grammaticali programmate in precedenza. L'analisi semantica utilizza l'output sintattico per comprendere il significato delle parole e interpretarle all'interno della struttura della frase.
Il parsing delle parole può assumere due forme distinte. Il parsing delle dipendenze esamina le relazioni tra le parole, ad esempio l'identificazione di nomi e verbi, mentre il parsing costitutivo crea un parse tree (o syntax tree): una rappresentazione radicata e ordinata della struttura sintattica della frase o della stringa di parole. I parse tree risultanti sono alla base delle funzioni dei Language Translator e del riconoscimento vocale. Idealmente, questa analisi rende l'output, sia testuale che vocale, comprensibile sia ai modelli di NLP che alle persone.
In particolare, l'apprendimento autosupervisionato (SSL) è utile per supportare l'NLP perché richiede grandi quantità di dati etichettati per addestrare i modelli AI. Poiché questi set di dati etichettati richiedono una lunga annotazione (un processo che comporta l'etichettatura manuale da parte degli esseri umani), raccogliere una quantità sufficiente di dati può essere estremamente difficile. Gli approcci autosupervisionati possono essere più efficienti in termini di tempo e costi, poiché sostituiscono in parte o completamente i dati di addestramento etichettati manualmente.
Tre diversi approcci all'NLP sono:
Le prime applicazioni dell'NLP erano semplici decision trees che richiedevano regole programmate in precedenza. Sono in grado di fornire risposte solo in seguito a prompt specifici, come la versione originale di Moviefone, che aveva funzionalità rudimentali di generazione del linguaggio naturale (NLG). Poiché non esiste alcuna funzionalità di apprendimento automatico o AI nell'NLP basato su regole, questa funzione è estremamente limitata e non scalabile.
Successivamente è stato sviluppato l'NLP statistico, che estrae, classifica ed etichetta automaticamente elementi di testo e dati vocali, e quindi assegna una probabilità statistica a ogni possibile significato di tali elementi. Questo si basa sul machine learning, consentendo una sofisticata suddivisione della linguistica come il tagging delle parti del discorso.
L'NLP statistico ha introdotto la tecnica essenziale di mappare gli elementi del linguaggio, come parole e regole grammaticali, su una rappresentazione vettoriale, in modo che il linguaggio possa essere modellato utilizzando metodi matematici (statistici), inclusi modelli di regressione o di Markov. Questo ha influenzato i primi sviluppi dell'NLP, come i correttori ortografici e l'invio di testi T9 (testo su 9 tasti, da utilizzare sui telefoni touch-tone).
Recentemente, i modelli di deep learning sono diventati la modalità dominante dell'NLP, poiché utilizzano enormi volumi di dati non elaborati e non strutturati, sia testuali che vocali, per diventare sempre più accurati. Il deep learning può essere visto come un'ulteriore evoluzione dell'NLP statistico, con la differenza che utilizza modelli di reti neurali. Esistono diverse sottocategorie di modelli:
Modellisequence-to-sequence (seq2seq): basati su reti neurali ricorrenti (RNN), sono stati utilizzati principalmente per la traduzione automatica convertendo una frase da un dominio (come la lingua tedesca) nella frase di un altro dominio (come l'inglese).
Modelli trasformatori: utilizzano la tokenizzazione del linguaggio (la posizione di ciascun token, parola o sottoparola) e l'auto-attenzione (acquisendo dipendenze e relazioni) per calcolare la relazione tra le diverse parti del linguaggio. I modelli trasformatori possono essere addestrati in modo efficiente utilizzando l'apprendimento autosupervisionato su enormi database di testo. Una pietra miliare nei modelli trasformatori sono state le rappresentazioni degli encoder bidirezionali dai trasformatori (BERT) di Google, che sono diventate e rimangono la base del funzionamento del motore di ricerca di Google.
Modelli autoregressivi: questo tipo di modello trasformatore viene appositamente addestrato per prevedere la parola successiva in una sequenza, il che rappresenta un enorme passo avanti nella capacità di generare testo. Esempi di LLM autoregressivi includono GPT, Llama, Claude e l'open source Mistral.
Foundation model: i modelli di base precostituiti e curati possono accelerare il lancio di uno sviluppo di NLP e aumentare la fiducia nel suo funzionamento. Ad esempio, i foundation model IBM Granite sono ampiamente applicabili in tutti i settori. Supportano le attività di NLP, tra cui la generazione di contenuti e l'estrazione di insight. Inoltre, facilitano la Retrieval-Augmented Generation, un framework per migliorare la qualità della risposta collegando il modello a fonti di conoscenza esterne. I modelli eseguono anche la Named Entity Recognition, ovvero l'identificazione e l'estrazione di informazioni chiave da un testo.
Solitamente, diverse attività di NLP aiutano a elaborare dati di testo e vocali umani in modo da aiutare il computer a dare un senso a ciò che viene inserito. Alcune di queste attività includono:
Risoluzione delle coreferenze
Named Entity Recognition
Assegnazione di tag alle parti del discorso
Disambiguazione del senso delle parole
Questa attività consiste nell'identificare se e quando due parole si riferiscano alla stessa entità. L'esempio più comune è quello di determinare la persona o l'oggetto a cui si riferisce un determinato pronome (ad esempio "lei" = "Maria"), ma può anche comportare l'identificazione di una metafora o di un modo di dire nel testo (ad es. un caso in cui un "orso" non è un animale, ma una grande persona pelosa).
La NER identifica parole o frasi come entità utili. La NER identifica "Londra" come una località o "Maria" come il nome di una persona.
Nota anche come "tagging grammaticale", si tratta del processo di determinazione della parte del discorso di una parola o di un pezzo di testo in base al suo uso e al contesto. Ad esempio, il tagging Part-of-Speech identifica "marca" come verbo nella frase "L'avversario lo marca a uomo" e come sostantivo in "Che marca di auto possiedi?"
Si tratta della selezione del significato di una parola con più significati possibili. Questo utilizza un processo di analisi semantica per esaminare la parola nel contesto. Ad esempio, la disambiguazione del senso delle parole aiuta a distinguere il significato del verbo "fare" in "fare cassa" (guadagnare) rispetto a "fare una scommessa" (piazzare). Risolvere "Sarò maritato quando merito di maritare Maria" richiede un sofisticato sistema di PNL.
L'NLP funziona combinando varie tecniche computazionali per analizzare, comprendere e generare il linguaggio umano in un modo che le macchine possono elaborare. Di seguito è riportata una panoramica di una tipica pipeline NLP e dei relativi passaggi:
La pre-elaborazione del testo NLP prepara il testo non elaborato per l'analisi, trasformandolo in un formato che le macchine possono comprendere più facilmente. Tutto parte dalla tokenizzazione, che consiste nel suddividere il testo in unità più piccole, come parole, frasi o espressioni. Ciò aiuta a scomporre un testo complesso in parti gestibili. Successivamente, il testo viene standardizzato convertendo tutti i caratteri in minuscolo per assicurarsi che parole come "Apple" e "apple" siano trattate allo stesso modo. La rimozione delle stop word è un altro passaggio comune, nel quale le parole usate di frequente come "è" o "il" vengono filtrate perché non aggiungono un significato particolare al testo. Lo stemming o lemmatizzazione riduce le parole alla loro radice (ad esempio, "eseguendo" diventa "eseguire"), facilitando l'analisi del linguaggio raggruppando diverse forme della stessa parola. Inoltre, la pulizia del testo rimuove elementi indesiderati come punteggiatura, caratteri speciali e numeri che potrebbero rendere l'analisi meno chiara.
Dopo la pre-elaborazione, il testo è pulito, standardizzato e pronto per essere interpretato in modo efficace dai modelli di apprendimento automatico.
L'estrazione delle caratteristiche è il processo di conversione del testo non elaborato in rappresentazioni numeriche che le macchine possono analizzare e interpretare. Ciò comporta la trasformazione del testo in dati strutturati utilizzando tecniche di NLP come Bag of Words e TF-IDF, che quantificano la presenza e l'importanza delle parole in un documento. I metodi più avanzati includono incorporamenti di parole come Word2Vec o GLove, che rappresentano le parole come vettori densi in uno spazio continuo, catturando le relazioni semantiche tra le parole. Gli incorporamenti contestuali migliorano ulteriormente tutto questo, considerando il contesto in cui le parole appaiono e consentendo rappresentazioni più ricche e sottili.
L'analisi del testo implica l'interpretazione e l'estrazione di informazioni significative dai dati di testo attraverso varie tecniche computazionali. Questo processo include attività come il tagging Part-of-Speech (POS), che identifica i ruoli grammaticali delle parole, e la Named Entity Recognition (NER), che rileva entità specifiche come nomi, luoghi e date. Il parsing delle dipendenze analizza le relazioni grammaticali tra le parole per comprendere la struttura delle frasi, mentre l'analisi del sentiment determina il tono emotivo del testo, valutando se è positivo, negativo o neutro. La modellazione degli argomenti identifica i temi o gli argomenti sottostanti all'interno di un testo o in un corpus di documenti. Il Natural Language Understanding (NLU) è un sottoinsieme dell'NLP che si concentra sull'analisi del significato che celano le frasi. L'NLU consente al software di trovare significati simili in frasi diverse o di elaborare parole che hanno significati diversi. Attraverso queste tecniche, l'analisi del testo NLP trasforma il testo non strutturato in insight.
I dati elaborati vengono poi utilizzati per addestrare i modelli di machine learning, che apprendono i modelli e le relazioni all'interno dei dati. Durante l'addestramento, il modello regola i parametri per ridurre al minimo gli errori e migliorare le prestazioni. Una volta addestrato, il modello può essere utilizzato per fare previsioni o generare output su nuovi dati non visibili. L'efficacia della modellazione NLP viene continuamente perfezionata attraverso la valutazione, la convalida e la messa a punto per migliorare l'accuratezza e la pertinenza nelle applicazioni del mondo reale.
Diversi ambienti software risultano utili in tutti i processi menzionati. Ad esempio, il Natural Language Toolkit (NLTK) è una suite di librerie e programmi per l'inglese scritti nel linguaggio di programmazione Python. Supporta le funzionalità di classificazione del testo, tokenizzazione, stemming, tagging, parsing e ragionamento semantico. TensorFlow è una libreria software gratuita e open source per il machine learning e l'AI che può essere utilizzata per addestrare modelli per applicazioni NLP. Chi è interessato a imparare a usare questi strumenti ha molti tutorial e certificazioni a disposizione.
Anche i modelli di NLP più avanzati non sono perfetti, proprio come il linguaggio umano è soggetto a errori. Come ogni tecnologia AI, anche l'NLP presenta delle potenziali insidie. Il linguaggio umano è pieno di ambiguità che rendono difficile per i programmatori sviluppare software in grado di determinare con precisione il significato previsto del testo o dei dati vocali. Possono volerci anni prima che gli esseri umani imparino il linguaggio, e molti non smettono mai di imparare. Ma poi i programmatori devono insegnare alle applicazioni basate sul linguaggio naturale a riconoscere e comprendere le irregolarità, affinché le applicazioni possano essere precise e utili. I rischi associati potrebbero includere:
Come con qualsiasi funzione di AI, i dati distorti utilizzati durante l'addestramento influenzano le risposte. Più diversi sono gli utenti di una funzione di NLP, più questo rischio diventa significativo, ad esempio nei servizi governativi, nell'assistenza sanitaria e nelle interazioni con le Risorse Umane. I set di dati di addestramento ottenuti dal web, ad esempio, sono soggetti a distorsioni.
Come per la programmazione, esiste il cosiddetto rischio "garbage in, garbage out" (GIGO). Il riconoscimento vocale, noto anche come speech-to-text, consiste nell'attività di convertire in modo affidabile i dati vocali in dati testuali. Tuttavia le soluzioni NLP possono confondersi se l'input vocale è in un dialetto oscuro, borbottato, pieno di slang, omonimi, errori grammaticali, idiomi, frammenti, errori di pronuncia, contrazioni o registrato con troppo rumore di fondo.
Nuove parole vengono continuamente inventate o importate. Le convenzioni grammaticali possono evolversi o essere volontariamente infrante. In questi casi, l'NLP può abbozzare un'ipotesi o ammettere di non essere sicuro e, in entrambi i casi, ciò crea una complicazione.
Quando le persone parlano, il loro linguaggio verbale o anche il linguaggio del corpo possono dare un significato completamente diverso alle sole parole. L'esagerazione per l'effetto, l'enfasi sulle parole per dare loro importanza o il sarcasmo possono essere confusi dall'NLP, rendendo l'analisi semantica più difficile e meno affidabile.
Le applicazioni dell'NLP si trovano ora in quasi tutti i settori.
Nelle transazioni finanziarie, i nanosecondi possono fare la differenza tra il successo e il fallimento quando si accede ai dati o si effettuano transazioni o accordi. L'NLP può accelerare l'estrazione di informazioni da bilanci, relazioni annuali e normative, comunicati stampa o persino social media.
Nuove conoscenze e scoperte mediche possono arrivare tanto velocemente da non consentire agli operatori sanitari di restare al passo. Gli strumenti basati su NLP e AI possono aiutare a velocizzare l'analisi delle cartelle cliniche e dei documenti di ricerca medica, consentendo di prendere decisioni mediche più informate o assistendo nel rilevamento o addirittura nella prevenzione delle patologie.
L'NLP può analizzare le richieste di rimborso per cercare modelli in grado di identificare le aree critiche e trovare inefficienze nell'elaborazione delle richieste, il che conduce a una maggiore ottimizzazione dell'elaborazione e dell'impegno dei dipendenti.
Quasi tutte le cause legali possono richiedere la revisione di un elevato numero di documenti, informazioni di base e precedenti legali. L'NLP può aiutare ad automatizzare l'indagine giuridica, così come aiutare nell'organizzazione delle informazioni, accelerare la revisione e assicurare che siano acquisiti tutti i dettagli pertinenti da prendere in considerazione.
Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.
Accelera il valore aziendale dell'intelligenza artificiale con un portfolio potente e flessibile di librerie, servizi e applicazioni.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
IBM Granite è la nostra famiglia di modelli AI aperti, efficienti e affidabili, su misura per le aziende e ottimizzati per scalare le applicazioni di AI. Esplora le opzioni di linguaggio, codice, serie temporali e guardrail.
Scopri come l'elaborazione del linguaggio naturale può aiutarti a conversare in modo più naturale con i computer.
Abbiamo intervistato 2.000 organizzazioni in merito alle loro iniziative di AI per scoprire cosa funziona, cosa non funziona e come giocare d'anticipo.
Esplora il sito web di IBM Developer per accedere a blog, articoli, newsletter e per saperne di più sull'AI incorporabile di IBM.
Impara i concetti fondamentali e sviluppa le tue competenze con laboratori pratici, corsi, progetti guidati, prove e molto altro.