Skip to main content
Dreamforce si terrà a San Francisco dal 17 al 19 settembre. Registrati adesso e risparmia il 20% utilizzando il codice DF24TRAIL20

Conoscere l'elaborazione del linguaggio naturale

Obiettivi di apprendimento

Al completamento di questa unità, sarai in grado di:

  • Descrivere in cosa consiste l'elaborazione del linguaggio naturale.
  • Parlare degli utilizzi dell'elaborazione del linguaggio naturale nella vita quotidiana.
  • Spiegare come si è evoluta dagli anni Cinquanta.
  • Distinguere tra elaborazione del linguaggio naturale, comprensione del linguaggio naturale e generazione del linguaggio naturale.

Prima di iniziare

Questo badge contiene termini come reti neurali e deep learning, che sono descritti in dettaglio nei badge Nozioni fondamentali sull'intelligenza artificiale e Nozioni di base sull'IA generativa. Ti consigliamo di ottenere prima quei badge.

Che cos'è l'elaborazione del linguaggio naturale

L'elaborazione del linguaggio naturale, o NLP (Natural Language Processing), è un campo dell'IA (Intelligenza Artificiale) che associa informatica e linguistica per insegnare ai computer a capire, interpretare e generare il linguaggio umano in un modo che sia comprensibile e utile all'uomo.

L'NLP aiuta i computer a eseguire attività utili come comprendere il significato di frasi, riconoscere dettagli importanti nel testo, tradurre le lingue, rispondere a domande, riassumere un testo e generare risposte che somigliano a risposte umane.

L'NLP è già talmente presente nella vita di ogni giorno che in genere non ci accorgiamo quando interagiamo con essa o se esegue delle azioni per noi. Per esempio, forse l'app di email o di scrittura di documenti che usi ti suggerisce automaticamente la parola o il sintagma successivi mentre scrivi. Magari chiedi a un assistente virtuale, come Siri, di ricordarti di annaffiare le piante tutti i martedì. Oppure chiedi ad Alexa informazioni sull'ultimo grande terremoto in Cile per la ricerca di scienze di tua figlia.

I chatbot con cui comunichi quando contatti l'assistenza clienti di un'azienda usano l'NLP, così come l'app di traduzione che usi per ordinare al ristorante quando sei all'estero. Anche il rilevamento dello spam, le tue preferenze sulle notizie online e così via utilizzano l'NLP.

Brevissima storia dell'NLP

Cominciamo col dire che l'NLP non è una novità. Di fatto risale al 1950, quando i ricercatori iniziarono a usare i computer per comprendere e generare linguaggio umano. Uno dei primi importanti contributi all'NLP fu il test di Turing. Sviluppato da Alan Turing, questo test misura la capacità di una macchina di dare risposte, a qualsiasi domanda, che non siano distinguibili da quelle di un essere umano. Di lì a poco vennero sviluppati i primi sistemi di traduzione automatica. Si trattava di esperimenti di traduzione linguistica basati su frasi e sintagmi che non ebbero molto seguito in quanto si affidavano a schemi linguistici molto specifici, come sintagmi o periodi predefiniti.

Un computer tipo mainframe degli anni Cinquanta azionato da un informatico

Negli anni 60 i ricercatori stavano già sperimentando sistemi basati su regole che consentivano agli utenti di chiedere al computer di eseguire attività o di conversare.

Negli anni 70 e 80 si passò ad approcci più sofisticati basati sulla conoscenza, che utilizzavano le regole linguistiche, il ragionamento basato su regole e la conoscenza della materia per compiere attività come eseguire dei comandi o diagnosticare una patologia.

