flex-height
text-black

Due data scientist intenti ad aggiornare il codice per l'elaborazione del linguaggio naturale

Cos'è l'elaborazione del linguaggio naturale?

L'elaborazione del linguaggio naturale è una forma di apprendimento automatico che consente alle persone di comunicare con l'intelligenza artificiale (AI) utilizzando il linguaggio umano.

Panoramica dell'elaborazione del linguaggio naturale

Panoramica e definizione dell'NLP

L'elaborazione del linguaggio naturale (NLP) è un affascinante ramo dell'AI che consente alle persone e alle macchine di comunicare tra loro utilizzando il linguaggio corrente. Il modo in cui si impartiscono comandi vocali a Siri o si ottengono traduzioni su Google sono entrambi esempi di NLP in azione che dimostrano la capacità del software di comprendere e rispondere al linguaggio umano.

Come si relaziona l'NLP con l'AI?

La maggior parte delle persone non sono programmatori o utenti software esperti, ed è proprio questo uno dei motivi dell'utilità dell'elaborazione del linguaggio naturale. Il software può avere una curva di apprendimento ripida, ma l'NLP consente a tutti di utilizzare software anche complessi senza dover diventare esperti. Con l'NLP puoi infatti descrivere semplicemente ciò che desideri a un dispositivo AI nello stesso modo in cui lo spiegheresti ad un amico.

Il termine AI copre una vasta gamma di tecnologie, ma il ramo NLP si concentra sulle sfide del linguaggio umano. Per essere veramente utili, le soluzioni NLP devono fare di più che limitarsi a cogliere le parole che vengono dette. I sistemi NLP devono comprendere il contesto e l'intento dietro le parole. A tale scopo, gli sviluppatori di NLP utilizzano anche altre tecnologie di AI come il machine learning e il deep learning.

Perché l'elaborazione del linguaggio naturale è importante?

L'elaborazione del linguaggio naturale consente di utilizzare tecnologie che altrimenti potrebbero essere difficilmente accessibili. Permette inoltre ai computer di comprendere il testo e la parola a un livello irraggiungibile prima dell'avvento dell'NLP. Ecco alcuni dei vantaggi dell'LNP:

L'NLP aiuta le persone ad essere più produttive

In ambito lavorativo, l'elaborazione del linguaggio naturale può aumentare l'efficienza consentendo di utilizzare l'automazione per attività ripetitive o che richiedono tempo. Ad esempio, un reparto di assistenza clienti potrebbe utilizzare chatbot basati su NLP per gestire le richieste di routine dei clienti. Oppure, un reparto contabilità potrebbe utilizzare sistemi abilitati per l'NLP per estrarre informazioni chiave dalle fatture e dalle ricevute e utilizzarle per compilare database o fogli di calcolo.

L'automazione dell'inserimento e dell'elaborazione dei dati offre anche altri vantaggi, consentendo, ad esempio, di ridurre il rischio di errore umano e velocizzare i flussi di lavoro. Se il sistema è in grado di comprendere il linguaggio umano con un livello sufficiente per occuparsi delle attività di base, l'utente può concentrarsi su task a valore aggiunto incrementando la produttività.

L'NLP migliora la customer experience

Se nel tentativo di raggiungere telefonicamente un'azienda, rischi di perderti nei meandri di una struttura gerarchica confusa, significa che il sistema di risposta vocale interattivo utilizzato non è stato addestrato accuratamente. Al contrario, un chatbot NLP ben addestrato può offrire ai clienti un'esperienza più intuitiva. Un sito di e-commerce con un sistema abilitato per l'NLP, ad esempio, può analizzare le pagine visitate da un cliente alla ricerca di un determinato prodotto. Comprendendo a quali prodotti è interessato, il sistema sarà in grado di suggerire al cliente i prodotti che potrebbero rispondere alle sue aspettative.

