Cos'è l'elaborazione del linguaggio naturale (NLP)?

L'elaborazione del linguaggio naturale (NLP) consente ai computer di interpretare il linguaggio umano.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire l'elaborazione del linguaggio naturale (NLP)
  • Scopri come funziona NLP
  • Confrontare l'elaborazione del linguaggio naturale con altri tipi di intelligenza artificiale (IA)

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è l'elaborazione del linguaggio naturale (NLP)?

L'elaborazione del linguaggio naturale (NLP) è un metodo che i programmi informatici possono utilizzare per interpretare il linguaggio umano. L'elaborazione del linguaggio naturale è un tipo di intelligenza artificiale (IA). I modelli NLP moderni sono per lo più sviluppati tramite il machine learning e attingono anche al campo della linguistica, ovvero lo studio del significato del linguaggio.

Tutti i computer possono interpretare comandi e istruzioni in linguaggi compatibili con i computer. Ad esempio, un computer (in particolare un'applicazione browser) può comprendere e interpretare codice JavaScript come:


window.addEventListener("scroll", popup);

function popup() {
window.alert("Hello, world!");
}

Ma non è in grado di comprendere e interpretare testi in linguaggio naturale come:


Se l'utente scorre la pagina, mostra un avviso che dice "Hello, world!"

Tuttavia, un programma per computer dotato di elaborazione del linguaggio naturale potrebbe essere in grado di comprendere la frase di cui sopra, anche se non riesce a eseguire il comando.

Sebbene i linguaggi di programmazione siano il modo migliore per impartire comandi ai computer, l'elaborazione del linguaggio naturale consente ai programmi per computer di svolgere un'ampia gamma di attività utilizzando il linguaggio umano, sia parlato che scritto. Ad esempio, può aiutare a elaborare grandi raccolte di dati di registrazioni vocali e testi scritti, automatizzare le interazioni con gli utenti umani o interpretare le query degli utenti.

Altri usi dell'elaborazione del linguaggio naturale includono:

  • Analisi del sentiment: l'elaborazione del linguaggio naturale può aiutare a interpretare pagine e pagine di commenti degli utenti, post sui social media o richieste del servizio clienti
  • Assistenti virtuali: l'elaborazione del linguaggio naturale è fondamentale per comprendere le richieste degli utenti di assistenti come Siri, Alexa o Cortana
  • Motori di ricerca: l'elaborazione del linguaggio naturale aiuta i motori di ricerca a comprendere meglio l'intento di ricerca alla base sia di query semplici di una parola che di query digitate come frasi o domande, oltre a interpretare errori di ortografia o altri errori umani nelle query
  • Traduzione: l'elaborazione del linguaggio naturale può aiutare a comprendere e tradurre i contenuti da una lingua all'altra
  • Moderazione dei contenuti: l'elaborazione del linguaggio naturale può aiutare a segnalare contenuti potenzialmente dannosi o discutibili interpretando il significato del testo generato dall'utente

Come funziona l'elaborazione del linguaggio naturale (NLP)?

L'elaborazione del linguaggio naturale utilizza il machine learning per analizzare statisticamente i contenuti generati dall'uomo e imparare a interpretarli. Durante il processo di addestramento, ai modelli NLP vengono forniti esempi di parole e frasi nel contesto, insieme alle loro interpretazioni. Ad esempio, un modello NLP potrebbe non capire quando la parola "arancio" indica il colore anziché il frutto. Ma dopo aver ricevuto migliaia di esempi, frasi come "Ho mangiato un arancio" o "Questa macchina è arancio", il modello può iniziare a comprendere la parola e a interpretare correttamente la differenza tra i suoi significati.

Data la complessità e le incoerenze del linguaggio umano, l'elaborazione del linguaggio naturale si basa spesso sul deep learning, che è un tipo più potente di machine learning. I modelli di deep learning possono elaborare dati grezzi non etichettati, sebbene necessitino di grandi quantità di dati per essere addestrati correttamente. Il deep learning richiede anche una grande potenza di elaborazione.

Cos'è la pre-elaborazione della NLP?

La pre-elaborazione NLP è la preparazione del testo non elaborato per l'analisi da parte di un programma o di un modello di machine learning. La pre-elaborazione NLP è necessaria per inserire il testo in un formato che i modelli di deep learning possano analizzare più facilmente.

Esistono diversi metodi di pre-elaborazione NLP che vengono utilizzati insieme. I principali sono:

  • Conversione in minuscolo: in termini di significato di una parola, c'è poca differenza tra maiuscole e minuscole. Pertanto, convertire tutte le parole in minuscolo è più efficiente perché molti programmi per computer fanno distinzione tra maiuscole e minuscole e potrebbero trattare inutilmente le versioni maiuscole delle parole.
  • Stemming: riduce le parole alla loro radice o "stem" rimuovendo desinenze come "-ing" o "-tion" (ad esempio "transporting" e "transportation" diventano entrambi "transport").
  • Lemmatizzazione: questa tecnica di NLP riduce le parole alla forma primaria che potrebbe essere trovata in un dizionario. I nomi plurali o possessivi diventano singolari: per esempio, "neighbor's", "neighbors'" e "neighbors" diventano tutti "neighbor". I verbi diventano la loro forma non coniugata: "andato" e "va" diventano "andare".
  • Tokenizzazione: suddivide il testo in parti più piccole che indicano il significato. Le parti sono solitamente composte da frasi, singole parole o sotto-parole (un esempio di sotto-parola è il prefisso "un-").
  • Rimozione delle stop word: molte parole sono importanti per la grammatica o per la chiarezza quando le persone parlano tra loro, ma non aggiungono molto significato a una frase e non sono necessarie per elaborare il linguaggio in un programma per computer. Tali parole sono dette "stop word" nel contesto della NLP e la rimozione delle stop word le elimina dal testo. Ad esempio, nella frase "Sono andato all'università per quattro anni", le parole "all" e "per" sono essenziali affinché la frase risulti comprensibile all'orecchio umano, ma non necessarie per trasmettere un significato. La versione con rimozione delle stop word potrebbe essere: "Sono andato università quattro anni".

Qual è la differenza tra l'elaborazione del linguaggio naturale e i modelli linguistici di grandi dimensioni (LLM)?

Un modello linguistico di grandi dimensioni (LLM) è un tipo di modello di machine learning in grado di comprendere il testo generato dall'uomo e generare output dal suono naturale. Gli LLM, come l'ampiamente utilizzato ChatGPT, vengono addestrati su set di dati di testo molto grandi.

Esiste una certa sovrapposizione tra i termini NLP e LLM: entrambi utilizzano il machine learning, set di dati di grandi dimensioni e addestramento per interpretare il linguaggio umano. In effetti, alcune fonti definiscono un LLM come un tipo di NLP.

Tuttavia, gli LLM differiscono dai modelli NLP in diversi modi:

  • L'elaborazione del linguaggio naturale viene solitamente addestrata per un'attività specifica, mentre i modelli linguistici di grandi dimensioni hanno un'ampia gamma di usi
  • L'elaborazione del linguaggio naturale fornisce approfondimenti e interpretazioni, mentre i modelli linguistici di grandi dimensioni producono testo statisticamente rilevante ma potrebbero non trasmettere una comprensione del significato sottostante (sebbene molti LLM avanzati possano facilmente dare l'impressione di farlo)
  • Poiché hanno una gamma così ampia di usi, i modelli linguistici di grandi dimensioni richiedono molti più dati e più addestramento rispetto all'elaborazione del linguaggio naturale

