Etat de l’Art des Systèmes de Recommandation Sensible au Contexte
Les Systèmes de Recommandation Classiques
La masse des données échangées aujourd’hui sur Internet constitue un atout sans précédent pour l’accès à l’information. En parallèle, elle constitue également une difficulté car elle oblige à d’importants traitements de filtrage pour que les données retournées soient effectivement pertinentes pour l’utilisateur le plus rapidement possible, il apparaît que les capacités humaines ne permettent pas l’analyse exhaustive de toutes ces informations. Pour aider l’esprit humain dans son processus de sélection, des systèmes de recommandation grand public ont vu le jour dans la dernière décennie du vingtième siècle. Dans ce chapitre, nous commençons d’abord par définir ce qu’est un système de recommandation puis, nous présentons les trois approches principales de filtrage qui permettent la recommandation, nous poursuivons avec la factorisation matricielle, ses modèles et son rôle. Enfin nous citons les inconvénients et l’avenir de ces systèmes.
Définition des Systèmes de Recommandation
Il existe plusieurs définitions des systèmes de recommandation, nous citons quelques une d’entre eux : Les systèmes de recommandation (RS) sont des outils logiciels et des techniques fournissant des suggestions pour les articles qui peuvent être utiles à un utilisateur. Les suggestions concernent divers processus de décision, tels que les articles à acheter, la musique à écouter ou les nouvelles en ligne à lire. [1] Comme l’a déclaré Gediminas et Alexander, « le système de recommandation aide à faire face à la surcharge d’informations et à fournir des recommandations, du contenu et des services personnalisés ». [2] Nous pouvons aussi définir un système de recommandation comme une forme spécifique de filtrage de l’information visant à présenter les éléments d’information (films, musique, livres, news, images, pages Web, etc) qui sont susceptibles d’intéresser l’utilisateur.
Dit autrement, un système de recommandation cherche à prédire la valorisation ou préférence qu’un utilisateur attribuerait à un objet (livre, musique, film…) ou à un élément social (personne, groupe, communauté) qu’il n’avait pas encore considéré. Les systèmes de recommandation peuvent être aussi vus comme une réponse donnée aux utilisateurs ayant des difficultés à prendre une décision dans le cadre d’utilisation d’un système de recherche d’information. Ils ont pour objectif de fournir à un utilisateur des ressources pertinentes en fonction de ses préférences. Les systèmes de recommandation jouent un rôle important dans des sites Internet aussi bien classés que Amazon.com, YouTube, Netflix, Yahoo, Tripadvisor, Last.fm et IMDb. En outre, de nombreuses entreprises de médias développent et déploient actuellement des systèmes de recommandation dans le cadre des services qu’ils fournissent à leurs abonnés. Par exemple Netflix, le service de location de films en ligne, a décerné un prix de 1 million de dollars à l’équipe qui a réussi à améliorer sensiblement les performances de son système de recommandation. L’entreprise a intégré les propositions les plus pertinentes dans sa version du système de recommandation mis en production.
Méthode basée sur la mémoire
Dans un système de filtrage collaboratif basé sur la mémoire, les données sont représentées sous forme d’une matrice “Utilisateur x Item” où les lignes représentent les utilisateurs U= {u1, …um} et les colonnes constituent les items I= {i1, …ij}. Les utilisateurs fournissent leurs opinions concernant les items sous forme de notes v. Pour un utilisateur actif Ua (par exemple Sarah) n’ayant pas exprimé son avis concernant un item ik (le film “Les visiteurs”), le système recherche les utilisateurs voisins les plus proches notés Ua (parmi Imene, Hadi et Karim ayant noté le film “Les visiteurs” et qui ont déjà co-noté le film “Pulp Fiction” avec Sarah) et utilisent leurs opinions pour prédire la note manquante v (Ua, ik) (v (Sarah, Les visiteurs)). L’approche basée sur la mémoire exploite les appréciations des utilisateurs sur les items (sous forme de notes par exemple), afin de générer les prédictions. Cette approche applique principalement des techniques statistiques dans le but d’identifier des utilisateurs voisins ayant, sur un même ensemble d’items, des appréciations similaires à celles de l’utilisateur actif.
Une fois les voisins identifiés, l’approche basée sur la mémoire utilise différents algorithmes afin de combiner les appréciations des voisins et générer des recommandations à l’utilisateur actif. Cette méthode utilise alors principalement les ratings (notations) (par ex : films). [3] Le poids donné au rating de chaque utilisateur est déterminé par le degré de corrélation entre cet utilisateur et l’utilisateur pour qui nous désirons faire la recommandation. Les systèmes doivent généralement aussi gérer un grand nombre d’utilisateurs. Faire des recommandations à partir des ratings de millions d’utilisateurs peut avoir de sérieuses implications en termes de performance. Ainsi, quand le nombre d’utilisateurs atteint un certain seuil, une sélection des “meilleurs” voisins doit être faite. Pour déterminer quels sont les voisins les plus pertinents à sélectionner et générer des recommandations fiables, nous utilisons généralement l’algorithme du k-nearest neighbor (k-NN) qui permet de sélectionner seulement les k meilleurs voisins ayant la plus haute valeur de corrélation. Une autre approche (corrélation-thresholding) serait de sélectionner seulement les voisins possédant une corrélation plus grande qu’un certain seuil. Nous pouvons distinguer deux méthodes de filtrage collaboratif basé sur la mémoire : la méthode basée sur la mémoire centrée sur l’item et la méthode basée sur la mémoire centrée sur l’utilisateur.
Méthode basée sur un modèle
Les méthodes basées sur un modèle ont été intégrées aux systèmes de recommandation pour améliorer et remédier aux problèmes des méthodes basées sur la mémoire. Les algorithmes basés sur le modèle se basent aussi sur les évaluations précédentes (les profils) des usagers, mais cette méthode ne calcule pas directement les prédictions, elle classifie les usagers suivant des groupes ou d’apprendre les modèles à partir de leurs données Pour la construction du modèle plusieurs méthodes sont utilisées. En général, les méthodes basées sur le modèle utilisent les techniques d’apprentissage automatiques, telles que le clustering, la factorisation matricielle, les réseaux bayesiens, les arbres de décision, etc.
Dans notre travail, nous allons nous focaliser essentiellement sur la factorisation matricielle aussi dite décomposition matricielle. Elle consiste à décomposer une matrice en plusieurs autres matrices. Pour retrouver la matrice originale, il suffira de faire le produit de ces matrices entre elles. La factorisation matricielle a donné de bons résultats dans les systèmes de recommandation [10]. Comparaison entre les systèmes collaboratifs et les systèmes basés sur le contenu Chacune des approches de recommandation présentées a des avantages ainsi que des inconvénients. Un système de recommandation basé sur le contenu ne nécessite une connaissance du domaine étudié. En effet, seul la connaissance de l’utilisateur est requise. Le caractère dynamique de ces systèmes est également un avantage car plus l’utilisateur va utiliser le système et plus la pertinence des items qui lui seront proposé sera fine mais le système ne pourra pas fournir des recommandations de qualité pour un utilisateur fraichement inscrit. [9]
Le filtrage collaboratif se distingue par sa capacité à recommander à un utilisateur ce qui est hors du familier, c’est ce que Burke [11] appelle : cross-genre niches. En effet, un utilisateur peut se voir recommander des items de genres différents. Par exemple, un utilisateur qui a des voisins similaires du point de vue des politiques, peut se voir recommander des articles de sport si ces voisins aiment les articles de sport, même si cet utilisateur n’a jamais exprimé ce genre de favoris. Contrairement aux systèmes de recommandations basés sur le contenu un utilisateur ne se verra jamais proposer d’items qui n’auront pas été jugés similaires à ceux qu’il apprécie. C’est à dire si un utilisateur ne s’intéresse qu’aux articles parlant de la médecine, il ne se verra jamais proposer un article de cuisine.
|
Table des matières
Introduction générale
1.Les Systèmes de Recommandation Classique
1.1 Introduction
1.2 Définition des Systèmes de Recommandation
1.3 Les Différentes Approches de Recommandation
1.3.1 Filtrage Basé sur le Contenu
1.3.2 Filtrage Collaboratif
1.3.3 Filtrage Hybride
1.4 Factorisation matricielle (FM
1.4.1 Principe de FM
1.4.2 Les modèles de la factorisation matricielle
1.4.3 Le rôle de la factorisation matricielle dans les SR
1.5 Les Inconvénients des Systèmes de Recommandation
1.6 L’avenir des Systèmes de Recommandation
1.7 Conclusion
2 . Les Systèmes de Recommandation Sensible au Contexte
2.1 Introduction
2.2 Définition du Contexte
2.3 Caractéristiques du Contexte
2.4 Dimension du Contexte
2.5 Système de Recommandation Sensible au Contexte
2.5.1 Définition de la sensibilité au contexte
2.5.2 Approches d’intégration du contexte dans les systèmes de recommandation
2.6 Conclusion
3.Etat de l’Art des Systèmes de Recommandation Sensible au Contexte
3.1 Introduction
3.2 Les algorithmes utilisés pour chaque paradigme
3.2.1 Approche Pré-filtrage contextuel
3.2.2 Approche Post-filtrage contextuel
3.2.3 Modélisation contextuelle
3.3 Conclusion
4 . Conception et Réalisation du Système MovieRec_FM
4.1 Introduction
4.2 Architecture du système MovieRec_FM
4.3 Conception du Système MovieRec_FM
4.3.1 Diagramme de cas d’utilisation
4.3.2 Diagramme de séquence
4.4 Collection de Données
4.5 Exemple d’application de FM
4.6 Outils d’Implémentation
4.7 Description de l’Application
4.8 Conclusion
Conclusion générale
Liste des figures
Liste des tableaux
Télécharger le rapport complet