Sie sind auf Seite 1von 9

686

PARTIE 5 : Au-del de lapprentissage supervis

5. Apprentissage pour le ltrage collaboratif


Il semble que le nombre de choix qui nous sont ouverts augmente constamment. Films, livres, recettes, nouvelles du monde, autant densembles dans lesquels nous devons oprer une slection sans avoir la possibilit de considrer toutes les informations ncessaires. Comment alors choisir ? Sur une base individuelle, seule lexprience accumule sur la valeur de choix passs pourrait nous aider guider nos choix futurs. Un processus damlioration au mieux linaire, en supposant que les critres et ensemble de choix restent constants. Heureusement, nous ne sommes pas seuls face aux mmes choix. Ainsi, si quelquun a des gots similaires aux ntres et quil a aim tel lm rcent, les chances que nous aimions galement ce lm semblent plus grandes quen labsence de cette information. Il est donc possible de tirer prot des informations disponibles sur les choix des autres agents pour induire des prfrences sur nos propres choix. Avec maintenant la disponibilit dInternet et de grandes bases de donnes sur les prfrences des utilisateurs, il devient envisageable dtendre grande chelle, la notion de bouche oreille. La formalisation et lexploitation de cette intuition sont lobjet des travaux en ltrage collaboratif.

5.1 Les approches


Comme dans linduction supervise, on retrouve les approches utilisant un espace dhypothses et les approches oprant directement dans lespace des utilisateurs ou des items. Le but du ltrage collaboratif est de suggrer de nouveaux items ou de prdire lutilit ditems inconnus pour un utilisateur donn, en se fondant sur les valuations dj exprimes (ventuellement implicitement) par cet utilisateur propos dautres items. On supposera ainsi quil existe une liste de m utilisateurs U = {u1 , u2 , . . . , um } et une liste de n items I = {i1 , i2 , . . . , in }. Chaque utilisateur ul a exprim une valuation sur un sous-ensemble Iul ditems. On notera Xlj lvaluation de litem ij par lutilisateur ul , et P redl,j la prdiction dutilit pour lutilisateur ul de litem ij . 5.1.1 Les approches par modle de lutilisateur Lapproche classique pour les systmes de recommandation consiste construire des modles des utilisateurs en fonction dinformations les concernant, comme leur intervalle de revenus, leur niveau culturel, leur ge, leurs habitudes culturelles, etc., et utiliser ces modles pour prdire la rponse dun utilisateur ainsi caractris face un objet ou item (livre, restaurant, ...). Une technique courante est ainsi de construire un modle rgressif linaire an de prdire lapprciation dun utilisateur ul pour un item ij , par exemple : pred(ul , ij ) = 1 (ge(ul )) + 2 (revenu(ul )) + 3 (intervalle_prix(ij )) + . . . a Il est galement possible dapprendre la fonction pred en utilisant des SVM (voir chapitre 14) ou des mthodes de classication baysienne. Cependant cette approche comporte plusieurs dicults. Outre le problme du choix du modle (par exemple comment prendre en compte le paramtre date dans lanne dans un modle linaire ?), et celui du passage lchelle lorsque le nombre dutilisateurs et ditems est norme, il peut tre trs dicile dincorporer dans le modle des variables cruciales pour lapprciation. Par exemple, il se peut quune recette de cuisine soit prfre une autre, dcrivant pourtant la confection du mme plat, parce quelle est plus lisible, plus facile comprendre. Mais comment un systme va-t-il pouvoir mesurer cette facilit ? Faudra-t-il prvoir de dcrire tous ces facteurs critiques souvent implicites : lisibilit, atmosphre, eet de mode, ... Cela devient

Chapitre 20

Vers de nouvelles tches et de nouvelles questions

687