I chatbot del servizio clienti basati su NLP migliorano l'experience rispondendo alle domande o risolvendo prontamente eventuali problemi. Questi chatbot possono essere configurati in modo da poter disporre dello storico completo delle interazioni di un cliente e poter riconoscere i problemi con i quali il cliente ha avuto a che fare in passato.

L'NLP crea nuovi insight

Quando invii un'e-mail a un'azienda per fare una domanda, offrire consigli o inserire un reclamo, potresti avere la sensazione che il tuo messaggio non verrà mai nemmeno letto. Il tuo dubbio potrebbe essere legittimo, perché poche aziende hanno il tempo di leggere ogni singolo feedback che ricevono. Ma l'AI abilitata per l'NLP ce l'ha. È in grado di passare al setaccio enormi set di dati, ad esempio le conversazioni dei clienti sui siti web. Fornendo una sintesi attendibile di tali conversazioni, mette l'azienda nelle condizioni di risolvere il problema.

Come funziona l'elaborazione del linguaggio naturale?

Ecco come l'NLP consente il dialogo tra esseri umani e macchine. I passaggi descritti di seguito si riferiscono alla lingua scritta. L'NLP per la lingua parlata è un po' diverso, pur seguendo gli stessi principi generali.

Usiamo questa frase inglese come esempio per mostrare come funziona il processo:

“I like demonstrating how natural language processing works.”

L'algoritmo inizia con la pre-elaborazione del testo.

Pre-elaborazione del testo

La pre-elaborazione del testo consiste nella semplificazione del testo creato dall'utente così da facilitare il compito di elaborazione del linguaggio umano da parte degli algoritmi NLP.

La tokenizzazione consiste nel suddividere le parole e la punteggiatura della frase in token. La suddivisione in token è importante perché gli algoritmi NLP rielaborano in maniera più efficace i singoli token rispetto al testo complessivo quando devono svolgere attività come l'indicizzazione o la ricerca. La frase campione contiene otto parole: “I like demonstrating how natural language processing works.” Include anche un punto, quindi si ottengono otto token per le parole e uno per il punto, per un totale di nove token.

Il processo di lowercasing si riferisce alla conversione di tutti i token in token minuscoli per semplificare il set di dati. Nella frase di esempio, uno dei token era "I". Per evitare ambiguità e aumentare l'efficienza, la fase di lowercasing converte il token dal maiuscolo "I" al minuscolo "i". Le regole per la conversione da maiuscolo a minuscolo diventano più complicate in altre parti del processo.

Un altro modo di semplificare il testo per l'elaborazione del linguaggio naturale è quello di rimuovere le parole non significative. Nella frase di esempio, parole come “i” e “how” sarebbero tipicamente classificate come parole non significative. Quando l'algoritmo le rimuove, restano sette token, che sono “like”, “demonstrating”, “natural”, “language”, “processing”, “works” e “.”.

Anche con i sette token rimasti c’è spazio per una maggiore semplificazione. Lo stemming consiste nella riduzione della forma inflessa di una parola a un cosiddetto "tema" o forma radice. Il token “demonstrating” ha come radice “demonstr”, allo stesso modo “natural” si forma da “natur,” quindi il modello sostituisce i token originali con le radici “demonstr” e “natur”.

Una parola può avere significati diversi in diversi contesti, e la lemmatizzazione è il processo di determinazione del giusto significato in un determinato contesto. La frase di esempio include "like", che può significare "piacere" o "simile a". In questo caso, la lemmatizzazione comporterebbe l’assegnazione del contesto in cui “like” significa “piacere”.

Rappresentazione testuale

Il passo successivo è la rappresentazione testuale che consiste nel convertire le parole in un formato numerico che la macchina può elaborare. Oltre ai numeri, il testo può essere convertito in vettori o incorporamenti, formati più complessi che forniscono informazioni come il contesto.

I computer sono molto bravi a contare e la misurazione BoW conta quante volte una parola appare in un documento. Se in un documento compaiono più frequentemente le parole squadra, gioco e punteggio, ad esempio, è più probabile che il contesto sia sportivo. Nella frase di esempio è presente una sola istanza di ogni parola. La rappresentazione BoW mostrerebbe che ogni parola ricorre una sola volta come segue:

{“i”: 1, “like”: 1, “demonstrating”: 1, “how”: 1, “natural”: 1, “language”: 1, “processing”: 1, “works”: 1}

La funzionalità TF-IDF utilizza una formula basata sulla frequenza con cui una parola appare in un set di dati complessivo composto da molti documenti per determinare l'importanza della parola. Più frequentemente compare una parola, minore è il suo peso TF-IDF, e meno importante è in un singolo documento. Parole come “the” e “a” appaiono abbastanza spesso, e quindi sono meno importanti. La rappresentazione dei pesi delle parole della frase di esempio in questo tipo di formato dimostrerebbe che le parole più comuni hanno un peso più basso e le parole non comuni hanno un peso più alto:

{“i”: 0.1, “like”: 0.1, “demonstrating”: 0.3, “how”: 0.1, “natural”: 0.2, “language”: 0.2, “processing”: 0.5, “works”: 0.1}

Analisi del testo

È la fase in cui l'algoritmo NLP estrae il significato dal testo. Con questa funzione l'algoritmo riesce a produrre risposte appropriate alla query dell'utente.

Dopo aver condotto alcune analisi quantitative, gli algoritmi NLP cercano le parole che identificano qualcosa di riconoscibile. In inglese, ad esempio, la parola mela si riferisce a un tipo di frutto, ma la parola Apple si riferisce a una specifica azienda, e un algoritmo NLP ha bisogno di un modo per riconoscere la differenza. La frase di esempio, "I like demonstrating how natural language processing works", include l'espressione "elaborazione del linguaggio naturale", che le persone potrebbero riconoscere come denominazione di una tecnologia di AI. La rappresentazione sarebbe la seguente:

Output NER: [("elaborazione in linguaggio naturale", "tecnologia")]

Alcuni set di dati, come il catalogo delle parti di un tosaerba, potrebbero non avere un tono emotivo significativo, mentre il tono emotivo di una recensione cinematografica potrebbe essere molto marcato. Se un set di dati possiede un certo tono, l'analisi del sentiment è la fase dell'elaborazione del linguaggio naturale in cui questo viene colto. Per la frase di esempio, l'analisi del sentiment potrebbe essere la seguente:

Output di sentiment: positivo

Analisi sintattica (parsing)

Ogni frase ha una struttura grammaticale. Il parsing è il processo di analisi di questa struttura con l'identificazione di sostantivi, verbi, soggetti, ecc. Poiché le diverse lingue utilizzano sintassi diverse, l'analisi sintattica è vitale per la traduzione automatica. Per la frase di esempio, l'analisi sintattica potrebbe generare questo risultato:

Albero di sintassi: (ROOT (S (NP (PRP I)) (VP (VBP like) (S (VP (VBG demonstrating) (SBAR (WHADVP (WRB how)) (S (NP (NNP Natural) (NNP Language) (NNP Processing)) (VP (VBZ works)))))))))

A seconda dell'algoritmo specifico, potrebbero servire fasi supplementari. Il risultato è una conversazione in cui la macchina sembra capire le parole e le intenzioni e risponde in un linguaggio naturale.

Alcuni esempi di attività di elaborazione del linguaggio naturale:

Controllo di un drone con comandi vocali

Anche la tecnologie più potenti hanno un valore limitato se non si sa come usarle. L'elaborazione del linguaggio naturale rende la tecnologia più accessibile. Riduce la necessità di conoscenze tecniche specializzate per trarre vantaggio da software o hardware avanzati. Gli utenti possono interagire con i sistemi abilitati per l'NLP conversando in modo naturale invece di utilizzare comandi complessi, codici o controlli fisici.

