Sei sulla pagina 1di 9

Data And Text Mining Gennaio 2016 Progetto dEsame

Topic Modeling su Twitter


Federico Bianchi 746914
Universit degli Studi Milano Bicocca
f.bianchi36@campus.unimib.it
Sommario
Questo paper illustra il il processo di sviluppo e le idee che hanno portato allapplicazione di un algoritmo
di topic modeling, LDA, per riuscire a scoprire quali sono i topic (argomenti) pi importanti in un dato
momento sul social network Twitter, a partire da una parola chiave. In particolare si cercato quali
sono i topic che vengono associati a questa parola. Si inoltre provato ad applicare tecniche di topic
modeling dinamico, derivate da LDA, per poter capire come i topic si sono evoluti nel corso di un arco
di tempo, raccogliendo dati appartenenti a giorni differenti. Per lalgoritmo di LDA e le principali fasi
di preprocessing si fatto uso dellambiente Knime, mentre per il topic modeling dinamico sono state
sfruttate delle librerie esterne.

I.

Introduzione

witter permette ai propri utenti di generare grandi quantit di contenuti testuali,


seppur limitati a 140 caratteri per inserzione, che permettono a chi ne fa uso di poter
esprimere le proprie idee e le proprie opinioni.
Si suppone che, estraendo un numero sufficiente di messaggi che contengono una parola
comune, si possano intuire quali sono i principali argomenti di discussione relativi ad essa
allinterno della piattaforma. Questo pu essere fatto attraverso lutilizzo di LDA (Latent
Dirichlet Allocation), che permette di ottenere
informazioni sui topic (e sulle parole che compongono questi topic) presenti in un corpus
di documenti a partire dal testo contenuto in
questi. Inoltre possibile testare con delle tecniche derivate da LDA (tecniche di Dynamic
Topic Modeling) come questi topic si siano evoluti nel corso del tempo, andandone a vedere
quali sono i dynamic topic pi importanti e
quali sono le parole che li caratterizzano. Il
caso di studio preso in esame andr ad analizzare quali sono gli argomenti pi importanti
relativi alla ricerca della parola chiave "Paris".
Vengono estratti i tweet relativi agli attentati
a Parigi del 13 Novembre 2015 e di altre avvenimenti del mese fino ai giorni precedenti le

1 Tweets

elezioni regionali francesi avvenute il 4 Dicembre. Riassumendo, il lavoro finalizzato sul


completamento di due obiettivi:
Capire quali sono i topic pi "caldi" in
un dato momento su Twitter, data una
parola chiave.
Seguire come il linguaggio di questi topic
si sia evoluto nel corso del tempo.
Per quanto riguarda il primo punto, il lavoro verr effettuato con il tool Knime, che
permette di effettuare preprocessing sui dati e
mette a disposizione uno strumento per la computazione dellalgoritmo LDA. Mentre per il
secondo punto stato sfruttato codice sorgente
esterno scritto in python.

II.

Related Works

Lapplicazione di algoritmi di topic modeling


sui dati Twitter un argomento abbastanza
vivo e che ha attirato linteresse di diversi studiosi. Il primo documento che ha spinto verso
questo argomento effettuava topic modeling
sui tweet del presidente americano per individuare quali sono gli argomenti pi trattati da
questultimo1 . I risultati sono interessanti e mostrano come LDA sia in grado di estrarre una

on LDA, https://wellecks.wordpress.com/2014/09/03/these-are-your-tweets-on-lda-part-i/

Data And Text Mining Gennaio 2016 Progetto dEsame

struttura dai tweet e di fornire indicazioni sugli


argomenti pi trattati, pur comunque avendo
una minima percentuale di dati classificati in
maniera erronea.

III.
I.

Metodi e Dataset

Recupero del Dataset

