Passer au contenu principal

Recommandation : Aux fondements d’une révolution “marketing”

Vous l’aurez sans aucun doute remarqué, vos applis vous connaissent ! Elles vous connaissent même plutôt bien, et de mieux en mieux à mesure que vous les utilisez.

Elles sont toujours plus promptes à vous proposer un livre qui ressemble beaucoup à celui que vous venez d’acheter, une série similaire à celle que vous venez de terminer, la maison de vos rêves à la campagne alors que vous avez justement des envies de grands espaces ou encore des morceaux d’artistes en cohérence troublante avec vos goûts musicaux.
Alors comment font-elles, ces applis, pour vous cerner aussi bien ? Espionnage ? Télépathie ? Rien de tout cela, le maître-mot pour expliquer ce phénomène, auquel nous commençons à être bien habitués, est la « recommandation » et il résume à lui tout seul LA révolution marketing qui s’est opérée au cours des années 2010. Il s’agit, de manière très générale, d’un processus qui consiste à adapter l’offre et les contenus publicitaires aux goûts et aux habitudes des individus.

Comme toutes les révolutions, celle-ci résulte d’un progrès technique fondamental : l’avènement d’une nouvelle génération de « systèmes de recommandation ». Parce qu’ils occupent aujourd’hui une place prépondérante dans nos sociétés et parce que nous y sommes absolument tous confrontés dès lors que nous ouvrons un navigateur web, il nous apparaît crucial de comprendre comment fonctionnent ces systèmes de recommandation. Quels sont leurs objectifs opérationnels ? Sur quels principes mathématiques reposent-ils ? Et quelles technologies exploitent-ils pour fonctionner à grande échelle ? C’est ce à quoi nous tenterons, dans cet article, d’apporter une ébauche de réponse.
Autant le dire tout de suite, nous ne livrerons pas ici une description simple et unifiée du fonctionnement d’un système de recommandation, tout simplement parce qu’il n’existe pas de système de recommandation universel. Chaque système est adapté à un cas d’usage spécifique.

Notre but est ici de synthétiser les visées générales propres à ces cas d’usage, de voir comment celles-ci se déclinent en objectifs techniques et opérationnels, lesquels peuvent d’ailleurs parfois être contradictoires. Puis nous verrons comment ces objectifs vont se traduire dans la construction d’algorithmes de recommandation. En dernière partie, nous regroupons ces algorithmes en cinq grandes familles que nous présenterons successivement.

Objectif principal de la recommandation : la satisfaction utilisateur

Ne nous le cachons pas, les systèmes de recommandation ne sont pas des innovations à caractère purement philanthrope. Leur finalité est bien évidemment l’accroissement du profit. On attend avant tout de leur mise en place qu’elle amène une augmentation du volume des ventes en ajustant le plus précisément possible l’offre pour satisfaire à la demande de chaque client. Le leitmotiv est donc ici la satisfaction de l’utilisateur qui produit un cycle vertueux : plus l’utilisateur est satisfait, plus il a envie d’utiliser à nouveau le système, lequel augmente sa connaissance de l’utilisateur et du même coup sa capacité à satisfaire l’utilisateur et ainsi de suite.
Marketeurs et utilisateurs goûtent, par ailleurs, peu les systèmes « boîtes noires », ils attendent de leur côté que le système leur explique comment il est parvenu à la conclusion qu’il valait mieux recommander tel produit plutôt qu’un autre.
« L’Explication » ou l’interprétabilité est donc un autre objectif que l’on a en tête au moment de mettre en place un système de recommandation.

Objectifs opérationnels des systèmes de recommandation

La notion centrale à prendre en compte dans la construction d’un système de recommandation étant la satisfaction de l’utilisateur, il vaudrait mieux lui apporter des résultats qui correspondent à sa recherche. Le premier objectif à atteindre est donc la pertinence.
Interrogeons-nous rapidement sur cette notion. Il s’agit pour le système de mettre en évidence les « objets » les plus adéquats à la requête exprimée. Mais il peut aussi tenir compte de l’émetteur de cette requête et proposer les résultats les plus en rapport non seulement avec la requête mais également avec l’utilisateur ou tout du moins avec ce qu’il sait de lui.

