Utilisateur:Zelkova29/Brouillon

Une page de Wikipédia, l'encyclopédie libre.

Proposition de modification de la page sur les systèmes de recommandation, à partir d'une traduction de la page anglophone. Ajout de la section Approches. Traduction en cours, modification/ajout de sources.

Les systèmes de recommandation sont une forme spécifique de filtrage de l'information (SI) visant à présenter les éléments d'information (films, musique, livres, news, images, pages Web, etc) qui sont susceptibles d'intéresser l'utilisateur. Généralement, un système de recommandation permet de comparer le profil d'un utilisateur à certaines caractéristiques de référence, et cherche à prédire l'« avis » que donnerait un utilisateur. Ces caractéristiques peuvent provenir de :

  • l'objet lui-même, on parle « d'approche basée sur le contenu » ou content-based approach,
  • l'utilisateur,
  • l'environnement social, on parle d'approche de filtrage collaboratif ou collaborative filtering.

Résumé[modifier | modifier le code]

Lors de la construction du profil de l'utilisateur, une distinction est faite entre les formes explicites et implicites de collecte de données :

Exemples de collecte explicite de données :

  • Demander à l'utilisateur de classer une collection d'objets en fonction de sa préférence,
  • Présenter deux objets à un utilisateur et lui demander de choisir le meilleur,
  • Demander à un utilisateur de créer une liste d'articles qui l'intéressent.

Exemples de collecte implicite de données :

  • L'observation des objets que l'utilisateur a vus sur la boutique en ligne,

Analyse de la fréquence de consultation d'un article par un utilisateur :

  • Garder une trace des éléments que l'utilisateur achète en ligne,
  • Obtenir une liste d'éléments que l'utilisateur a écoutés ou regardés,
  • Analyse du réseau social de l'utilisateur et la découverte de ses goûts et aversions.

Le système compare ensuite les données recueillies sur l'utilisateur à celles déjà existantes (d'autres utilisateurs) et calcule une liste de questions pour l'utilisateur. Plusieurs commerciaux et non commerciaux, des exemples sont énumérés à l'article sur les systèmes de filtrage collaboratif. G. Adomavicius donne un aperçu des systèmes de recommandation[1], Herlocker donne un aperçu des techniques d'évaluation[2] pour les systèmes de recommandation. Les systèmes de recommandation sont une bonne alternative au système de recherche simple, car ils aident l'utilisateur à découvrir des articles auxquels il n'aurait pas songé par lui-même. Fait intéressant, les systèmes de recommandation sont souvent mis en œuvre en utilisant les moteurs de recherche d'indexation de données non traditionnelles.

Voici une liste non-exhaustive de système de recommandation : Amazon.com, Amie Street, Baynote, Babelio, Genius, inSuggest, Last.fm, Netflix, Reddit, StumbleUpon, ulike.net.

Approches[modifier | modifier le code]

Filtrage collaboratif[modifier | modifier le code]

Une approche très utilisée dans les systèmes de recommandation est le filtrage collaboratif.[3] Les méthodes de filtage collaboratif sont basées sur la collecte et l'analyse de grandes quantités d'informations telles que les comportements, les activités et les préférences des utilisateurs. Leur point commun est la prédiction de ce que des utilisateurs vont apprécier à partir de leur similarité par rapport à d'autres utilisateurs. Un avantage clé du filtrage collaboratif est qu'il ne nécessite pas de traiter du contenu analysable par le système : en conséquence il peut recommander avec précision des objets complexes tels que des films, sans pour autant "comprendre" l'objet tel quel. Beaucoup d'algorithmes ont été utilisés pour mesurer la similarité entre des utilisateurs et entre des objets. Par exemple, la méthode des k plus proches voisins (k-NN)[4] et la corrélation de Pearson implantée pour la première fois par Allen.[5]

Le filtrage collaboratif se base sur l'assomption que des utilisateurs qui ont été d'accord dans le passé seront à nouveau d'accord dans le futur, et qu'ils apprécieront des objets similaires à ceux qu'ils ont déjà apprécié.

Lors de la construction d'un modèle à partir de l'acquisition de données issues du comportement de l'utilisateur, il faut distinguer les collectes de données explicites (actives) et implicites (passives).