Ad esempio, un modello NLP sarebbe più utile per l'analisi del sentiment, mentre un LLM funzionerebbe bene se incorporato in un chatbot che interagisce con i clienti. Oppure, un modello NLP potrebbe aiutare un motore di ricerca a interpretare la query di un utente e generare risultati di ricerca pertinenti, mentre un LLM potrebbe scrivere la propria risposta alla query basata sull'analisi statistica di contenuti rilevanti preesistenti.

NLP e LLM e IA generativa

L'elaborazione del linguaggio naturale (NLP) è diversa anche dall'IA generativa, sebbene siano correlate. L'IA generativa è un modello di deep learning in grado di generare testo, audio, video, immagini o codice. I modelli NLP, al contrario, spesso non sono progettati per generare testo. I modelli linguistici di grandi dimensioni, invece, sono un tipo di IA generativa in quanto possono produrre testo in risposta a delle query.

In che modo Cloudflare consente lo sviluppo di modelli NLP?

Cloudflare consente agli sviluppatori di eseguire deep learning avanzato su GPU in tutto il mondo, offrendo loro la potenza di calcolo necessaria per addestrare modelli di intelligenza artificiale con una latenza minima. E Cloudflare R2 è un metodo di archiviazione conveniente per l'enorme quantità di dati su cui deve essere addestrata l'elaborazione del linguaggio naturale basata sul deep learning. Scopri di più su Cloudflare per l'intelligenza artificiale.