1. Trang chủ
  2. » Ngoại Ngữ

Vers une approche personnalisée de la recherche dinformations

62 223 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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 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 3

Table 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 4

Chapitre 7 Conclusion 48 Bibliographie 49

Trang 5

Mes 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 6

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 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 7

We 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 8

Liste 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 9

Figure 35 Résultat d'évaluation selon le Rappel 46 Figure 36 Résultat d'évaluation selon la Précision 47

Trang 10

Liste 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 11

Chapitre 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 12

Chapitre 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 13

Chapitre 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 14

Chapitre 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 15

Chapitre 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 16

Chapitre 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 17

Chapitre 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 18

Chapitre 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 19

Chapitre 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 20

Chapitre 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 21

Chapitre 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 22

Chapitre 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 23

Chapitre 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 24

Chapitre 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 25

Chapitre 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 26

Chapitre 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 27

Chapitre 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 28

Chapitre 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 29

Chapitre 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 30

Chapitre 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 31

Chapitre 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)

Ngày đăng: 27/10/2016, 23:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm