Strumenti gratuiti per la misurazione del mood: Twitter Sentiment

Perfino l’analisi automatica del sentiment riuscirebbe ad accorgersi della pessima reputazione di cui gode… l’analisi automatica del sentiment.

A giugno Fresh Networks ha pubblicato uno studio in cui confronta i risultati dei principali servizi computerizzati e a pagamento di mood tracking con quelli di un analista umano. Il risultato è agghiacciante: i post classificati correttamente oscillano tra l’8 e il 47%. Nasce così il tormentone estivo secondo cui l’analisi automatica del sentiment avrebbe un’affidabilità pari o inferiore al lancio di una moneta.

Ma quali sono i limiti e gli errori che provocano tali insuccessi? Proviamo a rispondere passando in rassegna gli strumenti gratuiti e i vari esperimenti che si sono cimentati con il riconoscimento computerizzato del tono positivo o negativo di un testo.

Cominciamo con Twitter: la piattaforma di microblogging è il terreno su cui si concentrano la maggior parte degli sforzi, in parte perché nel mondo anglosassone si è già affermata come il canale privilegiato per le conversazioni su brand e prodotti, in parte perché le caratteristiche dei messaggi (testuali, sintetici, codificati, in real-time) la rendono un bersaglio più facile per l’analisi.

C’è da dire che lo stesso servizio di ricerca di Twitter offre un filtro per scegliere messaggi positivi e negativi: com’è nel suo stile però il sito lascia agli utenti il compito di assegnare un tono al messaggio attraverso un particolare codice, in questo caso le emoticon. E’ possibile che questa sia la soluzione più appropriata, ma esula dal problema teorico dell’analisi testuale e preferiamo quindi sorvolare (almeno per il momento).

Il primo tool viene dall’Università di Stanford e porta un nome poco fantasioso: Twitter Sentiment.

Possiede però delle caratteristiche che lo differenziano da strumenti simili e che sono elencate nella documentazione: innanzitutto il sistema di classificazione non si affida al metodo banale della “bag-of-words” (dei dizionari di parole positive e negative), bensì a degli algoritmi di apprendimento automatico. Questo vuol dire che si fornisce al computer una lista di tweet già preclassificati dagli utenti (attraverso gli emoticon) e gli si chiede di individuare quali sono gli elementi testuali distintivi dei messaggi positivi e negativi; è sostanzialmente lo stesso sistema che avevamo descritto a proposito dell’algoritmo per misurare il sarcasmo. Secondo gli autori i dizionari sarebbero più precisi su argomenti specifici, ma questo metodo permette una maggiore replicabilità. Chi fosse interessato ad un approfondimento può scaricare il pdf della metodologia qui.

Un altro punto di forza è la trasparenza con cui viene mostrata la classificazione di ogni post. Molti servizi danno solo risultati aggregati e non consentono di verificarne l’accuratezza. Vorremmo aggiungere che questa caratteristica non è esclusiva di Twitter Sentiment, mentre lo è la possibilità per gli utenti di segnalare e correggere le classificazioni erronee.

Nella homepage del sito si inserisce il termine che si vuole ricercare: come suggeriscono gli autori può essere un brand, un personaggio, un prodotto, una tecnologia, una scoperta scientifica, in definitiva qualunque argomento, ma scegliamo di usare lo strumento per quello che si suppone sia il suo obiettivo. Prendiamo quindi Fiat: un brand italiano ma molto visibile ultimamente sui media internazionali, senza dubbio in grado di suscitare emozioni contrastanti.

La schermata di risultati è la seguente:

Fig. 1 Twitter Sentiment

I grafici sono piuttosto piatti a livello visivo, e rispecchiano le scelte standard nella visualizzazione dei dati: un grafico a torta per le percentuali, barre per i dati numerici e linee per la variazione nel tempo. Gli articoli positivi sono il 75% e il loro numero (2725) appare abbastanza significativo.
Il grafico più interessante (e interattivo) è quello a linea: possiamo scorgere ad esempio un picco durante il 13 settembre. Cercando su Google Blog Search scopriamo che è la data in cui Fiat ha presentato la nuova linea di modelli al Paris Motor Show.

Consideriamo per finire i singoli post, colorati in verde se positivi e rossi se negativi. Stando alle istruzioni esisterebbero anche post neutri (colorati in bianco), ma in questo caso non sono emersi. La scarsità o l’assenza di risultati neutri è un altro punto a favore dello strumento, considerando che in altri casi i risultati neutri sono sempre la maggioranza.

Prendiamo ad esempio questo messaggio negativo:

Fiat staff didn’t even understand, an iPod is an iPod in their eyes…

Un sistema basato su dizionari non avrebbe potuto riconoscere il tono negativo, perchè non ci sono parole connotate negativamente. E’ probabile che l’algoritmo abbia invece appreso che nei post negativi “did not understand” o “in their eyes” sono espressioni più frequenti che nei post positivi. E’ chiaro che questo sistema puramente empirico, che manca di qualsiasi appoggio al contenuto delle parole. necessita di un lunghissimo apprendimento e di una mole di dati sempre crescente per avvicinarsi all’interpretazione.

E’ sufficiente scorrere un po’ i risultati per accorgersi che la strada in questo senso è molto lunga. Questo commento, riconosciuto come positivo, è un classico esempio delle insidie del sarcasmo:

do they make a fast fiat now then?

Ma quest’altro falso positivo non contiene sarcasmo:

Fiat are also unreliable and known for it, so would avoid. Useless connectivity too then…

Un dizionario avrebbe riconosciuto parole come unreliable, avoid, useless. L’algoritmo lascia molto più spazio alla casualità.

In definitiva il metodo di Twitter Sentiment ha il pregio di individuare molti più articoli positivi e negativi rispetto ad altri sistemi, spesso però eccede attribuendo un mood anche a post neutri. La caratteristica più promettente è la facilità con cui il sistema di apprendimento può essere alimentato e migliorato; sarebbe interessante vedere se c’è un limite oltre il quale l’aggiunta di un nuovo caso non danneggi la predittività dell’algoritmo (le tecniche di campionamento ad esempio funzionano in questo modo).

Nel prossimo post analizzeremo alcuni metodi “bag-of-words”.

Scritto da: Matteo Borsacchi

Scrivi un commento

L'indirizzo email non sarà pubblicato.

*