Você está na página 1de 36

Anlise de Sentimento de Tweets

Relacionados aos Protestos que ocorreram


no Brasil entre Junho e Agosto de 2013

Leonardo Pereira Santos

DE FRANA, TIAGO C.; OLIVEIRA, JONICE, ANLISE DE SENTIMENTO DE TWEETS


RELACIONADOS AOS PROTESTOS QUE OCORRERAM NO BRASIL ENTRE JUNHO
E AGOSTO DE 2013; 2014 DISPONVEL EM:

Sumrio

Resumo
Introduo
Metodologia
Anlise dos Resultados
Concluso

Resumo
Anlise do sentimento acerca dos
protestos que ocorreram no Brasil
entre os meses de Junho e Agosto de
2013
A anlise possvel pela aplicao de
tcnicas sobre uma massa de dados
formada por mensagens
disponibilizadas pelas pessoas na
Web.

Resumo
Dessa base foram retiradoos os
rudos, ento analisado.
Observou-se a polaridade (apoio ou
repdio aos protestos)expressa nos
tweets.
Aps anlise foi comprovado que a
maioria das mensagens apoiaram os
protestos.

Introduo
Redes sociais online so redes
formadas a partir da interao entre
pessoas, grupos ou instituies
motivadas por interesses ou
objetivos comuns que se relacionam
atravs de mdias digitais.

Introduo
TWITTER:
Um microblog que permite que as
pessoas divulguem qualquer tipo de
informao quase em tempo real para
todos aqueles ligados sua rede.
Publicaes limitadas a 140 caracteres.
Mais de 200 milhes de usurios que
geram aproximadamente 110 milhes
de tweets por dia.

Introduo
Analisar a polaridade expressa nos tweets relacionados
aos protestos.
Criao de uma base de tweets no perodo de Junho a
Agosto de 2013.
Mais de 300 mil tweets (aproximadamente 1GB de
contedo).
Deseja-se verificar o apoio ou repdio s manifestaes
atravs das opinies presentes nas mensagens coletadas.
Base de dados constituda em sua maior parte por
mensagens escritas em PT-BR
Existem poucos trabalhos que tratam de escritos
em portugus brasileiro.

Introduo
Verificao da polaridade (apoio ou
repdio as manifestaes) das
mensagens realizada utilizando os
algoritmos de aprendizagem
estatstica Naive Bayes.
Um sistema de classificao que
independe de linguagem com bons
resultados na literatura.

Metodologia
Trabalho realizado em duas etapas:
1. A criao de uma base de tweets
relacionados aos protestos e o prprocessamento dos dados coletados.
2. Treinamento do algoritmo e
verificao de sua acurcia atravs de
testes para comparao de
resultados.

1 - Coleta de dados e Prprocessamento


Baseada em uma lista de hashtags
relacionadas aos protestos.
A lista foi criada a partir da
observao dos termos mais comuns
utilizados nos tweets relacionados ao
evento.
A lista de hashtags foi utilizada na
consulta realizada atravs da API
disponibilizada pelo Twitter.

1 - Coleta de dados e Prprocessamento


Foram realizadas cinco coletas de
dados em perodos distintos entre os
meses de Julho a Agosto.
Os tweets retornados variam as
datas de publicao do dia 30 de
Junho ao dia 01 de Agosto do ano de
2013

1 - Coleta de dados e Prprocessamento


Foram realizadas cinco coletas de
dados em perodos distintos entre os
meses de Julho a Agosto.
Os tweets retornados variam as
datas de publicao do dia 30 de
Junho ao dia 01 de Agosto do ano de
2013

1 - Coleta de dados e Prprocessamento

Etapas da Anlise de Polaridade dos tweets

1 - Coleta de dados e Prprocessamento

1 - Coleta de dados e Prprocessamento


1. Retirada das informaes relevantes da base
utilizada.
2. Remoo de menes a perfis do Twitter.
3. Caracteres de pontuao removidos.
4. Remoo das URLs presentes nas
mensagens.
5. Remoo de stopwords.
6. Stemming, um processo extrao do radical
de uma palavra.
O mtodo utilizado remove apenas o sufixo de
uma palavra.

2 - Classificao
O modelo Naive Bayes assume que a
probabilidade de presena ou ausncia de
uma caracterstica particular de uma
classe no est relacionada com a
presena ou ausncia de qualquer outro
recurso.
O Naive Bayes utilizado neste trabalho
para realizar a classificao de textos
baseada em sentimentos presente nas
mensagens da base coletada.

2 - Classificao
O clculo da probabilidade realizado da
seguinte forma:

P[H | E] = (E[E | H] P[H]) / P[E]


