web-dev-qa-db-fra.com

Comment fonctionne la fonctionnalité de recommandation Amazon?

Quelle technologie se cache derrière les écrans de la technologie de recommandation Amazon? Je crois que la recommandation Amazon est actuellement la meilleure sur le marché, mais comment nous fournissent-elles des recommandations aussi pertinentes?

Récemment, nous avons participé à un type de projet de recommandation similaire, mais nous aimerions sûrement connaître les avantages et les inconvénients de la technologie de recommandation d'Amazon d'un point de vue technique. 

Toutes les contributions seraient très appréciées. 

Mettre à jour:

Ce brevet explique comment des recommandations personnalisées sont faites mais ce n’est pas très technique, et ce serait donc vraiment bien si certaines informations pouvaient être fournies. 

D'après les commentaires de Dave, Analyse d'affinité constitue la base de ce type de moteurs de recommandation. Aussi, voici quelques bonnes lectures sur le sujet

  1. Démystifier l'analyse du panier
  2. Analyse du panier de marché
  3. Analyse d'affinité

Lecture suggérée:

  1. Exploration de données: concepts et technique
139
Rachel

C'est à la fois un art et une science. Les domaines d'étude typiques tournent autour de l'analyse du panier de marché (également appelée analyse d'affinité), qui est un sous-ensemble du domaine de l'exploration de données. Les composants typiques d’un tel système incluent l’identification des éléments du pilote principal et l’identification des éléments d’affinité (vente incitative, vente croisée). 

