Quels sont les principaux algorithmes de recommandation ?

par ‘Mar 11, 2019’E-commerce, Média, Personnalisation

Les algorithmes de recommandation se glissent plus ou moins discrètement dans nos vies numériques et rythment notre quotidien lors de nos navigations sur le web. Nous n’en sommes pas tous conscients, pourtant, la recommandation de contenu est omniprésente dans tous les grands secteurs d’activités numériques, par exemple : le e-commerce, la presse en ligne, les services de streaming vidéo et musical et bien entendu les réseaux sociaux y ont aussi massivement recours.

inscription-dashboard

Pour synthétiser au mieux l’article et éviter les paragraphes sans fin, les exemples seront tirés du secteur de la presse en ligne. Même si l’article sera principalement orienté sur le secteur des médias en ligne, sachez que le fonctionnement des algorithmes est identique d’un secteur d’activité à un autre. Donc si vous avez une activité e-commerce, ce sont seulement les données analysées qui ne seront pas les mêmes et, plutôt que de restituer des recommandations d’actualités, en e-commerce ce sont des recommandations de produits.

Par ailleurs, si vous travaillez dans le secteur du streaming vidéo, découvrez comment Netflix a bâti un empire en développant les recommandations personnalisées à leur paroxysme.

Sommaire :

Pourquoi utiliser des algorithmes de recommandation ?

Si tous les grands acteurs de ces secteurs ont vite saisi les opportunités offertes par l’immensité de données mise à disposition par les internautes, c’est que les algorithmes de recommandation sont utiles à bien des fins :

  • amélioration de l’expérience utilisateur
  • augmentation continue des performances clés (durée de visionnement, temps de lecture, panier moyen, raccourcissement des délais de recherche de contenus/produits, etc.)
  • gestion d’un volume croissant de données impossible à traiter manuellement
  • analyse pointue des données pour des recommandations personnalisées pertinentes
  • automatisation du filtrage des données

Les avantages peuvent être aussi nombreux que le nombre d’occasions d’utiliser un système de recommandation.

Mais, dans l’article « Créer un système de recommandation prend du temps », j’évoquais le besoin d’avoir une palette d’algorithmes de recommandations plus qu’un seul algorithme. C’est indispensable pour faire face aux différentes situations et enjeux marketing. Ce que j’entends par situation, c’est qu’un algorithme se basant sur les profils (historique de navigation, comportement, affinités pour des sujets, etc.) des internautes pour proposer des recommandations personnalisées manquera de données si un visiteur jusqu’alors inconnu arrive sur la page d’accueil du site ou de l’application. Le risque dans cette situation, c’est simplement de ne proposer aucune recommandation d’actualité au lecteur.

 

inscription-dashboard

Les principaux algorithmes de recommandation

Filtrage collaboratif (collaborative filtering)

Le filtrage collaboratif (collaborative filtering), un terme plutôt barbare pour toutes les personnes ne travaillant pas dans le milieu de l’informatique. C’est actuellement l’un des moyens les plus performants quand il s’agit de faire de la recommandation à des lecteurs déjà connus. Le filtrage collaboratif repose sur l’adage : Si deux personnes ont aimé des contenus identiques par le passé, elles ont une probabilité élevée d’aimer les mêmes choses dans le futur.

Les recommandations personnalisées issues du filtrage collaboratif peuvent être calculées de diverses manières. Notamment en se basant sur le profil des lecteurs (User-based), en utilisant les profiles de contenus (Item-based) ou encore en faisant de la factorisation de matrice. Voyons comment ces algorithmes qui sont tous les trois des algorithmes de filtrages collaboratifs fonctionnent.

User-Based

Comment ça fonctionne ?

L’approche va vous sembler logique puisque dans un sens, elle est comparable au bouche-à-oreille qui encore aujourd’hui fait des miracles pour certaines entreprises. Le principe sur lequel repose le filtrage collaboratif est le suivant : si des lecteurs ont eux des comportements et goûts de lecture similaires par le passé, alors, ils devraient également en avoir dans le futur. L’avantage du filtrage collaboratif est qu’il est agnostique au contenu. Il se base uniquement sur le profil de navigation des lecteurs pour faire des recommandations personnalisées.

