Você está na página 1de 88

ANLISE ADAPTATIVA DE FLUXOS DE

SENTIMENTO

ISMAEL SANTANA SILVA

ANLISE ADAPTATIVA DE FLUXOS DE


SENTIMENTO
Dissertao apresentada ao Programa de
Ps-Graduao em Cincia da Computao
do Instituto de Cincias Exatas da
Universidade Federal de Minas Gerais Departamento de Cincia da Computao.
como requisito parcial para a obteno do
grau de Mestre em Cincia da Computao.

Orientador: Renato Antnio Celso Ferreira


Coorientador: Adriano Alonso Veloso

Belo Horizonte
Maro de 2012

c 2012, Ismael Santana Silva.



Todos os direitos reservados.

Silva, Ismael Santana


S586a
Anlise adaptativa de fluxos de sentimento / Ismael
Santana Silva. Belo Horizonte, 2012
xxii, 66 f. : il. ; 29cm
Dissertao (mestrado) Universidade Federal de
Minas Gerais - Departamento de Cincia da
Computao.
Orientador: Renato Antnio Celso Ferreira
Coorientador: Adriano Alonso Veloso
1. Computao - Teses. 2. Redes sociais on-line Teses. 3. Twitter - Teses. I. Orientador. II.
Coorientador. III. Ttulo.
CDU 519.6*04(043)

Dedico este trabalho a minha famlia, Samuel, Sebastiana, Tatiana, Cristiane e


todos Tios e Primos. Exemplos de superao. Tudo isso foi por vocs! Dedico tambm
a Glvia (minha namorada) por todo companheirismo e ajuda durante todo esse tempo.

vii

Agradecimentos
Muito Obrigado,
Pai (Samuel), Me (Sebastiana), Irms (Tatiana e Cristiane), todos os Tios e
Tias. Sem vocs para me espelhar provavelmente no teria caminhado at aqui. Vocs
so fontes de inspirao, carinho e amor. Exemplos de superao! A melhor famlia do
mundo. Um agradecimento especial para meu Pai (Samuel) e minha Me (Sebastiana)
que souberam me educar e me guiar at aqui com muito amor.
Glvia (minha namorada), sempre companheira e sempre agraciando a todos
com sua ateno e empenho. Muito obrigado por me acompanhar pelos mais longos
caminhos e pelas incansveis revises nos nossos trabalhos. Agradeo tambm, por
aprender tanto sobre aprendizado de mquina e minerao de dados durante as minhas
repedidas explicaes em busca de uma inspirao.
A todos os colegas que conheci durante o meu mestrado. Soraia e Daniel, por
revisar vrios dos meus textos e muitos momentos de conversa. Rodrigo Silva e
Thatyene pelo apoio quando eu iniciei o mestrado. Janana pela participao em alguns
trabalhos. Walter e toda equipe do Observatrio da Web pela ajuda na obteno de
dados e construo de uma aplicao para demonstrao. Aos companheiros, Flvio
Roberto e Luiz Damilton. A todos os integrantes do laboratrio e-speed e PENSI.
Aos meus orientadores Renato Ferreira e Adriano Veloso, pela confiana, incentivo
e ajuda em todo o trabalho, foi um honra trabalhar com vocs. Muito obrigado
Professor Wagner, pela ajuda na pesquisa e revises nos trabalhos enviados para
conferncias. Agradeo ao Professor Mohammed Zaki, por orientar minhas pesquisas
durante perodo no Rensselaer Polytechnic Institute (RPI) e viabilizar minha estadia
nos EUA. Obrigado Professora Gisele por ter sido a primeira pessoa que me ajudou
com um tema de pesquisa.
Membros da banca, (Nivio, Wagner e Gisele), obrigada por aceitar o convite em
colaborar com essa pesquisa. Finalmente, a todos os funcionrios da UFMG e aos
rgos CAPES e UOL pela ajuda financeira durante o mestrado.

ix

Reconhecimento de padres est ligado busca de regularidades. Desde tempos


pr-histricos, o homem buscou regularidades em que pudesse confiar e que lhe desse
uma sensao de segurana em um mundo hostil.
(Autor desconhecido)
xi

Resumo
Nos ltimos anos, a tarefa de anlise de sentimentos tem atrado muito interesse
por parte da comunidade de Aprendizado de Mquina. Com o advento dos canais
de mdias sociais essa anlise tem ganhado fora, isso porque nessas aplicaes, os
usurios so convidados, continuamente, a compartilhar suas opinies e sentimento
sobre diferentes tpicos de discusso. Como consequncia, uma grande massa de
contedo opinativo gerada em tempo real. Muitas tcnicas de classificao automtica
tm sido utilizadas para realizar a anlise de sentimento, contudo consenso que o
modelo de chegada de mensagens a partir de mdias sociais segue o paradigma de fluxo
de dados e as tcnicas de classificao tradicionais no esto adequadas para tratar
as caractersticas especificas desse fluxo de sentimento. Entre os desafios impostos
s tcnicas classificao podemos destacar: (1) o sentiment drift (i.e., constantes
mudanas nas caractersticas dos dados), (2) a necessidade de atualizao em tempo
real do modelo de classificao a partir de mensagens mais recentes e (3) a quantidade
limitada de dados para treinamento dos algoritmos.
Neste trabalho, esses problemas foram estudados a partir de uma proposta de
aprendizado semi-supervisionado. O algoritmo proposto auto expande o conjunto de
treino, a partir de novas mensagens do fluxo e uma pequena semente de treinamento
inicial. Modelos de classificao so produzidos em tempo real a partir de regras de
associao, mantendo o modelo atualizado de maneira incremental. Dessa forma em
qualquer momento do evento, o modelo reflete o sentimento que est sendo transmitido.
Com intuito de tratar o sentiment drift, mensagens de treinamento so projetadas sobdemanda, de acordo com o contedo da mensagem sendo classificada. A projeo
de dados de treinamento oferece uma srie de vantagens, incluindo a habilidade de
rapidamente detectar tpicos de informao emergindo no fluxo.
Um estudo de caso foi realizado a partir das mensagens do Twitter, postadas
em tempo real em relao a trs importantes eventos de 2010: (1) Copa do Mundo de
Futebol; (2) Eleies Presidenciais do Brasil; e (3) Escolha da personalidade do ano pela
revista TIME. Atravs desse experimento observou-se que o desempenho da predio se
xiii

mantem, ou at aumenta, com o decorrer do fluxo e a incluso de novas mensagens no


conjunto de treinamento. Estes resultados so assegurados para diferentes linguagens,
em casos onde a distribuio do sentimento muda de diferentes maneiras com o decorrer
do tempo ou em casos onde a semente de treinamento inicial extremamente pequena.
Alm disso, uma anlise comparativa foi realizada onde as verses estticas (i.e.,
no ocorre atualizaes no modelo aps o treinamento inicial) dos mais populares
algoritmos foram consideradas como um limite inferior. Nessa comparao, verificouse que nossa abordagem eficiente nos cenrios analisados, provendo ganhos de 14% a
41%. Posteriormente, um limite superior foi definido, a partir de/da: (1) experimentos
utilizando a metodologia que considera todos os dados rotulados, (2) busca pelo melhor
tamanho de janela deslizante de treinamento para cada coleo de dados e (3) proposta
de uma nova tcnica de esquecimento em fluxo de dados, baseada em um processo de
amostragem ativa, denominada Janela Deslizante Ativa (JDA). A JDA foi capaz de
alcanar resultados equivalentes ao melhor tamanho de janela de treino (definido por
uma busca exaustiva) sem necessitar da configurao prvia do tamanho da janela.
Dessa forma, avaliou-se o quanto nossa abordagem auto treinamento se aproxima do
limite superior e verificamos que a soluo proposta atinge at 87% do limite superior,
utilizando somente uma pequena semente de dados rotulados.
Palavras-chave: Anlise de Sentimento, Fluxo de Dados, Concept Drift, Mdia
Social.

xiv

Abstract
Over the past years, the sentiment analysis task has attracted the interest of the
machine learning researchers. This interest has grown significantly due to the large
volume of opinionative content generated and shared via social media. Considering
the benefits of knowing the sentiment of the population regarding different topics and
entities, the analysis of the content generated by social medias it is a promising and
necessary task. Many automatic classification techniques have been used to perform
sentiment analysis, however it is consensus that the arrival pattern of messages from
social medias follows the data stream paradigm and the traditional classification
techniques are not adequate to address the specific characteristics of this sentiment
stream. Among the challenges imposed to classification techniques we can be highlight:
(1) concept drift (i.e., constant changes in data characteristics, which in this study was
approached as sentiment drift), (2) the need of real-time update of the classification
model from the most recent messages and (3) the limitation of computing and training
resource, which makes the two firsts challenges mentioned more difficult.
We analyzed these problems from a semi-supervised learning proposal. Our
algorithm adapts the training set, to the changes in the data, from a self-augmenting
training process with the passes of the stream. It uses a small seed as an initial
training and then classification models are produced in real-time using association
rules. This strategy keeps the model up-to-date incrementally, so that at any time
of the event the model reflects the sentiment that is being transmitted. In order to
address the sentiment drift, messages to training are projected on-demand, according
to the message content that is being classified. Projection of the training data offers
a number of advantages including the ability to quickly detect emerging trends in the
information stream. We conducted a case study using the Twitter messages, posted
in real-time, related to major events in 2010. In these experiments the performance
of the prediction kept the same or increased, with the passes of the stream and the
inclusion of new messages in the training set. We evaluated the proposed solution in
different languages, in cases where the sentiment distribution changed in different way
xv

over time and in cases where the initial training seed is rather small.
In order to complement our experiments, we performed a comparative analysis
with the static version (i.e., the model is not updated after the initial training) of
the most popular classification algorithms, which were defined as a lower bound.
Our approach showed extreme effective in these analyzed scenarios, providing gains
from 14% to 41%. We define an upper bound from experiments using the evaluation
methodology "interleaved test-then-train"and the search for the best sliding window
size to train each data set. Thereafter, we proposed a new forgetting technique in
the data stream, based on an active sampling process, called Active Sliding Window
(ASW). ASW was able to achieve results equivalent to the best window size (set by
exhaustive search) without prior setting of the window size, since the configuration
of this parameter by the user can be unfeasible, as shown in the experiments. We
analyzed how our semi-supervised approach approaches to the upper bound and we
found that it achieves up to 87% of the upper bound, using only a small seed of labeled
data.

xvi

Lista de Figuras
3.1
3.2
3.3
3.4

Distribuio de Frequncia dos Termos . . . . . . . . . . . . . . . . . . . .


Distribuio de classes ao longo do tempo . . . . . . . . . . . . . . . . . .
Nmero de Termos nicos Acumulado ao Decorrer do Tempo . . . . . . .
% termos que o maior valor de (q
si ) variou entre diferentes sentimentos
e entropia ao decorrer longo do fluxo . . . . . . . . . . . . . . . . . . . . .
3.5 Sensibilidade do paramtro min . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Copa do Mundo de Futebol - Derrota do Brasil (Portugus) . . . . . . . .
3.7 Copa do Mundo de Futebol - Derrota do Brasil (Ingls) . . . . . . . . . . .
3.8 Eleies Presidenciais no Brasil . . . . . . . . . . . . . . . . . . . . . . . .
3.9 Personalidade do Ano (Ingls). . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Aumento do Tamanho da Semente de Treinamento . . . . . . . . . . . . .
4.1
4.2

MSE com a variao do tamanho da janela deslizante de treinamento


aumentando-a de 100 em 100 . . . . . . . . . . . . . . . . . . . . . . . . .
MSE ao longo do tempo. As abordagens Todo o Treinamento, Janela
Deslizante e Janela Delizante Ativa consideram todas as mensagens para
treinamento com o rtulo correto logo aps seu processamento. . . . . . . .

xvii

25
27
31
34
39
41
43
44
45
47

54

57

Lista de Tabelas
3.1
3.2
3.3
3.4
4.1

Colees de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Melhores parmetros para cada algoritmo avaliado . . . . . . . . . . .
MSE alcanado pelo algoritmo de auto treinamento e verses estticas
diferentes algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tempo de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. .
. .
de
. .
. .

MSE alcanado com o limite superior e utilizando o algoritmo de auto


treinamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xix

24
36
37
48

55

Sumrio
Agradecimentos

ix

Resumo

xiii

Abstract

xv

Lista de Figuras

xvii

Lista de Tabelas

xix

1 Introduo

1.1

Motivao e Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Organizao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Trabalhos Relacionados

3 Aprendizado de Fluxo de Sentimento


3.1

13

Anlise de Fluxo de Sentimentos . . . . . . . . . . . . . . . . . . . . . .

13

3.1.1

Extrao de Regras Offline

. . . . . . . . . . . . . . . . . . . .

14

3.1.2

Predio de Sentimentos . . . . . . . . . . . . . . . . . . . . . .

15

3.1.3

Adaptao do Modelo Classificao em Tempo Real . . . . . . .

16

Avaliao Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.2.1

Colees de Dados . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.2.2

Caracterizao do Sentiment Drift

. . . . . . . . . . . . . . . .

29

3.2.3

Resultados Obtidos e Discusso dos Resultados . . . . . . . . .

35

4 Aproximao Experimental do Limite Superior para Anlise de


Fluxos de Sentimento

49

3.2

4.1

Esquecimento em Fluxos de Dados . . . . . . . . . . . . . . . . . . . .


xxi

50

4.2

4.1.1 Janela Deslizante de Tamanho Fixo . . . . . . . . . . . . . . . .


4.1.2 Janela treino Deslizante Ativa . . . . . . . . . . . . . . . . . . .
Avaliao Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . .

50
51
53

5 Concluso e Trabalhos Futuros

59

Referncias Bibliogrficas

61

xxii

Captulo 1
Introduo
A Web deixou de ser um espao que interliga exclusivamente documentos, pginas ou
recursos para tornar um ambiente de comunicao, no qual produtores e consumidores
de contedo se misturam e interagem, estabelecendo assim novas formas de criar,
organizar, compartilhar e utilizar o conhecimento [Easley & Kleinberg, 2010]. Uma
das fontes para gerao desse contedo so as mdias sociais (e.g., Orkut, Twitter
e Facebook), onde milhes de usurios so encorajados a compartilhar e expressar
suas opinies e sentimentos sobre os mais diversos tpicos e entidades. A ascenso
destes canais de mdias sociais baseados em texto tem atrado ateno da comunidade
cientifica. Isso porque a descoberta de conhecimento a partir do contedo expresso pelos
usurios da web oferece oportunidades estratgicas para diferentes reas [Bermingham
& Smeaton, 2010].
Nos ltimos anos a tarefa de analisar contedo, a partir dos sentimentos nele
expressos, tem sido amplamente estudada [Pang et al., 2002; Pang & Lee, 2008; Bifet
& Frank, 2010]. Nessa tarefa, a mensagem basicamente classificada de acordo com o
sentimento expresso pelo escritor a respeito de um tpico ou entidade. Considerando os
benefcios da anlise de sentimento e o potencial dos canais de mdias social como fonte
de contedo opinativo, cada vez mais se faz necessrio realizar anlise de sentimentos
a partir dos dados gerados nas mdias sociais.
A partir dessas aplicaes possvel mensurar o sentimento compartilhado
continuamente pela populao online sobre diversos assuntos (e.g., epidemias [Chew &
Eysenbach, 2010], eleies [Diakopoulos & Shamma, 2010] e eventos esportivos [Silva
et al., 2011c]), e o conhecimento obtido podem ser utilizado por diversas reas no
processo de tomada de deciso.
Existe uma crescente tendncia em executar anlise de sentimentos utilizando
tcnicas relacionadas a classificao [Pang et al., 2002; Bifet & Frank, 2010], um
1

Captulo 1. Introduo

processo que automaticamente constri um modelo de classificao por aprendizado da


caracterstica subjacente do texto, a partir de um conjunto de mensagens previamente
rotuladas (i.e., dados de treinamento), que distingue um sentimento de outro (e.g.,
felicidade, tristeza, fria, surpresa e desconfiana). O sucesso destes classificadores
se deve pela sua habilidade de julgar atitudes pelo significado de padres textuais
presentes nas mensagens, as quais geralmente aparecem na forma de expresses
idiomticas e combinaes de palavras. bem aceito que a qualidade dos dados de
treinamento, que fornecido para o classificador, crucial para a efetividade da anlise.
Apesar de no existir um consenso de como os dados de treinamento devem
ser produzidos, o custo de rotular manualmente uma vasta quantidade de mensagens
proibitivo, uma vez que a aquisio destas mensagens de exemplo pode requerer a
inspeo de um humano qualificado. Diante disso, formas alternativas para desse treino
tm sido propostas (e.g., tcnicas que fazem uso de alternativas semi-supervisionadas
[Chapelle et al., 2006] e de aprendizagem ativo [Settles, 2009]). Contudo, estas tcnicas
envolvem complexos procedimentos que so inviveis a serem realizados na velocidade
de chegada das mensagens.
Alm disso, as tcnicas de classificao tradicionais no esto adequadas para
a anlise de sentimento a partir do contedo compartilhado em mdias sociais. Isso
porque, na maioria dos casos essas tcnicas assumem que uma grande quantidade
de dados amostrada de uma distribuio estacionria para gerao do conjunto de
treinamento [Hulten et al., 2001]. Porm, essa considerao violada, porque nessas
aplicaes o processo de chegada dos dados segue o paradigma de fluxo de dados,
os quais esto sujeitos a constantes mudanas na distribuio e na maneira que os
sentimentos so expressos com o passar do tempo. Nesse trabalho este cenrio
chamado de fluxo de sentimento e a tarefa de separar os sentimentos nele contido
de anlise de fluxo de sentimento.
Gama & Mohamed [2007] definem fluxos de dados como uma sequncia de dados
ilimitada que chegam em tempo real, continuamente e em alta velocidade. Em relao
as fontes de fluxos de dados existentes possvel citar: monitoramento de redes,
rede de sensores, gerenciamento de dados de telecomunicaes, aplicaes financeiras e
aplicaes web. Pesquisadores apontam a anlise deste tipo dado como um dos maiores
desafios enfrentados atualmente em reas como aprendizado de mquina e minerao
de dados [Bifet, 2010; Bifet & Frank, 2010]. Dentre esses desafios possvel destacar:
A necessidade dos classificadores se adaptarem s constantes mudanas no fluxo
[Zhang et al., 2008] (conhecidas como: concept drift e que neste trabalho ser
tratado como sentiment drift) e;