Illustriamo di seguito quali sono le metodologie e scelte usate per lanalisi dei topic a
partire dai dati Twitter. Per gli scopi del progetto stato necessario recuperare i tweet da
Twitter; attualmente le Twitter API, in molti
casi, non permettono di recuperare dati pi
vecchi di una settimana e questo rende molto
complesso effettuare studi su dati che sono
stati prodotti mesi o anni prima. Si quindi deciso di utilizzare un tool che recupera i
tweet pi vecchi estraendoli dal puro HTML
restituito da Twitter quando un utente fa uso
delle funzionalit di ricerca avanzata2 . Questo
approccio, pur permettendo di recuperare quei
tweet che sono stati prodotti da un numero
elevato di giorni, limitante nei confronti della
quantit di tweet recuperata: vengono infatti
recuperati solo quei tweet che Twitter decide
di restituire nella sua ricerca avanzata e che
quindi sono di numero inferiore a quelli che
potrebbero essere recuperati attraverso lutilizzo delle streaming API del social network3 .
Questultime richiedono per di essere utilizzate in real-time per fare acquisizioni di dati
(recupero solo i tweet che vengono postati da
quando ho fatto partire la mia acquisizione
con le API). La precedente affermazione stata
empiricamente provata raccogliendo in diretta
attraverso le Twitter Api i tweet, contenenti la
parola "paris", creati tra il giorno 27 Novembre
2015 e il 28 Novembre 2015: sono stati cos
recuperati circa 200.000 tweet in un solo giorno
di acquisizione, mentre utilizzando lapplicazione sopra descritta ne sono stati trovati circa
30.000. Si scelto comunque di perseverare
con lutilizzo di questa applicazione perch
2 Jefferson

ha permesso di recuperare tweet che ormai


non sarebbe pi stato possibile recuperare in
altro modo (la maggior parte dei tweet non
recuperabile una volta prodotta4 ) ed inoltre
possibile usarla anche non in real time, il che
di grande aiuto visto che un semplice sbalzo
di corrente o di continuit di rete internet rovinerebbe lacquisizione con le Twitter API.
I dati scelti contengono anche i retweet, che
potrebbero essere considerati come documenti
replicati. Si per ritenuto importante non
eliminarli perch esprimono unopinione condivisa.

II.

Preprocessing

Le principali analisi di preprocessing hanno


visto come obiettivo leliminazione delle parole
troppo corte (con meno di quattro caratteri),
delle stopword, dei caratteri di punteggiatura e
di tutte le tipologie di link presenti allinterno
del testo. Questultima parte stata fatta attraverso lutilizzo di unespressione regolare che
in grado di individuare tutte le URL a discapito di prendere anche qualche falso positivo.
Ai fini del progetto si pensato che valesse la
pena perdere qualche parola per poter eliminare tutti i link. Si rimuove successivamente la
parola chiave con cui il dataset stato recuperato,
questo per evitare che essa sia presente in tutti
i risultati, visto che certamente presente in
tutti i tweet.
Si inoltre preferito non applicare due procedure molto comuni e spesso utilizzate nelle
fasi di pre-processing: la fase di stemming
e la fase di filtraggio dei termini infrequenti.
La prima stata eliminata perch rischiava di
creare inconsistenze ed aumentare il rumore
nello stemming dei tweet (soprattutto se si parla di stemming su hashtag); chiaramente non
effettuando stemming avremo altri problemi
(successivamente vedremo come alcune parole
abbiano generato dei problemi nellinterpre-

Henrique, https://github.com/Jefferson-Henrique/GetOldTweets
API, https://dev.twitter.com/streaming/overview
4 In realt Twitter rende disponibili i tweet sulla bacheca pubblica fino ad una settimana dalla creazione, ma il problema
il medesimo.
3 Streaming

Data And Text Mining Gennaio 2016 Progetto dEsame

tazione dei risultati). La seconda invece non


viene effettuata perch i tweet, contenendo tipicamente una o due frasi al massimo, ripetono
poche volte la parola pi importante (spesso
il soggetto) della frase; se andassimo ad eliminare le parole poco frequenti rischieremmo
di danneggiare le successive analisi. Nella
sezione sul caso di studio si andati poi a
spiegare quali sono state le difficolt incontrate
nella eliminazione dei termini troppo frequenti
nellintera collezione.
Il dataset contiene tweet in pi lingue ed
stato necessario filtrare quei documenti che
non sono stati scritti in lingua inglese per non
compromettere le fasi di analisi con i successivi algoritmi. Si fatto quindi uso di un tool
di language detection scritto in Java[4] che ha
permesso di riconoscere la maggior parte dei
documenti scritti in inglese e di poter proseguire con le analisi. importante sottolineare che
qualche documento non inglese sia sfuggito
a questo controllo, ma non sembrato avere
uninfluenza elevata sui risultati.

