Uvas-passas, amigo secreto e dados! Uma ceia estatisticamente natalina!

O almoço de natal, típico evento familiar em que os mais diversos assuntos sem quaisquer conexões com a festiva data surgem durante a refeição. Somado a isto, colocar uvas-passas no arroz, ou ainda, em dizer que não irá participar do amigo oculto são ambas preocupações características deste periodo de celebrações natalinas.

Mas o que as uvas-passas e o amigo secreto tem a ver com a minha profissão, a estatística? A príncipio não muita coisa e por isso são assuntos que eu resolvi utilizar para explicar um pouco do meu trabalho para a minha família e amigos. A ideia é simples, compreender as opiniões de diversas pessoas e seus respectivos sentimentos à respeito desses dois assuntos.

Será que o ódio pelas passas é maior do que a vontade de fugir do amigo secreto?

Para responder essa perguntar eu vou precisar coletar alguns dados. Minha fonte será o Twitter. Para aqueles que não sabem o que é o Twitter, em poucas palavras, é uma rede social em que os usuários se expressam utilizando no máximo 280 caracteres por mensagens (tweets). A príncipio busquei 3000 tweets com o termo “uvas passas”, no entanto, obtive 1240 tweets, o que considerei suficiente para a minha proposta. Ao buscar o termo “amigo secreto” obtive os 3000 tweets.

Como o objetivo desse artigo não é mostrar como minerar dados no Twitter, no final do texto deixarei alguns links que podem te auxiliar nessa trajetória, lógico, usando o R.

Uma vez que os dados são minerados/raspados do Twitter é preciso limpa-los, pois a internet não é um lugar em que todos seguem a norma culta da língua portuguesa, muito menos quando se tem apenas 280 caracteres para se expressar. Minerar/raspar são alguns dos termos comumente utilizados no ato de se obter dados da internet de forma automática, ou seja, não ctrl+c e ctrl+v.

Alguns passos básicos deste meu trabalho são os seguintes:

  • Levanto uma pergunta/hipótese: As pessoas odeiam mais as uvas passas ou a brincadeira de amigo secreto?

  • Busco um meio de responder essa pergunta, para isso coleto alguns dados;

  • Faço uma limpeza nos dados. Geralmente é a parte mais trabalhosa, ser cuidadoso aqui pode me salvar um bom tempo!

  • Exploro os dados, pois preciso responder a minha pergunta. Quando eu digo explorar os dados, eu estou analisando os tweets, mas sem lê-los, até porque ler milhares de tweets e extrair uma idea geral sobre isso levaria MUITO tempo e provavelmente eu chegaria à alguma conclusão não tão confiável. Para resolver isso, antes de ir diretamente para a análise de sentimentos, eu uso ferramentas como gráficos de frequência e nuvem de palavras que me dão uma noção rápida do que a galera está falando.

  • Por último tiro algumas conclusões, sempre me direcionando para responder a pergunta que eu fiz lá no inicio da minha jornada.

Se você esta acompanhando até aqui, então acredito que tenha percebido o passo-à-passo de uma das rotinas do estatístico, mas não pense que sempre é tudo tão certinho como descrito nessas etapas, muitas vezes, por exemplo, a exploração dos dados pode ocorrer antes mesmo de termos bem definida a(s) pergunta(s) que buscamos responder!

Bom, vamos voltar nos tweets sobre uvas passas e amigo secreto. Na limpeza dos dados foram feitas os seguintes tratamentos: remoção de espaçamento duplo, links, tabulações, pontuações, caracteres especiais, #hashtags, @usuários, risadas (kkkk, hahah, hehe…), RT (termo que se refere ao retweet, ação de compartilhar o tweet de algum usuário), emoticons e tweets duplicados. Sim, há muitos tweets duplicados, por exemplo, este aqui teve 168 duplicatas!!!

A parte de análise de sentimento pode ser feita no R, entretanto é muito mais fácil de se fazê-la caso os textos estejam em inglês. Como meu objetivo é apenas explicar um pouco do meu trabalho e não realizar uma pesquisa científica sobre uva passa e amigo oculto, fiz a análise de sentimento usando o site iFeel. Esse site analisa textos utilizando 18 métodos distintos para identificar o sentimento (polaridade) da frase, classificando cada tweet em positivo, negativo ou neutro.

Feito toda essa limpeza, dos 1240 tweets que contem a palavra “uva passa”, me restaram 871 e dos 3000 com o termo “amigo oculto”, me restaram 1857. Como o site iFeel aceita arquivos com no máximo 1000 linhas, eu selecionei aleatóriamente 999 dos 1857 tweetspara serem analisados.

Enfim, vamos ver os resultados das análises de sentimentos dos tweets!

Claramente há uma grande quantidade de tweets que foram considerados como neutros, por exemplo, esse foi um deles.

Baseado apenas nas palavras, você também consideraria como neutro o tweet acima? Dos 18 métodos utilizados para classificar cada tweet, 10 consideraram esse tweet como neutro.

Agora um exemplo de tweet que foi considerado de polaridade negativa.

E por último um tweet de sentimento positivo.

Apesar de serem dois temas que as vezes causam divergências de opiniões, em ambos os casos o sentimento negativo não chegou a 14%. Então, para responder a pergunta feita no inicio do texto, “será que o ódio pelas passas é maior do que a vontade de fugir do amigo secreto?” precisamos comparar as porcentagens negativas para os tweets sobre uva passa e amigo secreto.

Para aqueles que entendem de estatística, a imagem abaixo é autoexplicativa, entretanto, para aqueles que não são da área, público-alvo dessa brincadeira, o que foi feito é uma comparação dos percentuais.

prop.test(x = c(118,139), n = c(871,999))
## 
##  2-sample test for equality of proportions with continuity
##  correction
## 
## data:  c(118, 139) out of c(871, 999)
## X-squared = 0.026292, df = 1, p-value = 0.8712
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  -0.03599656  0.02867121
## sample estimates:
##    prop 1    prop 2 
## 0.1354765 0.1391391

Temos 13.55% e 13.91% de tweets com sentimentos negativos para uva passa e amigo secreto, respectivamente. Será que esse valores são diferentes? Matematicamente sabemos que sim, mas na estatística se admite que exista uma variação para cima e para baixo desses valores, como se fosse o resultado de uma pesquisa eleitoral. Lembra dos jornais na época das eleições? Pois bem, a ideia é basicamente essa. Aos amigos estatísticos que estão lendo isso, não me taquem pedras por não falar de testes de hipóteses e intervalo de confiança.

A imagem acima mostra o resultado da comparação das proporções e como muitos já esperavam dada os percentuais obtidos, não foi constatada diferença entre o ódio pelas passas em comparação ao amigo secreto. Podemos dizer que as pessoas odeiam isso igualmente!

Outras abordagens utilizando o mesmo conjunto de dados poderiam ser feitas, porém, mais uma vez, meu intuito era apenas mostrar um pouquinho do que um estatístico faz, sem ficar mostrando aquelas fórmulas que para muitos são assustadoras. Gosto da “filosofia K.I.S.S.”, Keep It Simple and Safe,ou ainda, Keep it Simple, stupid.

O que achou disso tudo? Feedbacks são sempre bem-vindos!

Feliz natal a todos! :D

Links úteis:

Sentiment Analysis of Twitter Data

Twitter sentiment analysis using R

Twitter Sentiment Analysis using Python

Avatar
Lucas Bianchi
PhD Student

My research interests include statistics models applied to arbovirus epidemics.

comments powered by Disqus