Início

topics

Filtragem colaborativa

O que é filtragem colaborativa?
Explore a filtragem colaborativa com watsonx.ai Inscreva-se para receber atualizações sobre IA
Uma variedade de pessoas representando dados usados para filtragem de informações

 

Publicado: 21 de março de 2024
Colaboradores: Jacob Murel Ph.D., Eda Kavlakoglu

A filtragem colaborativa é uma abordagem utilizada em sistemas de recomendação. O sistema classifica os usuários conforme comportamentos parecidos, oferecendo novas recomendações de itens com base nas características do grupo.

A filtragem colaborativa é um método de recuperação de informações que recomenda itens aos usuários com base em como outros usuários com preferências e comportamentos semelhantes interagiram com esses itens. Em outras palavras, os algoritmos de filtragem colaborativa agrupam usuários com base em seu comportamento e utilizam as características gerais do grupo para recomendar itens a um usuário específico. Os sistemas de recomendação colaborativa operam com o princípio de que usuários com comportamentos semelhantes compartilham interesses e gostos similares.1

Filtragem colaborativa vs filtragem baseada em conteúdo

A filtragem colaborativa é um dos dois principais tipos de sistemas de recomendação, sendo o outro os recomendadores baseados em conteúdo. O método baseado em conteúdo utiliza as funcionalidades dos itens para sugerir outros semelhantes àqueles com os quais o usuário teve interações positivas anteriormente.2 A filtragem colaborativa se concentra na similaridade entre usuários para sugerir itens, enquanto a filtragem baseada em conteúdo faz recomendações exclusivamente com base nas funcionalidades do item. A filtragem baseada em conteúdo foca em recomendar itens de acordo com as preferências individuais de um usuário, diferentemente da filtragem colaborativa, que se baseia em grupos.

Ambos os métodos têm testemunhado muitas aplicações no mundo real nos últimos anos, desde e-commerce como a Amazon até redes sociais e serviços de streaming. Juntos, os sistemas colaborativos e baseados em conteúdo formam sistemas de recomendação híbridos. Em 2009, a Netflix, por meio de sua competição Netflix Prize, adotou um sistema de recomendação híbrido.

Por que a governança de IA é um imperativo empresarial na ampliação da inteligência artificial empresarial

Saiba mais sobre as barreiras à adoção da IA, particularmente a falta de soluções de governança e gerenciamento de riscos da IA.

Conteúdo relacionado Cadastre-se para receber o guia sobre modelos de base
Como funciona a filtragem colaborativa

A filtragem colaborativa utiliza uma matriz para mapear o comportamento dos usuários em relação a cada item no sistema. Em seguida, o sistema utiliza os valores dessa matriz para posicioná-los como pontos de dados em um espaço vetorial. Diversas métricas são utilizadas para medir a distância entre os pontos como forma de calcular a similaridade entre usuários e entre itens.

Matriz de itens de usuário  

Em um cenário padrão de filtragem colaborativa, temos um conjunto de n usuários e um conjunto de x itens. A preferência individual de cada usuário por cada item é exibida em uma matriz usuário-item (às vezes chamada de matriz de avaliações de usuários). Nessa matriz, os usuários são representados nas linhas e os itens nas colunas. Na matriz Rij, um valor específico representa o comportamento do usuário u em relação ao item i. Esses valores podem ser números contínuos fornecidos pelos usuários (como avaliações) ou valores binários que indicam se um usuário visualizou ou comprou o item. Aqui está um exemplo de matriz usuário-item para um site de livraria:

          

Esta matriz exibe as avaliações dos usuários para os diferentes livros disponíveis. Um algoritmo de filtragem colaborativa compara as avaliações fornecidas pelos usuários para cada livro. Ao identificar usuários ou itens semelhantes com base nessas classificações, o algoritmo prevê as notas para livros que um usuário-alvo ainda não viu, representados por null na matriz, e recomenda (ou não recomenda) esses livros ao usuário-alvo.

A matriz de exemplo utilizada aqui é completa, pois está restrita a quatro usuários e quatro itens. No entanto, em situações do mundo real, as preferências conhecidas dos usuários em relação aos itens são frequentemente limitadas, resultando em uma matriz usuário-item esparsa.3

Medidas de similaridade