Exemple d’application du filtrage collaboratif basé sur les utilisateurs dans le secteur de la presse en ligne

Pour illustrer le fonctionnement de ce que je vous expliquais juste avant, disons que Guillaume, Martin, Gregory, Anne-Marie, Fouad et moi avons le même profil de lecture sur le quotidien Ouest-France. C’est-à-dire que l’algorithme de filtrage collaboratif a détecté des similarités dans nos profils respectifs de par nos navigations passées, sur le site web www.ouest-france.fr.

Un matin tous mes collègues se rendent sur le site et lisent 2 ou 3 articles chacun, tous ont lu un article en commun (sur les travaux de la rue en face de nos bureaux) et Martin, Guillaume et Anne-Marie ont un deuxième article en commun qui traite d’une exposition culturelle de Rennes. Alors que je me connecte après tout le monde, lorsque j’atterris sur la page d’accueil, je découvre que l’on me propose de lire l’article sur les travaux de la rue en face de nos bureaux et le second article recommandé est celui sur l’exposition culturelle. Pour conclure, mes collègues ont tous lu la même chose et ma navigation passée ressemble à la leur, alors, l’algorithme me propose les contenus qui les ont intéressés quelques heures plus tôt.

Item-Based

Comment ça fonctionne ?

Cet algorithme fonctionne un peu comme le user-based, mais utilise cette fois les similarités entre les profils d’articles pour proposer les recommandations aux lecteurs. Pour identifier les similarités entre articles, l’item-based utilise un profil d’article qui est constitué de la liste des utilisateurs ayant lu/aimé cet article. Les articles identifiés comme similaires à un article donné parce que les mêmes gens les ont aimé sont alors recommandés aux gens qui ont lu cet article.

Item-Based vs User-Based, quelles différences ?

Pour faire simple, les deux algorithmes ont un fonctionnement globalement similaire. Leurs différences résident dans le fait que l’Item-based et le User-based ont un point de départ inversé pour le calcul des recommandations personnalisées. L’un commence par regarder les profils utilisateurs (User-based), l’autre débute le calcul en utilisant les contenus (Item-based).
Leur efficacité dépend des applications, typiquement le user-based est souvent plus pertinent dans la presse, l’item-based est utilisé en particulier pour les utilisateurs qui ont encore un profil trop petit pour bénéficier du user-based.

Factorisation de matrice

On peut voir la liste des profils utilisateurs comme une matrice. Typiquement, la ligne u contient la liste des articles aimés par u, la colonne a contient la liste des utilisateurs qui ont aimé a. L’objectif d’un algorithme de recommandation est de remplir les cases vides de cette matrice. Quel serait le score de Gregory pour l’article X. La factorisation utilise une méthode dont je vais vous passer les détails techniques qui décomposent cette grosse matrice en matrices plus petites de manière à pouvoir calculer automatiquement le score associé à n’importe quel utilisateur pour n’importe quel article. En gros, cette méthode permet de diminuer énormément la dimension des profils en les projetant par exemple dans 3 dimensions seulement, censées être les plus importantes et détectées par l’algorithme. Cette méthode marche très bien dans certains cas, car si trouver ces nouvelles dimensions dans lesquelles projeter items et utilisateurs prend du temps, calculer les recommandations est immédiat. Le problème c’est que ça ne marche pas dans le cas de données très dynamiques. Typiquement le cas de la presse en ligne où de nouveaux articles et de nouveaux utilisateurs arrivent sans arrêt dans le système.

inscription-dashboard

Content-based

Comment ça fonctionne ?

