Cos'è il NLP
Il Natural Language Processing (NLP) è la branca dell'intelligenza artificiale che studia l'interazione tra computer e linguaggio umano. L'obiettivo è costruire sistemi capaci di comprendere, interpretare e generare testo e parlato in modo utile.
Punti chiave
- Il NLP unisce linguistica computazionale, statistica e deep learning per far comprendere alle macchine il linguaggio umano.
- Ogni pipeline parte dalla tokenizzazione: la suddivisione del testo in unità minime elaborabili dal modello.
- I task classici (POS tagging, NER, parsing, sentiment) hanno fatto spazio ai modelli pre-addestrati basati sui Transformer.
- I word embeddings rappresentano le parole come vettori densi in cui la vicinanza geometrica riflette la similarità semantica.
- Oggi un singolo LLM può svolgere decine di task diversi con semplici istruzioni in linguaggio naturale.
Il NLP è alla base di tecnologie che usiamo quotidianamente: assistenti vocali, traduttori automatici, filtri antispam, motori di ricerca, chatbot e Large Language Model come GPT e Claude. La disciplina combina linguistica computazionale, statistica e deep learning.
Il linguaggio umano è intrinsecamente ambiguo: "La vecchia porta la sbarra" ha almeno due interpretazioni. Questa ambiguità è la sfida fondamentale del NLP.
Tokenizzazione
Il primo passo di qualsiasi pipeline NLP è la tokenizzazione: la suddivisione del testo in unità minime (token) comprensibili al modello. Per un approfondimento completo, si veda l'articolo dedicato a Token e Tokenizzazione.
I metodi di tokenizzazione si sono evoluti nel tempo:
- Basata su spazi: "il gatto mangia" diventa ["il", "gatto", "mangia"]. Semplice ma non gestisce le parole composte o le lingue senza spazi.
- Subword (BPE, WordPiece): suddivide le parole rare in sottounità. "impossibile" potrebbe diventare ["im", "possibil", "e"]. È l'approccio usato dai LLM moderni perché bilancia dimensione del vocabolario e lunghezza delle sequenze, gestendo anche parole mai viste in addestramento.
- Character-level: ogni carattere è un token. Vocabolario minimo ma sequenze lunghissime, con un costo computazionale elevato. Utile per lingue morfologicamente ricche o per task a livello di carattere.
Task classici: POS, NER, parsing
Prima dell'era dei LLM, il NLP si strutturava attorno a task specifici, ciascuno con modelli dedicati. Comprendere questi task resta utile anche oggi: aiuta a interpretare cosa fanno gli strumenti AI sotto il cofano e a scegliere l'approccio giusto quando un LLM generalista è eccessivo o troppo costoso per un problema circoscritto.
Task fondamentali del NLP
POS Tagging (Part-of-Speech): assegna a ogni parola la categoria grammaticale (nome, verbo, aggettivo...). Essenziale per il parsing sintattico.
NER (Named Entity Recognition): identifica e classifica entità nominate nel testo (persone, organizzazioni, luoghi, date). Es: "[Federico Boggia]PERSONA lavora a [Milano]LUOGO".
Parsing sintattico: analizza la struttura grammaticale della frase, identificando soggetto, predicato, complementi e le relazioni tra le parole.
Lemmatizzazione e stemming riducono le parole alla forma base: "mangiavano" diventa "mangiare" (lemma) o "mangi" (stem). Lo stemming è più grezzo ma più veloce; la lemmatizzazione richiede analisi morfologica. Nel marketing questi task tornano utili, ad esempio, per normalizzare grandi volumi di recensioni o estrarre automaticamente nomi di prodotti e clienti dai testi raccolti.
Sentiment analysis e classificazione del testo
La sentiment analysis determina il tono emotivo di un testo: positivo, negativo o neutro, con possibili gradazioni. È una delle applicazioni NLP più diffuse nel marketing per monitorare la reputazione del brand, analizzare recensioni e feedback dei clienti.
La text classification è la generalizzazione: assegnare una o più etichette a un testo. Esempi:
- Categorizzazione di email (spam/non spam, urgente/non urgente)
- Classificazione di ticket di supporto per dipartimento
- Intent detection nei chatbot ("prenotazione", "reclamo", "informazione")
- Topic modeling per analizzare grandi corpora di testi
Questi task possono essere affrontati con approcci classici (algoritmi di classificazione come Naive Bayes o SVM su feature TF-IDF) oppure con modelli pre-addestrati (fine-tuning di BERT o classificazione zero-shot con LLM). La scelta dipende dal volume di dati etichettati disponibili, dal budget e dalla necessità o meno di spiegare le decisioni: gli approcci classici sono leggeri e trasparenti, gli LLM più potenti ma più costosi e meno interpretabili.
Word embeddings
Un passaggio cruciale nell'evoluzione del NLP è stato il passaggio da rappresentazioni sparse (one-hot encoding, bag-of-words) a rappresentazioni dense: i word embeddings.
Modelli come Word2Vec (2013) e GloVe (2014) trasformano ogni parola in un vettore denso (tipicamente 100-300 dimensioni) dove parole semanticamente simili sono geometricamente vicine. La famosa analogia: vec("re") - vec("uomo") + vec("donna") risulta vicino a vec("regina"). Questa proprietà permette alle macchine di "ragionare" sui significati misurando distanze e direzioni nello spazio vettoriale.
Il limite degli embedding statici è che ogni parola ha un unico vettore indipendentemente dal contesto: "banco" (di scuola) e "banco" (di lavoro) hanno lo stesso embedding. I modelli contestuali (ELMo, BERT) risolvono questo problema generando embedding diversi in base al contesto. Gli embedding sono oggi il cuore della ricerca semantica e dei sistemi RAG. Per un approfondimento, si veda Embedding e Vector Database.
Transformer e LLM
L'architettura Transformer ha rivoluzionato il NLP dal 2017 in poi. Il meccanismo di self-attention permette al modello di considerare tutte le parole di una frase simultaneamente, catturando dipendenze a lungo raggio in modo efficiente.
I Large Language Model (LLM) sono Transformer addestrati su enormi quantità di testo. La loro capacità emergente di risolvere task diversi con semplici istruzioni in linguaggio naturale (few-shot e zero-shot learning) ha unificato il NLP: un singolo modello sostituisce decine di sistemi specializzati.
| Modello | Tipo | Task principali |
|---|---|---|
| BERT | Encoder | Classificazione, NER, QA estrattiva |
| GPT-4 / Claude | Decoder | Generazione, reasoning, coding |
| T5 / BART | Encoder-Decoder | Traduzione, summarization |
Applicazioni pratiche
Il NLP ha applicazioni trasversali in ogni settore:
- Chatbot e assistenti virtuali: customer service automatizzato, assistenti vocali (Alexa, Siri, Google Assistant).
- Traduzione automatica: Google Translate, DeepL, basati su Transformer encoder-decoder.
- Ricerca semantica: motori di ricerca che comprendono il significato delle query, non solo le parole chiave (fondamentale per la SEO moderna).
- Content generation: generazione di testi, riassunti, email, codice.
- Information extraction: estrazione strutturata di dati da documenti non strutturati (contratti, fatture, report).
- Voice-to-text e text-to-speech: trascrizione automatica (Whisper) e sintesi vocale.
Il NLP è oggi la disciplina AI con il maggiore impatto sul business. Comprenderne i fondamenti — dalla tokenizzazione ai Transformer — è essenziale per sfruttare le potenzialità dei LLM e per costruire applicazioni AI efficaci con RAG e API REST.
Vuoi imparare ad applicarlo davvero?
Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.