Uma nova visão do Twitter

Como filtrar e ordenar tweets relevantes em tempo real

Kevin Voigt
Heimdall Research Brasil
5 min readJan 29, 2020

--

Photo by Kon Karampelas on Unsplash

Big data está revolucionando tudo, finalmente temos capacidade computacional e tecnologia para coletar e processar enormes quantidades de dados. Nossa capacidade de análise em grandes conjuntos de dados permite soluções que podem otimizar quase quaisquer processos da vida humana, incluindo trading.

A motivação

Hoje diversos personagens influentes no mundo, como presidentes, donos de grandes empresas e multimilionários utilizam o Twitter como forma de comunicar novidades.

Para o mercado de criptomoedas não é diferente, diversos projetos e influenciadores utilizam o Twitter como mecanismo de comunicação. Em uma pesquisa de mercado levantada pela Heimdall, 72% dos entrevistados acompanham o Twitter com alguma regularidade para basear suas operações em criptomoedas.

Exatamente pela grande popularidade da rede social, acompanhar todos os usuários influentes e filtrar conteúdo relevante torna-se uma tarefa bastante extensa. Além de não haverem garantias de que o conteúdo relevante chegue a você cedo o suficiente para lhe auxiliar em eventuais tomadas de decisão.

A maior parte das soluções atuais para análise massiva de dados providos pelo Twitter, a cerca de criptomoedas, utiliza algoritmos de machine learning para inferir o sentimento da rede social. Agregar os dados dessa forma pode ser bastante prático, mas muitas vezes tira o protagonismo do operador financeiro ao pré estabelecer parâmetros para sentimento positivo e negativo, além de muitas vezes apenas entregar ruído — ao invés de informação de valor.

Com esse desafio em mente — a análise massiva de dados providos pelo Twitter, elaboramos uma solução que filtra todos o tweets relacionados a criptomoedas e ordena-os por relevância com o objetivo de reduzir seu tempo pesquisando por informações importantes, e permitir que você consiga agir como front runner no mercado de criptomoedas.

A teoria

Para entender como conseguimos calcular a relevância de um Tweet, dentre as várias formas possíveis, precisamos falar um pouco sobre grafos.

A teoria dos grafos é um ramo da matemática que estuda as relações entre os objetos de um determinado conjunto. Centralidade é uma medida de importância de um vértice em um grafo, e está relacionada com o número de vezes que um nó age como ponte ao longo do caminho mais curto entre dois outros nós.

O Twitter pode ser interpretado como um grafo, onde teríamos, por exemplo, usuários e tweets como vértices e as relações possíveis entre dois vértices, como quando um usuário tweeta um tweet, representadas pelas arestas do grafo.

PageRank™ é um algoritmo, dentre vários, utilizado para calcular a centralidade de um vértice. Ele é utilizado pela ferramenta de busca Google para posicionar websites entre os resultados de suas buscas. O PageRank mede a importância de uma página contabilizando a quantidade e qualidade de links apontando para ela.

O PageRank™ considera que sempre que você aponta para outro, você está conferindo um voto para a relevância daquele, entretanto, o valor do seu voto depende dos que apontam para você.

Caso você tenha interesse em entender melhor como o algoritmo funciona, recomendo esta leitura.

A implementação

Para resolver o problema do cálculo da relevância de um tweet utilizamos como base o algoritmo de PageRank™. Entretanto fizemos alguns ajustes para garantir melhores resultados.

Primeiro calculamos o PageRank de cada usuário, dentro de um intervalo de tempo, utilizando menções, retweets e respostas como votos de relevância entre os usuários. Utilizamos a quantidade de followers que um usuário tem como peso no cálculo do PageRank — que serve como uma métrica para a qualidade dos links. Dessa forma, conseguimos inferir quais são os usuários mais relevantes. A partir daí, sempre que um usuário tweeta algum novo tweet, atribuímos seu PageRank como a relevância do seu tweet. E sempre que um usuário retweeta algum tweet, somamos o PageRank do usuário que retweetou à relevância do tweet que foi retweetado. Dessa forma conseguimos ordenar os tweets pela nossa métrica de relevância.

Para conseguirmos efetuar as análises utilizamos o graph-database Neo4J, conectado com a nossa já existente pipeline de dados e filtros, que é alimentada pela API do Twitter que fornece todos os tweets em tempo real para nossa análise.

Recalculamos o ranqueamento dos tweets periodicamente a fim de reordená-los e identificar os tweets mais relevantes do momento.

O resumo

Apesar de não serem difíceis, os conceitos apresentados acima podem soar bastante confusos e requererem algum tempo para serem digeridos e entendidos. Se você chegou até aqui mas ainda não entendeu muito bem o que está acontecendo, sem problemas! Irei dar o meu melhor em resumir e extrair o valor da solução proposta.

O nosso grande objetivo com tudo isso é resumir e ordenar o que está acontecendo no Twitter, para que operadores financeiros consigam fácil e rapidamente ficarem informados de novidades relevantes para o mercado.

Quando calculamos o PageRank estamos percebendo quais são os usuários mais importantes na nossa rede, isto é, os que recebem a maior quantidade de menções, repostas e retweets de outros usuários — mas ponderando pela importância de quem menciona.

Para ordenar usuários por relevância, uma solução extremamente mais simples seria utilizar a quantidade followers desse usuário como sua métrica de relevância. Entretanto, o que pode parecer um modelo simples e eficiente, na verdade dificilmente apresenta bons resultados, pois abre brechas para que bots e usuários sem engajamento tenham o mesmo peso para a rede que usuários influentes. Em contraste, para o nosso algoritmo, mais importante que quantos lhe seguem, é quem lhe segue. Qualidade à quantidade.

Da mesma forma, quando analisamos a relevância de um tweet, levamos em conta quem o publicou e quem o retweetou. E como para a nossa rede nem todos os usuários são iguais, nossa solução permite que você identifique tweets que, apesar de não terem grande números de retweets, já são relevantes, criando assim um vantagem na sua velocidade de acesso à informação, permitindo que você tenha conhecimento de novidades que ainda não se espalharam!

Resumindo, ao utilizarmos o PageRank para conferir relevância aos nossos usuários conseguimos um algoritmo que identifica de forma mais eficiente quais são os usuários relevantes, e detecta mensagens potencialmente relevantes mais rapidamente que em abordagens mais simples.

O chamado

Acreditamos que ao reduzirmos o tempo de acesso à informações de valor estamos contribuindo para a otimização do seu processo de tomada de decisões.

Essa é uma, entre várias, das soluções que estamos desenvolvendo na Heimdall para auxiliar operadores do mercado de criptomoedas a tomarem decisões mais precisas e inteligentes.

Apesar de já termos a tecnologia desenvolvida, ainda estamos estudando as maneiras mais requisitadas e eficientes de prover esses dados a operadores do mercado de criptomoedas.

Em breve estaremos lançando uma versão Beta do nosso produto para alguns usuários selecionados, caso você tenha interesse em testar nossas soluções, basta deixar seu e-mail abaixo!

--

--