vite inenvisageable. Cest pourquoi on va plutt utiliser des approches avec variables latentes, non explicites, mais permettant dorganiser les utilisateurs ou les items. 5.1.2 Les approches par similarit et plus proches voisins On peut distinguer les approches centres utilisateurs et les approches centres items. Dans lapproche centre utilisateurs, un utilisateur est caractris par les apprciations quil a dj mises propos de certains items. Par exemple, la note quil a attribue aux restaurants dans lesquels il a dj dn. Lorsque cet utilisateur va chercher lapprciation probable quil porterait sur un nouveau restaurant, le systme de recommandation va identier les autres utilisateurs dont le prol est le plus proche de lutilisateur en fonction des notes exprimes, et va ensuite partir de ces plus proches voisins , utiliser leurs notes (sil y en a) sur le restaurant vis pour calculer une recommandation. La correspondance entre les utilisateurs et les items se reprsente gnralement sous la forme dune table. Item 1 4 3 Item 2 2 1 8 Item 3 7 Item 4 8 7 4 ... ... ... ...

Jean Marie Christian

On suppose que les apprciations vont de 0 10 (trs mauvais excellent) et que le tiret - reprsente labsence dvaluation. En eet, la plupart des utilisateurs ne vont noter quun trs petit nombre ditems (par exemple Amazon vend des millions de livres, un lecteur mme assidu ne peut en noter au plus que quelques milliers). Dans de nombreux cas, la matrice sera donc creuse, voire trs creuse. Supposons que nous voulions maintenant utiliser cette matrice pour calculer une similarit entre utilisateurs puis pour induire P red(ul , ij ) pour un utilisateur ul et un item ij donns. Il faut alors tudier les questions suivantes : Quelle mesure de similarit utiliser ? Combien de voisins prendre pour rfrence ? Quelle mthode de combinaison davis employer pour infrer une nouvelle valuation ? Mesure de similarit entre utilisateurs Chaque utilisateur peut tre considr comme un vecteur incomplet dont nous ne connaissons que quelques composantes. Il est cependant possible de calculer une similarit entre de tels vecteurs en se restreignant aux seules composantes quils ont en commun. Si lon suppose que les notes attribues par les utilisateurs Ui et Uj aux items sont des variables alatoires Xi et Xj qui suivent une distribution conjointe inconnue, il est possible de dnir le coecient de corrlation entre Xi et Xj par la formule de Bravais-Pearson : Cov(Xi , Xj ) V ar(Xi )V ar(Xj ) avec Cov(Xi , Xj ) = E (Xi E(Xi )) (Xj E(Xj )) . Cette corrlation prend ses valeurs dans [1, +1], une valeur positive indiquant que les variables varient dans le mme sens, tandis quune valeur ngative signie que les individus qui ont des =

688

PARTIE 5 : Au-del de lapprentissage supervis scores levs pour la premire variable auront tendance avoir des scores faibles pour la deuxime et inversement. 1 2 n En disposant dun chantillon de taille n, (Xi1 , Xj ), (Xi2 , Xj ), . . . , (Xin , Xj ) tir dune distribution conjointe, la quantit : k k k (Xi Xi )(Xj Xj ) r = k k 2 2 k (Xi Xi ) k (Xj Xj ) est une estimation de .
Exemple Calcul de la similarit Selon cette mesure, la similarit entre Jean et Marie est : r(Jean, Marie) = = (2 5)(1 4) + (8 5)(7 4) (2 5)2 + (8 5)2 (1 4)2 + (7 4)2 (3)(3) + (3)(3) 18 = = 1 18 9+9 9+9

avec XJean = (2 + 8)/2 = 5 et XMarie = (1 + 7)/2 = 4 quand on prend les articles nots en commun. 12 Entre Jean et Christian, elle est : r(Jean, Christian) = 188 = 12/(3 2 2) = 1 12 Et entre Marie et Christian : r(Marie, Christian) = 1814 = 4/( 2 14) 0.756

Il apparat ainsi que Jean et Marie sont positivement corrls, tandis que Jean et Christian, de mme que Marie et Christian, sont des paires corrles ngativement. Il faut noter que sil peut sembler trange que Jean et Christian soient parfaitement ngativement corrls, il faut prendre en compte leur moyenne sur les composantes 2 et 4 : savoir 5 pour Jean et 6 pour Christian. Par rapport ces moyennes, les notes de Jean pour les items 2 et 4 sont -3 et +3, tandis que pour Christian elles sont 2 et -2. Il y a bien tendance exactement inverse.

