Il est très courant dans les recommandations que nous ayons des données de produit utilisateur qui ont une étiquette comme par exemple un "clic". Pour apprendre le modèle, j'ai besoin de données de clic et de non-clic.
L'approche la plus simple à générer consiste à prendre des paires utilisateurs-produits qui ne se trouvent pas dans les données de clic. Cependant, cela peut être trompeur. Exemple:
user1, product1 (click)
user2, product2 (click)
user2, product3 (click)
user3, product2 (click)
Je peux prendre user1 avec tous les produits sauf product1 et les étiqueter comme "no_click" et ainsi de suite. Mais ce n'est peut-être pas vrai. Peut-être que l'utilisateur1 aurait cliqué sur le produit2 s'il s'était vu montrer le produit2. Mais juste parce qu'on lui a montré d'autres ensembles de produits - il n'a pas eu la possibilité de décider de cliquer / de ne pas cliquer sur le produit2.
Alors, comment résoudre le problème des données unaires?
la source
Réponses:
Il y a donc deux problèmes.
Pour (1) , vous devez être l' enregistrement de ces informations. S'il n'est pas en cours d'enregistrement, vous devriez commencer à enregistrer ces informations. Étant donné que vous ne disposez pas de ces informations, vous souhaitez formuler des recommandations. Heureusement, avec un simple clic sur les données, vous pouvez toujours créer une matrice d'utilitaires, voir 9.1.1.
http://i.stanford.edu/~ullman/mmds/ch9.pdf
Vous pouvez ensuite utiliser le filtrage collaboratif basé sur l'utilisateur ou sur l'élément, comme décrit dans l'article. Il s'agit essentiellement d'un exercice de remplissage de la matrice utilitaire et de recherche de «scores» pour les éléments non cliqués. Votre recommandation serait un élément non cliqué avec le score le plus élevé.
Pour (2), vous ferez toujours des recommandations sur les éléments non cliqués. Donc, cela seul n'est pas un problème. Vous souhaiterez cependant optimiser vos impressions. Vous ne pouvez pas non plus avoir une connaissance complète où un utilisateur peut voir toutes les options possibles. Vous devez enregistrer des impressions et comprendre un certain nombre de choses.
C'est un sujet énorme et c'est essentiellement le domaine problématique de la publicité en ligne. Cependant, un moteur de recommandation essaie de trouver des éléments d'intérêt dans la longue queue, ce qui est un peu différent de l'optimisation des annonces. Il s'agit d'une boucle de rétroaction pour évaluer votre recommandation. Les tests A / B sont courants. Vous souhaiterez tester les taux de clics et les erreurs de recommandation entre votre système actuel et le nouveau système.
Voir aussi ici.
http://cs.brynmawr.edu/Courses/cs380/fall2006/Herlocker2004.pdf
http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf
la source