A filtragem colaborativa é a técnica por trás das recomendações "Fãs Também Gostam" do Spotify e grande parte do Descobertas da Semana. Em vez de analisar como sua música soa, ela analisa o que seus ouvintes fazem.
A ideia central: se pessoas que salvaram a Faixa A também tendem a salvar a Faixa B, essas faixas estão conectadas, mesmo que não soem nada parecidas.
Como funciona conceitualmente
Imagine uma planilha massiva com cada usuário do Spotify como uma linha e cada música como uma coluna. Cada célula contém um 1 se o usuário transmitiu aquela música e 0 se não transmitiu.
Esta matriz é esmagadoramente esparsa. Com mais de 700 milhões de usuários e mais de 100 milhões de faixas, a grande maioria das células está vazia. Mas as células que estão preenchidas contêm padrões ocultos.
A filtragem colaborativa encontra esses padrões perguntando: quais usuários se comportam de maneira semelhante? E quais músicas aparecem juntas nos históricos de audição desses usuários?
Quando o algoritmo vê que fãs do Artista A consistentemente ouvem o Artista B, ele cria uma associação. Novos ouvintes do Artista A têm, então, maior probabilidade de receber a recomendação do Artista B.
Feedback Implícito vs. Explícito
O Netflix pede aos usuários para avaliarem filmes em uma escala de 1 a 5. Isso é feedback explícito, e mede diretamente a preferência.
O Spotify não pede para você avaliar músicas. Em vez disso, ele infere a preferência a partir do feedback implícito:
| Sinal | Interpretação |
|---|---|
| Transmitir uma faixa | Positivo fraco (você tolerou) |
| Concluir uma faixa | Positivo moderado (você não pulou) |
| Salvar uma faixa | Positivo forte (você quer na sua biblioteca) |
| Adicionar à playlist | Positivo forte (você a curou intencionalmente) |
| Pular antes de 30 segundos | Negativo (você a rejeitou) |
| Ouvir repetidamente | Positivo muito forte (você retornou ativamente) |
Esses sinais são mais ruidosos do que as avaliações explícitas. Alguém pode transmitir uma faixa em segundo plano sem gostar dela. Mas em escala, os padrões ficam claros.
Fatoração de matriz: a matemática por trás disso
O Spotify usa uma técnica chamada fatoração de matriz para tornar a matriz usuário-música gerenciável.
Em vez de armazenar bilhões de 1s e 0s, o algoritmo comprime a matriz em duas matrizes menores:
- Uma matriz de usuário que descreve cada usuário em termos de preferências ocultas (chamadas de "fatores latentes")
- Uma matriz de item que descreve cada música em termos dos mesmos fatores ocultos
Esses fatores latentes não são coisas como "gênero" ou "tempo". São dimensões abstratas que o algoritmo descobre por conta própria. Um fator pode capturar "música de dança de alta energia". Outro pode capturar "cantor-compositor acústico". O algoritmo não os rotula; ele apenas aprende que eles são importantes.
Para prever se um usuário gostará de uma música, o algoritmo multiplica os valores do fator do usuário pelos valores do fator da música. Um produto alto significa uma correspondência provável.
Como o Spotify treina o modelo
O treinamento usa um método chamado Mínimos Quadrados Alternados (ALS):
- Inicializar valores aleatórios para os fatores de usuário e item
- Manter os fatores de item fixos; otimizar os fatores de usuário para minimizar o erro de previsão
- Manter os fatores de usuário fixos; otimizar os fatores de item
- Repetir até que as previsões parem de melhorar
Os engenheiros do Spotify também desenvolveram a Fatoração de Matriz Logística, uma variante que prevê a probabilidade de um usuário preferir um item específico. Isso é particularmente útil para feedback implícito, onde os níveis de confiança variam.
O modelo é treinado na infraestrutura de computação distribuída do Spotify (Hadoop e Spark) e é atualizado regularmente para capturar novos comportamentos de audição.
Recomendações em tempo real
Treinar o modelo completo é computacionalmente caro, mas as recomendações acontecem em tempo real.
A sacada: manter os vetores de item estáticos enquanto atualiza os vetores de usuário com frequência. Quando você ouve uma nova música, o Spotify atualiza seu vetor de usuário quase imediatamente. Seu próximo Descobertas da Semana reflete essa mudança.
As recomendações são então calculadas usando busca de vizinho mais próximo aproximado (ANN), encontrando as músicas cujos vetores de item estão mais próximos do seu vetor de usuário.
O que isso significa para os artistas
A filtragem colaborativa recompensa a sobreposição de público. Quanto mais seus ouvintes também ouvem artistas estabelecidos, mais fortes são as associações que o algoritmo pode construir.
Como construir o sinal de filtragem colaborativa:
- Mire nos ouvintes certos - Fãs que também ouvem artistas semelhantes criam padrões mais claros do que ouvintes aleatórios que não se encaixam no seu som
- Incentive salvamentos, não apenas transmissões - Salvamentos são um sinal mais forte do que transmissões passivas
- Lance consistentemente - Lançamentos regulares mantêm você ativo na rotação de seus ouvintes, reforçando associações ao longo do tempo
O desafio do início frio (cold start):
Artistas novos sem histórico de streaming não têm dados de filtragem colaborativa. O algoritmo não consegue encontrar padrões que ainda não existem. É por isso que a análise de áudio é importante para novos lançamentos: ela fornece um sinal de fallback até que os dados dos ouvintes se acumulem.
Filtragem colaborativa vs. análise de áudio
Esses dois sistemas se complementam:
| Filtragem Colaborativa | Análise de Áudio |
|---|---|
| Baseada no comportamento do ouvinte | Baseada em características sônicas |
| "Fãs de X também gostam de Y" | "Soa semelhante a Y" |
| Requer histórico de audição | Funciona para faixas totalmente novas |
| Pode conectar gêneros não relacionados | Permanece dentro dos bairros sônicos |
Um artista folk e um artista de hip-hop com sons completamente diferentes podem ser conectados por meio da filtragem colaborativa se seus públicos se sobrepuserem. A análise de áudio nunca faria essa conexão.
Inversamente, duas faixas com perfis de áudio idênticos podem nunca ser recomendadas juntas se seus públicos não tiverem sobreposição.
A melhor posição algorítmica vem de ambos: música que soa como o que seu público-alvo já ouve, promovida para ouvintes que se engajam com artistas semelhantes.
