3.2 Les différents paradigmes de contextualisation
3.2.1 La contextualisation par prétraitement
3.2.3 La modélisation contextuelle . . . 37
3.3 Un cas d’étude précis : la vente d’outils . . . . 38
3.3.1 Présentation du problème . . . 38
3.3.2 Présentation des approches contextuelles . . . 38
3.3.3 Protocole expérimental . . . 39
3.4 Discussion. . . . 42
La contextualisation dans les systèmes de recommandation consiste à prendre
en compte des données complémentaires pour améliorer les performances de
prédiction des modèles. Ce chapitre fait une brève présentation des approches
de contextualisation existantes. Nous présentons les types de données
contex-tuelles utilisées et les différentes façons de tirer avantage de cette
contextualisa-tion dans la construccontextualisa-tion du modèle. Nous présentons également une étude de
cas réalisée sur des données réelles. Cette étude vise à mettre en exergue l’intérêt
de contextualiser les données, notamment d’un point de vue temporel et grâce à
une connaissance a priori des données.
Le principe général de la recommandation contextuelle consiste, par opposition au filtrage
col-laboratif dit « classique » où l’on ne prend en compte que les données de transactions (ou de vote),
à ajouter de nouvelles dimensions prennant en compte des données complémentaires, ou en ayant
une connaissance a priori sur ces données.
3.1 Les types de données contextuelles
Les données contextuelles par nature sont très variées. Les données les plus couramment
ren-contrées (et utilisées) dans les systèmes de recommandation sont les variables « utilisateurs » et les
variables « produits »1. Il existe également d’autres informations, aussi bien explicites qu’implicites
qui peuvent être utilisées pour améliorer la recommandation (données temporelles, graphe social. . .).
Nous allons maintenant détailler les données utilisées pour la contextualisation.
3.1.1 Les variables utilisateurs et produits
Lorsque l’on parle de variables utilisateurs, il s’agit généralement de données telles que l’âge,
le sexe, l’adresse. Il est aussi possible d’utiliser d’autres données propres à l’utilisateur, comme par
exemple la position géographique ou l’adresse IP.
Les variables produits diffèrent suivant la nature du produit. Par exemple lorsque les produits à
recommander sont des films, il peut s’agir du réalisateur, du genre filmographique ou de la durée.
L’intérêt d’utiliser ces variables pour améliorer la recommandation peut être illustré avec l’exemple
suivant : les films « Dora l’exploratrice » auront sûrement plus de succès pour un public en bas âge,
tandis que « Derrick » intéressera plus un public d’un certain âge. De la même façon, un cliché
ré-pandu suggère qu’un public féminin aura peut être plus de plaisir à regarder une comédie romantique
qu’un public masculin, qui lui préfèrera des films d’actions. Ainsi en utilisant le genre
cinématogra-phique des films, l’âge et le sexe des utilisateurs comme information de contextualisation, il est très
certainement possible d’améliorer la qualité de prédiction d’un système de recommmandation de
film.
En revanche, si l’on souhaite recommander des restaurants, on s’intéressera plutôt au type de
nourriture proposé, au prix, à l’adresse ou encore à l’appréciation donnée par des guides culinaires.
On pourra également utiliser la position actuelle de l’utilisateur.
La recommandation de publicité ciblée sur Internet peut être, quant à elle, améliorée en prenant
en compte l’adresse IP de l’utilisateur par exemple.
La définition de variable utilisateur ou variable produit est à prendre au sens large, n’importe
quelle information sur l’utilisateur ou sur le produit peut être utilisée comme information
contex-tuelle, dés lors qu’elle est susceptible de permettre une meilleure identification du comportement,
des goûts de l’utilisateur ou une meilleure catégorisation des produits.
3.1.2 Les données temporelles
L’utilisation d’un contexte temporel est née de l’hypothèse, souvent vérifiée, de l’inconstance
des préférences des utilisateurs. En effet, ces préférences peuvent évoluer au cours du temps (
Ko-ren 2009,Milkmanet al.2009). Certains goûts peuvent naître ou devenir plus prononcés en avançant
dans le temps, d’autres peuvent au contraire se résorber ou tout simplement disparaître. Le contexte
1. le terme produit est à prendre au sens large et peut désigner des produits de consommation, des films, des outils, des
publicités ciblées, des amis, des services, des lieux, des lignes de code, des itinéraires. . .
3.1. Les types de données contextuelles 35
temporel peut aussi être associé à des facteurs de saisonnalité. La figure3.1illustre cette évolution des
FIGURE3.1 – Exemples d’évolution de comportement d’utiliseurs au cours de la journée (haut) et de
notes au cours du temps (bas)2.
comportements au cours du temps2. Deux points importants en ressortent : une évolution certaine
des comportements des utilisateurs au cours du temps, mais également une évolution de la façon
dont sont perçus les articles au cours du temps (par exemple l’achat de maillots de bain est plus
im-portant à l’approche des vacances estivales que le reste de l’année). L’intérêt de prendre en compte le
facteur temps dans la recommandation nous apparaît évident.
Dans la littérature, il est possible de rencontrer des systèmes de recommandation utilisant des
données temporelles de différentes natures (historique de navigation sur un site web comme [Fu
et al.2000], historique de position géographique obtenu à l’aide d’un appareil GPS comme [Zheng
et al.2011] ou même un historique des achats ou des appréciations de l’utilisateurs pour des
pro-duits comme [Richardet al.2010]). Dans tous les cas il s’agit globalement d’un ensemble d’actions
de l’utilisateur situées dans le temps. Ces actions de l’utilisateur dans le temps peuvent d’ailleurs être
à l’encontre d’un même produit comme dans [Amatriainet al.2009], où le système de
recomman-dation tire avantage des données temporelles en invitant l’utilisateur à réexprimer une appréciation
pour un produit, en prenant en compte l’éventuelle évolution de préférence au cours du temps afin
d’améliorer les prédictions.
La majorité des travaux allant dans ce sens proposent de s’intéresser aux goûts de l’utilisateur sur
2. le graphique du haut est issu de http://www.cs.rutgers.edu/cs/Media/YahooLectures2011/Agarwal/
Agarwal-RecommenderSystems.pdfet ceux du bas sont issus de [Koren 2009].
une fenêtre temporelle récente d’une longueur variable. C’est l’objet des travaux de [Dinget al.2006]
ou de [Zhenget al.2011] par exemple.
3.1.3 Les données sociales
Dans le cadre de la recommandation dans les réseaux sociaux, l’utilisation des données sociales
telles que le graphe d’amitié ou graphe de confiance est très commune. On effectue généralement la
prédiction des préférences d’un utilisateur en s’intéressant aux préférences des personnes avec qui il
est ami ou en qui il a confiance.
Nous reviendrons en détail sur la recommandation dans les réseaux sociaux dans le chapitre4car
l’utilisation de ce type d’approche contextuelle en est l’objet principal.
3.1.4 Informations contextuelles implicites
Les données présentées précédemment peuvent permettre d’extraire des informations
contex-tuelles de façon explicite. Ces données peuvent ne pas suffire à définir des contextes. Dans certains
cas, le contexte doit être déduit à partir des données connues (et grâce éventuellement à une
connais-sance experte du domaine). On parlera alors d’information contextuelle implicite. Le cas d’étude
présenté en section3.3de ce chapitre fait justement l’objet d’une contextualisation implicite qui a
nécessité une connaissance a priori sur les produits. En effet si, un client achète une baignoire et
du carrelage, on peut déduire que ce client s’est lancé dans un chantier de construction (ou de
ré-novation) de salle de bain, cette information implicite peut être utilisée pour une contextualisation
éventuelle.
3.2 Les différents paradigmes de contextualisation
La contextualisation peut intervenir à différents endroits dans un système de recommandation.
Trois grands types d’approche de contextualisation sont généralement définis suivant la place (dans
le processus de construction du modèle) où cette contextualisation intervient. Ces approches sont les
suivantes :
– la contextualisation par prétraitement (contextual pre-filtering),
– la contextualisation par post-traitement (contextual post-filtering),
– la modélisation contextuelle (contextual modeling).
La première approche consiste à ne sélectionner qu’un certain sous-ensemble des données pour
la construction du modèle, ou à partitionner les données pour construire un ensemble de modèles. La
deuxième, quant à elle, consiste à ne garder en sortie du modèle qu’un sous-ensemble des données.
Enfin la troisième approche consiste à utiliser au cours de la construction du modèle les données
contextuelles dont nous disposons.
Nous allons présenter brièvement ces trois paradigmes. Pour des informations complémentaires,
nous invitons le lecteur à consulter la section 3 de [Adomavicius & Tuzhilin 2011].
3.2.1 La contextualisation par prétraitement
La contextualisation par prétraitement (contextual pre-filtering) consiste à sélectionner, pour le
contexte dans lequel on se place, un certain sous-ensemble des données significatif pour ce contexte
et d’effectuer l’apprentissage du modèle sur ce sous-ensemble. Ceci implique donc de construire un
3.2. Les différents paradigmes de contextualisation 37
modèle pour chaque contexte. Par exemple dans le cas où l’on veut recommander des films à des
uti-lisateurs en fonction de leur âge. Chaque sous-ensemble sera l’ensemble des utiuti-lisateurs appartenant
à une certaine tranche d’âge. On construira un modèle pour chaque tranche d’âge. Lors de
l’évalua-tion du modèle pour un utilisateur donné, on prédit les préférences de l’utilisateur à partir du modèle
correspondant au contexte dans lequel celui-ci se place. Ainsi pour prédire quels films sont
suscep-tibles d’intéresser un utilisateur donné, on évaluera pour cet utilisateur le modèle correspondant à
cette tranche d’âge.
Dans le cas où le nombre de contexte est très élevé, il peut s’avérer fastidieux de créer autant
de modèles que de contextes. De plus, dans certains cas, cela nécessite la discrétisation de variables
continues (comme l’extraction de tranches d’âge). La difficulté est de choisir correctement le bon
nombre de classes et les bornes de chacune des classes. Ceci revient à ajouter au problème de
recom-mandation, un problème de classification dont dépendent grandement les performances du système.
Ce type d’obstacle éventuel est notamment pointé du doigt par [Rendle 2010] .
Dans le document
Factorisation Matricielle, Application à la Recommandation Personnalisée de Préférences
(Page 40-44)