Gli approcci statistici (cioè l'apprendimento dai dati) per l'NLP divennero popolari negli anni 90 e nei primi anni 2000 e portarono a progressi nel riconoscimento vocale, nella traduzione automatica e negli algoritmi dei computer. Nello stesso periodo, l'introduzione del World Wide Web del 1993 mise a disposizione della ricerca sull'NLP un'enorme quantità di dati basati su testo.

Una pila di documenti e libri

A partire dal 2009 circa, lo sviluppo nel campo dell'NLP è stato dominato dalle reti neurali e dal deep learning. Le aree dell'NLP della traduzione e della generazione di linguaggio naturale, tra cui ChatGPT, introdotto di recente, sono grandemente migliorate e continuano a evolversi rapidamente.

Nota

Nota: 

Per ulteriori informazioni su questi e altri importanti progressi relativi all'NLP, consulta la sezione Risorse.

Il linguaggio umano è un linguaggio "naturale"

Ma cos'è il linguaggio naturale? Con questo termine si fa riferimento al modo di comunicare degli umani, con parole e frasi. È il linguaggio che usiamo nelle conversazioni, quando leggiamo, scriviamo o ascoltiamo. Il linguaggio naturale è il modo in cui trasferiamo le informazioni, esprimiamo le idee, facciamo domande, raccontiamo storie e comunichiamo tra noi. Sebbene vengano sviluppati modelli di NLP per molte lingue diverse, questo modulo si concentra sull'NLP per la lingua inglese.

Se hai completato il badge Nozioni fondamentali sull'intelligenza artificiale sai cosa si intende per dati non strutturati e dati strutturati. Questi termini sono importanti anche nell'NLP. Il linguaggio naturale, ovvero il nostro modo di parlare, è composto da dati non strutturati, vale a dire che nonostante noi umani in genere riusciamo a trarre significato da quei dati, essi non forniscono al computer il livello di dettaglio necessario per trarne un senso. Il passaggio seguente, che descrive un cane adottabile di un canile, è un esempio di dati non strutturati.

Tala è un husky femmina di 5 anni, sterilizzata, di 30 chili che adora giocare al parco e fare lunghe escursioni. È molto dolce con i bambini ed è fantastica con i gatti. Questa creatura dolcissima dagli occhi blu ha un mantello a pelo lungo grigio e bianco che va spazzolato regolarmente. Puoi fissare un appuntamento per conoscere Tala chiamando il rifugio Troutdale.

Affinché il computer possa comprendere cosa intendiamo dire, queste informazioni devono essere ben precise e organizzate, un po' come potremmo trovarle in un foglio di lavoro o in un database. È quello che chiamiamo dati strutturati. Quali informazioni sono incluse nei dati strutturati e il modo in cui sono formattate viene determinato dall'algoritmo usato dall'applicazione di destinazione finale. Per esempio, i dati per un'app di traduzione sono strutturati in modo diverso rispetto ai dati per un chatbot. Ecco come potrebbero apparire i dati del testo precedente in forma di dati strutturati per un'app che abbina i cani alle persone che desiderano adottarne uno.

  • Nome: Tala
  • Età: 5
  • Sterilizzazione o castrazione: Sterilizzata
  • Sesso: Femmina
  • Razza: Husky
  • Peso: 30 kg
  • Colore: Grigio e bianco
  • Colore degli occhi: Blu
  • Buona con i bambini: Sì
  • Buona con i gatti: Sì
  • Attività preferite: Parchi, escursioni
  • Luogo: Troutdale

Comprensione del linguaggio naturale e generazione di linguaggio naturale

L'NLP odierno si suddivide in due branche: la comprensione del linguaggio naturale (NLU, Natural Language Understanding) e la generazione di linguaggio naturale (NLG, Natural Language Generation). L'elaborazione dei dati da non strutturati a strutturati è definita comprensione del linguaggio naturale (NLU, Natural Language Understanding). La NLU usa molte tecniche per interpretare la lingua scritta o parlata allo scopo di comprendere significato e contesto. Le vedremo nella prossima unità.

L'elaborazione dei dati in senso inverso, da strutturati a non strutturati, è definita generazione di linguaggio naturale (NLG, Natural Language Generation). La NLG è ciò che consente ai computer di generare un linguaggio simile a quello umano. La NLG comporta lo sviluppo di algoritmi e modelli che convertono le informazioni o i dati strutturati in testo scritto o parlato sensato, contestualizzato correttamente e simile al linguaggio naturale. Include anche la generazione di codice in un linguaggio di programmazione, come la generazione di una funzione di Python per ordinare le stringhe.

In passato le attività di NLU e NLG utilizzavano rappresentazioni linguistiche strutturate esplicite, come i "parse tree" o alberi di derivazione. Mentre la NLU e la NLG sono ancora fondamentali per l'NLP, oggi la maggior parte delle app, degli strumenti e degli assistenti virtuali con cui comunichiamo sono evoluti e utilizzano il deep learning o le reti neurali per eseguire le attività dall'inizio alla fine. Per esempio, un sistema di traduzione automatica neurale può tradurre una frase, poniamo, dal cinese all'inglese direttamente, senza creare esplicitamente alcun tipo di struttura intermedia. Le reti neurali riconoscono schemi, parole e sintagmi per rendere l'elaborazione del linguaggio esponenzialmente più rapida e più accurata dal punto di vista contestuale.

Nella prossima unità scoprirai di più sui nostri metodi e le nostre tecniche di elaborazione del linguaggio naturale che consentono ai computer di comprendere ciò che diciamo e rispondere di conseguenza.

Risorse