La pertinence d’un résultat se construit donc à partir de la connaissance des objets et des utilisateurs qui les recherchent.
Néanmoins, un système de recommandation qui rapporterait invariablement les mêmes résultats au même utilisateur, aussi pertinents soient-ils, verrait son intérêt décliner très rapidement. En quelque sorte, un système de recommandation ne doit pas se laisser enfermer dans une forme de routine au risque de perdre sa relation à ses utilisateurs. On introduit donc trois autres principes dans sa conception : la nouveauté, la diversité et la sérendipité.

  • La nouveauté consiste, de manière très transparente, à proposer des résultats que l’utilisateur n’a pas eu l’occasion de voir auparavant.
  • La diversité consiste, lorsque le système est censé produire plusieurs résultats, à y introduire de la variété afin qu’au moins l’un d’entre eux satisfasse l’utilisateur. Par exemple, pour la recommandation de films que nous avons réalisée pour le site We Love Cinema, les recommandations proviennent de plusieurs méthodes complémentaires : l’une d’entre elles favorise les acteurs en commun, une autre les réalisateurs, le style de film, etc.
  • Enfin, une notion moins habituelle vient s’ajouter à celles-ci, il s’agit de la sérendipité, qui, pour la petite histoire, tire son nom d’un conte traditionnel persan « Les Trois Princes de Serendip » et qui consiste originellement en « l’art de découvrir ou d’inventer en prêtant attention à ce qui surprend ». Autrement dit, pour satisfaire son utilisateur, le système de recommandation doit tout simplement apprendre à le surprendre en lui proposant des résultats auxquels il ne s’attend pas. On imagine parfaitement l’intérêt de cette notion pour la recommandation de livres, de films ou de musique par exemple.

Il apparaît ici clairement que ces trois notions, nouveauté, diversité et sérendipité, peuvent entrer en conflit avec une application trop stricte du principe de pertinence. Un bon système de recommandation se devra donc d’opérer un arbitrage entre ces quatre principes.

Une fois ces objectifs formulés dans une langue qui est encore celle des marketeurs, nous ne pouvons plus reculer et entrer dans ce qui est pour nous le vif du sujet, à savoir leur traduction en algorithmes.

 

Kernix_Article_recommandation

Recommandation : des liens entre utilisateurs et produits

Avant cela, tentons de décomposer le problème posé par la recommandation :
Finalement, une recommandation est une mise en contact entre un utilisateur, et un ou plusieurs produits. L’utilisateur est une personne physique qui a une vie, des habitudes, des relations, des comportements, bref, des informations que le système va traduire numériquement afin de produire une représentation mathématique de l’utilisateur. De la même manière, un produit est un objet qui possède des caractéristiques qui vont aussi pouvoir être décrites par une représentation mathématique.

Recueillir l’information/Sources d’information pour la recommandation

À l’intérieur de ces deux champs, les utilisateurs et les produits, on peut opérer des calculs de distances/similarités entre les représentations qui vont décrire les liens que les personnes ont entre elles ou que les objets ont entre eux, mais il nous manque une information indispensable qui va faire le lien entre les utilisateurs et les objets. Cette information doit être recueillie de deux manières différentes :

  • soit explicitement, quand l’utilisateur déclare lui-même au système ses intérêts et ses préférences. C’est le cas quand on lui demande de commenter, de taguer, de noter, de liker ou encore d’ajouter comme favoris des contenus qui l’intéressent. Dans notre réalisation pour un moteur de recommandation de films, l’utilisateur est incité à interagir avec la plateforme afin de récolter un maximum de préférences explicites. C’est une technique particulièrement fiable qui permet d’avoir une recommandation personnalisée pertinente.
  • soit implicitement, quand le système utilise des fonctionnalités internes aux applications pour observer et analyser en arrière-plan les comportements de l’utilisateur (avec son accord cela va de soi…). Par exemple, pour notre réalisation pour la plateforme 6play, le temps de visionnage des vidéos est pris comme information implicite sur le goût de l’utilisateur pour l’émission.

Ces informations sont ensuite transformées en valeurs numériques, ce qui est immédiat dans le cas d’une note, ou d’un temps de visionnage par exemple, mais peut demander un peu plus de travail et de technicité dans le cas d’un commentaire écrit notamment.

Produire une liste de produits recommandés