Exemples de collecte explicite de données :

  • Demander à l'utilisateur de noter un objet sur un intervalle donné.
  • Demander à l'utilisateur d'effectuer une recherche.
  • Demander à l'utilisateur d'ordonner une collection d'objets du préféré au moins préféré.
  • Présenter deux objets à l'utilisateur et lui demander de choisir le préféré.
  • Demander à l'utilisateur d'établir une liste des objets qu'il apprécie.

Exemples de collecte implicite de données :

  • Prendre en compte les objets qu'un utilisateur a regardés dans un magasin en ligne.
  • Analyser le ratio objet/utilisateur pour les nombres de vues.[6]
  • Garder une trace des objets qu'un utilisateur achète en ligne.
  • Obtenir une liste des objets qu'un utilisateur a écoutés ou regardés sur son ordinateur.
  • Analyser le réseau social de l'utilisateur et découvrir des préférences pour certains objets.

Les systèmes de recommandation comparent les données collectées de chaque utilisateur aux données collectées similaires et dissimilaires d'autres utilisateurs pour calculer une liste de recommandations pour chaque utilisateur. Plusieurs exemples commerciaux sont listés dans l'article sur le filtrage collaboratif.

L'un des exemples les plus connus de filtrage collaboratif est le système de filtrage collaboratif objets (item-to-item), popularisé par le système de recommandation d'Amazon.com.[7] Quelques autres exemples :

  • Last.fm recommande de la musique à partir de comparaisons des habitudes d'écoute d'utilisateurs similaires.
  • Facebook, MySpace, LinkedIn, et les autres réseaux sociaux utilisent le filtrage collaboratif pour recommander de nouveaux amis, groupes, et d'autres connexions (en examinant le réseau des connections entre un utilisateur et ses amis).[8] Twitter uses many signals and in-memory computations for recommending who to follow to its users.[9]

Les approches inspirées du filtrage collaboratif souffrent de trois problèmes : le cold start, le passage à l'échelle, et les matrices creuses. [10]

  • Cold start: These systems often require a large amount of existing data on a user in order to make accurate recommendations.[11][12]
  • Scalability: In many of the environments in which these systems make recommendations, there are millions of users and products. Thus, a large amount of computation power is often necessary to calculate recommendations.
  • Sparsity: The number of items sold on major e-commerce sites is extremely large. The most active users will only have rated a small subset of the overall database. Thus, even the most popular items have very few ratings.

A particular type of collaborative filtering algorithm uses matrix factorization, a low-rank matrix approximation technique.[13][14][15]

Collaborative filtering methods are classified as memory-based and model based collaborative filtering. A well-known example of memory-based approaches is user-based algorithm[16] and that of model-based approaches is Kernel-Mapping Recommender.[17]

Content-based filtering[modifier | modifier le code]

[réf. nécessaire]

Another common approach when designing recommender systems is content-based filtering. Content-based filtering methods are based on a description of the item and a profile of the user’s preference.[18] In a content-based recommender system, keywords are used to describe the items and a user profile is built to indicate the type of item this user likes. In other words, these algorithms try to recommend items that are similar to those that a user liked in the past (or is examining in the present). In particular, various candidate items are compared with items previously rated by the user and the best-matching items are recommended. This approach has its roots in information retrieval and information filtering research.

To abstract the features of the items in the system, an item presentation algorithm is applied. A widely used algorithm is the tf–idf representation (also called vector space representation).

To create a user profile, the system mostly focuses on two types of information: 1. A model of the user's preference. 2. A history of the user's interaction with the recommender system.

Basically, these methods use an item profile (i.e., a set of discrete attributes and features) characterizing the item within the system. The system creates a content-based profile of users based on a weighted vector of item features. The weights denote the importance of each feature to the user and can be computed from individually rated content vectors using a variety of techniques. Simple approaches use the average values of the rated item vector while other sophisticated methods use machine learning techniques such as Bayesian Classifiers, cluster analysis, decision trees, and artificial neural networks in order to estimate the probability that the user is going to like the item.[19]

Direct feedback from a user, usually in the form of a like or dislike button, can be used to assign higher or lower weights on the importance of certain attributes (using Rocchio classification or other similar techniques).

A key issue with content-based filtering is whether the system is able to learn user preferences from users' actions regarding one content source and use them across other content types. When the system is limited to recommending content of the same type as the user is already using, the value from the recommendation system is significantly less than when other content types from other services can be recommended. For example, recommending news articles based on browsing of news is useful, but would be much more useful when music, videos, products, discussions etc. from different services can be recommended based on news browsing.

