UM ARCABOUÇO PARA PESQUISAS DE OPINIÃO EM REDES SOCIAIS RENATO MIRANDA FILHO UM ARCABOUÇO PARA PESQUISAS DE OPINIÃO EM REDES SOCIAIS Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação do Instituto de Ciências Exatas da Univer- sidade Federal de Minas Gerais – Departa- mento de Ciência da Computação. como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação. Orientador: Gisele Lobo Pappa Belo Horizonte Fevereiro de 2014 c 2014, Renato Miranda Filho. Todos os direitos reservados. Miranda Filho, Renato M672a Um arcabouço para pesquisas de opinião em redes sociais / Renato Miranda Filho. — Belo Horizonte, 2014 xx, 98 f. : il. ; 29cm Dissertação (mestrado) — Universidade Federal de Minas Gerais – Departamento de Ciência da Computação. Orientadora: Gisele Lobo Pappa 1. Computação – Teses. 2. Redes sociais on-line – Teses. 3. Opinião pública - Pesquisa – Teses. 4. Estudo de usuários – Teses. I. Orientadora. II. Título. CDU 519.6*04(043) Agradecimentos Agradeço a Deus por tudo! O caminho percorrido foi difícil, mas sem algumas pessoas ao meu lado seria impossível. Agradeço aos meus pais (Renato e Sonia) por sempre acreditarem em mim e me apoiarem em todos os momentos. À minha irmã (Ana), cunhado (Jaurés) e sobrinhos (Gabriel e Isaac), por sempre estarem ao meu lado e tornarem todos os momentos mais divertidos. Agradeço também aos meus primeiros orientadores: Fabiano C. Botelho, Cristina D. Murta e Adriano C. M. Pereira, por terem me apresentado o mundo das pesquisas e pelos exemplos de vida que são. Agradeço à minha orientadora Gisele L. Pappa, pela disponibilidade, paciência e confiança. Sua orientação foi fundamental para minha formação. Muito obrigado. Gostaria de agradecer também aos diversos colegas que me ajudaram a construir este caminho: Alex Guimarães, Michelle Hanne, Pedro Calais, Sílvio Ribeiro, Walter dos Santos, Filipe de Lima, Erica Castilho, Arthur Iperoyg, Guilherme Borges e Gabriel Miranda. Por fim, agradeço aos membros da banca por terem aceitado de forma tão solícita ao convite para participarem da defesa desta dissertação: Jussara Almeida, Fabrício Benevenuto e Ricardo Prudêncio. vii “A menos que modifiquemos a nossa maneira de pensar, não seremos capazes de resolver os problemas causados pela forma como nos acostumamos a ver o mundo” (Albert Einstein) ix Resumo Extrapolando a pretensão inicial de servir como meio de comunicação interpessoal para o contato e a discussão dos mais diversificados assuntos, as redes sociais se tornaram sofisticadas fontes de informações que permitem o acompanhamento da opinião e do cotidiano de milhões de indivíduos. Neste contexto, este trabalho tem como princi- pal objetivo utilizar dados públicos de tais redes para realizar pesquisas (análises) de opinião do tipo “IBOPE”. Para tanto, levou-se em consideração fatores inerentes do am- biente virtual como a análise de sentimentos das mensagens, a detecção de spammers e de conteúdos jornalísticos aliados a um ponto importantíssimo em análises desta natu- reza: uma formação de amostra representativa da população alvo da pesquisa. Para a formação desta amostra foram levadas em consideração as seguintes características dos indivíduos: (i) identificação de usuários únicos; (ii) sexo; (iii) idade; (iv) classe social; e (v) localização geográfica. A avaliação experimental deste trabalho foi realizada com dados provenientes de diversos contextos para os quais existem resultados validados por agências, são eles: intenção de votos nas eleições municipais de 2012 em 6 capitais e 14 votações no Big Brother Brasil 13. Os resultados alcançados mostram que análises mais elaboradas são capazes de melhorar os números atingidos por metodologias empre- gadas em outros trabalhos, fundamentadas majoritariamente em técnicas de contagem. Comparando os resultados obtidos com os métodos tradicionais de pesquisa (enquetes realizadas por grandes sítios e pesquisas realizadas por institutos renomados) também alcançamos resultados competitivos, mostrando que a técnica desenvolvida pode ser considerada como uma boa alternativa. Palavras-chave: Pesquisas de Opinião, Redes Sociais, Caracterização de Usuários, Twitter. xi Abstract Extrapolating the initial intention of serving as means of interpersonal communication, social networks have evolved to be sophisticated sources of information that allow monitoring the opinion and the daily lives of millions of individuals. In this context, the main goal of this work is to use public data available from these networks to conduct opinion analysis in the same way the “NIELSEN” does. In order to do that, we take into account inherent caracteristics of virtual environments, including sentiment analysis of messages and the detection of spammers and journalistic content. This first analysis was combined with the generation of a representative sample of the target population of study. For the formation of this sample, the following characteristics of individuals were taken into account: (i) identification of unique users; (ii) gender; (iii) age; (iv) social class; and (v) geographical location. The experimental evaluation was performed with data from various contexts which results were validated by real agencies: intention to vote in municipal elections of 2012, and poll of Big Brother Brasil. The results show that more elaborate analyzes are able to improve the numbers achieved by methods used in other studies, mostly based on counting techniques. Comparing the results achieved with traditional research methods (polls conducted by major sites and research conducted by renowned institudos) also achieved competitive results, showing that the technique developed can be considered as a good alternative. Keywords: Research Opinion, Social Network, Characterization of Users, Twitter. xiii Lista de Figuras 1.1 Previsão para as eleições americanas [Institute, 2012] . . . . . . . . . . . . 2 1.2 Resultado das eleições americanas [Times, 2012] . . . . . . . . . . . . . . . 3 1.3 Indivíduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1 Esquema para pesquisa de opinião em redes sociais . . . . . . . . . . . . . 21 3.2 Idade média das contas dos usuários . . . . . . . . . . . . . . . . . . . . . 27 3.3 Média do mínimo de tweets postados por semana . . . . . . . . . . . . . . 27 3.4 Fração média de tweets respondidos . . . . . . . . . . . . . . . . . . . . . . 28 3.5 Fração média de tweets com URLs . . . . . . . . . . . . . . . . . . . . . . 28 3.6 Média de menções por tweet . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.7 Algoritmos para análise comportamental . . . . . . . . . . . . . . . . . . . 30 3.8 Eleições - concordância entre L, RM e RA . . . . . . . . . . . . . . . . . . 35 3.9 Eleições - concordância entre L e RM . . . . . . . . . . . . . . . . . . . . . 35 3.10 Eleições - concordância entre L e RA . . . . . . . . . . . . . . . . . . . . . 35 3.11 Eleições - concordância entre RM e RA . . . . . . . . . . . . . . . . . . . . 35 3.12 BBB - concordância entre L, RM e RA . . . . . . . . . . . . . . . . . . . . 35 3.13 BBB - concordância entre L e RM . . . . . . . . . . . . . . . . . . . . . . . 35 3.14 BBB - concordância entre L e RA . . . . . . . . . . . . . . . . . . . . . . . 36 3.15 BBB - concordância entre RM e RA . . . . . . . . . . . . . . . . . . . . . 36 4.1 Média de menção a ídolos até 16 anos por usuário . . . . . . . . . . . . . . 49 4.2 Média de menção a filmes até 16 anos por usuário . . . . . . . . . . . . . . 49 4.3 Média de menção a palavras de diversão noturna por usuário . . . . . . . . 50 4.4 Média de menção a palavras frequentes mais de 45 anos por usuário . . . . 50 4.5 Média do tamanho das palavras por usuário . . . . . . . . . . . . . . . . . 51 4.6 Média do tamanho dos tweets por usuário . . . . . . . . . . . . . . . . . . 51 4.7 Média do número de hashtags por usuário . . . . . . . . . . . . . . . . . . 51 4.8 Termos discriminativos para três classes sociais . . . . . . . . . . . . . . . 60 xv 4.9 Distribuição do Produto Interno Bruto brasileiro (PIB) per capita em dife- rentes regiões do país . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.10 Correlação de Pearson do vocabulário das classes utilizando 100 termos . . 62 A.1 Grafo de amizades na base com 8,477 usuários do Twitter . . . . . . . . . 95 A.2 Matrizes de confusão alcançadas com a aplicação da metodologia proposta. A primeira matriz mostra as medidas de recall e a segunda a medida da precisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 A.3 Matrizes de confusão dos resultados alcançados através da aplicação da metodologia proposta e correção pelo fator Tf-Ifd. A primeira matriz mostra as medidas de recall e a segunda a medida da precisão . . . . . . . . . . . 98 xvi Lista de Tabelas 3.1 Algoritmos de classificação - parâmetros utilizados . . . . . . . . . . . . . . 23 3.2 Resultados para classificação de usuários spammers . . . . . . . . . . . . . 24 3.3 Comparação atributos selecionados . . . . . . . . . . . . . . . . . . . . . . 26 3.4 Dicionários Léxico - número de palavras . . . . . . . . . . . . . . . . . . . 32 3.5 Rotulação manual - Acurácia (%) . . . . . . . . . . . . . . . . . . . . . . . 33 3.6 Lista de Emoticons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.7 Rotulação automática dos tweets selecionados com emoticons - Acurácia (%) 33 3.8 Análise de sentimentos - avaliação do método (Métricas de acurácia e co- bertura em porcentagem (%)) . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.9 Tamanho da amostra (95.5% de confiança) . . . . . . . . . . . . . . . . . . 38 4.1 Sexo Womens Health - F1 utilizando todos os termos . . . . . . . . . . . . 42 4.2 Sexo Mens Health - F1 utilizando todos os termos . . . . . . . . . . . . . . 42 4.3 Sexo Revistas (Womens e Mens Health) - F1 utilizando todos os termos . . 42 4.4 Sexo BBB - F1 utilizando todos os termos . . . . . . . . . . . . . . . . . . 43 4.5 Sexo Eleições - F1 utilizando todos os termos . . . . . . . . . . . . . . . . 43 4.6 Sexo Base Completa - F1 utilizando todos os termos . . . . . . . . . . . . 43 4.7 Sexo Base Completa - seleção de atributos . . . . . . . . . . . . . . . . . . 44 4.8 Acerto do dicionário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.9 Acerto das variações do método (%) . . . . . . . . . . . . . . . . . . . . . 45 4.10 Principais termos para divisões de idade em 3 e 5 classes, conforme medida de Ganho de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.11 Resultados obtidos utilizando o texto completo, atributos textuais seleci- onados, não textuais selecionados e todos selecionados (textuais com não textuais) - métrica de acurácia mostrada em porcentagem (%) . . . . . . . 53 4.12 FGV - Definição de classe social de acordo com o rendimento mensal familiar 56 4.13 Número de usuários do Twitter encontrado em cada classe . . . . . . . . . 57 4.14 Número médio de interações Foursquare considerando a classe atribuída . . 58 xvii 4.15 Média da distância máxima (km) entre quaisquer dois lugares visitados pelos usuários, considerando a classe atribuída . . . . . . . . . . . . . . . . . . . 58 4.16 Distribuição dos usuários em classes sociais conforme sua região . . . . . . 62 4.17 Principais termos para lazer e consumo conforme medida de Ganho de In- formação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.18 Resultados obtidos para 2, 3 e 4 classes sociais, utilizando os atributos textuais na base de dados balanceada e original . . . . . . . . . . . . . . . 65 4.19 Resultados para a classificação de classe social usando NBM em duas regiões 65 4.20 Resultados obtidos para 2, 3 e 4 classes sociais utilizando diferentes atributos 67 5.1 Resultados BBB - p@1 (Sen: análise de sentimento; SJ: remoção de usuários spammers e jornalísticos; Sex: sexo; ID: idade; CS: classe social) . . . . . . 72 5.2 Perfil do eleitorado em 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3 Perfil dos usuários do Twitter - Eleições 2012 . . . . . . . . . . . . . . . . 76 5.4 Resultados Eleições - p@1 (Sen: análise de sentimento; SJ: remoção de usuários spammers e jornalísticos; Sex: sexo; ID: idade; CS: classe social) - Quadrados de cor verde representam acertos, pretos a não formação de amostra e, consequentemente, brancos os erros. . . . . . . . . . . . . . . . 79 5.5 Resultados Eleições - Segundo turno (Sen: análise de sentimento; SJ: remo- ção de usuários spammers e jornalísticos; Sex: sexo; ID: idade; CS: classe social) - Quadrados de cor verde representam acertos, pretos a não formação de amostra e, consequentemente, brancos os erros. . . . . . . . . . . . . . . 80 A.1 Localização: precisão dos métodos (%) . . . . . . . . . . . . . . . . . . . . 95 xviii Sumário Agradecimentos vii Resumo xi Abstract xiii Lista de Figuras xv Lista de Tabelas xvii 1 Introdução 1 1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Organização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Revisão Bibliográfica 7 2.1 Pesquisas de opinião tradicionais . . . . . . . . . . . . . . . . . . . . . 7 2.2 Redes sociais no monitoramento de eventos . . . . . . . . . . . . . . . . 9 2.3 Caracterização pessoal de usuários . . . . . . . . . . . . . . . . . . . . . 11 2.4 Caracterização comportamental de usuários . . . . . . . . . . . . . . . 13 2.5 Análise de sentimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6 Relevância estatística de dados da API do Twitter . . . . . . . . . . . . 17 3 PODEReS 19 3.1 Preparação dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Caracterização comportamental . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Identificação de usuários spammers . . . . . . . . . . . . . . . . 22 3.2.2 Identificação de usuários jornalísticos . . . . . . . . . . . . . . . 27 3.2.3 Método resultante . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Análise de sentimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 xix 3.3.1 Dicionário Léxico . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.2 Algoritmo supervisionado - Rotulação manual . . . . . . . . . . 32 3.3.3 Algoritmo supervisionado - Rotulação automática . . . . . . . . 32 3.3.4 Concordância entre os algoritmos de análise de sentimentos . . . 34 3.3.5 Avaliação do método . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 Tamanho da amostra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4 Caracterização pessoal 39 4.1 Sexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.1 Dicionário de nomes . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.2 Classificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.3 Avaliação do método . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 Idade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.1 Base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.2 Características textuais e não textuais . . . . . . . . . . . . . . 46 4.2.3 Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.3 Classe social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3.1 Base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.3.2 Características textuais . . . . . . . . . . . . . . . . . . . . . . . 59 4.3.3 Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5 Avaliação do arcabouço 69 5.1 Big Brother Brasil (BBB) . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.2 Eleições Municipais 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.3 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6 Conclusões e Trabalhos Futuros 81 6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Referências Bibliográficas 85 Apêndice A Localização 91 A.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.2 Avaliação do método . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 xx Capítulo 1 Introdução Surgida no início da década de 90, a Web se desenvolveu e hoje podemos dizer que suas ferramentas permeiam praticamente todas as atividades humanas. Diversos me- canismos foram desenvolvidos a fim de proporcionar a seus usuários um maior relaci- onamento interpessoal, são alguns exemplos: e-mails, sítios para compartilhamento de arquivos e todas as demais ferramentas que surgiram com a evolução da Web 2.0, em que o usuário passou a ser um provedor ativo de informações. O mais novo fenômeno de popularidade que vem captando cada vez mais usuários na Web são as redes sociais. Tais redes, por meio de ligações de amizades, seguidores ou conhecidos, permitem a seus participantes uma comunicação efetiva e em tempo real sobre os mais diversos assuntos. Dentre as grandes redes sociais da atualidade podemos destacar o Twitter, com mais de 500 milhões de usuários [G1, 2012c], Facebook, com aproximadamente 1 bilhão de usuários [G1, 2012a], Google plus, com estimativa de 400 milhões de usuários [Terra, 2012], e o Linkedin, com 175 milhões de usuários [G1, 2012b]. Um grande diferencial encontrado em tais redes sociais é a finalidade para a qual se destinam. Enquanto uma parte se dedica ao compartilhamento de informa- ções pessoais como, por exemplo, Facebook e Google plus, outras se propõem a criar mecanismos relativos ao relacionamento profissional como o Linkedin ou mesmo ao compartilhamento sobre o que está acontecendo, como pode ser exemplificado pelo Twitter. Dado o volume de informações disponíveis, um tema que vem despertando o inte- resse da comunidade científica nos últimos tempos é a identificação de opiniões, gostos e sentimentos que são expressos nessas redes. Assim, esses dados também estão sendo cada vez mais explorados para prever o resultados de eventos no munto real. Alguns exemplos notórios desse fenômeno são os trabalhos publicados que tentaram prever o 1 2 Capítulo 1. Introdução Figura 1.1: Previsão para as eleições americanas [Institute, 2012] resultado de eleições [Tumasjan et al., 2010; Gayo-Avello, 2012; Jungherr et al., 2012], bilheteria no cinema [Asur & Huberman, 2010] e epidemias [Gomide et al., 2011]. Nessa direção, o grande objetivo deste trabalho é criar um arcabouço teórico e ferramental que permita a realização de pesquisas de opinião por meio de dados coletados em redes sociais e validar sua eficácia diante dos métodos tradicionalmente utilizados. Pesquisas de opinião são normalmente realizadas por meio de questionários, ele- trônicos ou não, que devem ser respondidos por indivíduos com características previ- amente selecionadas, tais como: idade, localidade, sexo, entre outros. Normalmente, tais pesquisas trabalham com amostras da população, cujos indivíduos escolhidos de- vem ser os mais representativos possíveis do conjunto total. Quando uma pesquisa é realizada com todos os indivíduos de uma população podemos denominá-la censo. Algumas limitações embutidas em tais processos estão nos altos custos financeiros que devem ser empregados, na dificuldade de entrevistar grandes volumes de pessoas e em como selecionar indivíduos representativos da população. Um exemplo desse tipo de estudo, utilizando redes sociais, é mostrado na Fi- gura 1.1. Neste trabalho, pesquisadores ligados ao Oxford Internet Institute realiza- ram a contagem das citações sobre os candidatos à presidência dos Estados Unidos em aproximadamente 30 milhões de tweets geo-localizados. Podemos ver que, por grande margem de estados, o candidato democrata Barack Obama seria reeleito. A reeleição realmente ocorreu, mas como podemos ver pela Figura 1.2, que mostra o resultado das eleições, a distribuição de votos pelos estados foi muito diferente da prevista. 3Figura 1.2: Resultado das eleições americanas [Times, 2012] Outro trabalho nesse sentido foi o de Tumasjan et al. [2010]. Imerso nas eleições parlamentares da Alemanha, este estudo realizou a contagem de menções a candidatos ou partidos políticos e identificou que o volume coletado é um bom preditor para os resultados de eleições. Porém, em Jungherr et al. [2012], onde o mesmo procedimento foi adotado, os autores não conseguiram prever o resultado do pleito. Assim, identificamos que tais estudos têm trabalhado sob consideráveis limitações como, por exemplo: 1. Considerar que a simples menção será um voto a um candidato ou um gosto particular; 2. Ignorar a localização geográfica de parte dos usuários, ou, como no caso do estudo de Oxford, desconsiderar mensagens sem localização; 3. Desconsiderar critérios de formação de amostra para pesquisas com, por exemplo, a distribuição de idade e sexo da população; 4. Considerar que todas as mensagens postadas são confiáveis, ou seja, não retiram da amostra possíveis usuários spammers ou propagandistas. 5. Considerar que todas as mensagens postadas são opiniões de indivíduos, descon- siderando, por exemplo, conteúdos jornalísticos. 4 Capítulo 1. Introdução Figura 1.3: Indivíduo Dada as limitações das abordagens atuais, este trabalho propõe uma estratégia que leva em consideração o tratamento de todos os pontos descritos anteriormente. Para tanto, propomos inicialmente caracterizar os indivíduos. Um indivíduo é repre- sentado por uma conta/perfil na rede social e, como mostrado na Figura 1.3, possui características pessoais capazes de interferir em seu comportamento e com um con- junto de características pessoais e comportamentais que podem nos auxiliar a inferir sua opinião. 1.1 Objetivos O grande objetivo deste trabalho é criar um arcabouço teórico e ferramental que per- mita a realização de pesquisas de opinião por meio de dados coletados em redes sociais e validar sua eficácia diante dos métodos tradicionalmente utilizados. Como partes constituintes da face teórica do trabalho podemos citar o estudo de características sociológicas capazes de diferenciar, por exemplo, diferentes faixas etá- rias, comportamentos de classes sociais e condutas típicas dos diferentes gêneros. Já a face ferramental pode ser representada pelos métodos, códigos e análises desenvolvidas. Os principais objetivos específicos são:  Levantamento das principais metodologias empregadas pelos institutos de pes- quisa tradicionais, incluindo métodos estatísticos para formação de amostra;  Identificar as principais adaptações que devem ser consideradas em pesquisas realizadas em redes sociais frente às pesquisas tradicionais;  Propor um framework com as etapas identificadas para realização de pesquisas em redes sociais e verificar os benefícios alcançados com cada parte constituinte do processo. 1.2. Contribuições 5  Estudar, adaptar e implementar os principais algoritmos existentes para as etapas de análise de sentimentos, identificação de spammers e conteúdo jornalístico;  Desenvolver métodos para, sem violarmos a privacidade dos indivíduos, identificar a faixa etária, sexo, localização e classe social dos usuários;  Comparar e discutir os resultados obtidos pelo método proposto, em diferentes cenários, com os resultados ocorridos no mundo real. 1.2 Contribuições Os objetivos propostos inicialmente neste trabalho foram inteiramente cumpridos. Além disso, diferentes etapas desenvolvidas para o arcabouço apresentado como, por exemplo, a caracterização do sexo, classe social, idade, análise de sentimentos e identi- ficação de usuários spammers e jornalísticos estão sendo integrados as ferramentas do Observatório da Web1. 1.3 Organização Este trabalho encontra-se dividido da seguinte forma: O Capítulo 2 apresenta alguns trabalhos que serviram de base para o estudo. Os Capítulos 3 e 4 propõem o método para a realização de pesquisas de opinião em redes sociais, sendo o capítulo 4 destinado exclusivamente a caracterização pessoal do usuário. No Capítulo 5 encontram-se os resultados alcançados. Finalmente, as conclusões e propostas de trabalhos futuros são apresentadas no Capítulo 6. 1http://observatorio.inweb.org.br/ Capítulo 2 Revisão Bibliográfica Neste capítulo, faremos uma breve revisão sobre como são realizadas as pesquisas de opinião tradicionais. Em seguida, focaremos nossa atenção nas redes sociais. Como a tarefa de realizar pesquisas de opinião nestas redes pode ser subdividida em várias linhas de pesquisa, optamos por organizar esta parte da revisão bibliográfica em quatro diferentes categorias, são elas: (i) Redes sociais no monitoramento de eventos; (ii) Caracterização pessoal de usuários; (iii) Caracterização comportamental de usuários; e (iv) Análise de sentimento/opinião. 2.1 Pesquisas de opinião tradicionais Atualmente as pesquisas de opiniões tradicionais coletam informações sobre os mais diversificados assuntos, dentre eles: intenção de votos, comportamento de consumo, audiência da TV, preferência de marcas, entre outros. Entender o processo que guia a realização destas pesquisas é de fundamental importância para identificarmos os critérios que deverão ser levados em consideração em pesquisas realizadas online. No Brasil, podemos destacar como principais institutos de pesquisa o IBOPE e o Data Folha. Já nos EUA podemos destacar o Nielsen, na aferição de audiência de TV, e a Public Policy Polling (PPP), em realização de pesquisas eleitorais. Tais institutos possuem como grande diferencial a metodologia de pesquisa que é empregada em seus levantamentos como, por exemplo, meio de realização e formação da amostra. Tais metodologias também podem diferir dependendo do objetivo da pesquisa. Abaixo são mostrados maiores detalhes para o caso de pesquisas eleitorais: (a) IBOPE: Utiliza dados oficiais provenientes, por exemplo, do Instituto Brasileiro 7 8 Capítulo 2. Revisão Bibliográfica de Geografia e Estatística (IBGE) e do Tribunal Superior Eleitoral (TSE) para definir cotas proporcionais ao sexo, idade, grau de instrução e setor de dependência econômica na amostra do universo de pessoas entrevistadas [IBOPE, 2012b,a]. Além disso, as pesquisas são realizadas em domicílio, após uma seleção probabi- lística dos setores censitários do IBGE onde serão realizadas as entrevistas, pelo método PPT (Probabilidade Proporcional ao Tamanho) [IBOPE, 2012b,a]. (b) Data Folha: O Datafolha [Folha, 2012] utiliza cotas proporcionais de sexo e idade de acordo com dados obtidos junto ao IBGE e TSE. Além disso, também é observada a região geográfica dos entrevistados. Variáveis como escolaridade ou renda familiar mensal não são utilizadas como critério para formação de amostras, pois o Data Folha considera que não existem dados atualizados disponíveis para os municípios brasileiros. As entrevistas são realizadas pessoalmente nas ruas das cidades. Métodos como, por exemplo, entrevistas via telefone ou e-mail são descartadas, pois, segundo o instituto, isso formaria uma amostra que não representa toda a população. Em uma pesquisa eleitoral nacional o tamanho das amostras do Datafolha tem entre 2,000 e 2,500 entrevistas, mas não é estabelecido um tamanho mínimo, o mais importante é sua representatividade. (c) Public Policy Polling : diferentemente dos institutos brasileiros o PPP realiza suas entrevistas automaticamente via telefone. São apontados como vantagem deste método a eliminação de possíveis interferências humanas e a redução de custos [PPP, 2012]. A amostra dos entrevistados é formada com base em um cadastro de eleitores em que cotas e pesos para sexo, idade, raça, localização, entre outros, são estabelecidos. Desta forma, podemos concluir que um ponto fundamental das pesquisas é a escolha adequada de uma amostra que represente a população. Em nosso trabalho esta etapa será realizada por meio da caracterização dos usuários com informações como faixa etária, localização, classe social e sexo. Além disso, dependendo do objetivo da pesquisa, dados oficiais do IBGE e TSE podem ser utilizados para definir a proporção de cada uma destas características nas amostras construídas. 2.2. Redes sociais no monitoramento de eventos 9 2.2 Redes sociais no monitoramento de eventos Dado o grande volume de informação disponível, as redes sociais estão sendo cada vez mais exploradas para monitorar e prever eventos no mundo real. Assim, conhecer trabalhos neste âmbito é de suma importância para identificarmos, principalmente, como são coletadas as informações sobre tais eventos e quais critérios são utilizados para avaliar os dados obtidos. O estudo realizado por Asur & Huberman [2010] construiu um modelo de regres- são linear e utilizou mensagens no Twitter para prever a receita de bilheteria de filmes. Com isso, os autores mostraram que existe relação entre a atenção dada a um tópico, por parte dos usuários, com público que assistirá os filmes. Alguns trabalhos também estudaram a relação de epidemiologias no mundo real com o que é dito nas redes sociais. Gomide et al. [2011] estudou como a Dengue é discutida no Twitter e como as mensagens coletadas poderiam ser usadas para vigilância da doença. Em Culotta [2010] os autores também analisaram mensagens postadas no Twitter, mas para verificar a existência de correlação entre mensagens que falavam sobre a Gripe com estatísticas divulgadas por centros de controle de doenças. Neste tabalho iremos focar nossas atenções em mensagens relacionadas às dispu- tas eleitorais. Neste contexto, imerso no cenário da eleição parlamentar da Alemanha, ocorrida em 2009, o trabalho realizado por Tumasjan et al. [2010] estuda se mensagens postadas no Twitter possuem deliberações políticas e como tais conteúdos podem refle- tir o resultado de eleições. A metodologia empregada consistiu na coleta de tweets que mencionavam um dos seis candidatos da eleição ou seus respectivos partidos políticos. Após a coleta, as mensagens foram traduzidas para o inglês e submetidas ao soft- ware LIWC2007 (Linguistic Inquiry and Word Count), onde análises de sentimentos, baseados na frequência de palavras empiricamente categorizadas em termos psicológicos e estruturais, foram realizadas. Os autores observaram que o Twitter é realmente utilizado como uma plataforma para deliberações políticas demonstrando, inclusive, características de discussões e tro- cas de ideias por meio do uso de retweets. No entanto, também foi observado que existe uma considerável concentração nos emissores de mensagens, ou seja, um pequeno nú- mero de pessoas, 4%, foram responsáveis por grande parte dos tweets postados neste cenário, mais de 40%. Pela análise de sentimentos das mensagens foi observado que o comportamento dos eleitores se aproxima às ideias difundidas pela campanha eleitoral como, por exem- plo, retratando coalisões ou ataques. Como preditor do resultado das eleições, a simples contagem do volume de menções aos partidos ou candidatos foi capaz de acompanhar 10 Capítulo 2. Revisão Bibliográfica pesquisas eleitorais tradicionais e acertar com exatidão o resultado final da eleição. Foram limitações deste estudo: (i) a falta de cuidado com a escolha da amostra, pois dados demográficos capazes de retratar o eleitorado alemão, tais como, idade, sexo e região não foram utilizados, (ii) a coleta das mensagens se restringiu apenas ao nome dos partidos e candidatos, possibilitando perda de informações, (iii) uso de software para análise de sentimentos que não foi desenvolvido para trabalhar com mensagens curtas, além da possível perda de significância dos termos durante o processo de tradução alemão-inglês e (iv) a análise de apenas uma eleição pode ser considerada insuficiente para caracterizar o comportamento de todos os possível cenários. Já em Jungherr et al. [2012], os autores realizaram um experimento sobre as eleições federais da Alemanha de 2009 com a técnica proposta por Tumasjan et al. [2010], que consiste em contabilizar a frequência de citações a partido políticos, e não validaram a afirmativa de que é possível prever o resultado final do pleito. Assim, os autores apontaram algumas limitações de tal técnica como, por exemplo, a falta de regras bem fundamentadas para a coleta, da escolha dos partidos e do período de tempo correto que deviria se avaliar. O trabalho realizado por Gayo-Avello et al. [2011] também coloca em xeque o po- der preditivo de eleições pelas redes sociais. Neste trabalho os autores utilizaram tweets coletados sobre as eleições de 2010 para o congresso americano, aplicaram algumas téc- nicas normalmente encontradas na literatura e não observaram nenhuma relação entre os resultados obtidos e os resultados eleitorais. Em Gayo-Avello [2012] é realizada uma pesquisa bibliográfica sobre trabalhos que têm como objetivo a previsão eleitoral com base em dados coletados do Twitter. O autor foca sua análise em citar falhas e limitações das abordagens já empregadas. São exemplos de pontos considerados como falhos nos trabalhos analisados: (i) falta de previsão de resultados futuros e não somente em eleições já ocorridas; (ii) limi- tação nas abordagens de contagem de voto, em que muitas vezes é utilizado somente o volume bruto de tweets ou de usuários únicos que citaram os candidatos; (iii) análise de sentimentos realizado de forma ingênua; (iv) falta de emprego de técnicas para detectar boatos e informações falsas; (v) negligência na verificação e consequente utilização de dados demográficos como, por exemplo, idade e sexo dos eleitores, (vi) considerar que a opinião emitida por parte dos usuários das redes sociais, em que normalmente são apenas pessoas políticamente ativas que produzem o conteúdo, representa a opinião de toda a população e (vii) definição imprecisa do que é considerado como “voto”. Assim, o autor conclui que a tarefa proposta não deve ser encarada de forma simplista e que nem sempre é possível prever os resultados de eleições. Podemos concluir que mensagens postadas no Twitter podem nos ajudar a identi- 2.3. Caracterização pessoal de usuários 11 ficar diversos acontecimentos da vida real, mas que as técnicas utilizadas para detectar tal evento e mais ainda os métodos para inferir a opinião dos indivíduos não podem ser tratados de forma simplista, onde, por exemplo, somente a menção a um determinado termo é levada em consideração. 2.3 Caracterização pessoal de usuários Como visto anteriormente, inferir características pessoais dos usuários, tais como faixa etária, sexo e localidade, é fundamental para a formação de uma amostra que seja significativa do conjunto total da população e, portanto, deve ser alvo de um estudo cuidadoso por parte desta pesquisa. Peersman et al. [2011] realiza um estudo exploratório, com uma base coletada da rede social belga Netlog, em que se aplica uma abordagem de caracterização de texto para previsão de idade e sexo. No quesito idade, o principal objetivo dos autores é classificar adultos e adolescentes e, com isso, auxiliar na tarefa de identificar possíveis usuários pedófilos. Já o quesito sexo é de interesse dos autores, porque existe uma predominância em pessoas do sexo masculino entre os indivíduos pedófilos. Assim, os autores utilizaram um classificador SVM e a técnica para escolha de atributos 2(Chi Square) e observaram que a escolha de palavras, tais como “bro”(brother) e “grts” (gre- etings) parece ser mais importante para a previsão da idade do que a forma como tais termos são combinados. O SVM conseguiu obter resultados promissores na identifica- ção de adolescentes e adultos, principalmente em faixa etária maiores. A informação de gênero também se mostrou como útil na construção de um classificador de idade mais preciso. Para identificar a idade e sexo de blogueiros, Goswami et al. [2009] realizou um estudo sobre diferenças de estilo entre as mensagens postadas pelos usuários. Dentre as características propostas para serem usadas são o uso de gírias e a variação no compri- mento médio das sentenças, além de outras características já normalmente utilizadas como “palavras de conteúdo”, ou seja, termos que são encontrados uma enorme vari- ação entre sexo e grupos etários. Assim, após montar um conjunto de treinamento, houve uma classificação pelo método Naive Bayes, em que se obteve uma precisão de aproximadamente 80% para a identificação de gênero e de aproximadamente 90% para a identificação de idade. Também se observou que os gupos mais jovens utilizam mais gírias além de postarem mensagens mais curtas. Um estudo sobre a relação existente entre o uso da linguagem e a previsão da idade dos usuários do Twitter, utilizando contas holandesas, é realizado em Nguyen et al. 12 Capítulo 2. Revisão Bibliográfica [2013]. O principal fator abordado são as mudanças que ocorrem com a diferença etária. Neste trabalho, os autores trabalham com a classificação de idade em três níveis: (i) faixas etárias; (ii) fases da vida; e (iii) idade exata. Algumas das observações realizadas foram: a relevância de identificar o sexo dos indivíduos em trabalhos para previsão de idade, o comportamento de pessoas mais jovens, com alongamento de palavras (repetição de caracteres) e uso constante da primeira pessoa, e o de pessoas mais velhas, com tweets mais longos e maior uso de preposições. Partindo de uma análise de mensagens postadas em milhares de blogs o trabalho realizado por Schler et al. [2006] estuda a existência de diferenças significativas no estilo de escrita entre os sexos masculino/feminino e entre os diferentes grupos de idade. Os autores identificaram diferenças tanto no conteúdo das mensagens como, por exemplo, homens escrevem mais sobre política, tecnologia e dinheiro e mulheres mais sobre vida pessoal, quanto no estilo de escrita como, por exemplo, mulheres usam mais pronomes e palavras de negação e concordância enquanto homens usam mais artigos e preposições. Outras características, como o uso de hiperlinks e número de palavras, também se mostraram como fator de diferenciação entre sexos, onde o primeiro ocorre mais entre os homens e o segundo mais entre as mulheres. Estas diferenças também se refletem nas faixas etárias, em que de forma geral observa-se que as mensagens tendem a adquirir um comportamento mais masculino entre os grupos mais velhos. Em relação a localização do usuário, no intuito de aumentar o número de tweets com informação de localidade o trabalho proposto por Davis Jr. et al. [2011] consiste na expansão da rede de seguidor-seguido dos usuários coletados do Twitter, por meio de uma busca em profundidade, para inferir a localidade de usuários sem esse tipo de informação. Assim, utilizando um esquema de votação no caminhamento da rede eles conseguiram aumentar em 45% a quantidade de mensagens localizáveis. Outros méto- dos de classificação para dados dispostos em grafos já foram apresentados na literatura e uma revisão ampla sobre o assunto pode ser obtida em Macskassy & Provost [2007]. Uma outra fonte de informação que pode ser utilizada para se fazer inferência sobre a localização do usuário são as mensagens que ele publica. Assim, utilizando algoritmos de classificação, em Mahmud et al. [2012] os autores são capazes de inferir a localização para diferentes níveis de granularidade: cidade, estado e zona temporal. Também com base no texto, Cheng et al. [2010] fazem uso do fato de que os tweets postados pelos usuários podem conter alguma informação sobre sua posição geográfica. Essa informação pode vir de nomes específicos ou expressões que tenham maior probabilidade de estarem associadas a um determinado local. Por exemplo, a expressão Howdy, que em português significa “olá”, é tipicamente utilizada no estado do Texas. 2.4. Caracterização comportamental de usuários 13 Ao se utilizar esse tipo de informação no processo de inferência, aparecem uma série de complicações. Algumas delas são apontadas pelos autores. As mensagens postadas apresentam muito ruído. Elas abordam os mais diversos assuntos: comida, esportes, diálogos pessoais, etc. Uma pequena fração possui, de fato, conteúdo es- pacial. Um outro problema é a presença recorrente de gírias e expressões informais. Além disso, existe o problema da mobilidade do usuário. Ele pode morar em local, mas postar mensagens sobre outro. Por exemplo, habitantes de Nova York podem postar mensagens sobre o terremoto no Haiti. O usuário pode ainda ter mais de uma localização válida. Ele pode, por exemplo, estar viajando ou se mudar de um local para o outro. Todos esses aspectos dificultam o processo de inferência e alguns deles são abordados pelos autores do trabalho. Não encontramos estudos anteriores que caracterizassem a classe social dos usuários em redes sociais. O estudo mais próximo que encontramos utiliza da- dos de redes de telefonia móvel para compreender a segregação e é baseado em dados étnicos e espaciais [Blumenstock & Fratamico, 2013]. Outros estudos, como Mislove et al. [2011]; Pennacchiotti & Popescu [2011], já previram etnia ou raça. En- quanto Pennacchiotti & Popescu [2011] usou uma abordagem mais sofisticada com base na identificação de tópicos e textos, Mislove et al. [2011] basearam sua análise no sobre- nome das pessoas. A variedade de raças presentes na sociedade brasileira torna etnia pouco correlacionada com a classe social, como em outras partes do mundo. Assim, uma abordagem baseada em sobrenomes, por exemplo, não seria válida. 2.4 Caracterização comportamental de usuários Um comportamento relevante que devemos identificar e eliminar, tanto quanto possí- vel, é a atuação de usuários spammers em nossa formação de amostra. Por usuários spammers podemos considerar indivíduos ou organizações com objetivo de disseminar, por exemplo, propagandas, pornografia, mentiras ou vírus de computador, ou seja, atitudes que tendem a provocar ruídos em nossas análises. No estudo realizado por Benevenuto et al. [2010] houve uma extensa coleta de ca- racterísticas referentes aos tweets, links e informações sobre as contas de usuários, cujos tweets continham palavras típicas ou URL’s referentes a termos trending topics. Os usuários foram rotulados manualmente como sendo spammers ou não spammers e uma posterior avaliação sob a técnica de aprendizagem supervisionada SVM foi produzida. Além disso, foram empregadas as técnicas de ganho de informação e 2(Chi Square) para identificação da importância dos atributos utilizados. Como resultados, podemos 14 Capítulo 2. Revisão Bibliográfica destacar que aproximadamente 70% dos usuários spammers e 96% de não-spammers foram corretamente classificados. O trabalho apresentado em Ratkiewicz et al. [2011] realiza uma investigação so- bre mensagens políticas postadas no Twitter a fim de encontrar memes postados por indivíduos ou organizações com o objetivo de espalhar informações mentirosas e difama- tórias, denominados Astroturf. De forma geral, a técnica utilizada consiste na avaliação da dinâmica de difusão das mensagens e não propriamente no conteúdo. Desta forma, características como a origem, URL’s embutidas e o intervalo entre mensagens sucessi- vas foram alvo de análise na tentativa de comprovar a hipótese de que estágios iniciais de mensagens exibem padrões comuns e que, portanto, permitem identificar memes Astroturf. Por fim, foram apresentados resultados em que memes suspeitos eram clas- sificados por meio de um aprendizado supervisionado com base em recursos extraídos da topologia das redes de difusão, análise de sentimento e anotações crowdsourced. Lumezanu et al. [2012] estuda o comportamento de propagandistas no Twitter identificando padrões nos tweets que poderiam caracterizar este tipo de comporta- mento. Propagandistas, de acordo com este trabalho, são usuários que publicam constantemente mensagens com conteúdo tendenciosos. Entre os padrões identifica- dos estão: (i) envio de grandes volumes de tweets em curtos períodos de tempo; (ii) retweeting ao publicar conteúdo pouco original; (iii) retweets publicados rapidamente; e (iv) conluio com outros usuários publicando mensagens duplicadas sobre o mesmo tema simultaneamente. Em Ghosh et al. [2012] os autores procuraram identificar como ocorre as link farms, ou seja, aquisição de seguidores por parte dos usuários spammers na rede so- cial Twitter. Após uma coleta de dados, observou-se quais contas foram suspensas pelo Twitter e dentre estas quais postaram URL’s presentes em uma lista negra, para identificar os usuários spammers. Assim, foi observada a existência de um pequeno grupo de usuários legítimos que, para acumular capital social, acabam seguindo in- discriminadamente os usuários que o seguem, comportamento que é explorado pelos spammers. Após coletar informações sobre cerca de 1,000 usuários do Twitter escolhidos aleatoriamente, tais como suas conexões de seguidos/seguidores e os 100 tweets mais recentes, o trabalho descrito em [McCord & Chuah, 2011] analisou o conjunto de da- dos obtidos para identificar usuários spammers usando quatro classificadores: Random Forest, Support Vector Machine (SVM), Naive Bayes e K-Nearest Neighbor (KNN). Dentre os atributos identificados estão: (i) distribuição de tweets em 24 horas, subdivi- didos em oito períodos de 3 horas; (ii) número de URL’s; (iii) respostas/menções; (iv) uso de palavras chave; (v) retweets e (vi) hashtags. 2.5. Análise de sentimentos 15 Assim, como resultado, o trabalho encontrou como melhor classificador o Random Forest, com uma precisão de 95.7%. Os demais algoritmos testado: SVM, Naive Bayes e KNN, obtiveram precisão de 93.5%, 91.6% e 92.8% respectivamente. 2.5 Análise de sentimentos Como observado nos trabalhos relacionados, uma grande deficiência recorrente em mo- nitoramento e previsões de eventos é a falta de mecanismos utilizados para distinguir, por exemplo, uma menção a um candidato de um voto, um comentário sobre um filme da intenção de assistí-lo no cinema, entre outros. Assim, a solução proposta neste trabalho é utilizar um método para análise de sentimentos nesta tarefa. O trabalho realizado por Turney [2002] apresenta um algoritmo de classificação supervisionado para a análise de comentários, por exemplo, na avaliação automotiva ou de filmes. Esta classificação se dá pela média semântica da ocorrência de adjetivos e advérbios de uma frase, considerando como orientação positiva termos com boas associações e negativa quando ocorrem más associações. Para estimar a orientação semântica das frases foi utilizado o algoritmo PMI-IR. A técnica apresentada alcançou uma precisão média de 74%. Um sistema de análise de sentimentos para mensagens do Twitter, denominado TwiSent, é apresentado emMukherjee et al. [2012]. Neste trabalho, os autores abordam alguns problemas inerentes da tarefa de identificar sentimentos positivos, negativos e os objetivos dos tweets, tais como: (i) presença de usuários spammers; (ii) anomalias no texto como, por exemplo, grafia incorreta; (iii) a especificidade de entidades no contexto do tema pesquisado; e (iv) paradigmas incorporados nos textos. O sistema apresentado é constituído pelas seguintes partes: (i) coleta dos últimos 200 tweets dos usuários; (ii) detector de polaridade: determinada por uma votação pela maioria dos léxicos encontrados, com base em dicionários de termos em inglês; (iii) filtro de usuários spammers; (iv) verificador ortográfico e normalização de texto: foi criada uma lista de abreviaturas e textos ruidosos normalmente encontrados em mensagens do Twitter; (v) manuseio pragmático como, por exemplo, alongamento de palavras e o uso de hashtags e emoticons; (vi) especificidade de entidade para separar a opinião sobre diferentes entidades em uma mesma mensagem em que é utilizado, por exemplo, a seguinte hipótese: palavras estritamente relacionadas se reúnem, portanto se separa entidades por stop-words. Desta forma, o sistema com detecção de spammers obteve uma precisão de 71.50% frente a 54.45% obtidos quando foi considerada somente a polaridade negativa ou positiva dos tweets. Também foi verificado que alguns artefatos 16 Capítulo 2. Revisão Bibliográfica utilizados como, por exemplo, o corretor ortográfico são importantes ferramentas na análise dos tweets. Saindo da análise puramente léxica, em Silva et al. [2011] os autores estudaram uma abordagem para análise de sentimentos que leva em consideração ambientes como o Twitter, em que as mensagens são curtas e disponibilizadas em um fluxo de dados constante. Tais limitações exigem que os classificadores operem com recursos limitados, incluindo dados rotulados para formação do modelo de treinamento. Desta forma, a técnica proposta consiste em iniciar o treinamento com um conjunto pequeno de amos- tras e, por meio de regras de associação, incorporar novas mensagens com o passar do tempo. Além disso, a técnica proposta considera a escolha de conjuntos de treinamento orientados às características qualitativas das mensagens analisadas e também a elimi- nação de informações irrelevantes e ultrapassadas. Assim, esta estratégia permitiu um ganho de previsão que varia entre de 7% a 58%. Ambientes de conteúdo textual dinâmico, que são caracterizados por mudança no vocabulário que dificultam a manutenção de uma lista de adjetivos e advérbios anali- sados como positivos e negativos, também são considerados desafios para os métodos de análise de sentimentos. Calais Guerra et al. [2011] trabalha com a ideia de medir o viés de usuários acerca de um tema usando os endossos realizados, por exemplo, por meio de retweets. Como resultado eles observaram que conhecer o viés de apenas 10% dos usuários gera um nível de precisão F1 variando entre 80% a 90% em predizer o sentimento do usuário em tweets. A estratégia adotada tem como pressuposto que os detentores de opinião tendem a expressar várias vezes seus sentimentos e de forma consistente, ou seja, não costu- mam mudar abruptamente de comportamento. Além disso, considera-se que usuários semelhantes compartilham viés semelhante. O problema de prever o viés dos usuários foi modelado como um problema de aprendizagem relacional, em que, utilizou-se um grafo de acordo de opiniões, onde os usuários próximos tendem a ser semelhantes e a quantificação se dá por meio de pesos nas arestas proporcionais ao endosso para um determinado conjunto de utilizadores. Em seguida, foi eleborada uma estratégia para transferência de conhecimento, propagando o viés do usuário para termos associados com o conteúdo. Então, a combinação dos vieses é utilizada para calcular a polaridade global do conteúdo. O trabalho realizado em Hu et al. [2013] compreende um estudo sobre o pro- blema de análise de sentimentos em cenários não supervisionados com o uso de sinais emocionais. São sinais emocionais utilizados: (i) indicadores de emoção que refletem a polaridade do sentimento de uma mensagem como, por exemplo, os emoticons; e (ii) correlação de emoção capazes de refletir a correlação entre mensagens ou palavras 2.6. Relevância estatística de dados da API do Twitter 17 como, por exemplo, pela teoria da consistência, que sugere que palavras que ocorrem simultaneamente, principalmente em mensagens curtas, possuem a mesma orienta- ção de sentimento. Enfim, são utilizadas informações que relacionam o sentimento de mensagens e palavras para inferir automaticamente rótulos de sentimentos para as mensagens. Uma comparação abordando oito diferentes métodos para análise de sentimentos é realizada por Gonçalves et al. [2013]. Neste estudo, os autores averiguaram os nível de cobertura, ou seja, fração de mensagens com sentimentos identificados, e a fração dos sentimentos que foram corretamente identificados. Foi verificado que nenhum dos métodos avaliados pode ser considerado o melhor independente da fonte do texto. Após isso, também foi desenvolvido um método competitivo que combina algumas das abordagens existentes. Tendo em mente que nenhuma técnica estudada é livre de falhas ou considerada a melhor, utilizaremos neste trabalho uma abordagem híbrida, onde um comitê de classificadores decidirá pela maioria dos votos a polaridade da mensagem analisada. 2.6 Relevância estatística de dados da API do Twitter O trabalho realizado por Morstatter et al. [2013] tem como objetivo compreender me- lhor o impacto causado pelas coletas realizadas por meio da streaming API do Twitter, que fornece no máximo 1% dos de todos os tweets produzidos em um determinado momento utilizando um meio de um método de amostragem não documentado. Assim, os autores utilizam dados coletados com parâmetros referentes ao contexto político ocorrido na Síria no período de 14 de dezembro de 2011 a 10 de janeiro de 2012, e comparam estatisticamente dimensões como as hashtags, temas, rede de usuários e geolocalização das mensagens entre a coleta realizada pela API e um conjunto de todos os tweets postados no período, fornecido pelo Firehouse, mais custoso de ser obtido. Verificou-se que nem sempre a amostra obtida pela streaming API possui o mesmo nível de cobertura dos dados Firehouse, nem mesmo de amostras aleatórias formadas sobre os dados Firehouse, indicando alguma tendência na maneira que a streaming API fornece os dados. Com isso, fica demonstrado que deve haver uma precaução por parte dos pesquisados com a origem dos dados utilizados, conforme a dimensão que se pretende analisar. Porém, sendo a coleta via API a única disponível gratuitamente, ela é utilizada nesse trabalho. Capítulo 3 PODEReS (Pesquisas de Opinião com Dados Extraídos de Redes Sociais) O principal objetivo deste trabalho é criar um arcabouço teórico e ferramental que permita a realização de pesquisa de opinião por meio de dados coletados em redes sociais e validar sua eficácia diante dos métodos tradicionalmente utilizados. Diante deste contexto e do conhecido adágio “informação é poder”, elaboramos uma metodologia para a realização de tais avaliações, denominada PODEReS (Pesquisas de Opinião com Dados Extraídos de Redes Sociais). Conforme esquema apresentado na Figura 3.1, a metodologia empregada consiste em três etapas fundamentais: (i) preparação dos dados, (ii) caracterização das mensa- gens e dos usuários e (iii) formação de uma amostra representativa da população com análise dos resultados obtidos, em que a segunda etapa representa a maior contribuição deste trabalho. Se avaliarmos os trabalhos que se propuseram a realizar pesquisas de opinião por meio de dados coletados em redes sociais, normalmente baseados em técnicas de con- tagem, observamos que nenhum deles levou em consideração pontos importantíssimos em análises dessa natureza: (i) características comportamentais dos usuários como, por exemplo, desconsiderar usuários spammers e usuários que postam conteúdos jor- nalísticos; e (ii) o sentimento das mensagens postadas, uma vez que o texto coletado normalmente não está estruturado. Além disso, a importância de uma formação de amostra representativa para pes- quisas de opinião já foi historicamente comprovada e um ferramental estatístico foi amplamente desenvolvido para analisar características como os níveis de confiança e 19 20 Capítulo 3. PODEReS margens de erro obtidas com tal processo. Uma amostra representativa é aquela em que os componentes escolhidos possuem características proporcionalmente condizentes o conjunto completo da população como, por exemplo, sexo, idade, localidade, entre outros. A escolha de uma amostra representativa de dados de redes sociais (assumindo que essa amostra existe, hipótese respaldada por relatórios demográficos apresentados por empresas tais como a Ignite Social Media1), que represente com alto grau de semelhança a população real, é um desafio. Assim, para a formação de uma amostra para pesquisa online propomos três etapas: (i) caracterização pessoal de usuários, a fim de que a amostra seja representativa da população; (ii) caracterização comportamental de usuários, de forma a eliminar usuários denominados spammers e também aqueles que postam somente conteúdos jornalísticos; e (iii) análise de sentimentos, para determinarmos o significado semântico das mensagens postadas. Maiores detalhes das etapas de preparação dos dados, caracterização comporta- mental, análise de sentimentos e análise estatística são mostradas nas seções 3.1, 3.2, 3.3 e 3.4 respectivamente. As etapas para caracterização pessoal, maior contribuição deste trabalho, são mostradas separadamente no capítulo 4. 3.1 Preparação dos dados OTwitter é uma rede social mundial que permite a troca de informações, em tempo real, sobre os mais diversificados assuntos. Nesta ferramenta as mensagens, denominadas tweets, possuem um tamanho máximo de 140 caracteres e podem conter URL’s (links para páginas Web), referências a outros usuários (indicada pelo símbolo @) e hashtags com a finalidade de caracterizar um assunto (indicado pelo símbolo #). Outra carac- terística desta ferramenta está na forma em que as relações sociais são desenvolvidas. Diferentemente de outras redes sociais, em que se tem a relação não direcionada de amizade, no Twitter existe a relação de seguidos e seguidores, sem a obrigatoriedade de coexistência entre as ligações. Este trabalho utilizou duas bases de dados coletadas na rede social Twitter, sendo a primeira referente às eleições municipais brasileiras de 2012, em 6 capitais, e a se- gunda com mensagens relacionadas a 14 votações do reality show Big Brother Brasil 13, denominadas “paredões”. Neste contexto, após definidas as cidades e “paredões” analisados foram criados 1http://www.ignitesocialmedia.com/ 3.1. Preparação dos dados 21 Figura 3.1: Esquema para pesquisa de opinião em redes sociais conjuntos de termos capazes de identificar cada entidade de interesse. Tais termos constituem principalmente nos nomes ou apelidos dos candidatos. A etapa seguinte constituiu em coletar os tweets relacionados a estes termos. Esta coleta foi realizada por meio da API disponibilizada pelo próprio Twitter2, em que, no fluxo de mensagens, são filtrados aquelas de interesse. Algumas etapas da técnica proposta exigirão informações sobre os usuários, tais como faixa etária, sexo e localização geográfica. Quando disponíveis publicamente essas informações são usadas. Caso contrário, são inferidas. Para inferência, coletamos os 2http://dev.twitter.com/ 22 Capítulo 3. PODEReS últimos 200 tweets postados pelos usuários identificados na primeira fase de coleta e o primeiro nível da rede de amizades, pares de usuários que mutuamente seguem e são seguidos, cultivadas por eles. O pré-processamento do texto dos tweets consistiu na remoção de acentos, pon- tuações e palavras conhecidas como stop-words, que representam, por exemplo, a classe de palavras dos artigos. Em alguns casos, como para verificar a frequência de erros gramaticais na caracterização da idade, foi utilizado o texto completo e sem modifica- ções. 3.2 Caracterização comportamental Como mostrado na Figura 3.1, nesta etapa estamos interessados em responder pergun- tas como: i) posso confiar no usuário? O perfil é verdadeiro? É um propagandista? É um difusor de conteúdo jornalistico? Esta análise serve para excluírmos de nossa amostra usuários indesejáveis, ou seja, aqueles em que os tweets não representam a opinião de um indivíduo, mas que possuem interesses de outras finalidades. Assim, temos as seguintes definições: Def. 1 - Usuários spammers: indivíduos ou organizações com interesse de difun- dir vírus, pornografia ou propagandas. Def. 2 - Usuários jornalísticos: indivíduos ou organizações que publicam con- teúdos jornalísticos, ou seja, estão interessados apenas na difusão de notícias e não de opinião de indivíduos específicos. Def. 3 - Usuários legítimos: conjunto de todos os usuários coletados, excluindo os usuários spammers e os usuários jornalísticos. 3.2.1 Identificação de usuários spammers Para identificarmos esta categoria de usuários foi utilizada a base de dados desenvolvida por Benevenuto et al. [2010], em que foram manualmente rotulados 355 usuários como spammers e 710 como não spammers, formando um conjunto total de 1,065 usuários. Tais usuários são descritos por 62 atributos retratando, por exemplo, a média de tweets postados com URL e a média de tweets postados com hashtags. Inicialmente focamos nosso trabalho em encontrar um bom método para dis- tinguir usuários spammers dos não spammers. Assim, foram utilizados os seguintes algoritmos: (i) Support Vector Machine (SVM), (ii) Multilayer Perceptron (MLP), (iii) k-nearest Neighbor (KNN) e (iv) Random Forest (RF). Escolhemos estes algoritmos 3.2. Caracterização comportamental 23 por serem considerados estado da arte na tarefa de classificação ou, no caso do KNN, pelo baixo custo computacional exigido por suas operações. Todos os métodos utilizados são supervisionados, ou seja, utilizam a informação dos rótulos, previamente identificados, para amostras de treino na tarefa de aprendi- zagem e para as amostras de teste na etapa de generalização. Para o SVM utilizaremos um ambiente idêntico ao descrito no trabalho de Benevenuto et al. [2010], ou seja, será utilizado um SVM não linear com kernel Radial Basis Function (RBF) a partir da implementação fornecida pelo pacote libSVM. Os parâmetros também serão otimizados conforme descrito por Benevenuto et al. [2010], ou seja, será utilizada a ferramenta easy, também provida pelo pacote libSVM e os atributos numéricos serão normalizados. Utilizaremos implementações diponibilizadas pela ferramenta Weka [Witten & Frank, 2005] nos algoritmos MLP, KNN e Random Forest. Para otimizar os parâmetros foi utilizado a estratégia de projeto simples, ou seja, ignoramos a interação entre os fatores, variando um de cada vez e fixando o valor que proporciou melhor resultado. Os valores finais que foram utilizados são mostrados na Tabela 3.1. Tabela 3.1: Algoritmos de classificação - parâmetros utilizados Algoritmo Parâmetros SVM c = 32:0 e g = 0:0078125 MLP taxa de aprendizagem = 0.5, camadas escondidas = 1 e momentum = 0.1 KNN k = 10 e métrica de similaridade = 1/distância RF número de árvores = 20 e profundidade = 10 Em todos os testes foi utilizado o método de validação cruzada. Tal método consiste na divisão do conjunto de dados em k partes distintas. Para que nosso resultado pudesse ser comparado ao obtido em Benevenuto et al. [2010] o valor de k foi definido como 5. Como podemos observar, pelos resultados do processo de classificação apresen- tados na Tabela 3.2, o classificador que se sobressaiu foi o Random Forest, tanto em termos de média F1 quanto em acurácia. 3.2.1.1 Importância dos atributos Na base de dados utilizada cada usuário é representado por um total de 62 atribu- tos. Para avaliarmos a importância de tais atributos e, com isso, tentarmos diminuir a dimensão do problema trabalhado avaliaremos os atributos utilizando os seguintes métodos: (i) Ganho de informação, (ii) Chi Squared (2) e (iii) Algoritmo Genético (AG). A quantidade de atributos desejada foi fixada em 10 e 20. 24 Capítulo 3. PODEReS Tabela 3.2: Resultados para classificação de usuários spammers Algoritmos f1 Acurácia (%) Todos os atributos SVM 0.87 85.51 MLP 0.87 87.79 KNN 0.86 86.95 Random Forest (RF) 0.88 88.64 10 atributos selecionados RF - Algoritmo genético 0.90 90.23 RF - 2 0.87 87.42 RF - Ganho de informação 0.87 87.79 20 atributos selecionados RF - Algoritmo genético 0.90 90.33 RF - 2 0.87 87.51 RF - Ganho de informação 0.87 87.42 A redução da dimensionalidade dos problemas tem como principais benefícios: 1. Remover atributos irrelevantes, redundantes ou ruidosos; 2. Melhorar o desempenho dos algoritmos de classificação, tanto em termos de tempo de processamento quanto em qualidade das repostas. Diferentemente dos demais algoritmos de seleção de atributos utilizados, que consideram a importância de cada atributo separadamente, o AG é capaz de considerar as interações entre os diversos atributos. Assim, ao final de um número limite de gerações o melhor indivíduo, ou seja, aquele de melhor fitness, tende a encontrar a melhor combinação possível entre os atributos. Representaremos a fitness dos indivíduos pela média hormônica F1 obtida quando os atributos selecionados são submetidos ao algoritmo de classificação Random Forest, algoritmo que alcançou melhores resultados para o conjunto completo de atributos. Escolhemos a métrica F1 por ela obter resultados mais representativos em bases com classes desbalanceadas, como em nosso caso. Para selecionar os melhores parâmetros para o AG, novamente optamos por um projeto simples. Primeiramente foram avaliados a variação do número de indivíduos e geração e, com esse resultado, avaliou-se a variação da probabilidade de cruzamento e, após isso, a probabilidade de mutação. Por ser um método estocástico o algoritmo implementado para o AG foi executado 10 vezes para cada cenário. Os parâmetros finais foram definidos como: (i) 10 atributos: 150 indivíduos, 25 gerações, 0.8 a probabilidade 3.2. Caracterização comportamental 25 de cruzamento e 0.1 a probabilidade de mutação; (ii) 20 atributos: 200 indivíduos, 45 gerações, 0.8 probabilidade de cruzamento e 0.05 a probabilidade de mutação. 3.2.1.2 Avaliação Como mostrado na Tabela 3.2, a combinação dos 20 melhores atributos selecionados com o AG classificados pelo algoritmo Random Forest alcançou os melhores resultados, tanto em termos de média F1 quanto de acurácia. Para validarmos estatisticamente os resultados alcançados podemos realizar o teste student t, ou simplesmente teste t, utilizando a seguinte equação: t = x 0 sp n (3.1) onde x representa a média F1 dos melhores indivíduos alcançados no final da execução do algoritmo genético, 0 a hipótese alternativa que em nosso caso é o valor médio do F1 obtido pelo baseline SVM, ou seja, 0.9114, s é o desvio padrão da nossa amostra e n o tamanho da amostra. Para a seleção pelo AG de 10 atributos, temos: t = x 0 sp n = 0:9281 0:9114 0:0016p 10 = 33:01 (3.2) Já para a seleção de 20 atributos, temos: t = x 0 sp n = 0:9294 0:9114 0:0008p 10 = 71:15 (3.3) Observando o valor tabelado para um nível de confiança de 0.99% e 9 graus de liberdade, que é 2.821, podemos concluir que, em média, os valores obtidos pelos métodos avaliados são diferentes. Em termos práticos, alcançamos melhores resultados com a seleção de atributos pelo algoritmo genético utilizando Random Forest do que o método concorrente. Ao avaliar pelo mesmo teste t a seleção de atributos com o ganho de informa- ção (IG) e 2, com uma posterior execução pelo algoritmo Random Forest, também chegamos a resultados semelhantes, ou seja, os atributos selecionados pelo algoritmo genético alcançou melhores resultados. Além disso, como mostrado pela Tabela 3.3, os atributos selecionados pelo ganho de informação e 2 foram idênticos, tanto entre os 10 primeiros quanto entre os 20, mudando apenas a ordem de importância. Já o AG conseguiu obter uma maior taxa de diversidade, apenas 3 idênticos nos 10 melhores selecionados, são eles: (4) fração 26 Capítulo 3. PODEReS de tweets com url’s, (62) idade da conta do usuário e (30) número médio de url’s em cada tweet. Entre os 20 selecionados 8 foram idênticos, que são os mesmos dos citados para 10 atributos adicionados aos seguintes: (22) número médio de menções por tweet, (25) número máximo de menções por tweet, (10) número médio de url’s por número de palavras em cada tweet, (53) tempo máximo entre as mensagens e (2) fração de tweets respondidos. Observando apenas os atributos selecionados com o algoritmo genético podemos ver que 50% dos atributos escolhidos nos 10 melhores estão presentes entre os 20 me- lhores, são eles: (4) fração de tweets com url’s, (3) fração de tweets com as palavras de spam, (62) idade da conta do usuário, (30) número médio de url’s em cada tweet e (25) número máximo de menções por tweet. Uma descrição completa sobre o significado de cada numeração mostrada na Tabela 3.3 está disponível em: http://homepages.dcc.ufmg.br/~fabricio/spammerscollection.html. Tabela 3.3: Comparação atributos selecionados Posição Chi squared Ganho de informação AG (10) AG (20) 1 4 4 4 22 2 62 30 3 59 3 30 62 62 26 4 1 1 37 30 5 2 2 39 25 6 48 48 30 56 7 47 42 25 17 8 42 43 34 33 9 43 47 32 3 10 6 6 55 24 11 22 10 - 62 12 10 37 - 52 13 45 49 - 15 14 18 45 - 36 15 49 22 - 10 16 37 18 - 4 17 25 25 - 7 18 46 16 - 53 19 53 53 - 60 20 16 46 - 2 3.2. Caracterização comportamental 27 0 200 400 600 800 1000 Geral Legítimos Spammers Jornalísticos D i a s Tipo de usuário Idade média das contas dos usuários Figura 3.2: Idade média das contas dos usuários 0 20 40 60 80 100 120 140 160 180 Geral Legítimos Spammers Jornalísticos Q u a n t i d a d e Tipo de usuário Média do mínimo de tweets postados por semana Figura 3.3: Média do mínimo de tweets postados por semana 3.2.2 Identificação de usuários jornalísticos A base de dados para a segunda categoria de usuários, jornalísticos, foi formada por 70 usuários coletados que possuíam a substring “noticia” em seus nomes da conta do Twitter. Estes usuários foram descritos pelos mesmos 62 atributos definidos para a classe spammer. Assim, a base de dados utilizada passa a possuir 710 usuários rotulados como não spammers, 355 como spammers e 70 jornalísticos, formando uma base geral com 1,135 usuários. Para verificarmos se os atributos utilizados para descrever a base inicialmente são suficientes para distinguir os usuários anteriores dos jornalísticos verificamos as médias, com respectivos desvios padrão, de alguns deles, conforme listado abaixo: 1. Idade média da conta dos usuários: Como mostrado no gráfico da Figura 3.2 usuários legítimos possuem, em média, contas aproximadamente duas vezes mais antigas que usuários spammers e duas vezes mais recentes que os usuários jorna- lísticos, que possuem contas muito mais consolidadas. 2. Número médio do mínimo de tweets por semana: contas de usuários spammers postam um número significativamente maior de tweets por semana quando com- parados à média geral e aos usuários legítimos, mas substancialmente menor quando comparados com os usuários jornalísticos, como mostrado no gráfico da Figura 3.3. 3. Fração média de tweets respondidos: como pode ser observado pelo gráfico da Figura 3.4, os usuários spammers e jornalísticos possuem uma relação interpessoal muito menos intensa que os usuários legítimos. 28 Capítulo 3. PODEReS 0 0.2 0.4 0.6 0.8 1 Geral Legítimos Spammers Jornalísticos F r a ç ã o Tipo de usuário Fração de tweets respondidos Figura 3.4: Fração média de tweets res- pondidos 0 0.2 0.4 0.6 0.8 1 Geral Legítimos Spammers Jornalísticos F r a ç ã o Tipo de usuário Fração média de tweets com URLs Figura 3.5: Fração média de tweets com URLs 0 0.2 0.4 0.6 0.8 1 Geral Legítimos Spammers Jornalísticos F r a ç ã o Tipo de usuário Média de menções por tweet Figura 3.6: Média de menções por tweet 4. Fração média de tweets com URLs: como mostrado no gráfico da Figura 3.5 os usuários spammers e jornalísticos tendem a divulgar um número bastante superior de URLs a cada tweet postado. 5. Número médio de menções por tweet : usuários legítimos fazem uma quantidade significativamente maior de menção a outros usuários que os usuários spammers e jornalísticos, como mostrado na Figura 3.6. Assim, podemos verificar que os atributos utilizados para descrever os usuários contrastam bem as diferentes classes análisadas e que, apesar de pequena, a amostra de usuários jornalísticos é suficiente para captar padrões de comportamentos desta classe de indivíduos. 3.2. Caracterização comportamental 29 3.2.3 Método resultante Como mencionado anteriormente o melhor método identificado para separar as classes de spammers e não spammers, melhor taxa de acerto e média F1, foi o Random Forest. Para reduzirmos a dimensionalidade do problema e com isso tentarmos melhorar a taxa de acerto dos algoritmos o algoritmo genético se sobressaiu aos concorrentes analisados, obtendo atributos mais diversificados. Os atributos selecionados foram:  Número mínimo/máximo/médio de menções por tweet  Número mínimo/médio de tweets postados por semana  Número médio de caracteres numéricos por tweet  Número máximo/médio de URLs em cada tweet  Número mínimo de tweets postados em um dia  Número máximo/mediano de caracteres por tweet  Fração de tweets com palavras spam  Idade da conta  Tempo mínimo/máximo entre mensagens  Número mínimo de palavras por tweet  Número médio de URL por número de palavras em cada tweet  Fração de tweets com URLs  Número mediano de hashtags por número de palavras em cada tweet  Fração de tweets respondidos Os resultados obtidos são apresentados no gráfico da Figura 3.7 e mostra não haver sobreposição dos intervalos de confiança para o melhor conjunto atributos sele- cionados/Random Forest, logo este é estatisticamente o melhor resultado, com 99% de confiança. Observe que a escala do eixo y varia entre 0.84 a 0.9. Como a relação dos termos necessários para analisar o atributo “fração de tweets com palavras spam”, ou seja, palavras que constavam no trending topics do Twitter no período da coleta, não estava disponível foi necessário substituí-lo. O atributo escolhido para isto foi “número de seguidores por seguidos”. 30 Capítulo 3. PODEReS 0.84 0.85 0.86 0.87 0.88 0.89 0.9 KNN MLP SVM RandomForest T a x a d e a c e r t o Método Algoritmos de Classificação Todos Atributos Atributos Selecionados Figura 3.7: Algoritmos para análise comportamental Os usuários da categoria jornalísticos, que possuíam a substring “noticia” em seus nomes da conta do Twitter, foram descritos nos mesmos atributos definidos para as classes anteriores. A execução do método com o algoritmo Random Forest, utilizando os atributos selecionados, no conjunto rotulado contendo usuários spammers, jornalísticos e legítimos resultou em uma taxa média de acerto de 88.77% e média F1 de 0.88. Observando os usuários que foram rotulados posteriormente como jornalísticos observamos que o classificador se comportou bem, com erros concentrados em con- siderar usuários que postam muito e que possuem contas antigas como jornalísticos, quando nem sempre eram. Assim, a etapa de análise comportamental consistirá no algoritmo Random Forest treinado com a base rotulada contendo usuários spammers, jornalístico e legítimos, descritos pelos 20 atributos selecionado pelo AG. 3.3 Análise de sentimentos Como mostrado na Figura 3.1, nesta etapa estamos interessados em responder pergun- tas como: i) qual a opinião do indivíduo? O que o indivíduo pensa? Para tanto, será realizada uma análise de sentimentos nos tweets coletados. Foi observado na literatura, conforme mostrado na seção 2.5, que existe uma grande gama de métodos para realização de análises desta natureza. Vimos também, na comparação realizada por Gonçalves et al. [2013], que existe uma grande dependência da técnica utilizada como a fonte do texto verificado, não sendo encontrado nenhuma 3.3. Análise de sentimentos 31 que ganhasse em todos os cenários. Logo, considerando as inúmeras aplicações práticas possíveis para aplicar tais técnicas, este ainda é um campo fértil para novos estudos. Entre os métodos mais utilizados para a realização de análise de sentimentos em mensagens de micro-blogs estão os seguintes:  Dicionários léxicos: conjunto de palavras previamente rotuladas como positivas, negativas ou neutras, em que, conforme as ocorrências indicam as polaridades das mensagens analisadas.  Algoritmos supervisionados com mensagens classificadas manualmente.  Algoritmos supervisionados com rótulos baseados em indicadores de emoção, como os emoticons. Neste trabalho, analisamos mensagens que se referem apenas a uma entidade, ou seja, único candidato ou participante do programa. Além disso, utilizaremos uma abordagem baseada em um comitê de classificação, onde os tweets serão rotulados con- forme a polaridade indicada pela maioria de três classificadores: léxico, supervisionado com rotulação manual e supervisionado com rotulação automática. Cada classificador atribuirá +1, caso a mensagem seja positiva, ou -1, caso seja negativa. Se a soma for positiva a mensagem é considerada positiva, se a soma for negativa a mensagem é considerada negativa e em caso de soma zero a mensagem é descartada das análises. Mais detalhes sobre tais classificadores são apresentados nas subseções a seguir. 3.3.1 Dicionário Léxico Como mencionado anteriormente, o dicionário léxico é formado por um conjunto de palavras rotuladas como representantes de sentimentos positivos, negativos ou neutros. No idioma inglês existem diversos dicionários bem consolidados para tal tarefa como o MPQA Opinion Corpus3 e o General Inquirer 4, mas o mesmo não ocorre em português, idioma alvo deste trabalho. Para o português encontramos na literatura dicionários, por exemplo, constituí- dos a partir da extração de termos em blogs com comentários sobre componentes de veículos [Ribeiro Jr. et al., 2012], entre outros. Uma prática comum que também é realizada em trabalhos deste tipo é expandir o dicionário inicialmente desenvolvido por dicionários de sinônimos de palavras. 3http://www.cs.pitt.edu/mpqa/opinionfinder_1.html 4http://www.wjh.harvard.edu/~inquirer/ 32 Capítulo 3. PODEReS Neste trabalho rotulamos um conjunto inicial de palavras específicas para cada cenário com sentimentos positivos ou negativos. Este conjunto foi definido observando os tweets coletados em cada contexto. Para as eleições verificou-se que normalmente são usados termos para designar a conduta política do candidato ou a vontade do eleitor. São palavras como “ladrão” e “corrupto” para negativos e “apoio” e “voto” para positivos. Já para o BBB 13, verificamos a existência de termos mais pessoais para designar os participantes como “barraqueira” e “mentirosa” como negativos e “engraçada” e “bonita” para positivos. Após isso, expandimos tais conjuntos pelo dicionário de sinônimos Dicio5 e re- movemos duplicatas, ou seja, termos que aparecem nas duas listas finais. Um resumo quantitativo dos termos rutulados é apresentado na Tabela 3.4. Tabela 3.4: Dicionários Léxico - número de palavras Eleições BBB 13 Positivo 194 251 Negativo 292 175 3.3.2 Algoritmo supervisionado - Rotulação manual Algoritmos supervisionados utilizam informações obtidas por meio de conteúdos rotu- lados, previamente identificados, para amostras de treino na tarefa de aprendizagem e, então, generalizam as observações feitas para classificar novos dados. Nesta etapa, utilizamos como treinamento um conjunto de 200 tweets distintos escolhidos aleatoriamente e rotulados manualmente como positivo ou negativo em cada cenário analisado. Quatro classificadores serão avaliados: i) SVM; ii)Random Forest ; iii) Naive Bayes ; e iv) Naive Bayes Multinomial. Os resultados obtidos, considerando um processo com validação cruzada de 5 folds, são apresentados na Tabela 3.5. Considerando que a melhor taxa de acerto em todas as bases foi obtida pelo algoritmo Naive Bayes este será utilizado nesta etapa da análise de sentimentos dos tweets. 3.3.3 Algoritmo supervisionado - Rotulação automática Conforme mostrado por Hu et al. [2013] indicadores de emoção sugerem que o senti- mento contido em uma mensagem é consistente com os sinais presentes nela. Neste 5http://www.dicio.com.br 3.3. Análise de sentimentos 33 Tabela 3.5: Rotulação manual - Acurácia (%) Eleições BBB13 SVM 62.5 51 Random Forest 75.5 57.5 Naive Bayes 80.5 62 Naive Bayes Multinomial 78 60.5 trabalho utilizamos a lista de emoticons mostrados na Tabela 3.6 para indicar a pola- ridade de um tweet como positivo ou negativo. Com isso, escolhemos para cada cenário analisado 1,000 tweets distintos de forma aleatória para cada classe, resultando em 2,000 tweets, e prosseguimos com a análise dos algoritmos de classificação apresentados na subseção 3.3.2. Os textos de cada mensagem passaram por um pré-processamento, em que, foram retiradas palavras stop-words, pontuações, emoticons e termos com frequência menor que três no conjunto, resultando em um total de 1,062 diferentes palavras no cenário das eleições e 916 no BBB 13. Tabela 3.6: Lista de Emoticons Positivo :) :-) Negativo :( :-( Os resultados obtidos, considerando um processo com validação cruzada de 5 folds, é apresentado na Tabela 3.7. Considerando que a melhor taxa de acerto em todas as bases foi obtida pelo algoritmo Naive Bayes Multinomial este será utilizado nesta etapa da análise de sentimentos dos tweets. Tabela 3.7: Rotulação automática dos tweets selecionados com emoticons - Acurá- cia (%) Eleições BBB13 SVM 65.85 60.65 Random Forest 69.95 65.45 Naive Bayes 67.8 64.15 Naive Bayes Multinomial 74.8 69.15 34 Capítulo 3. PODEReS 3.3.4 Concordância entre os algoritmos de análise de sentimentos Para verificarmos a concordância entre os três métodos utilizados no comitê de clas- sificação, utilizamos os tweets rotulados manualmente para os cenários das Eleições e BBB e procedemos pela verificação da compatibilidade entre os rótulos atribuídos. Foram comparados quatro cenários para cada uma das bases utilizadas: (i) con- cordância entre os três algoritmos: Léxico (L), Rotulação Manual (RM) e Rotulação automática (RA); (ii) concordância entre L e RM; (iii) concordância entre L e RA; e (iv) concordância entre RM e RA. Considerando que nem todas as mensagens avaliadas possuem termos de senti- mento catalogados pelo dicionário léxico iremos desconsiderar desta análise as mensa- gens classificadas como neutras. O algoritmo RM é treinado com as bases de tweets rotuladas manualmente. Para não testarmos este algoritmo com a mesma base de treinamento realizamos um processo de validação cruzada com cinco partições, onde tweets testados não faziam parte do conjunto de treinamento. Os resultados alcançados são mostrados nos gráficos das Figuras 3.8, 3.9, 3.10 e 3.11, para o cenário das eleições, e Figuras 3.12, 3.13, 3.14 e 3.15, para o cenário do BBB. Como podemos observar, a comparação entre os rótulos atribuídos pelos três métodos foram 34% diferentes entre os tweets da base Eleições e 75% diferentes na base do BBB, ou seja, existe um nível diferente na complexidade de atribuir sentimentos para as mensagens desses dois contextos. Os métodos que mais concordaram foram L e RM na base das Eleições, alcan- çando 82%, e L e RA na base do BBB, alcançando 51%. Os métodos com maior discordância foram RM e RA na base das Eleições, divergindo em 30%, e na base do BBB houve um empate entre L e RM com a combinação RM e RA, divergindo em 51%. Estes resultados refletem a grande complexidade em atribuir sentimentos para as mensagens dos dois contextos analisados. Motivos para tanto são a forte presença de ironias e piadas, em ambos os cenários. Um exemplo para este tipo de comportamento é a seguinte mensagem constantemente reproduzida durante o período de coleta das eleições: “Amor sim, Russomanno não”. Um léxico que catalogasse o termo “Amor” como sendo de sentimento positivo estaria automaticamente errando o rótulo atribuído para a mensagem. 3.3. Análise de sentimentos 35 Figura 3.8: Eleições - concordância en- tre L, RM e RA Figura 3.9: Eleições - concordância en- tre L e RM Figura 3.10: Eleições - concordância entre L e RA Figura 3.11: Eleições - concordância entre RM e RA Figura 3.12: BBB - concordância entre L, RM e RA Figura 3.13: BBB - concordância entre L e RM 36 Capítulo 3. PODEReS Figura 3.14: BBB - concordância entre L e RA Figura 3.15: BBB - concordância entre RM e RA 3.3.5 Avaliação do método Para avaliarmos os métodos selecionados para a análise de sentimentos utilizamos 200 tweets distintos para cada cenário, BBB e Eleições, escolhidos aleatoriamente e rotu- lados manualmente como positivo ou negativo. Assim, avaliamos a cobertura, ou seja, porcentagem de tweets não classificados como neutros, e a acurácia provida por cada método. Os resultados obtidos são mostrados na Tabela 3.8. Como podemos observar o dicionário léxico construído foi capaz de prover uma boa acurácia. No entanto, tal método possui uma baixa cobertura: apenas 43% das mensagens no contexto das Eleições e 31% do BBB foram classificadas como positivas ou negativas. O método capaz de prover a melhor acurácia foi o classificador supervisionado com mensagens de treinamento rotuladas manualmente, mas devido a pouca quantidade de tweets rotulados optamos por utilizar o Comitê de classificação em nosso trabalho, por ser capaz de alcançar uma boa acurácia e uma cobertura razoável. Tabela 3.8: Análise de sentimentos - avaliação do método (Métricas de acurácia e cobertura em porcentagem (%)) Eleições BBB Método Acurácia Cobertura Acurácia Cobertura Dicionário Léxico (L) 74.7 43 70.5 31 Supervisionado manualmente (RM) 80.5 100 62.0 100 Supervisionado automaticamente (RA) 63.5 100 49.5 100 Comitê 80.3 79 59.1 64 3.4. Tamanho da amostra 37 3.4 Tamanho da amostra Pesquisas com objetivos de verificar atitudes, valores e opiniões da população sem entrevistar todos os indivíduos, ou seja, com formação de amostra, são historicamente estudadas e uma estrutura para tal atividade é bem definida em diversos trabalhos encontrados na literatura. Além da representatividade dos indivíduos, com proporções condizentes com o conjunto completo da população, um dos principais aspectos que devem ser observados para esta atividade é o tamanho da amostra que será utilizada. Este tamanho irá interferir diretamente em dimensões como a margem de erro obtida no processo. Margem de erro é a diferença máxima provável entre a medida do estimador observado na amostra e o verdadeiro valor encontrado na população [Bracarense, 2009]. Por exemplo, se aceitarmos uma margem de erro de 5% em um resultado estimado em 60% valor real poderá variar em entre 55 a 65%. Assim, a margem de erro, tamanho da amostra e confiança obtida nas pesquisas de opinião, em que o tamanho da população é infinito ou desconhecido, podem ser definidos pela fórmula apresentada na equação 3.4, em que n representa o tamanho da amostra, z o escore aproximado da distribuição normal para a probabilidade de confiança desejada, d o desvio permitido do resultado obtido para o real e 2 o valor da variância de uma pesquisa anterior. n = ( z  2 d ) 2 (3.4) Neste trabalho será utilizado uma confiança de 95.5% e 2 correspondente a 0.5, já que o valor da variância de uma pesquisa anterior é desconhecida. Em consonância com Arkin & Colton [1950]; Gil [2010] os valores utilizados, tamanho da amostra para cada margem de erro, são mostrados na Tabela 3.9. 38 Capítulo 3. PODEReS Tabela 3.9: Tamanho da amostra (95.5% de confiança) Margem de erro (%) Tamanho da amostra 1 10000 2 2500 3 1111 4 625 5 400 6 278 7 204 8 157 9 124 10 100 11 83 12 70 13 60 14 51 15 45 Capítulo 4 Caracterização pessoal Para formação de amostras representativas da população analisaremos as seguintes características pessoais nos usuários identificados em nossas coletas: sexo, idade e classe social. Também foi realizado um estudo para inferir a localização geográfica dos indi- víduos, trabalho publicado em [Rodrigues et al., 2013]. Parte deste trabalho é apre- sentado no Apêndice A. Este atributo não foi analisado nos cenários avaliados pois, no caso do BBB, não existia informações sobre a distribuição geográfica da população real. Para as Eleições, consideramos que o indivíduo pertencia ao mesmo município do candidato ao qual ele se referiu nas mensagens coletadas. Os métodos analisados para os processo de caracterização foram baseados nos textos publicados pelos usuários e em atributos não textuais extraídos dos tweets, estra- tégia similar a adotada por diversos trabalhos encontrados na literatura [Nguyen et al., 2013; Benevenuto et al., 2010; Mahmud et al., 2012; Cheng et al., 2010]. As etapas se subdividiram basicamente nas seguintes: 1. Coleta de tweets: foram coletados, utilizando a API do Twitter, os 200 tweets mais recentemente publicados pelos usuários identificados. Usamos os últimos 200, pois é um limite que a API do Twitter nos permite coletar de forma mais simplificada. De forma geral, esses usuários possuem duas características princi- pais: publicaram tweets públicos e em Português. Para identificarmos os usuários coletados utilizamos, normalmente, duas abordagens distintas: (i) usuários que postaram mensagens relacionadas com as Eleições 2012 ou com o programa BBB 13 e (ii) usuários que utilizaram um termo comum no idioma Português, de forma semelhante à abordagem seguida em Nguyen et al. [2013]. O termo escolhido para orientar o processo de rastreamento foi coisa. De acordo com um documento pu- 39 40 Capítulo 4. Caracterização pessoal blicado pela Academia Brasileira de Letras1, coisa é o substantivo mais frequente usado no Português Brasileiro. Observe que primeiro coletamos os tweets e deles encontramos os usuários para, então, recuperar seus últimos 200 tweets. 2. Pré-processamento das mensagens: foram retiradas acentuações gráficas, pontua- ções, termos stop words, caracteres não ASCII e considerados todos os caracteres em minúsculo. 3. Verificação da importância dos termos utilizados: avaliamos os termos encontra- dos utilizando as métricas de Ganho de Informação ou pelo Chi Squared(2). 4. Classificação de usuários utilizando algoritmos supervisionados: resultados com quatro classificadores diferentes são apresentados: Naive Bayes Multinomial, Naive Bayes, SVM e Random Forest. Todos os resultados foram obtidos usando as versões Weka destes classificadores [Witten & Frank, 2005]. O Naive Bayes Multinomial (NBM) foi escolhido por ser extremamente rápido e apresentar bons resultados com texto e o SVM e Random Forest por estarem entre os classificado- res estado da arte. Em todos os classificadores, exceto o SVM, foram utilizados os parâmetros padrão. Os parâmetros para o SVM foram otimizados usando o ferramenta easy, que realiza uma pesquisa de grade na escolha dos valores. Os experimentos foram realizados utilizando um procedimento de validação cruzada de cinco partições. 5. Avaliação dos resultados: os resultados serão avaliados conforme valores encon- trados para acurácia e média F1, métrica apropriada para avaliação em conjuntos desbalanceados. Especificidades sobre cada caracterização serão discutidas nas seções a seguir. 4.1 Sexo Como mostrado na Figura 3.1, dentre as características pessoais uma que queremos identificar para as formações de nossas amostras é o sexo do usuário, ou seja, feminino ou masculino. Para tanto, o método proposto se baseia em duas etapas, são elas:  Dicionário de nomes: conjunto de nomes normalmente utilizados para designar pessoas do sexo masculino ou feminino. 1http://www.academia.org.br/ 4.1. Sexo 41  Classificação por algoritmos supervisionados: um classificador é treinado a partir de mensagens de usuários previamente rotulados como sendo de sexo masculino ou feminino. O método proposto consistirá na utilização das duas etapas mencionadas em sequência, ou seja, ele verificará a existência do nome do usuário no dicionário e quando o nome não estiver catalogado, rotulará o indivíduo pelo algoritmo de classificação supervisionado. 4.1.1 Dicionário de nomes Para a primeira etapa, inicialmente utilizaremos uma coleta anteriormente realizada de nomes de usuários e seus respectivos sexos pela rede social Facebook2. Após isso, foi utilizado o catálogo de nomes para bebês contido no sítio BebeAtual3 para ampliar o dicionário corrente. Cada nome foi identificado com as informações do sexo (masculino, feminino ou unissex) e a frequência em que o nome foi encontrado para cada um deles. O dicionário gerado foi então pré-processado, conforme já descrito anteriormente, descartados duplicatas, nomes com menos de três caracteres e desconsiderados a infor- mação de sobrenomes. Como resultado foi criado um dicionário com 21,378 nomes femininos, masculinos e unissex. Após uma filtragem por apenas nomes masculinos e femininos, considerando também os nomes unissex caso a frequência em algum dos sexos fosse dez vezes supe- rior a do outro, obtivemos um total de 20,801 nomes sendo 11,671 femininos e 9,130 masculinos. 4.1.2 Classificadores Na segunda etapa, consideramos que o dicionário criado fornecia uma base confiável pela qual poderíamos classificar os usuários. Desta forma, coletamos os últimos tweets de usuários que postaram mensagens nos seguintes contextos: Eleições municipais de 2012, BBB 13 e usuários que seguiam os perfis Mens Health Brasil4 e Womens Health Brasil5. Sendo as duas últimas fontes de usuários escolhidas por apresentarem contextos tipicamente masculinos e femininos, respectivamente. Dentre os conjuntos de usuários coletados foram selecionados somente aqueles em que o nome foi identificado pelo dicionário de nomes como sendo do sexo masculino 2http://www.facebook.com/ 3http://bebeatual.com/ 4https://twitter.com/menshealth_br 5https://twitter.com/WomensHealthBR 42 Capítulo 4. Caracterização pessoal ou feminino, para os quais foi possível coletar no mínimo 50 tweets. Tais tweets foram pré-processamentos. Após isso, para cada usuário foi formado um vetor para identificar a presença das palavras mencionadas, com frequência mínima de três. Os resultados alcançados pela avaliação de quatro classificadores são mostrados nas Tabelas 4.1, 4.2, 4.3 , 4.4, 4.5 e 4.6. Podemos observar pelos F1 encontrados, que o SVM e o Random Forest obtiveram resultados muito inferiores em classes altamente desbalanceadas como é o caso das bases Mens Health e Womens Health. Já o Naive Bayes normalmente perde para o Naive Bayes Multinomial. Assim, o algoritmo Naive Bayes Multinomial será utilizado daqui em diante. Tabela 4.1: Sexo Womens Health - F1 utilizando todos os termos Usuários Homem (836) Mulher (2,971) Média SVM Nenhum homem 0.877 0.438 Random Forest 0.171 0.870 0.520 Naive Bayes 0.469 0.776 0.622 Naive Bayes Multinomial 0.492 0.819 0.655 Tabela 4.2: Sexo Mens Health - F1 utilizando todos os termos Usuários Homem (9,513) Mulher (2,180) Média SVM 0.897 0.004 0.450 Random Forest 0.888 0.210 0.549 Naive Bayes 0.775 0.422 0.598 Naive Bayes Multinomial 0.833 0.441 0.637 Tabela 4.3: Sexo Revistas (Womens e Mens Health) - F1 utilizando todos os termos Usuários Homem (10,349) Mulher (5,151) Média SVM 0.863 0.634 0.748 Random Forest 0.802 0.536 0.669 Naive Bayes 0.771 0.652 0.711 Naive Bayes Multinomial 0.794 0.660 0.727 Para tentarmos melhorar os resultados obtidos executamos os algoritmos Ganho de Informação e 2, e verificamos o melhor número de atributos, palavras digitadas, capazes de separar as duas classes de sexo dos usuários, para quantidades variando de 10 em 10. Para tanto, utilizamos a base completa de usuários, 23,100 indivíduos, e os tweets tratados de forma análoga ao já descrito anteriormente. 4.1. Sexo 43 Tabela 4.4: Sexo BBB - F1 utilizando todos os termos Usuários Homem (518) Mulher (788) Média SVM 0.446 0.79 0.617 Random Forest 0.412 0.744 0.578 Naive Bayes 0.601 0.763 0.682 Naive Bayes Multinomial 0.590 0.772 0.681 Tabela 4.5: Sexo Eleições - F1 utilizando todos os termos Usuários Homem (3,759) Mulher (2,535) Média SVM 0.832 0.716 0.774 Random Forest 0.724 0.592 0.658 Naive Bayes 0.708 0.656 0.682 Naive Bayes Multinomial 0.727 0.654 0.690 Tabela 4.6: Sexo Base Completa - F1 utilizando todos os termos Usuários Homem (14,626) Mulher (8,474) Média SVM 0.856 0.694 0.775 Random Forest 0.776 0.581 0.678 Naive Bayes 0.751 0.652 0.701 Naive Bayes Multinomial 0.754 0.653 0.703 Como mostrado pela Tabela 4.7, 20 pode ser considerado uma quantidade pe- quena de termos capaz de obter boa média F1 e ao mesmo tempo proporciona uma alta cobertura entre os usuários, dentre as palavras selecionadas 97.25% dos usuários utilizou no mínimo uma. As palavras são listadas abaixo:  obrigada, obrigado, cansada, lindo, amei, adorei, adoro, amiga, amo, lt (abrevia- ção para Last tweet), gol, futebol, delicia, linda, @hugogloss, lindos, libertadores, campeao, jogador e palmeiras. Como podemos observar, os termos selecionados, em geral, apresentam sufixos masculinos (“o”) ou femininos (“a”). Além disso, termos tipicamente atribuídos a uni- versos distintos de gêneros também foram selecionados, como palavras relacionados ao futebol. 4.1.3 Avaliação do método Como mencionado anteriormente, o método proposto consiste execução em sequência de duas fases: verificação do nome no dicionário e, se necessário, classificação por um 44 Capítulo 4. Caracterização pessoal Tabela 4.7: Sexo Base Completa - seleção de atributos # atributos Usuários que F1utilizaram os termos (%) Homem (14,626) Mulher (8,474) Média 10 93.39 0.836 0.593 0.714 20 97.25 0.812 0.651 0.732 30 98.83 0.796 0.655 0.725 40 99.36 0.785 0.647 0.716 50 99.77 0.789 0.655 0.722 60 99.77 0.781 0.650 0.715 70 99.82 0.781 0.653 0.717 80 99.88 0.780 0.654 0.717 90 99.88 0.779 0.655 0.717 100 99.88 0.774 0.655 0.714 algoritmo supervisionado. Para avaliar a eficácia de tal método isolamos, dentre os usuários coletados na base das Eleições e do BBB, aqueles que indicavam links para blogs na rede social Blogspot6, com informação do sexo do usuário. Verificando somente os usuários cujos nomes estão presentes no dicionário, encon- tramos os resultados apresentados na Tabela 4.8, que retrata a corretude do dicionário desenvolvido. Tabela 4.8: Acerto do dicionário Base Número de usuários analisados Acerto (%) Eleições 4,344 98.11 BBB13 884 97.73 Posteriormente, avaliamos o acerto obtido pelo dicionário, algoritmo supervisio- nado e algoritmo supervisionado com uso do dicionário. Na avaliação do método onde o dicionário é avaliado separadamente atribuímos o sexo “masculino” para todos os nomes não catalogados. Os resultados são mostrados na Tabela 4.9, em que na base coletada dos blogs BBB foram analisados 1,293 usuários e na base das eleições foram analisa- dos 5,875 usuários. Assim, consideramos que o conjunto Naive Bayes Multinomial (20 atributos) + dicionário é o mais apropriado para a classificação do sexo. 6http://www.blogger.com/ 4.2. Idade 45 Tabela 4.9: Acerto das variações do método (%) BBB13 Eleições Dicionário 74.40 87.76 Naive Bayes Multinomial (20 atributos) 78.11 80.14 Naive Bayes Multinomial (20 atributos) + dicionário 90.02 92.54 4.2 Idade Como mostrado na Figura 3.1, uma característica que queremos identificar nos usuá- rios analisados, para formação de nossas amostras, é a idade. Diversos trabalhos já abordaram este assunto e verificaram que tanto a forma de linguagem dos indivíduos, como a maior recorrência no uso de preposições ou artigo, quanto as relações interpes- soais, como a criação de vínculos de amizades, são características capazes de diferenciar indivíduos de direrentes faixas etárias. Assim, inicialmente mostraremos a estratégia utilizada para formação da nossa base de dados, identificação e avaliação do poder discriminativo de atributos textuais e não textuais e, por fim, um estudo sobre o poder preditivo de alguns classificadores estado da arte nesta tarefa. 4.2.1 Base de dados A base de dados utilizada nesta etapa foi construída a partir de dois processos distintos, são eles: 1. Coleta em blogs: Usuários identificados nas coletas BBB 13, Eleições 2012 ou que usaram a pala- vra “coisa” em suas mensagens, cujos tweets continham indicação para um blog da rede Blogspot. Assim, foi realizado um crawler sobre tais blogs e extraída as idades dos usuários pelo campo descrição com a expressão “X anos”, onde X representa um valor entre 1 e 99. Para garantir que a expressão continha in- formação da idade do indivíduo e não, por exemplo, de tempo de experiência profissional, cada texto foi analisado e filtrado manualmente. 2. Coleta manual: Foi utilizada a ferramenta de busca do Twitter7 e por meio de pesquisas pelos termos “tenho X anos” ou “fiz X anos”, onde X representa um valor entre 10 e 7https://twitter.com/search-home 46 Capítulo 4. Caracterização pessoal 99, analisou-se manualmente se a mensagem tratava de uma experiência pessoal e se a fotografia apresentada no perfil era condizente com a idade mencionada, identificando, desta forma, usuários com suas respectivas idades. Além disso, para a classe de usuários com idade superior a 45 anos, foram rea- lizadas pesquisas pelos termos “sou aposentado”, “aposentado”, “aposentadoria”, “netinhos” ou “cobap” (Confederação dos Aposentados e Pensionistas do Brasil) e por seguidores dos usuários de screen names “terceira_idade”, “blogda3idadesp”, “aTerceiraIdade” e “nucleo3idade”. Tais indivíduos foram adicionados à base quando as fotografias apresentadas no perfil evidenciavam uma pessoa com apa- rência condizente a esta faixa etária. Como resultado, obteve-se uma base com 1,709 usuários rotulados. Categorizando estes indivíduos em cinco faixas etárias, de forma compatível com as faixas etárias divulgadas pelo TSE para o perfil do eleitorado, sendo 290 com idade menor que 16 anos, 806 entre 16 a 24, 284 entre 25 a 34, 158 entre 35 a 44 e 171 acima de 45. Finalmente, foram coletados os últimos tweets de cada usuário identificado. 4.2.2 Características textuais e não textuais Tendo uma base de dados com usuários rotulados, podemos identificar as características que são capazes de distinguir pessoas de diferentes faixas etárias, um passo para a cons- trução de um método automático de inferência da idade. Analisaremos basicamente dois grupos de características: textuais e não textuais. 4.2.2.1 Atributos textuais Para extrair características textuais, utilizamos os 200 tweets mais recentes postados pelos usuários. Inicialmente, consideramos os atributos mais discriminativos em todo o texto. Em uma segunda fase, com base em nossa intuição, observação das palavras mais frequentemente utilizadas em cada idade e seguindo exemplos encontrados em trabalhos relacionados, identificamos um conjunto de termos característicos de cada faixa etária, retratando por exemplo, eventos cotidianos, lugares e expressões típicas de cada etapa da vida. Nesta segunda fase, para cada característica considerada relevante um conjunto de termos foi manualmente definido e suas frequências médias e medianas foram avaliadas, conforme listado abaixo:  Filmes até 16 anos: crepusculo, edward, bella, jacob, harry potter, hermione, voldemort, dumbledore. 4.2. Idade 47  Ídolos até 16 anos: fresno, nx zero, restart, fiuk, avril lavigne, justin bieber, hanna montana, miley cyrus, #justinbieber, luan, luan santana, justin, taylor, demi, demi lovato, selena gomes, mile cyrus, onedirection, liam, nial, zayn.  Televisão até 16 anos: rebelde, rbd, high school musical, hsm, glee, malhacao.  Bar: bar, buteco, boteco, botequim, butequim, barzin.  Bebidas: bebi, vou beber, estou bebendo, to bebendo, beberei, encher a cara, enche a cara, estou bebado, to bebado, estou tonto, to tonto, tomar uma, tomar todas.  Faculdade: faculdade, graduacao, universidade, facul.  Maquiagem: blush, makeup, delineador, po compacto, sombra, rimel, batom, demaquilante, gloss, lapis de olho, lapis de boca.  Abreviações: sdv, mds, amr, agr, favor, favoor, bgs, ngm, facul, sdds, flw, pfvr, awn, scrr.  Diversão noturna: boate, balada, discoteca.  Política: partidos, cassado, mandato, #eleicao, @brazilnocorrupt, petista, sena- dora, governo, politica, dilma, pt, psdb, pmdb, justica, partido, stf, presidente, campanha, ministro, lula, aecio, corrupto, corrupcao.  Relacionamento: apaixonada, xonada, xonei, namorado, namorada, amando.  Religião: deus, papa, santo, cristo, santa, jesus, morte, francisco.  Escola: escola, colegio, aula de matematica, aula de fisica, aula de redacao, aula de portugues, aula de geografia, aula de historia, recreio, atv de.  Casamento: festa de casamento, festa de noivado, despedida de solteiro (a), ca- samento, cha de panela, noivado, meu esposo (o), meu marido.  Termos frequentes mais de 45 anos: louco, macon, maconaria, the voice, #thevoi- cebrasil, miss, #missbrasil, redacao, leitura, plantao, coluna, oculos, asilo, gps, cartal, portal, @veja, inss, carta, editora, previdencia, lazer, cardapio, senadora, aposentado, aposentados, aposentadoria, previdenciario, neto, netos, netinhos, terceira idade. 48 Capítulo 4. Caracterização pessoal Além destes termos, para cada faixa etária considerada, definimos um conjunto de gírias e internetês normalmente utilizadas. Como dicionário inicial destas pala- vras coletamos termos do blog Dicionariopopular8, um catálogo de gírias e expressões populares, e de Linguadedoido9, um catálogo de internetês. Tais catálogos também passaram pelo processo de pré-processamento. Para atribuirmos cada palavra dos dicionários às faixas etárias, seja ela gíria ou internetês, calculamos o tf-idf (term frequency-inverse document frequency) de cada termo nos documentos constituídos pela concatenação dos textos de todos usuários de cada faixa definida. Foram considerados os 20 termos com maior valor para esta métrica, que se diferenciavam dos 20 melhores termos das demais faixas etárias. Os termos selecionados na divisão em três faixas etárias são mostrados abaixo: Gírias:  ate 25 anos: brusa, mauricinho, cachola, la longe, painho, fica na sua, krau, nao se toca, dimais, minha loira, chorado, kenga, bredo, mijao, sangue frio, bafafa, atazana, sai do meu pe, cocozinho e mais alem;  25 a 45 anos: pantera, picuma, cantarolar, ficar de molho, cumadi, cafe pequeno, verdinha, rala rala, bater um rango, istamu, colala, pipocada, aos trancos e bar- rancos, proceis, pe da vida, malinar, paranho, zoreia, desmantelo e acalentar;  mais 45 anos: espocar, manda bala, cacarejam, pincelada, fomento, acabar em pizza, vapt, trancoso, vapt vupt, buchudo, tempestade em copo dagua, de varga, dar um piti, correno, cacoete, nem relogio trabalha de graca, apeia, nem que a vaca tussa, sistematico e de vento em popa. Internetês:  ate 25 anos: chegay, mels, morenin, beim, pokin, fikei, pufavo, longi, qrendo, obgda, fossi, moziin, xego, pkna, pusha, brink s, paliacada, esqeci, xorar e baxin;  25 a 45 anos: xover, xeid, fikr, veix, flei, voley, anaum, pulus, dexha, futs, bilhetin, maix, noix, cntg, amgo, nads, dmais, qlqr, hoji e umilia;  mais 45 anos: deshar, marka, pueira, seol, decha, naum, huahuahua, kero, mlke, kbca, nunk, meldels, novis, anju, xeru, cursin, boua, rasho, okay e noes. Outros atributos textuais analisados foram: 8http://dicionariopopular.blogspot.com.br/ 9http://linguadedoido.blogspot.com.br/2008/07/dicionrio-de-internets.html 4.2. Idade 49 Figura 4.1: Média de menção a ídolos até 16 anos por usuário Figura 4.2: Média de menção a filmes até 16 anos por usuário  Média e mediana de termos positivos: conjunto de palavras manualmente sele- cionadas e expandidas pelo dicionário de sinônimos Dicio10. São termos como: bom, admiro e adoro.  Média e mediana de termos negativos: conjunto de palavras criado de forma análoga às positivas. São termos como: péssimo, raiva e desprezível.  Média e mediana de erros ortográficos;  Média e mediana do uso de preposições;  Média e mediana do uso de artigos;  Média e mediana do uso de emoticons. Para exemplificar o poder discriminativo dos conjuntos de termos criados são mostrados nos gráficos das Figuras 4.1, 4.2, 4.3 e 4.4, as médias por usuário de menções a termos dos conjuntos “ídolos até 16 anos”, “filmes até 16 anos”, “diversão noturna” e “termos frequentes mais de 45 anos”, respectivamente. Estes gráficos foram construídos de forma a retratar por cada circunferência a média de menções que o usuário utilizou em termos dos conjuntos em seus tweets mais recentes. Foram desconsiderados usuários que não mencionaram os termos dos conjuntos, ou seja, média igual a 0. Desta forma, quanto mais escuro o ponto mais usuários possuem o mesmo comportamento. Como podemos observar, os conjuntos selecionados retratam o comportamento de usuários em diferentes etapas da vida, com maior ocorrência dos três primeiros conjuntos entre os mais jovens e do último entre os mais velhos. 10http://www.dicio.com.br 50 Capítulo 4. Caracterização pessoal Figura 4.3: Média de menção a pala- vras de diversão noturna por usuário Figura 4.4: Média de menção a pala- vras frequentes mais de 45 anos por usuário 4.2.2.2 Atributos não textuais Complementando os atributos textuais apresentados na subseção anterior, também extraímos e analisamos os seguintes atributos não textuais:  Sexo: inferido conforme método apresentado na seção 4.1;  Média e mediana de hiperlinks: URL’s identificadas;  Média e mediana de hashtags: indicadas pelo símbolo “#”;  Média e mediana do número de caracteres nas palavras;  Média e mediana do número de caracteres nos tweets;  Média e mediana da frequência de tweets por dia;  Média e mediana da frequência de tweets por semana;  Média e mediana da frequência de tweets por mês;  Média e mediana do número de palavras por tweet;  Divulgação de coordenadas geográficas nos tweets publicados;  Preenchimento de cidade válida: considerando cidades brasileiras;  Número de seguidores;  Número de seguidos. 4.2. Idade 51 Figura 4.5: Média do tamanho das pa- lavras por usuário Figura 4.6: Média do tamanho dos twe- ets por usuário Figura 4.7: Média do número de hashtags por usuário Seguindo o mesmo procedimento já explicado para os gráficos de atributos textu- ais o comportamento dos usuários em alguns dos atributos não textuais são mostrados nos gráficos das Figuras 4.5, 4.6 e 4.7, para os tamanhos médios de palavras, tweets e uso de hashtags, respectivamente. Podemos observar que pessoas mais velhas tendem a escrever palavras e tweets com mais caracteres, e que o uso de hashtags é maior entre os usuários mais jovens. 4.2.3 Classificação Depois de analisar os recursos textuais e não textuais que podem distinguir os usuários de diferentes faixas etárias, esta seção utiliza esses recursos para criar modelos de classificação capazes de discriminar os usuários. Os experimentos foram realizados 52 Capítulo 4. Caracterização pessoal Tabela 4.10: Principais termos para divisões de idade em 3 e 5 classes, conforme medida de Ganho de Informação 3 Classes 5 Classes lt lt (Last tweet) governo governo uu uu (Expressão para comemoração) dormir politica politica dormir sdds agr (Agora) ne amo vou sdds (Saudades) haha pt (Partido dos trabalhadores) tava mds (Meu Deus) considerando os usuários divididos em 3 e 5 faixas de idade, sendo a de 3 com as idades menor que 25, entre 25 e 45 e maior que 45 e a de 5 com as idades menor que 16, 16 a 24, 25 a 34, 35 a 44 e maior de 45. Diferentes combinações dos recursos foram utilizadas para descrever os dados, incluindo o texto completo (em que foram observadas a presença de 5,135 termos na divisão por 3 classes e 2,859 em 5 classes, formado pelas palavras com frequência maior que 5 e Ganho de Informação maior que 0), atributos textuais selecionados, atributos não textuais selecionados e uma combinação dos atributos textuais e não textuais selecionados. Os 10 termos mais relevantes, conforme medida de Ganho de Informação compu- tada com o texto completo, são mostrados na Tabela 4.10, em que podemos observar uma grande presença de palavras relacionadas ao mundo político, abreviações e inter- netês. Como podemos observar pela Tabela 4.11, o conjunto de classificador/atributos que conseguiu alcançar melhores resultados nos dois recortes de faixas etárias foi o Naive Bayes Multinomial (NBM) utilizando o texto completo postado pelos usuários. No entanto, os atributos textuais e não textuais selecionados, dado a significativa di- minuição de termos avaliados, também obtiveram bons resultados quando utilizado em conjunto com o algoritmo SVM como, por exemplo, perdendo os textuais selecionados em apenas 0.1 de f1 na divisão em três classes. Isto retrata que se definidos mais cuidadosamente os termos melhores resultados poderão ser alcançados. 4.3. Classe social 53 Tabela 4.11: Resultados obtidos utilizando o texto completo, atributos textuais sele- cionados, não textuais selecionados e todos selecionados (textuais com não textuais) - métrica de acurácia mostrada em porcentagem (%) 3 Classes Texto completo Textuais Não textuais Todos selecionados f1 Acurácia f1 Acurácia f1 Acurácia f1 Acurácia NBM 0.81 81.51 0.51 64.42 0.55 64.31 0.55 64.36 Naive Bayes 0.78 77.12 0.68 66.88 0.63 67.41 0.71 71.50 SVM 0.70 74.84 0.74 75.48 0.67 70.63 0.76 76.18 Random Forest 0.66 70.51 0.71 72.79 0.66 68.46 0.71 73.26 5 Classes Texto completo Textuais Não textuais Todos selecionados f1 Acurácia f1 Acurácia f1 Acurácia f1 Acurácia NBM 0.66 66.06 0.32 47.75 0.36 41.49 0.36 42.19 Naive Bayes 0.61 61.20 0.51 49.74 0.42 44.88 0.52 52.95 SVM 0.43 53.66 0.57 60.15 0.38 50.15 0.58 60.39 Random Forest 0.46 51.02 0.52 55.18 0.46 49.33 0.53 55.00 4.3 Classe social Como mostrado na Figura 3.1, uma característica que queremos identificar nos usuários analisados, para formação de nossas amostras, é a classe social na qual ele se enquadra, característica ainda não explorada em outros trabalhos. Na teoria sociológica, o conceito de classe social é muitas vezes contestado [Crompton, 2008] e já foi amplamente discutido por sociólogos, como Weber e Bourdieu [Bourdieu, 1987]. Em particular, a definição de classe social pode ser subjetiva ou ob- jetiva [Schiffman, 2007]. Dada uma definição simplista, “classes são categorias sociais que compartilham atributos subjetivamente marcantes usados para classificar pessoas dentro de categorias em um sistema de estratificação econômica” [Wright, 2003]. Estes atributos subjetivos podem ser definidos pela ocupação, educação, estilo de vida, níveis de renda, ou uma combinação entre eles. Em uma definição mais objetiva as classes se referem a “como as pessoas estão localizadas na desigualdade da distribuição dos bens materiais” [Wright, 2003]. Neste caso, a renda e riqueza são determinantes. Levando em consideração esta definição objetiva podemos supor que pessoas den- tro de uma determinada classe social tendem a ter estilos de vida semelhantes em vir- tude de seus níveis de renda e gostos em comum [Solomon, 2010; Katz-Gerro, 1999; Settle et al., 1979]. Neste contexto, este trabalho associa estilo de vida a riqueza dos bairros que as pessoas costumam visitar para rotular automaticamente usuários brasi- leiros em diferentes classes sociais. 54 Capítulo 4. Caracterização pessoal Mais especificamente, inicialmente foi coletada uma lista de locais (ou venues) de uma das mais populares redes sociais baseadas em localização - Foursquare, e eti- quetamos cada local de acordo com a riqueza do bairro em que ele está localizado. A rede Foursquare trabalha com 9 diferentes categorias para os locais, são elas: arte e lazer, faculdade e educação, alimentação, café e outros lugares, vida noturna, residên- cias, parques e locais abertos, lojas e serviços e viagens e transportes. Consideramos todas estas categorias, como prova relevante para inferir a classe social de um usuário e, assim, exploramos a riqueza do bairro de todos os lugares visitados por ele em um determinado período de tempo. A riqueza de um bairro foi definida de acordo com a renda per capita dos mora- dores, dado obtido no censo de 2010 realizado pelo Instituto Brasileiro de Geografia e Estatística [IBGE, 2010]. De acordo com a frequência de visitas a diferentes bairros e sua respectiva riqueza, nós rotulamos os usuários em classes diferentes. Experimenta- mos cenários com duas, três e quatro divisões de classe social. Em seguida, explorarmos diferentes recursos textuais que podem distinguir os usuários em classes diferentes, in- cluindo hábitos de consumo, entretenimento, meios de transporte, entre outros. Estas características são, em uma terceira fase, usadas para gerar um modelo de classificação. Dependendo do número de classes, o classificador obtém taxas de precisão variando de 57,09% a 73,74%. 4.3.1 Base de dados Esta seção mostra como a base de dados com usuários rotulados de acordo com a classe social foi criada. Assim, são detalhadas duas fases do processo: (i) seleção de usuários e (ii) bairros de usuários rotulados. 4.3.1.1 Seleção de usuários Para construir a nossa base de dados foram selecionados usuários do Twitter, com três características principais: (i) brasileiros, (ii) com os tweets públicos, e (ii) pelo menos uma interação Foursquare em uma das 23 capitais brasileiras pré-selecionadas nos últimos 200 tweets. Usamos os 200 tweets mais recentes, pois é um limite que a API do Twitter nos permite coletar de forma simplificada. Interações Foursquare incluem check-ins (o usuário diz aos amigos que está em um determinado lugar), tips (mensagens com dicas e opiniões de usuários sobre um determinado lugar) e mayorships (título dado para o usuário mais frequente em um determinado local nos últimos 60 dias). Cada interação Foursquare tem uma localização associada (latitude e longitude), que pode ser mapeada em um lugar específico (por exemplo, o bairro de uma cidade). 4.3. Classe social 55 A interação do usuário em um determinado local é uma evidência de que o usuário visitou aquele lugar particular. Como a maioria dos usuários do Twitter não publicam mensagens do Foursquare em suas contas (nossa coleta de dados mostra que, considerando todo o território brasileiro, 30% dos usuários brasileiros postaram interações do Foursquare no Twitter), o rastreamento de dados via a API do Twitter, dadas todas as suas restrições, é lento. Por isso, foram utilizadas duas estratégias distintas: (i) o uso de um termo comum no idioma Português para coletar os tweets, de forma semelhante à abordagem seguida em Nguyen et al. [2013], (ii) a utilização de uma caixa delimitadora na API do Twitter, considerando as coordenadas das 23 cidades previamente definidas. O termo escolhido para orientar o processo de rastreamento foi coisa. De acordo com um documento publicado pela Academia Brasileira de Letras11, coisa é o substan- tivo mais frequente usado no Português Brasileiro. Observe que primeiro coletamos os tweets e deles encontramos os usuários para, então, recuperar seus últimos 200 tweets. Além dos tweets, para usuários com contas no Foursquare, também foram coletadas suas tips e mayorships. Check-ins só foram obtidos a partir de mensagens no Twitter, dadas as restrições de acesso por parte da API do Foursquare. Desta forma, foram coletados 426,001 usuários que utilizam o termo coisa de 8 setembro - 2 outubro de 2013, mas apenas 7,135 tinham interações Foursquare. Usando a caixa delimitadora, foram identificados 107,413 usuários, com apenas 8% tendo in- terações Foursquare. Como não houve uma superposição entre os usuários coletados com ambas as estratégias, o conjunto de dados final foi composto por 15,435 usuários. 4.3.1.2 Bairros de usuários rotulados Como mencionado anteriormente, assumimos que a riqueza dos bairros que um usuário visita é um bom indicador de sua classe social. Por isso, antes de rotular os usuários de acordo com uma classe social, devemos rotular os bairros visitados por eles. Para esse fim, foram selecionadas as 27 capitais do Brasil e seus bairros extraído do Censo Brasileiro de 2010, juntamente com a renda mensal média per capita de cada bairro [IBGE, 2010] ou sub-região. Esta informação não estava disponível para quatro cidades, que foram desconsideradas. Das 23 cidades consideradas, São Paulo é a mais populosa, com 12 milhões de habitantes e 96 bairros. A menos populosa é Boa Vista, com 300 mil pessoas e 55 bairros. A cidade com o menor número de bairros, 22, é Salvador. As cidades selecionadas estão distribuídas entre as cinco principais regiões do país. Após obter o rendimento médio mensal per capita de cada região queremos 11http://www.academia.org.br/ 56 Capítulo 4. Caracterização pessoal Tabela 4.12: FGV - Definição de classe social de acordo com o rendimento mensal familiar Classe Renda mensal A Acima de R$9.745,00 B R$7.475,00 a R$9.745,00 C R$1.734 a R$7.475,00 D R$1.085,00 a R$1.734,00 E Abaixo de R$1.085,00 associá-lo a uma classe social. Experimentamos três mapeamentos diferentes, com duas (alta/baixa), três (alta/média/baixa) e quatro classes sociais (alta/média-alta/média- baixa/baixa). Os limiares que distinguem diferentes classes foram definidos de acordo com a classificação fornecida pela FGV12. Encontramos também duas outras classifica- ções oficiais do governo, fornecidas pela Secretária Assuntos Estratégicos (SAE) e pela Associação Brasileira de Empresas e Pesquisas (ABEP), mas que são constantemente criticadas por não refletir a realidade. Este não é o caso com a divisão de classes da FGV, apresentados na Tabela 4.12. Os números mostrados na Tabela 4.12 referem-se a renda familiar, ao passo que os números extraídos do censo são per capita. Como também divulgado pelo IBGE as famílias brasileiras têm, em média, 3.2 membros [IBGE, 2010], convertemos esses números, terminando com as três divisões de classes sociais diferentes apresentadas na Tabela 4.13. Com base nestes limites, atribuímos uma classe para cada bairro das cidades selecionadas, seguindo as três estratégias de divisão de classes mostradas anteriormente. A partir dos 2,134 bairros considerados, verificou-se interações Foursquare em 1,415, o que corresponde a 66%. Durante o processamento marcação dos bairros com três classes, 287 destas regiões foram consideradas de classe baixa, 937 de médias e 181 de alta. Quando a divisão foi realizada considerando quatro classes, as regiões média-baixa e média-alta foram divididas em 711 e 236 localidades, respectivamente. Estes números mostram o fato de a classe média ser maior do que as outras duas. Ao usar apenas duas classes, 998 bairros foram considerados de classe baixa e 181 de classe alta. O processo de rotulação dos bairros foi análogo ao de rotulação de usuários. Para cada usuário, foram mapeadas cada uma de suas interação Foursquare para um bairro usando a API do Bing Maps13, que converte a latitude e longitude para in- 12Fundação Getúlio Vargas - http://portal.fgv.br/en 13http://www.microsoft.com/maps/ 4.3. Classe social 57 Tabela 4.13: Número de usuários do Twitter encontrado em cada classe 2 Classes Rendimento # Usuários Alta Acima R$1.438 9,578 Baixa Abaixo R$1.438 5,242 Total 14,820 3 Classes Rendimento # Usuários Alta Acima de R$ 2335,95 5,299 Média R$ 541,88 a R$ 2335,94 8,295 Baixa Abaixo de R$541,87 1,055 Total 14,649 4 Classes Rendimento # Usuários Alta Acima de R$ 2335,95 5,916 Média Alta R$ 1438,91 a R$ 2335,95 2,786 Média Baixa R$ 541,87 a R$ 1438,91 4,387 Baixa Abaixo de R$ 541,87 1,149 Total 14,238 formações como a cidade e o bairro. Se o local envolvido na interação está em um bairro classificado como classe alta, de acordo com dados da Tabela 4.13, a interação foi automaticamente considerada como classe alta. Isto foi feito para todos os lugares que aparecem em interações Foursquare. Observe que esse mapeamento é aproximado, pois poderíamos ter estabelecimentos de classe média em áreas de classe baixa ou alta e vice-versa. Para cada usuário, somou-se o número de lugares que ele visitou em cada uma das classes sociais consideradas, sendo a classe com o maior número de lugares visitados como o rótulo de usuário. Por exemplo, se um usuário tinha 10 interações Foursquare sendo 8 classificadas como classe média e outras 2 como classe alta, ele foi rotulado como classe média. A distribuição de classes obtida está disponível na Tabela 4.13. Observe que o número de usuários rotulados é menor do que o original (15,435). Para três classes, por exemplo, 14,649 usuários foram rotulados. Isso aconteceu porque 786 usuários foram classificados como indefinidos. É atribuída a classe indefinido para um usuário quando há um empate em seu número de visitas a lugares de diferentes classes, por exemplo, 5 interações em classe alta e 5 interações em bairros de classe média. Observe também que quando se utiliza duas classes há mais dados disponíveis sobre a classe alta do que para a classe baixa. Ao utilizar três ou quatro classes, por sua vez, a classe média 58 Capítulo 4. Caracterização pessoal Tabela 4.14: Número médio de interações Foursquare considerando a classe atribuída Classe atribuída Classe Alta Classe Média Classe Baixa Indefinida Interações Classe Alta 10 2 0 2 Classe Média 2 12 0 2 Classe Baixa 0 0 8 0 concentra a maioria dos usuários, seguido pela classe alta e baixa. 4.3.1.3 O processo de rotulação é eficaz? É difícil mensurar a eficácia do nosso processo de rotulação, uma vez que as verdadeiras classes sociais dos usuários são desconhecidas, ou seja, não existe um padrão ouro para rotulação. No entanto, ao analisar os usuários marcados com cada classe, encontramos evidências de que a nossa rotulação pode ser razoável. Começamos por mostrar, na Tabela 4.14, a mediana do número de interações por classe, quando consideramos três classes sociais. Assumimos, durante o processo de rotulação, que os usuários deveriam ir a lugares em regiões de renda similar. Isto é corroborado pelos dados da Tabela 4.14. Mesmo os usuários indefinidos, ou seja, aqueles que apresentaram igualdades no número de interações em lugares pertencentes a diferentes classes, têm sido sempre em lugares de classe mais próxima, por exemplo, alta e média, mas nunca alta e baixa. A média do número de interações é de 8, 10 e 12 para as classes baixa, média e alta, mas este número pode ser tão baixo quanto 1 ou tão alto como 518. Independentemente da classe social, o número médio de interações por usuário é de 29 e a mediana 13. Tabela 4.15: Média da distância máxima (km) entre quaisquer dois lugares visitados pelos usuários, considerando a classe atribuída Interação Baixa Média Alta Check-ins 74.4 160.9 219.8 Tips 375.5 552.6 1,001.5 Mayorships 163.7 254.8 591.4 Total 183.3 296.3 553.9 Outro dado interessante é apresentado na Tabela 4.15. Para cada usuário, cal- culamos a distância máxima entre quaisquer dois lugares visitados por ele e relatamos as médias de acordo com diferentes tipos de interações Foursquare. Como observado, as distâncias máximas podem ser classificadas como mais baixas para classe baixa e 4.3. Classe social 59 mais altas para a classe alta. Ou seja, os usuários da classe baixa caminham distân- cias menores do que os das classes mais altas. Esses números podem refletir viagens, por exemplo, que mostram que as pessoas de classe alta são mais propensas a viajar. Em relação ao número de mayorships, um comportamento semelhante é observado. Lembre-se que um usuário recebe uma mayorship se ele tem o maior número de check- ins em um local nos últimos 60 dias. Embora os prazos não sejam considerados na abordagem atual, mayorships em lugares mais distantes podem sugerir que pessoas de classe alta viajam mais do que das classes média ou classe baixa. Uma das limitações da abordagem de rotulação proposta é que o usuário deve ter contas tanto do Foursquare quanto no Twitter. Se em vez de interações Fours- quare tivéssemos rotulado usuários de acordo com as coordenadas GPS associado a todos os seus tweets disponíveis e atribuído uma classe pela riqueza do bairro mais frequentemente visitado, o resultado seria diferente? Para responder a essa questão, mapeamos as coordenadas de todos os tweets de todos os usuários para os bairros, de forma similar ao que fizemos para as interações Foursquare. Note que os check-ins estão presentes nos tweets e, portanto, eles são um subconjunto desse novo conjunto de evidências. Dos 15,435 usuários na base de dados, 11,903 teriam o mesmo rótulo quando classificados com interações Foursquare ou com as coordenadas dos tweets, e 3,532 não. Isso representa a concordância de 77%, contando com os usuários indefinidos. Se excluirmos os usuários indefinidos da base de dados, a concordância sobe de 77% para 91,05%. Isto significa que a rotulação com coordenadas tweets diminui o número de usuários indefinidos. Como explicado anteriormente, não existem provas capazes de demonstrar que uma abordagem é melhor sobre a outra ou de explicar por que usar os tweets diminui desacordo. Uma hipótese é que, em geral, teríamos mais evidências com os tweets que é geralmente maior do que o número de interações Foursquare (em média, temos 194 tweets por usuário e 29 interações Foursquare). Além disso experimentação com este segundo processo de etiquetagem é deixado para trabalho futuro. 4.3.2 Características textuais Tendo uma base de dados com usuários rotulados queremos identificar características capazes de distinguir pessoas de diferentes classes sociais, um passo para a construção de um método automático de inferência de classe social. Uma fonte potencial de evidência é o texto que os usuários escrevem. É bem conhecido que o texto pode distinguir pessoas de diferentes sexo, idades ou regiões [Nguyen et al., 2013], mas não temos conhecimento de qualquer estudo prévio sobre classes sociais. 60 Capítulo 4. Caracterização pessoal (a) Baixa (b) Média (c) Alta Figura 4.8: Termos discriminativos para três classes sociais Para isso, analisamos o texto dos 200 tweets mais recentes de cada usuário. Co- meçamos por realizar alguns pré-processamentos simples no texto, como a remoção de termos stop words e todos os outros com frequência menor ou igual a 5. Todos os experimentos foram realizados considerando unigramas. Assim, consideramos apenas a presença ou ausência de um termo no conjunto de tweets postados por um usuário e utilizamos a estatística de Ganho de Informação [Witten & Frank, 2005] para clas- sificar esses termos de acordo com seu poder de discriminar os usuários em diferentes classes sociais. Todos os termos com ganho de informação igual a 0 foram removidos a partir do conjunto de dados. Após este processo, obtivemos 21,961, 11,826 e 9,362 termos para as divisões em duas, três e quatro classes, respectivamente. Observe que o maior número de termos para a divisão com menos classes é devido ao maior número de usuários e, consequentemente, de tweets (ver Tabela 4.13). Ao classificar os termos de acordo com o Ganho de Informação para todas as três divisões de classe, observou-se um fato interessante. O termo melhor classificado foi a palavra egua, que é uma expressão regional comumente usado no norte e nordeste do Brasil. Descendo a lista de termos, observamos que muitos dos top-termos também foram compostos por expressões regionais. As nuvens de tags, ilustradas na Figura 4.8, mostram os termos mais representativos quando considerada uma divisão em três clas- ses. Dado o ranking obtido pelo Ganho de Informação R e a base de dados dos usuários D, descrito pela presença ou ausência de termos, foram associados os termos em R com a classe mais frequente em D. Os 20 termos mais relevantes classificados de acordo com este processo são listados nas nuvens de tags. Na Figura 4.8 observamos nomes de cidades e lugares do norte do país, como paraense (pessoa nascida no Pará), Belém (capital do estado do Pará), Amazônia e égua, a expressão regional. O vocabulário da classe média (Figura 4.8 (b)) traz face, abreviação para o Facebook. Para a classe alta (Figura 4.8(c)), há uma forte presença 4.3. Classe social 61 Figura 4.9: Distribuição do Produto Interno Bruto brasileiro (PIB) per capita em diferentes regiões do país de hahaha e novamente o nome de cidades do sul e sudeste, como Curitiba, São Paulo (sp) e Rio de Janeiro (rj). Do ponto de vista econômico, os estados do sul e sudeste do Brasil são conhe- cidos por serem mais ricos do que os do Norte e Nordeste. Estas diferenças regionais de renda fazem o regionalismo muito relevante ao distinguir as classes. Assim, anali- samos a distribuição das classes sociais dos usuários para cada região separadamente. Mostramos uma análise em profundidade da relação entre as regiões e classes sociais, considerando o conjunto de dados com três classes, um comportamento semelhante é encontrado para duas e quatro classes. A Tabela 4.16 apresenta a distribuição de classe na base de dados por região, em que a linha denominada “Diverso” corresponde aos usuários que tiveram intera- ções Foursquare em locais de diferentes regiões, mas sempre na mesma classe social. Comparando a distribuição de classe em diferentes regiões com a distribuição global do conjunto de dados (linha rotulada como total), observa-se que o número de usuários nas classes baixa e média no norte são muito próximos (573 e 635, respectivamente), fato que não acontece em nenhuma outra região. Cerca de metade dos usuários de classe baixa em nosso conjunto de dados são do norte do Brasil, e junto com os usuários do nordeste, correspondem a 85% das pessoas de baixa classe na base de dados. Em con- trapartida, no sudeste, o número de pessoas nas classes média e alta é muito similar, acima de 2,000, enquanto que apenas 36 usuários foram classificados como classe baixa. O que alguns poderiam ver como um viés no processo de coleta, na verdade, reflete muito bem a realidade do país, onde pessoas do sudeste têm uma renda muito 62 Capítulo 4. Caracterização pessoal Correlação de Pearson − Classes Baixa Média Alta Baixa Média Alta 0 0.2 0.4 0.6 0.8 1 C o e f i c i e n t e d e c o r r e l a ç ã o Figura 4.10: Correlação de Pearson do vocabulário das classes utilizando 100 termos maior do que as do norte e nordeste. A Figura 4.9 mostra a distribuição do Produto Interno Bruto (PIB) do Brasil em todas as regiões. Quanto mais escura a região mais rica ela é. Observe que o norte e nordeste são em sua maioria de cor clara, enquanto o sul, sudeste e centro-oeste têm a maioria das regiões mais escuras, com a riqueza do centro-oeste vindo principalmente de atividades rurais. Tabela 4.16: Distribuição dos usuários em classes sociais conforme sua região Classe Região Baixa Média Alta Total Norte 573 635 45 1,253 Nordeste 322 2,293 511 3,126 Centro-oeste 1 280 184 465 Sul 25 1,269 854 2,148 Sudeste 36 2,373 2,254 4,663 Diverso 98 1,445 1,451 2,994 Total 1,055 8,295 5,299 14,649 Voltando aos vocabulários, calculamos a correlação de Pearson para os 100 prin- cipais termos obtidos pelo Ganho de Informação, como descrito para as nuvens de tags. A Figura 4.10 mostra a correlação entre os vocabulários, onde regiões mais escuras representam correlações mais baixas. Observe que há uma forte correlação entre os vocabulários das classes média e alta e, como desejado, a classe mais baixa tem fraca correlação com a classe alta. Até agora, exploramos e identificamos termos relevantes e discriminativos em 4.3. Classe social 63 mensagens postadas pelos usuários. Desta forma, com base no conhecimento dos so- ciólogos e do que eles dizem serem bons indícios para distinguir classes sociais, definimos quatro conjuntos de indicadores, são eles: (i) lazer, (ii) consumo, (iii) educação, e (iv) transporte. Para cada um desses indicadores, um conjunto de termos foi manualmente definido, conforme listado abaixo:  Lazer (73 termos): lazer, passeio, cinema, filme, clube, praia, rio, sitio, cachoeira, museu, estadio, arena, boate, beile, danca, dancar, balada, teatro, show, shows, bar, barzinho, boteco, pub, musical, viagem, viajar, viajei, turismo, zoologico, parque, shopping, trilha, piscina, churrasco, esporte, jogo, jogar, aeroclube, hi- pismo, esgrima, golfe, tenis, futebol, volei, basquete, mma, ufc, natacao, nadar, judo, lutar, ciclismo, pedalar, bale, ballet, caminhada, corrida, treino, treinar, time, boliche, novela, jornal, revista, livro, literatura, serie, seriado, desenho, fotografia, jardinagem e arte.  Consumo (116 termos): roupa, vuitton, cartier, chopard, tiffany, pucci, chloe, diesel, colcci, daslu, lacoste, cea, riachuelo, renner, pernambucanas, chanel, polo, jaguar, bmw, mercedes, audi, porsche, toyota, kia, fiat, vw, volkswagen, hyun- dai, chevrolet, ford, honda, kawasaki, ducati, kasinski, suzuki, yamaha, sephora, avon, natura, jequiti, boticario, maquiagem, perfume, cosmetico, creme, locao, bronzeador, shampoo, xampu, condicionador, hidratante, esmalte, esfoliante, es- tetica, cabeleireiro, esteticista, academia, massagem, lingerie, paisagismo, celu- lar, notebook, tablet, tv, televisao, gps, mp3, iphone, ipad, adega, convenio, casa, apartamento, condominio, favela, comunidade, morro, mansao, cobertura, apart, barracao, hotel, kichenette, loft, predio, aluguel, sushi, salmon, caviar, lagosta, escargot, pizza, lasanha, estrogonofe, sanduiche, vinho, cerveja, cachaca, refrigerante, espumante, champagne, whisky, vodka, rodizio, churrascaria, pizza- ria, soverteria, hamburgueria, lanchonete, restaurante, buffet, bistro, steakhouse, panificadora, padaria e supermercado.  Educação (14 termos): prova, materia, disciplina, enem, vestibular, intercambio, escola, estudei, faculdade, universidade, estudar, concurso, fies e educacional.  Transporte: (14 termos): carro, moto, aviao, helicoptero, trem, metro, onibus, brt, taxi, lotacao, aeroporto, bicicleta, transito e gasolina. As categorias lazer e consumo podem, no futuro, ser divididas em outras sub- categorias, como música, esporte, etc, mas, neste momento, consideramos conforme descrito. Dos 14,649 usuários utilizados para classificação em 3 classes, 99.9% têm pelo 64 Capítulo 4. Caracterização pessoal Tabela 4.17: Principais termos para lazer e consumo conforme medida de Ganho de Informação Lazer Consumo time steakhouse rio hotel bar convenio pub panificadora balada supermercado praia bistro teatro ipad tenis iphone museu sushi show cerveja estadio restaurante menos uma menção das palavras que definem a categoria lazer, 88% para consumo, 65% para educação e 70% para transporte. Assim, podemos concluir que as pessoas falam sobre assuntos relacionados com a classe social. A próxima pergunta é se esses termos podem discriminar classes. Assim, foi cal- culado o Ganho de Informação para cada uma das categorias criadas manualmente. Mostramos os resultados obtidos pelas duas categorias mais promissoras: lazer e con- sumo. Os termos obtidos no topo do ranking são listados na Tabela 4.17. Para con- sumo, apenas 20% das palavras tinham valores de ganho de informação maior que 0. Para o lazer, este número aumentou para 50%. Na sociedade brasileira palavras como bistrô e sushi estão normalmente relacionados com a classe alta. Já futebol, bar e cer- veja podem ser consideradas universais, mas mesmo assim eles foram indicados como tendo um alto poder de discriminação. 4.3.3 Classificação Depois de analisar os recursos textuais que podem distinguir os usuários de diferentes classes, esta seção utiliza esses recursos para criar modelos de classificação capazes de discriminar os usuários de diferentes classes. Os experimentos foram realizados considerando os usuários divididos em 2, 3 e 4 classes, conforme o número de usuários descritos na Tabela 4.13. Diferentes combinações dos recursos foram utilizadas para descrever os dados, incluindo atributos textuais (21,961, 11,826 e 9,362 termos para as classes 2, 3 e 4), categorias textuais isoladas (lazer, consumo, educação e transporte - veja a seção anterior para mais detalhes) e a possível combinação entre as categorias. Os parâmetros para o SVM foram otimizados usando o ferramenta easy, que 4.3. Classe social 65 Tabela 4.18: Resultados obtidos para 2, 3 e 4 classes sociais, utilizando os atributos textuais na base de dados balanceada e original Base de dados original 2 Classes 3 Classes 4 Classes f1 Acurácia (%) f1 Acurácia (%) f1 Acurácia (%) Naive Bayes Multinomial 0.74 73.74 0.69 68.88 0.57 57.09 SVM 0.75 76.18 0.69 69.48 0.51 57.26 Random Forest 0.65 65.65 0.54 56.41 0.43 45.11 Base de dados balanceada Naive Bayes Multinomial 0.76 76.11 0.73 73.08 0.59 58.59 SVM 0.73 73.40 0.71 70.93 0.53 53.48 Random Forest 0.60 61.17 0.53 53.49 0.39 39.52 Tabela 4.19: Resultados para a classificação de classe social usando NBM em duas regiões 2 Classes 3 Classes 4 Classes f1 Acurácia (%) f1 Acurácia (%) f1 Acurácia (%) Nordeste Original 0.82 82.36 0.73 72.62 0.60 60.11Balanceada 0.82 82.50 0.73 72.88 0.59 59.61 Sudeste Original 0.81 80.10 0.89 89.74 0.69 69.81Balanceada 0.87 87.55 0.93 93.52 0.81 80.92 realiza uma pesquisa de grade na escolha dos valores. Os valores encontrados para c e foram de 2.0 e 0.000488. Todos os experimentos foram realizados utilizando um procedimento de validação cruzada de cinco partições. Como a classe baixa tem muito menos exemplos do que as demais os resultados dos experimentos são sempre relatados de duas formas, sendo a primeira com a base de dados original e a segunda com uma versão balanceada, gerada de acordo com o número de exemplos na classe mais baixa. Os primeiros resultados, utilizando todos os atributos textuais (após o pré- processamento descrito na seção anterior) para descrever os usuários, com precisão e f1 (média harmônica de precisão e recuperação) são apresentados na Tabela 4.18. Tal como esperado, quanto mais baixo o número de classes, melhor o desempenho da classificação. Com duas classes, obtemos um f1 de 0.75. Este valor diminui para 0.69 quando três classes são consideradas e 0.57 para quatro classes. Observe que entre os classificadores NBM e SVM a diferença de resultados nas bases de dados original e balanceada não é significativa, sendo NBM com três classes uma exceção. Para ambas as versões da base de dados, não há nenhuma significância estatís- tica nos valores de f1 obtidos por NBM e SVM e, em todos os casos, os resultados do 66 Capítulo 4. Caracterização pessoal Random Forest são estatisticamente piores do que os de NBM e SVM. Como os resul- tados de eficácia são comparáveis e o NBM é mais eficiente, os seguintes experimentos relatados nesta dissertação usam apenas o NBM para gerar os modelos de classificação. Ao analisar os dados dos textos para distinguir as classe sociais nós observamos uma alta influência de termos regionais na classificação. Como as regiões geográficas do Brasil tem muitas outras diferenças, além de renda, foi realizado um experimento que dividiu o conjunto de dados original em partes menores, cada uma delas contendo os usuários de uma região específica. Isso resultou em conjuntos de dados muito desequi- librado. Relatamos os resultados para duas regiões que tiveram amostras suficientes: Nordeste e Sudeste. Os resultados são apresentados na Tabela 4.19. Observe que, nesta abordagem, os resultados de f1 para o nordeste são 0.82, 0.73 e 0.6 para 2, 3 e 4 classes em cenários desbalanceados, o que é muito semelhante aos resultados obtidos no cenário balanceado. Para o sudeste os resultados de precisão e f1 são surpreendentemente altos. Ao classificar os usuários em três classes obteve-se os melhores valores de f1 (0.89), em seguida, ao usar duas classes (0.81). Utilizando quatro classes os valores diminuem, com um f1 de 0.69. Considerando três divisões de classes, o conjunto de dados balanceado obtém valores muito elevados de f1, atingindo 0.93. A distribuição de classe para a região sudeste pode ser encontrada na Tabela 4.16. Como a região tem apenas 36 usuários na classe baixa, a base de dados balanceada com 124 usuários tornou mais fácil a tarefa para o classificador. Em um segundo conjunto de experimentos, foram utilizadas as categorias previa- mente definidas de termos para classificar os usuários, como mostrado na Tabela 4.20. Inicialmente, cada categoria foi utilizada isoladamente e, em seguida, combinadas em um único conjunto de dados (L + C + E + T). Observe que estes conjuntos de dados tem um número muito menor de atributos. Lazer é definido por 73 termos, Consumo por 116 e Educação e Transporte por 14 cada. Assim, L + C + E + T tem 217 atribu- tos. A base de dados com menor dimensionalidade, ao utilizar todos os atributos, foi obtida na divisão de quatro classes, com 9,362 termos. Assim, a maior base de dados nos experimentos com categorias de texto utiliza 2% dos atributos da base de dados original. Observando os resultados com dois valores de classes sociais, obtivemos f1 de 0.65, enquanto o f1 obtido com todos os atributos foi de 0.74. Perdemos 0.1 em f1, mas reduziu o conjunto de dados em 98%. Note que, quando isoladas, as categorias de consumo e lazer são as mais promissoras. Movendo para as divisões de três e quatro classe, o f1 diminui de 0.69 e 0.57 quando se utiliza todos os termos a 0.55 e 0.41, respectivamente, quando se utiliza o conjunto combinado de categorias pré-definidas. 4.3. Classe social 67 Tabela 4.20: Resultados obtidos para 2, 3 e 4 classes sociais utilizando diferentes atributos Base de dados original 2 Classes 3 Classes 4 Classes f1 Acurácia (%) f1 Acurácia (%) f1 Acurácia (%) Todos 0.74 73.74 0.69 68.88 0.57 57.09 Lazer 0.54 64.63 0.49 53.28 0.33 42.03 Consumo 0.59 65.33 0.51 54.54 0.36 43.69 Educação 0.51 64.6 0.40 49.81 0.25 41.52 Transporte 0.51 64.61 0.47 52.6 0.28 41.41 L+C+E+T 0.65 66.1 0.55 57.3 0.41 45.85 Base de dados balanceada Todos 0.76 76.11 0.73 73.08 0.59 58.59 Lazer 0.56 56.36 0.43 43.73 0.32 32.74 Consumo 0.57 57.55 0.47 47.68 0.31 32.84 Educação 0.49 51.35 0.39 41.57 0.26 29.80 Transporte 0.54 55.52 0.39 40.82 0.28 31.13 L+C+E+T 0.62 61.79 0.53 52.64 0.37 38.17 São também apresentados os resultados para uma versão balanceada do conjunto de dados, mas eles são estatisticamente piores do que aqueles obtidos com os conjuntos de dados originais. Estes resultados mostram que a definição de categorias de acordo com os hábitos dos usuários de forma bem estudada é muito útil para discriminar as classes sociais, mesmo no ambiente online. Novos conjuntos de palavras cuidadosamente criadas po- dem melhorar os resultados obtidos até agora, ou pelo menos reduzir drasticamente o número de termos usados na primeira tentativa de caracterizar a classe social apresen- tada neste trabalho. Capítulo 5 Avaliação do arcabouço A última etapa do arcabouço proposto consiste na formação de amostras a partir do conjunto total de dados coletados, considerando as características pessoais e compor- tamentais dos usuários, aliado a caracterização do sentimento expresso nas mensagens. Para validarmos nossos resultados, iremos avaliar estatisticamente as amostras obtidas e comparar os acertos encontrados diante dos resultados reais e de métodos tradicionalmente utilizados em pesquisas de opinião, como enquetes publicadas por grandes sítios da Web e resultados divulgados por institutos de pesquisas renomados. A contabilidade dos votos atribuídos a cada entidade analisada (candidato ou participante do programa) será computada conforme as equações 5.1, para votos de eliminação, e 5.2, para votos de aprovação. Observe que em ambos os cenários levamos em consideração tanto votos positivos quanto os negativos, mas dependendo do objetivo um deles é distribuído igualmente entre as demais entidades não citadas. Por exemplo, se estamos diante de um cenário de eleição política e um usuário falou mal de apenas um candidato durante o período analisado seu voto é distribuído igualmente entre os candidatos não citados. Esta estratégia foi utilizada para aumentar a quantidade de votos computados e, consequentemente, permitir a formação de mais amostas. V otos candidatoi = negativoi + PN j=1;i6=j( positivoj N1 )PN j=1 positivoj + PN j=1 negativoj (5.1) V otos candidatoi = positivoi + PN j=1;i 6=j( negativoj N1 )PN j=1 positivoj + PN j=1 negativoj (5.2) Além disso, o conjunto de votos será dado pela média obtida após a formação de 100 amostras no conjunto de usuários válidos encontrados em cada contexto. Cada amostra será composta pelo maior número de usuários possíveis, conforme Tabela 3.9, 69 70 Capítulo 5. Avaliação do arcabouço até uma margem de erro máxima de 15 pontos percentuais. Apesar do limite da margem de erro ser grande, se comparada às obtidas pelos institutos tradicionais de pesquisa (normalmente entre 2 e 4 pontos percentuais), é um valor necessário para obtenção de amostras em cenários onde caracterizamos os usuários em um maior nível de detalhes. Os resultados serão comparados pelo acerto do candidato vencedor (p@1) e, no caso das eleições, também para o acerto dos dois primeiros colocados, que disputarão o segundo turno. Serão apresentados resultados considerando dois tipos de contabilização de votos: “menção” dos usuários, onde serão permitidos votos múltiplos oriundos de um único indivíduo e “usuários únicos”, em que será computado apenas um voto para cada usuá- rio, que se refere a apenas um candidato durante o período analisado. Um usuário é equivalente a uma conta/perfil no Twitter. A subdivisão de usuários em cada amostra, conforme caracterização pessoal, será feita considerando as dimensões analisadas como eventos independentes. Portanto, ela será dada pela interseção dos conjuntos, com a multiplicação das probabilidades de ocorrência de cada grupo. Por exemplo, se queremos uma amostra formada por 60% masculina e 10% com idade entre 20 e 30 anos resultará em 6% de usuários masculinos com idade entre 20 e 30 anos. Especificidades sobre cada contexto avaliado e os resultados obtidos são mostradas nas subseções a seguir, que considerarão dois eventos: BBB 13 e Eleições 2012. 5.1 Big Brother Brasil (BBB) O Big Brother Brasil (BBB) é um reality show apresentado na televisão brasileira. Neste programa, os participantes são confinados em uma casa, sem contato com o mundo externo, e submetidos a votações públicas que determinam sua eliminação, denominados “paredões”, ou a vitória no jogo, na etapa final. Os meios para votações disponibilizados para os telespectadores do programa são ligações telefônicas, mensagens de texto curtas do tipo SMS (Short Message Service) e o sítio oficial do programa1. Não existe a premissa de voto único, ou seja, é permitido que uma mesma pessoa emita sua opinião inúmeras vezes. Desta forma, os votos para “paredões” serão computados conforme a equação 5.1 e para a final conforme a equação 5.2. Não haverá distinção do tipo da etapa de votação na apresentação dos resultados, ou seja, o número de acertos e erros será a acumulada obtida durante as duas etapas do programa. 1http://www.globo.com/bbb 5.1. Big Brother Brasil (BBB) 71 Para avaliarmos o potencial de previsão dos tweets foram coletadas 16,537,070 mensagens, publicadas por 2,909,861 usuários distintos, entre os dias 28 de dezembro de 2012 e 12 de junho de 2013. Dentre os usuários identificados no período considerado, em média cada um postou 5.68 tweets sobre o assunto, com uma mediana igual a 1. O usuário mais frequente postou 11,548 mensagens e o menos frequente 1. O perfil dos telespectadores do programa, utilizados para formação de amostra nas etapas de caracterização pessoal de sexo, idade e classe social, foram obtidos em reportagem publicada pelo jornal Folha de São Paulo2 e ilusta que:  Sexo: feminino (61%) e masculino (39%);  Idade: 4 a 11 anos (8%), 12 a 17 anos (10%), 18 a 24 anos (12%), 25 a 34 anos (19%), 35 a 49 anos (24%) e maior de 50 (27%).  Classe social: classes DE (12%), classe C (53%) e classes AB (35%). Em nosso trabalho, utilizaremos três divisões de classe: DE como baixa, C como média e AB como alta. As subdivisões nas faixas etárias também considerarão três faixas: menor que 25 anos, 25 a 49 anos e acima de 49 anos. Restringimos a caracterização dos usuários a somente aqueles identificados no período de cada votação. Assim, foi possível coletar os últimos 200 tweets de 530,953 contas. Após os processos de caracterização encontramos o seguinte perfil para os usuários que postaram mensagens sobre o BBB:  Sexo: feminino (63.42%) e masculino (36.58%);  Idade: até 25 (84.60%), 25 a 45 (13.43%) e maior de 45 (1.96%).  Classe social: baixa (6.08%), média (73.70%) e alta (20.22%). A distribuição de sexo encontrada foi bem próxima do perfil dos telespectado- res. No entanto, características como a faixa etária e a classe social dos indivíduos foram bem diferentes, refletindo uma característica normalmente encontrada no Twit- ter de usuários mais jovens e com classe social concentrada entre média e alta, como já observado nas seções 4.2 e 4.3. 2http://www1.folha.uol.com.br/fsp/ilustrada/140076-bbb-tem-plateia-feminina-mais-velha-e-da- classe-c.shtml 72 Capítulo 5. Avaliação do arcabouço Tabela 5.1: Resultados BBB - p@1 (Sen: análise de sentimento; SJ: remoção de usuários spammers e jornalísticos; Sex: sexo; ID: idade; CS: classe social) Característica Acerto / Votações com amostras Conjunto completo de mensagens Sen SJ Sex ID CS Menção Usuário Único 5/14 - X 9/14 - Amostras 5/14 4/14 X 4/14 4/14 X 9/14 9/14 X 5/14 4/14 X 4/14 3/14 X 4/14 4/14 X X 9/14 10/14 X X 4/14 4/14 X X 4/14 3/14 X X 4/14 4/14 X X 9/14 11/14 X X 9/14 10/14 X X 11/14 11/14 X X 4/14 3/14 X X 4/14 4/14 X X 1/4 0/2 X X X 9/14 10/14 X X X 9/14 10/14 X X X 11/14 11/14 X X X 10/14 10/14 X X X 9/14 10/14 X X X 1/4 0/1 X X X 4/14 3/14 X X X 4/14 4/14 X X X 1/4 0/2 X X X 2/3 1/1 X X X X 9/14 11/14 X X X X 9/14 10/14 X X X X 2/2 1/1 X X X X 1/3 0/1 X X X X 1/2 1/1 X X X X X 1/1 1/1 Institutos Tradicionais Enquete UOL 10/14 - 5.1. Big Brother Brasil (BBB) 73 Os resultados são apresentados na Tabela 5.1, para 64 cenários divididos em 32 onde a menção é avaliada e 32 para quando utilizamos a estratégia de identificar usuários únicos. O período de análise de cada votação, seja ela paredão ou final, foi delimitado pelos dias em que a votação estava aberta para os telespectadores, normal- mente 2 dias. Como ponto de comparação serão utilizados os resultados de enquetes realizadas pelo portal Uol3, também mostrados na Tabela 5.1. Podemos observar que nesses resultados houve uma taxa de acerto de aproximadamente 71%. Os erros obtidos nestas enquetes, em comparação com o resultado real, aconteceram nos “paredões” 2, 4, 6, 8 do programa e, entre eles, três foram motivados por empates entre os candidatos com maior quantidade de votos da pesquisa e o outro por prever a eliminação da candidata Kamilla, o que acabou não acontecendo. Como podemos observar, os melhores resultados encontrados, 11 acertos, foram superiores ao obtido pela enquete do UOL, 10 acertos, e consideravelmente melhor que a análise de menção simples, 5 acertos. Os três erros cometidos, normalmente, ocorreram na quinta, sexta e oitava votações, em que os métodos previram a eliminação dos candidatos Elieser ou Kamilla, o que acabou não acontecendo. De forma geral, observamos que estes dois candidatos mantiveram durante todo o programa um alto nível de rejeição, o que pode ter causado nosso erro. Dentre as etapas realizadas a análise de sentimentos foi aquela capaz de melhorar mais significativamente os resultados. Porém, uma melhoria na técnica, de forma a identificar com maior confiança mensagens negativas, poderá proporcionar melhores resultados ao arcabouço. A abordagem de identificar usuários únicos foi relevante principalmente nos casos em que a análise de sentimento aliada a pelo menos mais uma caracterização estava presente no método, o que foi capaz de proporcionar um acerto de até 2 votações a mais. Considerando somente os cenários onde menção e usuários únicos conseguiram formar as mesmas quantidades de amostras verificamos que o seguinte padrão no mé- todo vencedor: nenhuma caracterização (menção 1/usuários únicos 0), uma caracteri- zação (menção 2/usuários únicos 0), duas caracterizacoes (menção 2/usuários únicos 3), três caracterizações (menção 1/usuários únicos 3), quatro caracterizações (menção 0/usuários únicos 4). Com isso, podemos concluir que, o processo de caracterização dos usuários não influência a acurácia do método de menção, mas é determinante para proporcionar bons resultados quando avaliamos usuários únicos, fazendo com que esta 3http://www.uol.com.br/ 74 Capítulo 5. Avaliação do arcabouço técnica se sobressaia da concorrente. Não foi possível formar amostras com margem de erro máxima de 15 pontos em diversas votações, dificuldade que aumentou a cada novo nível de caracterização inserido no método. Assim, apesar da proporção de acerto ser maior quando usamos todas as caracterizações, 100%, não podemos afirmar que ela foi realmente decisiva no processo. A combinação de características no método que mais atrapalhou a formação de amostras foi classe social aliada a idade dos indivíduos. Observando as distribuições encontradas no perfil real dos telespectadores em comparação ao perfil dos usuários co- letados no Twitter já poderiamos prever esta dificuldade, por exemplo, nossas amostras deveriam ser formadas por 70% de usuários acima de 25 anos enquanto a distribuição na distribuição encontrada havia aproximadamente 15%. 5.2 Eleições Municipais 2012 Nesta etapa, as eleições municipais ocorridas no ano de 2012 foram avaliadas de acordo com a intenção de votos dos eleitores. Para avaliarmos o potencial de previsão do Twit- ter foram coletados 1,295,418 tweets, publicadas por 222,412 usuários distintos, entre os dias 18 de julho de 2012 e 17 de outubro de 2012. Dentre os usuários identificados no período considerado, em média cada um postou 5.8 tweets sobre o assunto, com uma mediana de 1. O usuário mais frequente postou 5,072 mensagens e o menos frequente 1. Assim, foram escolhidas 6 capitais de estado para serem analisadas, com base no total de tweets coletados durante o período de análise e na importância econômica das regiões, são elas: Belo Horizonte (MG), Curitiba (PR), Porto Alegre (RS), Rio de Janeiro (RJ), Salvador (BA) e São Paulo (SP). A partir deste momento representaremos os nomes das cidades pelas siglas de seus respectivos estados. Nossa análise irá focar na previsão do resultado para o acerto do primeiro lugar (p@1), vencedor das eleições, e para os dois primeiros lugares, candidatos que disputam o segundo turno. Como conhecido, os votos eleitorais para prefeitos são computados unicamente, ou seja, só é permitido que um eleitor escolha um candidato. O perfil dos eleitores, mostrado na Tabela 5.2, utilizados para formação de nossa amostras, foram obtidos diretamente do sítio do Tribunal Superior Eleitoral (TSE4), para o sexo e a idade, e de publicações da Fundação Getúlio Vargas (FGV5), para a classe social. Neste trabalho, os valores desconhecidos para o sexo serão distribuídos igualmente entre masculino e 4http://www.tse.jus.br/ 5http://portal.fgv.br/ 5.2. Eleições Municipais 2012 75 feminino, as faixas etárias serão novamente agrupadas em três: menor de 25, 25 a 44 e maior de 45 e a classe social em baixa (DE), média (C) e alta (AB). Tabela 5.2: Perfil do eleitorado em 2012 Característica MG PR RS RJ BA SP Sexo (%) Masc. 46.034 45.826 45.375 45.327 45.724 46.169 Fem. 53.891 54.174 54.625 54.531 54.2 53.626 Desconhecido 0.075 0 0 0.14 0.076 0.205 Idade (%) 16 0.223 0.219 0.210 0.152 0.250 0.248 17 0.479 0.745 0.435 0.400 0.637 0.579 18 a 20 5.113 5.815 4.497 4.792 5.386 5.293 21 a 24 8.081 8.715 7.498 7.391 8.299 8.196 25 a 34 23.263 23.333 21.502 20.359 26.822 23.095 35 a 44 19.687 20.754 17.855 18.231 20.979 20.286 45 a 59 25.070 26.557 26.419 25.939 23.526 24.887 60 a 69 9.562 9.891 11.386 11.047 7.861 9.357 70 a 79 5.276 3.286 6.323 6.425 3.761 4.890 Maior de 79 3.246 0.685 3.875 5.265 2.480 3.16 Classe (%) E 14.27 3.64 14.41 19.09 21.99 13.41 D 12.23 9.6 9.91 11.87 14.05 10.3 C 52.54 58.2 49 48.84 48.29 54.63 AB 20.97 28.56 26.68 20.2 15.67 21.66 O período de análise das votações foi considerado como a semana que antecedeu o pleito, ou seja, entre os dias 30 de setembro de 2012 e 6 de outubro de 2012, mas para evitar possíveis flutuações anormais causadas, por exemplo, por repercussão dos últimos debates eleitorais, consideramos as últimas 10 semanas com peso linearmente crescente para os votos computados, ou seja, a semana 1 com peso 1, a semana 2 com peso 2, sucessivamente. Antes de definirmos este período de uma semana avaliamos diversos outros cená- rios, dentre eles: 1 ou 2 dias, onde pouquíssimas amostras foram formadas, e o período completo de coleta, onde acontecimentos momentâneos como, por exemplo, debates eleitorais, interferiam significativamente nos resultados alcançados. Após coletarmos os últimos tweets dos usuários que postaram mensagens para as cidades avaliadas, realizamos os processos de caracterização discutidos anteriormente. O perfil dos usuários que postaram mensagens sobre cada cidade é mostrado na Ta- bela 5.3. As características identificadas foram bem diferentes das encontradas para a base do BBB, com uma participação significativamente maior de homens, pessoas mais velhas e de classes sociais mais elevadas. Comparando com o perfil real dos eleitores 76 Capítulo 5. Avaliação do arcabouço também observamos grandes diferenças, principalmente no sexo e classe social dos indivíduos. Tabela 5.3: Perfil dos usuários do Twitter - Eleições 2012 Característica MG PR RS RJ BA SP Sexo (%) Masc. 75,31 73,57 75,90 69,08 77,61 74,58Fem. 24,69 26,42 24,10 30,92 22,39 25,41 Idade (%) Até 25 28,19 42,37 27,77 48,80 16,50 35,28 25 a 45 29,23 30,08 40,87 31,96 36,90 41,21 Maior de 45 42,58 27,54 31,36 19,23 46,60 23,50 Classe (%) Baixa 2,03 2,24 2,43 2,58 11,62 3,02 Média 25,31 35,39 32,79 40,94 18,31 27,73 Alta 72,66 62,36 64,78 56,48 70,07 69,24 Os resultados obtidos são apresentados na Tabela 5.4, para a avaliação do ven- cedor, e na Tabela 5.5, quando a intenção é descobrir os dois participantes que irão concorrer no segundo turno. Para cada avaliação foram criados 64 cenários, divididos em 32 onde analisamos menções e 32 para análise de usuários únicos. Quadrados de cor verde representam acertos, pretos a não formação de amostra e, consequentemente, brancos os erros. Como ponto de comparação serão utilizados resultados de pesquisas de opinião realizadas pelos renomados institutos: Instituto Brasileiro de Opinião e Estatística (IBOPE6) e DataFolha7, também mostrados na Tabela 5.4, para o acerto do vencedor, e na Tabela 5.5, para o acerto dos dois primeiros colocados. Podemos observar que dentre as 6 cidades escolhidas para análise o Data Folha realizou pesquisas em somente 5 delas. A cidade mais crítica para o IBOPE foi a capital de SP, em que não foi possível acertar nem o primeiro nem os dois primeiros colocados, pois até o terceiro lugar foi divulgado empate entre os candidatos. Outras cidades em que a pesquisa também falhou foram BA, para o primeiro colocado, e PR, para o segundo turno. O DataFolha acertou todos os vencedores do primeiro turno, nas cidades analisadas. Para o segundo turno errou em SP e PR. Comparando nossos resultados com os cenários mais complicados para os ins- titutos tradicionais só foi possível a correta previsão para o vencedor de SP quando utilizada análise de sentimentos das mensagens, mas para os dois primeiros colocados nenhuma estratégia acertou. A previsão para BA superou o IBOPE, lembrando que o 6http://www.ibope.com.br/ 7http://datafolha.folha.uol.com.br/ 5.3. Considerações finais 77 DataFolha não avaliou esta cidade, sendo correta em praticamente todos os cenários avaliados, desde a simples menção aos níveis mais detalhados de caracterização. Se por um lado a estratégia do usuário único foi determinante para encontrar o vencedor do PR ela também prejudicou a correta avaliação para a capital de RS, tanto para o vencedor quanto para os dois candidatos escolhidos para o segundo turno. Considerando somente os cenários onde menção e usuários únicos conseguiram formar as mesmas quantidades de amostras verificamos que o seguinte padrão no mé- todo vencedor: i) p@1: nenhuma caracterização (menção 0/usuários únicos 1), uma caracterização (menção 1/usuários únicos 2), duas caracterizacoes (menção 1/usuá- rios únicos 4), três caracterizações (menção 0/usuários únicos 2); e ii) segundo turno: nenhuma caracterização (menção 1/usuários únicos 0), uma caracterização (menção 2/usuários únicos 2), duas caracterizacoes (menção 1/usuários únicos 6), três carac- terizações (menção 2/usuários únicos 4), quatro caracterizações (menção 0/usuários únicos 1). Com isso, podemos concluir que, a identificação de usuários únicos melhora significativamente os acertos e que esta técnica é capaz de alcançar melhores resultados a medida que o nível de caracterização é elevado. Muitas amostras não puderam ser formadas, com margem de erro máxima de 15 pontos percentuais, mas observamos que nos poucos casos com maiores níveis de caracterização houve melhora de resultado, por exemplo, para encontrar o vencedor do RJ. Assim, de forma geral, podemos avaliar que o arcabouço apresentado é promissor em pesquisas eleitorais, sendo no mínimo tão bom quanto a verificação de menções e superando em alguns casos a técnica concorrente. 5.3 Considerações finais Após avaliarmos o arcabouço proposto sob diversas perspectivas e distintos âmbitos de aplicações, BBB e Eleições, podemos fazer as seguintes considerações: 1. Existe uma grande diferença no perfil do público em cada evento analisado com destaque para o sexo masculino e indivíduos mais velhos para as Eleições; 2. O total de votos computado para cada candidato, formado pela média obtida após a formação de 100 amostras distintas, é capaz de refletir um comportamento análogo ao observado com a análise do conjunto completo de mensagens. 3. A análise de sentimentos foi a caracterização com maior impacto positivo sobre os resultados obtidos; 78 Capítulo 5. Avaliação do arcabouço 4. Quanto maior o nível de caracterização mais relevante é identificar usuários úni- cos; 5. A técnica de identificar usuários únicos ganhou na maioria das comparações re- alizadas com a menção, em cenários onde a quantidade de amostras obtidas por cada processo foi igual; 6. Os resultados obtidos com maiores níveis de caracterização são superiores, nos dois casos avaliados, em comparação com a técnica concorrente de contagem de menção sem caracterização; 7. Assim como os métodos tradicionais possuem suas dificuldades, que culminam no erro de previsão, nosso método também possui as suas, sendo a principal delas formar amostras representativas, com alto grau de caracterização, com baixas margens de erro. O que motiva este comportamento é que apesar de serem coletados muitos indivíduos, o perfil encontrado nos usuários do Twitter é muito concentrado em usuários jovens e de classes sociais mais elevadas; e 8. Pesquisas em redes sociais podem ser uma alternativa as pesquisas tradicionais, principalmente se levarmos em conta os custos necessário para realização do mé- todo concorrente. Mas também podem ser encaradas como uma técnica comple- mentar, ou seja, uma nova fonte de informações. 5.3. Considerações finais 79 Tabela 5.4: Resultados Eleições - p@1 (Sen: análise de sentimento; SJ: remoção de usuários spammers e jornalísticos; Sex: sexo; ID: idade; CS: classe social) - Quadrados de cor verde representam acertos, pretos a não formação de amostra e, consequente- mente, brancos os erros. Característica Resultado Sen SJ Sex ID CS Menção Usuário Único MG PR RS RJ BA SP MG PR RS RJ BA SP Conjunto completo de mensagens - - - - - - X - - - - - - Amostras X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Institutos Tradicionais IBOPE - - - - - - DataFolha - - - - - - 80 Capítulo 5. Avaliação do arcabouço Tabela 5.5: Resultados Eleições - Segundo turno (Sen: análise de sentimento; SJ: remoção de usuários spammers e jornalísticos; Sex: sexo; ID: idade; CS: classe social) - Quadrados de cor verde representam acertos, pretos a não formação de amostra e, consequentemente, brancos os erros. Característica Resultado Sen SJ Sex ID CS Menção Usuário Único MG PR RS RJ BA SP MG PR RS RJ BA SP Conjunto completo de mensagens - - - - - - X - - - - - - Amostras X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Institutos Tradicionais IBOPE - - - - - - DataFolha - - - - - - Capítulo 6 Conclusões e Trabalhos Futuros Nesta dissertação apresentamos um arcabouço para realização de pesquisas em redes sociais. O arcabouço proposto é constituído das seguintes etapas: (i) coleta e pre- paração dos dados; (ii) caracterização das mensagens e dos usuários; e (iii) formação de uma amostra representativa da população, com análise dos resultados. A segunda etapa representa a nossa maior contribuição. Para caracterizar as mensagens, como não foi encontrado na literatura um algo- ritmo para análise de sentimentos em cenários diversos, capaz de prover bons resultados, foi proposto um método baseado em um comitê de classificação composto por um clas- sificador léxico, um supervisionado treinado com tweets rotulados manualmente e um supervisionado com tweets rotulados automaticamente, por meio de sinais emocionais encontrados em emoticons. A caracterização do indivíduo se subdividiu em duas etapas: a primeira com- portamental, em que objetivamos excluir das nossas amostras usuários spammers e jornalísticos, e a segunda pessoal, com caracterização do sexo, faixa etária e classe social dos indivíduos. Para a caracterização comportamental propomos um método onde um classifi- cador Random Forest é treinado com um conjunto de usuários rotulados como não spammers, spammers e jornalísticos, baseado no trabalho de Benevenuto et al. [2010]. Com isso, obtivemos uma acurácia de 88.77% e média F1 de 0.88. A etapa de caracterização do sexo é realizada em duas fases. Inicialmente é verifi- cado se o nome do usuário consta em um dicionário contendo 20,801 nomes previamente rotulados como masculinos ou femininos e, caso contrário, um algoritmo Naive Bayes é utilizado. Esta técnica alcançou um acerto de aproximadamente 90%. Para classificarmos os usuários conforme suas faixas etárias definimos os seguintes valores de interesse: menor de 25 anos, entre 25 e 45 anos e maior de 45 anos. O método 81 82 Capítulo 6. Conclusões e Trabalhos Futuros utilizado consiste na classificação pelo algoritmo Naive Bayes Multinomial. Esta fase alcançou uma acurácia de 81.51% e média F1 de 0.81. A classe social dos indivíduos foi inferida novamente pelo classificador Naive Bayes Multinomial. Para rotular os usuários da base de treinamento, coletamos in- divíduos com contas simultaneamente nas redes sociais Twitter e Foursquare. Desta forma, conforme o nível de riqueza onde a maioria das interações de cada pessoa era re- alizada um rótulo era atribuído como classe social baixa, média ou alta. Este processo alcançou uma acurácia de 73% e média F1 de 0.73. Assim, analisamos bases com mensagens coletadas acerca de 14 votações do rea- lity show Big Brother Brasil 13 (BBB) e das eleições municipais de 2012 em 6 capitais brasileiras. Como resultados verificamos que o arcabouço proposto é capaz de melho- rar os resultados obtidos por trabalhos anteriores, baseados principalmente em técnicas simples de contagem, e é competitivo frente a métodos adotados por institutos tradici- onais de pesquisa e enquetes realizadas por grandes sítios, principalmente se levarmos em consideração a diferença de custos entre uma pesquisa on-line de uma presencial. 6.1 Trabalhos Futuros Como trabalhos futuros, sugerimos algumas melhorias no processo de classificação, o que poderia proporcionar uma maior acurácia ao arcabouço. As caracterizações de sexo e idade já foram bem estudadas, mas considerando como pioneiro o trabalho realizado para a inferência de classes sociais ainda há muito a ser estudado. Por exemplo: (i) analisar como o uso das categorias do Foursquare poderiam melhorar o processo de rotulagem; (ii) verificar o ganho que pode ser obtido com uso de atributos não textuais no processo de classificação; (iii) incluir novas cate- gorias de termos e verificar seu impacto; (iv) avaliar os possíveis contrastes causados por rotular os usuários somente com as informações geográficas presentes nos tweets, sem uso da rede Foursquare; (v) variar o tempo em que as interações com a rede Fours- quare serão aceitas no processo de rotulação; (vi) avaliar a existência de diferenças na importância relativa entre as diversas interações com o Foursquare no processo de ro- tulação e atribuir pesos a elas; e (vii) analisar o processo com mensagens postadas em outros países; Na caracterização comportamental, apesar de já alcançarmos bons resultados, o aumento da base de usuários jornalísticos poderá melhorar a etapa, distinguindo de forma mais precisa, por exemplo, usuários legítimos com contas antigas e que postam muito dos usuários jornalísticos. 6.1. Trabalhos Futuros 83 A análise de sentimentos foi a caracterização identificada como a mais relevante no arcabouço, considerando o aumento de acertos proporcionado. Verificamos que a melhoria desta etapa, principalmente no que diz respeito a correta verificação de mensagens com sentimentos negativos, poderá melhorar os resultados das amostras. Também estudamos um processo de caracterização da localização dos indivíduo. O processo apresentado trabalha com dois tipos de informações, o texto e a rede de amizades, para realizar a inferência. Não utilizamos este método para avaliar os cená- rios analisados, pois não havia informações oficiais sobre a distribuição geográfica dos indivíduos, caso do Big Brother, e para as eleições consideramos que se um usuário fala sobre o pleito de uma cidade, logo ele pertence a ela. Futuramente, este arcabouço poderá ser expandido com esta funcionalidade. Um bom ambiente para teste será as eleições nacionais que ocorrerão em outubro de 2014. Um problema encontrado na técnica apresentada é a dificuldade de construir amostras que sejam representativas da população, com margem de erro máxima de 15 pontos percentuais. Assim, também propomos avaliar o arcabouço em um cenário mais amplo, que exista um número superior de usuários postando mensagens sobre o assunto, o que ajudaria a formar amostras mais significativas, em termos de margens de erros obtidas. As etapas que constituem o arcabouço estão sendo incorporadas às ferramentas do Observatório da Web1. 1http://observatorio.inweb.org.br/ Referências Bibliográficas Arkin, H. & Colton, R. (1950). Tables for Statisticians. College outline series. Barnes & Noble. Asur, S. & Huberman, B. A. (2010). Predicting the future with social media. Em Proceedings of the 2010 IEEE/WIC/ACM International Conference on Web Intel- ligence and Intelligent Agent Technology - Volume 01, WI-IAT ’10, pp. 492--499, Washington, DC, USA. IEEE Computer Society. Benevenuto, F.; Magno, G.; Rodrigues, T. & Almeida, V. (2010). Detecting spammers on twitter. Em Proceedings of the 7th Annual Collaboration, Electronic messaging, Anti-Abuse and Spam Conference (CEAS). Blumenstock, J. & Fratamico, L. (2013). Social and spatial ethnic segregation: A framework for analyzing segregation with large-scale spatial network data. Em Proc. of the 4th Annual Symposium on Computing for Development, ACM DEV-4 ’13, pp. 11:1--11:10. Bourdieu, P. (1987). What makes a social class? on the theoretical and practical existence of groups. Berkeley Journal of Sociology, 32:1--18. Bracarense, P. A. (2009). Estatística Aplicada às Ciências Sociais. Iesde Brasil Sa. ISBN 9788538709596. Calais Guerra, P. H.; Veloso, A.; Meira, Jr., W. & Almeida, V. (2011). From bias to opinion: a transfer-learning approach to real-time sentiment analysis. Em Procee- dings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD ’11, pp. 150--158, New York, NY, USA. ACM. Cheng, Z.; Caverlee, J. & Lee, K. (2010). You are where you tweet: a content-based approach to geo-locating twitter users. Em Proceedings of the 19th ACM internatio- nal conference on Information and knowledge management, CIKM ’10, pp. 759--768. ACM. 85 86 Referências Bibliográficas Crompton, R. (2008). Class and Stratification. MPG Books. Csardi, G. & Nepusz, T. (2006). The igraph software package for complex network research. InterJournal, Complex Systems:1695. Culotta, A. (2010). Towards detecting influenza epidemics by analyzing twitter mes- sages. Em Proceedings of the First Workshop on Social Media Analytics, SOMA ’10, pp. 115--122, New York, NY, USA. ACM. Davis Jr., C. A.; Pappa, G. L.; de Oliveira, D. R. R. & de L. Arcanjo, F. (2011). Inferring the location of twitter messages based on user relationships. Transactions in GIS, 15(6):735--751. ISSN 1467-9671. Folha, D. (2012). Data folha - dúvidas. http://datafolha.folha.uol.com.br/duvida/- duvidas_pesquisa.php. Access date: 23 novembro 2012. G1 (2012a). Facebook alcança 1 bilhão de usuários ativos mensais. http://g1.globo.com/tecnologia/noticia/2012/10/facebook-atinge-1-bilhao-de- usuarios-ativos-mensais.html. Access date: 25 novembro 2012. G1 (2012b). Linkedin anuncia 10 milhões de usuários no brasil. http://g1.globo.com/tecnologia/noticia/2012/10/linkedin-anuncia-10-milhoes- de-usuarios-no-brasil.html. Access date: 25 novembro 2012. G1 (2012c). Twitter chega a 500 milhões de usuários, diz estudo. http://g1.globo.com/tecnologia/noticia/2012/07/twitter-chega-500-milhoes-de- usuarios-diz-estudo.html. Access date: 25 novembro 2012. Gayo-Avello, D. (2012). “I wanted to predict elections with twitter and all i got was this lousy paper” – A balanced survey on election prediction using twitter data. Gayo-Avello, D.; Metaxas, P. & Mustafaraj, E. (2011). Limits of electoral predictions using twitter. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 490--493. Gelfand, A. E. & Smith, A. F. M. (1990). Sampling-Based Approaches to Calculating Marginal Densities. Journal of the American Statistical Association, 85(410):398-- 409. Ghosh, S.; Viswanath, B.; Kooti, F.; Sharma, N. K.; Korlam, G.; Benevenuto, F.; Ganguly, N. & Gummadi, K. P. (2012). Understanding and combating link farming in the twitter social network. Em Proceedings of the 21st international conference on World Wide Web, WWW ’12, pp. 61--70, New York, NY, USA. ACM. Referências Bibliográficas 87 Gil, A. (2010). Como elaborar projetos de pesquisa. Atlas. ISBN 9788522458233. Gomide, J.; Veloso, A.; Meira, Jr., W.; Almeida, V.; Benevenuto, F.; Ferraz, F. & Teixeira, M. (2011). Dengue surveillance based on a computational model of spatio- temporal locality of twitter. Em Proceedings of the 3rd International Web Science Conference, WebSci ’11, pp. 3:1--3:8, New York, NY, USA. ACM. Gonçalves, P.; Araújo, M.; Benevenuto, F. & Cha, M. (2013). Comparing and combi- ning sentiment analysis methods. Em Proceedings of the First ACM Conference on Online Social Networks, COSN ’13, pp. 27--38, New York, NY, USA. ACM. Goswami, S.; Sarkar, S. & Rustagi, M. (2009). Stylometric analysis of bloggers’ age and gender. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 214--217. Hu, X.; Tang, J.; Gao, H. & Liu, H. (2013). Unsupervised sentiment analysis with emotional signals. Em Proceedings of the 22Nd International Conference on World Wide Web, WWW ’13, pp. 607--618, Republic and Canton of Geneva, Switzerland. International World Wide Web Conferences Steering Committee. IBGE (2010). Brazilian Census. http://www.ibge.gov.br/english/estatistica/- populacao/censo2010/default_resultados_universo.shtm. Access date: 30 janeiro 2014. IBOPE (2012a). Metodologia. http://www.eleicoes.ibope.com.br/Paginas/- Metodologia.aspx. Access date: 23 novembro 2012. IBOPE (2012b). Metodologia de pesquisa. http://ibope.com.br/calandraWeb/- BDarquivos/sobre_pesquisas/metodologia_pesquisa.html. Access date: 23 novem- bro 2012. Institute, O. I. (2012). Pobama wins the election! (on twitter). http://www.zerogeography.net/2012/11/obama-wins-election-on-twitter.html. Access date: 25 novembro 2012. Jungherr, A.; Jürgens, P. & Schoen, H. (2012). Why the pirate party won the ger- man election of 2009 or the trouble with predictions: A response to Tumasjan, A., Sprenger, T. O., Sander, P. G., & Welpe, I. M. “Predicting elections with twit- ter: What 140 characters reveal about political sentiment”. Soc. Sci. Comput. Rev., 30(2):229--234. ISSN 0894-4393. 88 Referências Bibliográficas Katz-Gerro, T. (1999). Cultural consumption and social stratification: leisure activi- ties, musical tastes, and social location. Sociological Perspectives, pp. 627--646. Lin, F. & Cohen, W. W. (2010). Semi-supervised classification of network data using very few labels. 2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, 0:192–199. Lumezanu, C.; Feamster, N. & Klein, H. (2012). #bias: Measuring the tweeting behavior of propagandists. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 210--217. Macskassy, S. A. & Provost, F. (2007). Classification in networked data: A toolkit and a univariate case study. J. Mach. Learn. Res., 8:935--983. Mahmud, J.; Nichols, J. & Drews, C. (2012). Where is this tweet from? inferring home locations of twitter users. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 511--514. Manning, C. D.; Raghavan, P. & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press, New York, NY, USA. McCord, M. & Chuah, M. (2011). Spam detection on twitter using traditional classi- fiers. Em Proceedings of the 8th international conference on Autonomic and trusted computing, ATC’11, pp. 175--186, Berlin, Heidelberg. Springer-Verlag. Mislove, A.; Lehmann, S.; Ahn, Y.-Y.; Onnela, J.-P. & Rosenquist, J. N. (2011). Un- derstanding the Demographics of Twitter Users. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 554--557. Morstatter, F.; Pfeffer, J.; Liu, H. & Carley, K. (2013). Is the sample good enough? comparing data from twitter’s streaming api with twitter’s firehose. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 400--408. Mukherjee, S.; Malu, A.; A.R., B. & Bhattacharyya, P. (2012). Twisent: a multis- tage system for analyzing sentiment in twitter. Em Proceedings of the 21st ACM international conference on Information and knowledge management, CIKM ’12, pp. 2531--2534, New York, NY, USA. ACM. Nguyen, D.; Gravel, R.; Trieschnigg, D. & Meder, T. (2013). “How old do you think i am?”: A study of language and age in twitter. Em International AAAI Conference on Weblogs and Social Media (ICWSM), ICWSM 2013, pp. 439--448. Referências Bibliográficas 89 Peersman, C.; Daelemans, W. & Van Vaerenbergh, L. (2011). Predicting age and gender in online social networks. Em Proceedings of the 3rd international workshop on Search and mining user-generated contents, SMUC ’11, pp. 37--44, New York, NY, USA. ACM. Pennacchiotti, M. & Popescu, A.-M. (2011). Democrats, republicans and starbucks afficionados: user classification in twitter. Em Proc.of the 17th ACM SIGKDD Int. Conf. on Knowledge discovery and data mining, pp. 430--438. ACM. PPP (2012). Our methodology. http://www.publicpolicypolling.com/aboutPPP/about- us.html. Access date: 23 novembro 2012. Ratkiewicz, J.; Conover, M.; Meiss, M.; Gonçalves, B.; Patil, S.; Flammini, A. & Menczer, F. (2011). Truthy: Mapping the spread of astroturf in microblog streams. Em Proceedings of the 20th International Conference Companion on World Wide Web, WWW ’11, pp. 249--252, New York, NY, USA. ACM. Ribeiro Jr., S.; Jr., Z.; Meira Jr., W. & Pappa, G. L. (2012). Positive or negative? using blogs to assess vehicles features. ENIA 2012 - Brazilian Conference on Intelligent System. Rodrigues, E.; Assuncao, R.; Pappa, G.; Miranda Filho, R. & Meira Jr., W. (2013). Uncovering the location of twitter users. Em Brazilian Conference on Intelligent Systems, BRACIS-13, pp. 237--241. Schiffman, L. (2007). Consumer behavior. Pearson Prentice Hall, Upper Saddle River, NJ, 9. ed. edição. ISBN 0131869604. Schler, J.; Koppel, M.; Argamon, S. & Pennebaker, J. (2006). Effects of age and gender on blogging. Proceedings of 2006 AAAI Spring Symposium on Computational Approaches for Analyzing Weblogs, pp. 199--205. Settle, R. B.; Alreck, P. L. & Belch, M. A. (1979). Social class determinants of leisure activity. volume 6. Silva, I. S.; Gomide, J.; Veloso, A.; Meira, Jr., W. & Ferreira, R. (2011). Effective sentiment stream analysis with self-augmenting training and demand-driven projec- tion. Em Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval, SIGIR ’11, pp. 475--484, New York, NY, USA. ACM. 90 Referências Bibliográficas Solomon, M. (2010). Consumer behavior: buying, having, and being. Prentice Hall. ISBN 9780136110927. Terra (2012). Google plus tem mais de 400 milhões de usuários; 100 mi ativos. http://tecnologia.terra.com.br/noticias/0„OI6160879-EI12884,00- Google+Plus+tem+mais+de+milhoes+de+usuarios+mi+ativos.html. Access date: 25 novembro 2012. Times, T. N. Y. (2012). President map. http://elections.nytimes.com/2012/- results/president. Access date: 25 novembro 2012. Tumasjan, A.; Sprenger, T.; Sandner, P. & Welpe, I. (2010). Predicting elections with twitter: What 140 characters reveal about political sentiment. Em International AAAI Conference on Weblogs and Social Media (ICWSM), pp. 178--185. Turney, P. D. (2002). Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews. Em Proceedings of the 40th Annual Meeting on Association for Computational Linguistics, ACL ’02, pp. 417--424, Stroudsburg, PA, USA. Association for Computational Linguistics. Witten, I. H. & Frank, E. (2005). Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann, 2nd edição. ISBN 0-12-088407-0. Wright, E. O. (2003). Encyclopedia of Social Theory, capítulo Social Class. Sage Publications. Wu, F. Y. (1982). The potts model. Reviews of Modern Physics, 54:235--268. Zhang, H. (2004). The Optimality of Naive Bayes. Em Barr, V. & Markov, Z., editores, FLAIRS Conference. AAAI Press. Apêndice A Localização No Twitter a informação sobre a localização do usuário pode ser informada de três maneiras distintas, cada uma delas com graus diferentes de precisão e acurácia. O usuário pode informar em seu perfil o local onde mora. Como esse campo pode ser preenchido livremente, um grande volume de localizações inválidas, como “Marte”, ou com baixa precisão, como “Brasil”, são informadas pelos usuários. A segunda maneira consiste em obter a localização geográfica a partir do endereço de IP da máquina. Esse tipo de georeferenciamento não é muito confiável e deve ser atualizado continuamente. No Brasil, por exemplo, esse serviço localiza corretamente 72% dos IP’s dentro de um raio de 40 quilômetros. A terceira forma é obtida a partir das coordenadas do GPS de aparelhos celulares. Esse terceiro tipo é o que tem maior precisão e confiabilidade, porém, como está restrito aos casos em que o usuário posta a mensagem de um aparelho celular com GPS e ainda permite que essa informação seja divulgada, esse tipo de informação geográfica está presente apenas em uma pequena fração dos tweets. Em alguns países como o Brasil, essa proporção não passa de 1%. Apesar da informação geográfica não ser explícita em grande parte dos casos, alguns aspectos sobre o comportamento do usuário podem nos dar dicas sobre sua lo- calização. Por exemplo, o conjunto de tweets publicados por um usuário podem nos fornecer informação sobre onde ele reside. Alguns trabalhos têm sido desenvolvidos nesse sentido. [Cheng et al., 2010] estimam a localização do usuário identificando pa- lavras que caracterizam determinadas localizações, com por exemplo o termo “rockets” que está associado à cidade de Houston. Os autores definem que esse tipo de palavra deve ter uma alta frequência em um determinado ponto do espaço e essa frequência deve cair rapidamente quando nos afastamos desse ponto. Mahmud et al. [2012] in- ferem a localização do usuário, também com base no texto, utilizando algoritmos de classificação. Esses últimos são capazes de inferir a localização para diferentes níveis 91 92 Apêndice A. Localização de granularidade: cidade, estado e zona temporal. Além do texto, as relações de seguidor/seguido entre os usuários também podem nos trazer informação geográfica. Sabe-se que, principalmente em países onde a língua falada não é o inglês, as relações de amizade no Twitter tendem a refletir a proximidade geográfica entre usuários. Tendo isso em vista, a rede de amizades pode ser usada como fonte de informação para o processo de inferência. [Davis Jr. et al., 2011] propõem um método de estimação segundo o qual localização de um usuário será aquela mais fre- quente entre seus amigos. Ao determinar as relações de amizade consideram que dois usuários são amigos apenas se eles se seguem mutuamente. Isso evita que páginas insti- tucionais ou perfis de celebridades atrapalhem o processo de inferência. Ao longo deste trabalho consideraremos essa mesma definição de amizade entre os usuários. Alguns dos problemas encontrados por esses autores se referem ao reduzido número de amigos que alguns usuários possuem, o que dificuldade bastante o processo de inferência. Além disso, usuários com muitos amigos também são fonte de erros, visto que tais relações de amizades, muito provavelmente, não refletem a proximidade geográfica. A nossa principal contribuição nesta etapa é apresentar um método que seja capaz de incorporar os dois tipos de informação, o texto e a rede de amizades, para fazer inferência sobre a localização do usuário. A.1 Metodologia Seja i a localização do usuário i, onde estamos interessados na localização a nível de cidade. Chamaremos de i o vetor com as localizações de todos usuários, com exceção do i-ésimo. O vetor wi será formado por todas as palavras dos tweets postados pelos usuários nos últimos tempos. O nosso objetivo é, para um usuário i cuja localização é desconhecida, encontrar o valor mais provável de i. Para encontrarmos esse valor, precisamos da distribuição de probabilidade de todo o vetor  = (1; 2; : : : ; N), onde N é o número total de usuários analisados. Essa distribuição será obtida através de um amostrador de Gibbs [Gelfand & Smith, 1990]. Vamos gerar os valores dos i desconhecidos a partir da seguinte distribuição condicional: P (iji;wi) : Sabe-se que a amostra do vetor de ’s gerados dessa maneira terá uma distribuição que aproxima a conjunta P (). Para encontrarmos a expressão dessa distribuição condicional, podemos fazer al- A.1. Metodologia 93 gumas simplificações. Sabemos que P (iji;wi) / P (iji)P (wiji;i) : Vamos analisar primeiramente o termo P (iji). É razoável supor que as localizações dos usuários no grafo seguem um Campo de Markov. Dessa maneira P (iji) se simplifica em P (iji) = P (ij@i) onde o vetor @i contém a localização de todos os vizinhos de i. Essa é uma suposição razoável, visto que se fornecemos a informação sobre a localização dos amigos de um usuário, toda a informação contida no resto da rede é dispensável. Vamos supor ainda que a distribuição das localizações dos usuários pode ser modelada por um campo markoviano denominado Modelo de Potts [Wu, 1982]. Esse modelo é uma generalização de um modelo mais simples, o Modelo de Ising. No modelo de Ising cada local pode pertencer a duas classes, o que seria equivalente a termos apenas duas localizações. Já no modelo de Potts podemos ter um número arbitrário de classes ou de localizações. De acordo com esse modelo, probabilidade de um local pertencer a uma determinada classe será uma função crescente do número de vizinhos desse local pertencentes à essa classe, ou seja P (ij@i) / exp 0@ X j:j2@i ij 1A onde ij é uma função que recebe valor 1 se i e j pertencem à mesma classe e zero, caso contrário. O parâmetro é conhecido como a temperatura do modelo e mede o grau de interação entre os locais. Para > 0 temos um modelo atrativo, ou seja, locais vizinhos tenderão pertencer à mesma classe. Vejamos agora como podemos simplificar o termo P (wiji;i). Primeiramente, observe que se queremos predizer o texto de um usuário, dado que sabemos sua locali- zação, a informação geográfica sobre seus amigos é desnecessária. Dessa maneira, essa probabilidade se simplifica a P (wiji;i) = P (wiji) : Para encontrarmos o valor de P (wiji) utilizaremos o método Naive Bayes. Vamos 94 Apêndice A. Localização considerar que as palavras postadas pelo usuário são independentes entre si, ou seja P (wiji) = Y j P (wijji) onde wij denota a j-ésima palavra publicada pelo i-ésimo usuário. Essa suposição é aparentemente pouco razoável, porém método Naive Bayes têm mostrados ótimos resultados apesar de sua simplicidade [Zhang, 2004]. Cada uma das probabilidade P (wijji) pode ser estimada como a proporção de vezes que a palavra wij aparece dentre todas as palavras publicadas por usuários que residem na localização i. Temos então que a probabilidade condicional P (iji;wi) fica na forma P (iji;wi) / P (ij@i) Y j P (wijji) : E os valores de i para aqueles usuários cuja localização é desconhecida podem ser atualizados através do amostrador de Gibbs. A.2 Avaliação do método A fim de verificar a adequação do método proposto consideramos um conjunto de 8,477 usuários do Twitter residentes nas cidades de Belo Horizonte, Rio de Janeiro e São Paulo. O número total de usuários coletados dessas três cidades são respectivamente 1,402, 4,061 e 3,014. Consideramos a princípio apenas essas três localidades, pois em cidades muito pequenas a informação geográfica disponível não é suficiente para fazermos inferência. Esses 8,477 usuários formam um grafo composto por 140,715 arestas, o qual é apresentado na Figura A.1. Notamos que existe uma componente fortemente conectada nesse grafo e vários usuários isolados, com menos de dois amigos. Sobre o conteúdo foram coletados os 200 tweets mais recentes postadas pelos usuários. A fim de validar o método, 70% dos usuários foram selecionados aleatoriamente para compor o conjunto de treinamento (5,933 usuários), e os restantes, 30% do conjunto, para validação (2,544 usuários), onde 16.54% são de Belo Horizonte, 47.91% de São Paulo e 35.55% do Rio de Janeiro. Os resultados foram comparados com os outros dois métodos, o primeiro baseado no grafo de amizade e o segundo sobre o conteúdo dos tweets. O primeiro baseline foi o MRW, método proposto por [Lin & Cohen, 2010]. Implementamos este algoritmo usando o Igraph do pacote R [Csardi & Nepusz, 2006] e fixamos a probabilidade de A.2. Avaliação do método 95 Figura A.1: Grafo de amizades na base com 8,477 usuários do Twitter Tabela A.1: Localização: precisão dos métodos (%) Método Belo Horizonte São Paulo Rio Total MRW 23.14 55 39.78 50.27 Naive Bayes 42.15 63.7 55.99 60.46 IDA (tf) 38.02 82.95 59.26 73.98 IDA (tf-idf) 33.88 84.01 59.26 74.79 teleportação em 0.5. O segundo baseline foi o classificador Naive Bayes, usando apenas o conteúdo de tweets para inferir a localização do usuário. O vetor de termos dado aos algoritmos foi obtido excluindo palavras stopping words e termos com freqüência inferior a três. Os últimos foram excluídos porque são prováveis erros de digitação ou palavras inexistentes. Este processo resultou em um conjunto com 5,557,173 palavras. A Tabela A.1 mostra os resultados obtidos pelos três métodos considerando os 2,544 usuários no conjunto de validação. Observe que a MRW previu corretamente a localização de 50.27% dos usuários, enquanto Naive Bayes previu corretamente 60.46%. Assim, a informação a partir do conteúdo de mensagens é mais importante para prever a localização do que as ligações de amizade no grafo por si só. Aqui temos de levar em conta que é mais fácil para MRW para prever a localização dos lugares com maior número de usuários. Os resultados obtidos pelo método proposto são relatados nas duas últimas li- nhas da Tabela A.1 (IDA - abordagem de dados - integrados), e a localização do i-th usuário é estimado pela a maior probabilidade entre todas as localizações possíveis. Por enquanto, vamos nos focar nos resultados de IDA (tf), que considera a freqüência 96 Apêndice A. Localização das palavras nos tweets. Em geral, o método infere correctamente a localização de 73.98% dos usuários . Para os usuários que vivem em Belo Horizonte, São Paulo e Rio de Janeiro a proporção de inferências corretas foram, respectivamente, 38.02% , 82.95% e 59.26% . Combinando os dois tipos de dados melhorou a precisão global, mas para Belo Horizonte , a precisão diminui de 42.15 para 38.02. Isto pode ser devido a variância da amostra, não refletindo qualquer aspecto intrínseco do problema . Na verdade, a diferença entre as taxas de sucesso dos dois métodos não é estatisticamente significativas. Isto pode ser visto através da construção de um intervalo de confiança de 95% para a taxa obtida pelo método de Bayes Naive, que é dado por [33.21, 50.79], cobrindo a nova taxa de sucesso de 38.02% Como as classes estão desbalanceadas a Figura A.2 apresenta duas matrizes de confusão sendo uma para medida do recall e outra para a precisão. A matriz de recall mostra a probabilidade de o usuário ser classificado como sendo da cidade de i, já que ele é de fato da cidade de i. Por exemplo, um usuário do Rio de Janeiro tem uma probabilidade de 82.89% para ser classificado como sendo do Rio de Janeiro; 4.32% de chance de ser classificado como sendo de Belo Horizonte e 12.79% de chance de ser classificado como de São Paulo . A segunda matriz mostra os valores de precisão, ou seja, a probabilidade de um usuário ser da cidade de i, uma vez que foi classificado como sendo daquela cidade . Por exemplo, se um usuário é classificado como sendo de Rio de Janeiro, ele tem 82.46% de chance de realmente ser de lá, 2.47% a ser de Belo Horizonte e de 15.07% de chance de ser de São Paulo. Observer que, para São Paulo, a maioria dos erros consistem em classificar o usuário como sendo do Rio de Janeiro. Isso pode ocorrer devido a uma maior interação entre os usuários dessas duas cidades. Figura A.2: Matrizes de confusão alcançadas com a aplicação da metodologia proposta. A primeira matriz mostra as medidas de recall e a segunda a medida da precisão Total SP RJ BH 38.02% 34.71% 27.27% 4.76% 4.32% 82.89% 12.79% 66.39% 5.86% 34.88% 59.26% 28.85% 6.37% 66.75% 26.89% 100% BH RJ SP Total Predicted R ea l V a lu es freq 20 40 60 80 100 20.55% 47.03% 32.42% 4.76% 2.84% 75.18% 21.98% 66.39% 4.33% 50.97% 44.69% 28.85% 8.61% 65.09% 26.3% 100%Total SP RJ BH BH RJ SP Total Real values Pr ed ict ed 25 50 75 100 freq A desvantagem do pré-processamento realizado nos tweets é que ele usa um A.2. Avaliação do método 97 grande conjunto de termos, a maioria dos quais provavelmente não ajudam a dife- renciar uma cidade da outra. Assim, mudamos a nossa maneira de atribuir pesos aos termos substituindo a frequência pelos tf idf (term frequency-inverse document fre- quency) Manning et al. [2008]. O valor do tf idf é alto quando o termo é raro em toda a base, mas muito comum no documento em análise. Vamos denotar por D o con- junto completo de documentos (no nosso caso o conjunto de tweets), d um documento específico (tweet) e t, um termo específico. O tf idf é composto por duas partes. O primeiro é a frequência do termo, dada por tf(t; d) = f(t; d) maxff(w; d) : w 2 dg onde f(t; d) é a freqüência do termo t em um documento d. A segunda parte é a freqüência do documento inversa, definida como idf(t;D) = log jDj fd 2 D : t 2 dg onde jDj é o número total de documentos e fd 2 D : t 2 dg é o número de documentos em que o termo t ocorre. O tf idf é dado por uma combinação destes dois termos, definidos como tfidf(t; d) = tf(t; d) idf(t;D) : A Figura A.3 apresenta os valores do recall e da precisão alcançada usando tf idf . Observe que os resultados obtidos são muito semelhantes aos que temos, sem qualquer fator de ponderação. Assim, talvez uma seleção mais inteligente de atributos relevantes deve ser realizada antes de estimar as probabilidades. Deixamos isso para trabalhos futuros. Esta etapa do trabaho foi publicada em [Rodrigues et al., 2013]. 98 Apêndice A. Localização Figura A.3: Matrizes de confusão dos resultados alcançados através da aplicação da metodologia proposta e correção pelo fator Tf-Ifd. A primeira matriz mostra as medidas de recall e a segunda a medida da precisão Total SP RJ BH 33.88% 41.32% 24.79% 4.76% 2.71% 81.75% 15.54% 66.39% 4.81% 31.92% 63.27% 28.85% 4.76% 68.28% 26.97% 100% BH RJ SP Total Predicted R ea l V a lu es freq 20 40 60 80 100 33.88% 41.32% 24.79% 4.76% 2.71% 81.79% 15.5% 66.39% 4.8% 31.98% 63.23% 28.85% 4.76% 68.2% 27.04% 100%Total SP RJ BH BH RJ SP Total Real values Pr ed ict ed 25 50 75 100 freq