Como um algoritmo de recomendação colaborativa determina a similaridade entre diferentes usuários? Como mencionado, a proximidade no espaço vetorial é o método principal. Mas as métricas específicas usadas para determinar essa proximidade podem variar. Duas dessas métricas são a similaridade de cossenos e o coeficiente de correlação de Pearson.

Similaridade de cosseno

A similaridade de cosseno indica a medição do ângulo entre dois vetores. Os vetores comparados consistem em um subconjunto de avaliações para um usuário ou item específico. O escore de similaridade do cosseno pode ser qualquer valor entre -1 e 1. Quanto maior o valor do cosseno, mais semelhantes são considerados dois itens. Algumas fontes recomendam essa métrica para espaços de funcionalidades de alta dimensão. Na filtragem colaborativa, os pontos vetoriais são extraídos diretamente da matriz usuário-item. A similaridade do cosseno é representada por esta fórmula, onde x e y significam dois vetores no espaço vetorial:4

Coeficiente de correlação de Pearson (PCC)

O PCC ajuda a medir a similaridade entre itens ou usuários ao calcular a correlação entre as avaliações respectivas de dois usuários ou itens. O PCC pode oscilar entre -1 e 1, o que representa uma correlação negativa a uma correlação idêntica. Ao contrário da similaridade do cosseno, o PCC utiliza todas as classificações de um determinado usuário ou item. Por exemplo, se calcularmos o PCC entre dois usuários, usamos esta fórmula, na qual a e b são usuários diferentes, e rai e rbi são a classificação desse usuário para o item i:5

Tipos de sistemas colaborativos de recomendação 

Existem dois tipos principais de sistemas de filtragem colaborativa: baseados em memória e baseados em modelo.

Baseados na memória

Os sistemas de recomendação baseados em memória, ou sistemas baseados em vizinhos, são extensões de classificadores k-vizinhos mais próximos, pois tentam prever o comportamento de um usuário-alvo em relação a um determinado item com base em usuários semelhantes ou em um conjunto de itens. Os sistemas baseados em memória podem ser divididos em dois subtipos:

  • A filtragem baseada no usuário recomenda itens para um usuário-alvo com base nas preferências dos usuários que se comportam. O algoritmo de recomendação compara o comportamento passado de um usuário-alvo com o de outros usuários. Especificamente, o sistema atribui a cada usuário um peso que representa sua similaridade percebida com o usuário-alvo, formando assim os vizinhos do usuário-alvo. Em seguida, ele seleciona os n usuários com os maiores pesos e calcula uma previsão do comportamento do usuário-alvo (por exemplo, avaliação de filmes, compras, dislikes, etc.) a partir de uma média ponderada do comportamento dos vizinhos selecionados. O sistema então recomenda itens ao usuário-alvo com base nessa previsão. A ideia é que, se o usuário-alvo teve um comportamento parecido com o desse grupo anteriormente, ele apresentará um comportamento similar em relação a itens que ainda não conheceu. As funções de similaridade baseadas em usuários são calculadas entre as linhas da matriz usuário-item.6
  • A filtragem baseada em itens recomenda novos itens para um usuário-alvo com base no comportamento desse usuário em relação a itens semelhantes. No entanto, é importante notar que, ao comparar itens, o sistema colaborativo não analisa as funcionalidades dos itens (como na filtragem baseada em conteúdo), mas sim a interação dos usuários com esses itens. Por exemplo, em um sistema de recomendação de filmes, o algoritmo pode identificar filmes semelhantes com base nas correlações entre todas as avaliações dos usuários para cada filme (corrigindo pela média das classificações de cada usuário). O sistema, então, recomendará um novo filme ao usuário-alvo com base nas classificações correlacionadas. Ou seja, se o usuário-alvo avaliou os filmes a e b positivamente, mas ainda não assistiu ao filme c, e outros usuários que deram altas notas aos dois primeiros também avaliaram o filme c de forma positiva, o sistema recomendará o filme c ao usuário-alvo. Dessa forma, a filtragem baseada em itens calcula a similaridade entre itens por meio do comportamento dos usuários. As funções de similaridade entre itens são calculadas entre as colunas da matriz usuário-item.7
Baseados no modelo

