Cadastre-se gratuitamente nas nossas newsletters

Elon Musk pode ter feito um monte de patacoadas no Twitter – como encerrar o acesso gratuito à sua API e forçar o encerramento de muitos aplicativos e monitoramentos – mas sobre uma coisa ele merece o crédito: ele entrega o que promete.

A mais recente entrega foi a abertura dos códigos e fórmulas do algoritmo de recomendação da plataforma na aba For You, divulgados no GitHub nesta sexta-feira.

EXPLICA MAIS. É muito complexo fazer uma análise precisa desse código de forma independente em pouco tempo, então vamos ao que a empresa falou no post em seu blog de engenharia.

O algoritmo utiliza uma base de 500 milhões de tweets publicados diariamente para montar a página For You, aplicando um funil com três elementos principais:

  • Seleção dos principais tweets, a partir de um processo chamado candidate sourcing;
  • Rankeamento de cada tweet a partir de um modelo de aprendizagem de máquina;
  • Aplicação de filtros, como segurança, contas bloqueadas e posts já vistos.

SELEÇÃO DE CANDIDATOS

O processo de candidate sourcing tenta retornar os principais 1.500 tweets dentre milhões de postagens, valendo-se da rede quem você segue, mas também de perfis que você não segue, em uma proporção de 50% para cada lado.

RECOMENDAÇÕES DENTRO DA REDE. Um componente importante é a análise da probabilidade de interação entre dois usuários, a partir de um modelo chamado Real Graph, desenvolvido pelo próprio Twitter. A empresa publicou um estudo em 2014 sobre isso.

A grosso modo, a funcionalidade desse modelo é baseada em três elementos principais:

  • se um usuário segue o outro;
  • se um usuário possui o outro em sua agenda de contatos do telefone;
  • se um usuário já interagiu com o outro.

RECOMENDAÇÕES FORA DA REDE. Para achar recomendações de tweets e perfis que um usuário não segue, são utilizadas duas abordagens:

  • Quais são os tweets que uma pessoa que você segue se engajou?
  • Quem curte tweets semelhantes e quais tweets nessa categoria foram recentemente curtidos?

A resposta a essas duas perguntas gera tweets que podem abastencer sua timeline e, ocasionalmente, lhe fazer questionar porque diabos você está vendo aquilo.

Há também um grupo de usuários influentes, espalhados em 145 mil comunidades (cada um pode estar em mais de uma), cujos tweets também são servidos no seu feed. "Quanto mais usuários de uma comunidade curtirem um tweet, mais aquele tweet será associado àquela comunidade", diz o post.

Maiores comunidades do Twitter. Divulgação/Twitter

Rankeamento

Após esse processo, sobram cerca de 1.500 tweets que podem aparecer no seu feed, e o algoritmo vai pra fase de rankeamento, que vai definir a prioridade em que esses posts vão ser mostrados.

"Neste estágio, todos os (tweets) candidatos são tratados igualmente, sem levar em conta a fonte originária", diz o post.

Esse rankeamento é baseado em um rede neural de 48 milhões de parâmetros, à qual é otimizada para atrair engajamento positivo (tipo likes, retweets e respostas), e aplicar uma "nota" para cada tweet a partir da probabilidade de engajamento entre o usuário e aquele conteúdo.

Filtros

Por fim, o algoritmo aplica uma série de filtros, entre eles:

  • Filtro de visibilidade, que seleciona tweets baseados em conteúdo e as preferências do usuário (tipo contas mutadas ou bloqueadas);
  • Diversidade de autores, o que evita a repetição de muitos tweets da mesma pessoa;
  • Equilíbrio de conteúdo, para equilibrar o que faz parte de sua rede com tweets de pessoas que você não segue;

Resultado

A partir dessas etapas, os tweets selecionados podem ser mostrados na linha do tempo de um usuário, com a inclusão de anúncios e outras recomendações.

Via Twitter (no Github e no blog)

Twitter/XGithub
Venha para o NúcleoHub, nossa comunidade no Discord.