preso in considerazione un numero basso di


topic perch si suppone che data la ricerca sulla parola chiave i temi relativi a questa parola
saranno abbastanza pochi ed inoltre si vuole
cercare di recuperare i topic pi importanti.

IV.

La tecnica dei dynamic topic models[1] deriva


da quella di LDA ha come obiettivo lo studio
dellevoluzione dei topic nel tempo, andando a
studiare le finestre di tempo in cui i documenti
vengono creati e cercando di evidenziarne la
struttura evolutiva. Sono state resi disponibili i
sorgenti di un recente progetto [3] che fa uso di
Dynamic Topic Modeling su dati riguardanti
le agende del parlamento europeo. Si fatto
uso del sorgente disponibile per calcolare levoluzione dei topic nel nostro contesto legato a
Twitter. Lalgoritmo prende in ingresso dati divisi in fasce temporali e restituisce una serie di
topic dinamici che rappresentano levoluzione
di un topic nel corso del tempo.

V.
III.

LDA

Per analizzare i dati stato utilizzato LDA [2],


un modello probabilistico che cerca di inferire
quali sono i topic allinterno di un corpus di
documenti. In generale si suppone che un
tweet, non potendo essere molto lungo, conterr al suo interno pochi topic (generalmente
uno o due).
Per LDA stato usato il corrispondente nodo dellapplicativo Knime (Topic Extractor) con
lobiettivo di recuperare 5 e 10 topic di 5 parole
mantenendo la configurazione base per quanto
riguarda gli iperparametri e . Sono state
mantenute 5 parole perch si notato che, dopo le principali fasi di pre-processing, i tweet
diventavano molto corti e partendo dallassunzione che un tweet, contenendo poco testo, conterr pochi topic, si preferito mantenere basso
il numero di word per topic. Generlamente, se
il corpus di documenti molto grande e vario
si cercano molti topic. Nel nostro caso stato

Dynamic Topic Modeling

Problemi

Si riscontra un problema nellutilizzo di LDA


su testi corti come quelli dei tweet. Le matrici
che vengono a crearsi sono molto sparse e il
modello potrebbe avere difficolt a generare
le distribuzioni di probabilit sui topic e sui
termini. Inoltre importante denotare che i
dati estratti da Twitter potrebbero contenere
parecchio rumore: sono tipicamente presenti
parole scritte con errori di battitura e parole
scritte attraverso luso di slang (come "u" al
posto di "you").

IV.
I.

Caso di Studio

Dataset scelti

Il caso di studio scelto cercher di mostrare


lindividuazione dei topic pi importanti per
ricerche su Twitter con la parola chiave "paris". Lobiettivo quindi scoprire quali sono
le sensazioni degli utenti riguardo a questo
tipo di argomento. I dataset su cui si andr
ad effettuare lesperimento sono stati scelti in
3

Data And Text Mining Gennaio 2016 Progetto dEsame

date particolari (tabella 1) facendo riferimento


ad eventi collegati alla citt di Parigi nei giorni
intorno agli attentati del 13 Novembre 2015.
importante notare che la ricerca con la parola
chiave "paris" non rende univocamente definito
il recupero di tweet legati alla citt di Parigi,
vengono anche recuperati, ad esempio, tweet
che riguardano la squadra di calcio (Paris Saint
Germain) o che riguardano altri casi relativi
allutilizzo, proprio o improprio, della parola
"paris" in altri contesti, ad esempio: esistono
celebrit che si chiamano Paris, ma esistono
anche persone che, sulla scia della popolarit
raggiunta, sfortunatamente, dopo gli attentanti
a Parigi usano lhashtag "#paris" per rendere
pi visibili e popolari i loro tweet, aumentando
cos il rumore allinterno dei nostri dati.
Per alcuni dataset stato necessario effettuare lacquisizione su un intervallo di tempo
pi ampio; questo perch, per alcuni giorni,
non si era in grado di recuperare un numero
soddisfacente di tweet che potesse servire sia a
fare le analisi che a fare i confronti con gli altri
dataset. In generale sono stati raccolti circa
50000 tweet per ogni "span temporale".
Data del dataset
9-11/11/2015
13-14/11/2015
21-22/11/2015
27-30/11/2015
3-4/12/2015
7-10/12/2015