Em alguns casos, os métodos baseados em memória são referidos na literatura como métodos de aprendizado por instância. Isso indica como a filtragem baseada em usuários e em itens faz previsões específicas para uma determinada interação entre usuário e item, como a classificação de um filme ainda não visto por um usuário-alvo.

Por outro lado, os métodos baseados em modelos desenvolvem um modelo preditivo de aprendizado de máquina a partir das informações. O modelo utiliza os valores presentes na matriz usuário-item como conjunto de dados de treinamento e gera previsões para os valores ausentes com o modelo resultante. Assim, os métodos baseados em modelo utilizam técnicas de ciência de dados e algoritmos de aprendizado de máquina, como árvores de decisão, classificadores de Bayes e redes neurais, para recomendar itens aos usuários.8

A fatoração de matrizes é um método de filtragem colaborativa amplamente discutido, frequentemente classificado como um tipo de modelo de fator latente. Como um modelo de fator latente, a fatoração de matrizes assume que a similaridade entre usuários ou itens pode ser determinada por um número específico de funcionalidades. Por exemplo, a classificação de um livro por um usuário pode ser prevista apenas com base no gênero do livro e na idade ou gênero do usuário. Essa representação de dimensão inferior visa, portanto, explicar, por exemplo, as classificações de livros, caracterizando itens e usuários de acordo com algumas funcionalidades selecionadas extraídas dos dados de feedback dos usuários.9 Devido à sua funcionalidade de reduzir as características de um espaço vetorial específico, a fatoração de matrizes também atua como um método de redução de dimensionalidade.1

Vantagens e desvantagens da filtragem colaborativa
Vantagens

Em relação aos sistemas baseados em conteúdo, a filtragem colaborativa se destaca por proporcionar recomendações inovadoras aos usuários. Os métodos baseados em colaboração extraem recomendações de um grupo de usuários que compartilham interesses com um usuário-alvo. Por exemplo, se um grupo de usuários gostou do mesmo conjunto de itens que o usuário-alvo, mas também apreciou um item adicional desconhecido para o usuário-alvo, pois não possui funcionalidades em comum com o conjunto anterior, um sistema de filtragem colaborativa recomendará esse item novo ao usuário. A filtragem colaborativa pode recomendar itens que um usuário-alvo pode não ter considerado, mas que, ainda assim, são atraentes para seu perfil.11

Desvantagens

O problema do "cold start" é talvez a desvantagem mais amplamente citada dos sistemas de filtragem colaborativa. Isso ocorre quando um novo usuário (ou até mesmo um novo item) entra no sistema. A falta de histórico de interação do usuário com os itens impede que o sistema avalie a similaridade ou associação do novo usuário com os usuários existentes. Por outro lado, os sistemas baseados em conteúdo são mais hábeis em lidar com novos itens, embora também tenham dificuldades com as recomendações para novos usuários.12

A escassez de dados é um problema significativo que pode prejudicar os sistemas de recomendação colaborativa. Como mencionado, os sistemas de recomendação geralmente carecem de dados sobre as preferências dos usuários para a maioria dos itens no sistema. Isso resulta no fato de que a maior parte do espaço de funcionalidades do sistema está inativa, uma condição denominada sparsidade de dados. Com o aumento da esparsidade de dados, os pontos vetoriais tornam-se tão díspares que os modelos preditivos se tornam menos eficientes em identificar padrões explicativos.13 Essa é uma das razões principais pelas quais a fatoração de matrizes e métodos de fatores latentes, como a decomposição em valores singulares, são muito utilizados na filtragem colaborativa, uma vez que mitigam a esparsidade de dados através da redução de funcionalidades. Outros métodos implementados para resolver esse problema podem envolver os próprios usuários avaliando e fornecendo informações sobre seus interesses, que o sistema pode então usar para filtrar recomendações.

Pesquisa recente

Embora estudos anteriores tenham abordado a recomendação como um problema de predição ou classificação, uma quantidade significativa de pesquisas recentes defende que ela deve ser vista como um problema de tomada de decisão sequencial. Nesse paradigma, o aprendizado por reforço pode ser mais adequado para lidar com recomendações. Essa abordagem defende que as recomendações são atualizadas em tempo real de acordo com a interação entre usuário e item; à medida que o usuário pula, clica, avalia e compra itens sugeridos, o modelo desenvolve uma política ideal a partir desse feedback para recomendar novos itens.14 Estudos recentes propõem uma ampla variedade de aplicações de aprendizado por reforço para lidar com interesses de usuários mutáveis e de longo prazo, que apresentam desafios tanto para a filtragem baseada em conteúdo quanto para a filtragem colaborativa.15