De fait, il a t empiriquement observ que la corrlation de Pearson nest pas la mesure de corrlation la mieux adapte pour le ltrage collaboratif, un meilleur choix tant de prendre la corrlation de Pearson la puissance 2.5 [BHK98]. Calcul dune recommandation La plupart des algorithmes de recommandations utilisent une combinaison des valuations dutilisateurs proches au sens de la mesure de similarit employe. Par exemple, lapproche la plus simple consiste retenir les k plus proches voisins au sens de cette similarit r et de calculer une moyenne pondre de leurs valuations pour fournir une prdiction dutilit. P red(ul , ij ) = Xl + k
j v=1 r(ul , uv ) (Xv k v=1 |r(ul , uv )|

Xv )

(20.11)

o Xl (resp. Xv ) est la moyenne des notes attribues par lutilisateur ul (resp. uv ) tous les items.

Chapitre 20

Vers de nouvelles tches et de nouvelles questions

689

Exemple Calcul dune recommandation Supposons que nous voulions prdire la note que donnerait Jean litem 1 et que nous prenions Marie et Christian comme voisins. P red(Jean, item 1) = 17 (1 (4 4)) + (1 (3 5)) + = 5.67 + 1 6.67 3 1+1

Intuitivement, puisque Christian na pas aim litem 1, et quil est ngativement corrl avec Jean, alors cela devrait amener penser que Jean va plutt aimer item 1, do une valeur accorde item 1 suprieure la moyenne de Jean. Lvaluation de Marie, quant elle, ne modie rien car elle value litem 1 sa moyenne : 4.

Lapproche centre items est duale de lapproche centre utilisateurs. Elle consiste en eet utiliser une mesure de similarit entre items pour dterminer les k items les plus similaires litem ij pour lequel on cherche calculer P red(ul , ij ). On utilise alors une formule de pondration qui, dans le cas le plus simple, est : P red(ul , ij ) = X i + k
v v=1 r(ij , iv ) (Xl k v=1 |r(ij , iv )|

Xv)

(20.12)

Exemple

Supposons que nous voulions prdire la note que donnerait Jean litem 1 et que nous prenions Item 2 et Item 4 comme voisins (Item 3 ne peut pas tre voisin de Item 1 car il ne partage aucune composante utilisateur). En utilisant la mesure de corrlation de Pearson, on trouve que r(Item 1, Item 2) = 1 et r(Item 1, Item 4) = 1. On a alors : P red(Jean, Item 1) = 4+3 (1 (2 11/3)) + (1 (8 19/3)) + 3.5 + 1.67 = 5.17 2 1+1

On observe que, en utilisant ces formules de similarit et de combinaison, le rsultat nest pas le mme que dans lapproche centre utilisateur.

5.2 Les dicults


Les dicults lies au ltrage collaboratif proviennent essentiellement : de la dimension de la matrice utilisateurs-items qui peut ventuellement tre norme (typiquement de lordre de 104 lignes 105 colonnes) ; du caractre creux de cette matrice (typiquement avec moins de 1 % dentres) ; du choix eectuer de la mesure de similarit, en particulier si les donnes comportent des relations. Par ailleurs, il nest pas facile de mesurer la performance dun systme de ltrage-collaboratif, ce qui est ncessaire pour identier la technique la mieux adapte une tche particulire. 5.2.1 Traitement des matrices An de traiter de trs grandes matrices, dans lesquelles la liste des items est relativement peu variable compare la liste des utilisateurs, plusieurs techniques sont employes. Lune delles consiste prcalculer les voisins dans lespace des items (peu variables) an de limiter les calculs en ligne de pred(ul , ij ). Une autre consiste eectuer une classication non

690

