Anatomia de um Tweet e as transmissões de partidas de futebol pelo Twitter: o supra sumo da emoção
Eu não sei quanto a vocês, mas eu nunca fiz muito uso do Twitter. Como rede social, devo ter criado meu perfil há muito tempo, não entendi muito bem como interagir por lá (poucos amigos se inscreveram também na época) e abandonei. Nem todo o hype em relação aos trending topics ou às intermináveis "tretas" foram capazes de me fazer acompanhar as coisas por lá. No entanto, ao saber que existia a API e eu poderia extrair dados dos tweets para fazer uma análise de texto e sentimentos em python, eu precisei entender como a coisa funcionava aos olhos de um cientista de dados, o que estava "por trás" de um tweet, e como eu poderia me beneficiar disso nas análises. Quando eu me deparei com as transmissões de futebol nos perfis oficiais dos times, foi só juntar a fome com a vontade de comer. Então, se você quer entender o que o twitter oferece para você em termos de dados, este post é para você, pois abordarei tudo em detalhes para que você possa associar o que é oferecido e num próximo passo consiga definir e construir a programação necessária para extrair os dados dos tweets.
Transmissões no Twitter
Eu já falei um pouco sobre as transmissões aqui mas acho que vale e pena voltar, porque desta vez ao invés de falar sobre o meu ânimo face às possibilidades de análise, eu vou sublinhar um aspecto técnico que é necessário se você tiver em mente extrair as respostas dos usuários ao tweet de uma determinada conta. É a conexão entre um post e outro, para você seguir o fio da meada.
Podemos enxergar as transmissões como tweets em sequência durante um jogo de futebol que está acontecendo naquele momento. Esses tweets vão ser postados com uma determinada frequência e se conseguirmos coletar todos os tweets no timeframe do jogo (tweets entre a hora inicial e final do jogo), teremos coletado a transmissão do jogo no twitter. Pois bem. Cada tweet ao ser publicado está sujeito às reações dos usuários (torcedores) que o vêem e com ele interagem. Seja um retweet, um like...tudo que é feito conta para o engajamento com aquele tweet específico. Se você conseguir sintetizar as emoções e o engajamento em todos os tweets da transmissão, poderá medir a emoção do torcedor de uma forma inédita, impossível de se fazer nas transmissões de rádio ou televisão, pois como diz o título do post, o tweet de um torcedor é o supra-sumo da emoção, é praticamente o que ele está sentindo e falando na frente da tv ou do rádio e que antes era impossível ter acesso.
Mas para fazer tudo isso é necessário entender como o Twitter funciona, o que tem dentro de um tweet, as possibilidades de interação e como isso tudo influencia na sua estratégia de extração. Você pode saber interagir lá, mas como será que isso pode influenciar o resultado da sua análise? Bora ver? Segue o fluxo.
O Tweet
Uma foto é diferente de um raio-x, claro. Vou utilizar aqui alguns prints da conta do Flamengo pois é um caso muito positivo de como se utilizar o Twitter ao máximo para engajar os torcedores. A foto de um tweet, ou seja, o famoso "print", é o que se apresenta na figura abaixo:
Quando a gente passa o olho pelo tweet, se atém ao que é mais importante, que é a mensagem, o essencial de um fato ou ideia que está sendo publicado. Dentro do limite de 280 caracteres não há só texto: é possível mencionar outros usuários, marcar hashtags, postar links e soltar a criatividade com os emoticons. Após lê-lo, você passa a timeline para baixo, indo para o próximo tweet, como em qualquer rede social hoje em dia. No entanto, se você está extraindo os dados via API, você precisa passar a enxergar esse tweet de uma outra forma: não como usuário, mas como cientista de dados (ou programador). Você precisa dissecá-lo em suas partes fundamentais, porque com isso, você consegue identificá-las no JSON, este sim o raio-x de um tweet. Na figura abaixo, eu "abro" o tweet acima nas partes que permitem identificá-lo e interagir com ele:
É, eu sei, muita coisa. Quando você o analisa em profundidade, percebe que existe toda uma estrutura de identificação (quem, quando) e várias opções de interação (responder, retweetar, curtir, salvar, etc.) e tudo isso vai aparecer no raio-x que é o JSON de um tweet. Veja uma pequena parte dele:
Agora sim, né? Já dá para perceber a ligação entre um print de um tweet, que é o que todo mundo vê na tela, e o que de fato está por trás disso em forma de código JSON, que é o que você vai extrair utilizando python. Estão lá no JSON a data de criação do tweet, se ele possui hashtags, o id dele - que é o que o identifica unicamente dentre todos os tweets já publicados -, a língua, o texto, que é o que se lê na tela, e por aí vai. Além dessa associação, é importante você entender como cada funcionalidade funciona, porque é isso que vai ter permitir extrair corretamente os tweets. Por isso agora veremos cada uma dessas possibilidades de interação dos usuários, e é legal para se aprender sobre o funcionamento da própria ferramenta. Vambora!
Interações no Twitter
As interações no twitter são várias, e a forma como cada torcedor interage é uma forma diferente de expressão das emoções. Saber como cada uma funciona vai te propiciar pegar exatamente o dado que precisa (lembre-se, há limites de extração, e planejamento é essencial) e o ajudará na construção do código em python. As interações são feitas com os botões na parte inferior de cada tweet:
Likes e Salvar/Compartilhar
O like é a curtida tradicional. Nada mais, nada menos. No último botão tem as opções de compartilhamento por Mensagem Direta (dentro do Twitter mesmo, claro), Salvar o tweet, e copiar o link para o Tweet (fora do Twitter). Na última opção, "Compartilhar Tweet via..." existem outras opções de compartilhamento que incluem e-mail, telefone, etc.
Retweets
Pode existir uma dúvida entre o que é retweetar (retuítar(!)) e responder. De forma bem simples, quando você faz um retweet, você está compartilhando o tweet original de quem postou, e pode fazer isso com ou sem comentário. Aparecerá como publicação na sua timeline e seus seguidores verão enquanto estiverem rolando para cima no feed de noticias deles. Quando você clica no ícone de retweet e escolhe "Comentar o Tweet", está retuitando com um comentário:
Se fizer sem comentário, é como se estivesse compartilhando algo no facebook com os seus seguidores, na sua timeline (é a opção "Retweetar"). A publicação vai direto para a sua timeline. Veja como as duas modalidades de retweets ficam na timeline de quem retuíta:
Repare que os dois aparecem na timeline, só que o retweet sem comentário aparece com a foto e autorias originais, enquanto que o retweet com comentário aparece como uma publicação minha me referindo ao tweet original.
Isso fará total diferença quando você for analisar os seus tweets. A timeline de uma conta oficial, de uma empresa ou time de futebol só terá publicações da própria conta. Dificilmente ela fará um retweet. Já a conta de um usuário normal poderá ter publicações dele mesmo ou de várias outras contas devido aos retweets. Percebe como o detalhe de funcionamento influencia no que você pode extrair de dado? Vamos para o próximo tipo de interação, as respostas.
Respostas
Já quando você responde, é como se estivesse comentando normalmente em qualquer publicação de rede social. O seu comentário aparecerá na publicação original, mas não aparecerá no seu feed, nem no feed dos seus amigos. Eles só verão as suas respostas se clicarem em "Tweets e respostas", como indiquei na figura abaixo.
É sobre as respostas que o "Um Futebol de Emoções" se debruça. Trata-se das reações escritas dos torcedores a cada um dos tweets durante as transmissões dos jogos. Não é a totalidade da expressão das emoções dos torcedores, mas é uma grande parte. Vale ressaltar também que existe o caráter recurssivo das respostas, ou seja: eu posso responder a um tweet original, e várias pessoas podem responder a este tweet, e assim por diante. Devido ao limite de tweets que podem ser extraídos, acaba que não foquei neste aspecto, mas sim, é possível principalmente quando você não quer analisar todos os tweets, se o objetivo for um único tweet, por exemplo. A ilustração dessa situação é mostrada abaixo:
Neste tipo de interação - respostas - é gerada o que o twitter chama de conversation. É uma estrutura que "guarda" todas os comentários feitos em resposta a um determinado tweet. Mas porque isso é importante?
Por que diferentemente do tweet original, se você quiser extrair os dados dos comentários, você não só precisará recuperar o tweet em si. Será necessário recuperar o tweet, o id deste tweet, e a partir deste id, o conversation_id. E aí, devido à estrutura de encadeamento das respostas, você precisará percorrer através de um loop for cada uma das respostas. Este conversation_id só está disponível na Twitter API V2, então é algo que você precisa se atentar para conseguir rodar os seus códigos. No meu caso, eu misturei as ferramentas na extração: utilizo o pacote tweepi para recuperar os tweets das transmissões e a API V2 para as conversations ids.
Emoção x Previsão
Percebe a importância do twitter para as marcas? É a possibilidade de estimar, através das emoções, o quanto se vai vender na loja do time após cada jogo, semana, mês, ano. Não sou do ramo mas imagino que um gestor possa se perguntar: "Se eu contratar o jogador X, eu vou ter mais vitórias no ano, e portanto vou vender mais camisas.". Oras, isso não é novo, vai! Eu sei. Tampouco tão simplista assim, mas hoje é mais refinado, é mais preciso. E tudo isso por causa dos dados que ficam acessíveis com a tecnologia que temos nas palmas das mãos com o celular, principalmente. Nem preciso dizer que disparar um tweet de venda de camisas após uma vitória "daquelas" pega, online, o torcedor no auge da emoção, vulnerável e muito propenso a clicar no link e apertar o botão de compra. Fico imaginando como devem ter sido os acessos na loja do Flamengo após a vitória da Libertadores em 2019.
Mas e como você pode ter acesso a isso? Ué, o que deu certo para mim aqui foi a API e o Python rodando na nuvem com as ferramentas do Google. Quer saber como fazer? Aguarde o próximo post que eu vou te mostrar como eu fiz a inscrição na API, como eu preparei o código no python para extrair os tweets e por aí vai. Te aguardo. Até lá!
Projeto Um Futebol de Emoções
Este já é o terceiro post sobre o Projeto, clique nos links abaixo para ler os dois primeiros!