Motivazione della scelta


Prima degli attentati
Attentati a Parigi
Allarme Bruxelles
Cop21 sul clima
Attentati USA
Elezioni in Francia

Tabella 1: Dataset

II.

Applicazione Topic Modeling

Vengono qui restituiti i risultati per il topic


modeling con 5 topic, che sembra risultare
quello pi interessante dal punto di vista dei
risultati. Le analisi hanno portato allindividuazione di diversi argomenti allinterno dei
tweet di ogni dataset. In particolar modo si
pu notare come largomento principale, per
quanto riguarda il dataset del 13/11/2015, sia
4

quello degli attentati, come gi stimato a priori.


Prima degli attentati gli argomenti risultano
vari, mentre nei giorni dopo rimane abbastanza evidente la presenza dei termini "attacks" e
"terror", relazionati agli avvenimenti dei giorni
precedenti. Riportiamo di seguito, per fornire
un esempio completo, la tabella con i risultati riguardanti la classificazione con LDA del
dataset del 21-22/11/2015 (tabella 2). I topic
possono essere cos interpretati:
topic 0, possibilit di attacchi a Bruxelles,
la citt stata chiusa di conseguenza.
topic 1, il gruppo Anonymous informa della possibilit di attentati da parte
dellISIS il 22 Novembre 2015.
topic 2, il topic riguarda la band degli Eagles of Death Metal che stava suonando
a Parigi durante gli attentati.
topic 3, qui, facendo sempre riferimento
agli attentati di Parigi, si parla di come
la polizia Turca possa aver catturato un
sospettato di tali attentati. In questo caso
la parola climate risulta fuori luogo.
topic 4, largomento in questione quello del racconto di una infermiera che ha
tentato di salvare un attentatore suicida,
sempre durante gli attentati di Parigi.
Come si pu vedere, non facile evincere
quale sia il topic, anche perch in tutti i topic
presente la parola chiave "attacks", fatto abbastanza prevedibile visto che il tema principale
allinterno del periodo in cui sono stati raccolti
i dati: tutti incentrati intorno agli attacchi di
Parigi (lhashtag #parisattacks una delle principali cause della presenza di questo elemento,
eliminando solo la parola paris rimane la parola attack). Osservando i risultati del topic 4
non si subito in grado di capire quale sia la
relazione tra le parole "bomber" (attentatore) e
"nurse" (infermiera), infatti stato necessario
fare delle ricerche con le parole chiave per
poter apprendere a fondo il significato della
notizia. Per avere una controprova a volte
necessario andare ad osservare a quali topic

Data And Text Mining Gennaio 2016 Progetto dEsame

sono stati assegnati i tweet, in modo da potere


interpretare meglio la semantica del topic.
Topic
topic_0
topic_0
topic_0
topic_0
topic_0
topic_1
topic_1
topic_1
topic_1
topic_1
topic_2
topic_2
topic_2
topic_2
topic_2
topic_3
topic_3
topic_3
topic_3
topic_3
topic_4
topic_4
topic_4
topic_4
topic_4

Term
attacks
brussels
attack
threat
terror
attacks
isis
anonymous
world
sunday
attacks
france
death
eagles
metal
attacks
attack
police
climate
turkey
attacks
attack
bomber
nurse
attackers

Tabella 2: Classificazione dataset del 21-22/11/2015

Rianalizzando il precedente problema si


provato a studiare una soluzione alla ripetitiva presenza delle parole "attack" e "attacks"
allinterno del dataset. Il nostro obiettivo era
eliminare quei termini che sono talmente frequenti da diventare troppo superflui. Calcolare
la frequenza globale dei termini e poi trovare
un modo per eliminare quelli la cui frequenza
risultava troppo elevata sembrata essere una
buona idea. Abbiamo quindi provato a computare IDF (partendo, precedentemente, dalla
creazione della bag of word) e ad eliminare
quelle parole che ottengono uno score inferiore ad una soglia scelta. Per scegliere la soglia
si computato il quartile inferiore di tutta la

