Laboratoire Lorrain de Recherche en Informatique et ses Applications Institut de la Francophonie pour l'Informatique MÉMOIRE DE FIN D'ÉTUDES Vers une approche personnalisée de la recher
Trang 1Laboratoire Lorrain de
Recherche en Informatique
et ses Applications
Institut de la Francophonie pour l'Informatique
MÉMOIRE DE FIN D'ÉTUDES
Vers une approche personnalisée
de la recherche d'informations
(Étude des stratégies de combinaison des méthodes de filtrage
basé sur le contenu et des méthodes de filtrage collaboratif)
Trang 3Table des matières
Remerciements v
Résumé vi
Abstract vii
Liste des figures viii
Liste des tableaux x
Chapitre 1 Introduction 1
1.1 Problématique 1
1.2 Motivation 2
1.3 Objectifs 2
1.4 Contribution 3
1.5 Environnement de stage 3
1.6 Revue de la bibliographie 4
Chapitre 2 Filtrage basé sur le contenu (FBC) 6
2.1 Vue d'ensemble 6
2.2 Stemming 9
Chapitre 3 Filtrage collaboratif (FC) 10
3.1 Filtrage collaboratif basé sur la mémoire 10
3.2 Filtrage collaboratif basé sur un modèle 12
Chapitre 4 Combinaison du FBC et du FC 15
4.1 FC – FBC séparé 16
4.2 FC – FBC combiné 18
4.3 FBC ressources – FC 19
4.4 FBC utilisateurs – FC 21
4.5 Fusion 23
Chapitre 5 Implémentation 25
5.1 Collection de données 25
5.2 Outils de développement 27
5.3 Structures des tables dans la base de données 28
Chapitre 6 Métriques d'évaluation 44
6.1 MAE (Mean Absolute Error) 44
6.2 Métrique d'exactitude de classification 45
6.2.1 Rappel 46
6.2.2 Précision 47
Trang 4Chapitre 7 Conclusion 48 Bibliographie 49
Trang 5Mes remerciements s'adressent naturellement à l'ensemble des membres de l'équipe CORTEX
et de l'équipe MAIA au LORIA.
Je tiens à remercier sincèrement Anne BOYER et Sylvain CASTAGNOS de l'équipe MAIA pour leur disponibilité et pour m'avoir donné des connaissances de base au début ainsi que leur aide au cours de mon stage Leur avis a été très utile pour ma mission.
Je tiens à remercier chaleureusement Jean-Charles LAMIREL et Randa KASSAB de l'équipe CORTEX qui m'ont beaucoup guidé dans mon travail chaque fois que le besoin s'en faisait sentir
Je remercie Jean-Charles LAMIREL d'avoir fait les formalités nécessaires au LORIA Cela m'a permis d'effectuer cette mission dans les meilleures conditions.
Le 5 octobre 2007
DO Minh Chau
Trang 6Nous nous intéressons à la recherche d'informations sur Internet, dans un contexte « grand public », avec pour objectif de déterminer quelles ressources sont pertinentes pour un utilisateur Nos travaux s'inscrivent dans le domaine des systèmes de recommandation avec l'objectif de prédire
la pertinence d'une ressource web (film, document, page, site w3, blog, vidéo en ligne, …) pour un utilisateur particulier à partir de l'observation de son comportement et des éventuelles appréciations (votes numériques, annotations, traces, …) qu'il dépose lors de ses consultations
Parmi les techniques possibles, nous avons choisi dans l'équipe CORTEX d'utiliser le filtrage basé sur le contenu et dans l'équipe MAIA d'utiliser le filtrage collaboratif Ces deux paradigmes ont été appliqués dans le contexte des systèmes de prédiction de préférence d'utilisateur et de recommandation Le filtrage basé sur le contenu crée des prédictions complètes et rapides grâce à la vitesse des ordinateurs Le filtrage collaboratif combine les avis des utilisateurs pour créer des prédictions personnalisées et précises Ces deux paradigmes de filtrage sont très différents l'un de l'autre et tous les deux ont encore quelques limites Il apparaît que les deux approches sont complémentaires Il est donc intéressant d'essayer de les combiner ensemble afin de surmonter ces limites
Mots clés : filtrage collaboratif, filtrage basé sur le contenu, système de recommandation,
prédiction de préférence d'utilisateur, personnalisé, combinaison, recherche d'informations, base de données
Trang 7We are interested in information searching on the Internet, in a context "general public", in order to determine which resources are relevant for a user The field of our work is the recommendation system whose objective is to predict the relevance of a resource Web (film, document, page, w3 site, blog, online video, ) for a particular user from the observation of his behaviour and from the possible appreciations (numerical ratings, annotations, traces, ) which he deposits at the time of his consultations
Among the possible techniques, we chose in the team CORTEX to use the content-based filtering and in the team MAIA to use the collaborative filtering These two paradigms have been applied in the context of user preference prediction and recommendation systems Content-based filtering uses the speed of computers to make complete, fast predictions Collaborative filtering combines the opinions of humans to make personalized, accurate predictions These two filtering paradigms are very different from each other and both have yet some limits It appears that these two approaches are complementary It is therefore interesting to try combining them together in order to overcome those limits
Key words: collaborative filtering, content-based filtering, recommendation system, user
preference prediction, personalized, combination, information searching, database
Trang 8Liste des figures
Figure 1 Matrice des fréquences 7
Figure 2 Matrice des votes 10
Figure 3 Valeurs possibles de la corrélation Pearson 11
Figure 4 Espace de représentation utilisateurs/ressources (K-Means) 12
Figure 5 Organisation hiérarchique des utilisateurs 13
Figure 6 Initialisation de l'algorithme 2-Means 14
Figure 7 Structure générale d'un système de filtrage de film 15
Figure 8 Modèle de la méthode de combinaison FC-FBC séparé 16
Figure 9 Modèle de la méthode de combinaison FC-FBC combiné 18
Figure 10 Modèle de la méthode de combinaison FBC ressources – FC 19
Figure 11 Modèle de la méthode de combinaison FBC utilisateurs – FC 21
Figure 12 Modèle de la méthode de combinaison Fusion 23
Figure 13 Exemple des données de la table Actors 28
Figure 14 Exemple des données de la table Countries 29
Figure 15 Exemple des données de la table Genres 30
Figure 16 Exemple des données de la table KeyWords 30
Figure 17 Exemple des données de la table Languages 31
Figure 18 Exemple des données de la table Movie_Actor 32
Figure 19 Exemple des données de la table Movie_Country 32
Figure 20 Exemple des données de la table Movie_Genre 33
Figure 21 Exemple des données de la table Movie_KeyWord 34
Figure 22 Exemple des données de la table Movie_Language 35
Figure 23 Exemple des données de la table Movie_Movie 36
Figure 24 Exemple des données de la table Movie_StemmerSummary 36
Figure 25 Exemple des données de la table Movie_StemmerTitle 37
Figure 26 Exemple des données de la table Movies 38
Figure 27 Exemple des données de la table StemmerSummaries 38
Figure 28 Exemple des données de la table StemmerTitles 39
Figure 29 Exemple des données de la table StopWords 40
Figure 30 Exemple des données de la table TrainingRatings 41
Figure 31 Exemple des données de la table User_Movie 41
Figure 32 Exemple des données de la table Users 42
Figure 33 Relations des tables dans la base de données 43
Figure 34 Comparaison des trois méthodes de filtrage avec la MAE 44
Trang 9Figure 35 Résultat d'évaluation selon le Rappel 46 Figure 36 Résultat d'évaluation selon la Précision 47
Trang 10Liste des tableaux
Tableau 1 Exemple des mots non importants 8
Tableau 2 Exemple des mots en forme de Stemming 9
Tableau 3 Table Actors 28
Tableau 4 Table Countries 28
Tableau 5 Table Genres 29
Tableau 6 Table KeyWords 30
Tableau 7 Table Languages 31
Tableau 8 Table Movie_Actor 31
Tableau 9 Table Movie_Country 32
Tableau 10 Table Movie_Genre 33
Tableau 11 Table Movie_KeyWord 33
Tableau 12 Table Movie_Language 34
Tableau 13 Movie_Movie 35
Tableau 14 Table Movie_StemmerSummary 36
Tableau 15 Table Movie_StemmerTitle 37
Tableau 16 Table Movies 37
Tableau 17 Table StemmerSummaries 38
Tableau 18 Table StemmerTitles 39
Tableau 19 Table StopWords 39
Tableau 20 Table TrainingRatings 40
Tableau 21 Table User_Movie 41
Tableau 22 Table Users 42
Trang 11Chapitre 1 Introduction
1.1 Problématique
Nous nous intéressons à la recherche d'informations sur Internet, dans un contexte « grand public », avec pour objectif de déterminer quelles ressources sont pertinentes pour un utilisateur, connaissant le contexte dans lequel il est immergé Nos travaux s'inscrivent dans le domaine des systèmes de recommandation avec l'objectif de prédire la pertinence d'une ressource web (document, page, site w3, blog, vidéo en ligne, …) pour un utilisateur particulier à partir de l'observation de son comportement et des éventuelles appréciations (votes numériques, annotations, traces, …) qu'il dépose lors de ses consultations
Différentes approches sont envisageables, suivant que l'on considère le contenu des ressources
ou au contraire une dimension plus subjective qui est l'intérêt qu'elle présente pour un utilisateur donné
Ainsi une approche consiste à modéliser le comportement utilisateur en se fondant sur une analyse des usages Parmi les techniques possibles, nous avons choisi dans l'équipe MAIA d'utiliser
le filtrage collaboratif qui pallie le manque de données disponibles sur l'utilisateur en transformant
le problème de l'apprentissage individuel en un apprentissage collaboratif Pour cela, il exploite les comportements connus d'une population d'utilisateurs et construit la communauté virtuelle des internautes présentant un comportement similaire à celui de l'utilisateur courant
Le principe du filtrage collaboratif est d'implanter informatiquement le principe du oreille [J L Herlocker et al., 2004] Il détermine pour l'utilisateur actif Ui quels sont les utilisateurs similaires, c'est-à-dire les utilisateurs dont l'intérêt pour des ressources données est similaire à celui
bouche-à-de Ui Les données disponibles sur ce sous ensemble bouche-à-des utilisateurs appelés communauté virtuelle d'intérêt sont ensuite exploitées pour prédire la pertinence dune ressource pour Ui Dans l'équipe MAIA, nous avons développé plusieurs approches permettant de traiter notamment le problème du passage à l'échelle et du respect de la vie privée [S Castagnos and A Boyer, 2006][S Castagnosand A Boyer, 2006b]
La technique de filtrage collaboratif a fait l'objet d'une implémentation dans le cadre du projet CASABLANCA, dont le rôle est la diffusion ciblée de site Web par satellite [S Castagnos et al.,2005]
Une limite de cette approche est qu'elle ne fonctionne que pour des ressources qui ont déjà été consultées, et qu'il y a un risque de « sclérose » pour une communauté virtuelle (consultation en vase clos des mêmes ressources)
C'est pourquoi il peut s'avérer intéressant de combiner le filtrage collaboratif avec une autre approche
Une part de l'activité de l'équipe CORTEX porte sur un autre mode de filtrage basé sur l'analyse du contenu des documents Ce mode du filtrage conserve une représentation interne des besoins d'un utilisateur à travers un profil principalement construit à partir de la description des documents qu'il a sélectionnés Par l'intermédiaire de ce profil, l'accès est donc limité aux informations susceptibles de répondre à ses besoins spécifiques [P W Foltz and S T Dumais,
Trang 12Chapitre 1 Introduction Vers une approche personnalisée de la recherche d'informations
1992][Belkin et al., 1992] Nous avons testé plusieurs approches qui permettent de définir le profil individuel de chaque utilisateur, d'analyser son comportement et de réagir en fonction de celui-ci,
ou encore de moduler l'effet de ses décisions passées, ainsi que de lui faire des propositions intelligentes concernant des documents entrants qu'il n'a jamais consultés Certaines de ces méthodes ont également fait l'objet d'une première implémentation dans le cadre du projet CASABLANCA [S Castagnos et al., 2004][S Castagnos et al., 2005b]
Le filtrage basé sur le contenu présente cependant des limites dues à son principe, qui est celui
de ne prendre en compte que les décisions se rapportant à un seul utilisateur Ces décisions doivent donc être suffisamment exhaustives pour couvrir l'ensemble des besoins de l'utilisateur, ce qui s'avère être rarement le cas dans la pratique Il est de plus mieux adapté au traitement des décisions
à cours terme qu'à celui des décisions à long terme
Il apparaît que les deux approches sont complémentaires et c'est la raison pour laquelle les recherches actuelles s'orientent plutôt vers une combinaison des deux types de filtrage [J Basilico,2004]
1.2 Motivation
Plusieurs raisons me motivent à choisir le sujet
Premièrement, j'aimerais étudier des algorithmes et des méthodes qui peuvent être appliqués rapidement et largement dans le réel, surtout dans le développement de logiciel Mon but est d'acquérir des expériences de recherche en informatique ainsi que de nouvelles connaissances sur
un domaine spécifique
Deuxièmement, le sujet de stage concerne la combinaison des méthodes de filtrage d'informations Cela a pour but d'essayer de trouver une nouvelle solution pour beaucoup de problèmes restés dans le réel Je souhaite trouver quelque chose nouvelle pour contribuer à la recherche de ce problème
Troisièmement, en effectuant mon stage au LORIA, j'ai des occasions pour profiter un bon environnement de recherche scientifique et de rencontrer des enseignants, des chercheurs internationaux
Quatrièmement, j'apprécie le contact avec d'autres cultures et me trouver en terre étrangère
1.3 Objectifs
Définition du but de travail
Le but de ce stage est à la fois celui de proposer tester différents types de combinaison mettant
en jeu les deux modes de filtrage La première étape consiste à faire un état de l'art des différentes techniques de filtrage par le contenu et de filtrage collaboratif, de manière à appréhender les deux approches La deuxième étape consistera à proposer plusieurs approches mixant filtrage par contenu
Trang 13Chapitre 1 Introduction Vers une approche personnalisée de la recherche d'informations
et filtrage collaboratif de manière à permettre un filtrage personnalisé de sites web Une implantation ainsi qu'une méthode de test devront être mises en place de manière à valider ces propositions
Méthode pour la vérification et validation des objectifs
Afin de vérifier et valider des objectifs, il faut avoir une méthode d'évaluation appropriée Cette tâche n'est pas toujours facile car une méthode d'évaluation ne peut pas toujours donner des résultats fiables De plus, deux méthodes d'évaluation différentes peuvent donner des résultats différents Dans le cadre de mon stage, je n'ai pas trouvé de méthode unique pour évaluer toutes les méthodes de combinaison proposées J'ai donc proposé d'utiliser quelques méthodes d'évaluation différentes (MAE, Recall, Precision), et chaque méthode est appliquée pour certaines méthodes de combinaison L'objectif est d'avoir une vue de qualité sur le résultat des méthodes de combinaison
1.4 Contribution
En proposant 5 nouvelles méthodes de combinaison du filtrage basé sur le contenu et du filtrage collaboratif, mon travail a contribué à la théorie de filtrage d'information Même s'il n'y a pas encore une métrique d'évaluation fiable pour toutes les méthodes proposées en même temps, les résultats obtenus ont montré que certaines des méthodes de combinaison que j'ai proposées sont meilleures qu'une méthode non combinée
1.5 Environnement de stage
Le LORIA est le Laboratoire Lorrain de Recherche en Informatique et ses Applications Il est situé à Vandœuvre-lès-Nancy, près de Nancy, sur le campus de l'Université Henri Poincaré (Nancy 1) Sa création remonte à décembre 1997
Cinq établissements sont partenaires du laboratoire :
● le CNRS, Centre National de Recherche Scientifique (UMR 7503)
● l'INPL, Institut National Polytechnique de Lorraine
● l'INRIA, Institut National de Recherche en Informatique et en Automatique
● l'Université Henri Poincaré, Nancy 1
● l'Université de Nancy 2
Trang 14Chapitre 1 Introduction Vers une approche personnalisée de la recherche d'informations
Le LORIA
Le LORIA est un laboratoire de plus de 450 individus comprenant :
● plus de 150 chercheurs et enseignant-chercheurs
● un tiers des étudiants de doctorat et de post-doctorat
● des ingénieurs, des techniciens, etc
Le LORIA a trois missions :
● La recherche fondamentale et appliquée dans le domaine des sciences de l'information et
de communications et technologie sur une base internationale
● L'enseignement dans des université de technologie, les universités de Nancy et des écoles de doctorat
● Le transfert de technologie via des associés individuels, l'assistance dans la création des compagnies et un club des associés
1.6 Revue de la bibliographie
[Belkin et al., 1992] a montré que l'approche de filtrage basé sur le contenu a une relation avec la recherche d'information Dans [P W Foltz and S T Dumais, 1992], une analyse des méthodes de filtrage par le contenu a été abordée Depuis long-temps, le filtrage basé sur le contenu
se base principalement sur le calcul de similarité des vecteurs contenant des mots clés des ressources (document, film, etc.) [R Kassab and J Lamirel, 2006] a proposé une méthode de filtrage basé sur le contenu Cette méthode se base sur le modèle de NDF et est appliquée avec de gros documents textuels L'approche de filtrage basé sur le contenu a généralement une limite que seule l'information de la ressource est prise en compte Cela n'est pas toujours suffisant car un
Trang 15Chapitre 1 Introduction Vers une approche personnalisée de la recherche d'informations
utilisateur peut aimer deux ressources très différentes
L'approche de filtrage collaboratif est considérée être plus efficace et flexible que celle de filtrage par le contenu Il existe déjà plusieurs articles et travaux concernant cette approche Dans [John S Breese et al., 1998], [Philip Chan, 1999] et [W W Cohen, 2004], une vue d'ensemble du filtrage collaboratif a été abordée Certaines méthodes pour améliorer le filtrage collaboratif ont été proposées pour des applications spécifiques dans [A Gokhale, 1999], [N Good et al., 1999], [B N.Miller et al., 2004] et [D Pavlov et al., 2004] Plusieurs méthodes d'évaluation pour le filtrage collaboratif ont été présentées dans [J L Herlocker et al., 2004]
En ce qui concerne la combinaison du filtrage basé sur le contenu et du filtrage collaboratif, certains chercheurs ont déjà proposé quelques méthodes [J Basilico, 2004], [J Basilico and T.Hofmann, 2004] ont proposé un algorithme enligne JRank pour la combinaison [M Garden and G.Dudek, 2006] a suggéré une solution de façon sémantique Plus clairement, la prédiction ne se base pas seulement sur des votes mais aussi sur la sémantique des ressources [M J Pazzani, 1998] a proposé de combiner trois filtrages en même temps : filtrage par le contenu, filtrage collaboratif et filtrage démographique Cette méthode utilise les informations démographiques (âge, sexe, profession, etc.) des utilisateurs pour la prédiction [M Claypool et al., 1999] a présenté une méthode de combinaison pour un magazine enligne; alors que [D Pemberton and T Rodden, 2000]
a proposé une méthode de combinaison pour un site web Certaines méthodes de combinaison du filtrage collaboratif et du filtrage par le contenu ont été proposées dans [R D T Júnior, 2004] pour prédire des préférences d'article de recherche [P Baudisch, 2004] a présenté une méthode de combinaison selon la relation entre des tables dans la base de données Une méthode d'utiliser le filtrage par le contenu pour remplir la matrice des votes et puis d'utiliser le filtrage collaboratif pour prédire des préférences selon la nouvelle matrice a été proposée dans [Prem Melville et al., 2002].Dans le cadre de mon stage, j'ai proposé des méthodes de combinaison du filtrage collaboratif
et du filtrage par le contenu, mais de façon différente
Trang 16Chapitre 2 Filtrage basé sur le contenu (FBC)
2.1 Vue d'ensemble
À cause de la disponibilité croissante des informations en forme électronique, il est plus important et faisable d'avoir des méthodes automatiques pour le filtrage d'information On génère de très grandes quantités d'information tous les jours Ce volume d'information nous rend difficile de maintenir des informations pertinentes En outre, seulement une petite fraction d'information disponible sera réellement pertinente pour tout le monde dans un groupe particulier Ainsi, il y a un problème de déterminer quelle information est intéressante pour une personne, tout en réduisant au minimum la quantité de recherche d'information non pertinente [P W Foltz and S T Dumais,1992]
Le filtrage d'information n'est pas un nouveau concept, ni un qui est limité aux documents électroniques Quand nous lisons des textes de papier standard, le filtrage d'information se passe Nous n'achetons que certains magazines, puisque d'autres magazines peuvent contenir des informations superflues/redondantes ou non pertinentes De cette façon, nous rejetons une grande quantité d'information à laquelle nous avons accès Dans n'importe quel magazine particulier, nous choisissons également les articles semblant appropriés à nos intérêts Ainsi, quand les gens sont attirés par une sorte d'acquisition d'information, ils filtrent continuellement des informations Avec l'arrivée de la présentation électronique de l'information, une partie de ce filtrage ne doit plus être faite par nous, mais pourrait être effectuée automatiquement par le système qui présente l'information
Tandis que le filtrage d'information automatique semble une vision merveilleuse, il y a beaucoup de difficultés pour déterminer l'information qu'une personne veut voir La description signifiant quelle information est intéressante est représentée souvent sous forme un « profil
d'utilisateur » (user profile) Largement défini, ceci peut également être considéré comme un genre
rudimentaire de modèle d'utilisateur Il y a beaucoup de problèmes sur le développement d'un bon modèle des intérêts d'un utilisateur Par exemple, plusieurs facteurs pourraient être utilisés pour décrire les intérêts d'une personne Généralement, les gens fournissent un ensemble des mots clés pour décrire leurs intérêts Cependant, beaucoup d'autres sources d'information pourraient être utiles (les documents qu'ils ont lus dans le passé, leurs professions, leurs sexes, leurs âges, etc.)
Une des méthodes les plus simples pour déterminer si une information correspond aux intérêts d'un utilisateur est de se baser sur la correspondance de mot-clé Si les intérêts d'un utilisateur sont décrits par certains mots, alors l'information contenant ces mots devrait être pertinente Cependant, cette méthode ne donne pas de bons résultats Les correspondances inadéquates peuvent surgir car l'utilisation de mots des gens ne reflète pas clairement la matière ou le contenu Un mot simple peut avoir plusieurs significations, et réciproquement, un concept peut être décrit étonnamment par beaucoup de mots différents [Furnas et al., 1983] a montré que la possibilité pour que deux personnes différentes utilisent le même mot pour décrire un objet est seulement 10-20%
Pour le filtrage basé sur le contenu, le contenu d'une ressource (film, site web, .) est considéré comme un document textuel Autrement dit, une ressource est présentée par un ensemble des mots, et on distingue de deux ressources différentes selon leurs mots Dans un système de
Trang 17Chapitre 2 Filtrage basé sur le contenu (FBC) Vers une approche personnalisée de la recherche d'informations
filtrage par le contenu, une base de données textuelle peut être représentée par une matrice dont l'entrée représente la fréquence d'apparition d'un mot dans le document
Figure 1 Matrice des fréquences
{d1, d2, , d n} : liste des documents
{k1, k2, , k m} : liste des mots clés
Ainsi, un document peut être considéré comme un vecteur dans un espace multidimensionnel, dont les dimensions sont les mots utilisés pour représenter des textes On peut le faire en utilisant un dictionnaire contenant une liste des mots standards Dans ce cas, les positions des mots sont passées, donc il est évidement impossible de rétablir le document original
Par exemple : Le dictionnaire contient 30.000 mots Chaque document sera représenté par un vecteur de taille 30.000 La valeur du 100ième élément de ce vecteur est la fréquence de répétition du
100ième mot trouvé dans le dictionnaire
Cette méthode se base sur l'hypothèse que deux documents différents ayant une même fréquence des mots sont pareils Jusqu'à présent, l'idée de cette méthode est encore la seule solution pour le développement de filtrage basé sur le contenu
Comme il y a un très grand nombre des mots en réel, alors que l'importance des mots est différente, quelques mots sont très réguliers mais contiennent pas beaucoup d'informations (par exemple : je, tu, mais, que, autre, ), il faut diminuer le nombre des mots dans le dictionnaire pour réduire la taille du vecteur de présentation en conservant encore l'information importante Le programme traitant le contenu du document fonctionne donc plus vite
Par exemple : Au lieu d'utiliser tous les 30.000 mots, le dictionnaire contient maintenant seulement 500 mots les plus importants La taille du vecteur de représentation est beaucoup plus petite
Trang 18Chapitre 2 Filtrage basé sur le contenu (FBC) Vers une approche personnalisée de la recherche d'informations
throughduringbeforeafterabovebelowtofromup
inoutonoffoverunderagainfurtherthenTableau 1 Exemple des mots non importants
Une prétention importante dans ce modèle de l'espace de vecteur est que les mots (c-à-d, dimensions de l'espace) sont orthogonaux ou indépendants Tandis que c'est une première approximation raisonnable, la prétention que les mots sont indépendants par paires n'est pas vraiment réaliste
Certains formules sont appliqués afin de calculer la corrélation entre deux documents différents à partir de leurs vecteurs de représentation Les deux formules utilisés le plus souvent sont la distance euclidienne et le cosinus entre deux vecteurs Supposons que les deux vecteurs sont
Trang 19Chapitre 2 Filtrage basé sur le contenu (FBC) Vers une approche personnalisée de la recherche d'informations
été précédemment jugés par un utilisateur pour être pertinents à ses intérêts Si un nouveau document est proche des documents pertinents dans l'espace, alors il soit probablement considéré comme étant intéressant à l'utilisateur Réciproquement, si ce document est loin des documents pertinents, alors on considérerait qu'il n'est pas intéressant à l'utilisateur Cette approche peut être appliquée pour déterminer la distance entre un nouveau document est les mots-clés d'un profil d'utilisateur
2.2 Stemming
Concernant le filtrage par le contenu, nous utilisons la méthode Stemming Cette méthode a
pour objectif de convertir un mot quelconque à un autre mot que nous appelons « mot de root »
Pourquoi faut-il appliquer le Stemming ? La réponse est que cela pourrait donner des résultats plus
précis, puisque réellement, deux mots écrits différemment peuvent être formés à partir un même mot
Tableau 2 Exemple des mots en forme de Stemming
Nous pouvons trouver une explication détaillée ainsi qu'un code source de Stemming sur
Internet, par exemple ce lien :
Trang 20Chapitre 3 Filtrage collaboratif (FC)
La tâche du Filtrage Collaboratif est de prédire l'utilité d'une ressource à un utilisateur particulier en se fondant sur une base de données de votes issue d'un échantillon ou d'une population d'autres utilisateurs [John S Breese et al., 1998]
Le filtrage collaboratif a été formée à partir de très simples idées Elsa veut trouver un film quelconque qu'elle n'a jamais vu et qu'elle aime probablement Ce n'est pas une tâche facile car elle
a très peu d'informations des films Elsa a deux amis, Lorraine qui a le même gỏt et Pierre dont le gỏt est très différent Elsa demandera à Lorraine de lui proposer une liste des films que Lorraine aime les plus De cette façon, il y a une grande possibilité que Elsa verra un film qu'elle aime Il ne faut pas se baser sur les films que Pierre aime Cette méthode peut être appliquée dans plusieurs cas, par exemple pour la recherche de restaurant, de musique, de vêtement, etc Normalement, dans le réel, nous ne nous basons pas sur seulement une personne, mais aussi sur un groupe de plusieurs personnes dont le gỏt est pareil
Historiquement, il y a deux classes d'algorithme de filtrage collaboratif [John S Breese et al.,1998] : basé sur la mémoire et basé sur un modèle
3.1 Filtrage collaboratif basé sur la mémoire
Le filtrage collaboratif basé sur la mémoire utilise une matrice des votes contenant des préférences des utilisateurs pour prédire des sujets additionnels ou des produits auxquels un nouveau utilisateur peut-être s'intéresse L'objectif d'un filtrage collaboratif basé sur la mémoire est
de prédire l'utilité des ressources (items) pour un utilisateur particulier (l'utilisateur actif) basé sur la base des votes d'utilisateur
Figure 2 Matrice des votes
{R1, R2, , R m} : liste des ressources
{U1, U2, , U n} : liste des utilisateurs
La base de données des votes d'utilisateur contient un ensemble des votes v i,jcorrespondant au
vote de l'utilisateur i sur la ressource j Soit I i l'ensemble des ressources pour lesquelles l'utilisateur i
a voté, la moyenne des votes de l'utilisateur i est définie comme suit :
Trang 21Chapitre 3 Filtrage collaboratif (FC) Vers une approche personnalisée de la recherche d'informations
n le nombre des utilisateurs dont le poids n'est pas égal à zéro;
v i , j l'évaluation de la ressource j par l'utilisateur i;
v i la moyenne de l'ensemble des évaluations fournies par l'utilisateur i;
a , i le coefficient de pondération liant l'utilisateur actif et i;
un coefficient de normalisation;
κ est un coefficient de normalisation permettant d'harmoniser les votes afin de minimiser
l'influence des utilisateurs ayant tendance à noter de façon extrême (uniquement des notes très
élevées ou très basses) Par ailleurs, le coefficient de pondération ω(a,i) représente la similarité
existante entre l'utilisateur actif et les autres Plus ils sont proches et plus le coefficient est grand Ce coefficient peuvent être définis à partir de la distance, de la corrélation ou de la similarité entre
chaque utilisateur i et l'utilisateur actif
En considérant le coefficient de corrélation Pearson comme la base pour les poids [Resnick etal., 1994], la corrélation est calculée comme suit :
Dans ce cas, la valeur de ω(a,i) est entre -1 et 1 Si cette valeur est égale à -1, nous disons que
les deux utilisateurs sont fortement corrélés opposés Si la valeur est égale à 1, les deux utilisateurs sont fortement corrélés semblables Les deux utilisateurs sont considérés être indépendants si la valeur est égale à 0
Figure 3 Valeurs possibles de la corrélation PearsonPour le cas de la similarité, ces poids sont définis selon le formule suivant :
Trang 22Chapitre 3 Filtrage collaboratif (FC) Vers une approche personnalisée de la recherche d'informations
3.2 Filtrage collaboratif basé sur un modèle
Certaines approches ont été abordées dans [John S Breese et al., 1998] comme l'approche
probabiliste, l'approche de réseaux bayésiens, l'approche de Clustering dans [S H S Chee et al.,
2001] et dans [S Castagnos and A Boyer, 2006] Dans le cadre de mon stage, je me suis intéressé
au modèle de Clustering.
Les méthodes de Clustering permettent de limiter le nombre d'individus considérés dans le
calcul de la prédiction Le temps de traitement sera donc plus court et les résultats seront potentiellement plus pertinents puisque les observations porteront sur un groupe le plus proche de l'utilisateur actif Autrement dit, au lieu de consulter l'ensemble de la population, nous estimons la préférence d'un groupe de personnes ayant les mêmes gỏts que l'utilisateur
● K-Means
La méthode des plus proches voisins K-Means consiste dans un premier temps à choisir
aléatoirement k centres dans l'espace de représentation utilisateurs/ressources En suite, chaque utilisateur est mis dans le cluster du centre le plus proche Quand les groupes de personnes sont formés, nous recalculons la position des centres pour chaque cluster et réitérons l'opération depuis
le début jusqu'à obtenir un état stable ó les centres ne bougent plus Cet algorithme est en o(k2n)
pour k clusters et n individus.
Figure 4 Espace de représentation utilisateurs/ressources (K-Means)
Nous considérons ensuite seulement le cluster de l'utilisateur courant.
Trang 23Chapitre 3 Filtrage collaboratif (FC) Vers une approche personnalisée de la recherche d'informations
● RecTree
RecTree est un algorithme de filtrage collaboratif appelé l'arbre de recommandation
(Recommandation Tree) L'algorithme RecTree fractionne les données dans des cliques
d'utilisateurs approximativement semblables L'objectif est de maximiser les similarités entre les membres d'une même clique et à minimiser celles entre les membres de deux cliques différentes La
construction de l'arbre s'opère en O(nlog2n).
Afin de diviser l'ensemble des données, on utilise l'algorithme K-Means Cet algorithme,
expliqué ci-dessus, choit d'abord k graines (seeds) initiales comme les k centres provisoires de
groupe et puis assigne des utilisateurs au groupe dont ils sont les plus proches Le centre de chaque groupe est puis pris comme le nouveau centre et les utilisateurs sont ré-assignés Ces étapes sont répétées jusqu'à ce que le changement des positions des centres tombent au-dessous d'un seuil Pour former l'arbre de recommandation, on cherche à maximiser les similarités entre les membres d'une même clique et à minimiser celles entre les membres de deux cliques différentes Ainsi, plus on
descend dans l'arbre et plus les clusters sont spécifiques à un certain groupe d'utilisateurs similaires
Par conséquent, plus on parcourt l'arbre en profondeur, plus les individus partagent le même avis
Le modèle FRAC se base sur le formule de Chan [Philip Chan, 1999] et sur le clustering
hiérrachisé expliqué ci-dessus (RecTree) Cette méthode divise l'ensemble des utilisateurs en
cliques en appelant récursivement la méthode K-Means avec k = 2 [S Castagnos and A Boyer,
2006] L'algorithme FRAC est une approche basée sur un modèle, décrit comme une méthode de
clustering Cependant, il fonctionne comme une approche basée sur la mémoire car toutes les
informations sont utilisées pour le calcul de similarité
Figure 5 Organisation hiérarchique des utilisateurs
Nous travaillons dans une espace de N-dimensions Nous commençons avec le principe que
deux utilisateurs les plus lointains sont à deux cliques différentes Nous constituons donc les candidats idéaux pour les points initiaux Afin de les identifier, nous cherchons le point le plus
lointain par rapport au centre M de l'espace utilisateurs/ressources, ce qui est appelé A En suite, nous trouvons le point B qui est le plus lointain par rapport au point A Les points A et B sont les deux points initiaux de l'algorithme 2-Means Cette phase d'initialisation est en o(2n), ó n est le
nombre des utilisateurs La métrique utilisée pour déterminer des distances est le coefficient de
Trang 24Chapitre 3 Filtrage collaboratif (FC) Vers une approche personnalisée de la recherche d'informations
corrélation de Pearson [Resnick et al., 1994]
Figure 6 Initialisation de l'algorithme 2-Means
Une fois que les groupes des utilisateurs sont formés, la position du centre de chaque clique est recalculée Cette opération est répétée jusqu'à obtenir un état stable ó les centres ne bougent plus quand nous recalculons leurs positions Le centre final de chaque feuil de l'arbre de FRAC
correspond à un profil d'un utilisateur typique (typical user) C'est à dire que nous considérons ces
centres comme des utilisateurs virtuels signifiant la préférence de chaque ensemble d'utilisateur Il faut faire attention que à la fin de chaque itération, nous pouvons remplacer certains utilisateurs dans un clique à un autre pour que les nombres des utilisateurs dans les deux nouveaux cliques soient semblables
Le coefficient de corrélation de Pearson est utilisé pour calculer les distances entre l'utilisateur actif et les utilisateurs typiques Nous considérons que l'utilisateur actif est à la communauté dont le
centre est le plus proche à lui/elle Finalement, nous pouvons prédire l'intérêt de l'utilisateur actif u a
sur une ressource r l comme suit :
p u a ,r l=max r min , min r u t ,l r u a− r u t, r max
r u la valeur moyenne des votes de u;
r min et r max sont les valeurs minimale et maximale possible des votes
Trang 25Chapitre 4 Combinaison du FBC et du FC
Dans le cadre de mon stage, toutes les méthodes proposées sont testées avec une base de données des films
La structure générale d'un système de filtrage de film est comme suit :
Figure 7 Structure générale d'un système de filtrage de film
Pour un utilisateur s'appelant l'utilisateur actif, le système de filtrage crée une liste des films
en ordre de priorité Puis seulement les N premiers films de la liste sont retenus pour la
recommandation, les autres sont rejetés
J'ai proposé 5 méthodes de combinaison du filtrage collaboratif et du filtrage basé sur le contenu :
Trang 26Chapitre 4 Combinaison du FBC et du FC Vers une approche personnalisée de la recherche d'informations
4.1 FC – FBC séparé
Cette méthode de combinaison est décrite comme suit :
Figure 8 Modèle de la méthode de combinaison FC-FBC séparé
L'idée de cette méthode est de prendre la sortie du filtrage collaboratif comme l'entrée du filtrage par le contenu Pour chaque film de la liste de recommandation du filtrage collaboratif, nous
créons une liste des N films les plus similaires en appliquant le filtrage par le contenu La liste des films recommandés contient N films choisis à partir de N listes (C'est à dire à partir de N x N films)
Il y a peut-être plusieurs stratégies pour choisir des N films pour la liste de sortie J'ai proposé
d'assigner un poids pour chaque films Ce poids se base sur la position du film dans la liste définie
par le FC ainsi que la similarité calculée par le FBC En utilisant un paramètre de réduction r (r =
0,02 par exemple), nous pouvons diminuer l'importance du film chaque fois que nous descendons
de la liste sortie du FC
Trang 27Chapitre 4 Combinaison du FBC et du FC Vers une approche personnalisée de la recherche d'informations
Algorithme de FC-FBC séparé :
Entrée : Utilisateur actif U actif , nombre de films recommandés N, paramètre de réduction r
– Appliquer le FC pour recevoir une liste des films recommandés {f1, f2, , f N } pour U actif
– Pour chaque film f i , appliquer FBC pour trouver N films les plus similaires {f i1, f i2, ,f i N}
Les similarités de ces N films sont s i1, s i2, , s i N Le poids de f i k est p(f i k ) = s i kx (1 - r x (k-1))
– Dans la liste des N x N films {f1, f1 , , f1N , f2 , f2, , f2N, f N1, f N2, , f N }, s'il y a deux films
pareils, rejeter le dernier, puis rejeter tous les films sauf les N films dont le poids est plus grand La liste des N films restés est {f1, f2, , f N*}
Sortie : Liste de recommandation {f1, f2 , , f N*}
Trang 28Chapitre 4 Combinaison du FBC et du FC Vers une approche personnalisée de la recherche d'informations
4.2 FC – FBC combiné
Figure 9 Modèle de la méthode de combinaison FC-FBC combiné
Le filtrage FC-FBC combiné est pareil au filtrage FC-FBC séparé, sauf que les informations des films recommandés par le FC sont combinés pour obtenir un seul film virtuel pour l'entrée du FBC
Entrée : Utilisateur actif U actif , nombre de films recommandés N
– Appliquer FC pour recevoir une liste des films recommandés {f1, f2, , f N } pour U actif
– Combiner tous les films f i pour obtenir un seul film F combiné
– Appliquer FBC pour trouver N films les plus similaires {f1, f2 , , f N*} par rapport au film
virtuel F combiné
Sortie : Liste de recommandation {f1, f2 , , f N*}
Trang 29Chapitre 4 Combinaison du FBC et du FC Vers une approche personnalisée de la recherche d'informations
4.3 FBC ressources – FC
Figure 10 Modèle de la méthode de combinaison FBC ressources – FC
L'objectif de cette méthode est de remplir le plus possible et correctement la matrice des votes
en utilisant le FBC avant d'appliquer le FC Une fois qu'il y a assez de votes dans la base de données, le FC donnera probablement de meilleures recommandations
Trang 30Chapitre 4 Combinaison du FBC et du FC Vers une approche personnalisée de la recherche d'informations
Entrée : Utilisateur actif U actif , nombre de films recommandés N, seuil pour la correspondance s
– Pour chaque utilisateur U i , trouver la liste des films votés {f i1, f i2, } à partir de la matrice des votes
– Pour chaque film dans cette liste, appliquer FBC pour trouver des films similaires avec la
différence est supérieure au seuil s
– Remplir la matrice des votes
– Appliquer FC avec la nouvelle matrice des votes pour recommander une liste de film au U a
{f1 , f2, , f N*}
Sortie : Liste de recommandation {f1, f2 , , f N*}
Dans mon programme, la corrélation entre deux films est le cosinus entre les deux vecteurs de mots-clés correspondants, c-à-d entre 0 et 1 car la valeur de tous les éléments des vecteurs n'est pas négative Le seuil choisi est 0,25, ce qui est assez grand pour la similarité de mots-clés On peut évidemment choisir un autre seuil et obtenir un autre résultat Normalement, il faut remplir la matrice des votes seulement une fois avant de recommander des films à plusieurs utilisateurs Cela permet d'avoir un même résultat et d'économiser le temps d'exécution Il faut faire attention que le remplissage ici s'agit d'ajouter un certain nombre de votes à la matrice des votes Après le remplissage, il y a encore des votes « zéro »
Trang 31Chapitre 4 Combinaison du FBC et du FC Vers une approche personnalisée de la recherche d'informations
4.4 FBC utilisateurs – FC
Figure 11 Modèle de la méthode de combinaison FBC utilisateurs – FC
Le filtrage FBC utilisateurs – FC a une même idée par rapport au filtrage FBC ressources –
FC Autrement dit, l'objectif du FBC est également de tout d'abord remplir la matrice des votes Cependant, les informations traités ne sont pas les contenus textuels des films, mais les contenus textuels des utilisateurs Cette méthode remplir la matrice des votes de manière démographique Dans mon programme, j'ai utilisé les informations d'âges, de sexes et de professions Pour comparer deux personnes, les informations d'âge et de sexe doivent concorder, alors que l'âge peut varier un peu Dans mon programme, par exemple, la longueur d'une intervalle d'âge est différente des autres (les bornes d'âge choisies sont 0, 12, 18, 25, 35, 45, 150)