1.1. Motivao e Objetivo

O fato dos classificadores operarem com limitaes de memria, tempo de


processamento e dados rotulados para treinamento.
Embora, existam propostas baseadas em aprendizado de mquina para anlise
de sentimento, elas no so suficientes para capturar e tratar o sentiment drift. Nesse
contexto necessrio propor solues para atualizao do modelo de classificao em
tempo real, e essa atualizao deve ocorrer de forma a permitir a adaptao do modelo
com a incluso e remoo de exemplos do conjunto de treinamento. Em outras palavras,
em anlise de fluxo de sentimento, aprender com o decorrer do fluxo to relevante
quanto esquecer o que j no descreve o sentimento atual.

1.1

Motivao e Objetivo

Conforme apresentado anteriormente, um modelo de classificao esttico no


adequado para realizar a tarefa de anlise do fluxo de sentimento gerado por mdias
sociais. Isso porque os dados mudam constantemente e estas tcnicas no dispem de
recursos para manter seu modelo atualizado. Alm disto, existe uma escassez de dados
rotulados para treinamento contnuo do classificador.
Sabendo que as tcnicas de aprendizado semi-supervisionado permitem melhorar
a eficcia de classificadores utilizando os dados no rotulados [Chapelle et al., 2006;
Balcan & Blum, 2005], possvel enraizar a hiptese de que: tcnicas de aprendizado
semi-supervisionado podem ser adequadas para a tarefa de anlise de fluxos sentimento
de forma a adaptar o classificador aos fenmenos de sentiment drift.
Diante disso, considerando a hiptese apresentada e motivados tanto pelos
desafios impostos pela anlise de sentimento em fluxo de dados, quanto pela a carncia
de tcnicas para resolver os problemas existentes nesse cenrio, o objetivo deste
trabalho consistiu em analisar e propor solues para o problema relacionado a falta
de dados rotulados para treinamento do classificador, bem como, minimizar os desafios
em relao a identificao, caracterizao e tratamento do sentiment drift.

1.2

Contribuies

Em termos de contribuies este trabalho apresenta uma soluo para aprendizado de


sentimentos utilizando um modelo de classificao composto por regras de associao.
Aps uma pequena semente de treinamento ser fornecida para o classificador, ele
capaz de extrair regras que consistem em mapeamentos locais que relacionam os
sentimentos a padres textuais nas mensagens. Alm disso, trs novas caractersticas

Captulo 1. Introduo

fazem a nossa proposta uma soluo diferenciada para tratar com diferentes
configuraes de sentiment drift, operando com recursos limitados:
1. A aplicao de um procedimento de auto aumento de treino, o qual incorpora
confiveis predies como novas informaes de treinamento, e como resultado
os dados de treinamento so automaticamente aumentados como o passar das
mensagens do fluxo. O modelo de classificao imediatamente renovado
mantendo as regras atualizadas incrementalmente, ento a prxima mensagem
no fluxo pode ter vantagens pela informao includa recentemente;
2. Uma estrtegia de sub judice, de acordo com a dificuldade do fluxo, o classificador
pode abster de predies duvidosas, criando um bloco de mensagens que
esto temporariamente esperando por uma predio de confiana. Estas
mensagens para as quais nenhuma predio possvel com somente as mensagens
de treinamento disponvel at o momento, se beneficiam de informaes de
treinamento futuras, adquiridas enquanto elas estavam esperando;
3. Execuo de projeo dos dados de treinamento sob demanda [Veloso & Meira Jr.,
2011], o que determina uma especfica (potencialmente diferente) projeo de
treinamento para cada mensagem que chega atravs do fluxo. As mensagens de
treinamento que compem cada projeo so automaticamente selecionadas de
acordo com o contedo da mensagem que est sendo analisada. Argumentamos
que esta uma poderosa estratgia para tratar diferentes tipos de sentiment
drift, uma vez que elimina mensagens de treinamento que no significativas
para a mensagem que est sendo analisada. Demonstramos que as mensagens
removidas no so prejudiciais para o desempenho de predio, e que o nmero
de regras extradas a partir de cada projeo de treino cresce polinomialmente
com o tamanho do vocabulrio, no importando o valor de suporte mnimo. Isso
permite que o classificador concentre-se em tendncias de informao que esto
emergindo no fluxo, enquanto permanece livre de uma enorme quantidade de
informaes inteis.
Essas caractersticas foram propostas de forma a se complementar. Isso porque
elas produzem um efeito sinrgico no sentido de que ambas precisam uma da outra
para funcionar corretamente. A capacidade de auto aumentar o treino assegura a
incluso de novas mensagens no conjunto de treinamento, que so necessrias para
produzir projees de treinamento atualizadas. Neste ponto, o uso de restries tpicas
de custo computacional baseadas em limiares de suporte mnimo poderia comprometer

1.2. Contribuies

o processo, uma vez que padres importantes que esto emergindo no fluxo seriam
podados, e como resultado, o modelo de classificao se tornaria obsoleto e incapaz de
responder s tendncias de opinio.
Portanto, a fim de detectar rapidamente o surgimento de novas informaes no
fluxo de mensagens, o classificador deve extrair regras sem empregar restries de
frequncia com base no suporte. Como ser demonstrado, a abordagem de projeo
sob demanda assegura que regras so eficientemente extradas a partir da projeo
de treinamento, mesmo sem aplicar restries de suporte. Alm disso, o custo
associado com a extrao de regras grandemente amortizado devido a uma abordagem
incremental sem perdas, o que reduz drasticamente o nmero de acessos para os dados
de treino.
Para avaliar a eficcia da soluo proposta, um conjunto de experimentos
sistemticos utilizando colees de mensagens do Twitter (ricas em sentimentos que
retratam trs eventos importantes no ano de 2010) foi utilizado. Analisamos diferentes
cenrios de aprendizagem (i.e., diferentes sentimentos, idiomas, tamanhos de sementes
treinamento e diferentes tipos de mudanas nos sentimentos). Comparamos nossa
abordagem com as verses estticas de algoritmos estado da arte e os resultados
mostram que nossa proposta mais efetiva sobre diversos cenrios de aprendizado,
alcanando ganhos que variam de 14% a 41%. Embora tenhamos realizado um estudo
de caso no Twitter, as tcnicas propostas so aplicveis a qualquer fonte de dado que
compartilhe as mesmas caracteristicas deste sistema.
Definimos uma aproximao do limite superior para o problema abordado no
trabalho com a executamos uma srie de experimentos utilizando a metodologia de
avaliao interleaved test-then-train [Gama et al., 2009; Dawid, 1984; Bifet & Frank,
2010], a qual considera que todas as mensagens esto disponveis com o seu rtulo
correto para atualizao do modelo logo aps o seu processamento.
Durante a definio do limite superior, foi apresentada uma contribuio que se
trata de uma nova proposta para remoo de exemplos desatualizados do conjunto de
treinamento (i.e., esquecimento) na anlise de sentimento em fluxo de dados.
Essa proposta baseada na teoria de Aprendizado Ativo e foi denominada de
Janela Deslizante Ativa (JDA). Ela pode ser aplicada em uma outra perspectiva do
problema de anlise de fluxos de sentimento, ou seja, em cenrios que os exemplos
para treinamento so disponibilizado ao decorrer do fluxo (i.e., mensagens chegam
rotuladas). O objetivo dessa proposta foi prover ao classificador a capacidade de manter
os exemplos mais significativos no conjunto de treino com um vis temporal. Isto
porque, conforme descrito anteriormente, neste cenrio, aprender com o decorrer do
fluxo to relevante quanto esquecer o que j no descreve o sentimento atual.

Captulo 1. Introduo

Verificamos experimentalmente que JDA foi capaz de alcanar resultados


equivalentes ao melhor tamanho de janela de treino (definido com exaustivos
experimentos para cada coleo de dados) sem necessitar da configurao prvia deste
parmetro. Uma vez que a configurao do tamanho de janela treinamento pelo
usurio pode ser invivel como mostrado nos experimentos.
Finalmente, nosso trabalho apresenta uma caracterizao do sentiment drift que
ocorre em diferentes eventos do mundo real. Tal caracterizao se faz relevante pois
permite uma melhor compreenso de como ocorrem as mudanas no fluxo de sentimento
em vrios cenrios e, consequentemente, favorece a criao de tcnicas que permitam
tratar essas mudanas durante o processo de classificao automtica em fluxo de dados.
As solues apresentadas nesse trabalho, resultados preliminares e aplicaes
foram apresentados em [Silva et al., 2011a] [Silva et al., 2011b] [Silva et al., 2011c].

1.3

Organizao do texto

Esta dissertao est organizada em 5 Sees. Na prxima seo, apresentamos os


trabalhos relacionados e estratgias existentes para anlise de fluxo de dados. Em
seguida, as solues propostas e a avaliao experimental realizada. Na quarta seo
definimos um limite superior para a abordagem de auto treinamento e verificamos o
quanto os resultados dessa abordagem se aproximam deste limite. Finalmente, a ltima
seo apresenta as concluses alcanadas.

Captulo 2
Trabalhos Relacionados
Nos ltimos anos a tarefa de analisar contedo, a partir dos sentimentos nele expressos,
tem sido amplamente estudada [Bifet & Frank, 2010]. Considerando os benefcios
da anlise de sentimento e o potencial dos canais de mdias social como fonte de
contedo opinativo, cada vez mais se faz necessrio realizar anlise de sentimentos
a partir do fluxo de dados gerados atravs dessas aplicaes. No entanto, esse tipo de
anlise apresenta vrios desafios a serem contornados pelas tcnicas de minerao de
dado. Isto porque classificadores devem operar com recursos limitados de computao
e treinamento e tratar do concept drift. A seguir so apresentadas diferentes estratgias
propostas para lidar com concept drift em fluxos de dados.
Na tentativa de contornar os problemas advindos do concept drift, muitos
trabalhos abordam tcnicas de manuteno de reservatrio de amostragem em fluxo
de dados. Essa amostragem realizada com uma funo probabilstica de um registro
ser includo ou retirado do reservatrio. Aggarwal [2006] apresenta uma soluo para o
vis temporal das amostras em um reservatrio. Os autores fazem uso de uma funo
temporal para regular a escolha da amostra no fluxo de dados. Tal soluo eficiente
em casos onde desejvel obter resultados com e sem vis temporal. No artigo foram
apresentadas as vantagens do mtodo para o problema de estimativa de consultas,
anlise de evoluo e classificao.
Al-Kateb et al. [2007] estudaram reservatrios de amostragens em fluxos de
dados com tamanho adaptativo sob duas perspectivas: (1) tamanho do reservatrio
e a (2) uniformidade da amostra. A partir desse estudo, os autores apresentaram 4
contribuies. Primeiro, os resultados baseados em estudos tericos mostraram que o
ajuste do tamanho de um reservatrio de amostragem pode impactar de forma negativa
sobre a probabilidade da amostra se tornar uniforme. Em seguida, eles propem um
novo algoritmo para manuteno da amostra aps o ajuste no reservatrio. A terceira
7

Captulo 2. Trabalhos Relacionados

contribuio consiste na ampliao desse algoritmo para um algoritmo adaptativo que


trabalha com multi reservatrios para amostragem e, finalmente, a quarta contribuio
refere-se aos resultados empricos do algoritmo adaptativo em relao ao tamanho do
reservatrio e a uniformidade da amostragem. Esses resultados mostraram que os
mtodos de amostragem propostos so eficientes na minerao sequencial.
Li et al. [2007] por sua vez, introduzem um mtodo de deteco de mudanas. Esse
mtodo assume que os pontos no fluxo de dados so gerados de forma independente,
mas tambm assume a natureza do processo de gerao dos mesmos. Esta abordagem
utiliza uma funo para determinar a distncia entre dois exemplos, um valor limite
para determinar se ocorreram mudanas e tcnicas de amostragem para decidir quais
pontos dos dados sero analisados.
No trabalho de Bifet & Gavald [2007] apresentado um arcabouo para
desenvolvimento de algoritmos que podem aprender adaptativamente em fluxos de
dados com o tempo. Este mtodo baseado no uso de detectores de mudanas
e estimadores de mdulos em locais altos. apresentado um algoritmo de janela
deslizante adaptativo (Adaptive Sliding WINdow - ADWIN), uma janela de tamanho
varivel ao decorrer do tempo, para detectar mudanas e manter estatsticas do fluxo
de dados, ele utilizado em algoritmos no projetados para dados com concept drift.
Chu et al. [2004] prope uma abordagem para o problema de minerao em fluxo
de dados a partir de um modelo discriminativo para minerao e aprendizagem rpida
em fluxos com rudo. Nesse trabalho foi construdo um comit de classificadores que
adaptado de maneira ponderada de forma a maximizar a vizinhana dos dados. O
objetivo foi combinar adaptao ao concept drift e robustez ao rudo, empregando
tcnicas estatsticas para diminuir o problema de sensibilidade a estes. Os autores
formularam o problema de classificao ponderada como um problema de regresso,
objetivando maximizar a vizinhana dos dados para o conceito atual. Este mtodo de
deteco foi integrado ao modelo global de aprendizado.
Zhang et al. [2008] categoriza o concept drift em 2 cenrios: concept drift livre
(do ingls, Loose Concept Drifting - LCD) e concept drift rigoroso (do ingls, Rigorous
Concept Drifting - RCD), e ento prope uma soluo para lidar com cada um
separadamente. Para o LCD, dado que o conceito adjacncia das partes dos dados
so suficientemente prximos, foi aplicado o Kernel Mean Matching (KMM) para
minimizar a discrepncia das partes dos dados. Cada processo de minimizao produz
instncias ponderadas para construo de um conjunto de classificadores e para lidar
com o concept drfit em fluxo de dados.
Para o RCD, dado que o conceito dos dados pode mudar de forma aleatria e
rpida, foi proposto um o mtodo Optimal Weights Adjustment (OWA) para determinar

o valor de peso timo para os classificadores treinados com os dados mais recentes.
Dessa forma, classificadores podem formar um conjunto preciso para prever os prximos
casos nos dados. Experimentos em bases de dados reais e sintticas mostram que a
abordagem de instncia ponderada prefervel quando o concept drift a principal
causa pela mudana na distribuio dos dados.
Zhang et al. [2009] prope um SVM de aprendizado cooperativo baseado na
estratgia de sistema de multi-agente de acordo com as caractersticas cooperativas e de
sistemas distribudos. Isso porque o SVM normalmente no escalvel para problemas
de classificao em grandes conjuntos de dados devido a sua alta complexidade no
processo de treino. Neste arcabouo o fluxo de dados chega aos agentes mestres que o
particionam em pequenas sees, as quais podem ser atribudas aos agentes escravos.
As sees de dados em cada agente escravo so utilizadas para treinar os SVMs, esses
por sua vez, so combinados de acordo com suas compatibilidades.
Outros trabalhos utilizam algoritmos de aprendizado incremental.
Esses
algoritmos tendem a evoluir ao longo do tempo de acordo com o fluxo de dados que
eles recebem e, alm disso, visam detectar e reagir a mudanas no ambiente de gerao
de dados. Gama et al. [2009] realizam um trabalho cujo objetivo consistiu em propor
um arcabouo que visa avaliar a qualidade de algoritmos de aprendizagem de fluxo de
dados. Os autores utilizaram estimativas de erro sequencial preditiva (ou Interleaved
Test-Then-Train), atravs de uma janela deslizante para avaliar o desempenho desses
algoritmos.
Seidl et al. [2009] propem uma tcnica baseada em ndice para lidar com 3
desafios utilizando um classificador Bayesiano, os desafios consistem em: (1) lidar com
um grande montante de dados, (2) o tempo variado entre dois itens do fluxo deve ser
utilizado da melhor forma possvel e (3) dados adicionais no treino devem ser aprendidos
de forma incremental.
Outros trabalhos como os realizados por [Fukuhara et al., 2007] e [Bifet &
Frank, 2010] tratam de anlise de sentimento em fluxos de dados. O artigo de
Fukuhara et al. [2007] apresenta uma abordagem que avalia tendncias temporais de
sentimentos e de tpicos. O mtodo baseado na presena de palavras chaves tais
como "happy"ou "delighted at". Bifet & Frank [2010] apresentam uma discusso sobre
o desafio de minerao em fluxo de dados do Twitter focando no problema de anlise
de sentimentos. Neste trabalho foram avaliados os algoritmos Multinomial Naive
Bayes (MNB), Stochastic Gradient Descent (SGD) e Hoeffding Tree. Para o primeiro
experimento foi utilizado um conjunto de treino rotulado a partir dos emoticons
contidos na mensagem (e.g. :) :( ) e o conjunto de teste foi rotulado manualmente
e o algoritmo que mostrou maior eficcia foi o MNB. Um segundo experimento foi

10

Captulo 2. Trabalhos Relacionados

realizado com o conjunto de dados rotulados somente a partir dos emoticons contidos
nas mensagens, nesse experimento o algoritmo que apresentou melhor resultado foi o
SGD.
Embora os trabalhos acima citados estejam utilizando tcnicas de comit
(ensemble), aprendizado incremental, janela deslizante e amostragem adaptativas para
adaptar as tcnicas de aprendizado de mquina s mudanas em fluxos de dados, o alto
custo da rotulagem ainda persiste, principalmente se considerarmos aplicaes onde o
tempo de resposta pequeno (e.g. a cada 1 minuto a classificao de todos os dados do
minuto anterior deve ser realizada) ou imediato. Alm disso, algumas dessas tcnicas
apresentam um custo computacional elevado [Hulten et al., 2001], uma vez que utilizam
mais de um classificador para classificao dos dados ou detectores de mudanas.
Com o intuito de contornar esse problemas, Masud et al. [2008] apresentam uma
tcnica para classificao a partir de um conjunto de treinamento com dados no
rotulados e um pequeno nmero de exemplos rotulados de cada uma das partes do
fluxo. Esta tcnica constri micro-grupos com agrupamento semi-supervisionado e
a classificao realizada com o algoritmo de k vizinhos mais prximos (K-Nearest
Neighbor - KNN). Um conjunto desses modelos utilizado para classificar os dados
no rotulados. Nas avaliaes realizadas utilizando apenas uma pequena quantidade
de dados rotulados, essa abordagem superou o algoritmo para classificao em fluxo de
dados On Demand Stream, o qual utilizou vinte vezes mais dados rotulados.
Zhu et al. [2010] prope um arcabouo de aprendizado ativo baseado em um
comit de classificadores, com o objetivo de reduzir o custo na rotulao de exemplos
para treinamento. Esse arcabouo rotula seletivamente instncias do fluxo de dados
para construir um conjunto de classificadores. Os autores argumentam que a varincia
do conjunto de classificadores corresponde diretamente a taxa de erro, ento reduzir a
varincia do conjunto equivalente a melhorar a preciso das predies. Sendo assim
as instncias que devem ser rotuladas so aquelas que minimizam a varincia do comit
de classificadores.
No trabalho proposto o princpio de varincia mnima para guiar a rotulao dos
exemplos, alm disto, um mtodo de clculo de peso timo derivado, para determinar
os valores dos pesos para cada classificador no conjunto. Estes so combinados para
formar um arcabouo de aprendizado ativo para fluxo de dados. Os autores avaliaram
o desempenho do classificador comparando-o com outras abordagens utilizando dados
sintticos e reais. Os resultados mostraram que a natureza dinmica do fluxo de dados
impe desafios significativos aos algoritmos de aprendizado ativo.
O trabalho aqui proposto se diferencia dos apresentados anteriormente uma vez
que apresenta uma abordagem para gerao de treino automaticamente minimizando

11

interveno humana de forma a capturar o concept drift. Alm disso, essa abordagem
no gera o custo computacional proveniente das tcnicas de ensemble, j que utiliza
apenas um classificador e um algoritmo, baseado em regras de associao, para
aprendizado incremental.
Em termos de trabalhos relacionados a aprendizado semi-supervisionado em fluxo
de dados podemos citar os realizados por [Wu et al., 2006; Seidl et al., 2009; Li
et al., 2010]. Wu et al. [2006] propem o clustering-training, um algoritmo semisupervisionado que tem como objetivo agrupar exemplos no rotulados do fluxo, em
uma das suas partes, aps a classificao dos mesmos. Nesta abordagem, se o exemplo
agrupado em um grupo equivalente a classe atribuda ao mesmo pelo classificador,
esse se torna um exemplo de confiana e passa a ser utilizado para treinar novamente
o classificador de uma maneira incremental.
Li et al. [2010] apresentam um algoritmo semi-supervisionado para classificao
em fluxo de dados com concept drift e dados no rotulados (SUN) baseado em rvore de
deciso. Nessa abordagem os dados no fluxo so rotulados a partir do agrupamento com
dados rotulados e a classe atribuda a eles majoritria no grupo ao qual o exemplo
atribudo. O concept drift dividido nos tipos: potencial, plausvel e brusco, de
acordo com o nvel de rudo do fluxo identificado pela diferena entre o histrico de
clusters gerados e o cluster dos dados que chegam. Os resultados do algoritmo so bons
se comparados aos algoritmos Concept-adapting Very Fast Decision Trees (CVFDT)
[Hulten et al., 2001] e Concept drifting Detection based on an ensembling model of
Random Decision Trees (CDRDT).
Em trabalhos como os realizados por [Jansen et al., 2009; Bermingham &
Smeaton, 2010; Diakopoulos & Shamma, 2010], so realizadas caracterizaes dos
sentimentos expressos atravs de mensagens do Twitter em relao a marcas e eventos
do mundo real (e.g., debates). Jansen et al. [2009] apresentam os resultados de uma
pesquisa realizada em micro-blogs. O objetivo foi verificar se esses micro-blogs podem
ser considerados um mecanismo para propaganda online a ser explorado por marcas de
produtos.
No trabalho os autores analisaram os comentrios, sentimentos e opinies
expressos sobre algumas marcas. Como resultado Jansen et al. [2009] identificaram
que os micro-blogs podem ser utilizados pelas marcas tanto para obter quanto para
distribuir informaes aos clientes. Constatou-se que, atravs dos micro-blogs, eles
podem identificar a aceitao do seu produto, divulg-los e fazer campanha de
marketing a partir dos sentimentos expressos pelos consumidores. Logo, os autores
concluem que evidente a contribuio dos micro-blogs para esse seguimento e que
esses podem se tornar uma fonte promissora de inteligncia competitiva.

12

Captulo 2. Trabalhos Relacionados

Bermingham & Smeaton [2010] apresentam a web em tempo real como uma nova
rea de foco para anlise de sentimentos e discute as motivaes e desafios por trs
desta. Os autores apontam aplicaes como o Twitter como um bom exemplo de fonte
para obteno dessas informaes. O trabalho apresenta uma reviso da anlise de
sentimentos na web em tempo real como uma futura orientao para pesquisas.
Diakopoulos & Shamma [2010] caracterizam as mensagens enviadas atravs do
Twitter em relao a um debate poltico de acordo com a forma com que as pessoas
esto reagindo a ele e demonstram metodologias analticas e representaes visuais que
podem ajudar a compreender melhor a dinmica temporal do sentimento em relao
ao debate. No entanto, os autores no esto interessados na deteco automtica dos
sentimentos ou de um vencedor ou perdedor. Para cada minuto do debate a agregao
dos tweets foi realizada como o nmero de tweets positivos menos o nmero de tweets
negativos.
Os trabalhos acima apresentados mostram que o Twitter utilizado como mdia
de expresso de sentimento. Contudo, eles apontam a necessidade de tcnicas de
classificao automtica das mensagens em relao aos sentimentos. Diante desse
cenrio, no trabalho aqui proposto, apresentamos uma soluo para esta necessidade,
tratando peculiaridades da tarefa como o sentiment drift e necessidade de resposta de
tempo real.
Embora alguns trabalhos abordem anlise de sentimento em fluxo de dados (e.g.,
[Bifet & Frank, 2010; Fukuhara et al., 2007]), nenhum deles apresentou uma soluo
como a aqui proposta. Soluo essa que no utiliza emoticons ou expresses, como em
[Bifet & Frank, 2010; Fukuhara et al., 2007], para a classificao das mensagens, uma
vez que essas abordagens so propensas a erros de interpretao e no so capazes de
capturar tipos de sentimentos aos quais nenhum emoticon (ou expresso) associado.

Captulo 3
Aprendizado de Fluxo de
Sentimento
Neste captulo ser apresentada a soluo proposta para aprendizado de sentimentos
que so expressos em um fluxo de mensagens.

3.1

Anlise de Fluxo de Sentimentos

A tarefa de aprendizado de fluxos de sentimento, no contexto deste trabalho, definida


como a seguir. Temos como entrada uma pequena semente de treinamento (referenciado
como D), o qual consiste de um conjunto de registros na forma de < d, si >, onde
d uma mensagem (representada como uma lista de termos, q1 , q2 , . . ., qn ) e si
o sentimento implcito em d. Mensagens em D so unicamente identificada e a
varivel sentimento s assume seus valores de um conjunto pr-definido e discreto de
possibilidades (e.g., s1 , s2 , . . ., sk ).
A semente de treinamento utilizada para construir uma funo relacionando
padres textuais nas mensagens aos seus respectivos sentimentos. Uma sequncia de
mensagens futuras, ordenadas cronologicamente, (referenciadas como T ) consiste de
um registro < t, ? > para o qual somente os termos na mensagem t so conhecidos,
enquanto o sentimento expresso em t desconhecido.
Os modelos de classificao obtidos a partir de D so utilizados para mensurar
os sentimentos para cada mensagem em T . Contudo, mensagens em T chegam em
um fluxo contnuo, desta forma o classificador deve operar com recursos limitados de
computao enquanto produz modelos de classificao. Alm disso, o classificador deve
se auto adaptar devido ao sentiment drift, sendo capaz de adquirir novas informaes
para treinamento como o passar do fluxo, e selecionar as mensagens de treinamento
13

14

Captulo 3. Aprendizado de Fluxo de Sentimento

que so relevantes para cada mensagem em T .


Existem muitos paradigmas e estratgias para elaborao de classificadores para
anlise de sentimentos [Pang et al., 2002; Pang & Lee, 2008]. A maioria destas
estratgias de classificao no adequada para lidar com dados em tempo real
chegando atravs de fluxos. Algumas estratgias [Breiman et al., 1984; Cortes &
Vapnik, 1995] so especificamente concebidas para classificao offline, e isso um
problema porque, nestes casos, a produo de modelos de classificao em tempo
real pode ser inaceitavelmente custosa. Diante dessas circunstncias, estratgias de
classificao alternativas podem se tornar mais convenientes. A seguir descrevemos
modelos de classificao compostos de regras de associao [Veloso et al., 2006], e como
estes modelos so utilizados para quantificar sentimentos.
Definio 1. Uma regra de sentimento uma regra de associao especializada X

si , onde o antecedente X um conjunto de termos, e o consequente si o sentimento


previsto. O domnio para X o vocabulrio de D. A cardinalidade da regra X
si
dada pelo nmero de termos no antecedente, que |X |. O suporte de X , que
denotado como (X ), o nmero de mensagens em D tendo X como um subconjunto.
A confiana da regra X
si , denotada como (X
si ), a probabilidade condicional
do sentimento si dados os termos em X , que calculada de acordo com a Equao 3.1.
(X
si ) =

3.1.1

(X si )
(X )

(3.1)

Extrao de Regras Offline

A abordagem mais simples para a aprendizagem de sentimento utilizando regras de


sentimento a offline, onde um conjunto de regras extrado a partir dos dados de
treinamento D, e ento, essas regras compem o modelo de classificao.
Definio 2. O modelo de classificao denotado como R e este composto
por um conjunto de regras X
si extrada de D. O modelo representado
como um conjunto de entidades na forma <chave, valor >, onde chave={X , si } e
valor ={(X ), (X si ), (X si )}. Cada entidade no conjunto corresponde a uma
regra e a chave utilizada para viabilizar o acesso rpido s propriedades das regras.
O processo de extrao dividido em 2 passos: contagem para definio do
suporte e clculo da confiana. Uma vez que o suporte (X ) conhecido, simples
computar a confiana (X
si ) para a regra correspondente [Zaki et al., 1997].

3.1. Anlise de Fluxo de Sentimentos

15

Existem vrias estratgias de suporte inteligentes [Han et al., 2004; Agrawal et al.,
1993; Zaki et al., 1997] e muitas extratgias para reduzir a ordem de complexidade
[Bayardo et al., 2004] podem ser utilizadas.
Geralmente, o clculo do suporte para o conjunto de termos em D inicia com
a explorao de todas as mensagens em D e clculo do suporte de cada termo
isoladamente. Na prxima iterao, conjuntos de termos 2 (i.e., conjunto de tamanho
2) so enumerados utilizando os conjuntos de termos de tamanho 1, e seus valores de
suporte so calculados acessando os dados de treinamento. A pesquisa pelos conjuntos
de termos prossegue, e o processo de enumerao repetido at os valores de suporte,
para todos os conjuntos de termos em D, serem finalmente calculados.
Obviamente, o nmero de regras aumenta exponencialmente com o tamanho
do vocabulrio (i.e., o nmero de termos distintos em D) e restries de custo
computacional devem ser impostas durante a extrao de regras. Tipicamente, a
espao de pesquisa para regras restringido a partir de poda de regras que no
aparecem frequentemente em D (i.e., abordagem de suporte mnimo). Enquanto tais
restries fazem a extrao de regra factvel, elas tambm levam a perdas nos modelos
de classificao, uma vez que algumas regras so podadas e no so inclusas em R.

3.1.2

Predio de Sentimentos

Uma vez que o modelo de classificao R extrado a partir de D, regras so


coletivamente utilizadas para mensurar os sentimentos das novas mensagens que
chegam atravs de T . Basicamente, o modelo interpretado como uma votao, na
qual cada regra {X
si } R um voto dado por X para o sentimento si . Dada
uma mensagem t T , uma regra X
si somente considerada como um voto vlido
se esta regra aplicvel para t.
Definio 3. Uma regra {X
si } R dita ser aplicvel para a mensagem t T
se X t. Ou seja, se todos termos em X esto presentes em t.
Nem toda regra em R aplicvel a uma especfica mensagem t T .
Eventualmente, o modelo pode conter muitas regras que no so aplicveis nenhuma
mensagem em T . Estas regras so ditas inteis, e o conjunto de todas as regras inteis
em R so denotas como R .
Denotamos como Rt o conjunto de todas as regras em R que so aplicveis para
a mensagem t T . Assim, somente e todas as regras em Rt so consideradas como
votos vlidos quando estiverem mensurando os sentimentos na mensagem t. Portanto,

16

Captulo 3. Aprendizado de Fluxo de Sentimento

para m mensagens futuras em T = {t1 , t2 , . . . , tm } o modelo de classificao R pode


ser decomposto como {Rt1 Rt2 . . . Rtm R }. Regras em R representam um
desperdcio de recurso computacional, e podem poluir o modelo de classificao com
informaes irrelevantes, idealmente |R | = 0.
Alm disso, denotamos como Rst i o subconjunto de Rt contendo apenas regras
predizendo o sentimento si . Votos em Rst i tm pesos diferentes, dependente da
confiana das regras correspondentes. calculada a mdia dos votos ponderados,
por (X
si ), para o sentimento si , dando uma pontuao para o sentimento si a
respeito mensagem t, como mostrado na Equao 3.2:
P
s(t, si ) =

(X
si )
si
|Rt |

(3.2)

Finalmente, os pontos so normalizados, conforme expresso pela funo p(si |t),


como mostrado na Equao 3.3. A funo de pontuao estima a probabilidade do
sentimento si como a atitude implcita na mensagem t.
p(si |t) =

s(t, si )
k
X
s(t, sj )

(3.3)

j=0

3.1.3

Adaptao do Modelo Classificao em Tempo Real

O desempenho associado aos modelos de classificao estticos tende a se deteriorar ao


longo do tempo [Hulten et al., 2001]. Isto ocorre principalmente devido ao sentiment
drift [Widmer & Kubat, 1996], o qual acontece quando a distribuio de dados em T
diferente do que em D. A diferena geralmente aumenta ao longo do tempo, e em
algum ponto no tempo os dados de treinamento podem eventualmente se tornar sem
sentido e o modelo de classificao obsoleto [Bifet, 2010].
Drift comumente observado em ambientes de fluxo contnuo, sendo evidenciado,
quando: (1) ocorrem mudanas na distribuio dos sentimentos; ou (2) quando a
relao entre padres textuais e sentimentos muda [Zhang et al., 2008; Forman, 2006],
i.e., ocorre mudana na probabilidade condicional ((X
si )) de um sentimento si
dado um conjunto de termos X . Nestes casos a adaptao do modelo essencial para
controlar as mudanas nos sentimentos ao longo do tempo.
Existem vrias estratgias para utilizar dados no rotulados no auxlio do
aprendizado Blum & Mitchell [1998]; Chapelle et al. [2006]; Wu et al. [2006].
Na prxima seo sero apresentadas as estratgias propostas neste trabalho para
atualizao em tempo real do modelo de classificao utilizando os dados no rotulados

17

3.1. Anlise de Fluxo de Sentimentos

que chegam a partir de T .


3.1.3.1

Incluso de Novos Dados

A fim de adaptar o modelo de classificao adequadamente, mandatrio coletar


as informaes mais atuais emergindo no fluxo. As mais recentes mensagens
de treinamento podem ser obtidas atravs da explorao das previses realizadas
utilizando a funo de pontuao de sentimentos mostrada na Equao 3.3. Estas
previses podem ser utilizadas para atribuir sentimentos s mensagens, gerando
mensagens rotuladas. Alm disso, as previses confiveis podem ser consideradas como
corretas e gerar mensagens rotuladas cofiveis, as quais podem ser includas em D.
Definio 4. Dada uma mensagem arbitrria tj T , dizemos que < tj , si >
uma mensagem rotulada confivel se p(si |tj ) l(si , t). l(si , t) representa um limiar
adaptativo definido na Equao 3.4. Na equao a constante 0.5 utilizada para
especificar que a primeira mensagem inserida em D tenha a confiana, na predio,
maior que a soma das confianas dos outros sentimentos acompanhados, m(t) o
nmero de mensagens processadas at a mensagem t e min um fator especificado
pelo usurio (k min 1, 0), onde k o nmero de sentimentos rastreados.

l(si , t) = min

0.5 +

Pm(t)1
u=0

m(t)

p(si |tu )

(3.4)

O proposito utilizar l(si , t) como um limiar adaptativo, que equivale ao desvio


