rakotonirinaAmbinintsoaJ MP MAST2 17
rakotonirinaAmbinintsoaJ MP MAST2 17
rakotonirinaAmbinintsoaJ MP MAST2 17
Je rends grâce à DIEU, à qui je dois mon existence et sans qui rien n’aurait été
possible.
Je remercie ma famille et mes amis pour leurs soutient durant toutes mes années
d’études.
Je suis reconnaissant aux membres du jury qui ont accepté de juger mon travail.
J’exprime mes remerciements à Monsieur Joelson SOLOFONIAINA, le Président du jury,
Madame Josiane MOTHE, Encadreur, Monsieur Joseph RAKOTONDRALAMBO, Co-
encadreur et Monsieur Olivier ROBINSON en tant qu’Examinateur.
i
Résumé
Les systèmes de recommandations visent à proposer aux utilisateurs des items en lien
avec leur consultation en cours et qui peuvent retenir leur intérêt. L’intérêt des utilisateurs
dépend du contexte dans lequel ils se trouvent. Dans ce travail, nous proposons un système
hybride CBCF (Context-aware Based Collaborative Filtering) qui combine les systèmes de
recommandation sensibles aux contextes et le filtrage collaboratif. Le contexte est ici défini
comme l’objectif ou l’intention de l’utilisateur. Nous le modélisons par une approche LDA
(Latent Dirichlet Allocation) qui génère un modèle de thèmes pour chaque intention. Nous
avons évalué notre approche sur la collection Book-Crossing et montrons sa supériorité
par rapport à plusieurs méthodes état de l’art.
Abstract
Recommender systems are designed to provide users with items related to their ongoing
browsing and that may be of interest to them. User interest depends on the context. In
this work, we propose a hybrid CBCF (Context-aware Based Collaborative Filtering)
system combining context-sensitive and collaborative filtering. We define context as the
objective or intent of the user. We model it by a LDA (Latent Dirichlet Allocation)
approach which generates a topic model for each intention. We evaluated our approach
using the Book-Crossing collection and demonstrated the superiority of our model over
several state-of-the-art methods.
ii
Table des matières
1 INTRODUCTION 1
1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 ETAT DE L’ART 5
2.1 Systèmes de recommandations . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Principes généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Techniques utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Systèmes de recommandations et contextes . . . . . . . . . . . . . . . . . . 6
2.2.1 Notions de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Systèmes de recommandations sensibles aux contextes . . . . . . . . 7
2.3 Modélisation de thèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Notion de thèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 Modélisation de thèmes probabilistes . . . . . . . . . . . . . . . . . 8
2.3.3 LDA dans les systèmes de recommandations . . . . . . . . . . . . . 9
4 EVALUATIONS 13
4.1 Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Mesures d’évaluations qualitatives . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.1 Précision et Rappel . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.2 MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 Systèmes de recommandation de références pour évaluation . . . . . . . . . 15
5 RESULTATS ET DISCUSSIONS 17
5.1 Résultat sur les Thèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
iii
5.2 Résultat sur les items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Conclusions et perspectives 22
6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3 Notion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
iv
Table des figures
v
Liste des tableaux
vi
Chapitre 1
INTRODUCTION
Depuis ses débuts dans les années 1990, internet a changé la manière de consommer
et de vendre. Auprès des clients, l’ e-commerce est devenu un moyen commun de com-
merce. En effet, pour ne pas perdre du temps ou pour éviter les embouteillages, les clients
trouvent pratique la livraison à domicile, la diversité de produits dans un même endroit,
etc,... Pour les entreprises, en économisant sur les locations des magasins, plusieurs postes
d’agents commerciaux, grâce à internet ils peuvent proposer des prix très compétitifs.
Néanmoins, la croissance rapide des activités sur l’e-commerce entraı̂ne une importante
masse de données qui est devenue problématique (124 millions de visiteurs par mois et
183 millions de produits référencés rien qu’aux Etats-Unis pour Amazon.com, source :
FEVAD mars 2015) .Pour les entreprises, l’enjeu est d’attirer plus de clients, de les aider
à accéder rapidement aux items (produits, services, films, restaurants, . . . ) pertinents et
de transformer une visite sur le site en un achat.
Les systèmes de recommandations sont une alternative pour recommander automa-
tiquement des items aux utilisateurs qui peuvent être perdus dans un vaste choix. Les
systèmes développés pour répondre à cet enjeu améliorent l’expérience client et aug-
mentent le chiffre d’affaire des e-commerces (30% du chiffre d’affaire en 2011 chez Ama-
zon.com selon Nick Tsinonis au sein de RecSys.com).
Cependant, malgré plusieurs recherches faites sur les systèmes de recommandations
depuis des années, de nombreux problèmes et défis restent encore à lever aujourd’hui. Par
exemple, le démarrage à froid qui désigne un manque d’information lors de l’ajout
d’un nouvel utilisateur ou d’un nouvel item au système. La rareté ou la parcimonie
des données explicites comme les notes des utilisateurs qui souvent n’évaluent pas les
items. Le manque, voire l’absence de diversité dans les recommandations des items est
aussi un autre défi pour ces systèmes [Chevalier et al., 2016]. Au risque d’être intrusif, un
système de recommandations se doit aussi d’être le plus pertinent possible pour le client.
Le système devrait s’adapter aux situations car souvent les données sur les entités (utilisa-
teurs, produits, etc) sont dynamiques et évoluent [Louëdec et al., 2015]. Dans la littérature
les systèmes de recommandations sensibles aux contextes sont utilisés pour traiter ce ca-
ractère variable des préférences. Selon [Dey, 2001], un contexte désigne n’importe quelle
information qui peut caractériser la situation d’une entité (personne, produit, localisa-
1
tion, etc). [Palmisano et al., 2008] ont analysé l’influence des informations contextuelles
dans la prédiction des comportements et dans la modélisation des utilisateurs (l’étude
définit les contextes comme le but ou l’ intention d’achats des utilisateurs dans
un système de recommandations). En fait, les auteurs ont étudié le comportement des
utilisateurs qui est susceptible de changer dans différents contextes. En effet, pour un site
e-commerce, différents clients peuvent acheter un même produit pour différentes inten-
tions. Par exemple, un champagne peut être considéré comme un produit de luxe adapté
pour un cadeau par exemple, mais pour d’autres consommateurs il s’agit d’un produit
essentiel pour une fête. Si le champagne est vu par les utilisateurs comme boisson de luxe,
ils trouveront pertinents la recommandation d’autres produits de luxe, mais s’il est vu
comme produit de fêtes, d’autres accessoires de fêtes seront pertinents. Ce phénomène
pose un important défis et soulèvent diverses questions :
• Comment caractériser un contexte (ici but ou intention) d’achat d’items dans un
système de recommandations ?
1.1 Problématique
Un site e-commerce peut avoir beaucoup d’items diversifiés (produits, services, res-
taurants, livres, etc). A chaque item il est possible d’associer différents types de ca-
ractéristiques (description, prix, catégorie, etc). Alors, dans le cas d’un système de re-
commandations sensible aux contextes, comment peut-on caractériser un contexte d’achat
d’items ?
[Palmisano et al., 2008] ont montré que, si à partir d’une source extérieure les infor-
mations contextuelles (ici l’intention d’achat) sont cachées, il est possible de les induire à
partir des données non contextuelles (description, prix, catégorie, etc) grâce aux méthodes
de classification comme les modèles bayésiens. En fait, la méthode naı̈ve bayes capture
les dépendances internes entre les attributs (caractéristiques) du modèle et les contextes
implicites. Ces informations contextuelles conduisent à de meilleures prédictions du profil
utilisateur et à des inférences contextuelles. [Tavakol and Brefeld, 2014] ont adopté une
approche séquentielle basée sur la session pour détecter l’intention des utilisateurs. Ils ont
défini la session de l’utilisateur comme une séquence d’items cliqués et ont utilisé fMDPs
(factored Markov decision processes) pour la détection de thème à partir des attributs
des items. Puis les recommandations sont traduites à partir des thèmes.
Le but de la caractérisation ou modélisation du contexte est de pouvoir la transformer
en recommandations d’items. Mais comment incorporer les informations contextuelles
dans le système de recommandations ?
2
[Palmisano et al., 2008] ont démontré que l’utilisation des variables latentes comme
intention ou objectif d’achats d’items (exemple : produit pour soi-même contre produit
comme cadeaux) améliore considérablement la performance de prédiction des classifieurs
Bayésiens.
Le démarrage à froid est encore un défi considérable pour un système de recom-
mandations. Mais comment reconnaitre un contexte lorsqu’il se produit ? Autrement dit,
comment l’ajout des nouveaux items est-il pris en compte par le système de recomman-
dations ?
Selon [Nguyen, 2010], les différentes parties qui constituent le contexte sont
dépendantes des objectifs du système. Il n’est donc guère possible de définir de manière
précise et unique les différentes dimensions du contexte. Par contre, on peut présenter
la plupart des dimensions couramment utilisées dans différents modèles de contexte .
L’auteur utilise le terme dimension pour décrire chaque partie du contexte. Ainsi, il
propose la catégorisation des dimensions des contextes comme : la dimension temporelle,
la dimension spatiale, la dimension de dispositifs, la dimension de l’environnement, la di-
mension utilisateur et la dimension scénario (l’intention de l’utilisateur, les informations,
les connaissances).
1.2 Objectifs
Les études dans la plupart des systèmes de recommandations utilisent des données
explicites des utilisateurs comme les notes d’items. Or la plupart du temps, ces données
sont difficiles à obtenir car les utilisateurs ne donnent aucun retour (aucune note). Dans
ce mémoire, un système de recommandations sensible aux contextes utilisant des données
implicites (items consultés) est proposé. Pour atteindre cet objectif, il est nécessaire de
combiner deux approches :
• Système de filtrage collaboratif basé sur le thème de l’utilisateur (ou profil utilisa-
teur).
1.3 Contribution
3
1.4 Plan
La suite de ce mémoire est structurée comme suit. Le Chapitre 2 passe en revue l’état
de l’art sur les systèmes de recommandations et les méthodes associées. Le Chapitre 3
introduit la motivation de la méthode que nous proposons, les jeux de données choisis,
l’implémentation et l’évaluation de l’approche. Le Chapitre 4 montre les résultats empi-
riques et les analyses. Le Chapitre 5 conclut ce mémoire en répondant aux questions de
la problématique et propose des futurs travaux.
4
Chapitre 2
ETAT DE L’ART
5
• Filtrage collaboratif :
Contrairement à l’approche basée sur le contenu à un seul utilisateur, les recom-
mandations par filtrage collaboratif utilisent les préférences des autres utilisateurs
similaires. Cette méthode essaye de former un groupe d’utilisateurs qui a les mêmes
préférences. Ainsi, seuls les items les plus appréciés par le groupe sont pertinents
[Adomavicius et al., 2005].
Dans la littérature plusieurs algorithmes de filtrage collaboratif ont été développés :
récemment [Nilashi et al., 2014], Netflix Prize [Bell et al., 2008] et Grouplens
[Konstan et al., 1997] les pionniers.
Les problèmes comme le démarrage à froid et la rareté handicapent souvent cette
méthode de filtrage collaboratif. Les informations sur les nouveaux items et utilisa-
teurs sont mal gérées par le système. En effet, le manque d’information sur les items
et les utilisateurs rend la tâche difficile au système pour trouver des similarités entre
eux [Yu et al., 2004] [Adomavicius et al., 2005].
• Approche hybride :
6
qui peut caractériser la situation d’une entité (personne, localisation, produit, etc).
[Ryan et al., 1999] définissent le contexte comme l’identité de l’utilisateur, ressources de
l’environnement proche, localisation de l’utilisateur et période temporelle d’exécution
de l’interaction. Selon [Berry and Linoff, 1997], les contextes sont définis comme des
évènements qui caractérisent les phases de la vie d’un client et qui peuvent influencer
ses préférences, son statut et sa valeur pour une entreprise.
Des études comportementales en marketing ont montré que la prise de décision des
clients dépend des contextes dans lesquels ils se trouvent [Adomavicius et al., 2005]. En
effet, selon les contextes comme la localisation, les saisons, l’humeur, etc. le même client
peut choisir différents produits.
7
Selon [Adomavicius and Tuzhilin, 2011] il y a trois manières d’obtenir les informations
contextuelles :
• (2) Implicitement, par les informations sur les achats effectués, le nombre de clics,
la localisation de l’utilisateur grâce aux smartphones (utilisé en tourisme, restaura-
tion).
• (3) Par induction, en utilisant des modèles prédictifs (ou des classifieurs). Par
exemple dans un supermarché, il est difficile de connaı̂tre explicitement l’identité
d’un membre d’une famille qui réalise des achats ensemble avec une seule carte de
paiement ou un même compte pour l’e-commerce. Avec les méthodes d’induction uti-
lisant les classifieurs Naı̈ves Bayes et les réseaux bayésiens, [Palmisano et al., 2008]
ont montré que, des informations contextuelles cachées (ici identité d’un membre)
peuvent être induites à partir des données existantes (ici les items achetés).
Un défi se pose sur cette dernière façon d’obtenir les informations contextuelles. Le
problème qui se pose est qu’il est difficile de modéliser les contextes à partir des infor-
mations contextuelles non observables comme l’intention de l’utilisateur. Une alternative
pour le résoudre est la modélisation de thèmes détaillée dans la section suivante.
8
cachés l’a rendu ainsi populaire dans le domaine des systèmes de recommandations
[Yuan et al., 2015].
[Tavakol and Brefeld, 2014] ont étudié un système de recommandations de vente de
vêtements en ligne basé sur les données implicites, principalement les clics sur les items.
Une approche séquentielle basée sur la session est utilisée pour détecter l’intention des
utilisateurs. Ils ont défini la session de l’utilisateur comme une séquence d’items cliqués
et ont utilisé fMDPs (factored Markov decision processes) pour la détection de thèmes à
partir des attributs des items. La prédiction de précision obtenue est d’environ 90% sur
les données collectées à partir de www.zalando.com, surpassant ainsi les méthodes de
référence comme les méthodes de filtrage collaboratif.
[Xie et al., 2014] ont proposé une nouvelle approche de recommandations probabiliste
ne prenant pas en compte les contenus, inspiré du modèle LDA (Latent Dirichlet Allo-
cation) [Blei et al., 2003]. Dans l’approche, les comportements collectés des utilisateurs
sont des évènements probabilistes dans lesquels un utilisateur peut appartenir à plusieurs
groupes d’utilisateurs et les utilisateurs dans chaque groupe ont différentes préférences col-
lectées. Le processus de collecte est considéré comme deux processus probabilistes joints
interférés par le groupe d’utilisateurs. Ainsi, chaque utilisateur est membre d’un groupe
d’utilisateurs latent avec une certaine probabilité, tandis que chaque groupe d’utilisateurs
collectera des items variés avec différentes probabilités. Sur trois collections de données,
MovieLens (movielens.com), Netflix (netflix.com) et Last.fm (last.fm), les résultats ont
montré que la méthode possède des performances compétitives non seulement sur la
précision et la couverture mais aussi sur la diversité des items recommandés.
Etant donné que la description des items est du texte non structuré dans notre col-
lection de données, la méthode basée LDA sera utilisée dans ce mémoire. En effet, pour
appliquer fMDP par exemple, chaque produit doit avoir au préalable les mêmes types
d’attributs (comme genre, couleur, taille, etc.) or seule la description du produit est
disponible pour les données textuelles de l’item. De plus LDA est une des méthodes
de modèle de thèmes la plus récente et relativement simple à implémenter dans un
système de recommandations [Blei, 2012] [Yu et al., 2012] . Une description plus détaillée
de l’implémentation de LDA est disponible dans l’annexe de ce mémoire.
9
Chapitre 3
FILTRAGE COLLABORATIF
BASE SUR LDA
10
lisées pour l’estimation des paramètres (distributions) θ et ϕ du modèle LDA. Cependant,
l’algorithme EM est pénalisé par un grand nombre d’opérations à cause du grand nombre
de document donc plus lent en convergence. L’algorithme Gibbs sampling permet de
contourner cette difficulté et sera l’approche utilisée dans ce mémoire.
Le Collapsed Gibss Sampling [Griffiths and Steyvers, 2004] est un algorithme
d’échantillonnage qui permet l’estimation des paramètres d’un espace discret de grande
dimension [Steyvers et al., 2004].
Dans ce travail, Gibbs sampling est utilisé pour estimer les paramètres de LDA qui
itèrent plusieurs fois sur chaque mot v pour extraire un nouveau thème k pour le mot
basé sur la probabilité p(zi = k|v, z−i ) comme suit :
nk,v + βv
p(zi = k|vi , z−i ) ∝ (nd,k + αk ) P (3.1)
v 0 nk,v 0 + βv 0
α et β sont les paramètres de Dirichlet utilisés comme des paramètres de lissage pour
les calculs.
A partir de l’équation 3.1, les paramètres θ et ϕ du modèle LDA sont estimées comme
suit [Griffiths and Steyvers, 2004] :
nd,k + αk
Θd,k = P (3.2)
k0 nd,k0 + αk0
nk,v + βv
φk,v = P (3.3)
v 0 nk,v 0 + βv 0
Cov(i, j)
Cor(i, j) = (3.4)
σi σj
où Cov(i, j) désigne la covariance des variables i et j, σi et σj leurs écarts types.
Le coefficient de corrélation est symétrique et prend ses valeurs entre -1 et +1.
11
3.4 Prédiction des préférences de l’utilisateur cou-
rant
Basé sur le thème des utilisateurs (qui sera défini comme profil utilisateur), dans
cette étape, l’approche recommande des items pour lesquels les distributions de thèmes
des titres des livres sont similaires aux profils utilisateurs. L’objectif est de prédire les
préférences des utilisateurs courant aux items non consultés. Supposons que nous ayons
l’historique des préférences utilisateurs vus comme une matrice M, qui est la matrice
d’évaluation employée dans le filtrage collaboratif. Les éléments de M sont les vecteurs
contenant les identifiants et les thèmes des items consultés ou non par l’utilisateur aupara-
vant. Nous regardons ensuite dans l’ensemble d’items que l’utilisateur courant a consulté
et déterminons la similarité des autres items que l’utilisateur courant n’a pas encore vu
en utilisant la matrice de similarité de l’étape précédente. En effectuant cela, la similarité
des items pour l’utilisateur courant peut être obtenue et servira à indiquer le degré de
préférences de l’utilisateur courant pour les nouveaux items non consultés.
La prédicition des préférences Pu,i pour un item i, pour l’utilisateur u, est basée sur
la moyenne pondérée des préférences et des scores de similarité à partir de tous les autres
items qui ont été notés par l’utilisateur u. La formule est la suivante :
X
Pu,i = wu,j ∗ sim(i, j) (3.5)
j∈J
où J est l’ensemble des items les plus similaires à l’item i et que l’utilisateur u a noté ;
wu,i est le score donné par u pour l’item j ∈ J ; sim (i, j) la similarité entre les items i et
j. La somme est calculée à partir de tous les items j ∈ J noté par u.
12
Chapitre 4
EVALUATIONS
Cette section présente la collection que nous avons utilisée pour l’évaluation de notre
proposition ainsi que les mesures utilisées.
Pour évaluer notre méthode, nous avons divisé les jeux de données en deux parties :
90% pour l’entrainement du modèle et 10% de données test pour mesurer la précision
des recommandations. Pour chaque utilisateur des données tests, nous considérons un
item supposé être en cours de consultation : à partir de cet item, le système entrainé
propose un à plusieurs items recommandés. Si l’item recommandé est effectivement noté
positivement (la note est supérieure ou égale à 5 dans l’intervalle de 1 à 10) par l’utilisateur
dans la collection, l’item est considéré comme pertinent . Nous nous appuyons pour
l’évaluation sur la collection Book-Crossing et des mesures d’évaluation présentées ci-
dessous.
4.1 Collection
Source : http ://www2.informatik.uni-freiburg.de/ cziegler/BX/
• BX-Users
Contient les utilisateurs. Les identifiants des utilisateurs (‘ID-Utilisateur’) ont été
rendus anonymes et transformés en entiers. Les données démographiques comme
(‘Localisation’,’Age’) sont fournies mais si ces données ne sont pas disponibles les
champs contiennent la valeur NULL.
13
• BX-Books
Les livres sont identifiés respectivement par leur ISBN (International Standard Book
Number) ou numéro international standard des livres. Les ISBN non valides ont déjà
été supprimés de l’ensemble des données. De plus, certaines informations basées
sur le contenu obtenues auprès d’Amazon Web Services comme (‘Titre du livre’,
’Auteur du livre’, ’Années de Publication’, ’éditeur’) sont données. Notons que dans
le cas de plusieurs auteurs, seul le premier est fourni. Les URLs reliant les images
de couverture sont également indiquées, apparaissant sous trois différentes tailles
(‘Image-URL-S’, ‘Image-URL-M’, ‘Image-URL-L’), c’est-à-dire petites, moyennes
et grandes. Ces URL pointent sur le site Amazon.com
• BX-Book-Ratings
Contient les informations de notations du livre. Les notes sont soit explicites, ex-
primées sur une échelle de 1 à 10 (valeurs plus élevées indiquant une appréciation
plus élevée), soit implicites, exprimées par 0.
Comme prétraitement des données, nous avons supprimé les données implicites ex-
primées par 0. Ainsi, au lieu d’avoir 1 149 780 évaluations, il nous reste 397 247
évaluations (c’est-à-dire les notes de 1 à 10) qui sont assez suffisant pour obtenir un
bon résultat.
RP (i)
P recision = (4.1)
R(i)
14
RP (i)
Rappel = (4.2)
P (i)
où RP (i) : le nombre d’items recommandés et pertinents pour l’item i ; R(i) : le nombre
de documents recommandés par l’item i ; P (i) : le nombre de documents pertinents pour
l’item i.
La précision et le rappel varient entre 0 et 1. Ces deux mesures varient en sens inverse
[Dudognon, 2014].
4.2.2 MAP
De la même façon que 4.2.1, nous pouvons adapter la mesure de précision moyenne
pour une requête définie en recherche d’information en la précision moyenne pour un item
donné : PR(i)
[P @r(i).rel(r)]
AP (i) = r=1 (4.3)
P (i)
où :
-P (i) est le nombre d’items recommandés et pertinents pour l’item i
-R(i) le nombre de documents recommandés pour l’item i
-r le rang
-P @r(i) la précision lorsque les r premiers items sont recommandés pour l’item i
rel(r) vaut 1 si le document au rang r est pertinent et 0 sinon.
La moyenne des précisions moyennes (Mean Average Precision ou MAP) est alors la
moyenne arithmétique des précisions moyennes sur l’ensemble des requêtes considérées.
PI
i=1 AP (I)
M AP = (4.4)
I
avec I le nombre d’items à partir desquels on recherche les items à recommander. Ces
mesures considèrent deux niveaux de pertinence : un document est soit pertinent, soit
non pertinent pour une requête donnée [Dudognon, 2014].
Ces mesures sont orientées vers l’utilisateur qui souhaite d’abord des items pertinents ;
le rappel est donc moins important dans ces applications.
15
UBCF (User Based Collaborative Filtering) ou Filtrage Collaborative Basé Utilisateur
est une approche qui, à partir d’un utilisateur courant u, recherche les utilisateurs qui sont
similaires à cet utilisateur en fonction de la similarité des notes et recommande les items
i que ces utilisateurs similaires ont aimés [Ekstrand et al., 2011].
IBCF (Item Based Collaborative Filtering) ou Filtrage Collaborative Basé Item est
une approche obtenue par la transposition de la matrice de similarité de la méthode
basée sur l’utilisateur. Alors que UBCF génère des prédictions basées sur les similarités
entre les utilisateurs, IBCF génère des prédictions basées sur les similarités entre les items
[Sarwar et al., 2001].
16
Chapitre 5
RESULTATS ET DISCUSSIONS
Ce chapitre présente tous les résultats obtenus et leurs explications. Les résultats sont
divisés en deux parties : les résultats sur les thèmes et les résultats sur les items.
avec
M
X
NB = Nd (5.2)
d=1
17
La quantité contenue dans l’exponentielle est appelée entropie des données d’évaluation
sachant le modèle. L’utilisation du logarithme permet d’interpréter cette entropie en
termes de bits d’information.
Le résultat obtenu dans le tableau ci-dessous illustre la variation de la perplexité par
rapport aux nombres de thèmes latents.
10 31.619
20 27.339
30 23.510
40 22.520
50 21.118
60 20.297
70 19.281
80 18.526
90 18.584
100 17.482
110 17.982
120 17.393
130 17.261
140 16.902
150 16.887
160 16.466
170 16.255
180 15.804
190 16.385
200 16.004
Table 5.1 – Variation de la perplexité par rapport aux nombres de thèmes latents
18
Figure 5.1 – Courbe de perplexité du modèle LDA
A partir du résultat, on observe une courbe qui atteint son minimum en 180, donc le
nombre de sujets latents utilisé sera de 180.
19
Figure 5.2 – Précision en fonction du nombre d’items recommandés – Moyenne sur 50
items de départ en utilisant différentes approches.
Figure 5.3 – MAP en fonction du nombre d’items recommandés – Moyenne sur 50 items
de départ en utilisant différentes approches
D’après les figures, on observe que les deux méthodes IBCF et UBCF utilisant des
données explicites (notes) sont moins performantes. Ceci est dû au fait que le filtrage
collaboratif n’arrive pas à gérer le problème de démarrage à froid dans les deux méthodes.
CBCF et TFIDF montrent de meilleure performance comparée à l’approche filtrage col-
laboratif grâce à leur propriété hybride et l’utilisation des données implicites (titres des
20
livres consultés). Néanmoins, notre méthode proposée a de meilleure performance que
TFIDF.
Figure 5.4 – Comparaison de la précision pour les requêtes successives dans CBCF
Les recommandations des items sont faites à partir des thèmes. Dans notre méthode
on caractérise les thèmes à partir des cliques ou requêtes successives.
Considérons les top-N recommandations, pour 2 requêtes la valeur de la précision
augmente par rapport à 1 requête. Pour 3 requêtes le résultat est instable mais reste
supérieure à 1 requête. Ainsi, en prenant en compte 2 requêtes, on peut voir que les
précisions pour les recommandations sont plus élevées.
Ainsi à partir des résultats des figure 5.2, figure 5.3 et figure 5.4, l’utilisation de notre
approche combinant LDA et le filtrage collaboratif est justifiée.
21
Chapitre 6
Conclusions et perspectives
6.1 Conclusions
Dans ce mémoire, un système de recommandations hybride combinant LDA et la
méthode de filtrage collaboratif pour des données implicites est proposé. LDA permet de
trouver la structure sémantique latente dans les titres des livres consultés, la distribution
des mots sur les thèmes latents et le mélange des distributions des thèmes latents. Le
résultat provenant de LDA est ensuite intégré dans un système de filtrage collaboratif
basé sur la similarité des utilisateurs. Basé sur le thème de l’intention de l’utilisateur
défini comme le profil utilisateur, l’approche recommande des livres pour lesquels les
distributions de thèmes des titres sont similaires aux profils utilisateurs.
Dans l’introduction, les problématiques suivantes étaient posées :
Pour répondre à la Question 1, En considérant la séquence des items vus par l’utilisa-
teur courant on peut caractériser son intention. A partir des résultats de notre approche,
la précision des recommandations dépende du nombre de requêtes .Les résultats du Top
5 recommandations dans figure 5.4 montrent : pour une requête la précision est de 42%,
pour deux et trois requêtes la précision est de 49%.
Pour répondre à la Question 2, comme les contextes sont non observables (en l’occur-
rence l’intention de l’utilisateur), ils ont été incorporés dans le système de recommanda-
tions par l’utilisation des variables latentes comme intention ou objectif de l’utilisateur.
22
sur le contenu utilisant les modèles de thèmes nous a permis de recommander des nou-
veaux items car les thèmes reflètent un comportement général des utilisateurs.
6.2 Perspectives
Dans notre implémentation de système de recommandations sensible aux contextes,
on a induit le contexte (intention de l’utilisateur) à partir des titres des livres. Cependant
d’autres caractéristiques (auteurs, éditeurs, notes, . . . ) des livres peuvent être utilisées
pour induire d’autres contextes non observables et ainsi avoir de meilleure performance. De
plus, des travaux additionnels peuvent être effectués en ajoutant des contextes observables
comme la localisation, la compagnie, la période, etc.
Le système a des performances moyennes par rapport aux systèmes récemment sorti
à ce jour dans le domaine de la recherche. Néanmoins, comme l’un des buts de ce travail
est de construire mon propre système de recommandations qui soit opérationnel, prochai-
nement le système sera implémenté sur le site e-commerce de mon startup.
23
Annexe
LDA (Latent Dirichlet Allocation)
6.3 Notion
[Blei et al., 2003] ont défini les notations suivantes :
• Word ou mot est l’unité de base des données discrètes, défini pour être un item
d’un vocabulaire indexé par 1, . . . , V
[Blei et al., 2003] décrit la méthode LDA (Latent Dirichlet Allocation) ou Alloca-
tion de Dirichlet Latente comme un modèle génératif probabiliste pour les collections
de données discrètes tels que les corpus de textes.
L’idée de base est que les documents sont représentés comme une distribution aléatoire
sur les thèmes latents, où chaque thème est caractérisé par une distribution sur les mots.
LDA suppose le processus génératif suivant pour chaque document w dans un corpus
d:
• 1. Choisir N ∼ Poisson(ξ).
• 2. Choisir θ ∼ Dir(α).
25
documents de longueur réaliste peuvent être utilisées selon les besoins. Par ailleurs, notons
que N est indépendant de toutes les autres générations de données de variables (θ et z).
N est donc une variable auxiliaire et généralement. Son caractère aléatoire est ignoré dans
le développement ultérieur [Blei et al., 2003].
Une variable θ de Dirichlet de k-dimension peut prendre des valeurs dans (k − 1)
simplex (un k-vecteur θ varie dans le (k − 1)-simplex si θi ≥ 0, ki=1 θi = 1), et a la
P
Γ( ki=1 θi ) α1 −1 α1 −1
P
p(θ|α) = Qk θ1 ...θ1 , (6.1)
i=1 Γ(α i )
Où le paramètre α est un k-vecteur avec les composants αi > 0, et où Γ(x) est la
fonction Gamma. Les paramètres α et β donnés, la distribution jointe d’une mixture de
thèmes θ, un ensemble N de thèmes z, et un ensemble N de mots w généré par z, est
donnée par :
N
Y
p(θ, z, w|α, β) = p(θ|α) p(zn |θ)p(wn |zn , β) (6.2)
n=1
Où p(zn |θ) est pour θi unique tel que zni = 1. Intégré sur θ et sommé sur z, la distri-
bution marginale de document obtenue est :
Z N X
Y
p(w|α, β) = p(θ|α)( p(zn )|θ)p(wn |zn , β))dθ (6.3)
n=1 zn
26
Le modèle LDA est représenté comme un modèle graphique probabiliste dans la Figure
6.1. Comme la figure le montre, il y a trois niveaux à la représentation de LDA. Les
paramètres α et β sont les paramètres au niveau du corpus, supposés être échantillonnés
une fois dans le processus génératif d’un corpus. Les variables θd sont les variables au
niveau du document. Finalement, les variables zdn et wdn sont les variables au niveau du
mot et sont échantillonnées une fois pour chaque mot dans chaque document.
27
Bibliographie
[Adomavicius et al., 2005] Adomavicius, G., Sankaranarayanan, R., Sen, S., and Tuzhi-
lin, A. (2005). Incorporating contextual information in recommender systems using
a multidimensional approach. ACM Transactions on Information Systems (TOIS),
23(1) :103–145.
[Alghamdi and Alfalqi, 2015] Alghamdi, R. and Alfalqi, K. (2015). A survey of topic
modeling in text mining. International Journal of Advanced Computer Science and
Applications (IJACSA), 6(1).
[Bell et al., 2008] Bell, R. M., Koren, Y., and Volinsky, C. (2008). The bellkor 2008
solution to the netflix prize. Statistics Research Department at AT&T Research.
[Berry and Linoff, 1997] Berry, M. J. and Linoff, G. (1997). Data mining techniques : for
marketing, sales, and customer support. John Wiley & Sons, Inc.
[Billsus and Pazzani, 2000] Billsus, D. and Pazzani, M. J. (2000). User modeling for
adaptive news access. User modeling and user-adapted interaction, 10(2-3) :147–180.
[Blei, 2012] Blei, D. M. (2012). Probabilistic topic models. Communications of the ACM,
55(4) :77–84.
[Blei et al., 2003] Blei, D. M., Ng, A. Y., and Jordan, M. I. (2003). Latent dirichlet
allocation. Journal of machine Learning research, 3(Jan) :993–1022.
[Bobadilla et al., 2013] Bobadilla, J., Ortega, F., Hernando, A., and Gutiérrez, A. (2013).
Recommender systems survey. Knowledge-Based Systems, 46 :109–132.
[Borras et al., 2014] Borras, J., Moreno, A., and Valls, A. (2014). Intelligent tourism
recommender systems : A survey. Expert Systems with Applications, 41(16) :7370–7389.
[Buntine, 2009] Buntine, W. (2009). Estimating likelihoods for topic models. In Asian
Conference on Machine Learning, pages 51–64. Springer.
[Burke, 2002] Burke, R. (2002). Hybrid recommender systems : Survey and experiments.
User modeling and user-adapted interaction, 12(4) :331–370.
28
[Burke, 2007] Burke, R. (2007). Hybrid web recommender systems. In The adaptive web,
pages 377–408. Springer.
[Chevalier et al., 2016] Chevalier, M., Dudognon, D., and Mothe, J. (2016). Adores : a
diversity-oriented online recommender system. In Proceedings of the 31st Annual ACM
Symposium on Applied Computing, pages 1075–1076. ACM.
[Dey, 2001] Dey, A. K. (2001). Understanding and using context. Personal and ubiquitous
computing, 5(1) :4–7.
[Ekstrand et al., 2011] Ekstrand, M. D., Riedl, J. T., Konstan, J. A., et al. (2011).
Collaborative filtering recommender systems. Foundations and Trends R in Human–
Computer Interaction, 4(2) :81–173.
[Fei-Fei and Perona, 2005] Fei-Fei, L. and Perona, P. (2005). A bayesian hierarchical
model for learning natural scene categories. In 2005 IEEE Computer Society Conference
on Computer Vision and Pattern Recognition (CVPR’05), volume 2, pages 524–531.
IEEE.
[Griffiths and Steyvers, 2004] Griffiths, T. L. and Steyvers, M. (2004). Finding scientific
topics. Proceedings of the National academy of Sciences, 101(suppl 1) :5228–5235.
[Herlocker et al., 2002] Herlocker, J., Konstan, J. A., and Riedl, J. (2002). An empiri-
cal analysis of design choices in neighborhood-based collaborative filtering algorithms.
Information retrieval, 5(4) :287–310.
[Herlocker et al., 2004] Herlocker, J. L., Konstan, J. A., Terveen, L. G., and Riedl, J. T.
(2004). Evaluating collaborative filtering recommender systems. ACM Transactions on
Information Systems (TOIS), 22(1) :5–53.
[Konstan et al., 1997] Konstan, J. A., Miller, B. N., Maltz, D., Herlocker, J. L., Gordon,
L. R., and Riedl, J. (1997). Grouplens : applying collaborative filtering to usenet news.
Communications of the ACM, 40(3) :77–87.
[Krestel et al., 2009] Krestel, R., Fankhauser, P., and Nejdl, W. (2009). Latent dirichlet
allocation for tag recommendation. In Proceedings of the third ACM conference on
Recommender systems, pages 61–68. ACM.
[Lamsfus et al., 2009] Lamsfus, C., Alzua-Sorzabal, A., Martin, D., Salvador, Z., and
Usandizaga, A. (2009). Human-centric ontology-based context modelling in tourism.
In KEOD, pages 424–434.
29
[Louëdec et al., 2015] Louëdec, J., Chevalier, M., Mothe, J., Garivier, A., and Gerchino-
vitz, S. (2015). A multiple-play bandit algorithm applied to recommender systems. In
FLAIRS Conference, pages 67–72.
[Mobasher et al., 2004] Mobasher, B., Jin, X., and Zhou, Y. (2004). Semantically enhan-
ced collaborative filtering on the web. In Web Mining : From Web to Semantic Web,
pages 57–76. Springer.
[Nilashi et al., 2014] Nilashi, M., bin Ibrahim, O., and Ithnin, N. (2014). Hybrid recom-
mendation approaches for multi-criteria collaborative filtering. Expert Systems with
Applications, 41(8) :3879–3900.
[Palmisano et al., 2008] Palmisano, C., Tuzhilin, A., and Gorgoglione, M. (2008). Using
context to improve predictive modeling of customers in personalization applications.
IEEE transactions on knowledge and data engineering, 20(11) :1535–1549.
[Pazzani and Billsus, 2007] Pazzani, M. J. and Billsus, D. (2007). Content-based recom-
mendation systems. In The adaptive web, pages 325–341. Springer.
[Ramage et al., 2009] Ramage, D., Hall, D., Nallapati, R., and Manning, C. D. (2009).
Labeled lda : A supervised topic model for credit attribution in multi-labeled corpora. In
Proceedings of the 2009 Conference on Empirical Methods in Natural Language Proces-
sing : Volume 1-Volume 1, pages 248–256. Association for Computational Linguistics.
[Rosen-Zvi et al., 2004] Rosen-Zvi, M., Griffiths, T., Steyvers, M., and Smyth, P. (2004).
The author-topic model for authors and documents. In Proceedings of the 20th confe-
rence on Uncertainty in artificial intelligence, pages 487–494. AUAI Press.
[Ryan et al., 1999] Ryan, N., Pascoe, J., and Morse, D. (1999). Enhanced reality field-
work : the context aware archaeological assistant. Bar International Series, 750 :269–
274.
[Salton, 1989] Salton, G. (1989). Automatic text processing : The transformation, analy-
sis, and retrieval of. Reading : Addison-Wesley.
[Salton and McGill, 1986] Salton, G. and McGill, M. J. (1986). Introduction to modern
information retrieval.
30
[Sarwar et al., 2001] Sarwar, B., Karypis, G., Konstan, J., and Riedl, J. (2001). Item-
based collaborative filtering recommendation algorithms. In Proceedings of the 10th
international conference on World Wide Web, pages 285–295. ACM.
[Si and Sun, 2009] Si, X. and Sun, M. (2009). Tag-lda for scalable real-time tag recom-
mendation. Journal of Computational Information Systems, 6(1) :23–31.
[Smyth and Cotter, 2000] Smyth, B. and Cotter, P. (2000). A personalized television
listings service. Communications of the ACM, 43(8) :107–111.
[Steyvers et al., 2004] Steyvers, M., Smyth, P., Rosen-Zvi, M., and Griffiths, T. (2004).
Probabilistic author-topic models for information discovery. In Proceedings of the
tenth ACM SIGKDD international conference on Knowledge discovery and data mi-
ning, pages 306–315. ACM.
[SULLIVAN et al., 2004] SULLIVAN, D. O., Smyth, B., and WILSON, D. (2004). Pre-
serving recommender accuracy and diversity in sparse datasets. International Journal
on Artificial Intelligence Tools, 13(01) :219–235.
[Tavakol and Brefeld, 2014] Tavakol, M. and Brefeld, U. (2014). Factored mdps for detec-
ting topics of user sessions. In Proceedings of the 8th ACM Conference on Recommender
Systems, pages 33–40. ACM.
[Wallach et al., 2009] Wallach, H. M., Mimno, D. M., and McCallum, A. (2009). Rethin-
king lda : Why priors matter. In Advances in neural information processing systems,
pages 1973–1981.
[Wei and Croft, 2006] Wei, X. and Croft, W. B. (2006). Lda-based document models for
ad-hoc retrieval. In Proceedings of the 29th annual international ACM SIGIR conference
on Research and development in information retrieval, pages 178–185. ACM.
[Wilson et al., 2003] Wilson, D. C., Smyth, B., and Sullivan, D. O. (2003). Sparsity
reduction in collaborative recommendation : A case-based approach. International
journal of pattern recognition and artificial intelligence, 17(05) :863–884.
[Xie et al., 2014] Xie, W., Dong, Q., and Gao, H. (2014). A probabilistic recommenda-
tion method inspired by latent dirichlet allocation model. Mathematical Problems in
Engineering, 2014.
[Yu et al., 2004] Yu, K., Schwaighofer, A., Tresp, V., Xu, X., and Kriegel, H.-P. (2004).
Probabilistic memory-based collaborative filtering. IEEE Transactions on Knowledge
and Data Engineering, 16(1) :56–69.
[Yu et al., 2012] Yu, K., Zhang, B., Zhu, H., Cao, H., and Tian, J. (2012). Towards per-
sonalized context-aware recommendation by mining context logs through topic models.
In Pacific-Asia Conference on Knowledge Discovery and Data Mining, pages 431–443.
Springer.
31
[Yuan et al., 2015] Yuan, J., Gao, F., Ho, Q., Dai, W., Wei, J., Zheng, X., Xing, E. P.,
Liu, T.-Y., and Ma, W.-Y. (2015). Lightlda : Big topic models on modest computer
clusters. In Proceedings of the 24th International Conference on World Wide Web,
pages 1351–1361. ACM.
32
Résumé
Les systèmes de recommandations visent à proposer aux utilisateurs des items en lien
avec leur consultation en cours et qui peuvent retenir leur intérêt. L’intérêt des utilisateurs
dépend du contexte dans lequel ils se trouvent. Dans ce travail, nous proposons un système
hybride CBCF (Context-aware Based Collaborative Filtering) qui combine les systèmes de
recommandation sensibles aux contextes et le filtrage collaboratif. Le contexte est ici défini
comme l’objectif ou l’intention de l’utilisateur. Nous le modélisons par une approche LDA
(Latent Dirichlet Allocation) qui génère un modèle de thèmes pour chaque intention. Nous
avons évalué notre approche sur la collection Book-Crossing et montrons sa supériorité
par rapport à plusieurs méthodes état de l’art.
Abstract
Recommender systems are designed to provide users with items related to their ongoing
browsing and that may be of interest to them. User interest depends on the context. In
this work, we propose a hybrid CBCF (Context-aware Based Collaborative Filtering)
system combining context-sensitive and collaborative filtering. We define context as the
objective or intent of the user. We model it by a LDA (Latent Dirichlet Allocation)
approach which generates a topic model for each intention. We evaluated our approach
using the Book-Crossing collection and demonstrated the superiority of our model over
several state-of-the-art methods.