Comprendere il parsing del linguaggio naturale
Obiettivi di apprendimento
Al completamento di questa unità, sarai in grado di:
- Discutere gli elementi di base del linguaggio naturale.
- Descrivere diverse tecniche importanti usate per il parsing del linguaggio naturale.
- Spiegare in che modo sentiment, intento e analisi del contesto contribuiscono all'NLP.
Elementi di base del linguaggio naturale
Comprendere ed elaborare il linguaggio naturale è una sfida cruciale per i computer. Si tratta, infatti, non solo di riconoscere le singole parole, ma anche di comprendere come sono in relazione tra loro, il contesto e il significato.
Il nostro linguaggio naturale, parlato e scritto, si caratterizza per l'infinita complessità, le sfumature, le ambiguità e gli errori. Nella comunicazione di ogni giorno incontriamo parole con più significati, parole che si pronunciano allo stesso modo ma si scrivono in modo diverso e hanno diverso significato, modificatori messi nel posto sbagliato, errori di ortografia e di pronuncia. Incontriamo persone che parlano velocemente, sottovoce o che impiegano ore per arrivare al punto e persone che usano le strutture del discorso con accenti o dialetti diversi dal nostro.
Prendi per esempio questa frase:
"We saw six bison on vacation in Yellowstone National Park".
Magari sorridi immaginando sei bisonti con occhiali da sole e cappello in posa per un selfie davanti al geyser di Old Faithful, ma più probabilmente capisci cosa intende di fatto il parlante, cioè che è andato in vacanza a Yellowstone e ha visto sei bisonti.
Oppure:
"They swam out to the buoy".
Se si sente questa frase pronunciata fuori contesto, si potrebbe pensare che qualcuno ha raggiunto a nuoto un ragazzo (boy), quando in realtà hanno nuotato fino alla boa. La pronuncia di "boy" (ragazzo) e "buoy" (boa) è leggermente diversa, ma non sempre si riesce a coglierla con chiarezza.
Se gli umani sono capaci di flessibilità e di adattarsi abbastanza facilmente al linguaggio, addestrare un computer a tener conto di questi tipi di sfumature è piuttosto difficile.
Gli elementi del linguaggio naturale in inglese includono:
-
Vocabolario: le parole che usiamo
-
Grammatica: le regole che governano la struttura della frase
-
Sintassi: il modo in cui le parole si combinano per formare delle frasi in base alla grammatica
-
Semantica: il significato di parole, sintagmi e frasi
-
Pragmatica: il contesto e l'intento alla base dell'uso culturale o geografico della lingua
-
Discorso e dialogo: unità più grandi rispetto al sintagma o alla frase, inclusi documenti e conversazioni
-
Fonetica e fonologia: il suono che viene prodotto durante la comunicazione
-
Morfologia: il modo in cui si possono combinare o dissociare parti delle parole per creare di nuove
Parsing del linguaggio naturale
Insegnare a un computer a leggere e a trarre significato dalle parole è un po' come insegnare a leggere a un bambino: entrambi imparano a riconoscere le parole, il loro suono, il significato e la pronuncia. Ma quando un bambino impara a leggere, in genere ha il vantaggio del contesto del racconto, indizi visivi delle illustrazioni e le relazioni con cose che già conosce, come gli alberi e gli animali. I bambini, inoltre, spesso ricevono aiuto e incoraggiamento da lettori esperti che contribuiscono a spiegare ciò che viene appreso. Questi indizi aiutano i nuovi lettori a identificare e attribuire significato alle parole e ai sintagmi, che potranno generalizzare per altre cose che leggeranno in futuro.
Sappiamo che i computer sono intelligenti in un modo diverso dal nostro: per questo motivo, per comprendere gli elementi del linguaggio naturale descritti sopra serve un approccio molto più scientifico. L'NLP utilizza algoritmi e metodi come i Large Language Model (LLM), i modelli statistici, il machine learning, il deep learning e sistemi basati su regole per elaborare e analizzare il testo. Queste tecniche, che nell'insieme sono definite parsing o analisi, comportano la scomposizione del testo scritto o parlato in parti più piccole e la loro classificazione ai fini dell'NLP. Il parsing comprende il parsing sintattico, in cui gli elementi del linguaggio naturale sono analizzati per identificare la struttura grammaticale sottostante, e il parsing semantico, che desume il significato.
Come accennato nell'unità precedente, il linguaggio naturale viene analizzato in modi diversi per corrispondere ai risultati desiderati. Per esempio, il linguaggio naturale analizzato per un'app di traduzione utilizza algoritmi o modelli diversi e viene analizzato in modo diverso rispetto al linguaggio naturale destinato a un assistente virtuale come Alexa.
Il parsing sintattico può includere:
-
Segmentazione: i testi più lunghi sono suddivisi in parti più piccole autonome. La segmentazione in genere viene fatta alla fine di una frase, in corrispondenza di segni di punteggiatura, per organizzare il testo per l'ulteriore analisi.
-
Tokenizzazione: le frasi sono divise in singole parole, dette token. Nella lingua inglese, la tokenizzazione è abbastanza semplice perché le parole sono divise tra loro da spazi. Per lingue come il thailandese o il cinese, la tokenizzazione è molto più complicata e, per essere accurata, dipende fortemente dalla comprensione del vocabolario e della morfologia.
-
Stemming: le parole sono ridotte alla loro forma base, o tema. Per esempio, breaking, breaks o unbreakable vengono ridotte tutte a break. Lo stemming aiuta a ridurre le varianti morfologiche di una parola ma, a seconda del contesto, potrebbe non portare al tema più accurato. Guarda questi due esempi che usano lo stemming:
"I’m going outside to rake leaves".
Tema = leave
"He always leaves the key in the lock".
Tema = leave
-
Lemmatizzazione: come lo stemming, la lemmatizzazione isola la radice della parola ma tiene conto della parte del discorso per arrivare a un termine radice o lemma più valido. Ecco gli stessi due esempi che usano la lemmatizzazione:
"I’m going outside to rake leaves".
Lemma = leaf
"He always leaves the key in the lock".
Lemma = leave
-
Etichettatura di parti del discorso: assegna contrassegni o etichette grammaticali a ogni parola in base alla relativa parte del discorso, ad esempio sostantivo, aggettivo, verbo e così via. L'etichettatura delle parti del discorso è una funzione importante dell'NLP perché aiuta i computer a comprendere la sintassi di una frase.
-
Riconoscimento entità denominata (NER, Named entity recognition): utilizza gli algoritmi per identificare nel testo e classificare le entità che hanno un nome (come persone, date, luoghi, organizzazioni e così via) per facilitare attività come rispondere alle domande o estrarre informazioni.
Analisi semantica
Il parsing del linguaggio naturale mediante alcuni o tutti i passaggi che abbiamo appena descritto produce risultati molto buoni per cogliere il significato del testo scritto o parlato. Tuttavia, mancano le sfumature delle soft skill che rendono umano il linguaggio... umano. Il parsing semantico usa l'analisi del formato grammaticale delle frasi e delle relazioni tra le parole e i sintagmi allo scopo di trovare la rappresentazione del significato. Ricavare dati come ciò che provano le persone, il motivo per cui si lasciano coinvolgere e i dettagli delle circostanze di un'interazione sono tutti elementi cruciali per decifrare accuratamente un testo scritto o parlato e formulare una reazione appropriata.
Ecco diverse tecniche di analisi comuni che sono utilizzate nell'NLP. Ciascuna di queste tecniche può servirsi di una serie di algoritmi diversi per arrivare al livello di comprensione desiderato, a seconda dell'attività specifica e della complessità dell'analisi.
Analisi del sentiment: consiste nel determinare se un brano di testo (come una frase, un post nei social media, una recensione o un tweet) esprime un sentiment positivo, negativo o neutro. Il sentiment è un sensazione o un atteggiamento verso qualche cosa. Per esempio, l'analisi del sentiment può determinare se la recensione di un cliente in merito a un servizio è positiva o negativa: "Ho dovuto aspettare parecchio per un taglio di capelli". Il sentiment aiuta identificare e classificare emozioni o opinioni nel testo per aiutare le aziende a capire che cosa pensano le persone dei loro prodotti, servizi o esperienze.
Analisi dell'intento: l'intento ci aiuta a capire ciò che una persona desidera o intende, basandosi su ciò che dice o scrive. È come decifrare lo scopo o l'intenzione che si celano dietro le parole. Per esempio, se una persona scrive "Non riesco ad accedere al mio account" in una chatbot di assistenza, l'analisi dell'intento riconosce che l'obiettivo della persona è farsi aiutare ad accedere al proprio account. La chatbot potrebbe rispondere con i dettagli per reimpostare la password o altri metodi che l'utente può tentare per accedere all'account. Spesso gli assistenti virtuali, i sistemi di assistenza clienti o i chatbot utilizzano l'analisi dell'intento per comprendere le richieste degli utenti e fornire risposte o azioni appropriate.
Analisi del contesto (discorso): il linguaggio naturale si basa moltissimo sul contesto. L'interpretazione di un'affermazione può cambiare in base alla situazione, ai dettagli forniti e all'eventuale intesa tra le persone che comunicano. Per l'analisi del contesto è necessario comprendere queste informazioni di contorno per cogliere il senso di un brano di testo. Per esempio, se qualcuno dice "They had a ball", che può significare indifferentemente "Organizzarono un ballo", "Avevano una palla" o "Si divertirono come pazzi", solo l'analisi del contesto può determinare di cosa si stia parlando. A questo scopo viene presa in esame la conversazione precedente o l'argomento che si sta trattando. L'analisi del contesto aiuta i sistemi NLP a interpretare le parole in modo più accurato, prendendo in esame il contesto più ampio, le relazioni tra le parole e altre informazioni pertinenti.
Queste tre tecniche (analisi del sentiment, analisi dell'intento e analisi del contesto) svolgono ruoli importanti per estrarre informazioni preziose dai dati di testo scritto e parlato. Creano una comprensione più articolata e precisa e un maggiore coinvolgimento con il contenuto testuale in molte applicazioni dell'NLP.
Riepilogo
In questo modulo hai imparato come funziona l'NLP in dettaglio e come si collega alla lingua inglese. A oggi, la maggior parte degli studi di NLP è condotta utilizzando l'inglese, ma puoi anche trovare molto materiale di ricerca in spagnolo, francese, farsi, urdu, cinese e arabo. L'elaborazione del linguaggio naturale è un campo dell'IA che si evolve molto rapidamente. I progressi dell'NLP avanzano velocemente verso una comprensione più sofisticata del linguaggio, capacità translinguistiche e l'integrazione con altri campi dell'IA.
Risorse
-
Simplilearn: Natural Language Processing in 5 Minutes (L'elaborazione del linguaggio naturale in 5 minuti)
-
Link esterno: TechTarget: natural language processing (NLP) (TechTarget: elaborazione del linguaggio naturale (NLP))
-
Link esterno: WeAreBrain: Rule-based AI vs machine learning: What’s the difference? (IA basata su regole e machine learning: qual è la differenza)