Qu’est-ce que le filtrage collaboratif ?

Vue aérienne de l’autoroute de Los Angeles

Auteurs

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

Le filtrage collaboratif fait partie des systèmes de recommandation. Il regroupe les utilisateurs en fonction d’un comportement similaire afin de recommander de nouveaux éléments selon des caractéristiques du groupe.

Le filtrage collaboratif est une méthode de recherche d’informations. Elle permet de recommander des éléments aux utilisateurs en fonction de la façon dont d’autres utilisateurs aux préférences et comportement similaires ont interagi avec cet élément. En d’autres termes, les algorithmes de filtrage collaboratif regroupent les utilisateurs en fonction de leur comportement et utilisent les caractéristiques générales du groupe pour recommander des éléments à un utilisateur cible. Les systèmes de recommandation collaboratifs reposent sur un principe de base : les utilisateurs similaires (en termes de comportement) ont des centres d’intérêt et des goûts similaires.1

Filtrage collaboratif ou filtrage basé sur le contenu

Il existe deux principaux types de systèmes de recommandation : le filtrage collaboratif et les systèmes de recommandation basés sur le contenu. Ces derniers utilisent les caractéristiques des éléments pour recommander des éléments similaires à ceux avec lesquels un utilisateur particulier a déjà interagi de manière positive.2 Alors que le filtrage collaboratif se base sur la similarité entre utilisateurs pour recommander des éléments, le filtrage basé sur le contenu ne recommande des éléments qu’en fonction de leurs caractéristiques. Le filtrage basé sur le contenu cible les recommandations en fonction des préférences d’un utilisateur spécifique alors que le filtrage collaboratif s’appuie sur un groupe ou un type.

Ces deux méthodes ont connu de nombreuses applications dans le monde réel ces dernières années, du e-commerce comme Amazon aux réseaux sociaux en passant par les services de streaming. Ensemble, les systèmes collaboratifs et basés sur le contenu forment des systèmes de recommandation hybrides. En fait, en 2009, Netflix a adopté un système de recommandation hybride lors de son concours du prix Netflix.

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

Le fonctionnement du filtrage collaboratif

Le filtrage collaboratif utilise une matrice pour cartographier les interactions des utilisateurs avec chaque élément de son système. Le système extrait ensuite des valeurs de cette matrice pour les représenter sous forme de points de données dans un espace vectoriel. Divers indicateurs permettent ensuite de mesurer la distance entre les points afin de calculer la similarité utilisateur-utilisateur et élément-élément.

Matrice utilisateur-élément

Dans un cadre standard de filtrage collaboratif, nous disposons d’un ensemble de n utilisateurs et d’un ensemble de x éléments. La préférence individuelle de chaque utilisateur pour chaque élément est affichée dans une matrice utilisateur-élément (parfois appelée matrice d’évaluation de l’utilisateur). Les utilisateurs y sont représentés par des lignes et les éléments par des colonnes. Dans la matrice Rij, une valeur donnée représente le comportement de l’utilisateur u à l’égard de l’élément i. Ces valeurs peuvent être des nombres continus fournis par les utilisateurs (par exemple des évaluations) ou des valeurs binaires qui indiquent si un utilisateur donné a consulté ou acheté l’article. Voici un exemple de matrice utilisateur-élément pour le site Web d’une librairie :

Cette matrice affiche les évaluations des utilisateurs pour différents livres disponibles. Un algorithme de filtrage collaboratif compare les notes fournies par l’utilisateur pour chaque livre. En identifiant des utilisateurs ou des articles similaires sur la base de ces évaluations, il prédit les évaluations pour des livres qu’un utilisateur cible n’a pas consultés (représentés par null dans la matrice) et utilise ces prédictions pour recommander (ou non) ces livres à l’utilisateur cible.

Cet exemple de matrice est complet, car limité à quatre utilisateurs et quatre éléments. Cependant, dans des situations réelles, on manque souvent d’informations sur les préférences des utilisateurs. La matrice utilisateur-élément est alors peu fournie.3

Mesures de similarité

Comment un algorithme de recommandation collaborative détermine-t-il la similarité entre différents utilisateurs ? Comme nous l’avons mentionné, la proximité dans l’espace vectoriel est une méthode primaire. Mais il existe plusieurs indicateurs spécifiques pour déterminer cette proximité, notamment la similarité cosinus et le coefficient de corrélation de Pearson.

Similarité cosinus

La similarité cosinus détermine la mesure de l’angle entre deux vecteurs. Les vecteurs comparés comprennent un sous-ensemble d’évaluations pour un utilisateur ou un élément donné. Le score de similarité cosinus peut être n’importe quelle valeur comprise entre -1 et 1. Plus le cosinus est élevé, plus les deux éléments sont considérés comme similaires. Certaines sources recommandent cet indicateur pour les espaces de caractéristiques de grande dimension. Dans le filtrage collaboratif, les points vectoriels sont extraits directement de la matrice élément-utilisateur. La similarité cosinus est représentée par cette formule, où x et y représentent deux vecteurs dans l’espace vectoriel :4

Coefficient de corrélation de Pearson (PCC)

Le PCC permet de mesurer la similarité entre des éléments ou des utilisateurs en calculant la corrélation entre les évaluations respectives de deux utilisateurs ou éléments. Le PCC se situe entre -1 et 1, ce qui représente une corrélation négative à identique. Contrairement à la similarité cosinus, le PCC utilise toutes les évaluations d’un utilisateur ou d’un élément donné. Par exemple, pour calculer le PCC entre deux utilisateurs, nous utilisons cette formule, dans laquelle a et b sont des utilisateurs différents, et rai et rbi sont l’évaluation de cet utilisateur pour l’élément i:5

Types de systèmes de recommandation collaboratifs 

Il existe deux principaux types de systèmes de filtrage collaboratif : ceux basés sur la mémoire et ceux basés sur des modèles.

Systèmes basés sur la mémoire

Les systèmes de recommandation basés sur la mémoire, ou systèmes basés sur les voisins, sont des extensions des classificateurs des k voisins les plus proches, car ils tentent de prédire le comportement d’un utilisateur cible à l’égard d’un élément donné en fonction de celui d’utilisateurs ou d’ensembles d’objets similaires.Les systèmes basés sur la mémoire se divisent en deux sous-types :

  • Le filtrage basé sur l’utilisateur recommande des éléments à un utilisateur cible en fonction des préférences de comportement des utilisateurs. L’algorithme de recommandation compare le comportement passé d’un utilisateur cible à celui d’autres utilisateurs. Plus précisément, le système attribue à chaque utilisateur un poids représentant la similarité perçue avec l’utilisateur cible : il s’agit des voisins de l’utilisateur cible. Il sélectionne ensuite n utilisateurs avec les poids les plus élevés et calcule une prédiction du comportement de l’utilisateur cible (p. ex.évaluation d’un film, achat, aversions, etc.) à partir d’une moyenne pondérée du comportement des voisins sélectionnés. Sur la base de cette prévision, le système recommande ensuite des éléments à l’utilisateur cible. Le principe est que si l’utilisateur cible s’est comporté comme ce groupe dans le passé, il se comportera de la même manière avec de nouveaux éléments. Les fonctions de similarité basées sur l’utilisateur sont calculées entre les lignes de la matrice élément-utilisateur.6
  • Le filtrage basé sur les éléments recommande de nouveaux éléments à un utilisateur cible en fonction de son comportement par rapport à des éléments similaires. Par contre, le système collaboratif ne compare pas les caractéristiques des éléments (comme dans le filtrage basé sur le contenu), mais plutôt la façon dont les utilisateurs interagissent avec ces éléments. Par exemple, dans un système de recommandation de films, l’algorithme peut identifier des films similaires en fonction des corrélations entre toutes les notes des utilisateurs pour chaque film (en corrigeant la note moyenne de chaque utilisateur). Le système recommandera ensuite un nouveau film à un utilisateur cible en fonction des notes corrélées. En d’autres termes, si l’utilisateur cible a attribué une note élevée aux films a et b mais n’a pas vu le film c, et que d’autres utilisateurs qui ont donné une note élevée aux deux premiers ont fait de même pour le film c , le système recommandera le film c à l’utilisateur cible. Le filtrage basé sur les éléments calcule donc la similarité des éléments en fonction du comportement de l’utilisateur. Les fonctions de similarité basées sur les éléments sont calculées entre les colonnes de la matrice utilisateur-élément.7

Systèmes basés sur les modèles

Parfois, les méthodes basées sur la mémoire sont décrites comme des méthodes d’apprentissage basé sur les instances dans la littérature scientifique. Le filtrage basé sur les utilisateurs et les éléments fait donc des prédictions spécifiques à un cas donné d’interaction utilisateur-élément, comme l’évaluation d’un utilisateur cible pour un nouveau film.

En revanche, les méthodes basées sur des modèles créent un modèle de machine learning prédictif des données. Le modèle utilise les valeurs présentes dans la matrice élément-utilisateur en tant que jeu de données d’apprentissage. Il produit un modèle permettant de faire des prédictions pour les valeurs manquantes. Les méthodes basées sur des modèles utilisent ainsi des outils issus de la science des données et des algorithmes de machine learning, tels que les arbres de décision, les classificateurs bayésiens et les réseaux neuronaux, pour recommander des éléments aux utilisateurs.8

La factorisation matricielle est une méthode de filtrage collaboratif largement abordée, souvent classée comme un type de modèle à facteurs latents. En tant que modèle à facteurs latents, la factorisation matricielle suppose que la similarité utilisateur-utilisateur ou élément-élément peut être déterminée par un certain nombre de caractéristiques. Par exemple, l’évaluation d’un livre par un utilisateur peut être prédite en utilisant uniquement le type de livre et l’âge ou le genre de l’utilisateur. Cette représentation de dimension inférieure vise ainsi à expliquer, par exemple, les évaluations des livres en classifiant les éléments et les utilisateurs en fonction de quelques caractéristiques sélectionnées tirées des commentaires des utilisateurs.9 Comme elle réduit les caractéristiques d’un espace vectoriel donné, la factorisation matricielle sert également de méthode de réduction de la dimensionnalité.10

Mixture of Experts | 28 août, épisode 70

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l’actualité et des dernières tendances dans le domaine de l’IA.

Avantages et inconvénients du filtrage collaboratif

Avantages

Comparé aux systèmes basés sur le contenu, le filtrage collaboratif est plus efficace pour fournir de nouvelles recommandations aux utilisateurs. Les méthodes collaboratives permettent d’obtenir des recommandations auprès d’un groupe d’utilisateurs partageant les centres d’intérêt de l’utilisateur cible. Par exemple, si un groupe d’utilisateurs a aimé le même ensemble d’éléments que l’utilisateur cible, mais qu’il a également aimé un autre élément inconnu de celui-ci, qui ne partage aucune caractéristique avec les éléments précédents, le système de filtrage collaboratif va recommander ce nouvel élément à l’utilisateur. Le filtrage collaboratif peut recommander des éléments qu’un utilisateur cible n’a peut-être pas envisagés, mais qui correspondent néanmoins à son type d’utilisateur.11

Inconvénients

Le démarrage à froid est probablement l’inconvénient le plus largement cité des systèmes de filtrage collaboratif. Celui-ci se produit lorsqu’un nouvel utilisateur (voire un nouvel élément) entre dans le système. En l’absence d’historique d’interactions de cet utilisateur avec les éléments, le système est incapable d’évaluer la similarité ou d’associer le nouvel utilisateur aux utilisateurs existants. En revanche, les systèmes basés sur le contenu sont plus efficaces dans la gestion des nouveaux éléments, bien qu’ils peinent également à proposer des recommandations aux nouveaux utilisateurs.12
Autre problème majeur, la parcimonie des données peut affecter les systèmes de recommandation collaboratifs. Comme nous l’avons mentionné, les systèmes de recommandation manquent généralement de données sur les préférences des utilisateurs pour la plupart des éléments du système. La majeure partie de l’espace des caractéristiques du système est donc vide : c’est la parcimonie des données. À mesure que la parcimonie des données augmente, les points vectoriels deviennent tellement dissemblables que les modèles prédictifs sont moins efficaces pour identifier des modèles explicatifs.13 Cela explique en grande partie la popularité de la factorisation matricielle et de méthodes à facteurs latents associées, comme la décomposition de valeurs singulières, dans le filtrage collaboratif : elles atténuent la parcimonie des données en réduisant les caractéristiques. Pour résoudre ce problème, on peut utiliser d’autres méthodes, par exemple en demandant aux utilisateurs de fournir des informations sur leurs centres d’intérêt. Le système utilise ensuite ces données pour filtrer les recommandations.

Recherches récentes

Alors que les études précédentes ont abordé la recommandation comme un problème de prédiction ou de classification, un important corpus de recherches récentes soutient que celle-ci doit être envisagée comme un problème séquentiel de prise de décision. Dans ce paradigme, l’apprentissage par renforcement pourrait être plus adapté au traitement des recommandations. Cette approche affirme que la recommandation est mise à jour en temps réel en fonction de l’interaction utilisateur-élément : lorsque l’utilisateur ignore, clique, évalue ou achète des éléments suggérés, le modèle développe une politique optimale à partir de ces retours pour recommander de nouveaux éléments. 14 Des études récentes proposent une grande variété d’applications d’apprentissage par renforcement pour répondre aux intérêts changeants des utilisateurs à long terme, ce qui pose des défis pour le filtrage basé sur le contenu et collaboratif. 15

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise grâce à l’expertise de pointe d’IBM en matière d’IA et à son portefeuille de solutions.

Découvrir les solutions d’IA
Conseil et services en Intelligence Artificielle (IA)

IBM Consulting et ses services d'IA accompagnent les entreprises dans la redéfinition de leurs activités avec l'intelligence artificielle pour mener leur transformation.

Découvrir les services d’IA
Passer à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct
Notes de bas de page

« Collaborative Filtering », Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Mohamed Sarwat et Mohamed Mokbel, « Collaborative Filtering », Encyclopedia of Database Systems, Springer, 2018.

2 Prem Melville et Vikas Sindhwani, « Recommender Systems », Encyclopedia of Machine learning and Data Mining, Springer, 2017.

3 YUE SHI, MARTHA LARSON et 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, n° 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 et 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 et 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 et 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 et Vikas Sindhwani, « Recommender Systems », Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Yehuda Koren, Steffen Rendle et Robert Bell, « Advances in Collaborative Filtering », Recommender Systems Handbook, 3e édition, Springer, 2022.

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

11 Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar et 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 et Aaron Courville, Deep Learning, MIT Press, 2016.

13 Ian Goodfellow, Yoshua Bengio et 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, n° 43, 2005, pages 1265−1295, https://www.jmlr.org/papers/v6/shani05a.html. Yuanguo Lin, Yong Liu, Fan Lin, Lixin Zou, Pengcheng Wu, Wenhua Zeng, Huanhuan Chen et 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. M. Mehdi Afsar, Trafford Crump et Behrouz Far, « Reinforcement Learning based Recommender Systems : A Survey », ACM Computing Survey, vol. 55, n° 7, 2023, https://dl.acm.org/doi/abs/10.1145/3543846.

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, n° 97, 2019, pages 1052-1061, http://proceedings.mlr.press/v97/chen19f.html. Liwei Huang, Mingsheng Fu, Fan Li,Hong Qu, Yangjun Liu et 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.