
Resumo — Como o LinkedIn sabe que você talvez conheça aquela pessoa que trabalhou na sua antiga empresa há 10 anos? Não é mágica, é um dos melhores exemplos de previsão de arestas (link prediction) em um grafo social. O recurso “People You May Know” (PYMK) é uma máquina de recomendação sofisticada que vai além dos “amigos em comum”, usando a estrutura do grafo profissional (como empresas e escolas) para encontrar conexões relevantes e de alto valor.
1. O Problema: Prever Conexões em um Grafo Profissional
No seu núcleo, o LinkedIn é um grafo social:
- Nós: São os perfis das pessoas.
- Arestas: São as conexões de 1º grau (“Fulano está conectado com Ciclano”).
O desafio do “People You May Know” é um problema clássico de link prediction: quais arestas que não existem hoje têm a maior probabilidade de serem criadas no futuro?
Se o LinkedIn fosse apenas uma rede social comum, a resposta seria simples. Mas ele é uma rede profissional, o que torna o problema muito mais rico.
2. A Intuição Principal: O Poder dos “Triângulos”
A intuição mais básica por trás de qualquer sistema de recomendação social é o Fechamento Triádico (ou Triadic Closure).
A ideia é simples: “O amigo do meu amigo tem grande chance de ser meu amigo.”
Se você está conectado ao Rener, e o Rener está conectado à Ana, o sistema vê um “caminho de 2 saltos” (Você Rener
Ana) e percebe que a aresta (Você
Ana) está “faltando” para fechar o triângulo.
Algoritmos clássicos de grafos medem a força dessa sugestão:
- Common Neighbors (Amigos em Comum): Quantos amigos em comum vocês têm? Se você e Ana têm 10 amigos em comum, a chance de se conhecerem é altíssima.
- Adamic-Adar (Peso dos Comuns): Uma versão mais inteligente. Ela diz que ter um amigo em comum “raro” (uma pessoa com poucas conexões) é um sinal muito mais forte do que ter um amigo em comum que é um “super-conector” (alguém com 30.000 conexões).
3. O “Molho Secreto” do LinkedIn: Além dos Amigos
Aqui é onde o PYMK do LinkedIn brilha. Ele sabe que conexões profissionais são formadas por mais do que apenas amizades. Elas são formadas por afiliações compartilhadas.
O grafo do LinkedIn não é apenas de pessoas; ele é um grafo heterogêneo que inclui nós de Empresas, Instituições de Ensino, Habilidades (Skills), e Localizações.
O sistema de recomendação usa esses nós como features poderosíssimas:
- Co-afiliação de Empresa: Você e Ana trabalharam na Empresa X, mesmo que em períodos diferentes? Sinal fortíssimo.
- Co-afiliação de Escola: Vocês dois estudaram na mesma universidade?
- Similaridade de Perfil: Vocês têm o mesmo cargo? (ex: “Engenheiro de Dados”). Vocês listam as mesmas skills raras no perfil?
Uma pessoa que é seu “amigo de amigo” E que também trabalhou na sua antiga empresa não é mais uma sugestão; é quase uma certeza.
4. O Motor de Ranking: Juntando Todas as Pistas
O sistema do LinkedIn não usa apenas um desses sinais. Ele calcula dezenas, talvez centenas, de “pistas” (features) e as joga em um modelo de Machine Learning (como Gradient Boosting ou uma rede neural) que aprende a ponderar a importância de cada uma.
Esse modelo de ranking é alimentado por um conjunto de features, que incluem:
- Sinais de Grafo Social: O score de Adamic-Adar, o número de amigos em comum.
- Sinais de Proximidade (PPR): O score de Personalized PageRank (PPR) pode ser usado para encontrar pessoas “próximas” de você no grafo, mesmo que a 3 ou 4 saltos de distância, como vimos no caso do Twitter.
- Sinais de Afiliação: “Trabalhou na mesma empresa?” (sim/não), “Estudou na mesma universidade?” (sim/não), “Mesmo período?” (sim/não).
- Sinais de Perfil: Similaridade de títulos, sobreposição de skills.
O modelo de ranking aprende, por exemplo, que “mesma empresa” + “mesmo período” é um sinal 10x mais forte do que apenas “mesma universidade”.
5. Engenharia e Desafios em Escala
Entregar essas recomendações em tempo real para centenas de milhões de usuários é um desafio de engenharia gigantesco.
- Pré-Cálculo: O sistema não calcula tudo na hora. Ele pré-calcula “listas de candidatos” (ex: todas as suas conexões de 2º grau) e as armazena em caches de alta velocidade.
- Filtros de Privacidade: O sistema precisa obedecer rigorosamente às suas configurações de privacidade e bloquear pessoas que você possa ter bloqueado.
- Saturação: Você já rejeitou a sugestão de “Fulano” 5 vezes? O sistema precisa aprender a parar de sugeri-lo, para não saturar sua experiência.
- Combate a Spam: O modelo também precisa filtrar perfis falsos ou de baixa qualidade que tentam se conectar em massa para ganhar visibilidade.
Conclusão
O “People You May Know” é um exemplo perfeito de um sistema de recomendação moderno. Ele é híbrido: começa com a fundação da Teoria dos Grafos (fechamento triádico, Adamic-Adar, PPR) para entender a estrutura da rede e, em seguida, enriquece essa estrutura com features de perfil (empresa, escola, skills), usando Machine Learning para rankear e entregar a sugestão mais relevante.
É a fusão da estrutura do grafo com os atributos dos nós que cria a “mágica”.
Referências
- Adamic, L. A., & Adar, E. (2003). Friends and Neighbors on the Web. Social Networks.
- Liben-Nowell, D., & Kleinberg, J. (2007). The Link-Prediction Problem for Social Networks. Journal of the American Society for Information Science and Technology (JASIST).
- (Recomendo adicionar links para 1-2 posts do blog de engenharia do LinkedIn sobre PYMK, se você os encontrar. Eles dão ainda mais autoridade).
Sobre o autor
Rener Menezes
Cofundador & CTO — FitBank
Rener Menezes é cofundador e CTO do FitBank, fintech brasileira de Banking-as-a-Service. Com mais de 25 anos de experiência projetando sistemas financeiros em larga escala, é bacharel em Sistemas de Informação e mestrando na Unifor, onde pesquisa Redes Neurais de Grafos e aprendizado por reforço para detecção de fraude. Interesses: sistemas distribuídos, infraestrutura de pagamentos e graph ML.
Links: LinkedIn · ORCID · contato@grafolab.ia.br
Deixe uma resposta