da mdia de p(si |t) nas predies anteriores a t, que indica a confiabilidade da predio.
Consideramos que o esperado que a confiana (
p(si |t)) seja prxima da mdia, uma
vez que p(si |t) alcana um valor acima da mdia existem indcios que a predio est
correta e que a mensagem t carrega informaes importantes.
Utilizamos o min como um fator para indicar o quanto o p(si |t) deve desviar
da mdia para ser considerada como uma mensagem rotulada confivel e inclui-la nos
dados de treinamento D. Esta estratgia visa tambm evitar o alto vis para um
sentimento, em D, durante a classificao das mensagens. Isso porque o surgimento
repentino de um grande volume de mensagens com um mesmo sentimento pode fazer
com que o treino D seja composto, na sua maioria, por mensagens da uma mesma classe,
tornando invivel a auto incluso de mensagens com algum sentimento contrrio.
Intuitivamente, se as previses so de fato confiavelmente corretas, os dados de
treinamento sero continuamente aumentados com novas informaes de treinamento,
mantendo os dados de treinamento atualizados como a evoluo do fluxo. No entanto,

18

Captulo 3. Aprendizado de Fluxo de Sentimento

o uso de suporte baseado em poda durante a extrao das regras impede o pleno
potencial do auto aumento do treino, uma vez que altamente provvel que o modelo
de classificao R ser composto apenas das regras mais gerais em D, e a maioria destas
regras podem no ser aplicveis a mensagens futuras que transportam informaes de
tendncias.
Definio 5. Dada uma mensagem t T , dizemos que o modelo R agnstico para
t, se Rt = . Ou seja, se R no contm regras que so aplicveis a t. Um modelo R
dito gnstico se Rt 6= t T .
Considerando que um valor de suporte mnimo ideal que garante um modelo de
classificao gnstico improvvel de existir, como discutiremos na prxima seo,
nossa extrao de regras deve ser livre de suporte, a fim de produzir modelos gnsticos
e explorar todo potencial e benefcios do auto aumento de treinamento.
3.1.3.2

Extrao de Regras Online com Projeo de Dados

At agora discutimos a extrao de regras offline, entretanto, a extrao de regras


online (em tempo real) oferece vrias vantagens. Uma dessas vantagens que os
classificadores se tornam capazes de extrair eficientemente regras a partir de D sem a
aplicao de poda baseada em suporte. A ideia por trs de extrao de regras online
evitar completamente a extrao de regras inteis, projetando os dados de treinamento
sob demanda [Veloso & Meira Jr., 2011]. Mais especificamente, a extrao de regras
adiada at que uma mensagem t T dada. Em seguida, os termos em t so
utilizados como um filtro que configura os dados de treino em D de uma maneira que
apenas regras que so aplicveis a t podem ser extradas. Este processo de filtragem
produz um conjunto de treinamento projetado, denotado por Dt , que contm apenas
termos que esto presentes na mensagem t.

Lema 1 Todas as regras extradas de Dt so aplicveis a t.


Prova Uma vez que todas as mensagens de treinamento em Dt contem apenas
termos que esto presentes na mensagem t, a existncia de uma regra X
si extrada
a partir de Dt , tal que X * t, impossvel. 
O Lema 1 implica que a projeo de treino sob demanda assegura que |R | = 0,
evidenciando que apenas as regras inteis no esto includas no modelo de classificao
R. O prximo teorema afirma que o classificador extrai de forma eficiente regras a partir

3.1. Anlise de Fluxo de Sentimentos

19

de D, no importando o valor de suporte mnimo (que pode ser arbitrariamente baixo).


A intuio chave que o classificador atua somente em termos que so conhecidos por
estarem associados uns aos outros, diminuindo drasticamente o espao de busca das
regras.

Teorema 1 O nmero de regras extradas a partir de Dt cresce polinomialmente com


o nmero de termos distintos em D.

Prova Seja n o nmero de termos distintos em D. Uma vez que uma mensagem
arbitrria t T contm no mximo l termos (com l  n), ento qualquer regra
aplicvel a t pode ter no mximo l termos no seu antecedente. Isto , para qualquer
regra {X
si }, tal que X t, |X | l. Consequentemente, o nmero de possveis


regras que so aplicveis a t l + 2l + . . . + ll = O(2l )  O(nl ). Assim, o nmero
de regras aplicveis aumenta polinomialmente em n. .
Outra vantagem proporcionada pela projeo de treino sob demanda vem do fato
de que a projeo tambm explora, como um efeito colateral, a localidade temporal
associada aos termos em D. Isto particularmente importante para lidar com o
sentiment drift, uma vez que, projetando os dados de treinamento de acordo com o
contedo de uma mensagem t T , o classificador est essencialmente concentrandose nas informaes para treinamento representativas em quadros temporais de dados
praticamente contnuos. No entanto, decidir o quo recentes estes quadros devem ser
uma questo complicada, uma vez que diferentes mensagens em T podem exigir
quadros de treinamento posicionados em diferentes pontos da linha do tempo do fluxo.
Ou seja, algumas mensagens em T podem exigir quadros de treinamento mais
recentes, enquanto as outras mensagens em T pode exigir mais antigas. Assim, em vez
de empregar um tamanho fixo de quadros temporais para todas as mensagens em T
(o que equivale ao uso de uma janela deslizante de tamanho fixo), nosso classificador
emprega um quadro diferente (ou seja, Dt ) para cada mensagem t T . A proximidade
no tempo dos quadros de treinamento para uma mensagem arbitrria t decidido
com base nos termos que esto na prpria mensagem. Uma vez que estes termos so
cronologicamente relacionados de alguma forma, os dados de treinamento projetados a
partir de Dt so susceptveis a conter mensagens de treinamento representativas para
mensurar os sentimentos na mensagem t.

20

Captulo 3. Aprendizado de Fluxo de Sentimento

3.1.3.3

Estendendo Modelos de Classificao Dinamicamente

Com a extrao de regras online, ns estendemos o modelo de classificao R


dinamicamente medida que as mensagens em T so processadas. Inicialmente R
est vazio, um submodelo Rti anexado a R a cada momento que o classificador
processa uma mensagem ti . Assim, aps o processamento de uma sequncia de m
mensagens {t1 , t2 , . . . , tm }, o modelo R {Rt1 Rt2 . . . Rtm }, e, portanto, R
gnstico a todas as m mensagens.
Produzir um submodelo Rt envolve extrao de regras a partir de Dt . Esta
operao tem um custo computacional significativo, uma vez que necessrio
executar vrios acessos a D. Diferentes mensagens em T = {t1 , t2 , . . . , tm } podem
exigir diferentes submodelos {Rt1 , Rt2 , . . . , Rtm }, mas diferentes submodelos podem
compartilhar algumas regras (i.e., {Rti Rtj } =
6 ). Neste caso, a memorizao
muito eficaz para evitar a replicao de trabalho, reduzindo o nmero de operaes de
acesso a dados.
Dessa forma, antes de extrair a regra X
si , o classificador verifica se esta regra
j est em R. Se uma entrada encontrada com a chave correspondente a {X , si }, ento
a regra em R utilizada ao invs de extra-la a partir de Dt . Se ela no for encontrada,
a regra extrada a partir de Dt e depois ela inserida em R. As principais etapas
deste processo so resumidas no Algoritmo 1.
Algoritmo 1 Extrao de Regras Online
Require: mensagem t T e D
Ensure: Rt e R
1:
2:
3:

Dt D projetado de acordo com os termos em t


Rt regras {X si } 6 R, extradas a partir de Dt
R Rt R

3.1.3.4

Manuteno Incremental do Modelo

As entidades no modelo de classificao R podem se tornar invlidas quando mensagens


rotuladas confiveis < t, si > so includas em D. Como resultado, R deve ser
atualizado corretamente. Propomos manter o modelo atualizado de forma incremental,
de modo que o modelo atualizado seja exatamente o mesmo que seria obtido atravs
da sua reconstruo total.
A velocidade de atualizao uma questo chave na manuteno do modelo e
um desafio que ameaa a eficcia de nossa abordagem, uma vez que, o modelo pode
ser composto de um nmero potencialmente grande de regras, e atualizar todas essas

3.1. Anlise de Fluxo de Sentimentos

21

regras podem ser inaceitavelmente caro em um ambiente de fluxo de dados. Entretanto,


nem todas as regras em R precisam ser atualizadas.
Lema 2. A incluso de uma mensagem rotulada < t, si > em D no altera o valor de
(X ), para qualquer conjunto de termos X 6 t
Prova. Como X 6 t, o nmero de mensagens em D tendo X como um subconjunto
essencialmente o mesmo que em {D t}. 

Lema 3. A incluso de uma mensagem rotulada < t, si > em D no alterar o valor