Ad esempio, un'applicazione di controllo a distanza per piccoli droni può permetterti di dire semplicemente a un drone di eseguire un movimento, ad esempio un flip in aria, senza dover imparare la complessa serie di comandi altrimenti necessaria. La capacità di utilizzare semplici comandi vocali consente a un maggior numero di persone di utilizzare la tecnologia.

Insight più fruibili per la gestione del brand

Le persone esprimono i loro pensieri e le loro preferenze ogni giorno, e le aziende hanno accesso a gran parte di questi dati. Le aziende utilizzano già i dati, ad esempio i fatturati, per comprendere alcuni aspetti del comportamento dei clienti. Con le soluzioni di elaborazione del linguaggio naturale, i computer possono anche trasformare le conversazioni sui social media e le recensioni dei clienti online in informazioni fruibili.

Gli insight prodotti con l'NLP sono informazioni diverse rispetto a quelle che si ricavano attraverso i metodi tradizionali di analisi delle vendite. Mentre l'azienda sfrutta i dati di vendita per acquisire insight operativi come le previsioni o le informazioni sulla gestione delle risorse, l'analisi basata sull'NLP può dimostrarsi persino più efficace se applicata per finalità di gestione del brand o di miglioramento della customer experience.

Prevenzione del sovraccarico di informazioni

Se utilizzi un indirizzo e-mail per lavoro, sarai inevitabilmente sommerso di informazioni. Un dipendente medio riceve più di 120 e-mail al giorno, quindi non sorprende che circa il 60% dei dipendenti ignorino semplicemente le e-mail interne dell'azienda. Tuttavia, se la tua applicazione di posta elettronica possiede funzionalità NLP, potresti sfruttarle per evitare il sovraccarico di informazioni. Affidati all'NLP per filtrare, classificare e prioritizzare le tue e-mail facendo in modo che quelle più importanti ricevano l'attenzione necessaria.

Allo stesso modo, i sistemi NLP integrati nel software di collaborazione possono trascrivere e riassumere le riunioni e persino individuare e i punti chiave affrontati durante un'assemblea o relazionare sulle linee di azione assegnate. Questo tipo di automazione abilitata dall'NLP consente di risparmiare tempo e aumentare l'efficienza organizzativa complessiva.

Casi di utilizzo dell'elaborazione del linguaggio naturale

L'NLP sta trasformando tutti i settori industriali. Le applicazioni NLP potenziano l'efficienza dei dipendenti, migliorano la customer experience e incentivano un processo decisionale strategico che coinvolge un'ampia gamma di settori. Di seguito sono riportati alcuni casi di utilizzo degni di nota per l'NLP in diversi settori.

Settore industriale
Vantaggi dell'NLP
Produzione automobilistica

Analisi dei difetti: identificazione dei difetti comuni mediante l'analisi degli appunti dei tecnici, dei reclami dei clienti e delle richieste di garanzia

Comunicazione con i fornitori: approvvigionamento tempestivo dei materiali tramite l'analisi dei messaggi di posta elettronica e dei documenti dei fornitori

Finance

Rilevamento delle frodi: identificazione di anomalie sintomatiche di situazioni fraudolente attraverso il monitoraggio e l'analisi dei modelli di transazione

Accelerazione del commercio: automazione delle operazioni commerciali in base all'analisi dei dati in tempo reale

Settore sanitario

Documentazione clinica: trascrizione e gestione di note cliniche

Analisi dei dati del paziente: diagnosi informate tramite l'identificazione di pattern nelle cartelle cliniche del paziente

Affari legali

Analisi dei contratti e controlli di conformità: automazione delle revisioni dei documenti per verificarne la conformità normativa e di altro genere

Automazione dell'esibizione ai fini legali: isolamento rapido delle informazioni pertinenti da grandi quantità di documenti

Assicurazione sanitaria e sulla vita

Automazione dell'elaborazione delle richieste: estrazione e convalida delle informazioni dai moduli di richiesta e dai referti medici inviati

Valutazione del rischio: valutazioni del rischio più accurate con l'estrazione automatica dei dati dalle cartelle cliniche e dai questionari sullo stile di vita