Pour produire une liste de produits recommandés, il existe deux « tâches » qui sont indépendantes et sont souvent, mais pas systématiquement, associées :

  • On peut effectuer une prédiction des entrées manquantes d’une matrice utilisateur-produit grâce à certaines valeurs connues de cette matrice. Cette orientation est en général utilisée lorsqu’un système se fixe pour but d’avoir une connaissance exhaustive (même incertaine) des goûts des utilisateurs avant de produire sa recommandation. Une des deux approches utilisées pour notre réalisation 6play, appelée « filtrage collaboratif » vise ainsi à prédire si l’utilisateur aime ou non la vidéo ;
  • On produit de manière systématique un classement (l’expression consacrée étant plutôt l’anglicisme ranking). Il s’agit ici d’ordonner les produits ou les utilisateurs en fonction d’une mesure qui peut-être : la moyenne des notes connues et prédites, ou encore la distance/similarité avec une entité cible, … On recommande alors les premiers résultats du classement. C’est cette manière qui est utilisée dans une seconde approche utilisée dans la réalisation pour le groupe M6.

Revue des algorithmes de recommandation

On peut discerner cinq grandes familles d’algorithmes :

1/ Les filtrages collaboratifs

Le principe consiste à utiliser les opinions et évaluations d’un groupe pour aider l’individu. Une fois cette connaissance acquise on peut s’en servir soit pour découvrir des produits semblables parce qu’ils plaisent aux même personnes, ou bien des individus similaires parce qu’ils aiment les mêmes choses, c’est ainsi que fonctionnent les systèmes des sites de rencontre par exemple.
Les systèmes de filtrages collaboratifs fonctionnent généralement en résolvant des problèmes de prédiction, qui sont résolus en reconstruisant la matrice utilisateur/produit en appliquant des méthodes de factorisations matricielles (SVD, NMF, …).

Il existe deux sous-catégories d’algorithmes de filtrage collaboratifs :

  • Les méthodes centrées utilisateurs, qui recommandent sur la base des liens entre les individus : si Pierre et Paul donnent généralement des notes voisines aux mêmes films, alors si Paul n’a pas vu un film auquel Pierre a donné une bonne note, on va le lui recommander et réciproquement. Pour déterminer le degré de proximité entre Pierre et Paul, et déterminer s’il est préférable de recommander à Paul à partir des choix de Pierre plutôt que ceux de Jacques, on peut utiliser des mesures appelées « coefficients de corrélation » (on peut utiliser le coefficient de corrélation linéaire de Pearson, qui n’est rien d’autre que le cosinus, ou encore le coefficient de Spearman ou celui de Jaccard).
  • Les méthodes centrées items, qui vont plutôt se baser sur les similarités de goût inspirés par les objets : si Le Grand Meaulnes et L’Homme pressé sont deux romans qui ont été appréciés par les mêmes lecteurs et qu’on sait que Jean a aimé Le Grand Meaulnes, on va lui recommander l’Homme pressé.

2/ La recommandation centrée sur les contenus

Dans ce cas, le système n’utilise pas les goûts des autres utilisateurs, il se contente d’exploiter les attributs des produits pour effectuer des mesures de similarité avec les objets dont on est sûr qu’ils sont appréciés par l’utilisateur.
Plusieurs types de caractéristiques peuvent être utilisées : nous avons par exemple utilisé le texte pour nos systèmes de recommandation d’articles scientifiques pour le groupe pharmaceutique Servier, pour la recommandation de programmes TV pour le groupe Prisma Media, ou encore de la recommandation de petites annonces à grande échelle. Des images peuvent aussi être utilisées comme nous l’avons fait pour du criblage à haut débit qui consiste à recommander des molécules qui présentent un intérêt éventuel pour des applications pharmaceutiques.

3/ Les systèmes basés sur les personnes/La recommandation centrée sur les utilisateurs

À l’instar du système précédent, on n’exploite pas les liens entre individus mais les caractéristiques des individus. Parfois on ne s’intéresse qu’à des informations très générales : l’âge, le genre, la nationalité, … On parle alors d’algorithme démographique. Mais on peut aussi s’intéresser à des informations plus complexes, étudiant le comportement de l’utilisateur sur une application par exemple.

4/ Les systèmes basés sur des règles/Les systèmes de recommandation à base de règles

