Usando Grafo de Palavras para analisar a Anitta no Twitter

Heeeeeeey galeris, tudo bom?

Voltando depois da clássica sumida de fim de ano, trago pro blog um post-tutorial sobre análise textual que utiliza tweets em inglês sobre a atual rainha do pop/funk desse Brasil, a malandra Anitta, como objeto de análise. Aliás, temos que concordar que a Anitta foi uma das poucas instituições que realmente funcionaram em 2017, neh?!

Vamos lá!

Peguei essa função do arquivo que o Steven Worthington disponibilizou no git dele.

 

Os pacotes instalados e carregados acima possuem diversos usos e propriedades:

  • O pacote rtweet  serve para conectar com a API do Twitter e extrair os dados, ela vem, de certa forma, pra substituir o twitterR;
  • Os pacotes ggplot2  e dplyr  auxiliam na plotagem de gráficos;
  • Os pacotes tm  e tidytext  são voltados para mineração de dados textuais;
  • Já o pacote widyr  é usado para tratamento e reorganização dos dados. É útil para várias operações, como contagens de co-ocorrência, correlações ou agrupamentos que são matematicamente convenientes em grandes matrizes;
  • Uma evolução de reshape2, o pacote tidyr  é projetado especificamente para arrumação de dados e funciona bem com o pacote dplyr;
  • Os pacotes igraph e ggraph  são voltados para análise de redes, aqui usado no tratamento final do dados e na plotagem do grafo final.

Pacotes instalados? Vamos partir para o próximo tópico.

 


Aquisição dos dados do Twitter

 

A aquisição de dados feita aqui é diferente da que foi feita no último sobre análise textual (Análise Textual: ‘Viado’ e ‘Bicha’ no Twitter). Será necessária criar uma aplicação na área de desenvolvedor do Twitter. Depois de criado seu app, é só pegar os dados ‘appname’, ‘Consumer Key (API Key)’, ‘Consumer Secret (API Secret)’ e criar o token de acesso como descrito abaixo:

 

 

Token criado, podemos iniciar a aquisição de dados:

 

 

Os dados aqui extraindo são referentes ao idioma Inglês(EN). Você pode usar o ‘?search_tweets’ para saber quais argumentos usar na sua pesquisa, como data, geocode, tipo de tweet…

 


Dando uma geral nos dados

 

Quem já está habituado a realizar análises usando como base o Twitter sabe que sempre temos que limpar os dados extraídos.

Primeiro, existem urls nos nossos tweets. Se você quiser fazer uma análise de texto para descobrir quais palavras são mais comuns nos tweets, as URLs não serão úteis. Vamos removê-las!

 

 

Temos então nosso dataset limpo de urls. Vale lembra também que o R diferencia palavras em maiúsculo e minúsculo, sendo assim, precisamos colocar tudo num mesmo padrão. Ah… não vamos esquecer de remover as pontuações neh!?!

 

 

Podemos plotar esses dados num gráfico para saber quais as top 15 palavras do nosso dataset.

 

 

Com os dados que obtive, tenho o seguinte gráfico:

 

 

O nosso dataset de palavras únicas contém algumas palavras que podem não trazer informações. Por exemplo, “é” e “para”. Nos termos usados em mineração de dados de texto chamamos essas palavras – stop words. Precisamos remover essas palavras da nossa análise, pois são preenchimentos usados ​​para compor uma frase.

Por sorte, o pacote tidytext tem uma função que nos ajudará a limpar as stop words! Para usar isso, nós:

  • Precisamos carregar os dados stop_words  incluídos no tidytext. Este dado é simplesmente uma lista de palavras que você pode querer remover em uma análise textual;
  • Então usamos a função  anti_join  para remover todas as stop words de nossa análise.

 

Agora plotando os dados, tendo removidos as stop words.

 

 

 


Explorando a rede de palavras

 

Para criar o nosso grafo de palavras, vamos utilizar novamente a função unnest_tokens, dessa vez criando bigramas, ou seja, sequência de duas letras/palavras/números consecutivas. Esses bigramas são conhecidos também por um tipo de análise de co-ocorrência.

 

 

Agora é só plotar os dados usando como base os pacotes de ‘igraph’ e ‘ggraph’:

 

 

Plotar o grafo por si só não nos traz muita inteligência, mas analisando o motivo dessas co-ocorrências é possível descobrir pautas interessantes que usuários analisados relacionam à Anitta. No grafo é possível perceber uma relação muito forte da Anitta com o termo ‘amp’, esse termo é o famoso &, que em ASCII é convertido em & e está presente devido as produções em conjunto, como visto em “Anitta, Mc Zaac, Maejor ft. Tropkillaz & DJ Yuri Martins – Vai Malandra (Official Music Video)”.

Olhando por alto, percebe-se que as ferramentas automáticas de ranqueamentos de artistas ouvidos e de postagem direta no Twitter, como last.fm, #jotafm, youtube, spotify e tweekly, estão presentes no grafo e podem confundir a análise caso o objetivo seja descobrir nuances mais orgânicas.

 

 

 

A base para a construção desse tutorial é do blog earthdatascience.org.

 


Onde se fala sobre a Anitta?

 

Para complementar essa análise, fornecendo informações sobre a ocorrência de brasileiros tweetando em inglês, é possível plotar a localização dos tweets em um mapa mundial, como feito abaixo:

 

 

 

 

É isso por hoje! Mais a frente volto a falar da Anitta, desta com um panorama geral das 48 horas de lançamento do clipe de Vai Malandra no Twitter. Qualquer dúvida ou sugestão, é só deixar um comentário abaixo!

O código pode ser baixado completo no meu git.

Escrito por Janderson Toth

Meu nome é Janderson, tenho 24 anos e sou graduando em Estudos de Mídia/UFF. Vivo fazendo tutorias, me perco nos animes e meu super-herói favorito é o John Constantine. Escrevo para aprender a escrever(?) e para desenvolver meus estudos em análise de redes sociais e programação em R.