I.T.I.P L.BUCCI FAENZA 1 Presentazione BIENNIO Presentazione BIENNIO.
Presentazione
-
Upload
luigiantonio-ionio -
Category
Documents
-
view
14 -
download
0
Transcript of Presentazione
TweetMonitor
ANTONINO FrancescoIONIO Luigiantonio
Università degli Studi di Bari “A.Moro”Master I livello: ASK-Health
Tecnici specialisti nella gestione dei sistemi informativi basati sulla manipolazione semantica dell'informazione
2
Sommario
• Introduzione e obiettivi• Piattaforma
– Architettura– TweetMonitor– Semantic annotation– Topic modeling– Sentiment analysis
• Problema di ricerca e Soluzioni– Approccio lessicale– Approccio Machine Learning
• Sperimentazione• Conclusioni e Sviluppi futuri
TweetMonitor
TweetMonitor 3
Introduzione e 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 4
Scenario
• Si vuole analizzare l’opinione pubblica sulle elezioni politiche europee 2014:
TweetMonitor 9
Componenti
XXX X Social Extractors
Individuazione ed estrazione dei contenuti da
Twitter tramite apposite API
Criteri di ricerca:• Contenuto• Utente• Posizione Geografica• Contenuto + Posizione Geografica
TweetMonitor 10
Componenti
XXX X Semantic Taggers
Elaborazione dei contenuti
ed individuazione dei concetti più
rilevanti menzionati nel
testo
TweetMonitor 11
Semantic Annotation
• Per poter determinare i principali concetti all’interno dei tweet, abbiamo analizzato i seguenti servizi di tagging esterni:
TweetMonitor 12
Analisi Critica• E’ necessario adottare una rappresentazione semantica basata
sull’utilizzo di annotatori che permettano di eliminare il rumore facendo emergere soltanto i concetti realmente rilevanti.
• Wikify è stato scartato.Esempio:
“Stop with this April's joke and bring back Famke Janssen!!”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 13
Topic Modeling (1/2)
• In letteratura sono presenti diverse tecniche per effettuare il Topic Modeling (LDA, modello Autore-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 14
Topic Modeling (2/2)• Tramite Wikipedia, otteniamo la categoria e il corrispettivo padre
per ogni tag restituito dagli annotatori.• Tweet con topic comuni, saranno raggruppati nella stessa categoria.
Esempio:“Stop with this April's joke and bring back Famke Janssen!!”
Categorie:– “1964 births”, padri: “1960s births”, “1964”– “20th-centory actresses”, padri: “20th-century actors”, “20th-century
people by occupation”, “20th-century women”, “actresses by century”– …– “AIDS activists”, padri: “AIDS activism”, “Healthacrivists”, “People
associated with HIV/AIDS”– …
TweetMonitor 15
Componenti
XXX X SASA(Semantic-
Aware Sentiment Analysis)
Individuazione della polarità
presente nei contenuti ricercati
TweetMonitor 16
Sentiment Analysis
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 informazioni soggettive da una sorgente .
TweetMonitor 18
Problema
• E’ possibile individuare automaticamente la polarità di un testo?
• Quali sono i possibili approcci?• Quale approccio è più adatto a
risolvere tale problema?
TweetMonitor 19
Approcci
• Approcci disponibili per implementare algoritmi di Sentiment Analysis:– Approccio lessicale: utilizzo di un dizionario
con informazioni riguardanti la positività/negatività di parole o frasi. La polarità di un 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 non noto.
TweetMonitor 20
Approccio lessicale
• 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 ogni parola di cui è composto.
TweetMonitor 21
• SentiWordNet (http://sentiwordnet.isti.cnr.it/) è una risorsa lessicale per l’opinion mining che assegna ad ogni synset di WordNet tre score sentimentali: positività, negatività, oggettività.
TweetMonitor 22
Data Processing
• Prima di sottoporre un tweet ad una specifica elaborazione, è necessario trattarne il testo per rimuovere eventuale rumore:– Rimozione di URL;– Rimozione di indirizzi email;– Rimozione del riferimento ad un utente
(@nomeutente);– Rimozione del cancelletto (#), utilizzato per
identificare un hashtag;– Rimozione della stringa che identifica un retweet
(«RT»).
TweetMonitor 23
Approccio lessicale
• Il tweet viene splittato in base alle congiunzioni ottenendo una lista di frasi.
• Per ogni frase viene determinato il POS utilizzando il PosTagger di Stanford per l’inglese ed il TreeTagger per l’italiano in modo da disambiguare ogni termine.
• Lo score di ogni frase è calcolato secondo uno specifico approccio.
TweetMonitor 24
Approcci
• Baseline;• Normalizzato;• Solo aggettivi e verbi;• Enfasi;• Lexicon Based.
TweetMonitor 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 ogni microfrase e dividendo per il numero totale di termini.
TweetMonitor 26
Baseline - Esempio
“Americans celebrate Pi Day on March 14th, we celebrate ALMOST Pi Day, today! happy almost Pi day!”
• Microfrase: Americans celebrate Pi Day on March 14th– Score microfrase: 0.0328
• Microfrase: we celebrate ALMOST Pi Day– Score microfrase: 0.0328
• Microfrase: today– Score microfrase: 0.0681
• Microfrase: happy almost Pi day– Score microfrase: 0.4980
Score Tweet: 0.0789 Polarità: Positivo
TweetMonitor 27
Normalizzato
• Estensione dell’approccio base.
• Lo score viene normalizzato in base al numero di microfrasi presenti nel testo.
• L’obiettivo è rendere lo score indipendente dal numero di parole che compongono il testo.
TweetMonitor 28
Normalizzato - Esempio
“Americans celebrate Pi Day on March 14th, we celebrate ALMOST Pi Day, today! happy almost Pi day!”
• Microfrase: Americans celebrate Pi Day on March 14th– Score microfrase: 0.0164
• Microfrase: we celebrate ALMOST Pi Day– Score microfrase: 0.0164
• Microfrase: today– Score microfrase: 0.0681
• Microfrase: happy almost Pi day– Score microfrase: 0.1660
Score Tweet: 0.0667 Polarità: Positivo
TweetMonitor 29
Solo aggettivi e verbi
• Lo score di ogni microfrase è calcolato considerando solo aggettivi e verbi.
• L’obiettivo è quello di eliminare eventuale rumore rappresentato da termini poco indicativi da un punto di vista sentimentale.
TweetMonitor 30
Solo aggettivi e verbi - Esempio
“Americans celebrate Pi Day on March 14th, we celebrate ALMOST Pi Day, today! happy almost Pi day!”
• Microfrase: Americans celebrate Pi Day on March 14th– Score microfrase: 0.0328
• Microfrase: we celebrate ALMOST Pi Day– Score microfrase: 0.0328
• Microfrase: today– Score microfrase: 0
• Microfrase: happy almost Pi day– Score microfrase: 0.4809
Score Tweet: 0.1366 Polarità: Positivo
TweetMonitor 31
Enfasi
• Lo score degli aggettivi e avverbi viene incrementato rispetto agli altri termini.
• A differenza dell’approccio che considera solo aggettivi ed verbi, qui vengono comunque considerati nomi, pronomi, verbi, ecc. ma in maniera ridotta.
• Le percentuali di enfasi sono: 80%, 120%, 133%, 150%, 175%, 200%.
TweetMonitor 32
Enfasi (150%) - Esempio
“Americans celebrate Pi Day on March 14th, we celebrate ALMOST Pi Day, today! happy almost Pi day!”
• Microfrase: Americans celebrate Pi Day on March 14th– Score microfrase: 0.0328
• Microfrase: we celebrate ALMOST Pi Day– Score microfrase: 0.0328
• Microfrase: today– Score microfrase: 0.0681
• Microfrase: happy almost Pi day– Score microfrase: 0.7384
Score Tweet: 0.1090 Polarità: Positivo
TweetMonitor 33
Approccio Lexicon-Based
• Approccio presente in letteratura.• Per ogni termine 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 termini positivi o negativi.
TweetMonitor 34
Lexicon Based - Esempio
“Americans celebrate Pi Day on March 14th, we celebrate ALMOST Pi Day,
today! happy almost Pi day!”
• Parola: 14th score: 0• Parola: happy score: 7
Polarità: Positivo
TweetMonitor 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 36
Features
• Unigrammi; • Bigrammi; • Unigrammi/bigrammi taggati con 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 37
Preprocessing
• Rimozione di caratteri speciali, cioè tutti quei caratteri che non sono ASCII;
• Rimozione dei target, cioè quei link ad altri utenti di Twitter (@);
• Rimozione degli hashtag (#); • Rimozione degli URL; • Rimozione delle emoticon; • Rimozione delle stopword; • Scartare quei tweet che presentano sia emoticon
positive che negative;• Presenza della negazione.
TweetMonitor 38
Feature Selection
• 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 39
Classificatori
• Per quanto riguarda la scelta dell'algoritmo di Data Mining verranno confrontati:
– NaiveBayes– Random Forest
TweetMonitor 40
Creazione del modello
• Per la scelta della combinazione ottimale di tecniche di preprocessing e features abbiamo utilizzato un approccio incrementale partendo dalle singole features per poi testarne le combinazioni più promettenti.
• Tra i vari test eseguiti su combinazioni diverse, sono state scelte quelle che massimizzavano l’accuratezza sul testset.
TweetMonitor 42
Dataset
• Semeval 2013: Task 2 Sentiment Analysis 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 differentiCorpus Positivi Negativi Neutri
Training Set 3.662 1.466 4.600
Test Set 1.573 601 1.640
TweetMonitor 43
Risultati lessicale
Dataset SEMEVAL2013
Approccio Accuratezza
Baseline 57.20 %
Normalizzato 57,36 %
Solo agg e verb 53,98 %
enfasi (80%) 57,30 %
enfasi (120%) 57,20 %
enfasi (133%) 56,90 %enfasi (150%) 57,45 %
enfasi (175%) 57,63 %
enfasi (200%) 56,87 %
Lexicon Based 46,08 %
TweetMonitor 44
Risultati Classificatore
• Combinazioni ottimali:–NaiveBayes: 61.4747%• Preprocessing: eliminazione stopword e
negazione• Features: emoticon, URL, retweet, simboli
speciali, target utente, unigrammi, unigrammi taggati, bigrammi taggati
– Random Forest (3500 alberi): 65.1306%• Preprocessing: negazione• Features: URL, unigrammi, unigrammi
taggati
TweetMonitor 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 per la costruzione del modello.
• L’approccio lessicale:Non vincolato al dominio;Possibilità di definire un lessico specifico per un dominio;Vincolato dalla consistenza del lessico;Mancanza di lessici con polarità;Ambiguità del linguaggio naturale.
TweetMonitor 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.