Télécharger le fichier pdf d’un mémoire de fin d’études
Importance des recommandations top-N
Les plateformes d’applications des recommandations top-N sont très fréquentes sur le web. Leur mise en œuvre concerne divers type d’objets comme les chansons sur Last.fm, Yahoo ! music, Apple music[146, 73], les films et les vidéos sur youtube, netflix, hulu [34, 38], les liens sociaux sur facebook, linkedin, twitter [30, 145], les produits physiques sur amazon, ebay [90], les journaux d’information et scientifiques sur Google news, Yahoo ! news, Springer [37, 139] et même les lieux intéressants sur Yelp, FourSquare [149, 86]. Dans ces contextes variés d’application des recommandations top-N, il y a deux principales catégories de bénéficiaires : d’une part les utilisateurs et d’autre part les entreprises propriétaires de ces plateformes.
Dans la première catégorie, on constate qu’un utilisateur qui est connecté par exemple sur Youtube et qui veut regarder une nouvelle vidéo intéressante pour lui ne saurait avoir la tâche facile sans l’assistance d’un système de recommandation top-N qui lui présente un ensemble réduit d’items proches de son historique et de l’historique d’autres utilisateurs. Cette démarche permet à l’utilisateur concerné de gagner en temps et d’être satisfait. La satisfaction des clients a pour conséquence de faire de ces derniers des utilisateurs fidèles qui vont davantage effectuer des actions sur cette plateforme. Cet usage régulier par un grand nombre de clients conduit à une croissance du volume des ventes et du chiffre d’affaire des entreprises propriétaires.
La recommandation top-N est en train de devenir le standard le plus pratique du domaine [34], en grande partie grâce à la disponibilité des données utilisées pour leur mise en œuvre.
Données explicites vs données implicites
Les premiers systèmes de recommandation étaient conçus à partir des données expli-cites qui sont en général des matrices de notes. Dans une matrice de notes R|U|×|I| où U et I sont respectivement l’ensemble des utilisateurs et des items, chaque cellule R[u, i] est soit nulle, soit contient une valeur réelle qui est la note que l’utilisateur u a attribuée à l’item i sur une plateforme en ligne. Par exemple la plateforme Netflix collecte des notes de 1 à 5 sur les vidéos, et la plateforme Yelp collecte des notes comprises entre 1 et 5 sur les restaurants.
La collecte des données explicites des utilisateurs se fait avec beaucoup de difficultés. En effet, cette démarche requiert une action supplémentaire des utilisateurs qui doivent prendre la peine d’attribuer une note à chaque produit qu’ils consomment. Cependant, les utilisateurs ignorent souvent l’étape qui consiste à noter les produits, par exemple sur Amazon après les avoir réceptionnés. Ce comportement fréquent conduit à une faible proportion d’éléments notés par rapport à l’ensemble des éléments consultés dont les traces sont présentes dans l’historique de navigation. On a donc un manque de données explicites et une abondance des données implicites. L’historique de navigation d’un utilisateur le met en relation avec des produits qui ont suscité un intérêt de sa part et qu’il a consultés ou consommés. Dans cette situation, la plupart des systèmes de recommandation top-N qui utilisent des données implicites considèrent de nouveau la matrice R|U|×|I| mais à la différence que R[u, i] contient 1 ou 0 ; 1 quand l’item i est présent dans l’historique des actions de l’utilisateur u et 0 sinon. Cependant, cette représentation des données ignore la dimension temporelle qui est présente dans l’historique de navigation.
Techniques du filtrage collaboratif
L’approche par filtrage collaboratif est la plus utilisée et également la plus étudiée dans la littérature, notamment au travers des techniques basées sur la mémoire comme les k-plus proches voisins [72], les graphes de recommandation [14] et les techniques basées sur un modèle d’apprentissage automatique comme la factorisation matricielle [62], les réseaux bayésiens [118], les machines à vecteurs supports (SVM) [89] et les réseaux de neurones [54].
Techniques basées sur la mémoire
Les techniques de recommandation basées sur la mémoire reposent sur deux princi-pales étapes : la première pour déterminer les corrélations entre les utilisateurs (ou les items) et la seconde pour calculer les prédictions [22]. Dans cette catégorie, les techniques les plus utilisées sont les K-plus proches voisins (KNN) et les graphes de recommanda-tion. Dans cette section, nous présenterons uniquement la technique KNN pour illustrer le fonctionnement des techniques basées sur la mémoire. Nous parlerons des graphes de recommandation en section 2.1.3.
Il existe deux variantes de KNN : la première basée sur les utilisateurs et le seconde basée sur les produits [72, 140]. Dans la technique KNN basée sur les utilisateurs, la première étape consiste à déterminer les K-plus proches voisins de l’utilisateur cible u, c’est-à-dire les K utilisateurs qui lui sont le plus similaires, et la seconde étape consiste à combiner les préférences de ces derniers pour déduire les produits à recommander. En revanche, dans la technique KNN basée sur les produits, pour chaque produit i que l’utilisateur cible u n’a pas encore sélectionné, on détermine les K-plus proches voisins de i dans la première étape, puis on combine les préférences de u pour ces K produits afin d’estimer le taux de préférence de u pour i. Dans la suite nous présentons comment se déroulent les deux principales étapes, la détermination des plus proches voisins et la déduction des recommandations.
Autres modèles d’apprentissage automatique
Outre la factorisation matricielle, d’autres modèles d’apprentissage automatique sont également fréquents dans la littérature des systèmes de recommandation top-N. La plu-part de ces travaux transforment le problème de recommandation en un problème de classification binaire [55] ou en un problème de classification uni-classe [89]. Dans les deux cas, il est question pour un couple utilisateur-produit (u, i) non encore observé, d’exprimer à quelle proportion est-ce que (u, i) appartient à la classe 1, en supposant que 1 est la classe des liens utilisateur-produit positifs. La différence entre les deux types de classification, est que dans la classification binaire, on apprend le modèle avec des exemples positifs et des exemples négatifs, alors que dans la classification uni-classe, on apprend uniquement à partir des exemples positifs.
Une autre caractéristique de ces travaux est l’usage d’une représentation intermé-diaire des données afin d’extraire des descripteurs des couples utilisateur-produit. Ces descripteurs sont utilisés en entrée des classifieurs considérés. Par exemple He et al. [55] appliquent la factorisation matricielle pour avoir k descripteurs des utilisateurs et des produits, puis ils entrainent le réseau de neurones à partir de ces descripteurs. On a éga-lement des systèmes de recommandation qui sont basés sur un modèle probabiliste de prédiction comme les réseaux bayésiens [22].
Techniques hybrides : basées sur la mémoire et sur un modèle. Notons que cer-tains systèmes de recommandation combinent une technique basée sur la mémoire à une technique basée sur un modèle. Par exemple, Li et al. [89], représentent d’abord la ma-trice des notes binaires sous forme de graphe biparti classique. Puis décrivent les couples utilisateur-produit (u, i) à l’aide des propriétés du contexte topologique de l’utilisateur et du produit concerné. Enfin, ils entrainent un modèle de machines à vecteurs supports uni-classe et déduisent les recommandations.
Comme autre exemple, on a des travaux dans lesquels la factorisation matricielle est combinée à KNN [16, 76]. Dans ces travaux, pour calculer la préférence de l’utilisateur cible u pour un produit i qu’il n’a pas encore sélectionné, on procède comme pour les KNN sauf que le calcul des similarités se fait dans l’espace réduit à k dimensions résultant de la factorisation matricielle. De même, le calcul peut être basé sur les similarités entre utilisateurs ou les similarités entre produits. La mesure de similarité à utiliser dans ce contexte repose sur des vecteurs à l’exemple de la mesure du cosinus.
Limites des techniques basées sur un modèle. Malgré le gain pour le stockage du modèle en mémoire, l’usage des modèles d’apprentissage automatique pour implémenter des systèmes de recommandation a quelques inconvénients :
– ces modèles peuvent être très complexes et même être basés sur des caractéristiques qui ne sont pas interprétables dans la réalité.
– l’optimisation des hyper-paramètres nécessite une quantité importante de données disponibles. Ceci peut être un problème lors du lancement d’une nouvelle plateforme de e-commerce.
– le temps d’apprentissage d’un modèle peut être très grand en fonction du nombre d’utilisateur et du nombre de produits.
– l’ajout d’un nouvel utilisateur ou d’un nouveau produit peut nécessiter de réap-prendre le modèle. Compte tenu de ces dernières remarques, il est compréhensible que de nombreuses alter-natives aux systèmes de recommandation basés sur un modèle d’apprentissage automa-tique soient présentes dans la littérature. Par exemple, beaucoup utilisent les graphes de recommandation.
Graphes de recommandation
Les graphes sont très utilisés pour étudier la structure et la composition de divers systèmes. Un graphe est constitué d’un ensemble d’éléments appelés nœuds ou sommets et de connexions appelées arêtes ou liens. La recherche des associations transitives dans le contexte des systèmes de recommandation est généralement mise en œuvre à l’aide d’un modèle basé sur des graphes pour deux raisons : un graphe est facilement inter-prété et fournit un cadre plus naturel et intuitif pour différents types d’applications. Deuxièmement, de nombreux algorithmes basés sur des graphes peuvent être directement implémentés dans différents domaines comme le e-commerce ou les réseaux sociaux.
Les graphes de recommandation définis pour le calcul des recommandations top-N à partir des données implicites ont les mêmes étapes que les autres systèmes de recomman-dation basés sur la mémoire comme KNN : une étape pour établir les corrélations entre les entités et une seconde étape pour le calcul des recommandations. Dans ce contexte, la première étape est celle de la représentation des données par un graphe et la seconde étape correspond à l’application d’un algorithme de calcul des recommandations à partir du graphe construit précédemment.
Construction du graphe
Le principal graphe de recommandation qui est construit à partir de la matrice des notes binaires est le graphe biparti classique. Dans ce graphe, chaque utilisateur (res-pectivement chaque produit) est représenté par un nœud. Lorsque Ru,i = 1, le nœud de l’utilisateur u est relié au nœud du produit i par une arête (u, i). Ce graphe est fréquent comme modèle de représentation des données dans plusieurs travaux sur les données im-plicites à l’exemple de ceux de Baluja et al. [14] sur la recommandation des vidéos sur Youtube et Yan et al. sur la recommandation des tweets [145].
D’autres travaux se servent des graphes projetés du graphe biparti classique [154, 19]. Le graphe peut être projeté sur la dimension utilisateur ou sur la dimension produit. Dans le cas du graphe projeté utilisateur, tous les nœuds correspondent à des utilisateurs. Il y a une arête entre deux nœuds si les deux utilisateurs associés ont sélectionné des produits en commun et le poids de cette arête est fonction du nombre de produits en commun. Dans le cas du graphe projeté produit, tous les nœuds correspondent à des produits et une arête entre deux nœuds signifie que les deux produits associés ont été sélectionnés par le même utilisateur. Le poids de l’arête dépend du nombre d’utilisateurs pour qui cela est vrai. La figure 2.1 présente un exemple de graphe biparti et les deux graphes projetés associés.
Évaluation des recommandations top-N
La plupart des recherches sur les systèmes de recommandation portent sur la concep-tion et l’amélioration de la performance des algorithmes de recommandation proposés [58, 124]. Afin de comparer et de sélectionner les algorithmes les plus performants parmi plusieurs algorithmes, il est nécessaire de mesurer et de comparer leurs performances. Cette comparaison est généralement faite empiriquement à partir d’expérimentation dans lesquelles les performances des algorithmes sont testées en ligne ou hors ligne. Ceci est fait en appliquant un protocole d’évaluation particulier, c’est-à-dire en utilisant une mé-thodologie d’évaluation qui définit comment évaluer et certains paramètres d’évaluation qui définissent quoi évaluer.
Méthodes d’évaluation des recommandations
Après la conception d’un système de recommandation, la qualité des recommanda-tions produites peut être évaluée en-ligne ou hors-ligne. Dans le cas d’une évaluation en-ligne, le système de recommandation est déployé sur un site internet et des tests de recommandation sont appliqués sur des internautes qui évaluent les propositions qu’ils reçoivent. Ils peuvent remplir des questionnaires concernant leur expérience du système et les recommandations reçues [74]. Si les internautes sont satisfaits alors le système de recommandation concerné est dit satisfaisant, dans le cas contraire, ce système est jugé peu efficace.
En revanche, pour l’évaluation hors-ligne on se sert des jeux de données qui contiennent des traces des liens utilisateur-item passés pour simuler comment les utilisateurs se se-raient comportés s’ils avaient utilisé le système évalué. Ainsi, les données sont divisées en deux partis disjointes, une parti comme jeu d’apprentissage (comportements passés des utilisateurs que le système connaît) et la partie restante comme jeu de test (com-portements futurs des utilisateurs qu’il faut prédire). Les résultats de l’évaluation sont obtenus en comparant les listes de produits recommandés aux listes réelles de produits sélectionnés dans le jeu de test [124].
L’évaluation en-ligne peut être considérée comme préférable à l’évaluation hors-ligne, principalement en raison de sa capacité à prendre en compte l’expérience de l’utilisateur [74]. Malgré ses avantages, l’évaluation en-ligne est plus difficile et plus coûteuse à réaliser, car elle nécessite la mise en œuvre complète du système à évaluer. De plus, les utilisateurs doivent être recrutés et probablement payés pour tester le système. L’évaluation hors-ligne, par contre, ne nécessite que l’implémentation des algorithmes du système à tester. Grâce à la disponibilité des données, aucun recrutement d’utilisateurs n’est nécessaire. Ainsi, l’évaluation hors-ligne apporte un environnement expérimental peu coûteux et facile à reproduire pour tester de nouveaux algorithmes. Compte tenu de ces dernières remarques, la méthode d’évaluation hors-ligne est la plus utilisée dans la littérature. Nous suivons ce courant, et menons uniquement des évaluations hors-ligne dans notre travail.
Protocole d’évaluation hors-ligne : validation croisée
Plusieurs travaux sur les systèmes de recommandation utilisent un protocole d’éva-luation qui procède à un fractionnement aléatoire (indépendant du temps) des jeux d’ap-prentissage et de test. Dans ces cas, une sélection aléatoire de données (liens implicites ou notes explicites) est effectuée pour avoir le jeu de test de chaque utilisateur et le reste est intégré au jeu d’apprentissage. Il est possible de se fixer un nombre de données ou de se fixer un pourcentage de données à sélectionner de manière aléatoire pour le jeu de test. La figure 2.2 montre un schéma de sélection aléatoire du jeu de données. Dans la figure, les triangles ombrés représentent les données attribuées au jeu de test.
Types d’informations du contenu
Au niveau le plus élémentaire, les systèmes basés sur le contenu dépendent de deux sources de données : la première est une description formelle des produits en termes d’attributs centrés sur le contenu. Un exemple d’une telle représentation pourrait être la description textuelle d’un article par le fabricant ou par les propriétaires de la plateforme d’e-commerce. La deuxième source de données repose sur les retours des utilisateurs, qui peuvent générer des commentaires ou attribuer des étiquettes aux produits comme pour les logiciels de marquage social (social bookmarking) à l’exemple de CiteUlike et Delicious.
Quelle que soit la source des données, ces dernières peuvent être de deux types : structurées ou non structurées. On parle de données non structurées par exemple lorsque des mots-clés sont extraits des textes qui décrivent les produits. Ces textes peuvent être des descriptions fournies par le fabricant ou les commentaires des utilisateurs. En ce qui concerne les données structurées, les produits sont décrits par des catégories ou des taxonomies connues, par exemple le nom du fabricant, le genre, la taille ou le prix.
Dans la suite de cette section, nous décrivons les processus d’extraction et de sélection des attributs des produits, et dans les sections suivantes nous décrivons comment ces attributs sont utilisés dans les techniques du filtrage basé sur le contenu et leur intégration pour améliorer les techniques du filtrage collaboratif.
Extraction des attributs
La première phase des techniques basées sur le contenu consiste à extraire des caracté-ristiques discriminantes pour représenter les produits. Les caractéristiques discriminantes sont celles qui prédisent fortement les intérêts des utilisateurs. Cette phase dépend for-tement de l’application à laquelle on est confronté. Par exemple, un système de recom-mandation de page web sera très différent d’un système de recommandation de chansons ou de vidéos.
Lors de cette phase, on doit pouvoir extraire des attributs qui permettent de décrire objectivement les produits du système. L’approche la plus courante consiste à extraire des mots-clés de données textuelles [20]. Ce choix s’explique par le fait que les descriptions textuelles non structurées sont souvent largement disponibles dans divers domaines et que l’usage du texte reste le moyen le plus naturel pour décrire les produits. Cependant, d’autres techniques peuvent être utilisées, notamment dans des cas comme la recomman-dation de chansons illustrée dans l’un des exemples ci-après. Recommandation de produits qui ont des descriptions textuelles. Dans de nombreux cas, un produit peut avoir plusieurs caractéristiques qui permettent de décrire les différents aspects de ce produit. Par exemple, pour un livre on peut avoir son titre, son auteur, ses mots-clés et le résumé du livre ; pour un film on peut avoir son genre, le réalisateur, la liste des acteurs principaux et une brève description du film.
Parmi les systèmes de recommandation conçus pour des produits qui ont des des-criptions textuelles [111, 29], certains systèmes réunissent un sous-ensemble de mots-clés utilisés pour décrire les caractéristiques des produits dans un sac de mots-clés, tandis que d’autres travaillent directement à une représentation multidimensionnelle des produits de telle sorte que chaque caractéristique correspond à une dimension. D’autres systèmes utilisent un sac de mots mais attribuent des poids différents aux mots en fonction des ca-ractéristiques dans lesquels ces mots ont été extraits. Cette dernière catégorie repose sur le fait que les noms des acteurs devraient avoir beaucoup de poids dans la recommandation de films par exemple.
Recommandation de chansons. Dans le cas de la recommandation de chansons, en plus des textes descriptifs, certains travaux utilisent des attributs extraits du fichier audio. Les attributs concernés ici peuvent être liés au timbre, au rythme et à la tonalité [28, 65]. Cette démarche vise à recommander des chansons similaires pas seulement concernant les étiquettes mais également concernant les sonorités. Cependant, même les caractéris-tiques extraites des fichiers audio sont catégorisées en mots-clés. Ainsi, une chanson peut toujours être représentée par un sac de mots-clés qui proviennent des caractéristiques différentes ou par une représentation multidimensionnelle comme évoqué précédemment.
Principe de sélection des attributs pertinents
Les mots-clés extraits des caractéristiques des produits constituent les attributs de description de ces produits. Les mots-clés courants, qui apparaissent dans une grande majorité des produits, sont statistiquement moins discriminants. Par conséquent, on ac-corde moins de poids à ces mots et plus de poids à ceux qui sont plus discriminants et qui permettent de mieux apprendre les goûts des utilisateurs [111].
Systèmes de recommandation basés sur le contenu
Les techniques du filtrage basé sur le contenu supposent que les catégories de pro-duits préférées d’un utilisateur dans le passé seront les mêmes dans le futur. Ainsi, la recommandation basée sur le contenu tente de comparer des produits en utilisant leurs caractéristiques (genre, acteurs, éditeur, auteur) pour recommander de nouveaux produits similaires à ceux précédemment sélectionnés par l’utilisateur cible [96].
Le filtrage basé sur le contenu impose des étapes de base qui restent présentes dans les différentes techniques. Ces étapes sont la phase de pré-traitement des données, la phase d’apprentissage des profils des utilisateurs et des produits, et enfin la phase de recommandation de nouveaux produits aux utilisateurs.
Étapes des systèmes de recommandation basés sur le contenu
Pré-traitement et extraction des attributs. Les systèmes basés sur le contenu sont utilisés dans une grande variété de domaines, tels que la navigation web, le streaming des chansons et des films et la diffusion des articles sur l’actualité. Comme évoqué dans la section précédente, dans ces cas, il est nécessaire d’extraire des mots-clés ou des informa-tions qu’on peut catégoriser à partir des données disponibles ; ça peut être par exemple la fouille de texte [111, 29] ou de l’extraction d’information à partir des fichiers audio [65]. Cependant, ce processus peut générer un grand nombre de mots-clés, auquel cas il faut les réduire en un nombre raisonnable, de manière à ne retenir que les plus pertinents. Le choix de ces attributs influence la qualité des systèmes de recommandation basés sur le contenu, car ces attributs constituent la base des étapes suivantes. Apprentissage des profils des utilisateurs et des produits. Dans les systèmes de recommandation basés sur le contenu, il est courant de représenter le profil d’un produit par un sac de mots-clés et leurs fréquences dans une représentation en espace vectoriel [111]. De même le profil d’un utilisateur peut être assimilé à un vecteur pondéré des caractéristiques du contenu, en donnant plus de poids aux caractéristiques présentes dans les produits préférés de cet utilisateur.
En d’autres termes, le système s’appuie sur les attributs des produits qu’un utilisateur a aimés dans le passé : c’est l’ensemble de ces attributs qui constitue son profil. Le profil d’un utilisateur peut être explicite ou implicite ; un profil est implicite lorsque les attributs sont déduits des précédents choix de l’utilisateur et explicite lorsque l’utilisateur a fourni lui même une liste des attributs qui l’intéressent. Dans cette étape, des techniques de classification peuvent être utilisées pour attribuer des étiquettes au profil de chaque utilisateur [7].
Filtrage et recommandation. Dans cette étape, pour recommander des produits à un utilisateur, on utilise son profil construit à l’étape précédente. L’objectif est de lui re-commander des produits qui correspondent à son profil et qu’il n’a pas encore sélectionné dans le passé. A cet effet, les techniques du filtrage basé sur le contenu calculent pour chaque couple (u, i), un score F (u, i) qui indique à quel point les caractéristiques de i correspondent aux préférences de u [12, 113].
Pour avoir ce score, certaines techniques calculent directement la similarité entre le contenu des produits et le profil de l’utilisateur cible. Par exemple, en utilisant les vecteurs pondérés des caractéristiques du contenu, l’application de la mesure du cosinus peut permettre de trouver les produits similaires à ceux préférés par l’utilisateur cible.
Une autre manière de procéder est celle des techniques basées sur un modèle, ces dernières créant un modèle des préférences utilisateur basé sur le contenu des produits, et utilisant le modèle construit pour calculer le score F (u, i). Par exemple, dans [111] les auteurs utilisent un modèle bayésien pour classer les pages web comme « intéressantes » ou « non intéressantes » pour un utilisateur, à partir d’un ensemble de pages précédemment notées par l’utilisateur concerné. Ce classifieur Bayésien est utilisé pour calculer la proba-bilité qu’une page web appartient à une classe (« intéressant » ou « non intéressant »), étant donné le vecteur des caractéristiques du contenu qui décrit cette page.
Atouts et inconvénients des systèmes basés sur le contenu
Atténuer le démarrage à froid des produits. Le principal avantage du filtrage basé sur le contenu est sa capacité à recommander des produits auxquels aucune note n’a été attribuée. Ceci permet de résoudre le problème du démarrage à froid des nou-veaux produits qu’on rencontre avec le filtrage collaboratif. Les recommandations avec le filtrage basé sur le contenu sont donc utiles lorsque le manque de données est très élevé ou lorsque l’ensemble des produits change rapidement, mais pas l’ensemble de leurs étiquettes, comme dans le domaine des recommandations des articles sur l’actualité [12].
Sensibilité au manque de données. Les techniques du filtrage basé sur le contenu nécessitent d’autres types de données en dehors de l’historique des actions des utilisa-teurs ; on peut citer la description des produits et les étiquettes des catégories de ces produits. Ainsi, ces techniques peuvent être limitées, lorsque les données sur le contenu sont en quantité insuffisante ou ne contiennent pas suffisamment d’informations utiles qui permettent de bien discriminer les produits et bien exprimer les préférences des clients.
Manque de surprise et de diversité des recommandations. Les techniques de filtrage basé sur le contenu souffrent de la sur-spécialisation des recommandations, car ces techniques suggèrent toujours des produits similaires à ceux déjà connus de l’utilisateur et ne peuvent donc pas fournir de recommandations nouvelles ou diverses qui puissent surprendre l’utilisateur [23]. De plus, ces techniques requièrent que l’utilisateur cible ait au nombre suffisant de produits qu’il a aimés dans le passé, afin de bien connaître ses préférences [5, 113]. Ceci montre clairement que l’usage des informations sur le contenu ne résout pas le problème du démarrage à froid des utilisateurs ; au contraire, les techniques du filtrage basé sur le contenu en souffrent également.
Combinaison des filtrages collaboratif et basé sur le contenu
Lorsqu’un utilisateur sélectionne un produit pour la première fois sur une plateforme de e-commerce, cela peut être dû aux attributs de ce produit. Par exemple, une personne qui aime un artiste musicien peut écouter le nouvel album de cet artiste dès l’instant que cet album est inséré dans la plateforme. Cette remarque laisse penser que l’intégration des informations du contenu dans les techniques de filtrage collaboratif peut avoir un impact positif sur la qualité des recommandations. Cette idée a inspiré la conception de nouveaux types de systèmes de recommandation dits hybrides, dans lesquels l’objectif est de combiner le meilleur des deux approches pour créer des systèmes de recommandation encore plus robustes [12, 15, 122].
En effet, malgré les inconvénients des techniques basées sur le contenu, notamment le démarrage à froid des utilisateurs et le problème de diversité et de nouveauté des recommandations, ces techniques peuvent compléter les techniques du filtrage collaboratif en raison de leur capacité à exploiter les connaissances basées sur le contenu dans le processus de recommandation. Ce comportement complémentaire est souvent mis à profit pour pallier au démarrage à froid des produits et au manque de données dont souffrent les techniques du filtrage collaboratif, mais également de produire des recommandations diverses contrairement aux techniques de filtrage basé sur le contenu. Dans la suite, nous présentons quelques méthodes de conception de tels systèmes de recommandation.
Méthodes de combinaison des deux approches
Il y a plusieurs manières de combiner le filtrage collaboratif et le filtrage basé sur le contenu dans un système hybride. Conformément aux travaux de Adomavicius et Tuzhi-lin [5], les systèmes hybrides qui combinent le filtrage collaboratif et le filtrage basé sur le contenu peuvent être classés comme suit : (1) implémenter séparément les deux approches et combiner leurs recommandations, (2) incorporer certaines caractéristiques basées sur le contenu dans une technique du filtrage collaboratif, (3) incorporer certaines caracté-ristiques de collaboration dans une technique basée sur le contenu, et (4) construire un modèle qui intègre à la fois des caractéristiques de collaboration et du contenu. Toutes ces quatre méthodes ont été utilisées par des chercheurs en recommandation.
Implémentations séparées. Un moyen de créer des systèmes de recommandation hybrides consiste à mettre en œuvre deux techniques distinctes de filtrage collaboratif et de filtrage basé sur le contenu. Nous pouvons avoir deux scénarios différents. D’une part on peut combiner les résultats obtenus à partir des systèmes de recommandation individuels en une recommandation finale en utilisant soit une combinaison linéaire [32], soit un schéma de vote [112]. D’autre part, on peut utiliser l’un des systèmes en choisissant à chaque fois celui qui est meilleur en fonction de certaines mesures de la qualité des recommandations [20].
|
Table des matières
1 Introduction
1.1 Recommandations top-N
1.1.1 Importance des recommandations top-N
1.1.2 Données explicites vs données implicites
1.2 Flots de liens et données implicites
1.2.1 Flot de liens comme représentation des données implicites
1.2.2 Flot de liens et graphes
1.3 Positionnement du travail
1.3.1 Objectifs
1.3.2 Contributions
1.3.3 Guide de lecture
1.4 Résumé .
I Filtrage collaboratif
2 Filtrage collaboratif pour des recommandations top-N
2.1 Techniques du filtrage collaboratif
2.1.1 Techniques basées sur la mémoire
2.1.2 Techniques basées sur un modèle
2.1.3 Graphes de recommandation
2.2 Limites du filtrage collaboratif
2.2.1 Limites liées au principe
2.2.2 Limites liées aux données
2.3 Évaluation des recommandations top-N
2.3.1 Méthodes d’évaluation des recommandations
2.3.2 Protocole d’évaluation hors-ligne : validation croisée
2.3.3 Métriques d’évaluation
2.4 Résumé .
3 Filtrage collaboratif enrichi par des informations basées sur le contenu
3.1 Informations sur le contenu des produits
3.1.1 Types d’informations du contenu
3.1.2 Extraction des attributs
3.1.3 Principe de sélection des attributs pertinents
3.2 Systèmes de recommandation basés sur le contenu
3.2.1 Étapes des systèmes de recommandation basés sur le contenu
3.2.2 Atouts et inconvénients des systèmes basés sur le contenu
3.3 Combinaison des filtrages collaboratif et basé sur le contenu
3.3.1 Méthodes de combinaison des deux approches
3.3.2 Avantage des combinaisons des deux approches
3.4 Résumé .
4 Filtrage collaboratif enrichi par des informations sur la confiance
4.1 Définition et propriétés de la confiance
4.1.1 Propriétés de la confiance
4.1.2 Confiance globale et confiance locale
4.2 Mesure de la confiance
4.2.1 Confiance explicite et confiance inférée
4.2.2 Confiance implicite
4.3 Intégration de la confiance dans le filtrage collaboratif
4.3.1 Filtrage collaboratif basé sur la mémoire et sur la confiance
4.3.2 Filtrage collaboratif basé sur un modèle et sur la confiance
4.3.3 Avantages des recommandations basées sur la confiance
4.4 Résumé .
5 Filtrage collaboratif avec dynamique temporelle
5.1 Dynamique temporelle des systèmes de recommandation
5.1.1 Informations sur le temps
5.1.2 Dynamique en fonction du contexte temporel
5.1.3 Décroissance de l’importance des données dans le temps
5.1.4 Systèmes de recommandation avec configuration dynamique
5.2 Intégration des autres informations secondaires
5.2.1 Informations temporelles et informations basées sur le contenu
5.2.2 Informations temporelles et informations sur la confiance
5.2.3 Informations temporelles, sur le contenu et sur la confiance
5.3 Évaluation temporelle des recommandations
5.3.1 Stratégies de construction des jeux d’apprentissage et de test
5.3.2 Métriques d’évaluation qui tiennent compte du temps
5.3.3 Estimation de la fiabilité avec prise en compte du temps
5.4 Résumé .
II Graphes de recommandation enrichis
6 Dynamique temporelle dans les graphes de recommandation
6.1 Graphes de recommandation et dynamique temporelle
6.1.1 Graphes sans prise en compte du temps
6.1.2 Graphes avec prise en compte du temps
6.2 Time-weight Content-based Session-based Temporal Graph
6.2.1 Construction du graphe
6.2.2 Calcul des recommandations
6.2.3 Expérimentations et résultats
6.3 Link Stream Graph
6.3.1 Construction du graphe
6.3.2 Calcul des recommandations
6.3.3 Expérimentations et résultats
6.4 Résumé .
7 GraFC2T2 : cadre général pour graphes de recommandation enrichis
7.1 Description de GraFC2T2
7.1.1 Graphes de base
7.1.2 Extension des graphes de base
7.1.3 Calcul des recommandations top-N
7.2 Expérimentations et résultats
7.2.1 Description du protocole
7.2.2 Résultats des recommandations top-10
7.3 Analyse des meilleurs résultats
7.3.1 Effets des informations secondaires
7.3.2 Meilleures valeurs des paramètres
7.3.3 Comparaison avec d’autres systèmes de recommandation
7.4 Résumé .
8 Conclusion
8.1 Bilan des travaux
8.2 Perspectives
8.2.1 Estimer les bonnes valeurs des paramètres
8.2.2 Intégrer plusieurs informations secondaires dans d’autres modèles
8.2.3 Prendre en compte plus d’informations secondaires
8.2.4 Tenir compte des feedbacks négatifs
Bibliographie
Télécharger le rapport complet