Neymar e a maior transação da história do Futebol: como coletar, tratar e analisar dados das redes sociais

Neymar e a maior transação da história do Futebol: como coletar, tratar e analisar dados das redes sociais

Conforme prometido no post anterior, dessa vez vou detalhar passo-a-passo as ferramentas e métodos que utilizo para coletar dados das redes sociais (especialmente Twitter) com o TAGS, tratar esses dados em R e transformá-los em algo legível para o software Gephi, que possibilita gerar um grafo para ser analisado posteriormente.

Aproveitei o buzz em torno da concretização da saída de Neymar do Barcelona para o Paris Saint-Germain, um dos assuntos que mais movimentam conversações no Twitter: futebol.

Se você não trabalha com social intelligence e está curioso pra saber o comportamento da rede em relação ao evento, pule para a análise aqui.

Escolhendo a ferramenta de coleta

Para a coleta dos tweets, uso mais regularmente a TAGS, uma ferramenta muito intuitiva e prática para coletar dados contínuos no Twitter.

Se você nunca usou, a configuração é bem simples e pode ser acompanhada no próprio site – por isso, não vou me alongar nessa etapa.

Após a coleta dos tweets que estarão na aba Archive, salve o arquivo em .csv

Preparando o RStudio para a leitura dos dados

Para a segunda etapa, é necessário ter instalado o R, o ambiente que roda uma linguagem de programação feita para cálculos estatísticos. Eu uso também o RStudio. Com ele aberto, vamos instalar e chamar as bibliotecas necessárias para tratar os dados da tabela.

É necessário instalar os pacotes GraphTweets – que será o responsável por transformar o arquivo .csv em um arquivo com nós e arestas – e o Igraph – que transformará esse grafo em um arquivo pronto para ser lido no Gephi – para, assim, começar a a análise de fato.

Vale ressaltar que essa é apenas uma das maneiras de fazer esse processo todo – e é a maneira mais simples que eu encontrei.

Como instalo esses pacotes?

 

 

Como chamo essas bibliotecas para serem utilizadas?

 

 

Dessa forma, os pacotes estão instalados e prontos para serem utilizados. Com isso, podemos trazer para dentro do ambiente do RStudio o nosso arquivo .csv que será um dataframe:

 

 

Essa expressão basicamente chama o arquivo .csv e informa ao R que ele tem cabeçalho e as informações estão separadas por vírgulas.

Importante: para o passo seguinte, temos que transformar o dataframe em class character, senão teremos problemas na leitura desse arquivo.

Como?

aplicando essa função na tabela:

 

Essa expressão chama o seu dataframe (seuarquivo) e converte em caracteres.

Transformando seu dataframe em grafo

 