Gardez à l'esprit les sources de données qu'ils doivent exploiter ... 

  1. Les paniers d'achat achetés = de l'argent réel provenant de personnes réelles dépensées en objets réels = des données puissantes et bien d'autres encore. 
  2. Articles ajoutés aux chariots mais abandonnés. 
  3. Tarification des expériences en ligne (tests A/B, etc.) où ils proposent les mêmes produits à des prix différents et visualisent les résultats. 
  4. Expériences d’emballage (tests A/B, etc.) dans lesquelles ils proposent différents produits dans différents "bundles" ou permettent de réaliser des réductions sur différentes combinaisons d’articles. 
  5. Les listes de souhaits - que contient-elles spécialement pour vous - et globalement, elles peuvent être traitées de la même manière que d'autres données d'analyse de paniers 
  6. Sites de référence (l'identification de l'endroit d'où vous venez peut indiquer d'autres points d'intérêt) 
  7. Temps de latence (combien de temps avant de cliquer en arrière et de choisir un élément différent) 
  8. Notes de votre part ou de celles de votre réseau social/cercles d’achat - si vous notez des choses qui vous plaisent, vous obtenez plus de ce que vous aimez et si vous confirmez avec le bouton "j’ai déjà le droit", elles créent un profil très complet de vous. 
  9. Informations démographiques (votre adresse de livraison, etc.) - ils savent ce qui est populaire dans votre région pour vos enfants, vous-même, votre conjoint, etc. 
  10. segmentation des utilisateurs = avez-vous acheté 3 livres par mois pour un enfant en bas âge? probablement un enfant ou plus .. etc. 
  11. Marketing direct grâce aux données - avez-vous reçu un email de leur part et avez-vous cliqué? Ils savent de quel courrier il s'agissait, sur quoi vous avez cliqué et si vous l'avez acheté. 
  12. Chemins de clics en session - qu'avez-vous visualisé, que le contenu soit dans votre panier
  13. Nombre de fois qu'un article a été consulté avant l'achat final 
  14. Si vous faites affaire avec un magasin physique, il se peut que votre historique d’achats physique soit également erroné (par exemple, des jouets ou quelque chose qui est en ligne et en magasin physique)
  15. etc. etc. etc. 

Heureusement, les gens se comportent globalement de la même manière. Plus ils en savent sur la population des acheteurs, mieux ils savent ce qui va et ne sera pas vendu. A chaque transaction et chaque ajout de liste/liste de souhaits/navigation, ils savent comment personnaliser davantage leurs recommandations. N'oubliez pas qu'il ne s'agit probablement que d'un petit échantillon de l'ensemble des influences de ce qui aboutit à des recommandations, etc. 

À présent, je ne connais pas parfaitement le fonctionnement d’Amazon (je n’y ai jamais travaillé) et je ne parle que des approches classiques du problème du commerce en ligne. J’ai été le PM qui a travaillé sur l’exploration de données et analyse pour le produit Microsoft appelé Commerce Server. Nous avons fourni à Commerce Server les outils qui permettaient aux utilisateurs de créer des sites dotés de fonctionnalités similaires ... mais plus le volume des ventes est important, meilleures sont les données, meilleur est le modèle - et Amazon est BIG. J'imagine à quel point il est amusant de jouer avec des modèles contenant autant de données sur un site axé sur le commerce. Maintenant, beaucoup de ces algorithmes (comme le prédicteur qui a débuté dans le serveur de commerce) ont été directement installés dans Microsoft SQL .Les quatre grands choix que vous devriez avoir sont les suivants:.

 

  1. Amazon (ou tout détaillant sophistiqué) surveille le comportement et les achats de toutes les personnes connectées et les utilise pour affiner davantage les données agrégées en masse. 
  2. Il existe souvent un moyen de surexploiter les données accumulées et de prendre le contrôle "éditorial" des suggestions destinées aux chefs de produits de lignes spécifiques (comme une personne possédant les appareils photo numériques ou les "romans romans", verticale ou similaire) où sont des experts 
  3. Il existe souvent des offres promotionnelles (comme Sony, Panasonic, Nikon, Canon, Sprint ou Verizon, versent de l’argent supplémentaire au détaillant ou offrent un meilleur rabais pour des quantités plus importantes ou d’autres éléments de cette catégorie), ce qui entraînera certaines «suggestions» à augmenter. le sommet plus souvent que les autres - il y a toujours une logique et des raisons commerciales raisonnables derrière ce but: faire plus avec chaque transaction ou réduire les coûts de gros, etc. 
  4. En termes de mise en œuvre réelle? À peu près tous les grands systèmes en ligne se résument à un ensemble de pipelines (ou à une implémentation de modèle de filtre ou à un flux de travail, etc.) qui permettent d’évaluer le contexte par une série de modules logique d'entreprise. 

En règle générale, un pipeline différent est associé à chaque tâche distincte de la page. Vous pouvez en avoir un qui recommande les "packages/ventes incitatives" (c'est-à-dire, achetez-le avec l'article que vous regardez) et l'autre qui fait des "alternatives" (c'est-à-dire ceci au lieu de ce que vous regardez) et un autre qui extrait les articles les plus étroitement liés de votre liste de souhaits (par catégorie de produit ou similaire). 

Les résultats de ces pipelines peuvent être placés sur différentes parties de la page (au-dessus de la barre de défilement, au-dessous du défilement, à gauche, à droite, de différentes polices, des images de taille différente, etc.) et testés pour déterminer les performances correspondantes. meilleur. Etant donné que vous utilisez des modules faciles à connecter et à utiliser de Nice qui définissent la logique métier de ces pipelines, vous obtenez l'équivalent moral des blocs lego qui facilitent la sélection de la logique métier que vous souhaitez appliquer lorsque vous créez un autre pipeline. qui permet une innovation plus rapide, plus d'expérimentation et finalement des profits plus importants 

Est-ce que cela vous a aidé? J'espère que cela vous donnera un aperçu de la manière dont cela fonctionne en général pour n'importe quel site de commerce électronique - pas seulement Amazon. Amazon (qui parle à des amis qui y ont travaillé) est très basé sur les données et mesure en permanence l’efficacité de son expérience utilisateur ainsi que son prix, ses promotions, ses emballages, etc. - il s’agit d’un détaillant très sophistiqué en ligne et probablement à la pointe de la technologie. la plupart des algorithmes utilisés pour optimiser les bénéfices - et il s’agit probablement de secrets de propriété (c’est le cas de la formule des épices secrètes de KFC) et garantis en tant que tels. 