H evento observado
E evidncia
P[H] probabilidade do evento antes da evidncia ser vista
P [H | E] probabilidade de H dado o evento E (ou seja, a probabilidade de H aps o evento
E ser visto)
P[E] somatrio da iterao de ambas as classes com a estimao da distribuio dos
termos sobre as classes.

2 - Classificao
O algoritmo Naive Bayes tem sido considerado um
mtodo eficaz de anlise.
Seu uso requer pouco treino durante a fase de
aprendizado.
capaz de calcular a probabilidade de uma mensagem
ser categorizada dentro de uma classe pr-definida
mesmo que os dados de entrada possuam rudos.
Textos so representados como bag of words para
serem classificados com base em um modelo
probabilstico As posies exatas das palavras so
ignoradas, e o classificador montado com base no
teorema de Bayes, assumindo independncia entre as
variveis (palavras)

2 - Classificao
O treino e os testes foram realizados a partir do uso
de uma base composta por 3 humanos construda a
partir de amostras de mensagens da base coletada.
Um conjunto de tweets foi analisado por humanos e
classificados como positivo (apoio aos protestos)
ou negativo (repdio aos protestos).
Esse processo teve como objetivo cruzar os
votos de cada um dos pesquisadores e eleger
qual sentimento classificaria cada tweet.

2 - Classificao
Criao de dois conjuntos com 100 tweets
cada.
1 conjunto: Mensagens positivas.
2 conjunto: Mensagens negativas.
70% da base rotulada por humano foi
utilizada no treino.
30% dessa base foram utilizados para teste
e verificao da acurcia do algoritmo.

3 Anlise dos Resultados


Foi verificada a acurcia, a varincia, o
desvio, desvio padro, preciso, recall e
Macro-Avaraged.
Coleta realizada com um crawler
desenvolvido em Python.
Aps a extrao dos campos de interesse
para a anlise, a remoo de stopwords e
o stemming foram implementados usando
a linguagem Python e o mdulo NLTK
(Natural Language Toolkit)

3 Anlise dos Resultados


Hashtags utilizadas na coleta
#acordabrasil OR #vemprarua OR
#ForaFifa OR #ogiganteacordou OR
#anonymousbrazil OR #MPL OR
#passelivre OR #pec37 OR #mudabrasil
OR #ChangeBrazil OR #anonymousbrazil
OR #protesto OR #foradilma OR
#protestorj OR #protestabrasil OR
#primaverabrasileira OR #forafeliciano
OR #ocupa OR #copapraquem OR
#protest OR #pec33 OR #pec99

3 Anlise dos Resultados


Aps treinar o algoritmo fornecendo
ao NLTK 70% dos tweets classificados
por humanos e rotulados como
positivos ou negativos, utilizou-se os
30% restante para analisar a
acurcia.

3 Anlise dos Resultados


Acurcia (A), Varincia (V), Desvio
Padro (DP), Preciso (P%), Recall (R
%), Macro-Averaged (Ma-A) e F-score
(F%) do classificador para as
categorias testadas.

3 Anlise dos Resultados


Matriz de Confuso

3 Anlise dos Resultados


Os resultados obtidos so
satisfatrios, dada a capacidade
humana de avaliao corretada
subjetividade de um texto variar de
72% a 85%.

Anlise da Polaridade por Tempo de


Coleta

Anlise da Polaridade por


Localizao
O Twitter permite a localizao
manual ou pela coleta de dados do
GPS.
A localizao manual pode ser
inconsistente.
Neste trabalho foi utilizada apenas
tweets com coordenadas fornecidas
pelo GPS.

Anlise da Polaridade por


Localizao
Quantidade de Tweets por grupo

Anlise da Polaridade por


Localizao
Quantidade de Tweets por Estado

Anlise da Polaridade por


Localizao
Sentimento de Tweets por Regio

Concluso
O trabalho foi baseado no algotitmo
Naive Bayes e analisou tweets em PT-BR.
Tal algoritmo adaptvel a vrios
idiomas e capaz de analisar texto
poludos, como os tweets.
Este trabalho torna-se importante pela
existncia de poucos trabalhos que
estudem anlise de sentimentos em PTBR

Concluso
As coletas foram realizadas
utilizando apenas hashtags que
estivessem diretamente ligadas ao
protesto.

Trabalhos futuros
Criar um conjunto maior de treinos e testes
empregando rotulao de grupos de pessoas a cega.
Ou seja, cada pessoa rotula o tweet e o conjunto de
mensagens rotuladas so comparadas para se chegar a
um consenso.
Aumentar o nmero de mensagens de treino e testes, e
realizar anlises mais detalhadas usando funes de
distribuio acumulativa e teoria da deciso para
verificar a robustez da polaridade das mensagens
realizando possveis ajustes de limiar.
Utilizar outros mtodos de anlise de sentimentos para
comparar os resultados obtidos entre os mtodos.

Dvidas?

Obrigado!

Você também pode gostar