La recommandation, un axe de recherche en plein essor
La prise de décision est un processus cognitif complexe qui vise à sélectionner une action (ou autre) parmi différentes alternatives. Ce processus est basé sur des critères de choix, une analyse des enjeux et des options et conduit à un choix final. Plus concrètement, une des étapes du processus de prise de décision consiste à confronter un ensemble de données et informations en les explorant afin de prendre une décision pertinente. Depuis le début des années quatre-vingt-dix, avec le développement des technologies du Web, des communications et encore plus récemment de l’Internet des objets, nous sommes de plus en plus envahis par des données et des informations. Finalement, lorsqu’une personne seule doit prendre une décision, elle peut se retrouver submergée par tant de données et informations qu’elle ne saura pas pour quoi opter.
Des techniques informatiques pour nous faciliter la tâche dans l’exploration de ce grand volume de données existent, par exemple en Recherche d’Information (Information Retrieval en anglais), en informatique décisionnelle ou en fouille de données (Data Mining en anglais). Les moyens, outils et méthodes de Recherche d’Information cherchent à représenter des documents dans le but d’en récupérer des informations, souvent au moyen d’index, les traiter et établir la représentation des documents. En informatique décisionnelle, les moyens, outils et méthodes permettent de collecter, consolider, modéliser et restituer les données afin d’offrir une aide à la décision et une vue d’ensemble des données. Par exemple, les entrepôts de données sont utilisés pour collecter, ordonner et stocker des informations provenant de bases de données opérationnelles et fournir ainsi un socle à l’aide à la décision. La fouille de données, quant à elle, a pour objet l’extraction d’un savoir ou d’une connaissance à partir de grandes quantités de données, c’est-à-dire trouver des structures intéressantes selon des critères fixés au préalable, et en extraire un maximum de connaissances.
Alors que l’informatique décisionnelle permet de constater un fait et de l’expliquer, la fouille de données permet de classer les faits et de les prévoir dans une certaine mesure ou encore de les éclairer. Malgré leurs intérêts respectifs, l’adéquation à la problématique d’aide à l’exploration des données et leurs performances, les techniques utilisées en Recherche d’Information, informatique décisionnelle et fouille de données demandent à celles et ceux qui les utilisent, d’avoir un minimum d’informations ou de connaissances initiales ainsi qu’une idée de la direction dans laquelle orienter leur exploration des données (en se limitant parfois à certains domaines d’applications). Par contre, lorsque l’on est réellement « noyé » au milieu de ses données, quel que soit le domaine d’application, on aura tendance à chercher de l’aide ou expertise auprès d’une autre personne ou, plus récemment, d’un ordinateur. Cette sorte d’aide à la décision s’appelle de la recommandation. Dans ce premier article, nous introduirons les systèmes de recommandation. Les différentes approches sous-jacentes à ces systèmes feront l’objet d’un prochain article.
Une définition de la recommandation
Le terme « recommandation » a plusieurs sens. L’Académie Française [Fra32] en donne six définitions différentes, à savoir :
1) Exhortation instante, conseil pressant. Il a fait cela malgré toutes mes recommandations ;
2) Action de recommander ;
3) Prière que l’Église catholique fait à Dieu pour les agonisants ;
4) Estime qu’on a pour la vertu, le mérite. La sainteté de sa vie l’avait mis partout en grande recommandation ;
5) Titre dont on peut se prévaloir, qui vous vaut de l’estime ;
6) Administration postale : action de recommander une lettre, un paquet.
Dans le cadre de cet article, nous nous concentrerons sur la définition 2, selon laquelle recommander consiste, entre autres, à « conseiller particulièrement quelque chose, exhorter une personne à quelque chose ». Ainsi, la recommandation peut être vue comme un dialogue entre une personne experte d’un domaine donné et une autre personne qui souhaite acquérir des informations dans ce domaine. Par exemple, un bibliothécaire nous suggérera des ouvrages en fonction soit des dernières nouveautés, soit de nos goûts clairement explicités. Cette recommandation de lecture (reader’s advisory en anglais) existe depuis la fin du XIXe siècle [Cro05]. Ici, la recommandation est donc un moyen d’aider le public de la bibliothèque à choisir des livres parmi tous les ouvrages de la bibliothèque à propos desquels il n’a pas de connaissances suffisantes pour les trier et évaluer leur pertinence. Ainsi, la communication et le partage de l’information semblent être le fondement même de la recommandation.
La recommandation est un domaine scientifique qui cherche à adapter l’accès à l’information à un utilisateur ou une utilisatrice et ainsi l’aider à choisir des éléments de contenus dans un catalogue. Dans notre contexte de déluge de données et d’informations, ce catalogue peut être très voire trop volumineux. Des techniques informatiques ont donc été proposées pour « automatiser » la recommandation. Apparus au début des années quatre-vingt-dix pour pallier le problème de « sur-information » lié à l’avènement du Web, les systèmes de recommandation sont transversaux à de nombreux domaines de l’informatique (recherche d’informations, apprentissage…) et se déclinent dans de multiples champs d’applications (films, actualités, restaurants, travail, etc.). Le problème peut donc être formulé de la manière suivante : comment guider les individus dans leur exploration de données afin qu’elles et ils trouvent des informations pertinentes ? Il s’agit de guider l’utilisateur ou utilisatrice lors de son exploration de la quantité d’informations à sa disposition en cherchant pour chacun ou chacune, les informations pertinentes. C’est une forme particulière de filtrage visant à présenter les éléments d’informations (films, musique, livres, images, pages web, etc.) susceptibles de l’intéresser. Généralement, à partir de certaines caractéristiques de référence1, le système de recommandation cherche à prédire « l’avis » que donnerait l’utilisateur ou l’utilisatrice à chaque élément et lui recommande ceux obtenant le meilleur « avis ».
La construction d’un profil utilisateur
Dans un souci d’être au plus près des attentes ou besoins des personnes et d’avoir des systèmes centrés sur elles, il est important de les connaître au mieux : leurs attentes ou besoins mais aussi leur environnement et leurs connaissances propres, c’est-à-dire le contexte de l’utilisateur ou utilisatrice. Ce contexte est associé à des données, informations et connaissances qui doivent être extraites et intégrées dans le système informatique. Les individus doivent donc être bien placés au centre du système de recommandation.
Nos données, informations et connaissances explicitables sont alors intégrées au sein du système informatique par l’intermédiaire de ce que nous appelons un profil utilisateur. Un profil utilisateur est un ensemble de données qui influencent le comportement d’un dispositif informatique en fonction des besoins ou des attentes de l’utilisateur ou utilisatrice [BDR91]. Il peut contenir des données telles que, par exemple, identifiant, état civil, âge, sexe, préférences, compétences, historique des interactions avec le système… [Neg15b].
Notons que les données de nos profils sont représentées différemment selon les besoins, mais qu’elles sont en général stockées sous la forme de couples attribut-valeur où chaque couple représente une propriété du profil. Les propriétés peuvent éventuellement être regroupées par catégories.
Par exemple, le tableau 1 (voir ci-dessous) illustre le profil de l’utilisatrice Marie qui contient pour le groupe Livre, l’attribut Genre ayant pour valeur Thriller/Policier et l’attribut Auteur ayant pour valeurs S. King et M. Connelly.
Ce profil se construit avec ou sans l’aide de l’utilisateur ou utilisatrice. En effet, lors de la construction du profil, il faut distinguer la collecte explicite de la collecte implicite des données. La collecte de données est explicite lorsque la personne sollicitée exprime explicitement son avis, par exemple, classer une collection d’éléments en fonction de ses préférences, choisir l’élément le plus pertinent, créer une liste d’éléments intéressants pour elle.
A contrario, la collecte de données est implicite lorsque les préférences et avis de l’utilisateur ou utilisatrice sont induits en « analysant » ses actions, par exemple, observer quels sont les éléments visualisés par l’utilisateur ou utilisatrice, garder une trace de ses navigations (achats réalisés, éléments sur lesquels la personne s’est attardée, etc.), analyser son réseau social et découvrir ses goûts ou aversions.
Enfin, il est à noter que ce profil de l’utilisateur ou utilisatrice évolue au cours du temps.
Identifiant | 1 | |
Informations personnelles | Utilisateur | Marie |
Sexe | Femme | |
Livre | Genre | Thriller/Policier |
Auteur | S. King, M. Connelly | |
Film | Genre | Jeunesse, Dessins animés, Humour |
Réalisateur | G. Lucas |
Exemple 1 : Le tableau 1 ci-dessus illustre un extrait du profil de l’utilisatrice Marie basé sur les informations et préférences qu’elle a données [Neg15b].
Une introduction aux systèmes de recommandation
Les systèmes de recommandation ont été étudiés dans de nombreux domaines [Neg15b] : la recherche d’informations (Information Retrieval) [BYRN99], le e-commerce [SKR01], l’exploitation des usages du Web (Web Usage Mining) [SCDT00] et bien d’autres. Le problème de la recommandation peut se résumer à l’estimation de scores pour des éléments qui n’ont pas encore été vus par un utilisateur ou une utilisatrice. En effet, le nombre d’éléments ainsi que le nombre d’utilisateurs ou utilisatrices du système peuvent être très importants ; il est, de ce fait, difficile que chacun ou chacune voit tous les éléments ou que chaque élément soit évalué par tout le monde. Il est donc nécessaire d’estimer les scores pour les éléments non encore évalués.
Cette évaluation est habituellement basée sur les scores donnés par un utilisateur ou une utilisatrice à d’autres éléments et sur une autre information qui sera formellement décrite ci-dessous. Lorsqu’il est possible d’estimer les scores pour les éléments non encore évalués, les éléments ayant les scores les plus élevés peuvent être recommandés à l’utilisateur ou utilisatrice. Plus formellement, [AT05] formule le problème de recommandation dans le domaine du e-commerce comme suit :
Définition 1 : Recommandation en e-commerce
Soit C l’ensemble de tous les utilisateurs/utilisatrices, I l’ensemble de tous les éléments possibles qui peuvent être recommandés (comme des livres, des films ou des restaurants) et soit u une fonction qui mesure l’utilité d’un élément i à l’utilisateur ou utilisatrice c, c’est-à-dire u ∶ C × I → ℝ
Alors pour chaque utilisateur c ∈ C, nous voulons choisir l’élément i′ ∈ I qui maximise2 l’utilité à l’utilisateur ou utilisatrice : ∀c ∈ C, i′c= argmaxi∈I u(c,i)
Dans les systèmes de recommandation, l’utilité d’un élément est habituellement représentée par un score qui indique comment un utilisateur ou une utilisatrice spécifique a aimé un élément particulier.
Exemple 2 : Ici, les éléments sont des films que les utilisateurs et utilisatrices Arnaud, Patrick, Marie et Elsa sont susceptibles d’avoir notés. Par exemple, l’utilisateur Arnaud a donné au film « Harry Potter » le score de 3 (sur 10). Nous obtenons la matrice C × I :
u(c,i) | Harry Potter | L’Âge de glace | L’Âge de glace 2 | OSS 117 | Bienvenue chez les Ch’tis |
Elsa | 8 | 2 | 7 | ||
Marie | 9 | 8 | 3 | 6 | |
Arnaud | 3 | 5 | 5 | ||
Patrick | 5 | 3 | 3 | 3 |
Notons qu’une cellule (c, i) de la matrice correspond au score d’utilité assigné au film i par l’utilisateur ou utilisatrice c.
Le problème central des systèmes de recommandation vient du fait que cette utilité u n’est pas habituellement définie sur l’espace complet C × I, mais seulement sur un certain sous-ensemble de celui-ci. Cela signifie que u doit être extrapolée à l’espace entier C × I. Dans les systèmes de recommandation, l’utilité est typiquement représentée par les scores et est d’abord définie sur les éléments précédemment évalués par les utilisateurs et utilisatrices. Par conséquent, le moteur de recommandation devrait pouvoir prévoir les scores des combinaisons non évaluées d’Éléments × Utilisateurs et publier des recommandations appropriées basées sur ces prévisions.
Une fois que les scores inconnus sont estimés, des recommandations sont émises en choisissant le(s) score(s) le plus élevé(s) parmi tous les scores prévus pour l’utilisateur ou utilisatrice en question, selon la formule donnée dans la définition 1 (voir ci-dessus).
Alternativement, nous pouvons recommander les meilleurs éléments à un utilisateur ou une utilisatrice, c’est-à-dire les éléments les plus pertinents pour elle ou lui ou bien un ensemble d’utilisateurs et utilisatrices à un élément, c’est-à-dire les utilisateurs et utilisatrices les plus intéressés par l’élément.
Conclusion
Avec l’avènement du Web et les évolutions technologiques, entre autres, la masse de données à exploiter et/ou analyser est devenue très volumineuse. Si bien qu’il est devenu difficile de savoir quelles sont les données à rechercher et où les trouver. Des techniques informatiques pour faciliter cette recherche ainsi que l’extraction des informations pertinentes existent. Celle sur laquelle nous nous sommes concentrés dans cet article est la recommandation.
Il s’agit de guider l’utilisateur ou utilisatrice dans son exploration des données afin de l’aider à y trouver des informations pertinentes. Les systèmes de recommandation ont été étudiés, depuis le début des années 1990, dans des domaines divers et variés comme le web, le e-commerce et bien d’autres. La recommandation est devenue un axe de recherche en plein essor : de nombreux systèmes que nous utilisons au quotidien proposent des recommandations. Nous en savons désormais un peu plus sur ces systèmes.
1. Ces caractéristiques peuvent, par exemple, provenir des éléments d’information eux-mêmes, on parle d’« approche basée sur le contenu » ou de l’environnement social, on parle de « filtrage collaboratif ».
2. L’argument maximum ou argmax représente la valeur de la variable pour laquelle la valeur de la fonction concernée atteint son maximum.
[AT05] G. Adomavicius and A. Tuzhilin. Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions. Knowledge and Data Engineering, IEEE Transactions on, 17(6) : 734-749, 2005.
[BDR91] Sanjiv K. Bhatia, Jitender S. Deogun, and Vijay V. Raghavan. User profiles for information retrieval. In Zbigniew W. Ras and Maria Zemankova, editors, ISMIS, volume 542 of Lecture Notes in Computer Science, pages 102-111. Springer, 1991.
[BYRN99] Ricardo A. Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Retrieval. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999.
[Cro05] Bill Crowley. Rediscovering the history of readers advisory service. Public Libraries, 44(1) :38, 2005.
[Fra32] Académie Française. Dictionnaire. atilf.atilf.fr/academie.htm ; www.academiefrancaise.fr, 1932.
[Neg15b] Elsa Negre.Systèmes de recommandation-Introduction. ISTE, 2015.
[SCDT00] Jaideep Srivastava, Robert Cooley, Mukund Deshpande, and Pang-Ning Tan. Web Usage Mining : Discovery and Applications of Usage Patterns from Web data. SIGKDD Explorations, 1(2) :12-23, 2000.
[SKR01] J. Ben Schafer, Joseph A. Konstan, and John Riedl. E-commerce Recommendation Applications. Data Mining and Knowledge Discovery, 5(1/2) :115-153, 2001.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !
Elsa Negre