• Aucun résultat trouvé

Les cat´ egories d’utilisateurs

Les cat´egories d’utilisateurs servent `a d´eterminer le processus de recommandation `a utiliser (voir chapitre 6) pour chaque utilisateur. Afin de d´eterminer la cat´egorie de l’utilisateur, nous

analysons leurs actions au niveau du syst`eme. On trouve beaucoup de diff´erences entre les

utilisateurs dans leur fa¸con d’interagir avec un syst`eme de recommandation. Ces diff´erences se caract´erisent `a plusieurs niveaux :

Implicite Vs. explicite

Certains utilisateurs notent r´eguli`erement les items qu’ils ont consomm´es, d’autres le font moins ou encore jamais.

Homog´en´eit´e des notes

Certains utilisateurs notent uniquement les items qu’ils appr´ecient, d’autres ne notent

que ceux qu’ils d´epr´ecient et d’autres encore notent les deux.

Taux de fr´equentation

Le nombre de visites des utilisateurs varie ´egalement. Plus un utilisateur sera r´egulier, mieux on le connaˆıtra.

Nous avons mis en place un module d’apprentissage qui agit en deux temps : (i) le filtrage des donn´ees afin de d´eterminer quelles donn´ees (explicites et/ou implicites) seront utilis´ees

3.2 Les cat´egories d’utilisateurs 57

pour l’utilisateur ; (ii) l’attribution d’une cat´egorie `a un utilisateur qui analyse les donn´ees s´electionn´ees par la partie filtrage et d´etermine la cat´egorie de l’utilisateur. Une cat´egorie va correspondre aux types de recommandations auxquelles l’utilisateur est le plus sensible.

3.2.1 Filtrage des donn´ees

Les diff´erences de comportement des utilisateurs ne permettent pas d’utiliser un mˆeme

processus de recommandation qui le plus souvent se base sur les notes explicites pour tous les utilisateurs. Il semble n´ecessaire d’effectuer un pr´efiltrage afin d’identifier les donn´ees les plus expressives et les plus fiables `a utiliser pour chaque utilisateur. Nous privil´egions l’utilisation de notes explicites mais si celles-ci viennent `a manquer, nous compl´etons par des notes implicites telles que d´efinies dans la partie I, section 2.1.2.

Nous distinguons dans la partie filtrage de donn´ees entre trois types d’utilisateurs : les

utilisateurs explicites, les implicites et les nouveaux.

Utilisateurs explicites

Un utilisateur explicite est un utilisateur qui utilise fr´equemment le syst`eme et donne des informations explicites concernant ses centres d’int´erˆet (note des items par exemple). Pour qu’un utilisateur appartienne `a cette cat´egorie, il doit avoir une fr´equentation ´

elev´ee (voir ´equation 3.1) et un nombre suffisant de notes positives (voir ´equation 3.2), car ce sont les notes positives qui servent `a d´eterminer les pr´ef´erences de l’utilisateur. Les notes n´egatives servent, quant `a elles, `a filtrer les items recommand´es s’ils ont les mˆeme caract´eristiques que les items d´epr´eci´es par l’utilisateur.

Ce taux de fr´equentation f req est calcul´e sur la base du nombre de notes explicites

fournies par l’utilisateur ainsi que le nombre d’items consult´es par celui-ci.

f req(u) = |{i | noteexplicite(u, i)}| + |{i | noteimplicite(u, i)}|

|It| (3.1)

poseval(u) = |{i | noteexplicite(u, i) > αnotes}| (3.2)

