HAL Id: tel-01371650
https://tel.archives-ouvertes.fr/tel-01371650
Submitted on 26 Sep 2016
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
recommandation
Roza Lemdani
To cite this version:
Roza Lemdani. Système hybride d’adaptation dans les systèmes de recommandation. Autre. Univer-sité Paris Saclay (COmUE), 2016. Français. �NNT : 2016SACLC050�. �tel-01371650�
NNT: 2016SACLC050
Th`
ese de Doctorat
de
l’Universit´
e Paris-Saclay
pr´
epar´
ee `
a
CentraleSup´
elec
´
Ecole doctorale n
◦580
Sciences et technologies de l’information et de la communication
Sp´
ecialit´
e de doctorat: Informatique
Par
Roza L´
emdani
Syst`
eme Hybride d’Adaptation dans les Syst`
emes de Recommandation
Th`ese pr´esent´ee et soutenue `a Orsay, le 11 juillet 2016:
Composition du Jury :
Mme Anne Vilnat, Professeure, Universit´e Paris-Sud, Pr´esidente du jury
Mme Anne Boyer, Professeure, Universit´e de Lorraine, Rapporteur
Mme Nathalie Guin, Maˆıtre de conf´erences HDR, Universit´e Lyon 1, Rapporteur
Mme B´en´edicte Le Grand, Professeure, Universit´e Paris 1 Panth´eon-Sorbonne, Examinatrice Mme Yolaine Bourda, Professeure, CentraleSup´elec, Directrice de th`ese
Remerciements
Je remercie tout d’abord Yolaine Bourda, ma directrice de th`ese ainsi que Nac´era Bennacer et G´eraldine Polaillon, mes co-encadrantes, pour m’avoir donn´e l’opportunit´e d’effectuer cette th`ese dans le domaine des syst`emes de recommandation, pour leurs conseils, disponibilit´e et pour m’avoir permis d’en arriver l`a.
Je remercie Anne Boyer et Nathalie Guin, pour avoir accept´e de rapporter mon manuscrit
de th`ese, d’avoir pris le temps de l’´etudier et d’avoir fait des commentaires enrichissants. Je remercie ´egalement Anne Vilnat et B´en´edicte Le Grand, membres du jury, pour leur int´erˆet pour mes travaux.
Je remercie les permanents de l’´equipe MODHEL et les doctorants que j’y ai rencontr´es
ainsi qu’au LRI, notamment Ahmed, M´elanie, David, Georges, Ian et Marie.
Je remercie ma famille et Caprica pour leur soutien et leur pr´esence.
Je remercie chaleureusement tous mes amis qui ont bien voulu r´epondre `a mes enquˆetes,
tester mon application et la faire relayer, et surtout pour avoir ´et´e l`a tout simplement : Abraham, Adrien, Alex, Brieuc, Claire, Damien, Daphn´e, David D., David P., ´Elise, Florian R., Florian S., Fran¸cois, Guillaume, Ian, Julien L., Julien V., Laurent-Xavier, L´eonie, Marie, Mark, Mathieu,
Max, Meryem, Morgan, Nora, Oph´elie, Pierre, Richard, Sabine, Sandrine, Sovan1, St´ephanie
B., St´ephanie W.B., Sylvain, Tim et Vincent.
Enfin, j’envoie mille mercis `a toutes les personnes ext´erieures au laboratoire dont le soutien, sous la forme de gestes ou de paroles, a ´et´e grandement appr´eci´e.
Table des mati`
eres
Introduction g´en´erale 1
1.1 Objectifs . . . 2
1.2 Contributions . . . 3
1.3 Organisation du manuscrit . . . 4
I Etat de l’art´ 7 1 Introduction 9 2 La mod´elisation de l’utilisateur 13 2.1 Collecte des donn´ees . . . 14
2.1.1 Collecte explicite des donn´ees . . . 14
2.1.2 Collecte implicite des donn´ees . . . 15
2.2 Caract´eristiques du mod`ele utilisateur . . . 16
2.3 Repr´esentation du mod`ele utilisateur . . . 17
2.3.1 Repr´esentations par mots-clefs . . . 17
2.3.2 Repr´esentations s´emantiques . . . 18
2.3.3 Repr´esentations multidimensionnelles . . . 20
3.1 Les approches bas´ees sur le contenu . . . 23
3.1.1 Le principe . . . 23
3.1.2 Les limitations des approches bas´ees sur le contenu . . . 25
3.2 Les approches collaboratives . . . 26
3.2.1 Le filtrage collaboratif bas´e sur les utilisateurs (U2U) . . . 26
3.2.2 Le filtrage collaboratif bas´e sur les items (I2I) . . . 27
3.2.3 Les limitations du filtrage collaboratif . . . 28
3.3 Les approches d´emographiques . . . 28
3.4 Les approches sociales . . . 28
3.5 Les approches bas´ees sur la connaissance et les approches bas´ees sur l’utilit´e . . . 29
3.6 Les approches hybrides . . . 29
3.6.1 Hybridation pond´er´ee . . . 29
3.6.2 Hybridation `a bascule . . . 30
3.6.3 Hybridation mix´ee . . . 31
3.6.4 Hybridation par combinaison de caract´eristiques . . . 31
3.6.5 Hybridation en cascade . . . 31
3.6.6 Hybridation par ajout de caract´eristiques . . . 33
3.6.7 Hybridation m´eta-niveau . . . 33
4 L’´evaluation de la recommandation 35 4.1 Techniques d’´evaluation . . . 35
4.1.1 Test en ligne . . . 35
4.1.2 Etudes utilisateurs . . . .´ 36
4.1.3 Simulations (´evaluations hors-ligne) . . . 36
4.2 Dimensions `a ´evaluer . . . 37
TABLE DES MATI `ERES vii
4.2.2 Pr´ecision de la pr´ediction de notes . . . 37
4.2.3 Pr´ecision de la recommandation . . . 38
4.2.4 Couverture . . . 38
4.2.5 Confiance du syst`eme . . . 39
4.2.6 Confiance de l’utilisateur . . . 39 4.2.7 Nouveaut´e . . . 39 4.2.8 S´erendipit´e . . . 40 4.2.9 Diversit´e . . . 40 4.2.10 Utilit´e . . . 40 4.2.11 Robustesse . . . 41 4.2.12 Adaptation . . . 41 4.2.13 Passage `a l’´echelle . . . 41 5 Conclusion 43 II DOMINOS : DOMain INdependent recOmmender System 45 1 Introduction 47 2 L’architecture du syst`eme 49 2.1 Description des donn´ees . . . 50
2.2 Le moteur de recommandation . . . 50
3 L’apprentissage des cat´egories d’utilisateurs 53 3.1 Le mod`ele utilisateur . . . 53
3.2 Les cat´egories d’utilisateurs . . . 54
3.2.2 Classification en cat´egories . . . 57
3.3 Mise `a jour de la cat´egorie de l’utilisateur . . . 59
4 Les mesures s´emantiques 61 4.1 La mesure de similarit´e s´emantique . . . 61
4.1.1 Principes . . . 61
4.1.2 Algorithme . . . 63
4.1.3 Complexit´e du calcul de la similarit´e s´emantique . . . 67
4.2 La mesure de filtrage s´emantique . . . 68
4.2.1 Principes . . . 68
4.2.2 Calcul de l’int´erˆet de l’utilisateur pour les instances . . . 69
4.2.3 Calcul de l’int´erˆet de l’utilisateur pour les items relativement `a des propri´et´es 70 5 Les modules de recommandation 73 5.1 Le module collaboratif . . . 73
5.1.1 R`egles d’association . . . 73
5.1.2 Algorithme Apriori . . . 74
5.1.3 R`egles d’association dans le contexte de la recommandation . . . 75
5.1.4 Extension des r`egles d’association . . . 76
5.1.5 S´election des r`egles d’association ´etendues pour l’utilisateur cible et re-commandation . . . 77
5.1.6 Complexit´e du calcul des r`egles ´etendues . . . 79
5.2 Le module s´emantique . . . 79
6 L’hybridation et l’explication de la recommandation 81 6.1 Cat´egorie des utilisateurs collaboratifs . . . 81
TABLE DES MATI `ERES ix
6.1.2 Explication de la recommandation . . . 81
6.2 Cat´egorie des utilisateurs bas´es sur le contenu . . . 82
6.2.1 Processus de recommandation . . . 82
6.2.2 Explication de la recommandation . . . 82
6.3 Cat´egorie des utilisateurs hybrides . . . 83
6.3.1 Processus de recommandation . . . 83
6.3.2 Explication de la recommandation . . . 83
6.4 Cat´egorie des utilisateurs impr´evisibles . . . 84
6.4.1 Processus de recommandation . . . 84
6.4.2 Explication de la recommandation . . . 85
6.5 Cat´egorie des nouveaux utilisateurs . . . 85
7 Conclusion 87 III Exp´erimentation et ´evaluation 89 1 Introduction 91 2 Exp´erimentation dans le domaine des publications scientifiques 93 2.1 Donn´ees utilis´ees . . . 93
2.2 Calcul de la similarit´e s´emantique . . . 93
3 Exp´erimentation dans le domaines des films 97 3.1 Donn´ees utilis´ees . . . 97
3.2 Calcul hors-ligne des similarit´es s´emantiques . . . 100
3.3 G´en´eration hors-ligne des r`egles d’association ´etendues . . . 101
3.4.1 Apprentissage de la cat´egorie des utilisateurs . . . 103 3.4.2 Module s´emantique . . . 105 3.4.3 Module collaboratif . . . 109
3.4.4 Adaptation du processus de recommandation aux cat´egories d’utilisateurs 113
3.5 Evaluation en ligne : ´´ Etude utilisateur . . . 116 3.5.1 Evaluation de la mesure de similarit´´ e s´emantique . . . 116
3.5.2 Evaluation du syst`´ eme de recommandation DOMINOS . . . 117
4 Conclusion 121
IV Conclusion et perspectives 123
Introduction g´
en´
erale
Avec le volume croissant de donn´ees pr´esent dans les syst`emes d’information, l’utilisateur peut rapidement ˆetre submerg´e par cette masse informative. De plus, ces donn´ees sont fortement h´et´erog`enes. De ce fait, parvenir `a cibler une information pertinente pour l’utilisateur reste au cœur d’un nombre important de recherches. La personnalisation repr´esente une solution adapt´ee `
a ce probl`eme. Parmi les outils de personnalisation et les services d’adaptation existants, on
trouve les syst`emes de recommandation.
Les syst`emes de recommandation sont en pleine expansion depuis le d´ebut des ann´ees
1990. Ils offrent aux utilisateurs la possibilit´e de mieux choisir parmi les diff´erents contenus disponibles dans les syst`emes d’information. L’exemple le plus repr´esentatif est celui du site Amazon.comTM 2. Il propose des produits aux utilisateurs avec la phrase c´el`ebre : « Les clients ayant achet´e cet article ont ´egalement achet´e. . . ».
De part leur utilit´e, les syst`emes de recommandation ont gagn´e plusieurs domaines : des sites de e-commerce aux publications scientifiques en passant par la presse et les plateformes de locations de films. Leurs enjeux sont donc devenus consid´erables, non seulement du point de vue ´
economique pour les syst`emes commerciaux, mais ´egalement, de fa¸con plus g´en´erale, du point de vue de la satisfaction de l’utilisateur. En effet, l’utilisateur repr´esente le cœur de tels syst`emes. La compr´ehension et l’anticipation de ses attentes et besoins sont essentiels `a l’obtention de son contentement.
Depuis leur apparition, les syst`emes de recommandation ont beaucoup ´evolu´e : de la d´
efi-nition d’approches de recommandation simples `a la mise en place d’approches hybrides qui
combinent plusieurs approches de recommandation afin de gagner en performance
et de pallier les limitations des approches simples [Bur02]. Cependant, les syst`emes de
recommandation ont encore besoin d’ˆetre am´elior´es afin d’augmenter la satisfaction des utilisa-teurs. `A titre d’exemple, une ´etude sur la perception de la personnalisation conduite sur 504
utilisateurs et publi´ee en 2008 par ChoiceStream [Cho08] a rapport´e que 45% des utilisateurs
avaient d´eclar´e encore recevoir des recommandations non pertinentes, par rapport `a leurs goˆuts ou besoins, sur les divers sites qu’ils visitaient.
L’une des causes identifi´ee est que les syst`emes de recommandation ne sont pas enti`erement personnalis´es. En effet, bien que ceux-ci analysent les donn´ees recueillies sur l’utilisateur, ils appliquent une unique approche de recommandation, simple ou hybride, et pr´esentent le r´esultat
`
a l’utilisateur. Or, les utilisateurs sont diff´erents et chacun d’entre eux est sensible `a un type de
recommandation sp´ecifique `a une certaine approche. De ce fait, appliquer la mˆeme approche
de recommandation pour tous les utilisateurs ne peut ˆetre satisfaisant [DPH+09].
Une autre solution possible consiste `a maintenir une certaine transparence du syst`eme afin d’augmenter la satisfaction des utilisateurs. Autrement dit, il s’agit d’expliquer `a l’utilisateur
pourquoi une recommandation lui a ´et´e pr´esent´ee. Une bonne explication des
recommanda-tions `a l’utilisateur permet, entre autres, d’augmenter sa confiance vis-`a-vis du syst`eme en lui
prouvant que ses recommandations lui sont personnellement destin´ees. De plus, permettre `a
l’utilisateur de corriger une explication am´eliore la connaissance de l’utilisateur par
le syst`eme et aide `a ´ecarter les futures recommandations non pertinentes [TM07].
Cependant, peu de syst`emes de recommandation actuels proposent des explications car les
approches statistiques utilis´ees sont d´epourvues de s´emantique et ne permettent donc pas d’ex-pliquer les recommandations.
Par ailleurs, les syst`emes de recommandation existants proposent des solutions ciblant des
domaines pr´ecis, et aucune approche g´en´erique et ind´ependante du domaine n’a ´et´e
propos´ee `a notre connaissance. Or, la d´efinition d’un syst`eme de recommandation
ind´ependant du domaine serait utile aux concepteurs et permettrait de disposer d’une
base fonctionnelle `a laquelle il serait possible d’int´egrer d’autres caract´eristiques et fonctionna-lit´es.
1.1
Objectifs
Cette th`ese a pour but de pr´esenter un nouveau syst`eme de recommandation qui consid`ere les points soulign´es ci-dessus afin de les traiter au mieux. Quatre objectifs principaux ont donc ´
et´e d´efinis pour l’´elaboration de notre syst`eme de recommandation.
L’ind´ependance du domaine : mise en place d’un syst`eme pouvant ˆetre utilis´e sur plusieurs domaines diff´erents.
L’adaptation : capacit´e du syst`eme de recommandation `a s’adapter aux utilisateurs en
fonc-tion de leur comportement.
L’hybridation : combinaison de plusieurs approches de recommandation afin d’am´eliorer les
performances du syst`eme.
L’explication de la recommandation : justification des recommandations pr´esent´ees `a
l’uti-lisateur et ´evaluation des explications afin d’´ecarter les futures recommandations non pertinentes.
1.2 Contributions 3
1.2
Contributions
Ind´ependance du domaine
De nos jours, les syst`emes de recommandation sont int´egr´es dans les sites de commerce
´
electronique, les plateformes de chansons et de vid´eos, la presse, les publications scientifiques, etc. Ces domaines sont larges et vari´es, si bien que les approches de recommandation utilis´ees sont nombreuses et diff´erentes. Les techniques existantes sont d´edi´ees `a des domaines sp´ecifiques et pr´ecis. De ce fait, elles ne peuvent pas ˆetre appliqu´ees `a des domaines diff´erents sans y apporter
des modifications majeures. Nous avons donc voulu mettre en avant l’ind´ependance du domaine
dans le syst`eme de recommandation d´efini. L’ind´ependance du domaine permet d’avoir une base op´erationnelle pour la recommandation et sa mise en place a ´et´e assur´ee par la description de la
connaissance du domaine dans une ontologie de domaine donn´ee en entr´ee au syst`eme. Cela a
permis de proposer une approche g´en´erique reposant uniquement sur les concepts et propri´et´es de l’ontologie qui d´efinissent la s´emantique des donn´ees. De ce fait, changer de domaine n´ecessite uniquement de changer d’ontologie.
Adaptation
Le comportement de l’utilisateur dans un syst`eme de recommandation peut avoir plusieurs
caract´eristiques : il peut ˆetre plus sensible `a certaines techniques de recommandation plutˆot qu’`a d’autres, son retour peut ˆetre plus ou moins important, etc. De telles diff´erences montrent que
chaque type d’utilisateur doit avoir un processus de recommandation qui lui soit adapt´e. Nous
avons mis en place cette adaptation du processus de recommandation grˆace `a l’apprentissage des cat´egories des utilisateurs. Cet apprentissage permet d’attribuer `a un utilisateur une cat´egorie en corr´elation avec son comportement. Cette cat´egorie est ensuite utilis´ee pour s´electionner les modules de recommandation les plus pertinents et les combiner de la fa¸con la plus adapt´ee.
Hybridation
Il existe, `a ce jour, plusieurs approches de la recommandation, chacune ayant ses avantages et ses limitations. C’est pourquoi, l’id´ee de combiner diff´erentes approches, afin de b´en´eficier de leurs avantages respectifs et de pallier leurs limitations, a vite ´et´e envisag´ee. Plusieurs techniques d’hybridation ont ´et´e d´efinies afin de r´epondre `a diff´erentes attentes. La premi`ere ´etape dans la d´efinition d’un tel syst`eme hybride, consiste `a d´efinir les modules de recommandation utilis´es
lors de l’hybridation. Nous avons propos´e deux modules de recommandation ind´ependants et
pouvant ˆetre combin´es diff´eremment :
— Un module collaboratif utilisant des r`egles d’association que nous avons ´etendues grˆace `
a la s´emantique des donn´ees qui sont d´ecrites dans l’ontologie de domaine donn´ee en entr´ee du syst`eme ;
— Un module s´emantique qui effectue un raisonnement bas´e sur le contenu et qui exploite
De plus, nous avons d´efini deux mesures s´emantiques, l’une filtre les recommandations qui lui sont pr´esent´ees et l’autre, qui fait partie int´egrante du module s´emantique, calcule les similarit´es entre instances. Ces deux mesures peuvent ˆetre utilis´ees dans le processus de recommandation. Selon la cat´egorie identifi´ee pour l’utilisateur durant l’´etape d’apprentissage, une certaine hybridation est s´electionn´ee. Les modules sont utilis´es seuls ou leurs r´esultats peuvent ˆetres combin´es. Les mesures s´emantiques sont quant `a elles utilis´ees dans le filtrage du r´esultat final
des modules ou directement int´egr´ees dans le calcul des recommandations.
Explication des recommandations
Les syst`emes de recommandation existants se basent sur des techniques statistiques et des
hybridations fixes qui ne permettent pas la r´eelle justification de la recommandation. L’expli-cation de la recommandation peut avoir une influence sur l’utilisateur car elle peut convaincre l’utilisateur de la pertinence de la recommandation qui lui est pr´esent´ee. Elle peut ´egalement permettre de valider la justification de la recommandation. Cette validation est essentielle pour ˆ
etre prise en compte dans les futures recommandations. Le syst`eme que nous avons d´efini offre la possibilit´e d’expliquer et de justifier les recommandations. En effet, les modules de recomman-dation ainsi que les mesures s´emantiques d´efinies sont ind´ependants et leur application permet de conserver la trace du raisonnement utilis´e et de justifier les r´esultats obtenus.
1.3
Organisation du manuscrit
Partie I - ´Etat de l’art
L’utilisateur se trouve au cœur des outils de personnalisation et donc des syst`emes de
recommandation. Une bonne mod´elisation de son profil est, de ce fait, n´ecessaire `a l’obtention de r´esultats satisfaisants.
Nous ´etudions dans cette partie les diff´erents types de mod`eles utilisateurs ´elabor´es au cours des derni`eres ann´ees, des repr´esentations les plus simplistes aux mod´elisations les plus pr´ecises et les plus compl`etes. Nous analysons ´egalement les techniques de mise `a jour et les diff´erents types de donn´ees exploitables et n´ecessaires `a une mod´elisation pertinente et pr´ecise.
Nous d´ecrivons ´egalement les travaux significatifs conduits dans le domaine des syst`emes de
recommandation. Les diff´erentes techniques et approches de recommandation existantes, ainsi
que leurs limitations, sont d´etaill´ees. Nous abordons ´egalement le sujet des diff´erents enjeux de la recommandation et les techniques d’´evaluation et de validation des performances du syst`eme vis-`a-vis des objectifs d´efinis.
1.3 Organisation du manuscrit 5
Partie II - DOMINOS : DOMain INdependent recOmmender System
Cette partie est consacr´ee `a la d´efinition du syst`eme que nous proposons. Celui-ci r´epond aux objectifs fix´es dans cette th`ese.
Nous d´ecrivons dans un premier temps l’architecture globale du syst`eme qui se d´ecompose en deux parties principales, l’apprentissage des cat´egories d’utilisateurs et le calcul de la
re-commandation. La partie apprentissage est d’abord d´etaill´ee. Puis des mesures s´emantiques
intervenant dans le processus de recommandation sont d´efinies. Les modules de
recommanda-tion, collaboratif et s´emantique, ainsi que leur hybridation pour chaque cat´egorie d’utilisateurs, sont ensuite abord´es en d´etail.
Partie III - Exp´erimentation et ´evaluation
L’exp´erimentation d’un syst`eme de recommandation n´ecessite de d´etenir un ensemble de
donn´ees permettant d’´evaluer ses performances. Cependant, de tels ensembles de donn´ees ne
sont pas disponibles pour tous les domaines.
Nous avons exp´eriment´e le syst`eme de recommandation d´efini dans le domaine des films. Nous d´etaillons dans cette partie les diff´erentes ´etapes de l’exp´erimentation et analysons les r´esultats obtenus. De plus, nous avons valid´e notre approche grˆace `a deux ´evaluations : (i) une ´
evaluation hors-ligne qui consiste `a simuler le comportement du syst`eme sur le dataset 100K
de MovieLens3, le syst`eme de recommandation de GroupLens4, et `a comparer plusieurs
para-m`etres, (ii) une ´evaluation en ligne o`u des volontaires ont test´e le syst`eme de recommandation d´efini et ont ´evalu´e les recommandations et explications pr´esent´ees.
Nous avons ´egalement exp´eriment´e l’une des mesures s´emantiques dans le domaine des
publications scientifiques et analysons les r´esultats obtenus. Cependant, l’absence des donn´ees n´ecessaires `a la conduite d’une ´evaluation compl`ete ne nous a pas permis d’exp´erimenter le syst`eme entier dans ce domaine.
Les r´esultats obtenus `a l’issue de cette exp´erimentation sont tr`es concluants.
Partie IV - Conclusion et perspectives
Dans cette partie, nous r´esumons l’approche abord´ee ainsi que les r´esultats obtenus lors de l’exp´erimentation et l’´evaluation. De plus, nous proposons des perspectives de travail qu’il serait int´eressant d’aborder dans de futurs travaux.
3. http://www.movielens.org/
Premi`
ere partie
´
Chapitre 1
Introduction
« We are leaving the age of information and entering the age of recommendation », dixit
Chris Anderson dans son livre « The Long Tail ». Les syst`emes de recommandation ont ´emerg´e
dans les ann´ees 90. Pour les d´efinir simplement, il s’agit d’outils de personnalisation qui sugg`erent
aux utilisateurs des items qui pourraient les int´eresser [RV97, Bur07], autrement dit, qu’ils
seraient susceptibles de consommer. Les syst`emes de recommandation sont utilis´es aujourd’hui
dans divers domaines et les items recommand´es varient selon les domaines. Un item peut donc
ˆ
etre un livre, une vid´eo, un article ou encore un morceau de musique.
Figure 1.1.2 – Sch´ema du processus de recommandation
Les recommandations sont le plus souvent pr´esent´ees sous forme de listes d’items. Sur
Amazon.comTM1, elles sont par exemple pr´ec´ed´ees de la mention « Les clients ayant achet´e (ou
regard´e) cet article ont ´egalement achet´e » (voir figure 1.1.1). Un exemple trivial de recomman-dation serait de proposer `a l’utilisateur la liste des N items les plus populaires (Top N), mais cette liste ne sera ni personnalis´ee, ni adapt´ee `a l’utilisateur. Une liste d’items personnalis´ee s’obtient grˆace aux donn´ees recueillies sur l’utilisateur qui sont exploit´ees par le moteur de
re-commandation. En effet, les syst`emes de recommandation ´etant des outils de personnalisation,
l’utilisateur se trouve au cœur de tels syst`emes. Le moteur de recommandation g´en`ere au final un ensemble d’items afin de les proposer `a l’utilisateur (voir figure 1.1.2).
Recommander des items peut ˆetre effectu´e via deux tˆaches diff´erentes : la tˆache de pr´ediction
et la tˆache de recommandation [JZFF10, AT05].
D´efinition 1. La tˆache de pr´ediction consiste `a pr´edire les notes2 qu’attribuerait l’utilisateur cible `a un item donn´e. L’item lui sera recommand´e si la note pr´edite est ´elev´ee.
Formellement, ´etant donn´e U l’ensemble des utilisateurs et It l’ensemble des items, la tˆache de pr´ediction se ram`ene `a une fonction p, telle que :
u ∈ U , i ∈ It p(u, i) ∈ [bmin, bmax] (1.1)
o`u bmin et bmax sont respectivement les bornes inf´erieure et sup´erieure de l’´echelle de notation.
D´efinition 2. La tˆache de recommandation s´electionne les items pouvant int´eresser l’utilisateur cible et les lui sugg`ere sans pr´edire les notes de l’utilisateur pour ces items.
Formellement, la tˆache de recommandation se ram`ene `a une fonction rec, telle que :
u ∈ U rec(u, It) = {i ∈ It} (1.2)
La recommandation peut avoir plusieurs objectifs parmi lesquels :
1. http ://www.amazon.com/
11
— r´eduire l’effort de l’utilisateur dans la recherche d’items qui l’int´eresseraient et lui pro-poser des items auxquels il n’aurait pas pens´e ;
— augmenter le temps pass´e par l’utilisateur sur le syst`eme ;
— augmenter la satisfaction et la loyaut´e de l’utilisateur envers le syst`eme ; — augmenter les ventes ;
— augmenter le chiffre d’affaires ; — promouvoir les items impopulaires ; — assister l’utilisateur dans le choix d’items ;
— recommander des items en temps r´eel.
Certains objectifs peuvent ˆetre incompatibles avec d’autres. Par exemple, la promotion
des items impopulaires peut mettre un frein `a la r´eduction de l’effort de l’utilisateur dans la recherche d’items int´eressants ou `a l’augmentation du chiffre d’affaire. Il appartient donc au propri´etaire du syst`eme de d´efinir les objectifs `a remplir en attribuant une priorit´e `a chaque objectif, de sorte que le syst`eme mis en place r´eponde au mieux au cahier des charges instaur´e. Dans cette partie, nous r´ealisons un ´etat de l’art sur les syst`emes de recommandation afin de disposer des outils n´ecessaires `a l’´elaboration de notre syst`eme en accord avec les objectifs fix´es. Dans un premier temps, la mod´elisation de l’utilisateur est pr´esent´ee (chapitre 2). En effet, l’utilisateur est l’acteur principal des syst`emes de recommandation, il est donc n´ecessaire de bien le repr´esenter. Dans le chapitre 3, nous parcourons les diff´erentes approches de recommandation existantes et pr´esentons leurs limitations et les solutions propos´ees pour y pallier. Puis, le chapitre 4 r´epertorie les diff´erentes techniques d’´evaluation des syst`emes de recommandation et les param`etres `a prendre en compte dans le processus d’´evaluation. Enfin, dans le chapitre 5, nous abordons nos travaux et leur place par rapport `a ceux cit´es dans l’´etat de l’art.
Chapitre 2
La mod´
elisation de l’utilisateur
L’utilisateur est l’acteur principal d’un syst`eme de recommandation car celui-ci a pour ob-jectif de proposer aux utilisateurs des items qu’ils pourraient consommer. Afin qu’un utilisateur consomme un item, il est n´ecessaire que celui-ci l’int´eresse. Les syst`emes de recommandations doivent donc identifier ce qui int´eresse l’utilisateur. Pour ce faire, ils doivent collecter les donn´ees et informations qui leur seront utiles `a propos de l’utilisateur. Les informations et donn´ees `a collecter vont ˆetre pr´ealablement d´efinies dans ce qu’on appelle un mod`ele utilisateur [All90].
[H¨96] d´efinit le mod`ele utilisateur comme ´etant « un ensemble de connaissances `a propos de l’utilisateur explicitement ou implicitement repr´esent´e, utilis´e afin d’am´eliorer son interac-tion avec la machine ». Le mod`ele utilisateur est ainsi exploit´e afin de pr´esenter un contenu personnalis´e `a l’utilisateur. Il est donc une repr´esentation des informations `a propos d’un uti-lisateur qui est essentielle pour la production de l’effet de personnalisation et sans lequel les
pages seraient homog`enes pour tout individu [BM07].
Un mod`ele utilisateur d´efinit un sch´ema de donn´ees `a collecter pour construire des profils d’utilisateurs. Un profil utilisateur va ˆetre une instanciation de ce mod`ele utilisateur. Le profil va contenir les informations relatives `a l’utilisateur structur´ees par le mod`ele d´efini. Dans un premier temps, des informations `a propos de l’utilisateur sont collect´ees. Puis, les donn´ees collect´ees sont trait´ees et interpr´et´ees afin d’´etablir le profil utilisateur. Le profil, une fois cr´e´e,
peut ˆetre exploit´e par le syst`eme de recommandation. Les tables 1.2.1 et 1.2.2 donnent un
exemple de mod`ele utilisateur et son instanciation en profil.
Mod`ele utilisateur
Nom Pr´enom
Centres d’int´erˆet
Table 1.2.1 – Exemple de mod`ele utilisateur simple
Il n’existe pas de mod´elisation unique. De ce fait, plusieurs aspects doivent ˆetre pris en compte lors de la mod´elisation de l’utilisateur. Dans un premier temps, il est n´ecessaire de se
Profil utilisateur
Pr´enom : Arya
Nom : Stark
Centres d’int´erˆet : Aventures, tir `a l’arc, escrime
Table 1.2.2 – Exemple de profil utilisateur
fixer le type de donn´ees que l’on veut collecter et la fa¸con de les collecter (voir section 2.1). La d´efinition de certains param`etres tels que la dur´ee de vie du profil (profil ponctuel ou `a
long terme) ou bien sa dynamique, est ´egalement un point important de la mod´elisation que
nous allons traiter dans la section 2.2. Enfin, la repr´esentation du mod`ele est le dernier point `a prendre en compte (section 2.3).
2.1
Collecte des donn´
ees
Les utilisateurs interagissent avec le syst`eme en effectuant un certain nombre d’actions qui peuvent ˆetre des clics, l’attribution de notes `a des items, des t´el´echargements, des achats, l’envoi de commentaires, etc. Ces actions d´eterminent ce qui a attir´e l’attention de l’utilisateur et ce qui l’int´eresse. La collecte des donn´ees consiste `a observer ces actions afin de d´eterminer les centres d’int´erˆet de l’utilisateur. Nous qualifions de centre d’int´erˆet toute caract´eristique r´ecurrente dans les items avec lesquels l’utilisateur interagit. Il peut s’agir de genre litt´eraire dans le domaine des livres, de sujets de recherche dans le domaine scientifique, de cat´egories de produits dans le commerce ´electronique, etc.
Il existe deux fa¸cons de collecter des donn´ees : la m´ethode explicite et la m´ethode implicite. Ces deux m´ethodes ont leurs avantages et leurs inconv´enients.
2.1.1 Collecte explicite des donn´ees
La collecte explicite des donn´ees consiste `a impliquer l’utilisateur dans la r´ecolte de donn´ees `
a son sujet. Il peut donc ˆetre demand´e `a l’utilisateur de noter des items (voir figure 1.2.1), remplir des formulaires ou encore s´electionner ses centres d’int´erˆets directement. Cette m´ethode a l’avantage de directement connaˆıtre les notes des utilisateurs pour les items et leurs centres d’int´erˆet sans avoir `a les estimer. N´eanmoins, ces donn´ees sont `a utiliser avec pr´ecaution. En effet, les donn´ees entr´ees par les utilisateurs peuvent ne pas refl´eter leurs pr´ef´erences [HH98, MPS76].
Un utilisateur peut par exemple indiquer qu’il porte un grand int´erˆet aux documentaires et
finalement en regarder tr`es peu.
L’inconv´enient principal de la collecte explicite des donn´ees est que l’utilisateur se montre souvent r´eticent `a fournir des informations le concernant, soit parce qu’il trouve la d´emarche fastidieuse, soit parce qu’il la per¸coit comme une atteinte `a sa vie priv´ee [TK04, Kob01, Kob07].
2.1 Collecte des donn´ees 15
Figure 1.2.1 – Exemple de r´ecolte d’informations sur Fnac.com
2.1.2 Collecte implicite des donn´ees
La collecte implicite des donn´ees consiste `a capturer les actions de l’utilisateur dans le syst`eme et `a les interpr´eter afin de d´eduire ses centres d’int´erˆet. La r´ecolte des donn´ees se fait en analysant les logs de l’utilisateur que l’on trouve sur le serveur, ses sites favoris, ses historiques de navigation et de recherche, ses impressions et sauvegardes de pages, ses t´el´echargements, etc.
[KKP01, MCS00, MDLN01, MDLN02]. L’utilisation de ce genre de donn´ees est quelque peu
d´elicate. En effet, il est n´ecessaire de n’utiliser que celles qui ne portent pas atteinte au respect de la vie priv´ee. Le respect de la vie priv´ee repr´esente un enjeu de taille dans les syst`emes de
recommandation [TK04, Kob01, Kob07]. Des ´etudes ont d´emontr´e que bien que les utilisateurs
soient en faveur des contenus personnalis´es [Gro97, Com00, Cho08] (78% en 2008 selon l’enquˆete de ChoiceStream [Cho08]), ils restent inquiets quant `a la s´ecurit´e de leurs donn´ees personnelles (59% en 2008 selon ChoiceStream). De plus, l’utilisation des donn´ees personnelles est r´egie par des lois gouvernementales, telles que la loi fran¸caise « Informatique et Libert´es » du 6 janvier 1978 qui d´efinit les principes `a respecter lors de la collecte, du traitement et de la conservation des donn´ees personnelles.
L’avantage des donn´ees implicites est qu’on les obtient en analysant le comportement (les
actions) de l’utilisateur dans le syst`eme sans lui demander explicitement de noter des items ou de renseigner ses centres d’int´erˆet. L’inconv´enient est qu’il est difficile de d´eterminer ce qui ne plaˆıt pas `a l’utilisateur ou encore de diff´erencier les items qu’il consulte pour sa propre consommation des items qu’il consulte pour la consommation d’une personne tierce.
L’interpr´etation de l’int´erˆet port´e `a un item i se calcule en se basant sur le temps pass´e `a consulter l’item, le nombre de fois o`u l’utilisateur l’a consult´e, etc. [KKP01, ZSS07]. [CB06] a propos´e une formule permettant d’´evaluer cet int´erˆet :
noteimplicite(i) = 1+ 2 × estF avoris(i)
+ recence(i)
+ 2 × f requence(i) × duree(i) + pourcentageLiensV isites(i)
(2.1)
tel que :
estF avoris(i) est un crit`ere indiquant que l’utilisateur a ajout´e l’item i `a ses marque-pages ou qu’il l’a explicitement not´e. La valeur de estF avoris(i) peut ˆetre de 0 ou de 1.
recence(i) d´etermine si l’item i a ´et´e r´ecemment consult´e.
recence(i) = date(derni`ere visite) − date(d´ebut log)
date(pr´esent) − date(d´ebut log) (2.2)
f requence(i) indique la fr´equence de consultation de l’item i
duree(i) repr´esente la dur´ee normalis´ee du temps de consultation de l’item i. duree(i) = maxconsultations
temps de lecture de i taille de i
(2.3)
pourcentageLiensV isites(i) correspond au nombre de liens visit´es divis´e par le nombre de liens se trouvant sur la page de l’item.
2.2
Caract´
eristiques du mod`
ele utilisateur
Un certain nombre de caract´eristiques doivent ˆetre analys´ees lors de la d´efinition d’un mod`ele utilisateur et aident `a d´eterminer sa conception. Selon [Koc01], les mod`eles utilisateurs peuvent ˆetre class´es selon plusieurs facteurs :
Adaptatif Vs. Adaptable : Un mod`ele est dit adaptatif lorsque celui-ci est mis `a jour
auto-matiquement par le syst`eme. `A l’inverse, il est dit adaptable si l’utilisateur intervient
directement dans la construction du mod`ele.
Mod´elisation implicite Vs. explicite : Dans une collecte explicite d’informations,
l’utilisa-teur est interrog´e sur des caract´eristiques statiques (ˆage, localisation, centres d’int´erˆet,
etc.). Certaines applications demandent ´egalement de noter les items (plateformes de
films, e-commerce etc.). Les utilisateurs ´etant souvent r´eticents `a la communication ex-plicite d’information, une d´ecouverte implicite de leurs centres d’int´erˆet s’av`ere souvent n´ecessaire.
Une collecte implicite consiste `a analyser le comportement de l’utilisateur. Elle repose
2.3 Repr´esentation du mod`ele utilisateur 17
de l’utilisateur sont analys´ees et ses pr´ef´erences sont d´eduites en fonction de ses re-cherches, des items consult´es, de la dur´ee des consultations d’items etc.
Le plus souvent, les deux m´ethodes sont combin´ees pour obtenir une meilleure mod´ eli-sation de l’utilisateur.
Mod´elisation dynamique Vs. statique : La mod´elisation dynamique consiste `a modifier
continuellement le profil de l’utilisateur selon les informations acquises au fil du temps. La mod´elisation statique, quant `a elle, interdit les modifications du profil apr`es qu’il ait ´
et´e ´etabli.
Individu Vs. groupe d’individus : Les mod`eles de groupes repr´esentent des caract´eristiques
bas´ees sur des st´er´eotypes, tandis que les mod`eles individuels repr´esentent les caract´ e-ristiques de chaque utilisateur. La classification d’un individu dans un groupe s’effectue le plus souvent `a l’aide d’algorithmes de fouille de donn´ees, de classification ou de clus-tering.
Mod´elisation interne Vs. externe : Cette mod´elisation concerne le niveau d’int´egration du
mod`ele dans l’application. En effet, le mod`ele est interne lorsqu’il fait partie int´egrante de l’application. Inversement, si le mod`ele est une entit´e dissoci´ee de l’application, le mod`ele est dit externe.
Mod´elisation opaque Vs. lisible : Un mod`ele est opaque si l’utilisateur n’a pas le droit de
le consulter. Autrement, il est dit lisible.
Mod`ele `a court terme Vs. `a long terme : Les mod`eles `a court terme sont construits et
utilis´es sur une courte p´eriode (une session). Quant aux mod`eles `a long terme, ils sont construits au fur et `a mesure des sessions et ´evoluent selon l’´evolution de l’utilisateur. Granularit´e : Il concerne le niveau de d´etail utilis´e pour la repr´esentation du mod`ele.
Tous ces facteurs doivent ˆetre pris en consid´eration avant la mise en place du mod`ele afin d’ˆetre exploit´es au mieux.
2.3
Repr´
esentation du mod`
ele utilisateur
Une fois les donn´ees `a propos de l’utilisateur collect´ees et les caract´eristiques du mod`ele utilisateur ´etablies, la question de la repr´esentation de ces donn´ees et de ce mod`ele, se pose. La repr´esentation du mod`ele utilisateur caract´erise le sch´ema des donn´ees collect´ees sur l’utilisateur. On trouve dans la litt´erature plusieurs types de repr´esentations du mod`ele utilisateur, parmi celles-ci, les repr´esentations simples par mot-clefs ou vectorielles, les repr´esentations s´emantiques plus complexes et les repr´esentations multidimensionnelles compl`etes, que nous allons introduire.
2.3.1 Repr´esentations par mots-clefs
Beaucoup de mod`eles utilisateur se basent sur des repr´esentations par mots-clefs. Celles-ci
souffrent, entre autres, de probl`emes de synonymie ou d’homonymie (par exemple, le centre
ont ´et´e mises en place sur cette base. On retrouve des repr´esentations qui consistent en de simples vecteurs de mots-clefs exprimant si un mot-clef est pr´esent ou non, d’autres o`u un poids plus pr´ecis est associ´e `a chaque mot-clef dans le vecteur [BH00, DCC+03].
Pour les items de type textuel, les poids peuvent ˆetre d´etermin´es par la mesure TF/IDF
(Term Frequency/Inverse Document Frequency) [Sal88]. TF/IDF permet de d´eterminer
l’impor-tance d’un mot-clef dans un document textuel tel que TF repr´esente le nombre d’occurrences,
normalis´e par rapport `a la taille du document, d’un terme (un terme est consid´er´e comme ´etant important s’il apparaˆıt plusieurs fois dans le document), tandis que IDF a pour but de r´eduire
le poids des termes apparaissant dans tous les documents. ´Etant donn´e m un terme (mot-cl´e)
et d un document dans lequel il apparaˆıt, le calcul du poids TF–IDF de m dans d s’effectue de la fa¸con suivante :
T F (m, d) = Pn(m, d) m0 n(m0, d) IDF (m) = log N n(m) T F IDF (m, d) = T F (m, d) × IDF (m) (2.4)
o`u n(m, d) est le nombre d’occurrences du terme m dans d (le mot fr´equence est utilis´e par abus de langage)
P
m0
n(m0, d) est le nombre de mots-cl´es de d N est le nombre de documents recommandables
n(m) est le nombre de documents contenant le terme m.
D’autres techniques existent pour d´eterminer les pond´erations des mot-clefs lorsque les
items ne sont pas textuels. Dans [SNM07], l’utilisateur est ´egalement repr´esent´e `a l’aide de ca-ract´eristiques (mots-clefs) pond´er´ees. Les items de l’application sont d´ecrits par un ensemble de caract´eristiques. Les caract´eristiques des items bien not´es par l’utilisateur sont ensuite utilis´ees afin de d´eduire les pond´erations de chaque caract´eristique pour l’utilisateur en fonction de leur fr´equence.
2.3.2 Repr´esentations s´emantiques
Les repr´esentations s´emantiques sont plus ´elabor´ees et complexes que les repr´esentations par
mots-clefs. Elles permettent entre autres de lever les probl`emes d’homonymie et de synonymie
rencontr´es dans les repr´esentations par mots-clefs car la s´emantique (le sens) des mots est renforc´ee grˆace `a une structure de classes (concepts) et de relations (propri´et´es). Les ontologies sont l’une des repr´esentations s´emantiques les plus connues.
D´efinition 3. Une ontologie est une sp´ecification formelle et explicite d’une conceptualisation partag´ee [Gru93].
Une ontologie peut ˆetre consid´er´ee comme ´etant le composant noyau d’un syst`eme de
connaissances s´emantique [YAC07]. Nous allons ´etudier quelques mod`eles utilisateurs s´ eman-tiques que l’on retrouve dans la litt´erature et qui utilisent des formalismes diff´erents : logiques de
2.3 Repr´esentation du mod`ele utilisateur 19
description, OWL (Web Ontology Language) ou encore des graphes conceptuels pour mod´eliser
les utilisateurs.
Graphes conceptuels
Un graphe conceptuel est un graphe ayant des nœuds de type concept et d’autres de type relation. Des arcs orient´es lient les concepts aux relations. Ce formalisme de repr´esentation des connaissances a ´et´e initialement introduit afin de d´ecrire les donn´ees se trouvant dans une base de donn´ees de fa¸con accessible et compr´ehensible par les utilisateurs [Sow76]. Depuis, ce formalisme a ´et´e ´elargi `a beaucoup de domaines et est notamment utilis´e dans la mod´elisation des utilisateurs.
Dans [ZSS07], le mod`ele utilisateur est structur´e via un graphe conceptuel de fa¸con auto-matique. La construction de ce mod`ele consiste `a int´egrer l’ontologie du site WEB1 avec les donn´ees d’utilisation de l’utilisateur. Le profil de l’utilisateur est donc repr´esent´e par un graphe conceptuel qui vise `a repr´esenter s´emantiquement son activit´e. En d’autres termes, le graphe de l’utilisateur sera un sous-ensemble de l’ontologie du site o`u chaque lien sera ´etiquet´e d’un certain nombre d’informations (nombre et dur´ee de visite d’un concept, la fa¸con de naviguer sur le site, etc.).
Logiques de description
Les logiques de description sont une famille de formalismes logiques pour la repr´esentation
des connaissances. `A l’instar des graphes conceptuels, elles mettent en œuvre des concepts. De
plus, elles permettent entre autres de d´efinir des rˆoles (relations) et des individus (instances de concepts).
Les logiques de description ont ´et´e utilis´ees dans la mod´elisation d’utilisateurs [CCC+04, YAC07]. [CCC+04] vise `a effectuer des correspondances (matching) entre des profils utilisateurs dans le cadre d’un portail de rencontres. La logique de description utilis´ee est une ALC(D) qui permet de repr´esenter les propri´et´es et caract´eristiques physiques d’une personne, ainsi que ses int´erˆets dans certains domaines de fa¸con pr´ecise en int´egrant un degr´e d’int´erˆet pour chacun d’entre-eux. La correspondance s’effectue grˆace `a un algorithme appliqu´e `a chaque concept des profils de demande et d’offre. `A l’issue de quoi, un score est attribu´e au profil de l’utilisateur en fonction de son ad´equation avec le profil recherch´e. Concr`etement, ´etant donn´es un profil de demande et un profil d’offre, on calcule le score (de p´enalit´e) du profil de demande tel que s’il contient des concepts en contradiction avec les concepts pr´esents dans le profil d’offre, une p´enalit´e est ajout´ee. De mˆeme, si un concept est requis dans le profil d’offre et que celui-ci n’est pas pr´esent dans le profil de demande, une p´enalit´e est ´egalement ajout´ee. Plus le score obtenu sera ´elev´e, moins le profil de demande conviendra `a l’offre. Dans cette approche, la mise-`
a-jour d’un profil se fait de mani`ere explicite ce qui n’est pas tr`es appropri´e pour un syst`eme de personnalisation adaptatif.
1. L’ontologie du site WEB est construite automatiquement en s’aidant des mots-clefs extraits du site, com-bin´es `a une ontologie du domaine. Il en r´esulte un contenu repr´esent´e sous forme d’ontologie.
[YAC07] propose une mod´elisation plus g´en´erique de l’utilisateur. Cette mod´elisation com-bine une mod´elisation explicite et une mod´elisation implicite. La premi`ere est issue d’informa-tions saisies directement par l’utilisateur (lors de son inscription par exemple). Tandis que la
seconde n´ecessite un apprentissage du mod`ele utilisateur en fonction de son comportement au
travers de l’application. L’approche adopt´ee tend ´egalement `a utiliser les st´er´eotypes. Il s’agit
donc, en fonction des donn´ees existantes sur l’utilisateur, de lui attribuer un groupe auquel
il s’apparente. Cette m´ethode permet de d´ejouer le probl`eme du manque d’information qui
concerne les nouveaux utilisateurs car ils ne sont pas consid´er´es comme individus mais en tant que groupe d’individus (cf. section 2.2). De ce fait, mˆeme si les informations concernant l’utilisa-teur sont insuffisantes, il est possible d’utiliser les informations du groupe qui lui a ´et´e attribu´e.
La logique de description utilis´ee est une SHIQ(DR). Celle-ci permet notamment l’utilisation
de domaines concrets, qui `a l’instar de l’approche de [CCC+04], permet de qualifier certaines informations sur l’utilisateur (par exemple : age ≥ 20), mais aussi des relations n-aires qui peuvent mettre en œuvre pour un acteur donn´e un ensemble de donn´ees d´ecrivant son int´erˆet (le domaine d’int´erˆet, le degr´e d’int´erˆet et la p´eriode qui s’y rapporte). Ainsi, au fur et `a mesure de l’´elargissement du profil de l’utilisateur, un groupe plus pr´ecis lui est attribu´e.
OWL
Le langage d’ontologie Web OWL est un langage de balisage s´emantique pour publier et
partager des ontologies sur le Web2. On retrouve des mod`eles utilisateurs bas´es sur OWL,
comme par exemple le mod`ele d’AVATAR [BFAGS+08].
L’utilisateur est mod´elis´e dans AVATAR par un extrait de l’ontologie d´ecrivant l’application
de fa¸con quasi analogue `a [ZSS07]. [BFAGS+08] propose un syst`eme de recommandation pour
la vid´eo `a la demande3. De ce fait, le mod`ele utilisateur capture les programmes int´eressants et non int´eressants pour l’utilisateur ainsi que leur description s´emantique (caract´eristiques et hi´erarchie de genres). Ces informations s´emantiques ´etant d´ej`a repr´esent´ees dans l’ontologie, le profil utilisateur contient plus concr`etement les identifiants des programmes sus-cit´es et le degr´e d’int´erˆet (le degr´e de pertinence ou note) correspondant. De cette fa¸con, il devient facile pour AVATAR de r´ecup´erer ces informations s´emantiques.
2.3.3 Repr´esentations multidimensionnelles
Les mod`eles utilisateurs se caract´erisent par leur simplicit´e et surtout par leur h´et´erog´en´eit´e. En effet, selon les besoins applicatifs des syst`emes auxquels ils se rattachent, les propri´et´es repr´ e-sent´ees diff`erent. De ce fait, des repr´esentations multidimensionnelles qui se veulent g´en´eriques ont ´et´e propos´ees [BK05, Kos03, BM07, ZTB05].
[Kos03] a pr´esent´e un mod`ele g´en´erique en s’inspirant du mod`ele de [AS99] bas´e essentiel-lement sur :
2. http://www.w3.org/TR/owl-ref/
2.3 Repr´esentation du mod`ele utilisateur 21
Domaines d’int´erˆet : expriment les centres d’int´erˆet de l’utilisateur et sont repr´esent´es par des mots-clefs ou des requˆetes qui contiennent la s´election simple d’attributs des tables et des agr´egats fait sur ces attributs. Ceci peut ˆetre vu comme une pr´es´election qui r´eduit la masse d’informations et ´epargne `a l’utilisateur la sp´ecification des pr´edicats
communs `a toutes ses demandes.
Ontologies : permettent de r´eduire l’espace de recherche de l’utilisateur `a des domaines cibl´es.
Donn´ees personnelles : d´efinissent la partie statique (ou ´evoluant peu dans le temps) du
profil (identit´e, donn´ees d´emographiques, contacts).
Customisation : d´ecrit les pr´ef´erences de l’utilisateur (de livraison, de codage, de mise en page, etc.)
S´ecurit´e : d´efinit les protocoles d’´echange des donn´ees, des requˆetes et de l’identit´e de l’utili-sateur.
Retour du client : g`ere le retour avec l’utilisateur et la mise `a jour automatique du contenu du profil en fonction de ses retours implicites ou explicites.
De plus, [BM07] identifie les propri´et´es suivantes `a collecter :
Connaissances de l’utilisateur : son niveau de connaissance dans un domaine donn´e. Le
plus souvent, un mod`ele scalaire est utilis´e, tel que le niveau de connaissances de l’utili-sateur dans un domaine donn´e est estim´e sur une certaine ´echelle. Cette dimension est d’autant plus utile dans les syst`emes adaptatifs ´educationnels.
Objectifs : peut ˆetre un objectif de travail `a long terme ou une recherche ponctuelle.
Contexte de travail : il comprend la plateforme de l’utilisateur ou l’application qu’il utilise (par exemple la distinction entre les ordinateurs de bureau et les appareils mobiles) ainsi que sa localisation g´eographique.
Ces diverses repr´esentations ont leurs avantages et leurs inconv´enients. Par exemple, les
repr´esentations par mots-clefs ne conviennent pas pour les syst`emes de recommandation
colla-boratifs (section 3.2), tandis que les repr´esentations multidimensionnelles peuvent d´efinir des dimensions inutiles. Par exemple, le niveau de connaissances de l’utilisateur est sp´ecifique aux syst`emes adaptatifs ´educationnels.
Nous avons vu, dans ce chapitre, les diff´erentes donn´ees que l’ont peut collecter et qui
peuvent d´efinir les centres d’int´erˆet de l’utilisateur. Ces donn´ees peuvent ˆetre explicitement fournies par l’utilisateur, auquel cas elles sont utilis´ees brutes. Autrement, il reste possible d’analyser les parcours et actions de l’utilisateur dans le syst`eme et d’estimer les centres d’int´erˆet grˆace `a des mesures d´efinies. Mais ces donn´ees, dites implicites, ne sont pas aussi pr´ecises que celles fournies par l’utilisateur.
[Koc01] a appuy´e ce point en proposant plusieurs classifications des mod`eles utilisateurs. L’un d’eux distinguait le caract`ere explicite de l’implicite dans une mod´elisation. Dans notre
approche, nous mettons en place un mod`ele `a la fois implicite et explicite, mais nous nous
inspirons de ce point afin de distinguer entre les utilisateurs explicites (qui donnent r´eguli` ere-ment des donn´ees explicites `a leur sujet) et les utilisateurs implicites (qui utilisent le syst`eme r´eguli`erement sans donner d’informations explicites `a leur propos et `a propos des items qu’ils consultent) afin de d´eterminer quelles donn´ees sont plus pertinentes pour un certain utilisateur.
Chapitre 3
Les approches de recommandation
Une fois le mod`ele utilisateur ´etabli, on peut proc´eder `a la d´efinition du syst`eme de re-commandation. Il existe plusieurs approches de rere-commandation. Les plus connues sont les
ap-proches bas´ees sur le contenu [Lan95, PB07] et les approches collaboratives [RIS+94, SKKR00,
SKKR01]. Le choix d’une approche de recommandation d´epend des objectifs fix´es et du type de
donn´ees dont on dispose. Par exemple, si le but de l’application est d’assister l’utilisateur dans
le choix d’items, un syst`eme de recommandation conversationnel sera plus ad´equat.
Dans la suite, nous allons pr´esenter quelques approches existantes, discuter de leurs avan-tages, de leurs limitations et des diff´erentes solutions pour pallier ces limitations [Bur07].
3.1
Les approches bas´
ees sur le contenu
3.1.1 Le principe
Les approches bas´ees sur le contenu, appel´ees ´egalement filtrage par le contenu, sont les premi`eres approches de recommandation `a avoir vu le jour. Elles consistent `a recommander `a l’utilisateur des items similaires, du point de vue de leur contenu, aux items qu’il aura appr´eci´es auparavant. Le filtrage bas´e sur le contenu n´ecessite de disposer d’une description des items `a recommander et d’une connaissance des pr´ef´erences de l’utilisateur.
Les approches bas´ees sur le contenu d´erivent du monde de la recherche d’informations.
C’est pourquoi les premiers syst`emes `a avoir ´et´e mis en place ´etaient le plus souvent appliqu´es dans des syst`emes d’information `a contenu textuel. Ceci afin de pouvoir utiliser les techniques existantes dans le domaine de la recherche d’information. Ces recommandations se basent donc sur des mots-clefs d´ecrivant les items. Ces mots-clefs peuvent ˆetre pond´er´es afin d’avoir une repr´esentation plus pr´ecise de chaque item. L’une des mesures les plus utilis´ees pour effectuer cette pond´eration est le TF–IDF (voir equation 2.4).
de vecteurs de poids ~d(pm1..pmk) o`u chaque composante pmi repr´esente le poids du mot-cl´e mi,
calcul´e gˆace `a TF–IDF par exemple. La mesure la plus utilis´ee pour le calcul de similarit´es dans cette configuration est la similarit´e cosinus.
sim( ~d1, ~d2) = cos( ~d1, ~d2) =
~ d1· ~d2
k ~d1k · k ~d2k
(3.1)
Un grand nombre de m´ethodes a ´et´e explor´e dans le domaine du filtrage bas´e sur le contenu : les mod`eles bay´esiens [CLM99], le clustering [SKKR02], les arbres de d´ecision [GKL11], le
rai-sonnement s´emantique [MASR02, BFAGS+08], etc.
Les approches bas´ees sur la s´emantique
Le raisonnement s´emantique fait ´egalement partie des m´ethodes connues de filtrage bas´e
sur le contenu. Contrairement aux autres m´ethodes, le raisonnement s´emantique requiert que
les items soient d´ecrits dans une ontologie (voir chapitre 2, d´efinition 3) plutˆot qu’`a l’aide de mots-cl´es.
Les approches les plus connues dans le domaine de la recommandation s´emantique sont celles
de [MASR02, BFAGS+08]. [MASR02] a mis en place un syst`eme de recommandation nomm´e
Quickstep. Ce dernier permet de recommander aux utilisateurs des articles de recherche. Pour ce faire, l’utilisateur est repr´esent´e sous forme d’une ontologie qui contient une taxonomie de sujets. Les int´erˆets des sujets sont calcul´es en fonction des sujets des articles d´ej`a consult´es par l’utilisateur. Apr`es quoi, la hi´erarchie de sujets est utilis´ee afin de raisonner et d’extraire les sujets proches de ceux int´eressant l’utilisateur. De ce fait, les articles correspondant `a ces sujets extraits lui sont recommand´es.
D’autre part, [BFAGS+08] a propos´e AVATAR, un syst`eme de recommandation de
pro-grammes TV. Dans cette approche, il s’agit de d´ecouvrir ce que les auteurs appellent des
asso-ciations s´emantiques qui consistent soit en un chemin (en suivant des relations) d’un programme TV (dont l’appr´eciation de l’utilisateur est connue) `a un autre (candidat `a la recommandation),
soit en deux programmes TV (dont l’appr´eciation de l’utilisateur est connue) ayant tous deux
un chemin aboutissant vers un autre programme (candidat `a la recommandation). Apr`es avoir
calcul´e le degr´e de pertinence de ces candidats, AVATAR est en mesure d’effectuer des
recom-mandations int´eressantes pour l’utilisateur.
On trouve ´egalement des mesures de similarit´e s´emantique utilis´ees dans des approches bas´ees sur le contenu (plus pr´ecis´ement, bas´ees sur la s´emantique) afin de calculer la similarit´e
entre deux items [MMN02, JM03]. La similarit´e s´emantique est utilis´ee dans une approche en
deux ´etapes propos´ee par [MMN02]. La premi`ere ´etape consiste `a effectuer un pr´ecalcul qui rend la matrice de notes moins creuse. Elle utilise un syst`eme bas´e sur le contenu qui, ´etant donn´e
un utilisateur ayant not´e un certain nombre d’items, d´ecouvre des items similaires aux items
not´es par cet utilisateur grˆace `a une mesure de similarit´e s´emantique. De cette fa¸con, le profil dudit utilisateur est enrichi en ajoutant de nouveaux items `a son historique. La seconde ´etape consiste `a effectuer un filtrage collaboratif en se basant sur l’historique nouvellement obtenu.
3.1 Les approches bas´ees sur le contenu 25
Cette technique permet donc d’exploiter les items similaires aux items not´es par l’utilisateur, afin d’am´eliorer les recommandations issues du filtrage collaboratif.
L’approche propos´ee par [JM03] est en plusieurs ´etapes ´egalement. ´Etant donn´e un item cible, la similarit´e entre cet item et un item d´ej`a not´e par l’utilisateur cible est calcul´ee en combinant la similarit´e cosinus des notes de ceux-ci et leur similarit´e s´emantique qui d´epend du domaine. De ce fait, une note de l’item cible est pr´edite et utilis´ee dans la seconde ´etape pour remplir la matrice de notes. La derni`ere ´etape ressemble `a la premi`ere, `a l’exception du fait que les items cibles sont candidats `a la recommandation plutˆot que de servir `a remplir la matrice de notes.
3.1.2 Les limitations des approches bas´ees sur le contenu
Les syst`emes de recommandation bas´es sur le contenu souffrent de limitations, notamment
le d´emarrage `a froid et la sur-sp´ecialisation [AT05].
On parle de d´emarrage `a froid (cold-start) lorsque le syst`eme de recommandation peine `a recommander des items `a un utilisateur ayant consult´e et not´e peu d’items (nouvel utilisateur par exemple). Le plus souvent, ce probl`eme est contourn´e en s’aidant des informations d´ emo-graphiques des utilisateurs. En effet, des utilisateurs appartenant `a la mˆeme tranche d’ˆage et ayant rempli un profil plus ou moins similaire peuvent avoir les mˆemes int´erˆets. Par cons´equent, il est pertinent d’utiliser cette information. D’autres syst`emes pr´ef`erent attendre que les
utili-sateurs aient not´e assez d’items avant de leur proposer des recommandations [GRGP01] (voir
figure 1.3.1). Des syst`emes de recommandation conversationnels reposant sur des approches
ba-s´ees sur la connaissance ou l’utilit´e sont ´egalement utilis´es dans ces cas de figure [Bur00, ZJ09]. Ils consistent `a poser des questions `a l’utilisateur sur ce qu’il cherche, et adapter les questions
suivantes en fonction des r´eponses fournies et du moteur de connaissances mis en place (voir
section 3.5).
Figure 1.3.1 – Impossibilit´e de recommandation avant d’avoir not´e assez d’items sur
SensCri-tique.com
La sur-sp´ecialisation signifie que la recommandation tend `a toujours s’orienter vers des
items tr`es similaires du point de vue de leurs caract´eristiques. Un syst`eme de recommandation
probl`eme, une touche de hasard est souvent introduite dans les algorithmes en utilisant par exemple des algorithmes g´en´etiques [SM93]. Autrement, les objets tr`es diff´erents des habitudes (ou simplement de l’historique) de l’utilisateur ne pourront jamais lui ˆetre recommand´es.
3.2
Les approches collaboratives
Les approches bas´ees sur le contenu pr´esentant des inconv´enients, la recherche a concen-tr´e ses efforts sur l’´elaboration d’une nouvelle approche dite collaborative. Il existe deux types de syst`emes de recommandation collaboratif : le filtrage collaboratif bas´e sur les utilisateurs U2U (User to User) qui exploite les relations entre utilisateurs et le filtrage collaboratif bas´e sur les items I2I (Item to Item) qui se base sur les relations entre items. Ces deux types d’ap-proches utilisent les notes (implicites ou explicites) des utilisateurs pour les items comme seule connaissance.
3.2.1 Le filtrage collaboratif bas´e sur les utilisateurs (U2U)
Cette approche tend `a assimiler un utilisateur `a un ensemble d’utilisateurs ayant les mˆemes int´erˆets et `a s’inspirer des objets appr´eci´es par ceux-ci afin d’´etablir les recommandations
[RIS+94, SM95, BHK98, AWWY99, SKKR01]. Le principe est que les utilisateurs ayant partag´e
les mˆemes pr´ef´erences dans le pass´e sont susceptibles de partager leurs pr´ef´erences dans le futur. Le coefficient de corr´elation de Pearson [SM95] est souvent utilis´e afin de calculer la simi-larit´e entre deux utilisateurs u1 et u2.
pearson(u1, u2) =
P
i∈I
(note(u1, i) − note(u1)) (note(u2, i) − note(u2))
r P i∈I (note(u1, i) − note(u1))2 r P i∈I (note(u2, i) − note(u2))2 (3.2)
o`u note(u, i) est la note de l’utilisateur u pour l’item i note(u) est la note moyenne de l’utilisateur u.
Une fois la similarit´e entre l’utilisateur cible et les autres utilisateurs calcul´ee, les notes des items non consult´es par l’utilisateur cible sont d´eduites `a partir des notes des utilisateurs les plus similaires `a cet utilisateur, en effectuant leur moyenne par exemple.
Prenons l’exemple de matrice de notes figurant sur la table 1.3.1. Les quatre premiers utilisateurs ont ´evalu´e les items 1 `a 5. Donna n’a ´evalu´e que les 4 premiers items. L’id´ee du filtrage collaboratif est de d´eterminer qui de Rose, Martha, River ou Jack, a les goˆuts les plus proches de Donna afin de pouvoir estimer la note qu’elle attribuerait `a l’item 5.
Le calcul du coefficient de Pearson entre Donna et les autres utilisateurs aboutit aux r´ esul-tats suivants :
3.2 Les approches collaboratives 27
Item1 Item2 Item3 Item4 Item5
Rose 1 5 4 3 1
Martha 2 4 2 5 2
River 4 4 1 2 4
Jack 3 5 5 1 3
Donna 5 4 2 2 ?
Table 1.3.1 – Exemple de matrice de notes
pearson(Donna, Rose) = −0.40
pearson(Donna, M artha) = −0.33
pearson(Donna, River) = 0.91
pearson(Donna, J ack) = 0.17
On peut voir que les notes de River sont les plus corr´el´ees avec celles de Donna. De ce
fait, ´etant donn´e que River a appr´eci´e l’Item5, il est probable qu’il soit appr´eci´e par Donna
´
egalement. Par cons´equent, l’Item5 peut ˆetre recommand´e `a Donna.
3.2.2 Le filtrage collaboratif bas´e sur les items (I2I)
Lorsque le nombre d’utilisateurs d´epasse le nombre d’items de fa¸con importante, des
pro-bl`emes de passage `a l’´echelle se posent. C’est pourquoi, le filtrage collaboratif bas´e sur les items a ´
et´e propos´e [SKKR01, CBB08, JM03, LSY03, DDGR07]. Le principe est d’exploiter la similarit´e entre les items (et non plus entre les utilisateurs) afin de g´en´erer des recommandations.
Contrairement au filtrage collaboratif U2U o`u les similarit´es sont calcul´ees entre utilisateurs, dans ce cas de figure les similarit´es sont calcul´ees entre items. `A l’inverse du filtrage bas´e sur le contenu, les similarit´es entre items sont calcul´ees grˆace au contenu collaboratif, c’est-`a-dire aux notes de ces items, plutˆot qu’`a leur description.
Les similarit´es entre items peuvent ˆetre calcul´ee grˆace `a une mesure de similarit´e cosinus adapt´ee :
sim(i1, i2) =
P
u∈U
(note(u, i1) − note(u)) (note(u, i2) − note(u))
r P u∈U (note(u, i1) − note(u))2 r P u∈U (note(u, i2) − note(u))2 (3.3)
o`u note(u, i) est la note de l’utilisateur u pour l’item i note(u) est la note moyenne de l’utilisateur u.
Reprenons l’exemple de matrice de notes figurant sur la table 1.3.1. Afin de d´eterminer la
items :
sim(i5, i1) = 1
sim(i5, i2) = −0.64
sim(i5, i3) = −0.54
sim(i5, i4) = −0.31
Il est clair que les notes des items i1 et i5 sont tr`es similaires (identiques dans cet exemple),
la note de Donna pour l’item i1 sera donc utilis´ee pour d´eterminer sa note pour l’item i5. L’item
lui sera donc recommand´e.
3.2.3 Les limitations du filtrage collaboratif
Le filtrage collaboratif a ´egalement des limitations [SKKR00]. Les utilisateurs ´etant g´ e-n´eralement r´eticents `a l’id´ee de noter les items, la matrice de notes, associant les notes des utilisateurs aux items, est tr`es ´eparse. Le ph´enom`ene est appel´e la matrice creuse. On peut donc se retrouver dans une situation o`u un item est tr`es peu ´evalu´e. Ou encore, qu’il ne soit ´
evalu´e que par des personnes aux centres d’int´erˆet diff´erents. En cons´equence, il sera difficile de recommander un tel item, car il ne fera pas partie des ´el´ements appr´eci´es par un certain groupe d’utilisateurs.
De plus, le filtrage collaboratif souffre du d´emarrage `a froid du point de vue utilisateur,
mais ´egalement du point de vue item. Lorsqu’un nouvel item est introduit dans la base, aucune
information n’existe quant `a l’appr´eciation des utilisateurs `a son ´egard. Par cons´equent, un tel article ne pourra ˆetre recommand´e. Pour pallier ce probl`eme, les m´ethodes hybrides, que nous ´
evoquerons plus tard, ont ´et´e propos´ees.
3.3
Les approches d´
emographiques
Dans une approche d´emographique [Paz99], le syst`eme de recommandation demande `a
l’uti-lisateur de renseigner un certain nombre de param`etres (ˆage, sexe, ville, emploi, int´erˆets, etc.). Ces param`etres permettent de d´efinir des classes d´emographiques dans lesquelles les utilisateurs sont cat´egoris´es. Par la suite, les recommandations de chaque utilisateur proviennent de la classe qui lui a ´et´e attribu´ee.
3.4
Les approches sociales
Les r´eseaux sociaux fournissent `a la tˆache de recommandation un nouveau param`etre qui est le cercle social de l’utilisateur. De ce fait, un syst`eme de recommandation social peut proposer `
a l’utilisateur des items qui sont populaires dans son cercle social.
L’approche peut donc ˆetre consid´er´ee comme un filtrage collaboratif U2U o`u le calcul du voisinage de l’utilisateur est remplac´e par l’utilisation du cercle social de l’utilisateur, r´eduisant
3.5 Les approches bas´ees sur la connaissance et les approches bas´ees sur l’utilit´e 29
ainsi le probl`eme de passage `a l’´echelle ´evoqu´e pr´ec´edemment. Le but ´etant de calculer le degr´e de confiance de l’utilisateur envers ses pairs, afin d’identifier ceux qui sont plus proches du profil l’utilisateur [ZL05]. Les items les plus populaires au sein du groupe identifi´e sont ensuite recommand´es `a l’utilisateur cible.
3.5
Les approches bas´
ees sur la connaissance et les approches
bas´
ees sur l’utilit´
e
Les approches bas´ees sur la connaissance s’appuient sur un ensemble de r`egles d´efinissant le
domaine [Bur99, Bur00, CM00, FB08, ZJ09]. Le mode op´eratoire dans ce genre de syst`eme est
conversationnel et l’utilisateur est amen´e `a d´efinir `a chaque fois un certain nombre de crit`eres pouvant mieux r´epondre `a ses attentes. Il ne s’agit donc pas de construire un profil utilisateur `
a long-terme mais de demander syst´ematiquement `a l’utilisateur de d´eterminer ses besoins
explicitement. Le syst`eme cherche donc les items remplissant au mieux les conditions d´efinies par l’utilisateur pour les lui pr´esenter. Ceci peut ˆetre effectu´e grˆace `a un ensemble de r`egles d´efinies par l’expert qui filtrent les items selon les crit`eres d´efinis par l’utilisateur.
Les approches bas´ees sur l’utilit´e peuvent ˆetre consid´er´ees comme un cas particulier des ap-proches bas´ees sur la connaissance. En effet, les approches bas´ees sur l’utilit´e se basent ´egalement sur un ensemble de r`egles et, en plus de d´efinir ses crit`eres, l’utilisateur est amen´e `a d´efinir sa propre fonction d’utilit´e selon certaines propri´et´es du domaine. Cette fonction est donc utilis´ee afin de g´en´erer des recommandations, tandis que dans une approche bas´ee sur la connaissance, seules les r`egles d´efinies par l’expert sont utilis´ee pour la recommandation [Bur02, ZJ09].
3.6
Les approches hybrides
Les approches hybrides sont des approches qui combinent deux ou plusieurs approches de
recommandation. Ces combinaisons permettent de b´en´eficier des avantages des approches
uti-lis´ees, de pallier leurs inconv´enients et de proposer des recommandation plus pertinentes. Par exemple, le d´emarrage `a froid au niveau des items des approches collaboratives, peut b´en´eficier
des avantages des approches bas´ees sur le contenu. En effet, dans une approche bas´ee sur le
contenu, seule la description de l’item est utilis´ee dans la recommandation, il n’y a donc pas be-soin que l’item soit not´e par un certain nombre d’utilisateurs avant de pouvoir ˆetre recommand´e, comme c’est le cas dans les approches collaboratives.
[Bur07] a recens´e les diff´erentes mani`eres d’hybrider des approches de recommandation,
Figure 1.3.2 – Hybridation pond´er´ee
3.6.1 Hybridation pond´er´ee
L’hybridation pond´er´ee [MJZ03] consiste `a calculer le score d’un item candidat `a la
recom-mandation (un item potentiellement pertinent pour l’utilisateur et donc recommandable) grˆace
`
a une fonction d´efinie effectuant la somme pond´er´ee du score de l’item dans chaque approche de recommandation pr´esente dans le syst`eme. Une fois les scores de tous les items candidats `a la recommandation calcul´es, ceux-ci sont class´es par ordre d´ecroissant avant d’ˆetre pr´esent´es `a l’utilisateur (voir figure 1.3.2). Ce type d’hybridation n´ecessite que les syst`emes de recomman-dations utilis´es effectuent une tˆache de pr´ediction de note (voir d´efinition 1).
3.6.2 Hybridation `a bascule
Dans ce type d’hybridation, le syst`eme s´electionne une approche de recommandation plutˆot qu’une autre en fonction d’un certain crit`ere. Par exemple, si la confiance du syst`eme pour les r´esultats obtenus est insuffisante, une autre approche sera s´electionn´ee [BP00]. Cette hybridation est d´ecrite dans la figure 1.3.3.
3.6.3 Hybridation mix´ee
L’hybridation mix´ee [SC00] consiste `a pr´esenter `a l’utilisateur des recommandations issues