colonna IDF dei termini, in modo da poter avere un modello sistematico per eliminare quei
termini che sono troppo presenti nella collezione; questo procedimento pu tuttora essere
effettuato nel workflow Knime allegato semplicemente modificando il nodo "if" del controllo
di flusso riguardante lapplicazione di questo
metodo. I risultati non sono quelli sperati (figura 1): avendo tagliato i termini pi frequenti
si sono effettivamente persi i termini pi importanti. Impostando una soglia manuale si
possono ottenere risultati nettamente migliori,
ma questa soglia va cambiata per ogni dataset e
non quindi da considerarsi come un metodo
efficace per eliminare il problema.

Figura 1: Tag con filtro lower quartile

Ragionando a posteriori si utilizzata unaltra tecnica per poter portare avanti lo studio
senza che le parole rovinassero lanalisi. Lassunzione che stata fatta stata la seguente:
dato per evidente che ci sono stati degli attentati
a Parigi, posso eliminare dai dataset anche queste
parole chiave. Riportiamo quindi la tag cloud ottenuta dopo aver effettuato lanalisi con questo
metodo in figura 2. Risulta qui pi evidente quello di cui si parlava prima: c allerta
terrorismo a Bruxelles, inoltre in un topic che
potremmo definire "cronaca legata agli attentati a Parigi", oltre alla gi precedentemente
visibile storia dellinfermiera che ha tentato di
salvare un attentatore, si pu osservare la comparsa della parola "mali", presente per via degli
attentati svoltisi il 22 Novembre in un hotel in
Mali.
5

Data And Text Mining Gennaio 2016 Progetto dEsame

Figura 2: Tag 21-22 senza "attack"

Visto il netto miglioramento nella qualit


dei risultati, il procedimento stato riproposto
anche per le altre classificazioni con LDA (ovviamente su quella precedente al 13 Novembre
avr un effetto nullo o negativo). A titolo di
esempio portiamo le tag cloud di tre dataset in
ordine di tempo nelle figure 3, 4 e 5. Si nota
molto bene come si sia passati da una visione
abbastanza positiva (si parla di un torneo di
tennis, della premiere di un film, della vicina conferenza sul clima, e di gite a Parigi) ad
una visione molto negativa, accompagnata da
parole come terrore e preghiere, si torna poi
ad una visione pi incentrata sulla conferenza
sul clima, sulle proteste effettuate dalle persone contrarie alla conferenza fatte appoggiando
per terra le loro scarpe (proteste che appartengono per ad un topic differente rispetto
a quello incentrato sul clima) e sul voto per
lazione militare in Siria da parte della Francia
dopo gli attentati. Si evidenzia che nella classificazione del 09-11 appare la parola Iran in
un contesto che non il suo: stata classificata
male. Nella successiva classificazione di LDA
effettuata con lausilio di 7 topic questa stata
inserita nel contesto corretto: il tema quello
delle esecuzioni in Iran.

Figura 3: Tag 09-11 senza "attack"

Figura 4: Tag 13-14 senza "attack"

Figura 5: Tag 27-30 senza "attack"

Merita considerazione anche in questo caso


il problema del rumore dei dati. Esistono diversi tweet che contengono hashtag caldi con
il semplice scopo di farsi pubblicit. Vengono
quindi recuperate parole che non hanno molto
in comune con il tema affrontato, per fare un
esempio, abbiamo recuperato spesso lhashtag
"gamedev" insieme a tutti i dati; questo perch
esistono tweet come "7 things that happened
at this years British Fashion Awards link
#BreakingNews #ParisAttack #Paris #gamedev", che non ha alcun senso rispetto ai temi
analizzati. Lalgoritmo LDA sugli ultimi due
dataset ha portato ad ottenere come word, per
un particolare topic, lhashtag "#gamedev".
importante sottolineare come per quanto
riguarda gli ultimi due dataset non si riusciti a recuperare informazioni sugli attentati a
San Bernardino, negli Stati Uniti e riguardo le
elezioni svoltesi in Francia. Questo probabilmente derivato dal fatto che i tweet vengono
recuperati solo se contenenti la parola chiave
"paris" e non sono molti, anche se esistono, i
tweet che parlano, ad esempio, degli attentati
sia a Parigi che a San Bernardino.
Si poi provato a fare unanalisi quantitativa dei dataset. Presi i dataset del 09-11
Novembre e quelli del 13-14 Novembre si
provato a classificarli insieme con LDA per ve-