Did that help at all? Hope that give you a little bit of insight how this works in general for just about any ecommerce site - not just Amazon. Amazon (from talking to friends that have worked there) is very data driven and continually measures the effectiveness of it's user experience and the pricing, promotion, packaging, etc. - they are a very sophisticated retailer online and are likely at the leading Edge of a lot of the algorithms they use to optimize profit - and those are likely proprietary secrets (you know like the formula to KFC's secret spices) and guaarded as such.

103
Dave Quick

Cela n’est pas directement lié au système de recommandation d’Amazon, mais il pourrait être utile d’étudier les méthodes utilisées par les personnes ayant participé au Netflix Prize , un concours visant à développer un meilleur système de recommandation utilisant les données d’utilisateur Netflix. Il existe dans leur communauté de nombreuses informations utiles sur les techniques d’exploration de données en général. 

L'équipe qui a gagné a utilisé un mélange de recommandations générées par de nombreux modèles/techniques. Je sais que certaines des principales méthodes utilisées étaient l’analyse en composantes principales, les méthodes du plus proche voisin et les réseaux de neurones. Voici quelques articles de l'équipe gagnante:

R. Bell, Y. Koren, C. Volinsky, " La solution BellKor 2008 au prix Netflix ", (2008).

A. Töscher, M. Jahrer, “ La solution BigChaos au Prix Netflix 2008 ", (2008).

A. Töscher, M. Jahrer, R. Legenstein, " Algorithmes améliorés basés sur le voisinage pour les systèmes de recommandation à grande échelle ", Atelier SIGKDD sur les systèmes de recommandation à grande échelle et le concours du prix Netflix (KDD'08), ACM Presse (2008).

Y. Koren, " La solution de BellKor au grand prix Netflix ", (2009).

A. Töscher, M. Jahrer, R. Bell, " La solution BigChaos au grand prix Netflix ", (2009).

M. Piotte, M. Chabbert, " La solution de la théorie pragmatique au grand prix Netflix ", (2009).

Les communications de 2008 proviennent du premier prix Progress Award. Je recommande d’abord de lire les versions précédentes car celles-ci s’appuient sur les travaux précédents.

28
Justin Peel

Je suis tombé sur ce papier aujourd'hui:

Peut-être qu'il fournit des informations supplémentaires.

21
ewernli

(Disclamer: Auparavant, je travaillais chez Amazon, mais je n’étais pas membre de l’équipe de recommandations.)

la réponse d'ewernli devrait être la bonne: le lien papier avec le système de recommandation d'origine d'Amazon et d'après ce que je peux dire (à la fois par expérience personnelle en tant qu'acheteur Amazon et par avoir travaillé sur des systèmes similaires dans d'autres sociétés), très peu de choses ont changé: à La fonctionnalité de recommandation d'Amazon est toujours très largement basée sur le filtrage collaboratif entre éléments.

Il suffit de regarder la forme que prennent les recommandations: sur ma page de couverture, elles sont toutes soit de la forme "Vous avez regardé X ... Les clients qui ont aussi regardé cette page ont également consulté ...", ou bien un mélange d'éléments similaires à des objets J'ai déjà acheté ou vu. Si je vais spécifiquement à ma page "Recommandé pour vous", chaque élément décrit pourquoi il est recommandé pour moi: "Recommandé parce que vous avez acheté ...", "Recommandé parce que vous avez ajouté X à votre liste de souhaits ...", etc. un signe classique du filtrage collaboratif d’objet à article.

Alors, comment fonctionne le filtrage collaboratif d’article à article? Fondamentalement, pour chaque élément, vous créez un "quartier" d'éléments connexes (par exemple, en regardant les éléments que les utilisateurs ont vus ensemble ou ceux que les utilisateurs ont achetés ensemble. Pour déterminer la similarité, vous pouvez utiliser des mesures telles que l'indice Indice Jaccard. ; la corrélation est une autre possibilité, bien que je suppose que Amazon n’utilise pas beaucoup les données d’évaluation). Ensuite, chaque fois que je visualise un article X ou que je fais un achat Y, Amazon me suggère des produits se trouvant dans le même quartier que X ou Y.

Certaines autres approches qu'Amazon pourrait potentiellement utiliser, mais qui ne le feraient probablement pas, sont décrites ici: http://blog.echen.me/2011/02/15/an-overview-of-it-to-item-collaborative -filtres-avec-amazones-systeme-de-recommandation/

Une grande partie de ce que Dave décrit n'est presque certainement pas réalisée sur Amazon. (Notes attribuées par les membres de mon réseau social? Nope, Amazon ne dispose d'aucune de mes données sociales. Ce serait un problème de confidentialité considérable, de sorte qu'il serait difficile pour Amazon de le faire même s'il disposait de ces données: les gens ne veulent pas que leurs amis sachent quels livres ou quels films ils achètent Information démographique? Non, rien dans les recommandations n'indique qu'ils se penchent sur cette question. [Contrairement à Netflix, qui diffuse ce que regardent les autres utilisateurs de ma région .])

20
Jason R

Je ne connais pas spécifiquement l'algorithme d'Amazon, mais l'un des composants d'un tel algorithme impliquerait probablement le suivi de groupes d'éléments fréquemment commandés ensemble, puis l'utilisation de ces données pour recommander d'autres éléments du groupe lorsqu'un client achète un sous-ensemble des groupe.

Une autre possibilité serait de suivre la fréquence de la commande du produit B dans les N jours suivant la commande du produit A, ce qui pourrait suggérer une corrélation.

3
newdayrising

Pour autant que je sache, il utilise le raisonnement par cas comme moteur.

Vous pouvez voir dans ces sources: ici , ici et ici .

Il existe de nombreuses sources dans Google qui recherchent Amazon et le raisonnement basé sur des cas.

2
coelhudo

Quelqu'un a fait une présentation à notre université sur un sujet similaire la semaine dernière et a fait référence au système de recommandation Amazon. Je pense qu’il utilise une forme K-Means Clustering pour regrouper les gens dans leurs différentes habitudes d’achat. J'espère que cela t'aides :)

Regardez aussi ceci: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps et comme HTML .

0
Chris Dennett

Si vous voulez un tutoriel pratique (avec open-source R), vous pourriez faire pire que de passer par ceci: https://Gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e

C'est une version optimisée à l'exécution d'un autre ouvrage: http://www.salemmarafi.com/code/collaborative-filtering-r/

Cependant, la variation du code sur le premier lien est BEAUCOUP plus rapide, je vous recommande donc de l'utiliser (j'ai découvert que la seule partie lente du code de yoshiki146 est la routine finale qui génère la recommandation au niveau de l'utilisateur - cela a pris environ une heure avec mes données sur ma machine). 

J'ai adapté ce code pour qu'il fonctionne comme un moteur de recommandation pour le détaillant pour lequel je travaille.

L'algorithme utilisé est - comme d'autres l'ont dit ci-dessus - le filtrage collaboratif. Cette méthode de CF calcule une matrice de similarité cosinus, puis trie en fonction de cette similarité pour trouver le "plus proche voisin" de chaque élément (groupe de musique dans l'exemple donné, produit vendu au détail dans mon application).

Le tableau résultant peut recommander un groupe/produit basé sur un autre groupe/produit choisi.

La section suivante du code va encore plus loin avec le filtrage collaboratif basé sur USER (ou sur le client).

Il en résulte une grande table avec les 100 meilleurs groupes/produits recommandés pour un utilisateur/client donné.

0
ChrisD