PARTIE 5 : Au-del de lapprentissage supervis supervise pralable des items (ou des utilisateurs) an de limiter eectivement la dimensionalit du problme. Cette technique entrane cependant souvent une dgradation des performances, mais elle na sans doute pas dit son dernier mot. Finalement, des techniques de rduction de dimensionalit classiques sont galement utilises en prtraitement (voir chapitres 3 et 18). 5.2.2 Mesures de similarit Le choix de la mesure de similarit est naturellement crucial dans lapproche par voisinage. Elle doit dabord sappuyer sur une slection avise des descripteurs utiliss. Gnralement, cet ensemble de descripteurs dcoule directement de la base de donnes disponible (par exemple, pour une base de lms : auteur, titre, acteurs, producteur ...). Il se peut cependant que lensemble dattributs pertinents ne soit pas facile dterminer. Par exemple, dans le cas ditems dcrits par des textes (articles, recettes ...), les mots ne doivent pas prendre tous le mme poids. Il est alors frquent de les pondrer grce au score tf-idf (Term Frequency Inverse Document Frequency) . fij tant donne la frquence fij du terme ti dans le document dj , T Fij = Max f . k kj De mme, tant donn ni le nombre de documents mentionnant le terme i et N le nombre N total de documents, IDFi = log ni . Le score tf-idf pour le terme ti et le document dj est wij = T Fij IDFi . Le prol dun document (item) est alors caractris par lensemble des termes de score tf-idf les plus levs avec leur score. Les mesures de similarit les plus populaires [HKR02] sont le coecient de corrlation de Pearson expos plus haut (ou sa version simplie cosinus) et le coecient de corrlation de rang de Spearman. Celui-ci compare deux variables Xi et Xj aprs transformation de 1 2 n 1 2 n leurs ralisations (Xi1 , Xi2 , . . . , Xin ) et (Xj , Xj , . . . , Xj ) en liste de rangs (rgi , rgi , . . . , rgi ) et 1 2 n (rgj , rgj , . . . , rgj ) dans lesquelles rglm est le rang de llment Xlm dans la liste Xl ordonne selon une certaine relation dordre (par exemple lordre de prfrence de lms). Le coecient de corrlation est bas sur la dirence des rangs obtenus par les ralisations sur les deux variables selon la formule : 6 n D2 m=1 rs = 1 (20.13) n(n2 1) o D reprsente la dirence de rang sur les deux variables pour une observation donne.
Exemple Coecient de corrlation de rang de Spearman rs ((1.8, 3.4, 2.5, 4.1), (6.0, 1.2, 2.2, 3.7)) = rs ((1, 3, 2, 4), (4, 1, 2, 3)) 6 (32 + 22 + 0 + 12 ) = 1 = 0.4 4 (42 1)

Les deux variables sont donc ngativement corrles.

Lavantage du coecient de Spearman est quil est non paramtrique, cest--dire quil ne fait aucune prsupposition sur la distribution de frquence des variables. Il ne suppose pas non plus, linverse du coecient de Pearson, que la relation entre les variables est linaire. Il est possible que les donnes disponibles impliquent lexistence de relations au-del du graphe bipartites des utilisateurs et des items. Ainsi, dans la gure 20.7, on suppose que les items, outre quils sont lis avec les utilisateurs, appartiennent des catgories (C1 ou C2 ). Dans ce cas, des mesures de similarit plus sophistiques permettent de tenir compte de la structure de graphe entre les lments du domaine (voir section 4 du chapitre 18).

Chapitre 20

Vers de nouvelles tches et de nouvelles questions

691

u1
u2 u3
u4
i1 i2 i3 i4 C1 C2

u5 u6

Fig. 20.7: Graphe montrant les relations entre utilisateurs, items et catgories dans une hypothtique base de donnes. On voudrait pouvoir exprimer le fait que lvaluation dun utilisateur propos dun item devrait propager une information sur son valuation potentielle dautres items de la mme catgorie. Pour cela il faut une mesure de similarit prenant en compte la structure de graphe.