As previously detailed, Pandora Radio is a popular example of a content-based recommender system that plays music with similar characteristics to that of a song provided by the user as an initial seed. There are also a large number of content-based recommender systems aimed at providing movie recommendations, a few such examples include Rotten Tomatoes, Internet Movie Database, Jinni, Rovi Corporation, Jaman and See This Next. Document related recommender systems aim at providing document recommendations to knowledge workers, for example Noggle and Google Springboard. Public health professionals have been studying recommender systems to personalize health education and preventative strategies.[20][21]

Hybrid recommender systems[modifier | modifier le code]

Recent research has demonstrated that a hybrid approach, combining collaborative filtering and content-based filtering could be more effective in some cases. Hybrid approaches can be implemented in several ways: by making content-based and collaborative-based predictions separately and then combining them; by adding content-based capabilities to a collaborative-based approach (and vice versa); or by unifying the approaches into one model (see[22] for a complete review of recommender systems). Several studies empirically compare the performance of the hybrid with the pure collaborative and content-based methods and demonstrate that the hybrid methods can provide more accurate recommendations than pure approaches. These methods can also be used to overcome some of the common problems in recommender systems such as cold start and the sparsity problem.

Netflix is a good example of the use of hybrid recommender systems. The website makes recommendations by comparing the watching and searching habits of similar users (i.e., collaborative filtering) as well as by offering movies that share characteristics with films that a user has rated highly (content-based filtering).

A variety of techniques have been proposed as the basis for recommender systems: collaborative, content-based, knowledge-based, and demographic techniques. Each of these techniques has known shortcomings, such as the well known cold-start problem for collaborative and content-based systems (what to do with new users with few ratings) and the knowledge engineering bottleneck[23] in knowledge-based approaches. A hybrid recommender system is one that combines multiple techniques together to achieve some synergy between them.

  • Collaborative: The system generates recommendations using only information about rating profiles for different users. Collaborative systems locate peer users with a rating history similar to the current user and generate recommendations using this neighborhood.
  • Content-based: The system generates recommendations from two sources: the features associated with products and the ratings that a user has given them. Content-based recommenders treat recommendation as a user-specific classification problem and learn a classifier for the user's likes and dislikes based on product features.
  • Demographic: A demographic recommender provides recommendations based on a demographic profile of the user. Recommended products can be produced for different demographic niches, by combining the ratings of users in those niches.
  • Knowledge-based: A knowledge-based recommender suggests products based on inferences about a user’s needs and preferences. This knowledge will sometimes contain explicit functional knowledge about how certain product features meet user needs.[24][25]

The term hybrid recommender system is used here to describe any recommender system that combines multiple recommendation techniques together to produce its output. There is no reason why several different techniques of the same type could not be hybridized, for example, two different content-based recommenders could work together, and a number of projects have investigated this type of hybrid: NewsDude, which uses both naive Bayes and kNN classifiers in its news recommendations is just one example.[24]