Petrolio e gas

Analisi dei registri di manutenzione: analisi degli appunti degli addetti alla manutenzione per prevedere e prevenire guasti alle attrezzature

Interpretazione dei dati geologici: estrazione e riepilogo dei dati da fonti quali report geologici, registri delle perforazioni e ricerche

Settore immobiliare

Ottimizzazione del catalogo degli immobili: creazione di descrizioni coinvolgenti basate sulle caratteristiche dell'immobile

Qualificazione dei lead: analisi delle domande via e-mail e online per stabilire le priorità in base alla disponibilità all'acquisto

Commercio al dettaglio

Ottimizzazione dello stock: previsione della domanda attraverso l'analisi dei dati di vendita

Consigli di prodotto personalizzati: purchase experience più personalizzate basate sull'analisi dello storico degli acquisti

Approcci dell'elaborazione del linguaggio naturale

Gli approcci dell'elaborazione del linguaggio naturale possono essere suddivisi sostanzialmente in due grandi categorie. La prima delinea un approccio basato sulle regole, la seconda si avvale del machine learning.

NLP basata su regole

Questo approccio punta a identificare un insieme di regole linguistiche che un computer può seguire per comprendere e generare linguaggio umano in modo attendibile. È pertanto fortemente incentrato sugli aspetti linguistici della linguistica computazionale. Gli approcci basati sulle regole possono essere altamente efficaci se li si utilizza per set di dati con un linguaggio controllato e prevedibile, ad esempio per documenti legali o manuali tecnici.

NLP basata sul machine learning

Un approccio all'NLP basato sull'apprendimento automatico utilizza una varietà di metodi statistici e approcci algoritmici. Piuttosto che fissare regole a monte, l'obiettivo è creare le condizioni per consentire al computer di imparare a comunicare sulla base di set di dati sempre più sostanziosi. L'idea è che il computer arrivi ad elaborare una quantità sufficiente di esempi di linguaggio umano da consentirgli di identificare gli schemi più caratteristici di un linguaggio umano di qualità. Se si dispone di set di dati di dimensioni sufficientemente grandi, questo tipo di approccio NLP basato sul machine learning può dimostrarsi notevolmente flessibile ed estremamente efficace.

Breve storia dell'elaborazione del linguaggio naturale

L'elaborazione del linguaggio naturale come ramo dell'intelligenza artificiale inizia a svilupparsi negli anni quaranta. Negli anni Ottanta e Novanta, le soluzioni di calcolo diventano più potenti e il machine learning inizia a maturare. Più recentemente, la comparsa del deep learning, delle reti neurali e di varie forme di AI generativa ha completamente trasformato l'elaborazione del linguaggio naturale.

Eventi nell'evoluzione dell'NLP

Panoramica delle tecnologie di elaborazione del linguaggio naturale

L'elaborazione del linguaggio naturale è un termine ombrello che copre una gamma di tecnologie e tecniche che consentono alle macchine di comprendere e generare linguaggio umano. Ognuna delle tecnologie che supportano l'NLP soddisfa almeno una di queste due funzionalità.

Sottocategorie dell'NLP

L'elaborazione del linguaggio naturale coinvolge una serie di tecnologie e tecniche. Lo scopo primario resta, tuttavia, quello di consentire alle macchine di comprendere e generare linguaggio umano. Queste due capacità sono le componenti principali dell'elaborazione del linguaggio naturale.

Il ruolo del machine learning nell'NLP

Cosa potrebbe fare un computer se potesse insegnare nuove competenze a sé stesso? Il machine learning consiste proprio in questo. L'apprendimento automatico si realizza quando un computer impara a svolgere attività da solo, senza istruzioni specifiche.

Nell'ambito dell'NLP, il machine learning interviene creando modelli che consentono sia la comprensione che la generazione del linguaggio naturale. Utilizza tecniche come l'apprendimento supervisionato i cui modelli di addestramento si basano su dati etichettati e l'apprendimento non supervisionato, ossia con modelli di addestramento basati su dati privi di etichette.

