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.
Trailcast
Se vuoi ascoltare una registrazione di questo modulo, usa il player qui sotto. Quando hai finito, ricorda di tornare a ciascuna unità, consultare le risorse e completare le valutazioni associate.
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'intelligenza artificiale (IA) che associa informatica e linguistica per insegnare alle app e agli assistenti IA a capire, interpretare e generare il linguaggio umano in un modo che sia comprensibile e utile all'uomo. L'NLP aiuta app, assistenti IA e agenti autonomi 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, molti usano ChatGPT per generare o riassumere un testo oppure per rispondere a domande. Le app di email o scrittura di documenti suggeriscono automaticamente le parole o le frasi successive mentre scrivi. Magari chiedi a un assistente virtuale, come Siri, di fare qualcosa per te, ad esempio di ricordarti di annaffiare le piante tutti i martedì. Potresti anche ricorrere all'aiuto di un agente autonomo per prenotare una vacanza, compresi trasporti e visite guidate nei dintorni della tua destinazione.
Gli agenti 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.

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.

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, sono notevolmente migliorate e continuano a evolversi rapidamente.
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 e 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 sui social media. Ma in che modo l’IA interpreta il linguaggio naturale? Per rispondere a questa domanda, dobbiamo vedere come sono strutturati i dati e le informazioni.
Nota: sebbene siano stati sviluppati modelli di NLP per molte lingue diverse, questo modulo si concentra sull'NLP per la lingua inglese.
Dati strutturati e non strutturati
In passato, affinché un computer potesse comprendere cosa intendevamo dire, le informazioni dovevano essere ben definite 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 dipende dagli algoritmi usati dall'applicazione di destinazione finale e, di solito, richiede ulteriori inserimenti o analisi di dati.
Ecco quale potrebbe essere l'aspetto dei dati relativi a un cane adottabile ospitato in un canile sotto forma di dati strutturati in un database che abbina gli animali da compagnia alle persone che desiderano adottarne uno. Pensa a come l’output di questo genere di dati, ad esempio i risultati di ricerca per un determinato tipo di cani o la descrizione di un sito web, sarebbe basato su formule e limitato a utilizzi specifici.
- Name (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, essere spazzolata
- Luogo: Troutdale
Tuttavia, il linguaggio naturale, ovvero il modo in cui effettivamente parliamo, è non strutturato, vale a dire che mentre noi umani in genere riusciamo a trarne il significato, l’IA ha bisogno di strumenti come la Generazione aumentata di recupero (RAG) per collegare i dati o la knowledge base di un’azienda ai Large Language Model (LLM) allo scopo di comprenderne il senso e migliorare il contesto e l’accuratezza del testo scritto e parlato e degli esiti generati.
Nel paragrafo seguente è riportato un esempio di come le stesse informazioni riguardanti un cane ospitato in un canile, presentate sotto forma di dati non strutturati, possano essere utilizzate dall’IA per restituire risultati molto più significativi dal punto di vista contestuale e conversazionale in molteplici casi d’uso.
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.
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 agli assistenti IA 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 agli assistenti IA di comprendere ciò che diciamo e rispondere di conseguenza.
Risorse
- Guida di Salesforce: Glossario dei termini dell'IA generativa Einstein
- Trailhead: Large Language Model
- Trailhead: Generazione aumentata di recupero (RAG): breve panoramica
- Video di IBM Technology: What is NLP (Natural Language Processing)? (Che cos'è l'elaborazione del linguaggio naturale) IBM Technology