5.2.3 valuation des algorithmes de ltrage collaboratif Lvaluation des algorithmes de prdiction en ltrage collaboratif procde gnralement par validation croise. On dcoupe les donnes disponibles en sous-ensembles et on utilise tous ces sous-ensembles sauf un pour lapprentissage, et le dernier pour la mesure de performance, et on rpte ce procd plusieurs fois en changeant le sous-ensemble utilis pour le test (voir chapitre 3). En pratique, la dmarche peut tre la suivante : 1. On choisit, alatoirement, un certain nombre dutilisateurs, par exemple, la moiti de ceuxci. Ces utilisateurs sont employs par lalgorithme dapprentissage. Les autres utilisateurs constituent un ensemble test. 2. Les utilisateurs de lensemble test sont alors considrs un un. Pour chaque utilisateur u, on ne fournit lalgorithme quune partie des valuations, par exemple, toutes les valuations sauf une. On note lutilisateur ainsi amput de son valuation sur litem i par u . i 3. On mesure alors lerreur commise par lalgorithme lorsquil tente de prdire la note accorde par lutilisateur litem i : pred(u , i), par rapport la vraie valuation xi : |pred(u , i)xi |. u u 4. En calculant la moyenne sur tous les utilisateurs de lensemble test et tous les articles quils ont nots, on obtient la mesure All-But 1 Mean Average Error (MAE). La mesure MAE est la plus employe, mais [HKTR04] propose une revue des mthodes dvaluation existantes. Il est noter quil nest pas facile de comparer plusieurs algorithmes de recommandation entre eux, en particulier lorsque lvaluation a lieu en ligne, cest--dire alors mme que le systme est employ par les utilisateurs. Il exite en eet des boucles de rtroaction entre les recommandations produites par le systme et les prfrences exprimes par les utilisateurs. Par exemple, un item populaire sera souvent recommand, donc souvent valu par les utilisateurs, et son poids dans les mesures de similarit et le calcul des recommandations ultrieures sera de ce fait augment, ce qui biaisera le systme. Finalement, la prcision des prdictions nest pas le seul critre important dvaluation dun systme. Dabord, les valuations des utilisateurs varient gnralement avec le temps. Une grande prcision de prdiction est donc illusoire. Ensuite, le temps de calcul est souvent un facteur dterminant. Les utilisateurs ne sont pas prts attendre beaucoup plus quune seconde (trois

692

PARTIE 5 : Au-del de lapprentissage supervis secondes semble le maximum bien tolr) les recommandations. Par ailleurs, ce qui compte le plus nest pas la prcision des valuations prdites, mais le classement et le fait quil ny ait pas de faux positifs dans les items recommands. Or, nalement, cette contrainte entre en conit avec une autre attente des utilisateurs. En eet, il ne sut pas de recommander aux utilisateurs ce quils attendent. Supposons que lutilisateur soit un admirateur de Jacques Brel ; si le systme lui recommande 10 disques de Jacques Brel, il aura limpression que le systme ne lui apporte rien. Il faut donc que le systme soit capable de suggrer des nouveauts . Dans le cadre musical, des systmes tels que Music Access ou Music Browser, dus Franois Pachet, reprsentent des tentatives trs intressantes de prise en compte de la similarit entre morceaux musicaux et des gots exprims de lutilisateur pour soit organiser une liste de morceaux musicaux, soit suggrer lcoute de morceaux inconnus. 5.2.4 Limitations gnrales Dautres dicults sont considrer : Le ltrage collaboratif court le risque de la sur-adaptation, ne recommandant jamais ditems qui ne gurent pas dans le prol initial de lutilisateur. Si lon ne peut reprocher au systme de ne pas deviner les centres dintrt potentiellement multiples de lutilisateur, il est cependant intressant de chercher largir les recommandations oertes. Une dicult lie la prcdente est celle de la construction dun prol pour les nouveaux utilisateurs. Comment intgrer un nouvel utilisateur rapidement sans lui demander de renseigner une che qui peut vite sembler trop longue remplir ? Une approche qui peut rpondre en partie ces problmes est dutiliser des valuations implicites des utilisateurs. Ainsi, au lieu de demander explicitement un utilisateur de noter des items, il devient possible avec les technologies actuelles dvaluer ces notes en mesurant des indices, tels que les achats eectus sur un site, le temps pass sur des pages du site, etc.

Notes historiques supplmentaires


La notion fondamentale dapprentissage actif a une longue histoire en apprentissage articiel. notre connaissance, mais il conviendrait de mener une recherche plus approfondie, les premiers parler dapprentissage actif sont Simon et Lea [SL74] et Winston [Win75]. Simon et Lea argumentent ainsi que lapprentissage articiel est dirent dautres tches de rsolution de problme dans la mesure o lapprentissage implique la fois une recherche dans lespace des hypothses et dans lespace des exemples. De ce fait, lexploration de lespace des hypothses peut avoir un impact sur la recherche dans lespace des exemples. Winston, quant lui, dtermine que les meilleurs exemples dapprentissage sont les nuances critiques (near-misses) dans le cadre de son systme Arch bas sur une reprsentation des exemples et des hypothses par rseau smantique. Plus tard, des rsultats thoriques ont montr quune rduction substantielle du nombre dexemples dapprentissage requis pouvait tre obtenue par un chantillonnage bien inform [Ang88, Val84]. Le terme dapprentissage actif a t utilis plus rcemment par Cohn et ses collgues [CAL94] pour dcrire les protocoles dans lesquels cest lapprenant lui-mme qui slectionne les exemples potentiellement les plus informatifs. Le terme collaborative ltering fut propos par David Golberg et ses collaborateurs chez Xerox en 1992 [GNOT92]. Deux ans plus tard, en 1994, Paul Resnick du MIT (Massachusetts Institute of Technology)