Data And Text Mining Gennaio 2016 Progetto dEsame

dere in che topic-cluster venivano distributi i


documenti. Abbiamo quindi denominato il dataset del 09-11 come pre attentati e il dataset
del 13-14 come post attentati. I risultati sono
visibili nella tabella 3. Si pu vedere come per
entrambi i dataset i tweet vengano messi in
cluster di topic differenti; questo pu essere
indice di un repentino cambio di argomento
"importante" tra i due dataset, infatti il topic
0 contiene parole come "attack", "terror", "victims" e "isis" e ha al suo interno tweet pubblicati dopo gli attentati, mentre il topic 3 contiene
parole come "djokovic", "fashion" e "masters"
che indicano due argomenti di cui si parlava
verso il 10 Novembre. Unico caso in cui i tweet
vengono messi nello stesso cluster quello del
topic 4, che contiene parole come "terror" e "climate". Questo perch prima degli attentati si
parlava della conferenza sul clima, ma dopo
di questi non solo non si smesso di parlare
della conferenza, anzi si parla anche della paura che possano esserci attentati anche durante
tale evento.
Topic
0
1
2
3
4

Post
18.116
3.362
21.650
2.607
6.396

Pre
1.992
18.589
4.035
10.730
7.601

Tabella 3: Tabella classificazione clustering

III.

Applicazione Dynamic TM

Il codice rilasciato per la computazione dei


topic dinamici rende necessario il lancio di
diversi comandi da terminale. I dati forniti
in ingresso devono essere strutturati in modo
particolare: bisogna dividere i tweet in timewindow (in modo che lalgoritmo possa capire
quali sono le slice di tempo su cui deve fare
le analisi), ogni tweet deve essere inserito in
un singolo file. Questo ha portato a generare pi di 200000 file di testo di dimensione
molto ridotta. In generale la successiva procedura di computazione la seguente: per
prima cosa viene effettuato il preprocessing

dei dati (che in parte sono gi stati trattati da


noi in una fase preliminare di pulizia con il
tool Knime) eliminando le stopword e computando tfidf; successivamente vengono trovati
i topic di ogni sessione temporale e poi, una
volta scelto quanti topic dinamici si vogliono
considerare, vengono computati questi ultimi.
Insieme a questo algoritmo viene fornita una
procedura per individuare quale sia il numero
migliore di topic dinamici da computare. Le
misurazioni hanno portato a far estrarre dal
corpus sette topic dinamici, il risultato pu essere visto nella tabella 4. I risultati da cui si
riesce ad estrarre pi informazioni sono quelli
riguardanti il topic 1, il topic 2 ed il topic 4. Per
quanto riguarda il primo topic si pu osservare
come alle informazioni riguardanti gli attacchi vengano accostate quelle che riguardano
lallerta in Belgio, lidentificazione dei sospetti
(avvenuta nei giorni successivi agli attentati).
Per il secondo e quarto topic (entrambi con riferimento alle tematiche legate al clima), si pu
vedere come entrambi abbiano al loro interno
le parole "deal" (il quarto persino "agreement"),
ad indicare che largomento nel tempo si evoluto fino a portare ad un accordo sul clima.
Una sottile differenza tra i due topic pu essere trovata guardando le parole, il topic due
sembra essere pi vicino ad uninformazione
di tipo politico ("obama" e "leaders" supportano questa teoria, in oltre, tra le altre parole
recuperate nel topic dinamico erano presenti
anche "saudi" e "arabia"), mentre la seconda
probabilmente pi vicina agli scontri e alle
preoccupazioni post attentati riguardo la tematica del clima ("brandalism" e "terror"). Gli altri
topic risultano essere pi difficili da interpretare, anche se contengono dati comunque gi
osservati con le classificazioni con LDA.

V.

Discussione

I punti su cui ci si era interrogati erano due:


capire quali sono gli argomenti di cui si parla intorno ad un certo argomento e studiare
levoluzione di questi argomenti.
7

Data And Text Mining Gennaio 2016 Progetto dEsame

Rank
1
2
3
4
5
6
7
8
9
10
11