Seven hybridization techniques:

  • Weighted: The score of different recommendation components are combined numerically.
  • Switching: The system chooses among recommendation components and applies the selected one.
  • Mixed: Recommendations from different recommenders are presented together.
  • Feature Combination: Features derived from different knowledge sources are combined together and given to a single recommendation algorithm.
  • Feature Augmentation: One recommendation technique is used to compute a feature or set of features, which is then part of the input to the next technique.
  • Cascade: Recommenders are given strict priority, with the lower priority ones breaking ties in the scoring of the higher ones.
  • Meta-level: One recommendation technique is applied and produces some sort of model, which is then the input used by the next technique.[24]

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. http://ids.csom.umn.edu/faculty/gedas/
  2. http://web.engr.oregonstate.edu/~herlock/
  3. John S. Breese, David Heckerman et Carl Kadie « Empirical analysis of predictive algorithms for collaborative filtering » ()
    In Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence (UAI'98)
  4. B. Sarwar, G. Karypis, J. Konstan et J. Riedl, « Application of Dimensionality Reduction in Recommender System A Case Study », ,
  5. R.B. Allen, « User Models: Theory, Method, Practice », {{Article}} : paramètre « périodique » manquant, International J. Man-Machine Studies,‎
  6. J. Parsons, P. Ralph et K. Gallagher, « Using viewing time to infer user preference in recommender systems », {{Article}} : paramètre « périodique » manquant, AAAI Workshop in Semantic Web Personalization, San Jose, California,‎ .
  7. Collaborative Recommendations Using Item-to-Item Similarity Mappings
  8. Francesco Ricci and Lior Rokach and Bracha Shapira, Introduction to Recommender Systems Handbook, Recommender Systems Handbook, Springer, 2011, pp. 1-35
  9. Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zadeh WTF:The who-to-follow system at Twitter, Proceedings of the 22nd international conference on World Wide Web
  10. Sanghack Lee and Jihoon Yang and Sung-Yong Park, Discovery of Hidden Similarity on Collaborative Filtering to Overcome Sparsity Problem, Discovery Science, 2007.
  11. (en) Neil Rubens, Mehdi Elahi, Masashi Sugiyama et Dain Kaplan, Recommender Systems Handbook, 2, (ISBN 978-1-4899-7637-6, lire en ligne), « Active Learning in Recommender Systems »
  12. (en) Mehdi Elahi, Francesco Ricci et Neil Rubens, A survey of active learning in collaborative filtering recommender systems, Computer Science Review, 2016, Elsevier (lire en ligne)
  13. I. Markovsky, Low-Rank Approximation: Algorithms, Implementation, Applications, Springer, 2012, (ISBN 978-1-4471-2226-5)
  14. G. Takács, I. Pilászy, B. Németh et D. Tikk, « Scalable Collaborative Filtering Approaches for Large Recommender Systems », Journal of Machine Learning Research, vol. 10,‎ , p. 623–656 (lire en ligne)
  15. J. Rennie et N. Srebro « Fast Maximum Margin Matrix Factorization for Collaborative Prediction » () (lire en ligne) [PDF]
    Proceedings of the 22nd Annual International Conference on Machine Learning
  16. (en) Breese, John S., Heckerman, David et Kadie, Carl Empirical Analysis of Predictive Algorithms for Collaborative Filtering (rapport), Microsoft Research, (lire en ligne)
  17. « Kernel-Mapping Recommender system algorithms », Information Sciences, vol. 208,‎ , p. 81–104 (DOI 10.1016/j.ins.2012.04.012, lire en ligne, consulté le )
  18. (en) Brusilovsky Peter, The Adaptive Web, (ISBN 978-3-540-72078-2), p. 325
  19. (en) Blanda, Stephanie, « Online Recommender Systems – How Does a Website Know What I Want? », American Mathematical Society,‎ (lire en ligne)
  20. Macedo AA, Pollettini JT, Baranauskas JA, Chaves JC, « A Health Surveillance Software Framework to deliver information on preventive healthcare strategies. », J Biomed Inform, vol. 62,‎ , p. 159-70 (PMID 27318270, DOI 10.1016/j.jbi.2016.06.002, lire en ligne)
  21. Fernandez-Luque L, Karlsen R, Vognild LK, « Challenges and opportunities of using recommender systems for personalized health education. », Stud Health Technol Inform, vol. 150,‎ , p. 903-7 (PMID 19745443, lire en ligne)
  22. G. Adomavicius et A. Tuzhilin, « Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions », IEEE Transactions on Knowledge and Data Engineering, vol. 17, no 6,‎ , p. 734–749 (DOI 10.1109/TKDE.2005.99, lire en ligne).
  23. Rinke Hoekstra, The Knowledge Reengineering Bottleneck, Semantic Web – Interoperability, Usability, Applicability 1 (2010) 1 ,IOS Press
  24. a b et c Robin Burke , Hybrid Web Recommender Systems, pp. 377-408, The Adaptive Web, Peter Brusilovsky, Alfred Kobsa, Wolfgang Nejdl (Ed.), Lecture Notes in Computer Science, Springer-Verlag, Berlin, Germany, Lecture Notes in Computer Science, Vol. 4321, May 2007, 978-3-540-72078-2.
  25. Alexander Felfernig and Robin Burke. Constraint-based Recommender Systems: Technologies and Research Issues, Proceedings of the ACM International Conference on Electronic Commerce (ICEC'08), Innsbruck, Austria, Aug. 19-22, pp. 17-26, 2008.

Liens externes[modifier | modifier le code]

{{Portail|commerce|Internet}} {{DEFAULTSORT:Systeme de recommandation}} [[Catégorie:Commerce électronique]] [[Catégorie:Management du système d'information]] [[Catégorie:Intelligence collective]] [[Catégorie:Science des données]]