logo le blog invivoo blanc

A la découverte des systèmes de recommandation

13 mai 2019 | Big Data, Machine Learning | 0 comments

C’est quoi un système de recommandation ?

On se demande tous comment Amazon ou Netflix sont arrivés à ce “power” et ce succès ? Comment Netflix peut connaître nos préférences cinématographiques ? Comment Amazon a su que je suis un fan inconditionnel de Games of Thrones, The North Face et de géographie ?

Sans dévoiler un secret, ce sont les systèmes de recommandations ! Aujourd’hui, Netflix sait tous sur ses utilisateurs : ce qu’ils regardent, leur vidéo préférée ainsi que la fréquence à laquelle il regarde films et séries. Cette gigantesque base de données a pu booster leur algorithme.

Amazon a pu casser tout le marché ! Amazon a pu attirer le plus grand nombre d’américains. Dans le livre “The four”, Scott Galloway mentionne que 52 % des américains ont un compte sur Amazon Prime quand 49 % possède une arme à feu.

Tout d’abord, un système de recommandation est un outil de business, cela renforce jusqu’à 30% les revenus d’une entreprise. Aujourd’hui, un utilisateur ne veut pas qu’on lui propose sur internet des produits qu’il a déjà achetés ou bien qui ne lui intéressent pas. C’est pourquoi les systèmes de recommandation ont pour objectif de comprendre le comportement de l’utilisateur. Cela facilitera sa vie et le site ou l’application gagnera sa confiance.

Aujourd’hui de nombreux secteurs utilisent les systèmes de recommandation. Pour preuve, ils sont présents dans les boutiques en ligne comme Amazon, les services de streaming comme Netflix ou Spotify ou encore les systèmes de recommandation spécifiques pour la publicité basée sur du contenu. Ces systèmes de recommandation partagent le même principe qui est de filtrer à l’avance parmi une grande masse d’objets susceptibles d’intéresser l’acheteur (qu’il s’agisse de produits, livres, films etc.).

Il existe plusieurs types de filtrage pour la recommandation. Dans cet article, nous aborderons ces différents types ainsi que leurs avantages et inconvénients.

I. Filtrage collaboratif (Collaborative Filtering)

C’est la recommandation des produits basés sur les intérêts d’un grand groupe d’utilisateurs. Cette méthode essaie de trouver un groupe d’utilisateurs qui possède les mêmes goûts et préférences de l’utilisateur cible. Ainsi, il utilise ce groupe pour recommander leurs produits. En partant de l’hypothèse que les utilisateurs avec des goûts similaires ont les mêmes préférences.

On utilise deux approches dans cette méthode :

  • Se baser sur l’utilisateur (user-based recommendation)
  • Se baser sur le produit (item-based recommendation)

1. Recommandation basée sur l’utilisateur

Dans cette approche, on construit une matrice A : [Utilisateur x Produit]

Dans cette matrice, on trouve qu’User 1 et User 2 sont corrélés (3 sur 5 produits ont le même score). C’est ainsi qu’on recommande à l’un des utilisateurs les produits préférés du deuxième. Mais comment calculer la corrélation ou la similarité entre deux utilisateurs ?

Les méthodes de similarité :

  • Cosine similarity
La corrélation de deux utilisateurs est importante pour des valeurs de u aussi importantes
  • Jaccard similarity
Cette méthode consiste à ignorer les scores

L’avantage :

  • Pas d’information sur les produits et leurs spécialités (features)

Les inconvénients :

  • Un nouvel utilisateur commence sans avoir une recommandation puisque ses scores sont tous à zéro (de même pour les nouveaux produits).
  • Dans le cas d’un large nombre de produits, la matrice devient creuse. Alors, il est difficile de “matcher” les utilisateurs qui corrélés (qui ont les mêmes préférences).

2. Recommandation basée sur le produit

Dans cette approche, on construit aussi la même matrice A. Mais la différence se présente par corrélation entre les produits. On cherche les produits qui sont potentiellement corrélés. Et on offre un produit qui est rattaché aux autres produits (ayant le plus de degré de corrélation).

Les avantages :

  • Pas d’information sur les produits et leurs spécialités (features).
  • Trouver une corrélation entre un nombre limité de produit est mieux de trouver une corrélation entre nombre très grand d’utilisateurs.
  • Les produits sont plus simple à corréler que les utilisateurs et elle est plus significative.

L’inconvénient :

  • Un nouvel utilisateur commence sans avoir une recommandation puisque ses scores sont tous à zéro (de même pour les nouveaux produits).
  • Dans le cas d’un large nombre de produits, la matrice devient creuse. Alors, il est difficile de “matcher” les utilisateurs qui corrélés (qui ont les mêmes préférences).

II. Filtrage basé sur le contenu (content-based filtering)

Ce type de système de recommandation se base sur des profils. En fait, on construit des profils pour les utilisateurs et ainsi que pour les produits.

Par exemple, on construit un profil d’un utilisateur A qui préfère les séries dont les genres préférés sont actions et romances (cas de Netflix). Et, on essaie de recommander des produits qui de la même section que A préfère. (On ne se base plus sur les opinions des autres utilisateurs).

Les avantages :

  • Pas besoin de données sur les autres utilisateurs.
  • Possibilité de recommander des produits qui ne sont pas populaires ou nouveaux.
  • Possibilité de recommander aux utilisateurs ayant un goût unique ou rare.

Les inconvénients :

  • Trouver les bons “features” n’est pas toujours facile.
  • Comment créer un profil pour les nouveaux utilisateurs ?

III. Combinaison de différents systèmes

1. Global Baseline

Imaginons pour un utilisateur A, on veut estimer le score d’un film B sachant que A n’a jamais donné un score pour des films similaires à B. L’approche consiste donc à prendre le score moyen de A.

Par exemple, son score moyen est 3.7 et celui de B, 0.5 au-dessus des moyennes de score et d’habitude, A donne un score de 0.2 au-dessus du score moyen.

Donc A va estimer le score à : 3.7 + 0.5 – 0.2 = 4

2. Global baseline et Collaborative filtering

Comme avant A va estimer le score de B à 4. En utilisant le collaborative filtering, A a donné pour un film C qui est du même genre un score 1 (mauvais score).

D’où la valeur finale du score de B donné par A est de : 4 + (-1) = 3

Conclusion

Depuis quelques années, les systèmes de recommandation ont une place particulièrement importante dans le marketing en ligne. Grâce à eux, des entreprises du e-commerce ont pu se différencier de leurs concurrents, faciliter la vie des clients actuels et atteindre leurs clients potentiels.

Selon les stratégies des entreprises, plusieurs techniques de recommandation sont intégrées pour adapter les besoins. Comme nous avons pu le voir dans l’article, ces méthodes ont différents avantages et inconvénients, aucune solution ente eux ne peut donc répondre à toutes les problématiques. En réalité, les entreprises utilisent plusieurs approches et les combinent pour avoir une meilleure recommandation, évaluée par certains critères prédéfinis dans leur contexte ainsi que leurs objectifs.

Si le fonctionnement d’un système de recommandation est assez simple, sa mise en place est toutefois compliquée. Ces difficultés résident dans certains aspects comme la collection et la sélection de données pertinentes, la taille et la qualité de données, la rareté des données, la construction de profils utilisateurs, la prédiction pour des nouveaux profils d’utilisateurs ou de nouveaux produits.

Références