Chapitre 20

Vers de nouvelles tches et de nouvelles questions

693

et ses collaborateurs de lUniversit du Minnesota proposrent larchitecture GroupLens6 pour recommander des articles dans les newsgroup. La librairie Amazon a popularis le ltrage collaboratif avec sa fonction : les utilisateurs qui ont aim ce livre ont aussi aim tel autre livre . Lingnieur responsable de ce projet, Greg Linden, a dailleurs un blog trs intressant (en anglais). En 1998, Brin et Page publirent leur algorithme PageRank et lancrent Google. La mme anne, chez Microsoft, John S. Breese et ses collaborateurs publirent un article charnire, Empirical Analysis of Predictive Algorithms for Collaborative Filtering [BHK98] dans lequel gure une comparaison dtaille des divers algorithmes de ltrage collaboratif. Avant 2001, les algorithmes de ltrage collaboratif taient soit bass sur les rseaux baysiens, les rseaux de neurones, etc., soit sur une approche utilisateur-utilisateur. En 2001, Amazon innovait avec la publication dun brevet introduisant le ltrage collaboratif bas sur larticle ; la mme anne, le groupe GroupLens publiait aussi, indpendamment, le mme type dalgorithme [SKKR01]. En 2006, la compagnie Netix a annonc quelle accorderait un prix dun million de dollars celui qui amliorerait de 10 % leur outil de recommandation. La compagnie rend ainsi disponible un ensemble de donnes qui permettent de tester des systmes. La comptition prendra n en 2011.

Rsum

Un apprenant actif a linitiative du choix des exemples dapprentissage. De nombreuses approches heuristiques ont t dveloppes. Mme si lavantage en termes de nombre dexemples requis pour apprendre nest pas garanti, il sobserve cependant gnralement. Les tudes thoriques doivent largir le cadre i.i.d. classique pour en rendre compte. Cest encore un champ de recherche ouvert et... actif. Lapprentissage en ligne concerne lapprentissage partir de ux de donnes, ventuellement issus de distributions non stationnaires. L aussi, le cadre classique i.i.d. doit tre dpass. Il y a l loccasion dun renouvellement important du paradigme de lapprentissage articiel qui sajoute lenjeu de pouvoir traiter de nombreux nouveaux domaines dapplication. Dans le cadre de lapprentissage partir de ux de donnes, lun des problmes les plus importants est de calculer des rsums des donnes passes qui sadaptent aux variations du processus gnratif. Il y a l de trs intressantes questions de calcul et dinformatique qui ont produit de nombreux algorithmes trs astucieux. Lapprentissage supervis peut viser calculer des tiquettes complexes, telles que des arbres ou des squences. Dans ce cadre, il faut en particulier savoir mesurer des distances entre structures et rendre compte des dpendances lintrieur de lespace de sortie Y et avec lespace des entres X . Les mthodes noyaux sont actuellement les plus tudies pour cette tche.

voir http://www.inf.ed.ac.uk/teaching/courses/tts/papers/resnick.pdf

694

Chap.21 : Plus loin sur lanalyse de linduction Lapprentissage pour le ltrage collaboratif introduit un nouveau type dapprentissage. Il requiert le calcul de similarit entre items et entre utilisateurs partir dune matrice norme et trs creuse. Lestimation des performances est un problme en soi, demandant une mtrique spcique, rendant compte du caractre en ligne de la tche et vitant les boucles de rtro-action trompeuses. Il sagit dun champ de recherche promis un bel avenir.

Das könnte Ihnen auch gefallen