sendo que as variáveis necessárias são “data” (que vai ler onde está o seu dataframe”, “tweets” (que tem que corresponder ao nome da tabela com o campo de texto”, e “source” (de quem vem o tweet”, todo o resto a seguir pode ser colocado como variáveis que vc quer que sejam lidas futuramente no Gephi – no meu caso, “user_followers_count” para entender o tamanho da influência dos perfis e “user_lang” para puxar informações sobre a língua dos usuários.

Perceba que, se você clicar no dataframe “seuarquivo” no R – ou se abrir o .csv gerado pelo TAGS – você vai descobrir o nome das tabelas que contém todas essas informações e, dessa forma, pode selecionar quais delas você quer atribuir aos edges que irão para o Gephi.

Em seguida, você vai criar a parte que falta para transformar seus dados em algo legível para o Gephi:

nodes <- getNodes(edges)

A função getNodes tem algumas outras especificações, mas nesse momento, como só irei analisar os graus de entrada e saída, vou deixar dessa forma mesmo.

Salvando seu grafo para se trabalhado no Gephi

Essa é a hora de chamar aquela segunda biblioteca que ativamos, o igraph. O que esse pacote fará? Transformará seu dataframe em um grafo, linkando edges e nodes e, em seguida, você estará pronto para salvar esse arquivo em .graphml para ser lido e trabalhado no Gephi.

grafo <- graph.data.frame(edges, directed = TRUE, vertices = nodes)

Lembrando que, nesse caso, como queremos observar informações sobre quais atores falaram para quem e quais atores foram mencionados, chamaremos esse grafo de direcionado (directed = TRUE). Um grafo não-direcionado não faria essa distinção, linkando apenas um ator no outro.

Por fim, vamos salvar para abrir no Gephi:

write.graph(g, “C:/caminhodo/grafo.graphml”, format = “graphml”)

A partir daí, você já pode começar a fazer sua análise. Futuramente, farei um post sobre como começar a entender o Gephi. Esses posts são, também, uma forma de consolidar meus estudos na área pela repetição dos processos e uma forma de revisitar conteúdos que venho estudando online.

Existem, no entanto, para qualquer um dos tópicos abordados aqui, os cursos do IBPAD para quem quiser se aprofundar nos temas abordados aqui.

Neymar e a transação mais cara da história do futebol: uma breve análise

 

Usei como “desculpa” para a criação desse tutorial a coleta de algumas poucas horas de conversações geradas a partir da confirmação de que Neymar trocaria o Barcelona pelo Paris Saint-German, concretizando a maior transação da história do futebol e se tornando o jogador mais bem pago.

Foram 53.447 tweets em apenas 3 horas – logo após o comunicado oficial do PSG.

Utilizando a análise de grafos, essa é imagem do primeiro tratamento desses dados, onde cada cor simboliza um cluster (ou seja, um núcleo de conversas):

neymar1.PNG

Aqui observamos uma particularidade de conversas que naturalmente geram muito barulho no Twitter (se você é usuário frequente, deve saber que os tópicos que giram em torno de esportes, especialmente do futebol, dominam os Trending Topics nas noites de quarta-feira, domingos e em quaisquer outras situações em que haja disputas importantes acontecendo) + anúncios de grande repercussão como comunicados oficiais: muitos clusters unidos no centro do grafo.

Para investigar melhor quem movimentou essa conversa, “diminuí” o grafo utilizando um filtro de intervalo de grau maior do que 3, ou seja: procurei excluir da imagem esses atores periféricos para melhorar a visualização das conversas relevantes, retirando comentários esparsos. O resultado é o seguinte:

neymar2.PNG

Atribuindo pesos para os graus que mais foram citados, conseguimos descobrir o quase sempre óbvio: os @ mais citados foram @PSG_inside, com o anúncio de boas vindas a Neymar e o próprio @neymarjr.

neymar3.PNG

No entanto, o que pode ser visto também é a relevância do perfil @EASPORTSFIFA, linha de games esportivos que, apesar de tuitar a mesma notícia, aparece como perfil mais relevante do seu cluster, revelando uma importante ligação entre os mundos do futebol e games e mostrando que serve de fonte de informação para uma grande parte dos interessados no esporte.

Por fim, fiz uma última análise, dessa vez filtrando as conversas de acordo com sua língua de origem para compreender o tamanho do impacto do anúncio no universo dos respectivos torcedores. O resultado foi:

neymar4

Onde o cluster magenta, mais ao centro do grafo, representa as arestas em francês (27% das conversações gerais), o cluster azul representa as arestas em inglês (33% das conversações), o cluster laranja representa as arestas em espanhol (18% das conversações) e o cluster verde, mais diluído e “cercando” todos os outros, representa as arestas em português (16% das conversações).

Essa é uma das formas de tratar dados usando as ferramentas citadas e uma das inúmeras possíveis análises. Existem limitações em relação aos tipos de dados filtrados da forma como eu coloquei mas, tendo como necessidade uma análise simples como esse exemplo, acredito que essa é uma forma bacana de iniciar os estudos.

3 thoughts on “Neymar e a maior transação da história do Futebol: como coletar, tratar e analisar dados das redes sociais

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *