Collaborative Filtering (Filtrage Collaboratif)
Le filtrage collaboratif (collaborative filtering, CF) est une technique de système de recommandation qui prédit les préférences d’un utilisateur en exploitant les comportements et les évaluations d’utilisateurs similaires, sans analyser le contenu des articles recommandés.
Le principe est simple : si vous et un autre utilisateur avez aimé les mêmes films, il y a de fortes chances que les films qu’il a aimés et que vous n’avez pas vus vous plaisent aussi. C’est l’approche qui a rendu Spotify célèbre avec ses playlists Discover Weekly et qui alimente les recommandations d’Amazon, Netflix et YouTube. Le filtrage collaboratif ne nécessite aucune connaissance du contenu (pas besoin de savoir qu’un film est un thriller ou une comédie), il se base uniquement sur les patterns d’interactions. C’est à la fois sa force (généralité) et sa faiblesse (le problème du cold start).
- Définition
- Recommandation basée sur la similarité entre utilisateurs ou entre articles, via les interactions passées
- Types
- User-based CF, Item-based CF, Model-based CF (factorisation matricielle, deep learning)
- Données requises
- Matrice utilisateurs × articles (notes, clics, achats, écoutes)
- Modèles clés
- KNN, SVD/SVD++, NCF, DeepFM, LightGCN, GRU4Rec, SASRec
- Limites
- Cold start, parcimonie des données, scalabilité
- Utilisé par
- Netflix, Spotify, Amazon, YouTube, TikTok, LinkedIn
Principe fondamental
Le filtrage collaboratif repose sur une hypothèse forte : les utilisateurs qui ont eu des comportements similaires dans le passé auront des préférences similaires dans le futur. Cette hypothèse se formalise via une matrice d’interactions : en lignes, les utilisateurs ; en colonnes, les articles (films, musiques, produits) ; et dans chaque cellule, une valeur représentant l’interaction (note de 1 à 5, nombre d’écoutes, achat oui/non, temps de visionnage).
Cette matrice est presque toujours extrêmement creuse (sparse) : un utilisateur Netflix n’a vu qu’une infime fraction des 15 000+ titres du catalogue. Sur MovieLens-1M (un benchmark de référence), le taux de remplissage est d’environ 4 %. Le défi du filtrage collaboratif est de prédire les valeurs manquantes de cette matrice à partir des valeurs connues.
Les types de filtrage collaboratif
User-Based CF (basé sur les utilisateurs)
L’approche la plus intuitive. Pour recommander un article à l’utilisateur A, le système identifie les utilisateurs les plus similaires à A (ses « voisins »), puis recommande les articles que ces voisins ont aimés et que A n’a pas encore vus.
La similarité entre utilisateurs est mesurée par des métriques comme la similarité cosinus (angle entre les vecteurs d’interactions), la corrélation de Pearson (corrélation linéaire entre les notes), ou la distance de Jaccard (pour les données binaires). L’algorithme k-Nearest Neighbors (kNN) est la méthode standard : on identifie les k utilisateurs les plus proches et on agrège leurs notes pour prédire la note manquante.
Avantage : simple, intuitif, pas d’entraînement nécessaire. Inconvénient : ne passe pas à l’échelle. Avec des millions d’utilisateurs, calculer la similarité entre toutes les paires devient prohibitif. De plus, les profils utilisateurs changent rapidement (un utilisateur qui regarde un documentaire un jour ne sera pas forcément intéressé par des documentaires le lendemain).
Item-Based CF (basé sur les articles)
Au lieu de comparer les utilisateurs entre eux, on compare les articles entre eux. Deux articles sont similaires si les mêmes utilisateurs les ont aimés. Pour recommander à l’utilisateur A, on identifie les articles les plus similaires à ceux que A a déjà aimés.
Amazon a popularisé cette approche avec son fameux « Les clients ayant acheté cet article ont également acheté… ». L’item-based CF est plus stable que l’user-based car les relations entre articles changent moins vite que les profils utilisateurs. Il est aussi plus scalable car le catalogue d’articles est généralement plus petit que la base d’utilisateurs.
| Critère | User-Based CF | Item-Based CF |
|---|---|---|
| Similarité calculée entre | Utilisateurs | Articles |
| Stabilité | Faible (profils changent vite) | Élevée (relations inter-articles stables) |
| Scalabilité | Limitée (millions d’utilisateurs) | Meilleure (catalogue plus petit) |
| Explicabilité | « Parce que des gens comme vous ont aimé… » | « Parce que vous avez aimé X, et Y est similaire » |
| Utilisé par | Spotify (Discover Weekly) | Amazon (« Également acheté ») |
Model-Based CF (basé sur un modèle)
Plutôt que de calculer les similarités à la volée (memory-based), les approches model-based apprennent un modèle à partir des données d’interaction. Le modèle capture les patterns sous-jacents et peut prédire les interactions manquantes de façon plus rapide et plus précise.
La factorisation matricielle est l’approche model-based fondatrice. Elle décompose la matrice utilisateurs × articles en deux matrices de faible rang : une matrice d’embeddings utilisateurs et une matrice d’embeddings articles. Chaque utilisateur et chaque article sont représentés par un vecteur dense de dimension réduite (typiquement 50 à 300 dimensions). Le score prédit est le produit scalaire de l’embedding utilisateur et de l’embedding article. SVD (Singular Value Decomposition) et SVD++ (qui intègre le feedback implicite) sont les techniques de référence, rendues célèbres par le Netflix Prize (2006-2009).
Le filtrage collaboratif à l’ère du deep learning
Le deep learning a transformé le filtrage collaboratif en permettant de modéliser des interactions non linéaires complexes que la factorisation matricielle (produit scalaire linéaire) ne capture pas.
NCF (Neural Collaborative Filtering)
Publié par He et al. en 2017, NCF est l’architecture fondatrice du CF profond. Elle remplace le produit scalaire de la factorisation matricielle par un réseau de neurones (MLP, Multi-Layer Perceptron) qui apprend une fonction d’interaction non linéaire entre les embeddings utilisateur et article. NCF combine deux composantes : GMF (Generalized Matrix Factorization, qui capture les interactions linéaires) et MLP (qui capture les interactions non linéaires). Une étude comparative de 2025 sur les datasets MovieLens (100K, 1M, 25M) confirme que NCF surpasse les méthodes memory-based (KNN) et model-based classiques (SVD++) en termes de NDCG@10 et Precision@10.
DeepFM
DeepFM combine des Factorization Machines (pour les interactions de bas ordre entre features) avec un réseau de neurones profond (pour les interactions de haut ordre). Les deux composantes partagent les mêmes embeddings, ce qui réduit la complexité du modèle. DeepFM est devenu un standard pour la prédiction de taux de clic (CTR) en publicité en ligne, où le filtrage collaboratif s’applique à la sélection d’annonces pertinentes. Un modèle hybride DeepFM-SVD++ a été publié en 2025 pour les systèmes de recommandation multi-critères.
LightGCN et Graph Neural Networks
Le filtrage collaboratif peut être vu comme un problème sur graphe biparti : utilisateurs et articles sont des nœuds, les interactions sont des arêtes. Les Graph Neural Networks (GNN) exploitent naturellement cette structure. LightGCN (2020) simplifie les GNN pour le CF en supprimant les transformations non linéaires et les biais, ne conservant que l’agrégation de voisinage et les embeddings. Cette simplification paradoxale améliore les performances tout en réduisant le nombre de paramètres. PinSage (Pinterest) applique les GNN à un graphe de 3 milliards de nœuds pour recommander des épingles.
Recommandation séquentielle
Les approches séquentielles modélisent l’ordre des interactions, pas seulement leur existence. GRU4Rec utilise des réseaux récurrents (GRU) pour prédire le prochain article cliqué dans une session de navigation. SASRec (Self-Attentive Sequential Recommendation) applique le mécanisme d’attention des Transformers aux séquences d’interactions, surpassant les RNN en capturant les dépendances à longue portée. BERT4Rec utilise le masking bidirectionnel de BERT pour une modélisation encore plus riche. Ce sont ces architectures séquentielles qui ont ouvert la voie aux foundation models de Netflix et Spotify.
Filtrage collaboratif fédéré
La protection des données personnelles impose de nouvelles contraintes. Le filtrage collaboratif fédéré (Federated Collaborative Filtering) entraîne le modèle sans centraliser les données des utilisateurs. Chaque appareil calcule localement sa contribution à la mise à jour du modèle, et seuls les gradients agrégés sont partagés. FedNCF (Federated Neural Collaborative Filtering) combine apprentissage fédéré et NCF pour protéger la vie privée tout en maintenant la qualité des recommandations. Des travaux de 2025 utilisent même la diffusion augmentation et le reinforcement learning dans un cadre fédéré.
Les défis du filtrage collaboratif
Le problème du démarrage à froid (Cold Start)
Le cold start est le problème le plus fondamental du CF. Si un utilisateur est nouveau (pas d’historique), le système ne peut pas le comparer à d’autres. Si un article est nouveau (personne ne l’a vu), il ne peut pas être recommandé. Les solutions incluent : combiner avec du filtrage par contenu (utiliser les métadonnées de l’article), utiliser des LLM pour générer des représentations à partir des descriptions textuelles, ou collecter des préférences initiales via un questionnaire d’accueil.
Parcimonie des données (Data Sparsity)
Quand la matrice d’interactions est très creuse (ce qui est presque toujours le cas), les calculs de similarité sont peu fiables. Deux utilisateurs peuvent sembler similaires simplement parce qu’ils ont interagi avec les mêmes articles populaires. La factorisation matricielle et les autoencoders atténuent ce problème en apprenant des représentations denses, mais le défi reste entier pour les utilisateurs avec très peu d’interactions.
Scalabilité
Netflix a plus de 300 millions d’utilisateurs et plus de 15 000 titres. Spotify gère 600 millions d’utilisateurs et 100 millions+ de morceaux. Calculer et stocker les similarités entre toutes les paires d’utilisateurs ou d’articles est impossible à cette échelle. Les solutions : Approximate Nearest Neighbor (ANN) pour les recherches de similarité (bibliothèques FAISS, ScaNN, Annoy), factorisation matricielle distribuée, et GNN à échantillonnage de voisinage (GraphSAGE).
Feedback implicite
Le feedback implicite (clics, vues, temps passé, scrolls) est bien plus abondant que le feedback explicite (notes, likes) mais aussi plus bruité. Un clic ne signifie pas toujours un intérêt réel (clickbait), et un non-clic ne signifie pas un désintérêt (l’utilisateur n’a peut-être pas vu l’article). Les modèles comme BPR (Bayesian Personalized Ranking) et WARP (Weighted Approximate-Rank Pairwise) sont spécifiquement conçus pour le feedback implicite en apprenant à classer les articles positifs au-dessus des articles négatifs.
Bulle de filtres et biais de popularité
Le CF tend à recommander les articles populaires (que beaucoup d’utilisateurs ont consommés) et à enfermer les utilisateurs dans des patterns existants. C’est la « bulle de filtres » : l’utilisateur ne découvre que du contenu similaire à ce qu’il connaît déjà. Les systèmes modernes intègrent des métriques de diversité et des mécanismes d’exploration (epsilon-greedy, Thompson sampling) pour contrebalancer ce biais.
CF vs Content-Based Filtering
| Critère | Filtrage Collaboratif | Filtrage par Contenu |
|---|---|---|
| Données requises | Interactions utilisateur-article (notes, clics) | Caractéristiques des articles (genre, auteur, tags) |
| Cold start article | ❌ Impossible sans interactions | ✅ Possible via les métadonnées |
| Cold start utilisateur | ❌ Impossible sans historique | ❌ Possible via profil initial |
| Sérendipité | ✅ Peut recommander du contenu inattendu | ❌ Tendance à la sur-spécialisation |
| Scalabilité | Dépend de la taille de la matrice | Dépend de la richesse des features |
| Exemple | Spotify Discover Weekly | Spotify « Parce que vous avez écouté… » |
En pratique, tous les systèmes de recommandation modernes sont hybrides et combinent les deux approches. Netflix, Spotify et Amazon utilisent le CF comme composante principale, enrichie par le filtrage par contenu pour gérer le cold start et améliorer la diversité.
Applications par domaine
Streaming vidéo et audio. Netflix et Spotify utilisent le CF comme fondation de leur moteur de recommandation. Le CF est complété par l’analyse de contenu (analyse audio pour Spotify, métadonnées pour Netflix) et des modèles séquentiels (Transformers) pour capturer l’évolution des goûts.
E-commerce. Amazon, Alibaba et Zalando utilisent le CF item-based pour le « cross-selling » (recommander des produits complémentaires) et le « upselling » (recommander des versions premium). Le CF est combiné avec la prédiction de CTR (DeepFM) pour optimiser l’affichage des publicités produits.
Réseaux sociaux. TikTok, Instagram et LinkedIn utilisent le CF pour le classement du feed, les suggestions de connexions et la recommandation de contenu. TikTok est particulièrement réputé pour la rapidité avec laquelle son algorithme de CF « comprend » les préférences d’un nouvel utilisateur.
Santé et éducation. Des applications NCF récentes (2026) montrent des résultats prometteurs pour la recommandation personnalisée de voyages et de parcours éducatifs, surpassant les méthodes traditionnelles en précision et en satisfaction utilisateur.
Verdict
Le filtrage collaboratif est la technique la plus éprouvée et la plus déployée des systèmes de recommandation. Après plus de deux décennies de recherche et de déploiement industriel (de Amazon en 1998 au Netflix Foundation Model en 2025-2026), le CF reste la brique fondamentale sur laquelle reposent les moteurs de personnalisation les plus performants du monde.
L’évolution est claire : du KNN memory-based au SVD/SVD++ model-based, puis au NCF/DeepFM/LightGCN basé deep learning, et maintenant aux foundation models inspirés des LLM (Netflix, Spotify). Chaque génération capture des patterns plus subtils et passe mieux à l’échelle. Mais les défis fondamentaux (cold start, parcimonie, bulle de filtres, vie privée) restent ouverts et alimentent une recherche académique très active.
Pour un développeur qui veut se lancer dans les systèmes de recommandation, le CF est le point de départ obligatoire. Commencez par implémenter un item-based CF avec kNN sur MovieLens, passez à SVD++, puis à NCF, et vous aurez une compréhension solide de l’ensemble du domaine.
Questions fréquentes sur le filtrage collaboratif
Comment Spotify utilise-t-il le filtrage collaboratif ?
Spotify a popularisé le filtrage collaboratif pour la musique, notamment avec sa playlist Discover Weekly. Le principe : si l’utilisateur A et l’utilisateur B ont des historiques d’écoute similaires, les morceaux que B écoute et que A ne connaît pas sont de bons candidats pour A. Spotify combine ce CF avec l’analyse audio (tempo, tonalité, énergie), les métadonnées d’artistes et, depuis 2025, des LLM fine-tunés (LLaMA) avec tokenisation sémantique du catalogue. Le CF reste la composante la plus puissante pour la découverte musicale car il ne dépend pas du genre ou du style : il peut recommander un morceau de jazz à un amateur de hip-hop si les patterns d’écoute le justifient.
Quelle est la différence entre user-based et item-based CF ?
Le user-based CF recommande en identifiant des utilisateurs similaires (« les gens comme vous ont aimé X »). L’item-based CF recommande en identifiant des articles similaires (« parce que vous avez aimé X, vous aimerez Y qui est consommé par les mêmes personnes »). En pratique, l’item-based est préféré en production car les relations entre articles sont plus stables dans le temps et plus scalables (le catalogue est généralement plus petit que la base d’utilisateurs). Amazon utilise principalement l’item-based CF, tandis que Spotify combine les deux approches.
Le filtrage collaboratif fonctionne-t-il sans notes explicites ?
Oui, et c’est même le cas le plus courant en production. La majorité des systèmes de recommandation modernes fonctionnent sur du feedback implicite : clics, temps de visionnage, achats, ajouts au panier, scrolls. Les notes explicites (1 à 5 étoiles) sont rares car peu d’utilisateurs prennent le temps de noter. Les algorithmes BPR (Bayesian Personalized Ranking) et les approches de type NCF sont spécifiquement conçus pour le feedback implicite. Netflix traite le feedback implicite comme un signal riche en modélisant non seulement l’action (regarder) mais aussi la durée, l’abandon, et le contexte (heure, appareil).
Comment le filtrage collaboratif gère-t-il les nouveaux articles (cold start) ?
Il ne le gère pas nativement, c’est sa limite fondamentale. Un article sans interaction ne peut pas être comparé à d’autres articles par le CF seul. Les solutions pratiques incluent : combiner avec du filtrage par contenu (les métadonnées de l’article permettent de le positionner dans l’espace des embeddings), utiliser des LLM pour générer des représentations à partir des descriptions textuelles, injecter le nouvel article dans des sessions de mise en avant (boosting) pour collecter rapidement des interactions, ou utiliser l’entraînement incrémental (comme Netflix qui initialise les embeddings de nouveaux titres via leurs métadonnées et les affine au fur et à mesure).
NCF (Neural Collaborative Filtering) est-il meilleur que SVD++ ?
Sur les benchmarks standards (MovieLens, Amazon Reviews), NCF surpasse SVD++ en termes de NDCG et Precision@K car il capture les interactions non linéaires via son réseau MLP. Cependant, une analyse critique (Dacrema et al., RecSys 2019) a montré que des baselines bien tuées (y compris SVD++) étaient souvent sous-estimées dans les comparaisons. En 2025-2026, l’étude comparative sur MovieLens 100K/1M/25M confirme l’avantage de NCF et LightGCN sur SVD++, mais la différence se réduit avec un tuning soigné. En production, le choix dépend des contraintes : SVD++ est plus simple, plus rapide et plus interprétable ; NCF et LightGCN offrent une meilleure précision au prix d’une complexité accrue.