Il ruolo del deep learning nell'NLP

Il deep learning è una forma specifica di machine learning. Utilizza reti neurali che hanno più strati, ecco spiegato l'aggettivo "deep", profondo, presente nel nome. Il termine "learning", apprendimento, si riferisce all'uso di algoritmi che identificano e quindi convertono pattern complessi in set di dati. L'integrazione del deep learning nell'NLP è importante perché ne ha aumentato l'efficienza nello svolgimento di determinate attività, come le traduzioni, l'analisi del sentiment in un set di dati e la generazione di testi.

Come le reti neurali migliorano l'NLP

Le reti neurali si basano sull'idea che il cervello umano possa essere utilizzato come modello per l'elaborazione dei dati. Esse consentono ai sistemi NLP di mantenere un'accuratezza elevata sia nella comprensione che nella generazione del linguaggio umano. Le reti neurali possono presentare architetture diverse e sono fondamentali per abilitare applicazioni come gli assistenti virtuali, i chatbot o l'analisi del testo automatizzata.

Logo SAP

Scopri cosa può fare l'NLP per la tua azienda

Conosci Joule: il copilot AI di SAP che può aiutarti a risolvere le sfide del business più impegnative in modo più rapido, intelligente e con risultati migliori. Semplicemente parlando.

Avvia la conversazione

Linguistica computazionale e NLP

La linguistica computazionale è il campo di studio che combina informatica e linguistica ponendole al servizio dell'elaborazione del linguaggio naturale e favorendo la creazione di una base teorica che consente al computer di comprendere il linguaggio umano.

Studia la struttura delle frasi e le regole che rendono le frasi grammaticalmente esatte o inesatte.

Come esempio consideriamo la sintassi corretta della frase inglese: “The cat sits on the mat”.

Ora, la stessa frase, ma con la sintassi errata: “Cat the on mat sits.”

Studia il significato del linguaggio, incluso il modo in cui parole e frasi rappresentano oggetti, azioni e idee.

Frase: “The cat is on the mat.”

Interpretazione semantica: il significato è che c’è un gatto fisicamente situato sopra un tappeto.

Studia il modo in cui il contesto influenza l'interpretazione del linguaggio.

Frase: “Can you pass the salt?”

Interpretazione pragmatica: anche se è una domanda sull’abilità (verbo "can"), il contesto dimostra che la frase debba essere interpretata come una richiesta educata affinché qualcuno ti passi il sale.

La linguistica computazionale è importante perché collega i punti tra la teoria linguistica e le applicazioni reali dell'NLP.

Domande frequenti

Perché l'NLP è impegnativa?
L'elaborazione del linguaggio naturale (NLP) è incredibilmente impegnativa a causa dell'ambiguità e della complessità del linguaggio umano. Le parole possono avere più significati a seconda del contesto, la grammatica può presentare infinite sfumature, irregolarità e piccole variazioni nella formulazione possono cambiare drasticamente il significato atteso. E la diversità di lingue, dialetti e sfumature culturali, rende difficile sviluppare modelli universalmente applicabili.
Quali sono i quattro tipi di NLP?

Le 4 principali sottocategorie sono:

1.  La comprensione del linguaggio naturale (NLU), basata sulla capacità dei computer di comprendere il significato e l'intento dietro il linguaggio
2. La generazione del linguaggio naturale (NLG) consente di ottenere testi leggibili dall'uomo a partire da dati strutturati
3. Il riconoscimento vocale converte la lingua parlata in lingua scritta
4. La sintesi vocale converte la lingua scritta (testo scritto) in lingua parlata

Per saperne di più

tags
4187ae8c-cd0e-40c1-9c57-b7f4b964faed:1b3c5a48-ceb7-41ef-9ef4-ed3056aa76d4/80703328-4f70-42b5-bb93-a92442818df8
limit
3
info
publicationDate