Início
topics
Filtragem colaborativa
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
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.
Saiba mais sobre as barreiras à adoção da IA, particularmente a falta de soluções de governança e gerenciamento de riscos da IA.
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.
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
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.
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
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
Existem dois tipos principais de sistemas de filtragem colaborativa: baseados em memória e baseados em modelo.
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:
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
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
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.
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
Explore este caso de uso do sistema de recomendação da IBM Community, que se concentra no setor de varejo.
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.
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.
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 Learning, PMLR, 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).