3. Introduzionee Obiettivi
• Con l’evoluzione dei social network, cresce la necessità di “fare ordine” nel mare di
informazioni attualmente disponibili sulla rete.
• L’obiettivo è quello di estrarre interessanti dati aggregati, unendo, mescolando e
combinando le informazioni “grezze”presenti sui social network.
• TweetMonitor è una piattaforma per il monitoraggio dei contenuti pubblicati
dagli utenti sul social network Twitter, analizzando una serie di Tweet raccolti in
base a determinati criteri di ricerca e comprendendone le tematiche principali,
indicandone la polarità.
TweetMonitor 3
4. Scenario
• Si vuole analizzare l’opinione pubblica sulle elezioni politiche
europee 2014:
TweetMonitor 4
9. Componenti
TweetMonitor 9
XXX X Social Extractors
Individuazioneed estrazione dei
contenutidaTwitter tramite
apposite API
Criteri diricerca:
•Contenuto
•Utente
•PosizioneGeografica
•Contenuto + Posizione
Geografica
10. Componenti
TweetMonitor 10
XXX X Semantic Taggers
Elaborazione dei contenuti
ed individuazione dei
concettipiù rilevanti
menzionati nel testo
11. SemanticAnnotation
• Per poter determinare i principali concetti all’interno dei
tweet, abbiamo analizzato i seguentiservizi ditaggingesterni:
TweetMonitor 11
12. AnalisiCritica
• E’ necessario adottare una rappresentazione semantica basata sull’utilizzo di annotatori che permettano di
eliminareil rumorefacendo emergeresoltanto i concetti realmenterilevanti.
• Wikify è stato scartato.
Esempio:
“Stop withthisApril'sjokeandbringbackFamkeJanssen!!”
Risultati:
– Zemanta:
• Framke Janssen, confidenza: 0,875349
– TagMe:
• Framke Janssen, confidenza: 0,5
– OpenCalais:
• Framke Janssen, confidenza: 0,857
– WikipediaMiner:
• Framke Janssen, confidenza: 0,8567111
– Wikify:
• April
• Joke
• Framke Janssen
TweetMonitor 12
13. TopicModeling(1/2)
• In letteratura sono presenti diverse tecniche per effettuare il Topic
Modeling(LDA,modelloAutore-Topic,…).
• Considerando la struttura dei tweet, non è possibile trattarli come
un corpus utilizzabile, motivando l’utilizzo di conoscenza esterna:
Wikipedia.
• Wikipedia fornisce una conoscenza enciclopedica circa le entità di
cui si vuole disambiguare il testo, ottenendone un’organizzazione
gerarchica per categorie.
TweetMonitor 13
14. TopicModeling(2/2)
• Tramite Wikipedia, otteniamo la categoria e il corrispettivo padre per ogni tag restituito dagli
annotatori.
• Tweetcontopiccomuni, sarannoraggruppatinella stessacategoria.
Esempio:
“StopwiththisApril'sjokeandbringbackFamkeJanssen!!”
Categorie:
– “1964births”, padri: “1960sbirths”, “1964”
– “20th-centory actresses”, padri: “20th-century actors”, “20th-century people by occupation”, “20th-
century women”, “actresses bycentury”
– …
– “AIDSactivists”, padri: “AIDSactivism”, “Healthacrivists”, “People associated with HIV/AIDS”
– …
TweetMonitor 14
15. Componenti
TweetMonitor 15
XXX X SASA
(Semantic-Aware
Sentiment Analysis)
Individuazione della
polarità presentenei
contenuti ricercati
16. SentimentAnalysis
Nota anche come Opinion Mining, fa riferimento all’utilizzo
di tecniche di elaborazione del linguaggio naturale, text
analysis e linguistica computazionale per identificare ed
estrarre informazionisoggettiveda unasorgente .
TweetMonitor 16
18. Problema
• E’ possibile individuare automaticamente la polarità di un
testo?
• Qualisono ipossibili approcci?
• Qualeapproccio èpiùadatto a risolvere taleproblema?
TweetMonitor 18
19. Approcci
• Approcci disponibili per implementare algoritmi di Sentiment
Analysis:
– Approccio lessicale: utilizzo di un dizionario con informazioni
riguardantila positività/negatività diparoleofrasi.Lapolarità diun testo
viene determinata in base alla polarità dei termini che compongono il
testo
– Machine learning: partendo da esempi pre-etichettati, si addestra un
classificatore in grado di predire la polarità di un testo precedentemente
nonnoto.
TweetMonitor 19
20. Approcciolessicale
• Dizionari:
– SentiWordNet per determinare per ogni parola il relativo score
sentimentale
– MultiWordNet per l’italiano
• Pertanto dato un tweet, il suo score è ottenuto combinando lo
score di ogniparola dicui ècomposto.
TweetMonitor 20
21. • SentiWordNet (http://sentiwordnet.isti.cnr.it/) è una risorsa
lessicale per l’opinion mining che assegna ad ogni synset di
WordNettrescore sentimentali:positività,negatività,oggettività.
TweetMonitor 21
22. Data Processing
• Prima di sottoporre un tweet ad una specifica elaborazione, è
necessariotrattarneiltestoperrimuovere eventualerumore:
– RimozionediURL;
– Rimozionediindirizziemail;
– Rimozionedelriferimentoadunutente(@nomeutente);
– Rimozionedelcancelletto(#),utilizzatoperidentificareunhashtag;
– Rimozionedellastringacheidentificaunretweet(«RT»).
TweetMonitor 22
23. Approcciolessicale
• Il tweet viene splittato in base alle congiunzioni ottenendo
unalista di frasi.
• Per ogni frase viene determinato il POS utilizzando il
PosTagger di Stanford per l’inglese ed il TreeTagger per
l’italianoin modo da disambiguare ognitermine.
• Lo score di ogni frase è calcolato secondo uno specifico
approccio.
TweetMonitor 23
25. Baseline
• Lo score di ogni microfrase è calcolato sommando gli score di
ciascun termine,invertendo il segno in presenza di negazione.
• Lo score di ogni tweet è determinato sommando lo score di
ognimicrofrase edividendo per il numerototaledi termini.
TweetMonitor 25
27. Normalizzato
• Estensionedell’approccio base.
• Lo score viene normalizzato in base al numero di microfrasi
presentineltesto.
• L’obiettivo è rendere lo score indipendente dal numero di
parole che compongono il testo.
TweetMonitor 27
29. Soloaggettivi everbi
• Lo score di ogni microfrase è calcolato considerando solo
aggettivieverbi.
• L’obiettivo è quello di eliminare eventuale rumore
rappresentato da termini poco indicativi da un punto di vista
sentimentale.
TweetMonitor 29
31. Enfasi
• Lo score degli aggettivi e avverbi viene incrementato rispetto
aglialtri termini.
• A differenza dell’approccio che considera solo aggettivi ed
verbi, qui vengono comunque considerati nomi, pronomi,
verbi, ecc. ma in manieraridotta.
• Le percentuali di enfasi sono: 80%, 120%, 133%, 150%,
175%, 200%.
TweetMonitor 31
33. ApproccioLexicon-Based
• Approccio presente in letteratura.
• Perognitermine presente in un dizionario, viene estrapolato il
relativo score sentimentale e modificato, considerando uno
specifico range di termini, a seconda della presenza di
intensificatori,diminuitori,negazioni,emoticon.
• La polarità di un testo è determinata in base alla
predominanza di terminipositivi o negativi.
TweetMonitor 33
35. Classificatore
• Approccio Machine Learning per determinare la polarità di un
testo.
• Utilizzo del tool:
• Obiettivi:
– Individuare la combinazione delle tecniche di preprocessing e di
features per la costruzione di un modello performante;
– stabilire se un approccio con classificatore garantisce
un’accuratezza maggiore rispetto all’approccio lessicale.
TweetMonitor 35
36. Features
• Unigrammi;
• Bigrammi;
• Unigrammi/bigrammi taggaticon un POSTagger;
• Hashtag (#): numero di occorrenze;
• Emoticons: numero di occorrenze;
• URL: presenza di URL (feature binaria);
• Target (@): presenza di target (feature binaria);
• Simboli speciali: presenza del carattere "!" (feature binaria);
• Retweet: feature binaria.
TweetMonitor 36
37. Preprocessing
• Rimozionedi caratterispeciali, cioè tuttiquei caratteriche non sono ASCII;
• Rimozionedeitarget,cioè quei linkad altriutenti di Twitter(@);
• Rimozionedeglihashtag (#);
• RimozionedegliURL;
• Rimozionedelleemoticon;
• Rimozionedellestopword;
• Scartarequei tweetche presentano sia emoticon positive che negative;
• Presenza della negazione.
TweetMonitor 37
38. FeatureSelection
• Term frequency: per ogni classe vengono scelte quelle feature con frequenza maggiore
ad una certa soglia;
• Mutual information: è uno score che indica, per ogni classe C e ogni feature F, quanto F
potrebbe contribuire a effettuare una decisione corretta sulla classe C. Dopo aver
calcolato lo score MI, si selezionano le prime k feature con lo score più alto;
• Χ2 feature selection: è uno score che indica, per ogni feature e per ogni classe, se la
feature e la classe sono indipendenti l'una dall'altra.
• Information Gain: guadagno in termini di entropia considerando uno specifico test su un
attributo;
• Salienza: simile all'entropia, ha un valore che varia tra 0 e 1. Verranno scelte le feature
con un valore superiore ad una certa soglia.
TweetMonitor 38
39. Classificatori
• Per quanto riguarda la scelta dell'algoritmo di Data Mining
verranno confrontati:
– NaiveBayes
– Random Forest
TweetMonitor 39
40. Creazionedelmodello
• Per la scelta della combinazione ottimale di tecniche di
preprocessing e features abbiamo utilizzato un approccio
incrementale partendo dalle singole features per poi testarne
lecombinazioni piùpromettenti.
• Tra i vari test eseguiti su combinazioni diverse, sono state
sceltequelleche massimizzavano l’accuratezza sul testset.
TweetMonitor 40
42. Dataset
• Semeval2013: Task 2 SentimentAnalysis in Twitter
– Estrazione tramite Twitter API di milioni di tweets da Gennaio 2012
a Gennaio 2013
– Campionamento dei tweet tra tematiche maggiormente discusse.
– Training set e Test set trattano tematiche differenti in tempistiche
differenti
TweetMonitor 42
Corpus Positivi Negativi Neutri
TrainingSet 3.662 1.466 4.600
Test Set 1.573 601 1.640
46. Conclusioni
• L’approccio basato su classificatori:
Più performante rispetto all’approccio lessicale;
Dipendente dal dominio del trainingset;
Necessita di un trainingset “sufficientemente” corposo etichettato
manualmente;
Lunghi tempi perla costruzione del modello.
• L’approccio lessicale:
Non vincolato al dominio;
Possibilità di definire un lessico specifico perun dominio;
Vincolato dalla consistenza dellessico;
Mancanza di lessici conpolarità;
Ambiguità del linguaggio naturale.
TweetMonitor 46
47. TweetMonitor
• Sviluppi futuri:
• Utilizzare diversi dataset;
• Aggiungere nuove tipologie di feature basate su ontologie
• Testare su altri algoritmi di Data Mining.;
• Introdurre l’oggettività di un termine;
• Approccio ibrido.
TweetMonitor 47