L’elaborazione del linguaggio naturale (NLP) è una branca dell’intelligenza artificiale (IA) che insegna ai computer come capire il linguaggio umano in forma verbale e scritta. L’elaborazione del linguaggio naturale combina la linguistica computazionale con il Machine Learning e il Deep Learning per elaborare dati vocali e testuali, che possono essere utilizzati anche con altri tipi di dati per lo sviluppo di sistemi ingegnerizzati intelligenti.
L’Elaborazione del linguaggio naturale è un ramo dell’Intelligenza artificiale che consente ai computer di comprendere il linguaggio umano, sia nella forma scritta sia in quella parlata, combinando la linguistica computazionale con il Machine Learning e il Deep Learning.
L’Elaborazione del linguaggio naturale trasforma dati linguistici non strutturati in un formato strutturato attraverso tecniche di preparazione dei dati come tokenizzazione, stemming e lemmatizzazione. Successivamente utilizza modelli di IA per interpretare dati testuali e vocali, individuare relazioni e generare nuovi contenuti linguistici.
La comprensione del linguaggio naturale (Natural Language Understanding, NLU) utilizza analisi sintattica e semantica per estrarre il significato dalle frasi in attività come la classificazione dei documenti e la sentiment analysis. La generazione del linguaggio naturale (Natural Language Generation, NLG), invece, comprende i metodi utilizzati dai computer per produrre risposte testuali a partire da dati di input.
Le applicazioni più comuni includono il riconoscimento vocale, il riconoscimento del parlante, il riconoscimento di entità nominate, la sentiment analysis, la classificazione dei documenti, il riassunto automatico dei testi e la traduzione automatica in settori quali la finanza, la produzione industriale e l’information technology.
Le tecniche di pre-processing più comuni includono la tokenizzazione (suddivisione del testo in frasi o parole), lo stemming (riduzione delle parole alla loro radice), la lemmatizzazione (analisi del vocabolario per rimuovere gli affissi), Word2vec (creazione di rappresentazioni numeriche delle parole) e la modellazione tramite n-grammi.
I modelli per l’NLP spaziano dagli algoritmi tradizionali di Machine Learning, come la regressione logistica e gli alberi decisionali, alle architetture di Deep Learning che includono reti neurali convoluzionali (CNN), reti neurali ricorrenti (RNN), autoencoder e modelli transformer come BERT e ChatGPT, che costituiscono la base dei large language model.
MATLAB consente di implementare pipeline complete di NLP utilizzando Text Analytics Toolbox per i dati testuali e Audio Toolbox per i dati vocali. Offre strumenti per il pre-processing, l’estrazione delle feature, l’addestramento di modelli di Machine Learning e Deep Learning e l’accesso a modelli preaddestrati come BERT e VGGish.
Il transfer learning consente di utilizzare large language model preaddestrati e adattarli a specifici problemi di NLP, ad esempio eseguendo il fine-tuning di un modello BERT per una determinata lingua o per una specifica attività di classificazione.