D01
attacks
terror
victims
isis
belgium
response
suspects
news
military
vote
petition

D02
climate
talks
change
summit
conference
ahead
world
leaders
deal
obama
action

D03
france
news
russia
terror
puppy
police
send
solidarity
people
wake
night

D04
cop21
climatechange
deal
terror
live
climatemarch
news
brandalism
climate
call
agreement

D05
attack
alert
brussels
terrorist
death
eagles
metal
terror
fears
killed
risk

D06
love
people
world
prayers
pray
city
live
trump
support
guns
isis

D07
attacker
bataclan
identified
syria
police
photo
bomber
hall
concert
french
protesters

Tabella 4: 7 Topic dinamici

I.

Topic Modeling

I risultati aiutano nella maggior parte dei casi ad avere una vaga idea di quali sono gli
argomenti pi "caldi", come mostrato precedentemente si pu dedurre che a Bruxelles
stato annunciato il rischio terrorismo semplicemente facendo analisi sui tweet. Si inoltre
riusciti a scoprire altre notizie prima sconosciute, come linfermiera che ha soccorso un
attentatore ed il fatto che la Russia ha regalato
un cucciolo di cane alla Francia dopo che uno
dei loro cani era morto durante le manovre
di polizia per proteggere la citt (la parola
"puppy" nella figura 2 fa riferimento a questo
evento), ma stato necessario leggere i tweet
per poter capire effettivamente di cosa si stesse
parlando. Spesso si deve quindi ricorrere ad
unanalisi approfondita, facendo ricerche esterne, per capire quale il vero tema di un topic.
rilevante ribadire che si dovuti intervenire
a mano su alcuni dati (cancellando le parole
"attack" e "attacks") per poter ottenere informazioni pi precise.

Si notato che in generale allaumentare


del numero di topic da recuperare alcuni argomenti diventano pi chiari, ma i risultati
rischiano di diventare ancora pi rumorosi dei
casi trattati in precedenza.
8

II.

Dynamic Topic Modeling

I risultati ottenuti con questa tecnica sono stati


poco chiari e non molto produttivi. Solo alcuni topic mostrano una struttura interessante.
Questo problema potrebbe essere stato generato dal fatto che i tweet sono composti da molto
poco testo e le matrici generate risultano essere
molto sparse. Fondamentalmente potrebbero
anche essere troppi 7 topic considerati su diversi dataset costruiti intorno alla stessa parola in
un periodo di tempo abbastanza corto. Si provato ad utilizzare un numero di topic inferiore
ma i topic poco interessanti persistevano a discapito di quelli interessanti. Potrebbe essere
quindi proprio lalgoritmo, utilizzato a scatola
chiusa, a non essere adatto per questo tipo di
procedure.

VI.

Future Works

Sarebbe stato interessante, e pu essere uno


spunto per un lavoro successivo, inserire nella valutazione anche il numero di retweet e
di "preferiti" che ogni tweet ha ricevuto, visto
che sono valori contenuti nei dataset. Inoltre si
potrebbero studiare quale la variazione dei topic studiando come cambiano a seconda della
lingua utilizzata. Questo potrebbe essere fatto
utilizzando sia il tool per filtrare le lingue che
stato descritto in precedenza oppure estraendo dati geolocalizzati in certe aree geografiche
(per rispondere alla domanda "cosa ne pensa il

Data And Text Mining Gennaio 2016 Progetto dEsame

paese X del fatto Y?"). In fine sarebbe stato molto interessante valutare pi a fondo il sistema
di Dynamic Topic Modeling e capire quanto
applicabile su questo tipo di dati e, nel caso,
vedere come sarebbe possibile intervenire.

Riferimenti bibliografici
[1] David M Blei and John D Lafferty. Dynamic topic models. In Proceedings of the 23rd
international conference on Machine learning,
pages 113120. ACM, 2006.

[2] David M Blei, Andrew Y Ng, and Michael I


Jordan. Latent dirichlet allocation. the Journal of machine Learning research, 3:9931022,
2003.
[3] Derek Greene and James P. Cross. Unveiling the political agenda of the european
parliament plenary: A topical analysis.
CoRR, abs/1505.07302, 2015.
[4] Nakatani Shuyo.
Language detection
library for java, 2010.

Potrebbero piacerti anche