Recursos relacionados IBM e uma loja de departamentos criam um recomendador

Explore este caso de uso do sistema de recomendação da IBM Community, que se concentra no setor de varejo.

Além da filtragem colaborativa: o problema da recomendação de listas

A IBM Research propõe um novo framework em duas camadas que se baseia em algoritmos de filtragem colaborativa existentes para otimizar a probabilidade de cliques em uma lista.

Ganhe um certificado profissional do IBM Machine Learning

Prepare-se para uma carreira em aprendizado de máquina com o curso da IBM na Coursera. Adquira as habilidades em alta demanda e experiência prática para estar pronto para o mercado de trabalho em menos de 3 meses.

Dê o próximo passo

Treine, valide, ajuste e implemente IA generativa, modelos fundacionais e recursos de machine learning com o IBM watsonx.ai, um estúdio empresarial de última geração para desenvolvedores de IA. Crie aplicações de IA em uma fração do tempo e com muito menos dados.

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

1 “Collaborative Filtering,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Mohamed Sarwat and Mohamed Mokbel, “Collaborative Filtering,” Encyclopedia of Database Systems, Springer, 2018.

2 Prem Melville and Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine learning and Data Mining, Springer, 2017.

3 YUE SHI, MARTHA LARSON, and ALAN HANJALIC, “Collaborative Filtering beyond the User-Item Matrix: A Survey of the State of the Art and Future Challenges,” ACM Computing Surveys, vol. 47, no. 1, 2014, https://dl.acm.org/doi/10.1145/2556270. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.

4 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015. Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, and Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020.

5 Kim Falk, Practical Recommender Systems, Manning Publications, 2019. J. Ben Schafer, Dan Frankowski, Jon Herlocker, and Shilad Sen, “Collaborative Filtering Recommender Systems,” The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007.

6 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Prem Melville and Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

7 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.

8 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

9 Prem Melville and Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Yehuda Koren, Steffen Rendle, and Robert Bell, “Advances in Collaborative Filtering,” Recommender Systems Handbook, 3rd edition, Springer, 2022.

10 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

11 Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, and Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020. Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

12 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.

13 Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.

14 Guy Shani, David Heckerman, Ronen I. Brafman, “An MDP-Based Recommender System,” Journal of Machine Learning Research, Vol. 6, No. 43, 2005, pp. 1265−1295, https://www.jmlr.org/papers/v6/shani05a.html (link externo ao site ibm.com). Yuanguo Lin, Yong Liu, Fan Lin, Lixin Zou, Pengcheng Wu, Wenhua Zeng, Huanhuan Chen, and Chunyan Miao, “A Survey on Reinforcement Learning for Recommender Systems,” IEEE Transactions on Neural Networks and Learning Systems, 2023, https://ieeexplore.ieee.org/abstract/document/10144689 (link externo ao site ibm.com). M. Mehdi Afsar, Trafford Crump, and Behrouz Far, Reinforcement Learning based Recommender Systems: A Survey,” ACM Computing Survey, Vol. 55, No. 7, 2023, https://dl.acm.org/doi/abs/10.1145/3543846 (link externo ao site ibm.com).

15 Xinshi Chen, Shuang Li, Hui Li, Shaohua Jiang, Yuan Qi, Le Song, “Generative Adversarial User Model for Reinforcement Learning Based Recommendation System,” Proceedings of the 36th International Conference on Machine LearningPMLR, No. 97, 2019, págs. 1052-1061, http://proceedings.mlr.press/v97/chen19f.html (link externo ao site ibm.com). Liwei Huang, Mingsheng Fu, Fan Li,Hong Qu, Yangjun Liu, e Wenyu Chen, “A deep reinforcement learning based long-term recommender system,” Knowledge-Based Systems, Vol. 213, 2021, https://www.sciencedirect.com/science/article/abs/pii/S0950705120308352 (link externo ao site ibm.com).