de (X
s), para qualquer regra de {X
s} R para o qual X 6 t, s
{s1 , s2 , . . . , sk }.
Prova. Est diretamente relacionada ao fato de que a confiana invariante sob a
operao de adio nula [Tan et al., 2002]. 
A partir dos Lemas 2 e 3, o nmero de regras que devem de ser atualizadas, devido
incluso de uma mensagem rotulada < t, si >, limitado pelo nmero de possveis
termos em t. Como a maioria das mensagens que so includas em D contm apenas
uma frao muito pequena do total de termos possveis, a incluso de uma mensagem
arbitrria t corresponde a uma adio nula para a maioria das regras em R. O lema a
seguir estabelece exatamente as regras em R que devem que ser atualizadas.
Lema 4. As nicas e todas as regras em R que devem ser atualizadas devido
incluso de uma mensagem rotulada < t, si > so aquelas em Rt .
Prova. Todas as regras {X
si } R que devem que ser atualizado devido
incluso de < t, si > so aquelas que X t. Por definio, Rt contm apenas e todas
as regras extradas para t. 
Uma vez que as regras {X
s} Rt so recuperadas a partir de R, a atualizao
dos valores correspondentes a (X ) e (X
s) uma operao simples. Basta iterar
sobre Rt e incrementar os valores de (X ) e (X s). Os valores correspondentes a
s)
s {s1 , s2 , . . . , sk }. Essas etapas
(X
s) so obtidos atravs do clculo de (X
(X )
esto resumidas no Algoritmo 2.

22

Captulo 3. Aprendizado de Fluxo de Sentimento

Algoritmo 2 Manuteno Incremental do Modelo


Require: mensagem rotulada < t, si >, D, e Ri
Ensure: R
for all regras {X s} Rt do
incremente (X )
incremente (X si )
si )
4:
(X si ) (X
(X )
5: end for

1:
2:
3:

3.1.3.5

Estratgia de Sub judice

Dada a restrio de que p(si |t) deve ser maior ou igual a l(si , t) para que a mensagem
t seja inserida em D, algumas predies podem no ser confiveis o suficiente, dado
certo valor de l(si , t) (i.e., p(si |t) < min ). A estratgia de sub judice 1 consiste em no
utilizar tais predies duvidosas e no informar a predio realizada para a mensagem
imediatamente, como o classificador no tem evidncias suficientes para realizar um
julgamento confivel, as mensagens so mantidas em uma fila de espera S, ou seja,
mantidas em sub judice.
Quando novas mensagens confiveis so inclusas em D, novas evidncias de
sentimentos so exploradas, esperanosamente aumentando a confiana das mensagens
em S que foram previamente mantidas em sub judice, fazendo que elas possam
ser classificadas. Mais especificamente, quando uma mensagem rotulada confivel
inclusa em D, o classificador reavalia todas as mensagens que esto em S (sub judice).
No fim do processo, ou as mensagens duvidosas se tornam confiveis (provavelmente
melhorando a desempenho da predio), ou no existem mais mensagens rotuladas
confiveis para serem includas em D e, portanto, as mensagens restantes que esto
em sub judice devem ser processadas normalmente. O processo termina quando todas
as mensagens em T so processadas pelo classificador. Os passos principais esto
resumidos no Algoritmo 3.
As mensagens so mantidas em sub judice em uma fila de tamanho |S|, e so
retiradas de sub judice em dois casos: (1) Quando p(si |t), t S, se torna maior ou
igual a l(si , t); e (2) Quando o nmero de mensagens em sub judice for igual a |S|,
necessariamente, a primeira mensagem da fila removida e processada.
A estratgia de sub judice uma importante ferramenta para tratar o sentiment
drift, uma vez que, na ocorrncia de um drift esperado que a confiana na predio
diminua, uma vez que a entropia dos dados aumenta nesse momento como demonstrado
1

Sub judice uma expresso do latim que designa um caso ou problema que ainda est sob a
apreciao jurdica (sem uma sentena final)

3.1. Anlise de Fluxo de Sentimentos

23

Algoritmo 3 Procedimento de Sub Judice


Require: message t T , min
Ensure: D
1:
2:
3:
4:
5:

if p(si |t) < min


manter t sub judice at outra mensagem rotulada ser inclusa em D
else
incluir a mensagem rotulada < t, si > em D
end if

em [Vorburger & Bernstein, 2006; Abdulsalam et al., 2008] e evidenciaremos na


Seo 3.2.2. E assim o classificador pode aguardar at que o conceito se estabilize
para realizar a predio.

24

3.2

Captulo 3. Aprendizado de Fluxo de Sentimento

Avaliao Experimental

Nesta seo analisamos empiricamente a eficcia da soluo proposta na pontuao


de sentimentos. A seguir sero apresentadas as colees de dados utilizadas nos
experimentos.

3.2.1

Colees de Dados

Esta seo apresenta a caracterizao das colees de dados criadas para avaliao
da soluo proposta. As principais caractersticas das colees so apresentadas na
Tabela 3.1. A partir destas colees foi possvel avaliar a soluo proposta em diferentes
idiomas, tipos de sentimentos rastreados e em cenrios que os sentimentos mudam de
diferentes maneiras no decorrer do tempo (i.e., diferentes tipos de sentiment drift).
Os grficos da Figura 3.2 evidenciam a ocorrncia de mudanas na distribuio
de sentimentos nas colees analisadas. Nestes grficos em cada janela de tempo
t (minutos e dias) calculamos a porcentagem de mensagens positivas em t. Essas
mudanas podem afetar fortemente o desempenho de muitos classificadores [Bifet,
2010]. A seguir detalhada cada coleo de dados e o evento a que ela se refere.
Tabela 3.1. Colees de Dados
Coleo

Sentimentos
Rastreados

Taxa de Chegada de
Mensagens por
Segundo

Idioma

# Mensagens

Portugus

66.643

Positivo e negativo

0.02

Ingls

5.616

Aprovao, surpresa,
sarcasmo, reprovao e
revolta

0.2

Copa do Mundo de Futebol

Portugus

3.214

Positivo e negativo

Copa do Mundo de Futebol

Ingls

1.432

Positivo e negativo

Eleies
Brasil

Presidenciais

Personalidade do Ano

no

1.12

Copa do Mundo de Futebol. Na Copa do Mundo de 2010 foram convocadas


32 equipes para competir pelo ttulo. Aps um jogo polmico, a equipe brasileira foi
derrotada pela equipe holandesa em 02/07/2010. O Brasil marcou um gol no incio da
partida, mas logo aps a equipe Holandesa marcou duas vezes e venceu o jogo. Um
jogador especfico, Felipe Melo, teve participao decisiva nos trs gols.
Desta forma, a coleo sobre a copa do mundo de futebol em 2010 reflete a opinio
das pessoas em relao ao jogador Felipe Melo no ltimo jogo da seleo Brasileira
contra a Holanda. Foram coletadas 12.020 mensagens referentes ao Felipe Melo.
Selecionamos aleatoriamente 3.214 mensagens em portugus (8.101 termos distintos) e

25

3.2. Avaliao Experimental

1.432 mensagens em Ingls (4.963 termos distintos) e as rotulamos manualmente. A


distribuio de frequncia dos termos apresenta na Figura 3.1.

Frequncia do Termo

100000

Copa do Mundo (pt)


Copa do Mundo (en)
Eleies Presidenciais
Personalidade do Ano

10000
1000
100
10
1
1

10

100
1000 10000 100000
Ranque dos Termos

Figura 3.1. Distribuio de Frequncia dos Termos

Na Figura 3.2(a), por exemplo, possvel verificar que a opinio dos usurios do
Twitter, que postaram mensagens em portugus, em relao ao jogador Felipe Melo
mudou durante a partida. No primeiro tempo do jogo possvel observar uma maior
porcentagem de mensagens positivas em relao ao jogador uma vez que ele foi o
responsvel pelo passe que finalizou em um gol a favor da seleo Brasileira. Contudo,
no segundo tempo, houve uma mudana inesperada de opinio - aumento de mensagens
negativas. Essa mudana reflete o sentimento das pessoas a partir do momento em que
o jogador faz um gol contra e posteriormente expulso. O sentimento negativo tende
a se intensificar no final da partida, isso porque o Brasil foi eliminado da copa nessa
ocasio e a responsabilidade da derrota foi atribuda ao jogador.
Na Figura 3.2(b), possvel verificar a distribuio dos sentimentos nas
mensagens em ingls. possvel perceber que a variao dos sentimentos bastante
ruidosa, em outras palavras, ao mesmo tempo em que muitas pessoas se mostram

26

Captulo 3. Aprendizado de Fluxo de Sentimento

felizes a respeito da derrota do Brasil, outras se declaram tristes, ou vice-versa. Isso


pode ser explicado porque as pessoas que postam mensagem em ingls no tm uma
opinio forte a respeito da partida, ou seja, a opnio da populao de lngua inglesa
, de certa forma, mais diversificada ou no existe um consentimento gobal e ento o
sentimento pode variar de maneira inconsistente.

% Mensagens Positivas

% Mensagens Positivas

0.4
0.2

0.4

0.2

0
01/05

0.2

0.4

0.6

0.8

01/11

03:00 03:30 04:00


Minutos de Jogo

(d) Personalidade do Ano

(b) Copa do Mundo (Ingls)

02:30

Figura 3.2. Distribuio de classes ao longo do tempo

(c) Eleies Presidenciais no Brasil

01/06 01/07 01/08 01/09 01/10


Dias da Campanha

(a) Copa do Mundo (Portugus)

0
02:00

0.6

0.6

0
02:00 02:30 03:00 03:30 04:00 04:30 05:00
Minutos de Jogo

0.8

0.8

04:30

05:00

3.2. Avaliao Experimental


27

28

Captulo 3. Aprendizado de Fluxo de Sentimento

Eleies Presidenciais no Brasil. A campanha eleitoral a presidncia do


Brasil ocorreu no perodo de Junho a Outubro de 2010. Nesta base, o sentimento
monitorado foi em relao a candidata Dilma Rousseff, que utilizou o Twitter como
uma das principais fontes de informao para seus eleitores. A campanha atraiu mais
de 500.000 seguidores e a Dilma foi a segunda pessoa mais citada no Twitter em 2010
2
. As eleies chegaram ao segundo turno e Dilma Rousseff ganhou as eleies com
56% de votos.
Nessa coleo as mensagens foram classificadas como negativas ou positivas
em funo da candidata Dilma Rousseff. Ns coletamos 466.724 mensagens e
destas anotamos 66.643 mensagens em portugus referentes a ento candidata para
acompanhar o sentimento de aprovao da populao durante esse perodo. Este
sentimento de aprovao varia fortemente durante este perodo devido a vrias
polmicas e ataques polticos. Por isso nosso objetivo foi medir a aprovao da
Dilma durante sua campanha. A coleo de dados contem 62.089 termos distintos
(a distribuio de frequncia apresentada na Figura 3.1). As mensagens no fluxo
chegam em uma taxa de 0,02 mensagens por segundo.
Nas eleies presidenciais de 2010 no Brasil Dilma comeou com uma
menor pretenso de votos, segundo as pesquisas, e sua popularidade aumentou
gradativamente at o fim das eleies que terminou com a Dilma vencedora. Podemos
ver comportamento semelhante no grfico da Figura 3.2(c), onde a porcentagem de
mensagens positivas comea baixa e aumenta ao decorrer do tempo.
Personalidade do Ano. No fim de todos os anos a revista TIME seleciona
a personalidade do ano ou um grupo de pessoas que mais influenciaram eventos
durante o ano. A personalidade do ano para 2010 foi Mark Zuckerberg (fundador
do Facebook3 ). O leitor, contudo, escolheu o Julian Assange (criador do Wikileaks4 )
com uma grande superioridade de votos. Esta divergncia causou o que ficou conhecido
como a Twittersphere Battle: Zuckerberg vs. Assange 5 .
Nesta base as mensagens foram classificadas em relao ao sentimento das pessoas
diante da escolha de Mark Zuckerberg como merecedor do prmio ao invs de Julian
Assange, foram acompanhados os sentimentos de aprovao, reprovao, surpresa,
revolta e sarcasmo. Coletamos 93.411 mensagens em ingls referentes ao Julian Assange
e o Mark Zuckerberg de 15/12/2010 a 21/12/2010. Selecionamos aleatoriamente 5.616
destas mensagens e anotamos manualmente com intuito de acompanhar diferentes
2

http://yearinreview.twitter.com/2010/trends/
https://www.facebook.com
4
http://www.wikileaks.org
5
http://www.cbsnews.com/8301-505123_162-40043859/twittersphere-battle-is-still-onzuckerberg-vs-assange/
3

3.2. Avaliao Experimental

29

sentimentos a respeito da deciso da revista para a personalidade do ano.


Na Figura 3.2(d) possvel verificar que no primeiro dia o percentual de
mensagens que aprovam e reprovam a deciso da TIME prximo (15% e 36%
respectivamente), isso pode indicar uma disputa entre as pessoas com diferentes
opinies sobre a deciso da revista. Contudo, nos dias seguintes o sentimento de
sarcasmo aparece com maior frequncia, seguido pelo sentimento de reprovao. Isso
nos faz crer que no primeiro dia, quando a noticia comeava a ser propagada, houve um
nmero semelhante de pessoas que aprovavam e reprovavam a deciso, contudo com
o passar do tempo mais pessoas assumem a posio de reprovao sobre a deciso da
TIME se considerarmos as mensagens de sarcasmos como um tipo de reprovao (e.g.,
sorry julian assange I guess you didnt violate enough peoples privacy).
Essa variao do sentimento (Figura 3.2) nos permite ilustrar a correlao entre
as mensagens do Twitter e os sentimentos no mundo real e nos permite levantar a
hiptese da existncia do fenmeno conhecido como concept drift (que neste no cenrio
de analise de fluxos de sentimentos estamos chamando de sentiment drift) nos dados.
Na prxima seo apresentamos uma caracterizao das mudanas e sentiment drift
ocorrido no fluxo durante os eventos.

3.2.2

Caracterizao do Sentiment Drift

Conforme informado anteriormente, sentiment drift o termo que introduzimos para


definir o concept drift em fluxos de sentimento. O concept drift definido como
mudanas ocorridas na probablidade prvia de um sentimento (p(si )), na probabilidade
condicional (p(si |X)) ou em ambas ao mesmo tempo ao decorrer das mensagens do fluxo
T [Zhu et al., 2010; Zhang et al., 2008].
Na seo 3.2.1 discutimos, alm das caractersticas dos eventos analisados, como
a distribuio dos sentimentos mudou em relao as entidades e tpicos. Essas
mudanas se tornam explcitas ao analisarmos os grficos da Figura 3.2, que ilustram
a mudana na probabilidade do sentimento (p(si )). Nesta seo vamos demostrar as
mudanas ocorridas na probabilidade condicional (denotada aqui como (X
si )),
i.e., probabilidade do sentimento si dado um termo q.
Iniciamos nossa anlise verificando como o crescimento do vocabulrio (V) com
o chegar das mensagens a partir de T , ou seja, o nmero de termos nicos em cada
coleo ao longo do tempo. Podemos ver na Figura 3.3(a) o crescimento do nmero
de termos das coleo referente Copa do Mundo. Notamos que nos momentos em
que ocorrem mudanas na distribuio dos dados, demonstrado na Figura 3.2, ocorre
tambm o surgimento de um grande nmero de novos termos (ver Figura 3.3(a)), ento

30

Captulo 3. Aprendizado de Fluxo de Sentimento

alm do classificador se deparar com o sentiment drift, existe um outro problema que
a falta de informao sobre esse grande volume de termos que surgiram repentinamente,
essa evidncia refora na necessidade de atualizao continua do modelo com mensagens
mais recentes de T .

# acumulado de termos nicos

(b) Eleies Presidenciais no Brasil

0
01/05 01/06 01/07 01/08 01/09 01/10 01/11
Dias

10000

20000

30000

40000

50000

60000

70000

Figura 3.3. Nmero de Termos nicos Acumulado ao Decorrer do Tempo

(c) Personalidade do Ano

1200
15/12 16/12 17/12 18/12 19/12 20/12 21/12
Dias

1400

1600

1800

2000

2200

2400

2600

2800

(a) Copa do Mundo

0
02:00 02:30 03:00 03:30 04:00 04:30 05:00
Minutos

1000

2000

3000

4000

5000

6000

7000

8000

Mensagens em Portugus
Mensagens em Ingls

# acumulado de termos nicos

# acumulado de termos nicos

9000

3.2. Avaliao Experimental


31

32

Captulo 3. Aprendizado de Fluxo de Sentimento

Esse surgimento de muitos termos novos uma evidncia da necessidade da


estratgia de sub judice, uma vez que quando um novo termo surge o classificador
no possui as informaes necessrias para jugar o sentimento da mensagem. Mas a
medida em que novas mensagens chegam, o contexto em torno do termo desconhecido
pode ficar mais claro e aumentar a confiana da predio.
Nas Figuras 3.3(b) e 3.3(c), que representam respectivamente as bases referentes
as Eleies Presidncias e Personalidade do Ano, possvel verificar que existem dois
pontos em que o nmero de termos cresce subitamente, na Figura 3.3(b) isto acontece
no incio do ms 10 e na Figura 3.3(c) no primeiro dia. Se analisarmos as Figuras 3.2(c)
e (d), possvel observar claramente que existe uma mudana na distribuio dos
sentimentos do primeiro para o segundo dia em relao a personalidade do ano, na
Figura 3.2(d), e no que se refere as eleies presidenciais, mesmo que esse mudana
no seja muito brusca, existe um diminuio dos sentimentos positivos no incio do ms
dez, conforme demonstrada na Figura 3.2(c).
Na Figura 3.4 ilustramos como a probabilidade condicional, de um sentimento
dado um termo q, muda ao passar do fluxo. Para isso calculamos a probabilidade de
um sentimento dado um termo, utilizando (q
si ), e definimos para cada termo o seu
sentimento a partir do sentimento com maior (q
si ). Desta forma, apresentamos
a porcentagem de termos (q) que mudaram o sentimento mais provvel, com o chegar
das mensagens de T e o surgimento novos termos.
Na Figura 3.4 apresentado tambm a entropia das colees ao longo do tempo. A
entropia [Shannon, 2001] utilizada para medir a desordem ou aleatoriedade associada
a uma varivel. Para encontrar a entropia de uma coleo de dados com a distribuio
conhecida utilizada a Equao 3.5. Calculamos a entropia de T a cada nova mensagem
processada utilizando a Equao 3.6, como realizado em [Vorburger & Bernstein, 2006;
Abdulsalam et al., 2008], a qual consiste basicamente da mdia da entropia de todos
os termos visto at o momento.
Atravs do grfico da Figura 3.4(a) possvel observar que existe um pico prximo
a mensagem 1.000, j na Figura 3.4(b) podemos ver esse comportamento prximo a
mensagem 250. Este o momento que ocorreu o sbito sentiment drift mostrado
nas Figuras 3.2(a) e 3.2(b), onde uma grande mudana em p(si ) acarretou tambm
mudana na probabilidade da mensagem pertencer a um sentimento dado um termo e
crescimento da entropia.
Neste caso, para as colees da Copa do Mundo (Portugus e Ingls), um
classificador treinado com uma amostra anterior a mensagem 1.000 (na verso em
Portugus) e a mensagem 250 (na base em Ingls) teria sua eficcia fortemente abalada
na predio do sentimento das mensagens aps essas mensagens. Ao considerarmos o

3.2. Avaliao Experimental

33

caso da coleo em Portugus, aps a mensagem 1.000, novos termos surgem tornando
necessria a atualizao do modelo com mensagens mais recentes para que a eficcia
do classificador no se deteriore rapidamente. Em contraste, como apresentado na
entropia, se novas mensagens forem inseridas a predio dos sentimentos das mensagens
aps mensagem 1.000 se torna cada vez mais fcil.

0.02

0.04

0.06

0.08

0.1

0.12

50000

0.05

0.1

0.15

0.2

0.25

0.3

2000 3000 4000


Mensagens Processadas
(d) Personalidade do Ano

1000

Entropia
% termos com sentiment drift

5000

400 600 800 1000 1200 1400


Mensagens Processadas

(b) Copa do Mundo (Ingls)

200

Entropia
% termos com sentiment drift

Figura 3.4. % termos que o maior valor de (q


si ) variou entre diferentes
sentimentos e entropia ao decorrer longo do fluxo

(c) Eleies Presidenciais no Brasil

10000 20000 30000 40000


Mensagens Processadas

Entropia
% termos com sentiment drift

0.35

(a) Copa do Mundo (Portugus)

0.02

0.02
1000 1500 2000 2500 3000
Mensagens Processadas

0.04

0.04

500

0.06

0.06

0.08

0.08

0.12

0.14

0.1

Entropia
% termos com sentiment drift

0.1

0.12

0.14

34
Captulo 3. Aprendizado de Fluxo de Sentimento

35

3.2. Avaliao Experimental

Nas Figuras 3.4(c) e (d), possvel verificar que existe uma variao na quantidade
de termos que mudaram de sentimento no comeo do evento. Contudo, no existe um
acontecimento que faa essa porcentagem mudar repentinamente. preciso ressaltar
que mesmo assim pelo menos 7% dos termos mudaram de sentimento pelo menos uma
vez durante as Eleies Presidenciais no Brasil e 14% na coleo Personalidade do Ano.
Na coleo Personalidade do Ano a entropia bem mais alta nas primeiras mensagens
de T , isto indica que este ser o intervalo que apresentar maior dificuldade para
predio dos sentimentos, uma vez que aps a mensagem 1.000 a entropia inicia um
decaimento.
H(p(T |q)) =

k
X

p(si |q) log p(si |q)

(3.5)

i=1
|V|

1 X
H(p(T |qi ))
entropia =
|V| i=1

(3.6)

Em resumo foi possvel observar que um sentiment drift vem acompanhado de


surgimentos de muitos novos termos nicos, aumento da entropia e que realmente a
probabilidade condicional afetada com o passar do fluxo. Esta ltima caracterstica
muito relevante uma vez que a probabilidade condicional utilizada em muitos
classificadores para realizar a predio, alm disso, ela a evidencia mais consistente
de que ocorreu uma mudana nos padres relacionados a um sentimento.

3.2.3

Resultados Obtidos e Discusso dos Resultados

Nesta seo discutimos os resultados obtidos com a soluo proposta e a comparamos


com verses estticas de alguns dos classificadores mais populares encontrados na
literatura, os quais consideramos como um limite inferior. Empregamos o erro
quadrtico mdio (do ingls Mean-Squared Error - MSE [Ben-Haim & Eldar, 2009])
como medida bsica de avaliao nos experimentos, o erro em cada mensagem foi
calculado como 1 p(sc |t) tal que sc o sentimento contido em t. O MSE foi utilizado
para verificar a capacidade do algoritmo de quantificar a proporo de cada sentimento
presente na mensagem analisada, uma vez que esse o objetivo da anlise de sentimento
e, alm disto, uma mensagem pode conter mais de um sentimento.
Os algoritmos utilizados como linha de base foram: (1) Support Vector Machine
(SVM) modelado para realizar classificao [Platt, 1999] e regresso [Chang & Lin,
2011], neste ltimo caso ele chamado de Support Vector Regression (SVR); (2) k
Nearest Neighbor (kNN) [Aha et al., 1991]; (3) Naive Bayes (NB) [John & Langley,

36

Captulo 3. Aprendizado de Fluxo de Sentimento

1995]; (4) rvore de Deciso [Quinlan, 1993]; e (5) o Lazy Associative Classifier (LAC)
[Veloso et al., 2006], este ltimo consiste basicamente da verso esttica da soluo
proposta. Para realizarmos os experimentos, otimizamos os parmetros de cada um
destes algoritmos. Para o SVM avaliamos o kernel, o custo C, gamma, coeficiente
(coef0) e grau, alm desses parmetros para o SRV avaliamos suas formas -SVR e
-SVR. Para o kNN o nmeros de vizinhos (k), na Tabela 3.2 so apresentados os
melhores parmetros para cada algoritmo nas coleo analisadas.

Tabela 3.2. Melhores parmetros para cada algoritmo avaliado


Coleo de Dados

kNN

Copa do Mundo
de
Futebol
(Portugus)

k=6

Copa do Mundo de
Futebol (Ingls)
Eleies
Presidenciais
no Brasil
Personalidade
Ano

do

SVM
kernel=polinomial, C=11,
exponte=6

SVR
tipo=-SVR, C=11,
kernel=polinomial, coef0=9,

k=16

kernel=polinomial, C=11,
exponte=1

tipo=-SVR,
C=16,
gamma=1/ # termos

k=26

kernel=RBF,
C=11, gamma=0.01

tipo=-SVR, C=21,
kernel=polinomial, coef0=0, exponte=3

k=1

kernel=RBF,
C=10, gamma=0.11

tipo=-SVR,
gamma=0.1

C=15,

exponte=14
kernel=radial,

kernel=radial,

Neste experimento os algoritmos foram treinados com apenas uma pequena


semente das primeiras mensagens do evento. Para o coleo Copa do Mundo de Futebol
(pt) foram utilizada 36 mensagens, e para a verso em ingls (en) foram utilizadas 35
mensagens. Para as colees Campanha Eleitoral da Dilma Rousseff e Personalidade
do Ano foram utilizadas as 100 primeiras mensagens.
Experimentalmente foram configurados o tamanho da fila do sub judice (|S|) e
o fator min do limiar. Para as colees sobre a copa do mundo em Portugus os
melhores parmetros foram |S| 10 e min =1, e em Ingls foram |S|=10, min igual
1.8 (sub judice) e 1.5 (julgamento imediato). Para a coleo Personalidade do Ano foi
|S|=350 e min igual 2 (sub judice) e 1 (imediato judice), j para a coleo sobre as
Eleies Presidenciais no Brasil o |S| foi 500 e min 1,2 e 1,8. A variao em |S| se deve
a velocidade em que mudana ocorrem no fluxo, esperado que em um jogo de futebol
mudanas ocorram mais rapidamente do em uma eleio, uma vez que uma aplicao
poderia ser o acompanhamento minuto a minuto de um jogo enquanto que em uma
eleio este acompanhamento seria dirio, ento o parmetro |S| pode ser configurado
com uma caracterizao prvia do evento.
Na Tabela 3.3 apresentado o MSE alcanado pela verso esttica de 5
classificadores. Estes so contrastados com o MSE alcanado pelo o algoritmo de
auto treinamento. O algoritmo de auto treinamento alcanou melhoras significativas

37

3.2. Avaliao Experimental

em relao aos algoritmos estticos, estes ganhos variam de 14,84%, na coleo sobre
as Eleies Presidenciais no Brasil, a 41,38% na coleo a respeito da Copa do Mundo
(pt). Calculamos o ganho como a porcentagem do melhor algoritmo esttico em relao
ao algoritmo de auto treinamento menos 1.
Tabela 3.3. MSE alcanado pelo algoritmo de auto treinamento e verses
estticas de diferentes algoritmos
Modelos Estticos (ME)
rvore
NB
SVM
SVR

LAC

Auto Treinamento
Julgamento
Sub
Imediato
Judice
(JI)
(SJ)
0.0814
0.08134

Coleo de Dados

kNN

Copa do Mundo
de
Futebol
(Portugus)
Copa do Mundo de
Futebol (Ingls)
Eleies
Presidenciais
no Brasil
Personalidade do
Ano

0.2066

0.373

0.4999

0.1150

0.1732

0.1522

0.3572

0.441

0.5

0.4819

0.2957

0.3315

0.2384

0.3708

0.437

0.4996

0.4303

0.2500

0.2795

0.5992

0.572

0.6581

0.5728

1.658

0.5461

Ganhos (%)
SJ vs.
SJ vs.
ME
JI
41.38

0.07

0.2291

29.07

4.06

0.2708

0.2177

14.84

24.39

0.5419

0.4487

21.71

20.77

A partir da Figura 3.5 analisamos a sensibilidade do algoritmo em relao ao


parmetro min , contrastamos a estratgia de sub judice com o julgamento imediato
(i.e., quando no permitido o algoritmo manter mensagens sub judice) e mostramos
tambm o MSE do algoritmo esttico.
Podemos ver que em todas as colees o algoritmo de auto treinamento, quando
aplicado juntamente com a estratgia de sub judice, nunca significativamente pior do
que o algoritmo esttico. Alm disto, se analisarmos as melhores configuraes com
o sub judice e com o julgamento imediato observamos um ganho de at 24%, com a
utilizao do sub judice (Tabela 3.3). Se compararmos o sub judice com o algoritmo
na sua forma esttica apresentamos ganhos de 21 a 87%.
Na Figura 3.6 so exibidos vrios resultados que contribuem para um melhor
entendimento em relao ao desempenho do algoritmo de auto treinamento na coleo
Copa do Mundo de Futebol (Portugus). A partir das evidncias apresentadas
argumentamos que o maior responsvel pela rpida adaptao sbita mudana nos
dados (i.e., sbito sentiment drift) foi a projeo de dados de treinamento sob demanda.
Na Figura 3.6(a) regies claras so regies onde existem uma concentrao maior de
mensagens na projeo (Dx ) e podemos ver que existe uma localidade temporal nas
mensagens que so projetadas para treinamento. Uma mensagem exibe uma localidade
temporal se ela somente acessada em um futuro prximo, isto , a mensagem d D
se torna mais provvel de estar em Dti e em Dtj se ti inT est prxima no tempo com
tj T . Nessa figura mensagens localizadas nas regies claras so aquelas que aparecem
nos dados de treinamento projetados da mensagem correspondente no eixo x por outro

38

Captulo 3. Aprendizado de Fluxo de Sentimento

lado regies escuras so mensagens que no aparecem nos dados projetados para a
mensagem no eixo x.
Uma vez que mensagens no eixo x e y esto cronologicamente ordenadas,
podemos entender o quo frequente estas mensagens so utilizadas com o passar
do tempo. possvel perceber que as mensagens so gradualmente menos e menos
utilizadas com o passar do fluxo e mensagens futuras tendem a demandar mensagens
que foram inclusas recentemente em D.

MSE

MSE

0.21

0.22

0.23

0.24

0.25

0.26

0.27

0.28

0.29

0.3

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

1.2
min

1.5

1.8

1.2
min

1.5

1.8

0.4

0.45

0.5

0.55

0.6

0.65

0.22

0.24

0.26

0.28

0.3

0.32

0.34

1.2
min

1.5

1.5
min

(d) Personalidade do Ano

(b) Copa do Mundo (Ingls)

Figura 3.5. Sensibilidade do paramtro min .

(c) Eleies Presidenciais no Brasil

(a) Copa do Mundo (Portugus)

Sub Judice
Jugamento Imediato
Esttico
MSE
MSE

0.16

2.5

1.8

3.2. Avaliao Experimental


39

40

Captulo 3. Aprendizado de Fluxo de Sentimento

As mensagens tambm possuem um tempo de expirao, aps este ela se torna


intil para realizar a predio. Por exemplo, a primeira mensagem a aparecer no
fluxo se torna inexpressiva aps aproximadamente 2.000 mensagens processadas pelo
classificador, outro exemplo que aquelas mensagens que chegaram antes do sentiment
drift (i.e., antes da mensagem 1.000), deixam rapidamente de ser projetadas. Com
a projeo de dados de treinamento o classificador deixa de utilizar mensagens fora
do conceito e distribuio corrente mantendo o classificador concentrado nos ltimos
acontecimentos do evento.
Outra evidncia da nossa argumentao apresentada na Figura 3.6(b), a qual
apresenta o MSE ao longo do tempo. Nesta Figura apresentamos duas configuraes
do SVM, na primeira selecionamos o conjunto de parmetros (Tabela 3.2) que trouxe o
melhor resultado, na segunda apresentamos as configuraes do SVR que alcanaram
melhor eficcia antes do sentiment drift, aproximadamente mensagem 600, (C=30 SVR).
possvel observar que no comeo do evento o MSE para o SVR, na sua segunda
configurao, melhor do que o da nossa abordagem, contudo aps a ocorrncia do
sentiment drift o MSE do SVR enquanto a soluo proposta se mantem estvel. O
SVM utilizando os melhores parmetros tambm se mantm estvel, porm com um
MSE pior do que o do auto treinamento durante todo o perodo, para os parmetros
min 1, 1.2, e 1,5 o parmetro 1.8 foi bastante prximo ao modelo esttico.
A Figura 3.6(c) permite compreender porque o algoritmo de auto treinamento
apresentou ganhos significativos, podemos ver que foi inserida uma proporo grande
de mensagens corretamente rotuladas nos dados de treinamento (D). A Figura 3.6(c)
explica tambm porque o min= 1 teve o melhor desempenho em MSE, uma vez que com
esse parmetro foi inserido 93% de mensagens nos dados de treinamento corretamente,
a maior porcentagem entre os min apresentados.
Finalmente, na Figura 3.6(d), mostramos uma aplicao para nosso algoritmo e
sua qualidade, no sentido de uma boa apresentao. A aplicao o acompanhamento
dos pulsos de sentimentos durante um evento. Na linha de azul verifca-se a porcentagem
de mensagens positivas em cada minuto do jogo. Propomos medir os pulsos de
sentimentos calculando a mdia da pontuao (
p(si |t)) do sentimento
positivo das
P
(s=+|t)
tTi p
), que
mensagens que chegam em um mesmo intervalo de tempo (Ti ) (i.e,
|Ti |
neste caso Ti foi definido com um minuto.
possvel verificar que quando utilizamos o algoritmo na sua verso esttica
a curva do algoritmo tem a mesma tendncia da curva dos dados, porm com uma
distncia considervel, fazendo com que no seja possvel capturar bem os pulsos
de sentimentos. Contudo, quando utilizamos o algoritmo com auto treinamento

41

3.2. Avaliao Experimental

0.6

2500

0.5

2000

0.4

1500

MSE

Id da Mensagem

3000

1000

min=1.0
min=1.2
min=1.5
min=1.8
Esttico
SVM
SVR (melhores parmetros
antes do sentiment drift)

0.3
0.2

500

0.1

0
0

500 1000 1500 2000 2500 3000


Id da Mensagem

(a) Projeo de Treinamento.


Dados de
Treinamento Projetados para cada mensagem
em T . Dada uma mensagem x no eixo x, o
grfico apresenta o Dx correspondente no eixo
y. Regies com cores mais claras indicam a
presena da mensagem correspondente em Dx .

0
0

1000 1500 2000 2500


Mensagens Processadas

3000

(b) MSE ao longo do tempo para diferentes


valores de min , quando o sub judice
permitido.

No Incluso
Incorretamente Incluso
Corretamente Incluso

0.8
Apreciao

% do total

500

SJ min=1
Modelo Esttico
Dados

0.6
0.4
0.2

1.

1.

1.

min

(c) Porcentagem de mensagens em T que so


corretamente, erroneamente e no inclusas em
D, para diferentes valores de min (permitindo
o sub judice).

0
02:00 02:30 03:00 03:30 04:00 04:30 05:00
Minutos

(d) Acompanhamento do sentimento


apreciao ao longo da partida.

Figura 3.6. Copa do Mundo de Futebol - Derrota do Brasil (Portugus)

de

42

Captulo 3. Aprendizado de Fluxo de Sentimento

percebemos claramente que os pulsos de sentimentos so capturados de uma forma


muito prxima do que aconteceu na realidade.
Na Figura 3.7(a) apresentado o MSE ao longo do tempo na coleo sobre a
Copa do Mundo em Ingls. possvel observar que o min se mantm mais estvel do
que os demais parmetros. Na Figura 3.7(b) vemos a porcentagem de treino inserido
corretamente, incorretamente e no inserido em D. possvel verificar que para
os min 1 e 1.3 foi inserida uma porcentagem considervel de mensagens incorretas
em D. Contudo nos parmetros 1,5 e 1,8 essa porcentagem diminui e aumenta a
porcentagem de mensagens inseridas corretamente, para min igual a 1,8 foi inserido
1,38% de mensagens corretamente contra 0,18% de mensagens incorretas e para min
1,5 foi inserido 2,46% de mensagens corretas contra 2,05% de mensagens incorretas. A
porcentagem de mensagens inseridas em D tambm diminuiu porque as mensagens que
so inseridas com um limiar muito baixo no deveriam ser inseridas e isso corrigido
com o aumento do valor de min .
Analisamos os resultados da coleo sobre as Eleies Presidenciais no Brasil
a partir da Figura 3.8. Na Figura 3.8(a) podemos ver a localidade temporal das
mensagens desta coleo. Foi possvel observar que a partir da mensagem trinta mil, as
primeiras mensagens que chegaram no fluxo so praticamente inteis para classificao
daquelas que esto chegando. Logo, com o passar do fluxo menos mensagens do inicio do
evento so projetadas, em Dx , para treinamento. Na Figura 3.8(b) verifica-se que o min
1.2 teve melhor desempenho, em MSE, porque com este foi inserida uma quantidade
considervel de mensagens com o rtulo correto e uma poro pequena de mensagens
com o rtulo incorreto.
A Figura 3.8(c) apresenta o MSE da abordagem de auto treinamento para
diferentes valores de min , podemos perceber que o MSE se mantm estvel durante
todo o evento, isto uma evidncia de que o modelo continua confivel mesmo aps
um longo perodo. Na Figura 3.8(d) possvel ver que mesmo aumentando a semente
de treino inicial, at 1.000 mensagens do incio do evento, nossa abordagem continua
tendo um desempenho em MSE superior aos algoritmo estticos para pelo menos um
parmetro.

43

3.2. Avaliao Experimental

0.4
0.35
0.3
MSE

0.25
0.2
0.15

min=1.0
min=1.2
min=1.5
min=1.8
Esttico

0.1
0.05
0
0

200

400 600 800 1000 1200 1400


Mensagens Processadas

(a) MSE ao longo do tempo para diferentes valores de min

% do total

No Incluso
Incorretamente Incluso
Corretamente Incluso

1.

1.

1.

min
(b) Porcentagem de mensagens em T que so corretamente,
erroneamente e no inclusas em D, para diferentes valores de min
(permitindo o sub judice).

Figura 3.7. Copa do Mundo de Futebol - Derrota do Brasil (Ingls)

Em relao ao desempenho do algoritmo para a coleo Personalidade do Ano,


conforme demonstrado na Figura 3.9(a), possvel verificar como sub judice deslocou a
mensagem do momento que ela deveria ser classificada. Houve uma maior concentrao
de mensagens em sub judice no intervalo que existe uma maior variao de sentimentos
(como visto na Seo 3.2.2). Aps este perodo as mensagens so classificadas prximo
ao momento que chegam. Na Figura 3.9(b) que a efetividade do parmetro min igual
a 1.5 e 2 devida ao menor nmero de mensagens inserida em D incorretamente,

Captulo 3. Aprendizado de Fluxo de Sentimento

No Incluso
Incorretamente Incluso
Corretamente Incluso

50k
40k
% do total

Id da Mensagem

44

30k
20k
10k
0

min

(a) Projeo de Treinamento.


Dados de
Treinamento Projetados para cada mensagem em
T . Dada uma mensagem x no eixo x, o grfico
apresenta o Dx correspondente no eixo y. Regies
com cores mais claras indicam a presena da
mensagem correspondente em Dx .

(b) Porcentagem de mensagens em T que so


corretamente, erroneamente e no inclusas em D,
para diferentes valores de min (permitindo o sub
judice).

0.4

min=1.0
min=1.2
min=1.5
min=1.8
Modelo Esttico
KNN
NB
SVM
SVR

0.65

0.35

0.6

0.3

0.55

0.25

0.5

0.2

MSE

MSE

1.

50k

1.

20k 30k 40k


Id da Mensagem

1.

10k

min=1.0
min=1.2
min=1.5
min=1.8
Esttico

0.15
0.1

0.45
0.4
0.35
0.3

0.05

0.25

0.2
5000

20000
35000
50000
Mensagens Processadas

(c) MSE ao longo do tempo.

65000

100
500
1000
Tamanho da Semente de Treinamento

(d) MSE para diferentes valores de min (sub


judice).

Figura 3.8. Eleies Presidenciais no Brasil

acompanhado de uma quantidade considervel de mensagens inclusas de maneira


correta.
A partir da Figura 3.10 verificamos o comportamento do algoritmo ao aumentar a
quantidade de mensagens na semente de treinamento, neste experimento treinamentos
o algoritmo com o nmero de mensagens exibido no eixo x e o testamos com o restante
das mensagens das colees, utilizamos o min igual a 1,5, pelo fato de termos verificado
que este o parmetro mais estvel. Comparamos com o algoritmo de auto treinamento
com o modelo do LAC esttico.

45

3.2. Avaliao Experimental

min=1.0
min=1.5
min=2.0
min=2.5
Jugamento
Imediato

Predio das Mensagens

5000
4000
3000
2000
1000
0
0

1000
2000
3000
4000
Chegada das Mensagens

5000

(a) Eixo X corresponde a ordem de chegadas das mensagens e eixo


Y a ordem de predio, para diferentes valores de min .

% do total

No Incluso
Incorretamente Incluso
Corretamente Incluso

2.

1.

min
(b) Porcentagem de mensagens em T que so corretamente,
erroneamente e no inclusas em D, para diferentes valores de min
(permitindo o sub judice)

Figura 3.9. Personalidade do Ano (Ingls).

Na coleo sobre a Copado do Mundo de Futebol (Figuras 3.10(a) e 3.10(b)) , de


forma contrria do que era esperado o MSE aumenta com o aumento do tamanho da
semente de treinamento ao invs de diminuir, isto porque as mensagens de treinamento
atribuem um vis para o sentimento positivo, uma vez que estas so de um perodo que
a maioria das mensagens eram positivas. Contudo, quando ocorre o sentiment drift,
aps a mensagem 1.000, a grande maioria as mensagens que chegam negativa.
Na coleo sobre a Copa do Mundo em Portugus (Figura 3.10(a)) o algoritmo

46

Captulo 3. Aprendizado de Fluxo de Sentimento

de auto treinamento possui um MSE abaixo do modelo esttico at uma semente


de tamanho 700, a partir deste ponto o MSE se iguala pelo motivo do algoritmo
j possuir dados de treinamento suficiente. Na coleo sobre a Copa do Mundo
em Ingls (Figuras 3.10(b)), o MSE do algoritmo de auto treinamento se equipara
ao MSE do modelo esttico com uma semente de 200 exemplos, com uma semente
entre 200 e 500 mensagens o algoritmo esttico melhor que o algoritmo de auto
treinamento, isto porque o treino fornecido ao algoritmo foi de um perodo onde os
dados continua uma alta entropia (Figura 3.4(b)), com um semente maior que 500 o
algoritmo de auto treinamento possu um MSE abaixo do modelo esttico, mostrando
uma convergncia nos resultados pelo fato de mais de 34% dos dados terem sido
fornecidos como treinamento.
Na Figura 3.10(c), vemos que o MSE do algoritmo de auto treinamento se
mantem abaixo do algoritmo esttico mesmo com o aumento dos exemplos na semente
de treinamento at 1.000 mensagens, ao fornecermos 1.100 mensagens com semente
inicial o algoritmo esttico apresenta um MSE menor que o algoritmo de auto
treinamento, porm neste momento j foi fornecido 19,6% das mensagens da coleo
para treinamento. O nico ponto que o MSE do algorimto de auto treinamento
acima do algoritmmo esttico com uma semente de 200 mensagens, isto porque
neste conjunto de treinamento existe um vis alto para os sentimentos de revolta
de reprovao (38,5% e 31%) porm no decorrer das mensagens a distribuio muda
(Figura 3.2(d)) e 73% das mensagens que chegam contm o sentimento de sarcasmo.

0.22

0.24

0.26

0.28

0.3

0.32

0.34

0.36

(b) Copa do Mundo de Futebol (Ingls)

100 200 300 400 500 600 700 800 900 1000
Tamanho da Semente de Treinamento

Auto treinamento (min=1.5)


Modelo esttico

(c) Personalidade do Ano

200
400
600
800
1000
Tamanho da Semente de Treinamento

Figura 3.10. Aumento do Tamanho da Semente de Treinamento

0.3

0.35

0.4

0.45

0.5

0.55

0.6

0.65

MSE
Auto treinamento (min=1.5)
Modelo esttico

100 200 300 400 500 600 700 800 900 1000
Tamanho da Semente de Treinamento

(a) Copa do Mundo de Futebol (Portugus)

0.05

0.1

0.15

0.2

0.25

Auto treinamento (min=1.5)


Modelo esttico

MSE

MSE

0.3

3.2. Avaliao Experimental


47

48

Captulo 3. Aprendizado de Fluxo de Sentimento

Tabela 3.4. Tempo de Execuo


Mensagem / segundo
Coleo
Copa do Mundo (Portugus)
Copa do Mundo (Ingls)
Eleies Presidenciais no Brasil
Personalidade do Ano

Tempo de Execuo
(segundos)
12
5
289752
636

Taxa de
Processamento
267.83
286.4
0.23
8.83

Taxa de Chegada
1.12
1.12
0.02
0.2

Na Tabela 3.4 apresentada uma comparao do tempo de execuo da soluo


proposta, utilizando os melhores parmetros, com a velocidade do fluxo (i.e., taxa
de chegada de mensagens por segundo). possvel verificar que a velocidade da
soluo proposta maior que a taxa de chegada de mensagens, isto faz com que
nossa abordagem seja aplicvel em cenrios reais. Para as colees sobre as Eleies
Presidenciais no Brasil e a Personalidade do Ano, o tempo de execuo foi alto devido
a fila de sub judice de tamanho 500 e 350 respectivamente, porm ainda assim a taxa
de mensagens processadas por segundo maior que a taxa de chegada de mensagens.

Captulo 4
Aproximao Experimental do
Limite Superior para Anlise de
Fluxos de Sentimento
O melhor caso para a abordagem de auto treinamento pode ser alcanado se relaxarmos
a restrio de recursos limitados para treinamento do algoritmo e considerarmos que
aps o seu processamento todas as mensagens esto disponveis, com o seu rtulo
correto, para a atualizao do modelo. Esse processo de relaxamento das restries
considerando todos os dados rotulados equivalente a metodologia de avaliao de
algoritmos em cenrios de fluxos dados, conhecida como Interleaved Test-Then-Train
(ou Prequential ) [Dawid, 1984], utilizada em muitos trabalhos como [Bifet et al., 2009;
Gama et al., 2009].
Nesta metodologia o exemplo utilizado para testar o classificador e logo em
seguida para treina-lo. Desta forma possvel verificar o comportamento do modelo
que est sendo avaliado em exemplos que ele ainda desconhece. A vantagem em
utilizar o Interleaved Test-Then-Train, na avaliao de algoritmos em fluxos de dados,
consiste no fato dessa abordagem no exigir um conjunto de reservado para o teste, em
outras palavras, ele utiliza ao mximo os dados disponveis [Bifet et al., 2009]. Essa
metodologia exemplificada no Algoritmo 4.
Como o classificador conhece o rtulo de todos os dados anteriores mensagem
que est sendo analisada, consideramos esta configurao como um limite superior para
nossa abordagem de auto treinamento. No entanto, mesmo o classificador contendo essa
informao sobre os rtulos dos dados, o sentiment drift impem um prazo de validade
para as mensagens de treinamento, como visto na Seo 3.2.1. Com o intuito de
contornar os efeitos causados na eficcia do classificador pelo sentiment drift, diferentes
49

Captulo 4. Aproximao Experimental do Limite Superior para


Anlise de Fluxos de Sentimento

50

Algoritmo 4 Interleaved Test-Then-Train


1:
2:
3:
4:
5:

for all t T do
predio(t) = mensurar o sentimento de t utilizando R
avaliar predio(t)
incrementar R com < t, sc >, onde sc sempre o sentimento correto
end for

estratgias, denominadas "estratgias de esquecimento", foram avaliadas para que fosse


possvel tratar o sentiment drift presente nos dados, e posteriormente, uma abordagem
para esquecimento em fluxo de dados foi proposta para que fosse possvel alcanar
a melhor soluo possvel com o algoritmo de auto treinamento apresentado nesse
trabalho.

4.1

Esquecimento em Fluxos de Dados

No contexto de anlise de fluxo de sentimento, o sentiment drift consiste em um dos


maiores desafios a serem tratados pelos algoritmos de aprendizado de mquina [Hulten
et al., 2001; Zhu et al., 2010; Bifet, 2010]. Isso porque, uma vez que o fluxo representa
a opinio das pessoas online, sobre um determinado assunto, essa opinio pode mudar
de maneira inesperada em funo de acontecimentos imprevisveis.
Para que o conjunto de treino possa representar o fluxo de sentimento atual, de
forma significativa, necessrio considerar os efeitos do sentiment drift, no apenas
assimilando novos exemplos, mas tambm identificando e efetivamente removendo
mensagens de treinamento que j no descrevem o fluxo corrente. Em outras palavras,
em anlise de fluxo de sentimento, aprender sobre o fluxo to relevante quanto
esquecer o que j no o descreve. Sabendo dos efeitos causados pelo sentiment drift,
analisamos como o esquecimento afeta a efetividade do classificador proposto utilizando
uma janela deslizante de treinamento (com o tamanho w pr-definido) e propomos uma
nova abordagem de esquecimento chamada de Janela Deslizante Ativa.

4.1.1

Janela Deslizante de Tamanho Fixo

A utilizao de uma janela deslizante uma abordagem muito utilizada na descoberta


de conhecimento em fluxos de dados. Est uma simples maneira de lidar com o
concept drift. A ideia utilizar as w ltimas mensagens na anlise ao invs de todas
as mensagens vistas at o momento atual. possvel dizer que a janela de tamanho
w uma vez que as mensagens que chegaram antes do momento atual - w no sero

4.1. Esquecimento em Fluxos de Dados

51

consideradas na anlise [Bifet, 2010].


O tamanho da janela w um importante parmetro a ser apreciado, o qual, a
princpio, deve ser configurado previamente por um usurio. Esta abordagem pode
funcionar quando a taxa de mudana dos dados conhecida, porm em um ambiente
de fluxos de dados, a taxa de mudanas raramente conhecida. Dessa forma um w
pequeno faz com que a janela reflita bem a distribuio corrente, porm os dados podem
no ser suficientes para que o classificador alcance uma eficcia esperada. Por outro lado
um w grande pode fazer com que o classificador atinja bom desempenho nos perodos
de estabilidade do fluxo, mas na ocorrncia de um sentiment drift a recuperao pode
ser lenta [Bifet, 2010]. Alm disso, consecutivos sentiment drift podem fazer com que
o modelo esteja deteriorado por um longo perodo de tempo.
Visando enderear as deficincias apontadas pelo uso de uma janela deslizante
de tamanho fixo, propomos a Janela Deslizante Ativa que apresentada na prxima
seo.

4.1.2

Janela treino Deslizante Ativa

A Janela de treino Deslizante Ativa (JDA) consiste em uma soluo, fundamentada


na teoria do aprendizado ativo, porm ao invs de escolher quais exemplos sero
selecionados para entrar no conjunto de treinamento, D, o objetivo permitir que
o classificador escolha quais exemplos esquecer (i.e., remover de D), uma vez que j
no representam o fluxo atual. Dessa forma, com essa abordagem, espera-se tratar os
efeitos do sentiment drift no fluxo de sentimento, no apenas com o aumento do treino,
mas tambm com a remoo de exemplos afetados pelo sentiment drift e a partir deste
processo aumentar a eficcia do classificador.
Aprendizado ativo consiste em uma tcnica de amostragem de dados onde, ao
invs do conjunto de treinamento ser composto de exemplos aleatrios, so selecionados
exemplos que provem maior ganho de informao. Enquanto um aprendiz passivo
obtm todos os dados rotulados de uma nica vez, um aprendiz ativo seleciona quais
exemplos ele gostaria de saber o rtulo [Zhu et al., 2007]. Esta abordagem, quando
executada adequadamente, pode reduzir exponencialmente a quantidade de exemplos
de treinamento necessria para o aprendizado [Kivinen & Mannila, 1994].
Como estratgia de esquecimento e com o objetivo de descrever melhor o fluxo de
sentimento atual, a JDA mantm um conjunto de treino que prov ao classificador um
maior ganho de informao com um vis temporal. Atravs dessa estratgia, espera-se
alcanar uma janela de tamanho timo (i.e., uma janela cujo tamanho seja pequeno
suficiente para no sofrer com os efeitos do sentiment drift e grande suficiente para que o

52

Captulo 4. Aproximao Experimental do Limite Superior para


Anlise de Fluxos de Sentimento

algoritmo possa aprender com eficcia). Tal resultado pode ser alcanado, uma vez que
a teoria do aprendizado ativo sustenta a possibilidade de diminuir exponencialmente
o conjunto de treino necessrio para que o classificador aprenda [Kivinen & Mannila,
1994].
Com o intuito de alcanarmos o objetivo anteriormente descrito utilizamos uma
funo de rank que elege potenciais candidatos a serem removidos da janela atual, a
cada nova mensagem rotulada (t) inserida em D, esta funo descrita na Equao 4.1.
Para que a operao seja realizada com eficincia computacional o treino projetado,
de acordo com os termos em t [Veloso & Meira Jr., 2011].

r(tj ) =

s(ti , tj ) + (1

m(tj )
)
m(ti )

(4.1)
2
Na funo de rank (Equao 4.1) ti T uma mensagem a ser inserida em D, tj
uma mensagem D e tj 6= ti , m(t) denota o momento que o exemplo foi inserido no
treino (uma vez que os exemplos so inseridos sequencialmente), e finalmente, s(ti , tj )
indica a similaridade entre dois exemplos. Nesse caso, quanto maior a similaridade entre
os exemplos e a idade do exemplo do treino, maior o rank. A funo de similaridade
utilizada no trabalho consiste no coeficiente de Jaccard, esta que apresentada na
Equao 4.2.
s(ti , tj ) =

|ti tj |
|ti tj |

(4.2)

Calculado o rank dos exemplos em D, aquele com maior pontuao removido


da janela de treino. Para definir se a pontuao do exemplo selecionado suficiente,
utilizamos um limiar que deve ser arbitrariamente pequeno. Se a pontuao for
menor ou igual ao limiar o exemplo ser mantido em D. O limiar foi definido
experimentalmente como 0.1. Dessa forma o limiar garante que exemplos significativos
sejam mantidos no conjunto de treinamento na insero de exemplos com informaes
novas.
Atravs dessa soluo pretende-se manter na janela os exemplos que fornecem
maior ganho de informao, uma vez que so removidas as mensagens com maior
similaridade ao exemplo que est sendo inserido no treino. Alm disto, espera-se manter
uma amostra de treino com um vis temporal, uma vez que as mensagens mais recentes
tero menor probabilidade de serem removidas da janela de treino. Tal estratgia pode
impactar significativamente na reduo do tamanho da janela e minimizar a chance da
mesma contemplar exemplos afetados pelo sentiment drift.

4.2. Avaliao Experimental

4.2

53

Avaliao Experimental

Nesta seo apresentamos e discutimos os resultados obtidos na definio do limite


superior, com a utilizao da JDA e uma janela de tamanho fixo (w), e contrastamos
estes resultados com o desempenho da soluo de auto treinamento. Em nossa avaliao
utilizamos como mtrica o (MSE), onde, quanto menor o valor alcanado, melhor o
resultado da abordagem.
Na Figura 4.1 possvel verificar, para cada coleo analisada, o MSE alcanado
pelo algoritmo com a variao do tamanho da janela deslizante de treinamento.
Podemos observar que em cada coleo o algoritmo apresentou um comportamento
diferente com o aumento do tamanho da janela. Por exemplo, nas colees a respeito
da copa do mundo (Figuras 4.1(a) e 4.1(b)), enquanto o MSE aumenta com o aumento
do tamanho da janela na coleo em Portugus (Figura 4.1(a)), na coleo em Ingls
(Figura 4.1(b)) o MSE diminui.
Na coleo sobre as Eleies no Brasil (Figura 4.1(c)) o MSE apresenta um leve
declnio at o tamanho da janela 1000, mas aps este tamanho, o MSE apresenta um
rpido e contnuo aumento. J na coleo Personalidade do Ano (Figura 4.1(d)) o MSE
apresenta um crescimento com o aumento do tamanho da janela porm, prximo ao
tamanho 3000 ocorre um leve declnio no MSE e posteriormente ele se estabiliza.
Estas diferenas ocorrem principalmente pelo tipo de sentiment drift contido
nas colees. A coleo sobre a Copa do Mundo em Portugus contm um sbito
sentiment drift, ento um w pequeno melhor para que a recuperao seja rpida aps
a ocorrncia do sentiment drift, neste caso o melhor w foi 200. J na coleo sobre a
Copa do Mundo em Ingls a distribuio mais ruidosa, uma vez que os sentimentos
no apresentam um padro de acordo com os acontecimentos. Sendo assim, um volume
maior de dados prov mais robustez ao rudo, logo, nessa coleo o melhor resultado foi
alcanado utilizando praticamente todos os dados vistos (w=1200) para treinamento.
Na coleo sobre as Eleies Presidenciais no Brasil a distribuio muda de
uma forma incremental e lenta, ento o w muito grande ou muito pequeno no a
configurao mais adequada, neste caso a melhor janela foi de tamanho 600, o que
pode ser considerado um tamanho mdio. Na coleo Personalidade do Ano o melhor
w foi 100.

MSE

MSE

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

0.05

0.052

0.054

0.056

0.058

0.06

0.062

0.064

0.066

00

15

20
00

30
00
0

00

40
00
0

50

Tamanho da Janela (w)

00

20

00
0

60

30
00

0.27

0.275

0.28

0.285

0.29

0.295

0.3

0.305

0.31

0.2

0.205

0.21

0.215

0.22

0.225

0.23

0.235

0.24

0.245

60
0

80
0

10
00

Tamanho da Janela (w)

40

00

20

30
00

40
00

(d) Personalidade do Ano

Tamanho da Janela (w)

00

10

(b) Copa do Mundo (Ingls)

20

Figura 4.1. MSE com a variao do tamanho da janela deslizante de treinamento


aumentando-a de 100 em 100

(c) Eleies Presidenciais no Brasil

00

10

00

25

Tamanho da Janela (w)

00

10

(a) Copa do Mundo (Portugus)

50

MSE
MSE

12
00

50
00

14
00

54
Captulo 4. Aproximao Experimental do Limite Superior para
Anlise de Fluxos de Sentimento

55

4.2. Avaliao Experimental

Atravs dos resultados descritos na Tabela 4.1 possvel realizar uma comparao
entre a JDA e o melhor tamanho de janela encontrada nos experimento. A JDA
alcanou resultados equivalentes ou melhores que a utilizao de uma janela de tamanho
fixo. Contudo, enquanto a JDA no exigiu a configurao prvia do parmetro de
tamanho de janela (w), os resultados com a janela de tamanho fixo foram alcanados
a partir de uma busca exaustiva pelo melhor tamanho (ver Figura 4.1). A dificuldade
de configurar o tamanho da janela evidenciada ao verificar que o valor que alcanou
melhor eficcia diferente para cada coleo de dados, alm disso, o comportamento
do algoritmo com a variao do tamanho da janela de treinamento diferente em cada
coleo.
Tabela 4.1. MSE alcanado com o limite superior e utilizando o algoritmo de
auto treinamento.
Limite Superior
Coleo de Dados
Copa do Mundo de Futebol
(Portugus)
Copa do Mundo de Futebol
(Ingls)
Eleies
Presidenciais
no
Brasil
Personalidade do Ano

Janela
Deslizante
de
Tamanho Fixo (melhor w)

Janela Deslizante
Ativa (JDA)

0.05133 (w=200)

0.0531 (w mdio=73)

0.08134

0.2015 (w=1200)

0.2030 (w mdio=69)

0.2291

0.0858

(w=600)

0.0820 (w mdio=526)

0.2177

0.271

(w=100)

0.2690 (w mdio=104)

0.4487

Auto Treinamento

A Tabela 4.1 tambm descreve os resultados obtidos a partir da abordagem de


auto treinamento. Esses resultados foram comparados com o limite superior para
o algoritmo proposto. No contexto desse trabalho, o limite superior consiste nos
resultados alcanados pelas abordagens que consideram todas as mensagens rotuladas.
possvel observar que a abordagem de auto treinamento se aproxima do limite
superior nas colees sobre a Copa do Mundo, com uma distncia de 0.02 em MSE.
Isto mostra a capacidade do algoritmo proposto de se adaptar a mudanas repentinas
e profundas.
Nas colees sobre as Eleies Presidenciais no Brasil e Personalidade do Ano
existe uma diferena de 0.1319 e 0.1797 em MSE, respectivamente, este resultados
mostram que nossa abordagem mais sensvel em cenrios que o sentimento muda
lentamente e de forma contnua. Contudo devemos destacar que foi fornecida uma
semente de treinamento extremamente pequena para o algoritmo de auto treinamento,
o que viabiliza a realizao da anlise de fluxos de sentimentos no mundo real, enquanto
que o nosso limite superior uma abordagem terica que no vivel na prtica.
Com o intuito de verificar o comportamento do algoritmo no momento que o
sentiment drift ocorre, na Figura 4.2 so apresentados os resultados ao longo do perodo
analisado. Nesta figura apresentamos o MSE obtido por cada abordagem a medida

56

Captulo 4. Aproximao Experimental do Limite Superior para


Anlise de Fluxos de Sentimento

que as mensagens so processadas. Em relao a JDA possvel observar que o MSE


nunca significativamente pior do que o melhor tamanho (fixo) da janela deslizante.
Na coleo das Eleies Presidenciais a JDA apresenta MSE melhor que as demais
abordagens at prximo mensagem 15.000.

MSE

MSE

0.55
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0

0.05

0.1

0.15

0.2

0.25

0.3

1000 1500 2000 2500 3000


Mensagens processadas

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

(d) Personalidade do Ano

1000
2000
3000
4000
Mensagens processadas

Todos os Dados
Janela Deslizante (W=100)
Janela Deslizante Ativa
Auto Treinamento (min=2)

5000

400 600 800 1000 1200 1400


Mensagens processadas

(b) Copa do Mundo (Ingls)

200

Todos os Dados
Janela Deslizante (W=200)
Janela Deslizante Ativa
Auto Treinamento (min=1)

Figura 4.2. MSE ao longo do tempo. As abordagens Todo o Treinamento,


Janela Deslizante e Janela Delizante Ativa consideram todas as mensagens para
treinamento com o rtulo correto logo aps seu processamento.

(c) Eleies Presidenciais no Brasil

10000 20000 30000 40000 50000 60000


Mensagens processadas

Todos os Dados
Janela Deslizante (W=600)
Janela Deslizante Ativa
Auto Treinamento (min=1.2)

(a) Copa do Mundo (Portugus)

500

Todos os Dados
Janela Deslizante (W=200)
Janela Deslizante Ativa
Auto Treinamento (min=1)
MSE
MSE

0.35

4.2. Avaliao Experimental


57

58

Captulo 4. Aproximao Experimental do Limite Superior para


Anlise de Fluxos de Sentimento

Na Figura 4.2(a) vemos que a abordagem de auto treinamento tem um MSE


menor que as demais abordagens at prximo a mensagem 1000, isto ocorre devido a
incluso seletiva de mensagens em D evitando um alto vis para o sentimento positivo.
Contudo aps o sentiment drift, com o processamento de novas mensagens, o limite
superior alcana MSE melhor do que o auto treinamento, devido principalmente a
queda da entropia nos dados (Figura 3.4). Alm disso, uma vez que o modelo sempre
atualizado com mensagens corretamente rotuladas e os dados afetados pelo o sentiment
drift so removidos, pelo uso de uma janela deslizante, a predio dos sentimentos neste
perodo se torna trivial.
Nas demais colees o algoritmo de auto treinamento mantem um distncia
constante do limite superior. possvel observar que, se comparada ao limite superior,
a eficcia do algoritmo de auto treinamento no cai de maneira inesperada durante
o processamento dos fluxos de sentimento, i.e., os algoritmos apresentam o mesmo
comportamento. Novamente est uma evidncia da capacidade da soluo proposta
para tratar o sentiment drift.

Captulo 5
Concluso e Trabalhos Futuros
Este trabalho concentrou-se no importante problema de anlise de sentimento em
ambientes de fluxo de dados. Motivados pelos desafios impostos pela anlise de
sentimento em fluxo de dados, bem como pela carncia de tcnicas para resolver os
problemas existentes nesse cenrio, o objetivo deste trabalho consistiu em analisar e
propor solues tanto para o problema relacionado a falta de dados de treinamento
para o classificador, quanto para minimizar os desafios em relao a identificao,
caracterizao e tratamento do sentiment drift.
A partir de uma abordagem que faz uso de aprendizado semi-supervisionado,
foi proposto um algoritmo de auto treinamento, que mantm o classificador atualizado
automaticamente. O algoritmo proposto auto expande o conjunto de treino, a partir de
novas mensagens do fluxo e uma pequena semente de treinamento inicial. Alm disso,
as regras de sentimento so extradas a partir dos dados de treinamento sob demanda,
projetando o espao de busca para extrao das regras sentimento de acordo com as
informaes contidas na mensagem analisada, permitindo uma extrao eficiente.
Atravs da projeo dos dados de treinamento, o classificador elimina informaes
irrelevantes e desatualizadas. Isto acontece porque as mensagens que vm no fluxo
apresentam uma localidade temporal, de forma que mensagens antigas so pouco
susceptveis a serem demandadas para as mensagens mais recente que passam atravs
do fluxo. Para melhorar o desempenho de predio do classificador, foi introduzida
uma estratgia inovadora denominada sub judice. Essa estratgia faz com que
os classificadores sejam capazes de abster-se de predies duvidosas e bloquear
temporariamente estas previses at que mais evidncias sejam recolhidas com a
incluso de novas mensagens confiveis.
O algoritmo proposto foi avaliado a partir da anlise do fluxo de sentimento
expresso sobre importantes eventos no ano de 2010: (1) Copa do Mundo de Futebol;
59

60

Captulo 5. Concluso e Trabalhos Futuros

(2) Eleies Presidenciais do Brasil; e (3) Escolha da personalidade do ano pela revista
TIME. Nessa avaliao a eficcia da soluo proposta foi comparada com algoritmos
estado da arte e os resultados monstraram que as estratgias fornecem ganhos de at
41%.
Posteriormente, nossa abordagem foi contrastada com um limite superior definido
experimentalmente. O limite superior foi definido a partir do relaxamento de uma
restrio do problema em anlise. Nesse caso, o algoritmo de aprendizado considera
que para cada mensagem processada, o rtulo de todas as mensagens anteriormente
recebidas conhecido. Alm disso, esse classificador faz uso de tcnicas para o
esquecimento de mensagens desatualizadas presentes no conjunto de treino. Nesses
cenrios propomos uma tcnica de esquecimento, denominada Janela Deslizante Ativa,
a qual capaz de atingir o mesmo (ou superior) desempenho do melhor tamanho
de janela deslizante de tamanho fixo sem que seja necessrio a configurao prvia
deste parmetro. Dessa forma, ao contrastarmos nossa soluo proposta com o limite
superior, foi possvel verificar que o algoritmo de auto treinamento alcana at 87%
desse limite superior.
Apesar dos resultados favorveis a soluo proposta apresentados devemos citar
que a esta possui limitaes, como a sensibilidade do parmetro min e |S|. Contudo,
os experimentos realizados o min =1.5, juntamente com o sub judice, apresentam
resultados superiores ao uso de um modelo esttico em todas as colees. Em relao
ao |S|, tamanho da fila do sub judice, argumentamos que a partir de uma caracterizao
do tipo de evento este parmetro pode ser configurado com um nvel de segurana.
Outra limitao o caso de no garantirmos que o modelo continue consistente
durante toda a anlise, uma vez que a insero de mensagens com o rtulo incorreto
pode deteriorar o modelo. Entretanto, foram impostas restries severas de volume de
dados rotulados para treinamento, e ainda assim o modelo continuou consistente e com
desempenho em predio superior aos algoritmos no estado da arte. Alm disso, formas
de verificar se o modelo continua consistente podem ser implementadas facilmente. Por
exemplo, com a avaliao peridica do modelo com novas sementes de dados rotulados
ao decorrer do fluxo.
Como trabalhos futuros pretende-se minimizar a dependncia do parmetro do
tamanho da fila do sub judice. Esta dependncia pode ser diminuda a partir de um
tamanho de fila adaptativo. Este tamanho pode ser adaptado a partir de detectores de
mudanas do fluxo. Alm disso, espera-se integrar a tcnica de esquecimento, Janela
Deslizante Ativa, propostas neste trabalho ao algoritmo de auto treinamento.

Referncias Bibliogrficas
Abdulsalam, H.; Skillicorn, D. B. & Martin, P. (2008). Classifying evolving data
streams using dynamic streaming random forests. Em Proceedings of the 19th
international conference on Database and Expert Systems Applications, DEXA 08,
pp. 643--651, Berlin, Heidelberg. Springer-Verlag.
Aggarwal, C. C. (2006). On biased reservoir sampling in the presence of stream
evolution. Em Proceedings of the 32nd international conference on Very large data
bases, VLDB 06, pp. 607--618. VLDB Endowment.
Agrawal, R.; Imielinski, T. & Swami, A. (1993). Mining association rules between sets
of items in large databases. Em SIGMOD, pp. 207--216. ACM.
Aha, D. W.; Kibler, D. & Albert, M. K. (1991). Instance-based learning algorithms.
Mach. Learn., 6:37--66.
Al-Kateb, M.; Lee, B. S. & Wang, X. S. (2007). Adaptive-size reservoir sampling over
data streams. Em Proceedings of the 19th International Conference on Scientific
and Statistical Database Management, SSDBM 07, pp. 22--, Washington, DC, USA.
IEEE Computer Society.
Balcan, M.-f. & Blum, A. (2005). A pac-style model for learning from labeled and
unlabeled data. Em In Proceedings of the 18th Annual Conference on Computational
Learning Theory (COLT, pp. 111--126. COLT.
Bayardo, R.; Goethals, B. & Zaki, M., editores (2004). Workshop on Frequent Itemset
Mining Implementations, volume 126.
Ben-Haim, Z. & Eldar, Y. (2009). A lower bound on the bayesian mse based on the
optimal bias function. Information Theory, IEEE Transactions on, 55(11):5179
5196.
61

62

Referncias Bibliogrficas

Bermingham, A. & Smeaton, A. F. (2010). Crowdsourced real-world sensing: sentiment


analysis and the real-time web. Em n AICS 2010 - Sentiment Analysis Workshop at
Artificial Intelligence and Cognitive Science.
Bifet, A. (2010). Adaptive stream mining: Pattern learning and mining from evolving
data streams. Em Proceeding of the 2010 conference on Adaptive Stream Mining:
Pattern Learning and Mining from Evolving Data Streams, pp. 1--212, Amsterdam,
The Netherlands, The Netherlands. IOS Press.
Bifet, A. & Frank, E. (2010). Sentiment knowledge discovery in twitter streaming data.
Em Discovery Science, pp. 115.
Bifet, A. & Gavald, R. (2007). Learning from time-changing data with adaptive
windowing. Em SIAM ICDM.
Bifet, A.; Holmes, G.; Pfahringer, B.; Kirkby, R. & Gavald, R. (2009). New ensemble
methods for evolving data streams. Em Proc SIGKDD, KDD 09, pp. 139--148.
Blum, A. & Mitchell, T. (1998). Combining labeled and unlabeled data with cotraining. Em Proceedings of the eleventh annual conference on Computational
learning theory, COLT 98, pp. 92--100, New York, NY, USA. ACM.
Breiman, L.; Friedman, J.; Olshen, R. & Stone, C. (1984). Classification and regression
trees. Wadsworth Intl.
Chang, C. C. & Lin, C. J. (2011). Libsvm: A library for support vector machines.
ACM Trans. Intell. Syst. Technol., 2:27:1--27:27.
Chapelle, O.; Schlkopf, B. & Zien, A. (2006). Semi-Supervised Learning. MIT Press.
Chew, C. & Eysenbach, G. (2010). Pandemics in the age of twitter: Content analysis
of tweets during the 2009 h1n1 outbreak. PLoS ONE, 5(11):13.
Chu, F.; Wang, Y. & Zaniolo, C. (2004). Mining noisy data streams via a discriminative
model. Em Discovery Science, pp. 4759.
Cortes, C. & Vapnik, V. (1995).
20(3):273297.

Support-vector networks.

Machine Learning,

Dawid, A. P. (1984). Present Position and Potential Developments: Some Personal


Views: Statistical Theory: The Prequential Approach. Journal of the Royal
Statistical Society. Series A (General), 147(2):278--292.

Referncias Bibliogrficas

63

Diakopoulos, N. A. & Shamma, D. A. (2010). Characterizing debate performance via


aggregated twitter sentiment. Em Proceedings of the 28th international conference
on Human factors in computing systems, CHI 10, pp. 1195--1198, New York, NY,
USA. ACM.
Easley, D. & Kleinberg, J. (2010). Networks, Crowds, and Markets: Reasoning About
a Highly Connected World. Cambridge University Press, New York, NY, USA.
Forman, G. (2006). Tackling concept drift by temporal inductive transfer. Em SIGIR,
pp. 252259.
Fukuhara, T.; Nakagawa, H. & Nishida, T. (2007). Understanding sentiment of people
from news articles: Temporal sentiment analysis of social events. Em Proceedings of
the International Conference on Weblogs and Social Media (ICWSM).
Gama, J. & Mohamed, M. G. (2007). Learning from Data Streams Processing
techniques in Sensor Networks. Springer.
Gama, J. a.; Rodrigues, P. P. & Sebastio, R. (2009). Evaluating algorithms that
learn from data streams. Em Proceedings of the 2009 ACM symposium on Applied
Computing, SAC 09, pp. 1496--1500, New York, NY, USA. ACM.
Han, J.; Pei, J.; Yin, Y. & Mao, R. (2004). Mining frequent patterns without candidate
generation: A frequent-pattern tree approach. Data Mining Knowledge Discovery,
8(1):53--87.
Hulten, G.; Spencer, L. & Domingos, P. (2001). Mining time-changing data streams.
Em Proc SIGKDD, pp. 97--106.
Jansen, B. J.; Zhang, M.; Sobel, K. & Chowdury, A. (2009). Micro-blogging as
online word of mouth branding. Em Proceedings of the 27th international conference
extended abstracts on Human factors in computing systems, CHI EA 09, pp. 3859-3864, New York, NY, USA. ACM.
John, G. H. & Langley, P. (1995). Estimating continuous distributions in bayesian
classifiers. Em Proceedings of the Eleventh conference on Uncertainty in artificial
intelligence, UAI95, pp. 338--345, San Francisco, CA, USA. Morgan Kaufmann
Publishers Inc.
Kivinen, J. & Mannila, H. (1994). The power of sampling in knowledge discovery. Em
Proc SIGACT-SIGMOD-SIGART, pp. 77--85. ACM.

64

Referncias Bibliogrficas

Li, P.-P.; Wu, X. & Hu, X. (2010). Learning from concept drifting data streams with
unlabeled data. Em AAAI.
Li, W.; Jin, X. & Ye, X. (2007). Detecting change in data stream: Using sampling
technique. Em Proceedings of the Third International Conference on Natural
Computation - Volume 01, ICNC 07, pp. 130--134, Washington, DC, USA. IEEE
Computer Society.
Masud, M. M.; Gao, J.; Khan, L.; Han, J. & Thuraisingham, B. (2008). A practical
approach to classify evolving data streams: Training with limited amount of labeled
data. Em Proceedings of the 2008 Eighth IEEE International Conference on Data
Mining, pp. 929--934, Washington, DC, USA. IEEE Computer Society.
Pang, B.; Lee, L.; & Vaithyanathan, S. (2002). Thumbs up? sentiment classification
using machine learning techniques. Em EMNLP, pp. 7986.
Pang, B. & Lee, L. (2008). Opinion mining and sentiment analysis. Found. Trends Inf.
Retr., 2:1--135.
Platt, J. C. (1999). Fast training of support vector machines using sequential minimal
optimization, pp. 185--208. MIT Press, Cambridge, MA, USA.
Quinlan, J. R. (1993). C4.5: programs for machine learning. Morgan Kaufmann
Publishers Inc., San Francisco, CA, USA.
Seidl, T.; Assent, I.; Kranen, P.; Krieger, R. & Herrmann, J. (2009). Indexing density
models for incremental learning and anytime classification on data streams. Em
Proceedings of the 12th International Conference on Extending Database Technology:
Advances in Database Technology, EDBT 09, pp. 311--322, New York, NY, USA.
ACM.
Settles, B. (2009). Active Learning Literature Survey.
University of WisconsinMadison.

Relatrio tcnico 1648,

Shannon, C. E. (2001). A mathematical theory of communication. SIGMOBILE Mob.


Comput. Commun. Rev., 5:3--55.
Silva, I. S.; Barbosa; Veloso, A.; Jr., W. M. & Ferreira, R. (2011a). Anlise adaptativa
de fluxo de sentimento baseada em janela deslizante ativa. Em Simpsio Brasileiro
de Banco de Dados (SBBD).

Referncias Bibliogrficas

65

Silva, I. S.; Gomide, J.; Barbosa, G.; Veloso, A.; Santos, W.; Ferreira, R. & Jr., W. M.
(2011b). Observatrio da dengue: Surveillance based on twitter sentiment stream
analysis. Em Simpsio Brasileiro de Banco de Dados (SBBD).
Silva, I. S.; Gomide, J.; Veloso, A.; Meira, Jr., W. & Ferreira, R. (2011c).
Effective sentiment stream analysis with self-augmenting training and demand-driven
projection. Em Proc SIGIR, pp. 475--484.
Tan, P.; Kumar, V. & Srivastava, J. (2002). Selecting the right interestingness measure
for association patterns. Em SIGKDD, pp. 3241.
Veloso, A. & Meira Jr., W. (2011).
SpringerBriefs Computer Science.

Demand-Driven Associative Classification.

Veloso, A.; Meira Jr., W. & Zaki, M. J. (2006). Lazy associative classification. Em
Proceedings of the Sixth International Conference on Data Mining, ICDM 06, pp.
645--654, Washington, DC, USA. IEEE Computer Society.
Vorburger, P. & Bernstein, A. (2006). Entropy-based concept shift detection. Em
Proceedings of the Sixth International Conference on Data Mining, ICDM 06, pp.
1113--1118, Washington, DC, USA. IEEE Computer Society.
Widmer, G. & Kubat, M. (1996). Learning in the presence of concept drift and hidden
contexts. Machine Learning, 23(1):69101.
Wu, S.; Yang, C. & Zhou, J. (2006). Clustering-training for data stream mining. Em
Proc ICDM, pp. 653656.
Zaki, M.; Parthasarathy, S.; Ogihara, M. & Li, W. (1997). New algorithms for fast
discovery of association rules. Em SIGKDD, pp. 283286.
Zhang, P.; Zhu, X. & Shi, Y. (2008). Categorizing and mining concept drifting data
streams. Em Proceedings of the 14th ACM SIGKDD international conference on
Knowledge discovery and data mining, KDD 08, pp. 812--820, New York, NY, USA.
ACM.
Zhang, Y.-s.; Zhang, J.-p.; Yang, J. & Yin, Z.-W. (2009). Svms cooperative learning
strategy based on mas to data streams mining. Em Proc ICICSE, pp. 156159,
Washington, DC, USA. IEEE Computer Society.
Zhu, X.; Zhang, P.; Lin, X. & Shi, Y. (2007). Active learning from data streams. Em
Proc ICDM, pp. 757762.

66

Referncias Bibliogrficas

Zhu, X.; Zhang, P.; Lin, X. & Shi, Y. (2010). Active learning from stream data using
optimal weight classifier ensemble. Trans. Sys. Man Cyber. Part B, 40:1607--1621.

Você também pode gostar