• Aucun résultat trouvé

Gestion de l’évolution des intérêts pendant l’étape de construction du profil utilisateur

2.3. Gestion de l’évolution du profil utilisateur

2.3.1. Gestion de l’évolution des intérêts pendant l’étape de construction du profil utilisateur

Le problème de l’évolution des intérêts peut être traité en appliquant les techniques que l’on peut classifier en deux grandes approches : approche par sélection d’instance (instance selection) et approche pondérée (instance weighting). Les sections suivantes décrivent successivement ces deux approches.

2.3.1.1. Approche par sélection d’instance

L’approche par sélection d’instance (instance selection) sélectionne les informations pertinentes par rapport à une période de temps choisie. Ce raisonnement a été utilisé dans la construction du profil utilisateur dans plusieurs contextes. La plupart de ces travaux se basent sur l’usage d’une fenêtre temporelle (time window) qui décide d’un intervalle de temps dans lequel les informations sont considérées et qui ignore les autres informations (Cheng et al., 2008 ; Maloof et Michalski, 2000). Par exemple, en recherche d’information personnalisée, dans (Bennett et al., 2012), les auteurs utilisent l’historique à court terme de l’utilisateur lié à une seule session de recherche (la dernière) pour extraire ses intérêts. Les techniques utilisées dans l’approche de sélection d’instance oublient complètement les informations dépassant une date définie. Pourtant, certaines informations ignorées peuvent s’avérer pertinentes et ne pas les prendre en compte, peut entraîner une perte d'informations intéressantes. En effet, (Tan, Shen et Zhai, 2006) ont montré que l’historique de recherche à long terme est très important pour améliorer la tâche de recherche d’information dans le cas de requêtes récurrentes.

2.3.1.2. Approche pondérée

La seconde approche que l’on trouve dans la littérature, appelée approche pondérée (instance weighting), calcule le poids de chaque instance selon son poids de pertinence estimé en fonction du temps. C’est souvent une fonction temporelle (time decay function) qui est utilisée pour donner plus de poids aux informations les plus récentes. Dans ce type d’approche, toutes les

informations existantes peuvent être exploitées mais de manière différenciée. Ce raisonnement a été utilisé dans plusieurs travaux sur les systèmes de recommandation (Li et al., 2013). Cette idée peut être retrouvée également dans le contexte de la recherche d’information personnalisée comme dans (Kacem, Boughanem et Faiz, 2014) qui proposent d’appliquer une fonction temporelle pour pondérer les intérêts de l’utilisateur selon leur fraîcheur. Cette idée peut être retrouvée également dans le contexte de la construction du profil utilisateur à partir d'un réseau d’annotations comme dans (Zheng et Li, 2011) qui utilisent des fonctions temporelles pour pondérer des tags avant d’en extraire les intérêts de l’utilisateur.

Pour pondérer les informations selon leur fraicheur, plusieurs fonctions temporelles peuvent être appliquées. Nous décrivons ci-après, les trois principales fonctions de la littérature.

a. Fonction linéaire inverse

La façon la plus simple de calculer une pondération temporelle est d’appliquer une fonction linéaire inversement proportionnelle à la date d’apparition de chaque information (formule ( 2.6 )).

94:,(#) = 1 # + 1

( 2.6 )

La valeur t N est la distance entre la date de publication de l’information et la date donnée

(souvent c’est la date actuelle au moment du calcul). Par exemple, si la date du calcul est 2016, pour une information publiée en 2016, t vaut 0, pour celle publiée en 2015 t vaut 1, et ainsi de suite. En d’autres termes, t représente la fraicheur de l’information vis-à-vis de la date actuelle. Plus t est petit, plus l’information est récente.

Notons que l’addition de 1 dans l’équation permet d’éviter une division par 0, en particulier pour certaines échelles de date (par exemple le mois ou la semaine).

Figure 2.7 Le poids temporel de chaque valeur t en axe selon la fonction linéaire inverse

b. Fonction exponentielle

La fonction exponentielle est la fonction temporelle la plus utilisée dans les différentes applications. (Ding et Li, 2005) proposent une fonction exponentielle (formule ( 2.7 )) pour pondérer les informations afin de les utiliser dans un système de recommandation temporelle.

9+;< # = +−>#

( 2.7 )

Comme dans la fonction linéaire inverse, la valeur t N est la fraicheur de l’information vis-

à-vis de la date actuelle. La valeur λ [0,1] représente le taux de dépréciation (Time Decay

Rate) des valeurs. Plus λ est grand, moins les informations anciennes sont importantes. λ est calculée en se basant sur la demi-vie T0,

!?=

1

2 (9 0 )

( 2.8 ) T0 représente le fait que le poids de l’information est réduit de moitié tous les T0 instants (jour,

année). λ est calculée à partir de la formule :

> = 1 !B

( 2.9 )

La valeur optimale de T0 sera définie expérimentalement (la valeur de λ est fixée

expérimentalement)

Figure 2.8 Le poids temporel de chaque valeur t en axe pour différentes valeurs de λ selon la fonction exponentielle

Une autre fonction temporelle basée sur la fonction exponentielle est exploitée dans le travail de (Zheng et Li, 2011). Dans le cadre de la recommandation basée sur des tags, les auteurs utilisent une fonction de score qui assigne un poids aux tags (considérés comme des intérêts) selon leur date de création. Plus le tag est récent, plus il est important. Cette fonction est représentée comme suit5 :

5

9CDEFG # = +HI J∗8/MF(N)

( 2.10 )

Où t N représente la distance entre la date où le tag a été annoté par l’utilisateur et la date actuelle, comme présenté précédemment dans la formule ( 2.7 ) En d’autres termes, t représente la fraicheur du tag t vis-à-vis de la date actuelle. hl(u) représente la demi-vie de l’utilisateur u (une vie est calculée selon la date de début et de fin de l’activité d’annotation de l’utilisateur).

c. Fonction polynomiale

La fonction polynomiale propose une décroissance polynomiale (polynomial decay) de la pondération calculée. Elle correspond à l’application de la formule ( 2.11 ) suivante (Cormode et al., 2009) :

9E?FO # = (# + 1)PQ

( 2.11 ) De la même manière que dans les deux précédentes fonctions, la valeur t représente la fraîcheur

de l’information. Pour chaque t=i (i N), t=0 est considéré comme la valeur de fraicheur de

l’instant le plus récent (ex : t=0 pour l’année 2016, t=1 pour 2015,…). La valeur λ [0,1] représente le taux de dépréciation (Time Decay Rate) des valeurs. Notons que l’addition (t+1) est utilisée pour assurer f(0) =1.

Figure 2.9 Le poids temporel en axe horizontal de chaque valeur t en axe vertical pour différentes valeurs de λ

selon la fonction polynomiale

La section suivante présente une deuxième technique : la prise en compte de l’évolution des intérêts de l’utilisateur par une mise à jour du profil utilisateur et non plus par une (re)construction du profil.