
Les systèmes de recommandation revisités par le deep learning
⏱ 5 minQuelle vidéo regarder ? Quel livre lire ? Quel produit acheter ? Nos achats sur Internet, nos choix, sont désormais constamment influencés par les algorithmes de recommandation. Pour les améliorer, les grandes plateformes misent désormais sur le deep learning… Mais pour quels résultats ?
Comment guider au mieux les utilisateurs du forum Usenet, l’ancêtre de Reddit, dans la masse anarchique et en croissance exponentielle des fils de discussion ? C’est pour résoudre ce problème que deux chercheurs, John Riedl (Université du Minnesota) et Paul Resnick (MIT), publient en 1994 l’un des premiers articles présentant un système de recommandation. Celui-ci est fondé sur la notation des articles par les utilisateurs. L’idée sous-jacente est qu’un utilisateur donné sera susceptible d’apprécier les mêmes articles que d’autres utilisateurs ayant un historique de navigation et de notation similaire. Ils ébauchent ainsi le principe du « filtrage collaboratif ».
Dans les années suivantes, deux grandes catégories de systèmes de recommandation se dessinent : les user-based, basés sur le profil de l’utilisateur et consistant à émettre des recommandations en partant de la proximité de goûts entre utilisateurs, et les item-based, établissant la recommandation sur la base de similitudes entre produits. Au début des années 2000, la plupart des algorithmes combinent en réalité les deux approches. « Il s’avère en pratique que calculer des similarités entre utilisateurs est souvent très difficile, du fait d’un déficit de notes données par les utilisateurs », souligne Raphaël Fournier-S’niehotta, maître de conférences au CNAM et chercheur au sein de l’équipe Vertigo du Centre d’études et de recherche en informatique et communications (Cedric).
DE GIGANTESQUES MATRICES
« Il est plus efficace de renverser le problème en cherchant d’abord des similarités entre produits, c’est ce que fait Amazon en indiquant que “Les clients ayant achetés cet article ont aussi acheté…” », indique le chercheur. Une approche que le géant américain de la vente en ligne formalise en 2003 dans un article de référence pour le domaine. À cette époque, les systèmes de recommandation se basent principalement sur de gigantesques matrices, sortes de tableaux regroupant les notes ou d’autres critères jugés signifiants comme le temps passé sur une page, dans lesquelles les colonnes représentent les utilisateurs et les lignes les items recommandés, selon les plateformes : films, musiques, livres, articles, produits divers. Le rapprochement entre utilisateurs s’établit alors par le calcul de coefficients de corrélation et autres facteurs relevant du calcul matriciel.
Rapidement, le recours à une matrice unique est devenu obsolète. Les systèmes incorporent en effet une grande diversité d’informations : notes éventuelles, mais aussi historiques des clics/consultations, temps passé par page, métadonnées (catégorie, noms, descriptions) des produits, etc. Par la suite, l’approche par calcul matriciel a été concurrencée par le deep learning dont l’usage a explosé à partir de 2012 en vision artificielle. L’apprentissage profond introduit une différence conceptuelle. « Le deep learning prend en compte les attributs (par exemple les notes, ou le temps passé sur la page) pour apprendre des profils d’utilisateurs, et à utiliser une caractéristique seulement si elle est différenciante », décrit Raphaël Fournier-S’niehotta. Les systèmes des grandes plateformes du Web sont maintenant constitués de dizaines de matrices sur lesquelles on fait de l’apprentissage à l’aide de réseaux de neurones. À la fin, on combine ces différents résultats au sein d’un ultime système de décision, pour obtenir une liste de recommandations. »
Dans un article publié en 2017, Youtube donnait par exemple un aperçu de l’architecture générale de son système de recommandation. La notion de prétraitement des données (feature engineering) y est devenue une des clés de la performance. « Toute la difficulté pour ces grandes plateformes qui disposent de pléthore de données, pointe Raphaël Fournier-S’niehotta, est de déterminer les caractéristiques et les indicateurs les plus différenciants avant de les exploiter dans les réseaux de neurones. Par exemple, faut-il mieux se fier à l’historique d’achat ? À la quantité d’articles achetés ? La question de la pondération de ces caractéristiques est essentielle. »
DES RÉSEAUX DE NEURONES ADAPTÉS AUX GRAPHES
Du point de vue des algorithmes de deep learning, la recommandation ne pose pas les mêmes défis que la vision artificielle. « Dans une image, les pixels sont organisés de manière fixe les uns par rapport aux autres, alors que dans un système de recommandation, les données ne sont pas structurées en 2D », explique Raphaël Fournier-S’niehotta. Les relations entre clients d’un site commerçant ne relèvent pas de la même logique que les pixels d’une image et sont mieux représentées par des graphes. « Au sein d’un graphe où chaque utilisateur est représenté par un nœud, je peux avoir des voisins plus pertinents pour la recommandation (amis, famille) que d’autres que je n’ai jamais rencontrés. Or les modèles de type CNN (Convolutional Neural Network), qui ont merveilleusement fonctionné pour la classification des données structurées comme les images, dites “euclidiennes”, ne sont pas immédiatement adaptés à l’analyse des données déstructurées (non euclidiennes) que l’on manipule dans un système de recommandation. » En revanche, les Graph Neural Networks (GNN, réseaux de neurones graphiques, ou sur graphes), qui ont soulevé l’enthousiasme ces dernières années, proposent de remédier à ce problème.
Les GNN sont très proches des algorithmes de type Transformers qui ont révolutionné récemment le traitement du langage naturel (NLP), pour la traduction automatique ou la génération de texte. Leur originalité repose sur le mécanisme dit « d’attention », qui permet de détecter et de tenir compte de relations entre un mot et le contexte dans lequel il apparaît, c’est-à-dire d’autres mots qui peuvent être voisins ou plus lointains. De même, dans le contexte de la recommandation, le GNN vise à créer des représentations du profil d’un utilisateur à partir de celles de ses voisins : d’abord ses connexions directes, puis celles plus distantes. Cependant, l’une des particularités de la recommandation est que les graphes d’utilisateurs sont beaucoup plus vastes que les phrases dans le NLP. Les calculs sont donc coûteux, empêchant le passage à des systèmes de très grande taille.
Face à ce problème, le concept de « marche aléatoire », initialement introduit par l’algorithme PageRank, pièce centrale du moteur de recherche de Google, a apporté une solution intéressante. L’idée est que les pages web sont liées entre elles par les liens hypertextes. Si l’on saute de page en page de manière aléatoire et que l’on retombe rapidement, avec une haute probabilité, sur la page initiale, c’est que la page doit être importante. « Transposée aux GNN, cette marche aléatoire locale facilite le traitement de gros graphes en permettant d’échantillonner efficacement le voisinage d’un nœud afin de permettre le calcul de sa représentation, clé de la recommandation », explique Raphaël Fournier-S’niehotta. Cette approche hybride de « GNN à marche aléatoire » a notamment été formalisée à grande échelle en 2018 par des chercheurs de Stanford et de Pinterest en 2018, dans la foulée de travaux antérieurs.
DES SOLUTIONS « MAISON », PEU EXPORTABLES
En dépit de ces avancées conceptuelles, un article académique intitulé « Are we making much progress? » (« Faisons-nous vraiment beaucoup de progrès ? ») fait trembler le domaine depuis sa publication en 2019. « L’idée des chercheurs était d’entraîner sur un même jeu de données toutes les approches neuronales de l’état de l’art, et de comparer leurs performances avec celles de méthodes anciennes », raconte Raphaël Fournier-S’niehotta. Or, leurs conclusions sont pour le moins mitigées : seul un algorithme sur les 18 testés a montré des performances comparables à celles d’un système classique optimisé, mais non basé sur le deep learning. Que faut-il déduire de cette crise de reproductibilité? « Chaque acteur – comme les géants du Web – développe ses algorithmes de recommandation à partir de ses données ad hoc et cela marche pour lui, mais lorsque l’on tente de généraliser à d’autres types de données, le résultat est souvent délicat et parfois incertain, notamment comparé aux méthodes pré-deep learning, qui restent très bonnes », analyse le spécialiste.
Si les nouveaux algorithmes n’améliorent pas toujours très significativement la qualité de la recommandation, les préoccupations académiques se portent désormais sur des aspects connexes comme l’explicabilité des algorithmes, qui permettrait aux utilisateurs de savoir quelles données guident les suggestions et selon quels principes. Les questions de contextualité sont également centrales. Il y a encore des améliorations à apporter aux algorithmes, en particulier pour discerner les contextes multi-utilisateurs, par exemple lorsque toute la famille utilise pour visionner ensemble des contenus Netflix le compte d’une personne en particulier. Ou encore pour gérer le contexte multi-plateformes, c’est-à-dire pour recommander par exemple différents contenus Youtube selon que l’utilisateur se trouve sur mobile, sur ordinateur ou sur téléviseur.