avec αnotesseuil de notes positives (par exemple, αnotes = 3 dans une ´echelle de notation de 1 `a 5).

Utilisateurs implicites

Un utilisateur est dit implicite si, malgr´e une fr´equentation ´elev´ee, il note peu d’items ou encore peu d’items de fa¸con positive. De ce fait, l’utilisation exclusive de ses donn´ees explicites ne suffisent pas `a d´eterminer ses goˆuts de fa¸con pertinente.

Nouveaux utilisateurs

Un utilisateur est consid´er´e comme nouveau s’il ne fr´equente que peu le syst`eme. La date d’inscription n’entre pas en compte car si, par exemple, un utilisateur s’est inscrit il y a trois ans et qu’il n’a jamais utilis´e le syst`eme depuis, il ne peut ˆetre consid´er´e

La figure 2.3.1 et l’algorithme 3.1 d´etaillent le processus de filtrage sus-cit´e. Dans un premier temps, le taux de fr´equentation de l’utilisateur est calcul´e afin d’´evaluer s’il est nouveau dans le syst`eme ou pas.

Si l’utilisateur a un taux de fr´equentation sup´erieur `a un seuil α1fix´e par l’expert ou d´eduit de l’exp´erimentation, il n’est pas consid´er´e comme ´etant nouveau. Le cas ´ech´eant, son nombre de notes explicites positives poseval est pris en compte.

Si poseval est sup´erieur `a un certain α2 fix´e par l’expert ou d´eduit de l’exp´erimentation, on dispose de suffisamment de notes explicites, les donn´ees utilis´ees par la suite seront donc les donn´ees explicites. Autrement, l’utilisateur est dit implicite. Le cas ´ech´eant, ses donn´ees explicites et implicites seront utilis´ees dans la suite du processus.

Figure 2.3.1 – Diagramme du filtrage des donn´ees

Algorithme 3.1 Filtrage des donn´ees pour la classification des utilisateurs

fonction DataFiltering(u, αnotes, α1, α2))

. α, α1 et α2 sont respectivement les seuils de notes positives, de fr´equence et de nombre de notes positives ´etablies par l’expert.

f req ← |{i | noteexplicite(u, i)}| + |{i | noteimplicite(u, i)}| |It|

si f req > α1 alors

poseval = |{i | noteexplicite(u, i) > αnotes}| si poseval > α2 alors retourner ”explicite” sinon retourner ”implicite” fin si sinon retourner ”nouveau” fin si fin fonction

3.2 Les cat´egories d’utilisateurs 59

Une fois le filtrage des donn´ees effectu´e, les profils des utilisateurs explicites et des utilisa-teurs implicites sont analys´es afin de leur attribuer une cat´egorie finale. Cette classification en cat´egories ne concerne pas les nouveaux utilisateurs qui sont trait´es s´epar´ement.

3.2.2 Classification en cat´egories

La cat´egorisation finale des utilisateurs consiste `a analyser les donn´ees s´electionn´ees pour chaque utilisateur (implicites et/ou explicites) afin d’´etablir le type de recommandation `a lui appliquer. En effet, tandis que la plupart des utilisateurs sont assez sensibles aux recomman-dations issues d’un filtrage collaboratif, il en demeure une certaine partie qui r´eagit mieux aux

recommandations bas´ees sur le contenu.

Le principe est donc d’identifier si un utilisateur est collaboratif et/ou bas´e sur le contenu.

Utilisateurs collaboratifs

Un utilisateur collaboratif est un utilisateur pour lequel les syst`emes de recommandation

de type collaboratif procurent une meilleure satisfaction. De ce fait, pour d´eterminer

si un utilisateur est collaboratif, il suffit d’effectuer un apprentissage au niveau des items composant son profil. Cette op´eration revient `a ´evaluer l’efficacit´e du filtrage collaboratif sur le profil de l’utilisateur, ce qui peut se calculer en partitionnant le profil de l’utilisateur en N parties ´egales. Chaque partie servira `a tour de rˆole d’ensemble de test tandis que les autres constitueront l’ensemble d’apprentissage (validation crois´ee). Le but ´

etant d’appliquer un processus de recommandation collaboratif, par exemple, des r`egles

d’association, sur un ensemble d’apprentissage et d’´etablir le pourcentage interestCF

de recommandations issues de ce filtrage collaboratif RecCF (voir algorithme 5.3) dans

l’ensemble de test (voir ´equation 3.3). Ce pourcentage servira de mesure pour d´ecider

de l’appartenance de l’utilisateur `a cette cat´egorie.

interestCF(u) = |{i | note(u, i) > α ∧ i ∈ RecCF(u)}| (3.3)

avec RecCF(u) l’ensemble des items recommand´es `a u grˆace `a l’algorithme de filtrage

collaboratif et α le seuil minimum pour qu’une recommandation soit appr´eci´ee.

Si la valeur interestCF pour un certain utilisateur est sup´erieure `a un certain seuil β1 fix´e par l’expert, l’utilisateur est consid´er´e comme collaboratif.

Utilisateurs bas´es sur le contenu

Un utilisateur est dit bas´e sur le contenu s’il existe une certaine similarit´e et homog´ e-n´eit´e entre les items qu’il a appr´eci´es dans son profil. Pour que les items du profil de l’utilisateur soient consid´er´es comme homog`enes, il est n´ecessaire qu’ils aient au moins

une caract´eristique commune. Par exemple, dans le domaine des films, un utilisateur

peut souvent regarder des films avec Tom Hanks.

Pour calculer cette homog´en´eit´e, nous calculons le degr´e d’int´erˆet interestCB de

l’utili-sateur u pour les recommandations bas´ees sur le contenu. Le principe est de calculer le

taux d’items ayant au moins une caract´eristique commune avec un autre item du profil

interestCB(u) =

|{i | ∃r ∈ R, ∃a ∈ I, ∃i0 ∈ I, note(u, i) ∧ note(u, i0) ∧ r(i, a) ∧ r(i0, a)}| |{i | note(u, i)}|

(3.4)

avec note(u, i) une note implicite ou explicite de l’utilisateur u pour l’item i.

Le taux interestCB permet donc d’´etablir l’appartenance de l’utilisateur `a la cat´egorie des utilisateurs bas´es sur le contenu s’il est sup´erieur `a un seuil β2 fix´e par l’expert.

Utilisateurs hybrides

Un utilisateur hybride est un utilisateur qui est `a la fois collaboratif et bas´e sur le contenu. En effet, si interestCF(u) ≥ β1 et interestCB(u) ≥ β2, l’utilisateur est sensible

aux deux types de recommandations et fait donc partie de la cat´egorie des utilisateurs

hybrides.

Utilisateurs impr´evisibles

Les utilisateurs impr´evisibles sont ceux qui ne sont ni sensibles aux recommandations

bas´ees sur le contenu ni aux recommandations collaboratives. Soit, interestCF(u) < β1 et interestCB(u) < β2.

La figure ?? et l’algorithme 3.2 d´etaillent le processus de classification des utilisateurs en cat´egories.