[PYTHON] [Recommandation] Filtrage basé sur le contenu et filtrage coopératif

À propos du système de recommandation

Le système de recommandation sélectionne les objets, informations, produits, etc. qui sont considérés comme utiles à l'utilisateur. C'est un système qui le présente sous une forme qui convient à l'objectif de l'utilisateur. Ces dernières années, il a été implémenté dans de nombreux services Web tels qu'Amazon, et il est devenu familier à de nombreuses personnes.

Il semble qu'Amazon et d'autres construisent un système de recommandation en combinant plusieurs algorithmes compliqués, mais cette fois, nous résumerons le ** filtrage basé sur le contenu ** et le ** filtrage coopératif **, qui sont la base des recommandations.

Filtrage basé sur le contenu

Il s'agit d'une méthode de recherche et de recommandation de produits similaires à partir des informations d'étiquette des produits achetés par un utilisateur. Sur la base des informations d'étiquette du produit acheté par l'utilisateur, nous accumulons le type de champ qui l'intéresse, recherchons des produits similaires et proposons.

slide1.PNG

Bien que cette méthode vous permette de faire diverses recommandations basées sur les informations d'étiquette, elle présente l'inconvénient de devoir étiqueter le produit que vous souhaitez recommander. Par exemple, «Introduction Python3» dans l'image ci-dessus est recommandé après la vente d'un autre livre sur Python car la balise «#python» a été ajoutée au moment de l'enregistrement du produit. Cela ne sera pas recommandé sans la balise "#python". Vous devez également vous demander si la balise "#python" est appropriée en premier lieu. Il est nécessaire de ** concevoir l'étiquette avec un marketing détaillé en tenant compte du goût de l'utilisateur. En conséquence, le filtrage basé sur le contenu a la propriété d'être long et coûteux.

Filtrage coopératif

Sur la base de l'historique du comportement de l'utilisateur, etc., ** trouvez des utilisateurs ayant des modèles d'achat similaires et recommandez des produits **. À ce stade, il existe une caractéristique selon laquelle la propriété de l'élément, les informations d'étiquette, etc. ne sont pas du tout prises en compte.

slide2.PNG

Dans l'image ci-dessus, tout d'abord, chaque produit n'est pas étiqueté. La base de données enregistre également des informations sur les produits que chaque utilisateur a achetés dans le passé. Ensuite, sélectionnez les utilisateurs avec une forte similitude dans l'historique des achats de chaque utilisateur. (Dans l'exemple, un seul utilisateur similaire est sélectionné) Par conséquent, M. A recommande les produits que M. D, qui a une préférence d'achat similaire à M. A, a achetés dans le passé. Étant donné que l'historique des achats de l'utilisateur est l'axe, les informations d'étiquette pour chaque produit ne sont pas requises.

Cependant, le co-filtrage présente l'inconvénient majeur que les produits qui ne sont achetés par personne ne sont pas recommandés.

Filtrage hybride

Le filtrage basé sur le contenu, le co-filtrage et l'utilisation pratique présentent chacun des inconvénients majeurs. Par conséquent, lors de la construction d'un système, il est courant de construire un système de recommandation en combinant les bons points de chaque filtrage, et on les appelle des hybrides.

Recommended Posts

[Recommandation] Filtrage basé sur le contenu et filtrage coopératif
[Recommandation] Résumé des avantages et des inconvénients de la méthode de filtrage / mise en œuvre basée sur le contenu et coopérative
J'ai essayé de mettre en œuvre le co-filtrage (recommandation) avec redis et python
Essayez de mettre en œuvre un filtrage basé sur le contenu ou des recommandations de documents
Recommandation de film utilisant le co-filtrage de Spark MLlib
Co-filtrage avec PySpark
Filtrage coordonné avec analyse des composants principaux et clustering K-means
Pensez aux spécifications pour le développement de moteurs de recommandation de co-filtrage
Co-filtrage basé sur l'utilisateur avec python