ANÁLISE ADAPTATIVA DE FLUXOS DE SENTIMENTO

88
ANÁLISE ADAPTATIVA DE FLUXOS DE SENTIMENTO

description

Nos últimos anos, a tarefa de análise de sentimentos tem atraído muito interessepor parte da comunidade de Aprendizado de Máquina. Com o advento dos canaisde mídias sociais essa análise tem ganhado força, isso porque nessas aplicações, osusuários são convidados, continuamente, a compartilhar suas opiniões e sentimentosobre diferentes tópicos de discussão. Como consequência, uma grande massa deconteúdo opinativo é gerada em tempo real. Muitas técnicas de classificação automáticatêm sido utilizadas para realizar a análise de sentimento, contudo é consenso que omodelo de chegada de mensagens a partir de mídias sociais segue o paradigma de fluxode dados e as técnicas de classificação tradicionais não estão adequadas para trataras características especificas desse fluxo de sentimento. Entre os desafios impostosàs técnicas classificação podemos destacar: (1) o sentiment drift (i.e., constantesmudanças nas características dos dados), (2) a necessidade de atualização em temporeal do modelo de classificação a partir de mensagens mais recentes e (3) a quantidadelimitada de dados para treinamento dos algoritmos.

Transcript of ANÁLISE ADAPTATIVA DE FLUXOS DE SENTIMENTO

  • ANLISE ADAPTATIVA DE FLUXOS DE

    SENTIMENTO

  • ISMAEL SANTANA SILVA

    ANLISE ADAPTATIVA DE FLUXOS DE

    SENTIMENTO

    Dissertao apresentada ao Programa dePs-Graduao em Cincia da Computaodo Instituto de Cincias Exatas daUniversidade Federal de Minas Gerais -Departamento de Cincia da Computao.como requisito parcial para a obteno dograu de Mestre em Cincia da Computao.

    Orientador: Renato Antnio Celso FerreiraCoorientador: Adriano Alonso Veloso

    Belo Horizonte

    Maro de 2012

  • c 2012, Ismael Santana Silva.Todos os direitos reservados.

    Silva, Ismael SantanaS586a Anlise adaptativa de fluxos de sentimento / Ismael

    Santana Silva. Belo Horizonte, 2012xxii, 66 f. : il. ; 29cm

    Dissertao (mestrado) Universidade Federal deMinas Gerais - Departamento de Cincia daComputao.

    Orientador: Renato Antnio Celso FerreiraCoorientador: 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 etodos Tios e Primos. Exemplos de superao. Tudo isso foi por vocs! Dedico tambma 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. Vocsso fontes de inspirao, carinho e amor. Exemplos de superao! A melhor famlia domundo. 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 todoscom sua ateno e empenho. Muito obrigado por me acompanhar pelos mais longoscaminhos e pelas incansveis revises nos nossos trabalhos. Agradeo tambm, poraprender tanto sobre aprendizado de mquina e minerao de dados durante as minhasrepedidas explicaes em busca de uma inspirao.

    A todos os colegas que conheci durante o meu mestrado. Soraia e Daniel, porrevisar vrios dos meus textos e muitos momentos de conversa. Rodrigo Silva eThatyene pelo apoio quando eu iniciei o mestrado. Janana pela participao em algunstrabalhos. Walter e toda equipe do Observatrio da Web pela ajuda na obteno dedados e construo de uma aplicao para demonstrao. Aos companheiros, FlvioRoberto e Luiz Damilton. A todos os integrantes do laboratrio e-speed e PENSI.

    Aos meus orientadores Renato Ferreira e Adriano Veloso, pela confiana, incentivoe ajuda em todo o trabalho, foi um honra trabalhar com vocs. Muito obrigadoProfessor Wagner, pela ajuda na pesquisa e revises nos trabalhos enviados paraconferncias. Agradeo ao Professor Mohammed Zaki, por orientar minhas pesquisasdurante perodo no Rensselaer Polytechnic Institute (RPI) e viabilizar minha estadianos EUA. Obrigado Professora Gisele por ter sido a primeira pessoa que me ajudoucom um tema de pesquisa.

    Membros da banca, (Nivio, Wagner e Gisele), obrigada por aceitar o convite emcolaborar com essa pesquisa. Finalmente, a todos os funcionrios da UFMG e aosrgos CAPES e UOL pela ajuda financeira durante o mestrado.

    ix

  • Reconhecimento de padres est ligado busca de regularidades. Desde tempospr-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 interessepor parte da comunidade de Aprendizado de Mquina. Com o advento dos canaisde mdias sociais essa anlise tem ganhado fora, isso porque nessas aplicaes, osusurios so convidados, continuamente, a compartilhar suas opinies e sentimentosobre diferentes tpicos de discusso. Como consequncia, uma grande massa decontedo opinativo gerada em tempo real. Muitas tcnicas de classificao automticatm sido utilizadas para realizar a anlise de sentimento, contudo consenso que omodelo de chegada de mensagens a partir de mdias sociais segue o paradigma de fluxode dados e as tcnicas de classificao tradicionais no esto adequadas para trataras caractersticas especificas desse fluxo de sentimento. Entre os desafios impostoss tcnicas classificao podemos destacar: (1) o sentiment drift (i.e., constantesmudanas nas caractersticas dos dados), (2) a necessidade de atualizao em temporeal do modelo de classificao a partir de mensagens mais recentes e (3) a quantidadelimitada de dados para treinamento dos algoritmos.

    Neste trabalho, esses problemas foram estudados a partir de uma proposta deaprendizado semi-supervisionado. O algoritmo proposto auto expande o conjunto detreino, a partir de novas mensagens do fluxo e uma pequena semente de treinamentoinicial. Modelos de classificao so produzidos em tempo real a partir de regras deassociao, mantendo o modelo atualizado de maneira incremental. Dessa forma emqualquer momento do evento, o modelo reflete o sentimento que est sendo transmitido.Com intuito de tratar o sentiment drift, mensagens de treinamento so projetadas sob-demanda, de acordo com o contedo da mensagem sendo classificada. A projeode dados de treinamento oferece uma srie de vantagens, incluindo a habilidade derapidamente detectar tpicos de informao emergindo no fluxo.

    Um estudo de caso foi realizado a partir das mensagens do Twitter, postadasem tempo real em relao a trs importantes eventos de 2010: (1) Copa do Mundo deFutebol; (2) Eleies Presidenciais do Brasil; e (3) Escolha da personalidade do ano pelarevista 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 noconjunto de treinamento. Estes resultados so assegurados para diferentes linguagens,em casos onde a distribuio do sentimento muda de diferentes maneiras com o decorrerdo 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 popularesalgoritmos foram consideradas como um limite inferior. Nessa comparao, verificou-se que nossa abordagem eficiente nos cenrios analisados, provendo ganhos de 14% a41%. Posteriormente, um limite superior foi definido, a partir de/da: (1) experimentosutilizando a metodologia que considera todos os dados rotulados, (2) busca pelo melhortamanho de janela deslizante de treinamento para cada coleo de dados e (3) propostade uma nova tcnica de esquecimento em fluxo de dados, baseada em um processo deamostragem ativa, denominada Janela Deslizante Ativa (JDA). A JDA foi capaz dealcanar resultados equivalentes ao melhor tamanho de janela de treino (definido poruma busca exaustiva) sem necessitar da configurao prvia do tamanho da janela.Dessa forma, avaliou-se o quanto nossa abordagem auto treinamento se aproxima dolimite 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, MdiaSocial.

    xiv

  • Abstract

    Over the past years, the sentiment analysis task has attracted the interest of themachine learning researchers. This interest has grown significantly due to the largevolume of opinionative content generated and shared via social media. Consideringthe benefits of knowing the sentiment of the population regarding different topics andentities, the analysis of the content generated by social medias it is a promising andnecessary task. Many automatic classification techniques have been used to performsentiment analysis, however it is consensus that the arrival pattern of messages fromsocial medias follows the data stream paradigm and the traditional classificationtechniques are not adequate to address the specific characteristics of this sentimentstream. 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 wasapproached as sentiment drift), (2) the need of real-time update of the classificationmodel from the most recent messages and (3) the limitation of computing and trainingresource, which makes the two firsts challenges mentioned more difficult.

    We analyzed these problems from a semi-supervised learning proposal. Ouralgorithm adapts the training set, to the changes in the data, from a self-augmentingtraining process with the passes of the stream. It uses a small seed as an initialtraining and then classification models are produced in real-time using associationrules. This strategy keeps the model up-to-date incrementally, so that at any timeof the event the model reflects the sentiment that is being transmitted. In order toaddress the sentiment drift, messages to training are projected on-demand, accordingto the message content that is being classified. Projection of the training data offersa number of advantages including the ability to quickly detect emerging trends in theinformation stream. We conducted a case study using the Twitter messages, postedin real-time, related to major events in 2010. In these experiments the performanceof the prediction kept the same or increased, with the passes of the stream and theinclusion of new messages in the training set. We evaluated the proposed solution indifferent 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) ofthe most popular classification algorithms, which were defined as a lower bound.Our approach showed extreme effective in these analyzed scenarios, providing gainsfrom 14% to 41%. We define an upper bound from experiments using the evaluationmethodology "interleaved test-then-train"and the search for the best sliding windowsize to train each data set. Thereafter, we proposed a new forgetting technique inthe 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 byexhaustive search) without prior setting of the window size, since the configurationof this parameter by the user can be unfeasible, as shown in the experiments. Weanalyzed how our semi-supervised approach approaches to the upper bound and wefound that it achieves up to 87% of the upper bound, using only a small seed of labeleddata.

    xvi

  • Lista de Figuras

    3.1 Distribuio de Frequncia dos Termos . . . . . . . . . . . . . . . . . . . . 253.2 Distribuio de classes ao longo do tempo . . . . . . . . . . . . . . . . . . 273.3 Nmero de Termos nicos Acumulado ao Decorrer do Tempo . . . . . . . 313.4 % termos que o maior valor de (q si) variou entre diferentes sentimentos

    e entropia ao decorrer longo do fluxo . . . . . . . . . . . . . . . . . . . . . 343.5 Sensibilidade do paramtro min. . . . . . . . . . . . . . . . . . . . . . . . 393.6 Copa do Mundo de Futebol - Derrota do Brasil (Portugus) . . . . . . . . 413.7 Copa do Mundo de Futebol - Derrota do Brasil (Ingls) . . . . . . . . . . . 433.8 Eleies Presidenciais no Brasil . . . . . . . . . . . . . . . . . . . . . . . . 443.9 Personalidade do Ano (Ingls). . . . . . . . . . . . . . . . . . . . . . . . . 453.10 Aumento do Tamanho da Semente de Treinamento . . . . . . . . . . . . . 47

    4.1 MSE com a variao do tamanho da janela deslizante de treinamentoaumentando-a de 100 em 100 . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.2 MSE ao longo do tempo. As abordagens Todo o Treinamento, JanelaDeslizante e Janela Delizante Ativa consideram todas as mensagens paratreinamento com o rtulo correto logo aps seu processamento. . . . . . . . 57

    xvii

  • Lista de Tabelas

    3.1 Colees de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Melhores parmetros para cada algoritmo avaliado . . . . . . . . . . . . . 363.3 MSE alcanado pelo algoritmo de auto treinamento e verses estticas de

    diferentes algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4 Tempo de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4.1 MSE alcanado com o limite superior e utilizando o algoritmo de autotreinamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    xix

  • Sumrio

    Agradecimentos ix

    Resumo xiii

    Abstract xv

    Lista de Figuras xvii

    Lista de Tabelas xix

    1 Introduo 11.1 Motivao e Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Organizao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2 Trabalhos Relacionados 7

    3 Aprendizado de Fluxo de Sentimento 133.1 Anlise de Fluxo de Sentimentos . . . . . . . . . . . . . . . . . . . . . . 13

    3.1.1 Extrao de Regras Oine . . . . . . . . . . . . . . . . . . . . 143.1.2 Predio de Sentimentos . . . . . . . . . . . . . . . . . . . . . . 153.1.3 Adaptao do Modelo Classificao em Tempo Real . . . . . . . 16

    3.2 Avaliao Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.1 Colees de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.2 Caracterizao do Sentiment Drift . . . . . . . . . . . . . . . . 293.2.3 Resultados Obtidos e Discusso dos Resultados . . . . . . . . . 35

    4 Aproximao Experimental do Limite Superior para Anlise deFluxos de Sentimento 494.1 Esquecimento em Fluxos de Dados . . . . . . . . . . . . . . . . . . . . 50

    xxi

  • 4.1.1 Janela Deslizante de Tamanho Fixo . . . . . . . . . . . . . . . . 504.1.2 Janela treino Deslizante Ativa . . . . . . . . . . . . . . . . . . . 51

    4.2 Avaliao Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 ourecursos para tornar um ambiente de comunicao, no qual produtores e consumidoresde contedo se misturam e interagem, estabelecendo assim novas formas de criar,organizar, compartilhar e utilizar o conhecimento [Easley & Kleinberg, 2010]. Umadas fontes para gerao desse contedo so as mdias sociais (e.g., Orkut, Twittere Facebook), onde milhes de usurios so encorajados a compartilhar e expressarsuas opinies e sentimentos sobre os mais diversos tpicos e entidades. A ascensodestes canais de mdias sociais baseados em texto tem atrado ateno da comunidadecientifica. Isso porque a descoberta de conhecimento a partir do contedo expresso pelosusurios da web oferece oportunidades estratgicas para diferentes reas [Bermingham& Smeaton, 2010].

    Nos ltimos anos a tarefa de analisar contedo, a partir dos sentimentos neleexpressos, tem sido amplamente estudada [Pang et al., 2002; Pang & Lee, 2008; Bifet& Frank, 2010]. Nessa tarefa, a mensagem basicamente classificada de acordo com osentimento expresso pelo escritor a respeito de um tpico ou entidade. Considerando osbenefcios da anlise de sentimento e o potencial dos canais de mdias social como fontede contedo opinativo, cada vez mais se faz necessrio realizar anlise de sentimentosa partir dos dados gerados nas mdias sociais.

    A partir dessas aplicaes possvel mensurar o sentimento compartilhadocontinuamente pela populao online sobre diversos assuntos (e.g., epidemias [Chew &Eysenbach, 2010], eleies [Diakopoulos & Shamma, 2010] e eventos esportivos [Silvaet al., 2011c]), e o conhecimento obtido podem ser utilizado por diversas reas noprocesso de tomada de deciso.

    Existe uma crescente tendncia em executar anlise de sentimentos utilizandotcnicas relacionadas a classificao [Pang et al., 2002; Bifet & Frank, 2010], um

    1

  • 2 Captulo 1. Introduo

    processo que automaticamente constri um modelo de classificao por aprendizado dacaracterstica subjacente do texto, a partir de um conjunto de mensagens previamenterotuladas (i.e., dados de treinamento), que distingue um sentimento de outro (e.g.,felicidade, tristeza, fria, surpresa e desconfiana). O sucesso destes classificadoresse deve pela sua habilidade de julgar atitudes pelo significado de padres textuaispresentes nas mensagens, as quais geralmente aparecem na forma de expressesidiomticas e combinaes de palavras. bem aceito que a qualidade dos dados detreinamento, que fornecido para o classificador, crucial para a efetividade da anlise.

    Apesar de no existir um consenso de como os dados de treinamento devemser produzidos, o custo de rotular manualmente uma vasta quantidade de mensagens proibitivo, uma vez que a aquisio destas mensagens de exemplo pode requerer ainspeo de um humano qualificado. Diante disso, formas alternativas para desse treinotm sido propostas (e.g., tcnicas que fazem uso de alternativas semi-supervisionadas[Chapelle et al., 2006] e de aprendizagem ativo [Settles, 2009]). Contudo, estas tcnicasenvolvem complexos procedimentos que so inviveis a serem realizados na velocidadede chegada das mensagens.

    Alm disso, as tcnicas de classificao tradicionais no esto adequadas paraa anlise de sentimento a partir do contedo compartilhado em mdias sociais. Issoporque, na maioria dos casos essas tcnicas assumem que uma grande quantidadede dados amostrada de uma distribuio estacionria para gerao do conjunto detreinamento [Hulten et al., 2001]. Porm, essa considerao violada, porque nessasaplicaes 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 ossentimentos so expressos com o passar do tempo. Nesse trabalho este cenrio chamado de fluxo de sentimento e a tarefa de separar os sentimentos nele contidode anlise de fluxo de sentimento.

    Gama & Mohamed [2007] definem fluxos de dados como uma sequncia de dadosilimitada que chegam em tempo real, continuamente e em alta velocidade. Em relaoas fontes de fluxos de dados existentes possvel citar: monitoramento de redes,rede de sensores, gerenciamento de dados de telecomunicaes, aplicaes financeiras eaplicaes web. Pesquisadores apontam a anlise deste tipo dado como um dos maioresdesafios enfrentados atualmente em reas como aprendizado de mquina e mineraode 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 sertratado como sentiment drift) e;

  • 1.1. Motivao e Objetivo 3

    O fato dos classificadores operarem com limitaes de memria, tempo deprocessamento e dados rotulados para treinamento.

    Embora, existam propostas baseadas em aprendizado de mquina para anlisede sentimento, elas no so suficientes para capturar e tratar o sentiment drift. Nessecontexto necessrio propor solues para atualizao do modelo de classificao emtempo real, e essa atualizao deve ocorrer de forma a permitir a adaptao do modelocom 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 relevantequanto 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 mdiassociais. Isso porque os dados mudam constantemente e estas tcnicas no dispem derecursos para manter seu modelo atualizado. Alm disto, existe uma escassez de dadosrotulados para treinamento contnuo do classificador.

    Sabendo que as tcnicas de aprendizado semi-supervisionado permitem melhorara eficcia de classificadores utilizando os dados no rotulados [Chapelle et al., 2006;Balcan & Blum, 2005], possvel enraizar a hiptese de que: tcnicas de aprendizadosemi-supervisionado podem ser adequadas para a tarefa de anlise de fluxos sentimentode forma a adaptar o classificador aos fenmenos de sentiment drift.

    Diante disso, considerando a hiptese apresentada e motivados tanto pelosdesafios impostos pela anlise de sentimento em fluxo de dados, quanto pela a carnciade tcnicas para resolver os problemas existentes nesse cenrio, o objetivo destetrabalho consistiu em analisar e propor solues para o problema relacionado a faltade dados rotulados para treinamento do classificador, bem como, minimizar os desafiosem relao a identificao, caracterizao e tratamento do sentiment drift.

    1.2 Contribuies

    Em termos de contribuies este trabalho apresenta uma soluo para aprendizado desentimentos 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 ossentimentos a padres textuais nas mensagens. Alm disso, trs novas caractersticas

  • 4 Captulo 1. Introduo

    fazem a nossa proposta uma soluo diferenciada para tratar com diferentesconfiguraes de sentiment drift, operando com recursos limitados:

    1. A aplicao de um procedimento de auto aumento de treino, o qual incorporaconfiveis predies como novas informaes de treinamento, e como resultadoos dados de treinamento so automaticamente aumentados como o passar dasmensagens do fluxo. O modelo de classificao imediatamente renovadomantendo as regras atualizadas incrementalmente, ento a prxima mensagemno fluxo pode ter vantagens pela informao includa recentemente;

    2. Uma estrtegia de sub judice, de acordo com a dificuldade do fluxo, o classificadorpode abster de predies duvidosas, criando um bloco de mensagens queesto temporariamente esperando por uma predio de confiana. Estasmensagens para as quais nenhuma predio possvel com somente as mensagensde treinamento disponvel at o momento, se beneficiam de informaes detreinamento 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 detreinamento para cada mensagem que chega atravs do fluxo. As mensagens detreinamento que compem cada projeo so automaticamente selecionadas deacordo com o contedo da mensagem que est sendo analisada. Argumentamosque esta uma poderosa estratgia para tratar diferentes tipos de sentimentdrift, uma vez que elimina mensagens de treinamento que no significativaspara a mensagem que est sendo analisada. Demonstramos que as mensagensremovidas no so prejudiciais para o desempenho de predio, e que o nmerode regras extradas a partir de cada projeo de treino cresce polinomialmentecom o tamanho do vocabulrio, no importando o valor de suporte mnimo. Issopermite que o classificador concentre-se em tendncias de informao que estoemergindo no fluxo, enquanto permanece livre de uma enorme quantidade deinformaes inteis.

    Essas caractersticas foram propostas de forma a se complementar. Isso porqueelas produzem um efeito sinrgico no sentido de que ambas precisam uma da outrapara funcionar corretamente. A capacidade de auto aumentar o treino assegura aincluso de novas mensagens no conjunto de treinamento, que so necessrias paraproduzir projees de treinamento atualizadas. Neste ponto, o uso de restries tpicasde custo computacional baseadas em limiares de suporte mnimo poderia comprometer

  • 1.2. Contribuies 5

    o processo, uma vez que padres importantes que esto emergindo no fluxo seriampodados, e como resultado, o modelo de classificao se tornaria obsoleto e incapaz deresponder s tendncias de opinio.

    Portanto, a fim de detectar rapidamente o surgimento de novas informaes nofluxo de mensagens, o classificador deve extrair regras sem empregar restries defrequncia com base no suporte. Como ser demonstrado, a abordagem de projeosob demanda assegura que regras so eficientemente extradas a partir da projeode treinamento, mesmo sem aplicar restries de suporte. Alm disso, o custoassociado com a extrao de regras grandemente amortizado devido a uma abordagemincremental sem perdas, o que reduz drasticamente o nmero de acessos para os dadosde treino.

    Para avaliar a eficcia da soluo proposta, um conjunto de experimentossistemticos utilizando colees de mensagens do Twitter (ricas em sentimentos queretratam trs eventos importantes no ano de 2010) foi utilizado. Analisamos diferentescenrios de aprendizagem (i.e., diferentes sentimentos, idiomas, tamanhos de sementestreinamento e diferentes tipos de mudanas nos sentimentos). Comparamos nossaabordagem com as verses estticas de algoritmos estado da arte e os resultadosmostram que nossa proposta mais efetiva sobre diversos cenrios de aprendizado,alcanando ganhos que variam de 14% a 41%. Embora tenhamos realizado um estudode caso no Twitter, as tcnicas propostas so aplicveis a qualquer fonte de dado quecompartilhe as mesmas caracteristicas deste sistema.

    Definimos uma aproximao do limite superior para o problema abordado notrabalho com a executamos uma srie de experimentos utilizando a metodologia deavaliao 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 rtulocorreto para atualizao do modelo logo aps o seu processamento.

    Durante a definio do limite superior, foi apresentada uma contribuio que setrata de uma nova proposta para remoo de exemplos desatualizados do conjunto detreinamento (i.e., esquecimento) na anlise de sentimento em fluxo de dados.

    Essa proposta baseada na teoria de Aprendizado Ativo e foi denominada deJanela Deslizante Ativa (JDA). Ela pode ser aplicada em uma outra perspectiva doproblema de anlise de fluxos de sentimento, ou seja, em cenrios que os exemplospara treinamento so disponibilizado ao decorrer do fluxo (i.e., mensagens chegamrotuladas). O objetivo dessa proposta foi prover ao classificador a capacidade de manteros exemplos mais significativos no conjunto de treino com um vis temporal. Istoporque, conforme descrito anteriormente, neste cenrio, aprender com o decorrer dofluxo to relevante quanto esquecer o que j no descreve o sentimento atual.

  • 6 Captulo 1. Introduo

    Verificamos experimentalmente que JDA foi capaz de alcanar resultadosequivalentes ao melhor tamanho de janela de treino (definido com exaustivosexperimentos para cada coleo de dados) sem necessitar da configurao prvia desteparmetro. Uma vez que a configurao do tamanho de janela treinamento pelousurio pode ser invivel como mostrado nos experimentos.

    Finalmente, nosso trabalho apresenta uma caracterizao do sentiment drift queocorre em diferentes eventos do mundo real. Tal caracterizao se faz relevante poispermite uma melhor compreenso de como ocorrem as mudanas no fluxo de sentimentoem vrios cenrios e, consequentemente, favorece a criao de tcnicas que permitamtratar essas mudanas durante o processo de classificao automtica em fluxo de dados.

    As solues apresentadas nesse trabalho, resultados preliminares e aplicaesforam 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 ostrabalhos relacionados e estratgias existentes para anlise de fluxo de dados. Emseguida, as solues propostas e a avaliao experimental realizada. Na quarta seodefinimos um limite superior para a abordagem de auto treinamento e verificamos oquanto os resultados dessa abordagem se aproximam deste limite. Finalmente, a ltimaseo 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 benefciosda anlise de sentimento e o potencial dos canais de mdias social como fonte decontedo opinativo, cada vez mais se faz necessrio realizar anlise de sentimentosa partir do fluxo de dados gerados atravs dessas aplicaes. No entanto, esse tipo deanlise apresenta vrios desafios a serem contornados pelas tcnicas de minerao dedado. Isto porque classificadores devem operar com recursos limitados de computaoe treinamento e tratar do concept drift. A seguir so apresentadas diferentes estratgiaspropostas para lidar com concept drift em fluxos de dados.

    Na tentativa de contornar os problemas advindos do concept drift, muitostrabalhos abordam tcnicas de manuteno de reservatrio de amostragem em fluxode dados. Essa amostragem realizada com uma funo probabilstica de um registroser includo ou retirado do reservatrio. Aggarwal [2006] apresenta uma soluo para ovis temporal das amostras em um reservatrio. Os autores fazem uso de uma funotemporal para regular a escolha da amostra no fluxo de dados. Tal soluo eficienteem casos onde desejvel obter resultados com e sem vis temporal. No artigo foramapresentadas 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 dedados com tamanho adaptativo sob duas perspectivas: (1) tamanho do reservatrioe a (2) uniformidade da amostra. A partir desse estudo, os autores apresentaram 4contribuies. Primeiro, os resultados baseados em estudos tericos mostraram que oajuste do tamanho de um reservatrio de amostragem pode impactar de forma negativasobre a probabilidade da amostra se tornar uniforme. Em seguida, eles propem umnovo algoritmo para manuteno da amostra aps o ajuste no reservatrio. A terceira

    7

  • 8 Captulo 2. Trabalhos Relacionados

    contribuio consiste na ampliao desse algoritmo para um algoritmo adaptativo quetrabalha com multi reservatrios para amostragem e, finalmente, a quarta contribuiorefere-se aos resultados empricos do algoritmo adaptativo em relao ao tamanho doreservatrio e a uniformidade da amostragem. Esses resultados mostraram que osmtodos de amostragem propostos so eficientes na minerao sequencial.

    Li et al. [2007] por sua vez, introduzem ummtodo de deteco de mudanas. Essemtodo 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 abordagemutiliza uma funo para determinar a distncia entre dois exemplos, um valor limitepara determinar se ocorreram mudanas e tcnicas de amostragem para decidir quaispontos dos dados sero analisados.

    No trabalho de Bifet & Gavald [2007] apresentado um arcabouo paradesenvolvimento de algoritmos que podem aprender adaptativamente em fluxos dedados com o tempo. Este mtodo baseado no uso de detectores de mudanase estimadores de mdulos em locais altos. apresentado um algoritmo de janeladeslizante adaptativo (Adaptive Sliding WINdow - ADWIN), uma janela de tamanhovarivel ao decorrer do tempo, para detectar mudanas e manter estatsticas do fluxode 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 fluxode dados a partir de um modelo discriminativo para minerao e aprendizagem rpidaem fluxos com rudo. Nesse trabalho foi construdo um comit de classificadores que adaptado de maneira ponderada de forma a maximizar a vizinhana dos dados. Oobjetivo foi combinar adaptao ao concept drift e robustez ao rudo, empregandotcnicas estatsticas para diminuir o problema de sensibilidade a estes. Os autoresformularam o problema de classificao ponderada como um problema de regresso,objetivando maximizar a vizinhana dos dados para o conceito atual. Este mtodo dedeteco 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, RigorousConcept Drifting - RCD), e ento prope uma soluo para lidar com cada umseparadamente. Para o LCD, dado que o conceito adjacncia das partes dos dadosso suficientemente prximos, foi aplicado o Kernel Mean Matching (KMM) paraminimizar a discrepncia das partes dos dados. Cada processo de minimizao produzinstncias ponderadas para construo de um conjunto de classificadores e para lidarcom o concept drfit em fluxo de dados.

    Para o RCD, dado que o conceito dos dados pode mudar de forma aleatria erpida, foi proposto um o mtodoOptimal Weights Adjustment (OWA) para determinar

  • 9o valor de peso timo para os classificadores treinados com os dados mais recentes.Dessa forma, classificadores podem formar um conjunto preciso para prever os prximoscasos nos dados. Experimentos em bases de dados reais e sintticas mostram que aabordagem de instncia ponderada prefervel quando o concept drift a principalcausa pela mudana na distribuio dos dados.

    Zhang et al. [2009] prope um SVM de aprendizado cooperativo baseado naestratgia de sistema de multi-agente de acordo com as caractersticas cooperativas e desistemas distribudos. Isso porque o SVM normalmente no escalvel para problemasde classificao em grandes conjuntos de dados devido a sua alta complexidade noprocesso de treino. Neste arcabouo o fluxo de dados chega aos agentes mestres que oparticionam 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, essespor sua vez, so combinados de acordo com suas compatibilidades.

    Outros trabalhos utilizam algoritmos de aprendizado incremental. Essesalgoritmos tendem a evoluir ao longo do tempo de acordo com o fluxo de dados queeles recebem e, alm disso, visam detectar e reagir a mudanas no ambiente de geraode dados. Gama et al. [2009] realizam um trabalho cujo objetivo consistiu em proporum arcabouo que visa avaliar a qualidade de algoritmos de aprendizagem de fluxo dedados. Os autores utilizaram estimativas de erro sequencial preditiva (ou InterleavedTest-Then-Train), atravs de uma janela deslizante para avaliar o desempenho dessesalgoritmos.

    Seidl et al. [2009] propem uma tcnica baseada em ndice para lidar com 3desafios utilizando um classificador Bayesiano, os desafios consistem em: (1) lidar comum grande montante de dados, (2) o tempo variado entre dois itens do fluxo deve serutilizado da melhor forma possvel e (3) dados adicionais no treino devem ser aprendidosde 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 deFukuhara et al. [2007] apresenta uma abordagem que avalia tendncias temporais desentimentos e de tpicos. O mtodo baseado na presena de palavras chaves taiscomo "happy"ou "delighted at". Bifet & Frank [2010] apresentam uma discusso sobreo desafio de minerao em fluxo de dados do Twitter focando no problema de anlisede sentimentos. Neste trabalho foram avaliados os algoritmos Multinomial NaiveBayes (MNB), Stochastic Gradient Descent (SGD) e Hoeffding Tree. Para o primeiroexperimento foi utilizado um conjunto de treino rotulado a partir dos emoticonscontidos na mensagem (e.g. :) :( ) e o conjunto de teste foi rotulado manualmentee 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 contidosnas mensagens, nesse experimento o algoritmo que apresentou melhor resultado foi oSGD.

    Embora os trabalhos acima citados estejam utilizando tcnicas de comit(ensemble), aprendizado incremental, janela deslizante e amostragem adaptativas paraadaptar as tcnicas de aprendizado de mquina s mudanas em fluxos de dados, o altocusto da rotulagem ainda persiste, principalmente se considerarmos aplicaes onde otempo de resposta pequeno (e.g. a cada 1 minuto a classificao de todos os dados dominuto anterior deve ser realizada) ou imediato. Alm disso, algumas dessas tcnicasapresentam um custo computacional elevado [Hulten et al., 2001], uma vez que utilizammais de um classificador para classificao dos dados ou detectores de mudanas.

    Com o intuito de contornar esse problemas, Masud et al. [2008] apresentam umatcnica para classificao a partir de um conjunto de treinamento com dados norotulados e um pequeno nmero de exemplos rotulados de cada uma das partes dofluxo. Esta tcnica constri micro-grupos com agrupamento semi-supervisionado ea classificao realizada com o algoritmo de k vizinhos mais prximos (K-NearestNeighbor - KNN). Um conjunto desses modelos utilizado para classificar os dadosno rotulados. Nas avaliaes realizadas utilizando apenas uma pequena quantidadede dados rotulados, essa abordagem superou o algoritmo para classificao em fluxo dedados On Demand Stream, o qual utilizou vinte vezes mais dados rotulados.

    Zhu et al. [2010] prope um arcabouo de aprendizado ativo baseado em umcomit de classificadores, com o objetivo de reduzir o custo na rotulao de exemplospara treinamento. Esse arcabouo rotula seletivamente instncias do fluxo de dadospara construir um conjunto de classificadores. Os autores argumentam que a varinciado conjunto de classificadores corresponde diretamente a taxa de erro, ento reduzir avarincia do conjunto equivalente a melhorar a preciso das predies. Sendo assimas instncias que devem ser rotuladas so aquelas que minimizam a varincia do comitde classificadores.

    No trabalho proposto o princpio de varincia mnima para guiar a rotulao dosexemplos, alm disto, um mtodo de clculo de peso timo derivado, para determinaros valores dos pesos para cada classificador no conjunto. Estes so combinados paraformar um arcabouo de aprendizado ativo para fluxo de dados. Os autores avaliaramo desempenho do classificador comparando-o com outras abordagens utilizando dadossintticos e reais. Os resultados mostraram que a natureza dinmica do fluxo de dadosimpe desafios significativos aos algoritmos de aprendizado ativo.

    O trabalho aqui proposto se diferencia dos apresentados anteriormente uma vezque apresenta uma abordagem para gerao de treino automaticamente minimizando

  • 11

    interveno humana de forma a capturar o concept drift. Alm disso, essa abordagemno gera o custo computacional proveniente das tcnicas de ensemble, j que utilizaapenas um classificador e um algoritmo, baseado em regras de associao, paraaprendizado incremental.

    Em termos de trabalhos relacionados a aprendizado semi-supervisionado em fluxode dados podemos citar os realizados por [Wu et al., 2006; Seidl et al., 2009; Liet al., 2010]. Wu et al. [2006] propem o clustering-training, um algoritmo semi-supervisionado que tem como objetivo agrupar exemplos no rotulados do fluxo, emuma 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 novamenteo classificador de uma maneira incremental.

    Li et al. [2010] apresentam um algoritmo semi-supervisionado para classificaoem fluxo de dados com concept drift e dados no rotulados (SUN) baseado em rvore dedeciso. Nessa abordagem os dados no fluxo so rotulados a partir do agrupamento comdados 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, deacordo com o nvel de rudo do fluxo identificado pela diferena entre o histrico declusters gerados e o cluster dos dados que chegam. Os resultados do algoritmo so bonsse comparados aos algoritmos Concept-adapting Very Fast Decision Trees (CVFDT)[Hulten et al., 2001] e Concept drifting Detection based on an ensembling model ofRandom Decision Trees (CDRDT).

    Em trabalhos como os realizados por [Jansen et al., 2009; Bermingham &Smeaton, 2010; Diakopoulos & Shamma, 2010], so realizadas caracterizaes dossentimentos expressos atravs de mensagens do Twitter em relao a marcas e eventosdo mundo real (e.g., debates). Jansen et al. [2009] apresentam os resultados de umapesquisa realizada em micro-blogs. O objetivo foi verificar se esses micro-blogs podemser considerados um mecanismo para propaganda online a ser explorado por marcas deprodutos.

    No trabalho os autores analisaram os comentrios, sentimentos e opiniesexpressos sobre algumas marcas. Como resultado Jansen et al. [2009] identificaramque os micro-blogs podem ser utilizados pelas marcas tanto para obter quanto paradistribuir informaes aos clientes. Constatou-se que, atravs dos micro-blogs, elespodem identificar a aceitao do seu produto, divulg-los e fazer campanha demarketing a partir dos sentimentos expressos pelos consumidores. Logo, os autoresconcluem que evidente a contribuio dos micro-blogs para esse seguimento e queesses 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 novarea de foco para anlise de sentimentos e discute as motivaes e desafios por trsdesta. Os autores apontam aplicaes como o Twitter como um bom exemplo de fontepara obteno dessas informaes. O trabalho apresenta uma reviso da anlise desentimentos na web em tempo real como uma futura orientao para pesquisas.

    Diakopoulos & Shamma [2010] caracterizam as mensagens enviadas atravs doTwitter em relao a um debate poltico de acordo com a forma com que as pessoasesto reagindo a ele e demonstram metodologias analticas e representaes visuais quepodem ajudar a compreender melhor a dinmica temporal do sentimento em relaoao debate. No entanto, os autores no esto interessados na deteco automtica dossentimentos ou de um vencedor ou perdedor. Para cada minuto do debate a agregaodos tweets foi realizada como o nmero de tweets positivos menos o nmero de tweetsnegativos.

    Os trabalhos acima apresentados mostram que o Twitter utilizado como mdiade expresso de sentimento. Contudo, eles apontam a necessidade de tcnicas declassificao automtica das mensagens em relao aos sentimentos. Diante dessecenrio, no trabalho aqui proposto, apresentamos uma soluo para esta necessidade,tratando peculiaridades da tarefa como o sentiment drift e necessidade de resposta detempo 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 soluocomo 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, umavez que essas abordagens so propensas a erros de interpretao e no so capazes decapturar tipos de sentimentos aos quais nenhum emoticon (ou expresso) associado.

  • Captulo 3

    Aprendizado de Fluxo deSentimento

    Neste captulo ser apresentada a soluo proposta para aprendizado de sentimentosque 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, definidacomo a seguir. Temos como entrada uma pequena semente de treinamento (referenciadocomo D), o qual consiste de um conjunto de registros na forma de < d, si >, onded 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 avarivel sentimento s assume seus valores de um conjunto pr-definido e discreto depossibilidades (e.g., s1, s2, . . ., sk).

    A semente de treinamento utilizada para construir uma funo relacionandopadres textuais nas mensagens aos seus respectivos sentimentos. Uma sequncia demensagens futuras, ordenadas cronologicamente, (referenciadas como T ) consiste deum 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 mensuraros sentimentos para cada mensagem em T . Contudo, mensagens em T chegam emum fluxo contnuo, desta forma o classificador deve operar com recursos limitados decomputao enquanto produz modelos de classificao. Alm disso, o classificador devese auto adaptar devido ao sentiment drift, sendo capaz de adquirir novas informaespara 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 destasestratgias de classificao no adequada para lidar com dados em tempo realchegando atravs de fluxos. Algumas estratgias [Breiman et al., 1984; Cortes &Vapnik, 1995] so especificamente concebidas para classificao oine, e isso umproblema porque, nestes casos, a produo de modelos de classificao em temporeal pode ser inaceitavelmente custosa. Diante dessas circunstncias, estratgias declassificao alternativas podem se tornar mais convenientes. A seguir descrevemosmodelos de classificao compostos de regras de associao [Veloso et al., 2006], e comoestes 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 sentimentoprevisto. 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 condicionaldo sentimento si dados os termos em X , que calculada de acordo com a Equao 3.1.

    (X si) = (X si)(X ) (3.1)

    3.1.1 Extrao de Regras Oine

    A abordagem mais simples para a aprendizagem de sentimento utilizando regras desentimento a oine, onde um conjunto de regras extrado a partir dos dados detreinamento D, e ento, essas regras compem o modelo de classificao.

    Definio 2. O modelo de classificao denotado como R e este compostopor um conjunto de regras X si extrada de D. O modelo representadocomo um conjunto de entidades na forma , onde chave={X , si} evalor={(X ), (X si), (X si)}. Cada entidade no conjunto corresponde a umaregra e a chave utilizada para viabilizar o acesso rpido s propriedades das regras.

    O processo de extrao dividido em 2 passos: contagem para definio dosuporte e clculo da confiana. Uma vez que o suporte (X ) conhecido, simplescomputar 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 coma explorao de todas as mensagens em D e clculo do suporte de cada termoisoladamente. Na prxima iterao, conjuntos de termos 2 (i.e., conjunto de tamanho2) so enumerados utilizando os conjuntos de termos de tamanho 1, e seus valores desuporte so calculados acessando os dados de treinamento. A pesquisa pelos conjuntosde 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 tamanhodo vocabulrio (i.e., o nmero de termos distintos em D) e restries de custocomputacional devem ser impostas durante a extrao de regras. Tipicamente, aespao de pesquisa para regras restringido a partir de poda de regras que noaparecem frequentemente em D (i.e., abordagem de suporte mnimo). Enquanto taisrestries fazem a extrao de regra factvel, elas tambm levam a perdas nos modelosde 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 socoletivamente utilizadas para mensurar os sentimentos das novas mensagens quechegam atravs de T . Basicamente, o modelo interpretado como uma votao, naqual cada regra {X si} R um voto dado por X para o sentimento si. Dadauma mensagem t T , uma regra X si somente considerada como um voto vlidose esta regra aplicvel para t.

    Definio 3. Uma regra {X si} R dita ser aplicvel para a mensagem t Tse 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 nenhumamensagem em T . Estas regras so ditas inteis, e o conjunto de todas as regras inteisem R so denotas como R.

    Denotamos como Rt o conjunto de todas as regras em R que so aplicveis paraa mensagem t T . Assim, somente e todas as regras em Rt so consideradas comovotos 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 podeser decomposto como {Rt1 Rt2 . . . Rtm R}. Regras em R representam umdesperdcio de recurso computacional, e podem poluir o modelo de classificao cominformaes irrelevantes, idealmente |R| = 0.

    Alm disso, denotamos como Rsit o subconjunto de Rt contendo apenas regraspredizendo o sentimento si. Votos em Rsit tm pesos diferentes, dependente daconfiana das regras correspondentes. calculada a mdia dos votos ponderados,por (X si), para o sentimento si, dando uma pontuao para o sentimento si arespeito mensagem t, como mostrado na Equao 3.2:

    s(t, si) =

    (X si)|Rsit |

    (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 dosentimento si como a atitude implcita na mensagem t.

    p(si|t) = s(t, si)kj=0

    s(t, sj)

    (3.3)

    3.1.3 Adaptao do Modelo Classificao em Tempo Real

    O desempenho associado aos modelos de classificao estticos tende a se deteriorar aolongo do tempo [Hulten et al., 2001]. Isto ocorre principalmente devido ao sentimentdrift [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 emalgum ponto no tempo os dados de treinamento podem eventualmente se tornar semsentido 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 arelao entre padres textuais e sentimentos muda [Zhang et al., 2008; Forman, 2006],i.e., ocorre mudana na probabilidade condicional ((X si)) de um sentimento sidado um conjunto de termos X . Nestes casos a adaptao do modelo essencial paracontrolar as mudanas nos sentimentos ao longo do tempo.

    Existem vrias estratgias para utilizar dados no rotulados no auxlio doaprendizado Blum & Mitchell [1998]; Chapelle et al. [2006]; Wu et al. [2006].Na prxima seo sero apresentadas as estratgias propostas neste trabalho paraatualizao em tempo real do modelo de classificao utilizando os dados no rotulados

  • 3.1. Anlise de Fluxo de Sentimentos 17

    que chegam a partir de T .

    3.1.3.1 Incluso de Novos Dados

    A fim de adaptar o modelo de classificao adequadamente, mandatrio coletaras informaes mais atuais emergindo no fluxo. As mais recentes mensagensde treinamento podem ser obtidas atravs da explorao das previses realizadasutilizando a funo de pontuao de sentimentos mostrada na Equao 3.3. Estasprevises podem ser utilizadas para atribuir sentimentos s mensagens, gerandomensagens rotuladas. Alm disso, as previses confiveis podem ser consideradas comocorretas 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 limiaradaptativo definido na Equao 3.4. Na equao a constante 0.5 utilizada paraespecificar que a primeira mensagem inserida em D tenha a confiana, na predio,maior que a soma das confianas dos outros sentimentos acompanhados, m(t) onmero de mensagens processadas at a mensagem t e min um fator especificadopelo usurio (k min 1, 0), onde k o nmero de sentimentos rastreados.

    l(si, t) = min 0.5 +m(t)1

    u=0 p(si|tu)m(t)

    (3.4)

    O proposito utilizar l(si, t) como um limiar adaptativo, que equivale ao desvioda 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, umavez que p(si|t) alcana um valor acima da mdia existem indcios que a predio estcorreta e que a mensagem t carrega informaes importantes.

    Utilizamos o min como um fator para indicar o quanto o p(si|t) deve desviarda mdia para ser considerada como uma mensagem rotulada confivel e inclui-la nosdados de treinamento D. Esta estratgia visa tambm evitar o alto vis para umsentimento, em D, durante a classificao das mensagens. Isso porque o surgimentorepentino de um grande volume de mensagens com um mesmo sentimento pode fazercom que o treinoD 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 detreinamento 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 plenopotencial do auto aumento do treino, uma vez que altamente provvel que o modelode classificaoR ser composto apenas das regras mais gerais em D, e a maioria destasregras podem no ser aplicveis a mensagens futuras que transportam informaes detendncias.

    Definio 5. Dada uma mensagem t T , dizemos que o modelo R agnstico parat, 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 declassificao gnstico improvvel de existir, como discutiremos na prxima seo,nossa extrao de regras deve ser livre de suporte, a fim de produzir modelos gnsticose 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 oine, entretanto, a extrao de regrasonline (em tempo real) oferece vrias vantagens. Uma dessas vantagens que osclassificadores se tornam capazes de extrair eficientemente regras a partir de D sem aaplicao 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 treinamentosob 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 soutilizados como um filtro que configura os dados de treino em D de uma maneira queapenas regras que so aplicveis a t podem ser extradas. Este processo de filtragemproduz um conjunto de treinamento projetado, denotado por Dt, que contm apenastermos 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 apenastermos que esto presentes na mensagem t, a existncia de uma regra X si extradaa 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 classificaoR. 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 porestarem associados uns aos outros, diminuindo drasticamente o espao de busca dasregras.

    Teorema 1 O nmero de regras extradas a partir de Dt cresce polinomialmente como nmero de termos distintos em D.

    Prova Seja n o nmero de termos distintos em D. Uma vez que uma mensagemarbitrria t T contm no mximo l termos (com l n), ento qualquer regraaplicvel a t pode ter no mximo l termos no seu antecedente. Isto , para qualquerregra {X si}, tal que X t, |X | l. Consequentemente, o nmero de possveisregras que so aplicveis a t l +

    (l2

    )+ . . . +

    (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 fatode que a projeo tambm explora, como um efeito colateral, a localidade temporalassociada aos termos em D. Isto particularmente importante para lidar com osentiment drift, uma vez que, projetando os dados de treinamento de acordo com ocontedo de uma mensagem t T , o classificador est essencialmente concentrando-se nas informaes para treinamento representativas em quadros temporais de dadospraticamente contnuos. No entanto, decidir o quo recentes estes quadros devem ser uma questo complicada, uma vez que diferentes mensagens em T podem exigirquadros de treinamento posicionados em diferentes pontos da linha do tempo do fluxo.

    Ou seja, algumas mensagens em T podem exigir quadros de treinamento maisrecentes, enquanto as outras mensagens em T pode exigir mais antigas. Assim, em vezde 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 classificadoremprega um quadro diferente (ou seja, Dt) para cada mensagem t T . A proximidadeno tempo dos quadros de treinamento para uma mensagem arbitrria t decididocom base nos termos que esto na prpria mensagem. Uma vez que estes termos socronologicamente relacionados de alguma forma, os dados de treinamento projetados apartir de Dt so susceptveis a conter mensagens de treinamento representativas paramensurar 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 Rdinamicamente medida que as mensagens em T so processadas. Inicialmente Rest vazio, um submodelo Rti anexado a R a cada momento que o classificadorprocessa uma mensagem ti. Assim, aps o processamento de uma sequncia de mmensagens {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. Estaoperao tem um custo computacional significativo, uma vez que necessrioexecutar vrios acessos a D. Diferentes mensagens em T = {t1, t2, . . . , tm} podemexigir diferentes submodelos {Rt1 ,Rt2 , . . . , Rtm}, mas diferentes submodelos podemcompartilhar algumas regras (i.e., {Rti Rtj} 6= ). Neste caso, a memorizao muito eficaz para evitar a replicao de trabalho, reduzindo o nmero de operaes deacesso a dados.

    Dessa forma, antes de extrair a regra X si, o classificador verifica se esta regraj est emR. Se uma entrada encontrada com a chave correspondente a {X , si}, entoa 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 etapasdeste processo so resumidas no Algoritmo 1.

    Algoritmo 1 Extrao de Regras OnlineRequire: mensagem t T e DEnsure: Rt e R1: Dt D projetado de acordo com os termos em t2: Rt regras {X si} 6 R, extradas a partir de Dt3: R Rt R

    3.1.3.4 Manuteno Incremental do Modelo

    As entidades no modelo de classificaoR podem se tornar invlidas quando mensagensrotuladas confiveis < t, si > so includas em D. Como resultado, R deve seratualizado corretamente. Propomos manter o modelo atualizado de forma incremental,de modo que o modelo atualizado seja exatamente o mesmo que seria obtido atravsda sua reconstruo total.

    A velocidade de atualizao uma questo chave na manuteno do modelo eum desafio que ameaa a eficcia de nossa abordagem, uma vez que, o modelo podeser 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 valorde (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 aoperao 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 possveistermos em t. Como a maioria das mensagens que so includas em D contm apenasuma frao muito pequena do total de termos possveis, a incluso de uma mensagemarbitrria t corresponde a uma adio nula para a maioria das regras em R. O lema aseguir 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 todasas regras extradas para t.

    Uma vez que as regras {X s} Rt so recuperadas a partir deR, a atualizaodos valores correspondentes a (X ) e (X s) uma operao simples. Basta iterarsobre Rt e incrementar os valores de (X ) e (X s). Os valores correspondentes a(X s) so obtidos atravs do clculo de (Xs)

    (X ) s {s1, s2, . . . , sk}. Essas etapasesto resumidas no Algoritmo 2.

  • 22 Captulo 3. Aprendizado de Fluxo de Sentimento

    Algoritmo 2 Manuteno Incremental do ModeloRequire: mensagem rotulada < t, si >, D, e RiEnsure: R1: for all regras {X s} Rt do2: incremente (X )3: incremente (X si)4: (X si) (Xsi)(X )5: end for

    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 mensagemt seja inserida em D, algumas predies podem no ser confiveis o suficiente, dadocerto valor de l(si, t) (i.e., p(si|t) < min). A estratgia de sub judice1 consiste em noutilizar tais predies duvidosas e no informar a predio realizada para a mensagemimediatamente, como o classificador no tem evidncias suficientes para realizar umjulgamento 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 desentimentos so exploradas, esperanosamente aumentando a confiana das mensagensem S que foram previamente mantidas em sub judice, fazendo que elas possamser 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 (provavelmentemelhorando a desempenho da predio), ou no existem mais mensagens rotuladasconfiveis para serem includas em D e, portanto, as mensagens restantes que estoem sub judice devem ser processadas normalmente. O processo termina quando todasas mensagens em T so processadas pelo classificador. Os passos principais estoresumidos no Algoritmo 3.

    As mensagens so mantidas em sub judice em uma fila de tamanho |S|, e soretiradas de sub judice em dois casos: (1) Quando p(si|t), t S, se torna maior ouigual 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 sentimentdrift, uma vez que, na ocorrncia de um drift esperado que a confiana na prediodiminua, uma vez que a entropia dos dados aumenta nesse momento como demonstrado

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

  • 3.1. Anlise de Fluxo de Sentimentos 23

    Algoritmo 3 Procedimento de Sub JudiceRequire: message t T , minEnsure: D1: if p(si|t) < min2: manter t sub judice at outra mensagem rotulada ser inclusa em D3: else4: incluir a mensagem rotulada < t, si > em D5: end if

    em [Vorburger & Bernstein, 2006; Abdulsalam et al., 2008] e evidenciaremos naSeo 3.2.2. E assim o classificador pode aguardar at que o conceito se estabilizepara realizar a predio.

  • 24 Captulo 3. Aprendizado de Fluxo de Sentimento

    3.2 Avaliao Experimental

    Nesta seo analisamos empiricamente a eficcia da soluo proposta na pontuaode sentimentos. A seguir sero apresentadas as colees de dados utilizadas nosexperimentos.

    3.2.1 Colees de Dados

    Esta seo apresenta a caracterizao das colees de dados criadas para avaliaoda soluo proposta. As principais caractersticas das colees so apresentadas naTabela 3.1. A partir destas colees foi possvel avaliar a soluo proposta em diferentesidiomas, tipos de sentimentos rastreados e em cenrios que os sentimentos mudam dediferentes maneiras no decorrer do tempo (i.e., diferentes tipos de sentiment drift).

    Os grficos da Figura 3.2 evidenciam a ocorrncia de mudanas na distribuiode sentimentos nas colees analisadas. Nestes grficos em cada janela de tempot (minutos e dias) calculamos a porcentagem de mensagens positivas em t. Essasmudanas 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 Idioma # Mensagens SentimentosRastreados

    Taxa de Chegada deMensagens porSegundo

    Eleies Presidenciais noBrasil

    Portugus 66.643 Positivo e negativo 0.02

    Personalidade do Ano Ingls 5.616 Aprovao, surpresa,sarcasmo, reprovao erevolta

    0.2

    Copa do Mundo de Futebol Portugus 3.214 Positivo e negativo 1.12

    Copa do Mundo de Futebol Ingls 1.432 Positivo e negativo

    Copa do Mundo de Futebol. Na Copa do Mundo de 2010 foram convocadas32 equipes para competir pelo ttulo. Aps um jogo polmico, a equipe brasileira foiderrotada pela equipe holandesa em 02/07/2010. O Brasil marcou um gol no incio dapartida, mas logo aps a equipe Holandesa marcou duas vezes e venceu o jogo. Umjogador especfico, Felipe Melo, teve participao decisiva nos trs gols.

    Desta forma, a coleo sobre a copa do mundo de futebol em 2010 reflete a opiniodas pessoas em relao ao jogador Felipe Melo no ltimo jogo da seleo Brasileiracontra a Holanda. Foram coletadas 12.020 mensagens referentes ao Felipe Melo.Selecionamos aleatoriamente 3.214 mensagens em portugus (8.101 termos distintos) e

  • 3.2. Avaliao Experimental 25

    1.432 mensagens em Ingls (4.963 termos distintos) e as rotulamos manualmente. Adistribuio de frequncia dos termos apresenta na Figura 3.1.

    1

    10

    100

    1000

    10000

    100000

    1 10 100 1000 10000 100000

    Freq

    unc

    ia d

    o Te

    rmo

    Ranque dos Termos

    Copa do Mundo (pt)Copa do Mundo (en)

    Eleies PresidenciaisPersonalidade do Ano

    Figura 3.1. Distribuio de Frequncia dos Termos

    Na Figura 3.2(a), por exemplo, possvel verificar que a opinio dos usurios doTwitter, que postaram mensagens em portugus, em relao ao jogador Felipe Melomudou durante a partida. No primeiro tempo do jogo possvel observar uma maiorporcentagem de mensagens positivas em relao ao jogador uma vez que ele foi oresponsvel pelo passe que finalizou em um gol a favor da seleo Brasileira. Contudo,no segundo tempo, houve uma mudana inesperada de opinio - aumento de mensagensnegativas. Essa mudana reflete o sentimento das pessoas a partir do momento em queo jogador faz um gol contra e posteriormente expulso. O sentimento negativo tendea se intensificar no final da partida, isso porque o Brasil foi eliminado da copa nessaocasio e a responsabilidade da derrota foi atribuda ao jogador.

    Na Figura 3.2(b), possvel verificar a distribuio dos sentimentos nasmensagens em ingls. possvel perceber que a variao dos sentimentos bastanteruidosa, 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. Issopode ser explicado porque as pessoas que postam mensagem em ingls no tm umaopinio 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 osentimento pode variar de maneira inconsistente.

  • 3.2. Avaliao Experimental 27

    0

    0.

    2

    0.

    4

    0.

    6

    0.

    8

    1 02

    :00

    02:3

    003

    :00

    03:3

    004

    :00

    04:3

    005

    :00

    % Mensagens Positivas

    Min

    utos

    de

    Jogo

    (a)Cop

    ado

    Mun

    do(P

    ortugu

    s)

    0

    0.

    2

    0.

    4

    0.

    6

    0.

    8

    1 02

    :00

    02:3

    003

    :00

    03:3

    004

    :00

    04:3

    005

    :00

    Min

    utos

    de

    Jogo

    (b)Cop

    ado

    Mun

    do(Ing

    ls)

    0

    0.

    2

    0.

    4

    0.

    6

    0.

    8

    1 01

    /05

    01/0

    601

    /07

    01/0

    801

    /09

    01/1

    001

    /11

    % Mensagens Positivas

    Dia

    s da

    Cam

    panh

    a(c)EleiesPresidenciais

    noBrasil

    (d)Persona

    lidad

    edo

    Ano

    Figura

    3.2.

    Distribuiode

    classesao

    long

    odo

    tempo

  • 28 Captulo 3. Aprendizado de Fluxo de Sentimento

    Eleies Presidenciais no Brasil. A campanha eleitoral a presidncia doBrasil ocorreu no perodo de Junho a Outubro de 2010. Nesta base, o sentimentomonitorado foi em relao a candidata Dilma Rousseff, que utilizou o Twitter comouma das principais fontes de informao para seus eleitores. A campanha atraiu maisde 500.000 seguidores e a Dilma foi a segunda pessoa mais citada no Twitter em 20102. As eleies chegaram ao segundo turno e Dilma Rousseff ganhou as eleies com56% de votos.

    Nessa coleo as mensagens foram classificadas como negativas ou positivasem funo da candidata Dilma Rousseff. Ns coletamos 466.724 mensagens edestas anotamos 66.643 mensagens em portugus referentes a ento candidata paraacompanhar o sentimento de aprovao da populao durante esse perodo. Estesentimento de aprovao varia fortemente durante este perodo devido a vriaspolmicas e ataques polticos. Por isso nosso objetivo foi medir a aprovao daDilma durante sua campanha. A coleo de dados contem 62.089 termos distintos(a distribuio de frequncia apresentada na Figura 3.1). As mensagens no fluxochegam em uma taxa de 0,02 mensagens por segundo.

    Nas eleies presidenciais de 2010 no Brasil Dilma comeou com umamenor pretenso de votos, segundo as pesquisas, e sua popularidade aumentougradativamente at o fim das eleies que terminou com a Dilma vencedora. Podemosver comportamento semelhante no grfico da Figura 3.2(c), onde a porcentagem demensagens positivas comea baixa e aumenta ao decorrer do tempo.

    Personalidade do Ano. No fim de todos os anos a revista TIME selecionaa personalidade do ano ou um grupo de pessoas que mais influenciaram eventosdurante o ano. A personalidade do ano para 2010 foi Mark Zuckerberg (fundadordo Facebook3). O leitor, contudo, escolheu o Julian Assange (criador do Wikileaks4)com uma grande superioridade de votos. Esta divergncia causou o que ficou conhecidocomo a Twittersphere Battle: Zuckerberg vs. Assange5.

    Nesta base as mensagens foram classificadas em relao ao sentimento das pessoasdiante da escolha de Mark Zuckerberg como merecedor do prmio ao invs de JulianAssange, foram acompanhados os sentimentos de aprovao, reprovao, surpresa,revolta e sarcasmo. Coletamos 93.411 mensagens em ingls referentes ao Julian Assangee o Mark Zuckerberg de 15/12/2010 a 21/12/2010. Selecionamos aleatoriamente 5.616destas mensagens e anotamos manualmente com intuito de acompanhar diferentes

    2 http://yearinreview.twitter.com/2010/trends/3https://www.facebook.com4http://www.wikileaks.org5http://www.cbsnews.com/8301-505123_162-40043859/twittersphere-battle-is-still-on-

    zuckerberg-vs-assange/

  • 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 diferentesopinies sobre a deciso da revista. Contudo, nos dias seguintes o sentimento desarcasmo aparece com maior frequncia, seguido pelo sentimento de reprovao. Issonos faz crer que no primeiro dia, quando a noticia comeava a ser propagada, houve umnmero semelhante de pessoas que aprovavam e reprovavam a deciso, contudo como passar do tempo mais pessoas assumem a posio de reprovao sobre a deciso daTIME 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 entreas mensagens do Twitter e os sentimentos no mundo real e nos permite levantar ahiptese da existncia do fenmeno conhecido como concept drift (que neste no cenriode analise de fluxos de sentimentos estamos chamando de sentiment drift) nos dados.Na prxima seo apresentamos uma caracterizao das mudanas e sentiment driftocorrido no fluxo durante os eventos.

    3.2.2 Caracterizao do Sentiment Drift

    Conforme informado anteriormente, sentiment drift o termo que introduzimos paradefinir o concept drift em fluxos de sentimento. O concept drift definido comomudanas ocorridas na probablidade prvia de um sentimento (p(si)), na probabilidadecondicional (p(si|X)) ou em ambas ao mesmo tempo ao decorrer das mensagens do fluxoT [Zhu et al., 2010; Zhang et al., 2008].

    Na seo 3.2.1 discutimos, alm das caractersticas dos eventos analisados, comoa distribuio dos sentimentos mudou em relao as entidades e tpicos. Essasmudanas se tornam explcitas ao analisarmos os grficos da Figura 3.2, que ilustrama mudana na probabilidade do sentimento (p(si)). Nesta seo vamos demostrar asmudanas 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) como chegar das mensagens a partir de T , ou seja, o nmero de termos nicos em cadacoleo ao longo do tempo. Podemos ver na Figura 3.3(a) o crescimento do nmerode termos das coleo referente Copa do Mundo. Notamos que nos momentos emque ocorrem mudanas na distribuio dos dados, demonstrado na Figura 3.2, ocorretambm 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 mensagensmais recentes de T .

  • 3.2. Avaliao Experimental 31

    0

    10

    00 20

    00 30

    00 40

    00 50

    00 60

    00 70

    00 80

    00 90

    00 02:

    0002

    :30

    03:0

    003

    :30

    04:0

    004

    :30

    05:0

    0

    # acumulado de termos nicos

    Min

    utos

    Men

    sage

    ns e

    m P

    ortu

    gus

    Men

    sage

    ns e

    m In

    gls

    (a)Cop

    ado

    Mun

    do

    0

    10

    000

    20

    000

    30

    000

    40

    000

    50

    000

    60

    000

    70

    000 01

    /05

    01/0

    601

    /07

    01/0

    801

    /09

    01/1

    001

    /11

    # acumulado de termos nicos

    Dia

    s(b)EleiesPresidenciais

    noBrasil

    12

    00

    14

    00

    16

    00

    18

    00

    20

    00

    22

    00

    24

    00

    26

    00

    28

    00 15/

    1216

    /12

    17/1

    218

    /12

    19/1

    220

    /12

    21/1

    2

    # acumulado de termos nicos

    Dia

    s(c)Persona

    lidad

    edo

    Ano

    Figura

    3.3.

    Nm

    erode

    Termos

    nicosAcu

    mulad

    oao

    Decorrerdo

    Tem

    po

  • 32 Captulo 3. Aprendizado de Fluxo de Sentimento

    Esse surgimento de muitos termos novos uma evidncia da necessidade daestratgia de sub judice, uma vez que quando um novo termo surge o classificadorno possui as informaes necessrias para jugar o sentimento da mensagem. Mas amedida em que novas mensagens chegam, o contexto em torno do termo desconhecidopode ficar mais claro e aumentar a confiana da predio.

    Nas Figuras 3.3(b) e 3.3(c), que representam respectivamente as bases referentesas Eleies Presidncias e Personalidade do Ano, possvel verificar que existem doispontos em que o nmero de termos cresce subitamente, na Figura 3.3(b) isto aconteceno 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 dossentimentos do primeiro para o segundo dia em relao a personalidade do ano, naFigura 3.2(d), e no que se refere as eleies presidenciais, mesmo que esse mudanano seja muito brusca, existe um diminuio dos sentimentos positivos no incio do msdez, conforme demonstrada na Figura 3.2(c).

    Na Figura 3.4 ilustramos como a probabilidade condicional, de um sentimentodado um termo q, muda ao passar do fluxo. Para isso calculamos a probabilidade deum sentimento dado um termo, utilizando (q si), e definimos para cada termo o seusentimento a partir do sentimento com maior (q si). Desta forma, apresentamosa porcentagem de termos (q) que mudaram o sentimento mais provvel, com o chegardas mensagens de T e o surgimento novos termos.

    Na Figura 3.4 apresentado tambm a entropia das colees ao longo do tempo. Aentropia [Shannon, 2001] utilizada para medir a desordem ou aleatoriedade associadaa uma varivel. Para encontrar a entropia de uma coleo de dados com a distribuioconhecida utilizada a Equao 3.5. Calculamos a entropia de T a cada nova mensagemprocessada utilizando a Equao 3.6, como realizado em [Vorburger & Bernstein, 2006;Abdulsalam et al., 2008], a qual consiste basicamente da mdia da entropia de todosos termos visto at o momento.

    Atravs do grfico da Figura 3.4(a) possvel observar que existe um pico prximoa mensagem 1.000, j na Figura 3.4(b) podemos ver esse comportamento prximo amensagem 250. Este o momento que ocorreu o sbito sentiment drift mostradonas Figuras 3.2(a) e 3.2(b), onde uma grande mudana em p(si) acarretou tambmmudana na probabilidade da mensagem pertencer a um sentimento dado um termo ecrescimento da entropia.

    Neste caso, para as colees da Copa do Mundo (Portugus e Ingls), umclassificador treinado com uma amostra anterior a mensagem 1.000 (na verso emPortugus) e a mensagem 250 (na base em Ingls) teria sua eficcia fortemente abaladana 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 tornandonecessria a atualizao do modelo com mensagens mais recentes para que a eficciado classificador no se deteriore rapidamente. Em contraste, como apresentado naentropia, se novas mensagens forem inseridas a predio dos sentimentos das mensagensaps mensagem 1.000 se torna cada vez mais fcil.

  • 34 Captulo 3. Aprendizado de Fluxo de Sentimento

    0

    0.

    02

    0.

    04

    0.

    06

    0.

    08

    0.

    1

    0.

    12

    0.

    14

    0

    50

    0 10

    00 15

    00 20

    00 25

    00 30

    00M

    ensa

    gens

    Pro

    cess

    adas

    Entro

    pia%

    term

    os co

    m se

    ntim

    ent d

    rift

    (a)Cop

    ado

    Mun

    do(P

    ortugu

    s)

    0

    0.

    02

    0.

    04

    0.

    06

    0.

    08

    0.

    1

    0.

    12

    0.

    14

    0

    20

    0 40

    0 60

    0 80

    0 10

    00 12

    00 14

    00M

    ensa

    gens

    Pro

    cess

    adas

    Entro

    pia%

    term

    os co

    m se

    ntim

    ent d

    rift

    (b)Cop

    ado

    Mun

    do(Ing

    ls)

    0

    0.

    02

    0.

    04

    0.

    06

    0.

    08

    0.

    1

    0.

    12

    0

    10

    000

    20

    000

    30

    000

    40

    000

    50

    000

    Men

    sage

    ns P

    roce

    ssad

    as

    Entro

    pia%

    term

    os co

    m se

    ntim

    ent d

    rift

    (c)EleiesPresidenciais

    noBrasil

    0

    0.

    05

    0.

    1

    0.

    15

    0.

    2

    0.

    25

    0.

    3

    0.

    35

    0

    10

    00 20

    00 30

    00 40

    00 50

    00M

    ensa

    gens

    Pro

    cess

    adas

    Entro

    pia%

    term

    os co

    m se

    ntim

    ent d

    rift

    (d)Persona

    lidad

    edo

    Ano

    Figura

    3.4.

    %term

    osqu

    eomaior

    valorde

    (q

    s i)variou

    entrediferentes

    sentim

    entoseentrop

    iaao

    decorrer

    long

    odo

    fluxo

  • 3.2. Avaliao Experimental 35

    Nas Figuras 3.4(c) e (d), possvel verificar que existe uma variao na quantidadede termos que mudaram de sentimento no comeo do evento. Contudo, no existe umacontecimento que faa essa porcentagem mudar repentinamente. preciso ressaltarque mesmo assim pelo menos 7% dos termos mudaram de sentimento pelo menos umavez 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 mensagensde T , isto indica que este ser o intervalo que apresentar maior dificuldade parapredio dos sentimentos, uma vez que aps a mensagem 1.000 a entropia inicia umdecaimento.

    H(p(T |q)) = ki=1

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

    entropia =1

    |V||V|i=1

    H(p(T |qi)) (3.6)

    Em resumo foi possvel observar que um sentiment drift vem acompanhado desurgimentos de muitos novos termos nicos, aumento da entropia e que realmente aprobabilidade condicional afetada com o passar do fluxo. Esta ltima caracterstica muito relevante uma vez que a probabilidade condicional utilizada em muitosclassificadores para realizar a predio, alm disso, ela a evidencia mais consistentede 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 comparamoscom verses estticas de alguns dos classificadores mais populares encontrados naliteratura, os quais consideramos como um limite inferior. Empregamos o erroquadrtico mdio (do ingls Mean-Squared Error - MSE [Ben-Haim & Eldar, 2009])como medida bsica de avaliao nos experimentos, o erro em cada mensagem foicalculado como 1 p(sc|t) tal que sc o sentimento contido em t. O MSE foi utilizadopara verificar a capacidade do algoritmo de quantificar a proporo de cada sentimentopresente na mensagem analisada, uma vez que esse o objetivo da anlise de sentimentoe, 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) kNearest 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 soluoproposta. Para realizarmos os experimentos, otimizamos os parmetros de cada umdestes 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 osmelhores parmetros para cada algoritmo nas coleo analisadas.

    Tabela 3.2. Melhores parmetros para cada algoritmo avaliado

    Coleo de Dados kNN SVM SVR

    Copa do Mundode Futebol(Portugus)

    k=6 kernel=polinomial, C=11,exponte=6tipo=-SVR, C=11,kernel=polinomial, coef0=9, exponte=14

    Copa do Mundo deFutebol (Ingls)

    k=16 kernel=polinomial, C=11,exponte=1tipo=-SVR, C=16, kernel=radial,gamma=1/ # termos

    EleiesPresidenciaisno Brasil

    k=26 kernel=RBF,C=11, gamma=0.01tipo=-SVR, C=21,kernel=polinomial, coef0=0, exponte=3

    Personalidade doAno

    k=1 kernel=RBF,C=10, gamma=0.11tipo=-SVR, C=15, kernel=radial,gamma=0.1

    Neste experimento os algoritmos foram treinados com apenas uma pequenasemente 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 35mensagens. Para as colees Campanha Eleitoral da Dilma Rousseff e Personalidadedo Ano foram utilizadas as 100 primeiras mensagens.

    Experimentalmente foram configurados o tamanho da fila do sub judice (|S|) eo fator min do limiar. Para as colees sobre a copa do mundo em Portugus osmelhores parmetros foram |S| 10 e min =1, e em Ingls foram |S|=10, min igual1.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 asEleies Presidenciais no Brasil o |S| foi 500 e min 1,2 e 1,8. A variao em |S| se devea velocidade em que mudana ocorrem no fluxo, esperado que em um jogo de futebolmudanas ocorram mais rapidamente do em uma eleio, uma vez que uma aplicaopoderia ser o acompanhamento minuto a minuto de um jogo enquanto que em umaeleio este acompanhamento seria dirio, ento o parmetro |S| pode ser configuradocom uma caracterizao prvia do evento.

    Na Tabela 3.3 apresentado o MSE alcanado pela verso esttica de 5classificadores. Estes so contrastados com o MSE alcanado pelo o algoritmo deauto treinamento. O algoritmo de auto treinamento alcanou melhoras significativas

  • 3.2. Avaliao Experimental 37

    em relao aos algoritmos estticos, estes ganhos variam de 14,84%, na coleo sobreas 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 relaoao algoritmo de auto treinamento menos 1.

    Tabela 3.3. MSE alcanado pelo algoritmo de auto treinamento e versesestticas de diferentes algoritmos

    Modelos Estticos (ME) Auto Treinamento Ganhos (%)Coleo de Dados kNN rvore NB SVM SVR LAC Julgamento

    Imediato(JI)

    SubJudice(SJ)

    SJ vs.ME

    SJ vs.JI

    Copa do Mundode Futebol(Portugus)

    0.2066 0.373 0.4999 0.1150 0.1732 0.1522 0.0814 0.08134 41.38 0.07

    Copa do Mundo deFutebol (Ingls)

    0.3572 0.441 0.5 0.4819 0.2957 0.3315 0.2384 0.2291 29.07 4.06

    EleiesPresidenciaisno Brasil

    0.3708 0.437 0.4996 0.4303 0.2500 0.2795 0.2708 0.2177 14.84 24.39

    Personalidade doAno

    0.5992 0.572 0.6581 0.5728 1.658 0.5461 0.5419 0.4487 21.71 20.77

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