C’est une manière plus simple de fonctionner qui produit une recommandation à partir de filtres qui s’appuient sur des règles empiriques, théoriques ou intuitives élaborées par les expertises propres à l’entreprise mettant en place la recommandation.
Le moteur de recommandation que nous avons mis en production pour un site de recommandations de film repose en partie sur une expertise métier à base de règles. Ce type de système est particulièrement utile en cas de « démarrage à froid », c’est-à-dire quand nous n’avons pas encore suffisamment de données pour que les autres approches soient plus pertinentes. C’était le cas lors du lancement de la plateforme, puisqu’aucun utilisateur n’existait.

5/ Les méthodes de recommandation hybrides et ensemblistes.

En pratique et comme souvent, les choix sont rarement tout à fait tranchés entre ces quatre grandes familles de systèmes. On choisit en général une hybridation de ces méthodes. Les systèmes démographiques, par exemple, donnent des résultats douteux lorsqu’ils sont utilisés seuls mais s’avèrent d’un réel intérêt quand ils sont alliés à d’autres algorithmes.
Par ailleurs, comme les systèmes de même nature sont généralement incapables individuellement d’atteindre tous les objectifs évoqués précédemment, on les assemble pour améliorer la satisfaction. C’est finalement là que réside le secret des performances des systèmes de recommandation que nous côtoyons au quotidien : ils multiplient les approches pour en restituer une synthèse efficace.

Seulement voilà, dire qu’on va mélanger les méthodes ne suffit pas. Encore faut-il savoir comment. Voici quelques façons de faire :

  • par pondération : on pondère les scores obtenus par différents algorithmes et on les somme pour n’en obtenir qu’un seul et ensuite donner les résultats. C’est pour ce type de système que nous avions opté pour le moteur de recommandation de Kombini ;
  • par changement d’algorithme selon les périodes, les utilisateurs, les produits de manière à gérer efficacement les éléments de contexte ;
  • en cascade : on effectue une première recommandation très large dont les résultats vont être les entrées du prochain système, et ainsi de suite.
  • par initialisations successives : cette fois, c’est le modèle produit par un système qui est ré-utilisé pour initialiser le modèle qui sera produit par le système suivant (au lieu que cela ne soit fait au hasard) ;
  • par mélange : on peut aussi tout simplement mixer des recommandations produites par différents systèmes.

Amazon, un cas typique de recommandation hybride

Si une entreprise a très rapidement compris l’intérêt des systèmes de recommandation c’est bien Amazon. Les recommandations sont à la fois basées sur les caractéristiques des articles (système orienté contenu), sur le comportement des clients (système orienté utilisateur) et sur le comportement des autres individus. On peut lire sur la plateforme par exemple : « 90 % des utilisateurs qui ont acheté ce jean, ont acheté une de ces paires de basket », assertion dans laquelle on est maintenant à même de reconnaître un filtrage collaboratif orienté objet.

Conclusion

L’art subtil de la recommandation consiste en l’adaptation permanente aux utilisateurs, aux produits, aux modes, aux contextes économiques… Il réside également dans une délicate science du compromis pour atteindre des objectifs contradictoires : trouver une liste de produits parfaitement adaptée à l’utilisateur… et la renouveler en permanence ; répondre le plus possible à ses attentes… en y incorporant de l’inattendu ; lui permettre d’aller à l’essentiel… et lui proposer, deci-delà, de flâner vers des produits inexplorés. La définition même d’un système de recommandation implique qu’il ne puisse être universel mais taillé sur mesure pour un cas d’usage précis.

C’est d’ailleurs toujours ainsi qu’a procédé Kernix lorsqu’on a travaillé sur ce type de mission : le dernier exemple en date étant Paris Fashion Shops où nous avons retravaillé finement les caractéristiques des produits. Il en existe donc une multitude qui repose paradoxalement sur des concepts mathématiques assez semblables : distance, algorithme de plus proches voisins, factorisation matricielle, coefficient de corrélation…

La singularité de chaque méthode va trouver son origine dans la manière dont ces quelques concepts vont être mêlés et ordonnés entre eux. Néanmoins, il demeure que ces myriades d’algorithmes différents poursuivent tous un objectif commun : la satisfaction de l’utilisateur.

Haut de page
Haut de page