Le content-based a une approche très différente de ce que nous avons évoqué avec le filtrage collaboratif. Cet algorithme analyse un ensemble de contenu sans prendre en compte les utilisateurs (en tout cas, pas dans un premier temps) et détecte les similarités entre les contenus à des fins de recommandation en inspectant son contenu. Pour le content-based, l’analyse de contenu consiste par exemple à identifier le sujet d’un contenu en répertoriant tous les mots d’un article de presse (excepté les stop words) puis en comparant tous les mots de l’article analysés aux autres articles. Plus un article aura un nombre de mots similaires, plus ces articles seront considérés comme « proches » permettant ainsi de détecter les sujets identiques ou similaires et d’en déduire des recommandations pour le lecteur.

Exemple d’application du content-based dans le secteur de la presse en ligne

Actualité oblige, l’exemple d’aujourd’hui sera sur le thème de la saison 8 de Game Of Thrones. Entre les analyses secondes par secondes des bandes-annonces, les témoignages d’acteurs post tournage, les prédictions sur les différents scénarios que pourrait nous réserver la dernière saison, comme vous l’avez compris, les articles sur ce sujet sont très nombreux. Admettons que je suis en train de découvrir l’analyse de la dernière bande-annonce sur un site spécialisé. À la fin de l’article, un bloc de recommandation me propose de lire d’autres articles en lien avec la saison 8 de cette série à succès. Même s’il peut s’agir d’un assemblage manuel de thèmes et sujets, cela peut aussi être le fruit du content based, qui a détecté que l’article que je viens de finir de lire est composé des mots suivants :

    • Game Of Thrones (10 fois)
    • Saison 8 (7 fois)
    • Dragon (4 fois)
    • Théorie (2 fois)
    • etc.

Ces informations sont comparées à l’ensemble des articles du site et ces mots ont été trouvés dans d’autres actualités avec un volume de répétitions plus ou moins équivalent à ce que nous venons de voir. Les articles obtiennent donc un score qui servira à déterminer un ordre de classement pour délivrer les recommandations. Dès lors, seuls les sujets en lien avec la saison 8 de Game Of Thrones me seront proposés et ajoutés à mon profil de navigation pour qu’à ma prochaine visite sur le site, des recommandations de contenus soient déjà disponibles.

Il existe aussi beaucoup de variantes et d’autres algorithmes, voici les deux les plus simples, très utiles pour les lecteurs que vous ne connaissez pas encore.

Populaire

Comment ça fonctionne ?

Ici, le postulat de départ consiste à dire que si vous ressemblez à la plupart des utilisateurs du site, vous devriez aimer la lecture des articles qui ont généré le plus de visites sur le site. Donc, comme son nom l’indique cet algorithme permet de recommander les contenus les plus populaires. Le tracking des visiteurs sur un site permet de savoir quels articles ont été les plus consultés, partagés, cliqués, etc. (les critères de popularité peuvent être définis selon les besoins et prérogatives marketing). Une fois détectés, ces contenus sont proposés aux lecteurs.

C’est un algorithme que vous avez sans doute déjà rencontré puisqu’il est très efficace pour faire des recommandations à des lecteurs que vous ne connaissez pas encore suffisamment pour user des techniques de filtrage collaboratif.

Random

Comment ça fonctionne ?

Normalement cet algorithme est rarement utilisé, mais il a le mérite d’exister. C’est en quelque sorte la roue de secours si les algorithmes que nous avons vus précédemment sont à court de recommandations. Ce qui est communément appelé le random consiste à proposer des recommandations de manière totalement aléatoire pour éviter de rester en panne sur le bord de la route.

Nous venons de voir les principaux algorithmes permettant de suggérer du contenu aux internautes. Comme je l’ai déjà évoqué en introduction, ils sont pertinents dans beaucoup de situations et leur efficacité ne se cantonne pas uniquement au secteur de la presse en ligne. Ceci étant, je vous invite à découvrir les résultats obtenus par Ouest-France, Publihedos ou encore La Liberté qui utilisent nos algorithmes pour suggérer des contenus à leurs lecteurs. Si vous souhaitez en savoir plus sur ce que nos algorithmes et notre expertise peuvent vous apporter, demandez-nous une démonstration !