• Aucun résultat trouvé

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

Documents relatifs