SlideShare a Scribd company logo
1 of 48
TweetMonitor
ANTONINO Francesco
IONIO 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
Sommario
• Introduzionee obiettivi
• Piattaforma
– Architettura
– TweetMonitor
– Semantic annotation
– Topic modeling
– Sentiment analysis
• Problema di ricercae Soluzioni
– Approccio lessicale
– Approccio Machine Learning
• Sperimentazione
• Conclusioni e Sviluppi futuri
TweetMonitor 2
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
Scenario
• Si vuole analizzare l’opinione pubblica sulle elezioni politiche
europee 2014:
TweetMonitor 4
Demo
TweetMonitor 5
Piattaforma
TweetMonitor 6
Componenti
TweetMonitor 7
Componenti
TweetMonitor 8
XXX X Input
tweets estratti da
Componenti
TweetMonitor 9
XXX X Social Extractors
Individuazioneed estrazione dei
contenutidaTwitter tramite
apposite API
Criteri diricerca:
•Contenuto
•Utente
•PosizioneGeografica
•Contenuto + Posizione
Geografica
Componenti
TweetMonitor 10
XXX X Semantic Taggers
Elaborazione dei contenuti
ed individuazione dei
concettipiù rilevanti
menzionati nel testo
SemanticAnnotation
• Per poter determinare i principali concetti all’interno dei
tweet, abbiamo analizzato i seguentiservizi ditaggingesterni:
TweetMonitor 11
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
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
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
Componenti
TweetMonitor 15
XXX X SASA
(Semantic-Aware
Sentiment Analysis)
Individuazione della
polarità presentenei
contenuti ricercati
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
Problema di ricerca
e soluzioni
TweetMonitor 17
Problema
• E’ possibile individuare automaticamente la polarità di un
testo?
• Qualisono ipossibili approcci?
• Qualeapproccio èpiùadatto a risolvere taleproblema?
TweetMonitor 18
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
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
• 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
Data Processing
• Prima di sottoporre un tweet ad una specifica elaborazione, è
necessariotrattarneiltestoperrimuovere eventualerumore:
– RimozionediURL;
– Rimozionediindirizziemail;
– Rimozionedelriferimentoadunutente(@nomeutente);
– Rimozionedelcancelletto(#),utilizzatoperidentificareunhashtag;
– Rimozionedellastringacheidentificaunretweet(«RT»).
TweetMonitor 22
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
Approcci
• Baseline;
• Normalizzato;
• Solo aggettivie verbi;
• Enfasi;
• LexiconBased.
TweetMonitor 24
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
Baseline- Esempio
“Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy
almostPiday!”
• Microfrase: Americanscelebrate Pi DayonMarch14th
– Scoremicrofrase:0.0328
• Microfrase: wecelebrate ALMOST PiDay
– Scoremicrofrase:0.0328
• Microfrase: today
– Scoremicrofrase:0.0681
• Microfrase: happy almostPi day
– Scoremicrofrase:0.4980
Score Tweet: 0.0789 Polarità:Positivo
TweetMonitor 26
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
Normalizzato- Esempio
“Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy
almostPiday!”
• Microfrase: Americanscelebrate Pi DayonMarch14th
– Scoremicrofrase:0.0164
• Microfrase: wecelebrate ALMOST PiDay
– Scoremicrofrase:0.0164
• Microfrase: today
– Scoremicrofrase:0.0681
• Microfrase: happy almostPi day
– Scoremicrofrase:0.1660
Score Tweet: 0.0667 Polarità:Positivo
TweetMonitor 28
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
Soloaggettivi everbi- Esempio
“Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy
almostPiday!”
• Microfrase: Americanscelebrate Pi DayonMarch14th
– Scoremicrofrase:0.0328
• Microfrase: wecelebrate ALMOST PiDay
– Scoremicrofrase:0.0328
• Microfrase: today
– Scoremicrofrase:0
• Microfrase: happy almostPi day
– Scoremicrofrase:0.4809
Score Tweet: 0.1366 Polarità:Positivo
TweetMonitor 30
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
Enfasi (150%) - Esempio
“Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy
almostPiday!”
• Microfrase: Americanscelebrate Pi DayonMarch14th
– Scoremicrofrase:0.0328
• Microfrase: wecelebrate ALMOST PiDay
– Scoremicrofrase:0.0328
• Microfrase: today
– Scoremicrofrase:0.0681
• Microfrase: happy almostPi day
– Scoremicrofrase:0.7384
Score Tweet: 0.1090 Polarità:Positivo
TweetMonitor 32
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
LexiconBased- Esempio
“AmericanscelebratePiDayonMarch14th,wecelebrate
ALMOSTPiDay,today!happyalmostPiday!”
• Parola: 14th score: 0
• Parola: happy score: 7
Polarità:Positivo
TweetMonitor 34
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
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
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
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
Classificatori
• Per quanto riguarda la scelta dell'algoritmo di Data Mining
verranno confrontati:
– NaiveBayes
– Random Forest
TweetMonitor 39
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
Sperimentazione
TweetMonitor 41
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
Risultatilessicale
Dataset SEMEVAL2013
TweetMonitor 43
Approccio Accuratezza
Baseline 57.20%
Normalizzato 57,36%
Soloagge 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%
LexiconBased 46,08%
RisultatiClassificatore
• Combinazioniottimali:
– NaiveBayes: 61.4747%
• Preprocessing: eliminazione stopword enegazione
• Features: emoticon, URL, retweet, simboli speciali, target utente,
unigrammi, unigrammi taggati, bigrammi taggati
– RandomForest (3500 alberi): 65.1306%
• Preprocessing: negazione
• Features: URL, unigrammi, unigrammi taggati
TweetMonitor 44
Lessicalevs Classificatore
TweetMonitor 45
52
54
56
58
60
62
64
66
Random forest Enfasi (175%)
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
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
Grazie per l’attenzione
TweetMonitor 48

More Related Content

Viewers also liked

A revolução liberal de 1820
A revolução liberal de 1820A revolução liberal de 1820
A revolução liberal de 1820joanacunha9406
 
Descrição do tempo atmosférico
 Descrição do tempo atmosférico Descrição do tempo atmosférico
Descrição do tempo atmosféricojoanacunha9406
 
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Luigiantonio Ionio
 
Teks Prosedur Kompleks
Teks Prosedur KompleksTeks Prosedur Kompleks
Teks Prosedur Kompleksnadya putri
 
Thuong hieu,chiến lược của Unilever về sản phẩm OMO
Thuong hieu,chiến lược của Unilever về sản phẩm OMOThuong hieu,chiến lược của Unilever về sản phẩm OMO
Thuong hieu,chiến lược của Unilever về sản phẩm OMORicacdo Kaka
 

Viewers also liked (9)

A revolução liberal de 1820
A revolução liberal de 1820A revolução liberal de 1820
A revolução liberal de 1820
 
Teks Negosiasi
Teks NegosiasiTeks Negosiasi
Teks Negosiasi
 
Descrição do tempo atmosférico
 Descrição do tempo atmosférico Descrição do tempo atmosférico
Descrição do tempo atmosférico
 
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse...
 
Alto alentejo
Alto alentejoAlto alentejo
Alto alentejo
 
Singapura
SingapuraSingapura
Singapura
 
O alcoolismo
O alcoolismoO alcoolismo
O alcoolismo
 
Teks Prosedur Kompleks
Teks Prosedur KompleksTeks Prosedur Kompleks
Teks Prosedur Kompleks
 
Thuong hieu,chiến lược của Unilever về sản phẩm OMO
Thuong hieu,chiến lược của Unilever về sản phẩm OMOThuong hieu,chiến lược của Unilever về sản phẩm OMO
Thuong hieu,chiến lược của Unilever về sản phẩm OMO
 

Similar to Presentazione

Risultati twitter customer care
Risultati twitter customer careRisultati twitter customer care
Risultati twitter customer careSocial Minds
 
L’analisi dei social network per rilevare la reputazione delle istituzioni cu...
L’analisi dei social network per rilevare la reputazione delle istituzioni cu...L’analisi dei social network per rilevare la reputazione delle istituzioni cu...
L’analisi dei social network per rilevare la reputazione delle istituzioni cu...Fabio Venuda
 
Social Media per cittadini e non profit 2.0
Social Media per cittadini e non profit 2.0 Social Media per cittadini e non profit 2.0
Social Media per cittadini e non profit 2.0 Rosy Battaglia
 
L'algoritmo di Twitter e il mondo delle news 03102015
L'algoritmo di Twitter e il mondo delle news 03102015L'algoritmo di Twitter e il mondo delle news 03102015
L'algoritmo di Twitter e il mondo delle news 03102015Andrea Boscaro
 
Il web intelligente
Il web intelligenteIl web intelligente
Il web intelligenteDavide Cerbo
 
Web reputation
Web reputationWeb reputation
Web reputationfgalbiati
 
Leggere e scrivere letteratura con Twitter - 07
Leggere e scrivere letteratura con Twitter - 07Leggere e scrivere letteratura con Twitter - 07
Leggere e scrivere letteratura con Twitter - 07Paolo Costa
 
Dml twitter-basics
Dml twitter-basicsDml twitter-basics
Dml twitter-basicsDML Srl
 
Presentiamo Solving Team, una ‘geek company’
Presentiamo Solving Team, una ‘geek company’Presentiamo Solving Team, una ‘geek company’
Presentiamo Solving Team, una ‘geek company’Codemotion
 
Twitter - grammatica, contenuti, tecniche di gestione e analisi dei dati
Twitter - grammatica, contenuti, tecniche di gestione e analisi dei datiTwitter - grammatica, contenuti, tecniche di gestione e analisi dei dati
Twitter - grammatica, contenuti, tecniche di gestione e analisi dei datiAlessandra Farabegoli
 
Sentiment Analysis: dietro al web c’è un cuore?
Sentiment Analysis: dietro al web c’è un cuore?Sentiment Analysis: dietro al web c’è un cuore?
Sentiment Analysis: dietro al web c’è un cuore?Social Case History Forum®
 
Dml twitter-for-business
Dml twitter-for-businessDml twitter-for-business
Dml twitter-for-businessDML Srl
 
Social Network: guida ad un utilizzo consapevole
Social Network: guida ad un utilizzo consapevoleSocial Network: guida ad un utilizzo consapevole
Social Network: guida ad un utilizzo consapevoleAlessandro Grechi
 
PA e social media. Twitter per uffici stampa
PA e social media. Twitter per uffici stampaPA e social media. Twitter per uffici stampa
PA e social media. Twitter per uffici stampaDaria S
 
Smau Napoli 2014 Emanuele Mazzi
Smau Napoli 2014 Emanuele MazziSmau Napoli 2014 Emanuele Mazzi
Smau Napoli 2014 Emanuele MazziSMAU
 
Twitter social media management
Twitter social media managementTwitter social media management
Twitter social media managementSimpleDistribution
 
Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017
Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017
Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017Valentina Tosi
 

Similar to Presentazione (20)

Risultati twitter customer care
Risultati twitter customer careRisultati twitter customer care
Risultati twitter customer care
 
L’analisi dei social network per rilevare la reputazione delle istituzioni cu...
L’analisi dei social network per rilevare la reputazione delle istituzioni cu...L’analisi dei social network per rilevare la reputazione delle istituzioni cu...
L’analisi dei social network per rilevare la reputazione delle istituzioni cu...
 
Social Media per cittadini e non profit 2.0
Social Media per cittadini e non profit 2.0 Social Media per cittadini e non profit 2.0
Social Media per cittadini e non profit 2.0
 
L'algoritmo di Twitter e il mondo delle news 03102015
L'algoritmo di Twitter e il mondo delle news 03102015L'algoritmo di Twitter e il mondo delle news 03102015
L'algoritmo di Twitter e il mondo delle news 03102015
 
Il web intelligente
Il web intelligenteIl web intelligente
Il web intelligente
 
Web reputation
Web reputationWeb reputation
Web reputation
 
Social media e sport
Social media e sportSocial media e sport
Social media e sport
 
Leggere e scrivere letteratura con Twitter - 07
Leggere e scrivere letteratura con Twitter - 07Leggere e scrivere letteratura con Twitter - 07
Leggere e scrivere letteratura con Twitter - 07
 
Dml twitter-basics
Dml twitter-basicsDml twitter-basics
Dml twitter-basics
 
Presentiamo Solving Team, una ‘geek company’
Presentiamo Solving Team, una ‘geek company’Presentiamo Solving Team, una ‘geek company’
Presentiamo Solving Team, una ‘geek company’
 
Twitter - grammatica, contenuti, tecniche di gestione e analisi dei dati
Twitter - grammatica, contenuti, tecniche di gestione e analisi dei datiTwitter - grammatica, contenuti, tecniche di gestione e analisi dei dati
Twitter - grammatica, contenuti, tecniche di gestione e analisi dei dati
 
Sentiment Analysis: dietro al web c’è un cuore?
Sentiment Analysis: dietro al web c’è un cuore?Sentiment Analysis: dietro al web c’è un cuore?
Sentiment Analysis: dietro al web c’è un cuore?
 
Dml twitter-for-business
Dml twitter-for-businessDml twitter-for-business
Dml twitter-for-business
 
Social Network: guida ad un utilizzo consapevole
Social Network: guida ad un utilizzo consapevoleSocial Network: guida ad un utilizzo consapevole
Social Network: guida ad un utilizzo consapevole
 
PA e social media. Twitter per uffici stampa
PA e social media. Twitter per uffici stampaPA e social media. Twitter per uffici stampa
PA e social media. Twitter per uffici stampa
 
Smau Napoli 2014 Emanuele Mazzi
Smau Napoli 2014 Emanuele MazziSmau Napoli 2014 Emanuele Mazzi
Smau Napoli 2014 Emanuele Mazzi
 
Ascoltere la rete: la sentiment analysis
Ascoltere la rete: la sentiment analysisAscoltere la rete: la sentiment analysis
Ascoltere la rete: la sentiment analysis
 
Twitter social media management
Twitter social media managementTwitter social media management
Twitter social media management
 
Twitter scuole
Twitter scuoleTwitter scuole
Twitter scuole
 
Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017
Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017
Teorie e tecniche dei social network per biblioteche pubbliche - Piacenza 2017
 

Presentazione

  • 1. TweetMonitor ANTONINO Francesco IONIO 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 • Introduzionee obiettivi • Piattaforma – Architettura – TweetMonitor – Semantic annotation – Topic modeling – Sentiment analysis • Problema di ricercae Soluzioni – Approccio lessicale – Approccio Machine Learning • Sperimentazione • Conclusioni e Sviluppi futuri TweetMonitor 2
  • 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
  • 8. Componenti TweetMonitor 8 XXX X Input tweets estratti da
  • 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
  • 17. Problema di ricerca e soluzioni TweetMonitor 17
  • 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
  • 24. Approcci • Baseline; • Normalizzato; • Solo aggettivie verbi; • Enfasi; • LexiconBased. TweetMonitor 24
  • 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
  • 26. Baseline- Esempio “Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy almostPiday!” • Microfrase: Americanscelebrate Pi DayonMarch14th – Scoremicrofrase:0.0328 • Microfrase: wecelebrate ALMOST PiDay – Scoremicrofrase:0.0328 • Microfrase: today – Scoremicrofrase:0.0681 • Microfrase: happy almostPi day – Scoremicrofrase:0.4980 Score Tweet: 0.0789 Polarità:Positivo TweetMonitor 26
  • 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
  • 28. Normalizzato- Esempio “Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy almostPiday!” • Microfrase: Americanscelebrate Pi DayonMarch14th – Scoremicrofrase:0.0164 • Microfrase: wecelebrate ALMOST PiDay – Scoremicrofrase:0.0164 • Microfrase: today – Scoremicrofrase:0.0681 • Microfrase: happy almostPi day – Scoremicrofrase:0.1660 Score Tweet: 0.0667 Polarità:Positivo TweetMonitor 28
  • 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
  • 30. Soloaggettivi everbi- Esempio “Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy almostPiday!” • Microfrase: Americanscelebrate Pi DayonMarch14th – Scoremicrofrase:0.0328 • Microfrase: wecelebrate ALMOST PiDay – Scoremicrofrase:0.0328 • Microfrase: today – Scoremicrofrase:0 • Microfrase: happy almostPi day – Scoremicrofrase:0.4809 Score Tweet: 0.1366 Polarità:Positivo TweetMonitor 30
  • 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
  • 32. Enfasi (150%) - Esempio “Americanscelebrate PiDayon March14th,wecelebrate ALMOSTPiDay,today! happy almostPiday!” • Microfrase: Americanscelebrate Pi DayonMarch14th – Scoremicrofrase:0.0328 • Microfrase: wecelebrate ALMOST PiDay – Scoremicrofrase:0.0328 • Microfrase: today – Scoremicrofrase:0.0681 • Microfrase: happy almostPi day – Scoremicrofrase:0.7384 Score Tweet: 0.1090 Polarità:Positivo TweetMonitor 32
  • 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
  • 43. Risultatilessicale Dataset SEMEVAL2013 TweetMonitor 43 Approccio Accuratezza Baseline 57.20% Normalizzato 57,36% Soloagge 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% LexiconBased 46,08%
  • 44. RisultatiClassificatore • Combinazioniottimali: – NaiveBayes: 61.4747% • Preprocessing: eliminazione stopword enegazione • Features: emoticon, URL, retweet, simboli speciali, target utente, unigrammi, unigrammi taggati, bigrammi taggati – RandomForest (3500 alberi): 65.1306% • Preprocessing: negazione • Features: URL, unigrammi, unigrammi taggati TweetMonitor 44
  • 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