Sentiment Analysis
L'analisi del sentiment classifica l'opinione espressa in un testo come positiva, negativa o neutra. Include metodi basati su lessico e Transformer, aspetti e bias.
L'analisi del sentiment, chiamata anche opinion mining, è l'attività di elaborazione del linguaggio naturale (NLP) che identifica l'atteggiamento espresso da un testo, di solito come positivo, negativo o neutro e, a volte, come punteggio, valutazione in stelle o emozione come rabbia o gioia. Le aziende applicano questa analisi alle recensioni di prodotti, ai ticket di supporto, alle risposte ai sondaggi e ai post sui social media per misurare cosa pensano i clienti di un prodotto o di un marchio su una quantità di testi che nessun team riuscirebbe a leggere; i chatbot di assistenza la usano per trasferire prima le richieste dei clienti arrabbiati a una persona.
Livelli di analisi#
L'analisi a livello di documento assegna un'unica etichetta a un'intera recensione, mentre quella a livello di frase assegna un'etichetta a ogni frase. L'analisi del sentiment basata sugli aspetti (ABSA) va oltre e individua l'opinione relativa a ogni caratteristica menzionata nel testo: «Lo schermo è fantastico, ma la batteria non dura neanche una mattinata» esprime un giudizio positivo sullo schermo e negativo sulla batteria. La task condivisa SemEval-2014 sull'ABSA ha standardizzato questa impostazione con recensioni di laptop e ristoranti; l'estrazione degli aspetti è affine al riconoscimento di entità nominate (NER), perché entrambi individuano gli elementi di cui parla una frase.
Dai lessici ai Transformer#
I metodi basati sui lessici contano le parole di un lessico del sentiment, ovvero un elenco di parole con punteggi positivi o negativi, e aggiungono regole per negazioni («non è buono») e intensificatori («molto buono»). Il metodo non supervisionato di Peter Turney (2002) assegnava un punteggio alle espressioni in base alla frequenza con cui comparivano sul web vicino a «eccellente» o «scarso»; VADER (2014) ha adattato lessico e regole ai social media, includendo emoticon, maiuscole e punti esclamativi. Sempre nel 2002, Bo Pang, Lillian Lee e Shivakumar Vaithyanathan hanno addestrato classificatori Naive Bayes, a massima entropia e macchina a vettori di supporto (SVM) sulle recensioni di film, scoprendo che superavano gli elenchi di parole chiave scritti da esseri umani, ma ottenevano risultati peggiori nell'analisi del sentiment rispetto alla classificazione per argomento.
Lo Stanford Sentiment Treebank (2013) ha etichettato 215.154 frasi tratte da 11.855 recensioni di film, consentendo ai modelli di apprendere come parole come «non» e «ma» modificano il sentiment di ciò che segue; la sua versione binaria, SST-2, è entrata nel benchmark GLUE. Oggi la maggior parte dei classificatori esegue il fine-tuning di un Transformer preaddestrato come BERT su esempi etichettati e trasforma i punteggi di output in probabilità di classe usando una softmax. DistilBERT sottoposto a fine-tuning su SST-2 raggiunge un'accuratezza del 91,3% sul relativo set di convalida:
from transformers import pipeline
# DistilBERT fine-tuned on the Stanford Sentiment Treebank (SST-2)
classifier = pipeline("sentiment-analysis", model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
reviews = [
"The battery life is not bad at all.",
"Oh great, it crashed again five minutes after the update.",
"The screen is gorgeous, but the battery barely lasts a morning.",
]
for review, result in zip(reviews, classifier(reviews)):
print(f"{result['label']:<8} {result['score']:.3f} {review}")Il classificatore interpreta «non è affatto male» come POSITIVO (0,997) e la recensione sarcastica «Oh, fantastico» come NEGATIVO (0,998). La terza recensione elogia lo schermo e critica la batteria, ma un modello a livello di documento può restituire una sola etichetta, NEGATIVO con 0,966, e l'elogio scompare dal risultato. Anche i modelli linguistici di grandi dimensioni (LLM) classificano il sentiment zero-shot a partire da un prompt e possono restituire un'etichetta per ogni aspetto, ma a un costo per recensione molto superiore rispetto a un classificatore da 66 milioni di parametri.
Sentiment multimodale#
Le persone esprimono opinioni anche attraverso il tono della voce e le espressioni facciali, oltre che con le parole; il sarcasmo spesso emerge solo dal tono. CMU-MOSEI (2018), al momento della sua pubblicazione il dataset più grande per questa impostazione, etichetta il sentiment di 23.453 segmenti video appartenenti a 1.000 parlanti; i modelli di apprendimento multimodale combinano trascrizione, audio e volto del parlante per prevederlo, un obiettivo condiviso con l'informatica affettiva. Il canale facciale è un problema di classificazione delle immagini: un modello di classificazione Ultralytics YOLO26 addestrato su ritagli di volti suddivisi in una cartella per espressione restituisce una probabilità per ciascuna espressione in result.probs, lo stesso tipo di output softmax prodotto dal classificatore di testo precedente.
Sfide#
Sarcasmo, ironia e paragoni («meglio del vecchio, il che non dice molto») restano difficili. Le parole che esprimono sentiment dipendono dal dominio: «imprevedibile» è un complimento per la trama di un film, ma una critica allo sterzo di un'auto; perciò un modello addestrato sulle recensioni di film perde accuratezza sulle recensioni di prodotti senza nuovi dati di addestramento. I modelli ereditano anche i bias presenti nei dati. Nel 2018 Svetlana Kiritchenko e Saif Mohammad hanno testato 219 sistemi di analisi del sentiment con frasi che differivano solo per un nome o una parola di genere come «lui» o «lei»; diversi sistemi assegnavano punteggi sistematicamente più alti o più bassi a seconda del genere o dell'etnia suggeriti dal nome.
Analisi del sentiment e termini correlati#
- Classificazione del testo: attività generale che assegna etichette al testo, ad esempio l'argomento o la presenza di spam. L'analisi del sentiment è una classificazione del testo con etichette di opinione.
- Riconoscimento delle emozioni: rileva emozioni specifiche da testo, volti, voce o segnali fisiologici. L'analisi del sentiment di solito riduce l'opinione a una polarità.
- Riconoscimento di entità nominate: individua ciò che viene menzionato in un testo, mentre ABSA associa ogni menzione all'opinione espressa al riguardo.










