• Aucun résultat trouvé

Techniques de “collaborative filtering”

2.4 Dimension 3 : techniques de gestion des données manipulées

2.4.2 Utilisation d’informations relatives au comportement des

2.4.2.1 Techniques de “collaborative filtering”

Principes. Le but des approches utilisant ces techniques est de prédire les goûts

de l’utilisateur pour tel ou tel objet qu’il n’a pas encore observé [GFMG05]. Ces approches sont fondées sur le fait (1) que des personnes qui ont déjà fait des choix similaires ont une probabilité élevée de faire de nouveau des choix iden-tiques [RIS+94] ; il s’agit donc d’une corrélation personne à personne (“people to people correlation” [Bur02a]), qui s’oppose aux techniques citées plus haut qua-lifiées elles de corrélation item à item (“item to item correlation”) et (2) qu’il est plus efficace d’impliquer l’utilisateur [GNOT92] : en s’aidant d’informations ré-coltées implicitement sur l’utilisateur ou données explicitement par l’utilisateur, les conseils seront plus pertinents.

Le fonctionnement d’une majorité de ces système est le suivant : au cours de sa navigation, il est demandé à l’utilisateur de noter ou de donner une appréciation sur la page qu’il est en train de lire. Ces informations sont enregistrées par le sys-tème. Ainsi, lorsqu’une page est appréciée par un utilisateur, le système recherche les autres utilisateurs qui ont apprécié cette page et extrait de sa base les pages qu’ils ont bien notées. Ces pages sont alors proposées à l’utilisateur.

utilisa-teurs. Typiquement, un profil est un vecteur d’objets auxquels sont associés des évaluations [Bur02a].

Algorithmes. Comme indiqué ci-dessus, ces approches comparent les profils

utilisateurs [FBH00] puis proposent à un utilisateur des pages que d’autres utili-sateurs, qui ont les mêmes goûts que lui, ont appréciées. Différents algorithmes sont utilisés pour comparer les utilisateurs [GFMG05] :

• “k-Nearest Neighbor method” ou méthode des k plus proches voisins [MMN01]. Cette méthode est aussi appelée “lazy learning approach” [GFMG05] puis-qu’elle ne nécessite pas de phase d’apprentissage : chaque note donnée par l’utilisateur à une page est enregistrée et le système doit parcourir l’en-semble des données pour être à même de proposer un conseil. Les données de départ sont une matrice avec en colonne, les objets et en ligne, les uti-lisateurs. Chaque ligne, i.e., chaque vecteur, représente donc les différentes notes données par l’utilisateur pour un objet. Ce sont ces vecteurs qui vont être comparés les uns aux autres.

On peut considérer trois étapes principales dans le fonctionnement de l’al-gorithme :

1. Comparaison des vecteurs. Plusieurs techniques peuvent être utilisées pour comparer deux vecteurs. Citons “Pearson correlation” (utilisé, par exemple, par [RIS+94] ou [FBH00]) et “cosine similarity” (utilisé, par exemple, par [KBP00]).

2. Sélection des utilisateurs dont les vecteurs sont les plus similaires à celui de l’utilisateur courant. Ces utilisateurs forment le voisinage de l’utilisateur courant.

3. Prédiction de l’appréciation donnée par l’utilisateur courant en calcu-lant la moyenne des notes données par les utilisateurs du voisinage. • Différents outils fondés sur des techniques d’apprentissage ont été

propo-sés :

- Support Vector Machine (SVM). Cette méthode a été proposée par [CV95] en 1995. C’est une méthode de classification binaire. Elle se-rait plus performante de la techniques des “k-Nearest Neighbors” lors-qu’on observe un éparpillement des données [GFMG05].

- Bayesian classifieur [PB97]. - Réseaux de neurones.

- “Rocchio’s algorithm” [Roc71] adapté à la classification de texte [ILA95]. - etc.

Exemples. Cette méthode a été utilisée fréquemment et on observe un grand

nombre d’applications dans différents domaines : • Recommandations de news [RIS+94]. • Recommandations de livres [Ama]. • Recommandations de musiques [Upe94]. • Recommandations de films [HSRF95]. • etc.

Avantages. Cette approche présente plusieurs avantages :

• Elle est simple et relativement facile à mettre en oeuvre.

• Elle est indépendante de la représentation des données manipulées.

• Elle fonctionne bien avec des objets complexes (à la différence des ap-proches citées plus haut) : musique, films, etc.

Inconvénients. Cette approche présente plusieurs défauts :

• “Cold start problem”. On observe, comme dans l’approche fondée sur l’ana-lyse du contenu des pages, une période de latence pendant laquelle le sys-tème n’est pas capable de proposer des pages aux utilisateurs. Cette période est due au fait que l’approche se fonde sur la comparaison d’utilisateurs. Or, quand peu d’utilisateurs sont enregistrés dans la base, il n’est pas possible (ou du moins rare) de trouver des affinités entre utilisateurs, et donc de pro-poser des conseils (“the cold start problem” [MARS02] [Bur99]). De plus, il apparaît que des difficultés peuvent subsister même avec une base non vide : un éparpillement des données (“data sparsity”) entraîne les mêmes problèmes, i.e., l’impossibilité de proposer des conseils [FBH00] [Bur99]. Ces problèmes risquent d’entraîner une non-utilisation du système puisque l’on va demander aux premiers utilisateurs de noter des pages (donc de don-ner de leur temps, de s’impliquer) sans qu’ils en tirent de bénéfice immédiat. • Intrusivité. De nombreux systèmes, fondés sur cette approche, interrogent l’utilisateur : il lui est demandé de noter les pages, de donner un avis, une ap-préciation. Cette démarche peut être considérée comme intrusive et gênante par des utilisateurs et donc les décourager d’utiliser le système [Dek05] [MRS01].

• Dysfonctionnements. Plusieurs dysfonctionnements sont observés :

- Ce type de systèmes fonctionne mal avec des items trop généraux : l’exemple souvent proposé pour illustrer ce type de problème est celui

des bananes [Bur99] : si l’on tente d’aider l’utilisateur d’un site Web d’une grande surface, on lui conseillera inévitablement d’acheter des bananes puisque celles-ci sont fréquemment achetées et donc liées à de très nombreux produits (vous achetez un produit Y. Comme vous, M. A a acheté le produit Y. Il a aussi acheté des bananes. On vous propose des bananes...). A l’inverse, le système ne fonctionnera pas pour des objets qui s’achètent seuls (par exemple, une voiture) puisqu’il sera difficile pour le système d’associer l’objet à un autre objet, et donc de faire des propositions [Bur99].

- On observe une spécialisation du conseil : l’utilisation d’un profil uti-lisateur tend à ne proposer qu’un certain type de page à l’utiuti-lisateur, sans ouverture possible vers d’autres pages.

- On observe aussi une surexposition des articles populaires : ils sont beaucoup vus, beaucoup notés et donc beaucoup proposés [RAC+02]. Il y a donc mise en place d’un cercle vertueux. A l’inverse, des ar-ticles mal notés dès les premières appréciations, ne seront pas ou peu proposés.

• “porfolio effect”. Lorsque le système propose une page à un utilisateur, il s’assure que l’utilisateur ne l’a pas déjà lue. Cependant, le problème devient ardu lorsqu’il s’agit, par exemple, de proposer à l’utilisateur des articles de presse, des dépêches : il est difficile pour un système automatique de faire le tri entre différents articles présentant globalement la même information [Bur02a].

• Originalité. Il est reconnu [CGM+99] que ce type de système ne fonctionne pas avec des personnes trop originales, i.e., des personnes qui font des choix différents de ceux effectués par la plupart des autres utilisateurs.

2.4.2.2 “Web usage mining”

Principes. Une approche pour proposer des conseils en se fondant sur une

ana-lyse des utilisateurs et de leurs comportements est d’utiliser des techniques de Web mining [EV03]. Les techniques de Web mining peuvent être divisées en 3 classes : analyse du contenu des pages (“content mining”), extraction d’informa-tions en terme d’usage (“usage mining”) ou en terme de structure de pages ou de sites (“structure mining”) [SCDT00]. Il s’agit pour ces techniques d’analyser les traces laissées par les utilisateurs du Web sur les sites Web ou les proxies (logs) ou enregistrées par des navigateurs ad hoc.

Nous allons nous intéresser plus particulièrement au Web usage mining. Ces techniques permettent en effet de :

1. Extraire des comportements particuliers : essayer, grâce à l’analyse de traces, d’extraire des types caractéristiques d’utilisation, i.e., des modèles d’utili-sation (“pattern”).

2. Comparer, grouper des objets ayant des caractéristiques similaires. On parle alors de “clustering”.

En appliquant ces techniques aux logs d’un serveur Web, il est ainsi possible de disposer, sans intervention de l’utilisateur (ce qui n’est pas un avantage négli-geable), d’informations sur les utilisateurs, informations qui pourront ensuite être utilisées pour leur proposer des conseils.

Algorithmes. Les algorithmes utilisés par les techniques d’"usage mining"

fonc-tionnent généralement selon les étapes suivantes :

1. Pré-traitements (“preprocessing”) [CMS99] [Mic02]. Il s’agit d’effectuer des traitements sur les données pour qu’elles puissent ensuite être analysées. Dans le cadre de l’analyse de logs de serveurs Web, il s’agit d’opérations telles que :

• Anonymisation des données. Il s’agit alors, par exemple, de remplacer les IPs des utilisateurs par des numéros.

• Suppressions des requêtes “exotiques” (attaques diverses, requêtes mal formulées, etc.).

• Extraction de sessions. Il s’agit de repérer dans les logs le parcours d’un même utilisateur. On parle alors de session [BL00]. Plusieurs problèmes, spécifiques aux logs, se présentent alors :

- L’utilisation de proxy masque l’utilisateur final : si deux utili-sateurs utilisent le même proxy et parcourent simultanément un même site, les logs du site ne montreront qu’un seul utilisateur. - Des utilisateurs peuvent utiliser des outils masquant ou modifiant

leur IP. On observe alors dans les logs plusieurs parcours pour un seul parcours effectif.

2. Recherche de modèles d’utilisation (“pattern discovery”), de “micro-com-portement” [BPAG05]. Cette recherche peut être effectuée à l’aide de diffé-rentes techniques. Citons :

• Les règles d’association (“association rules” ; par exemple, montrer que telle page est consultée après telle autre) [LAR02].

• Le regroupement d’objets (“clustering”) : il s’agit de trouver et de re-grouper des pages ou des utilisateurs ayant des caractéristiques com-munes.

3. Analyse des modèles trouvés (“pattern analysis”). Il s’agit d’analyser, de filtrer les modèles découverts lors de l’étape 2.

Exemples. Plusieurs systèmes conseillers utilisent des techniques de Web

usage mining. Par exemple :

• [FCS01] et [PE98] qui se fondent sur ces techniques pour adapter les sites Web.

• [MCS00] et [MPT99] qui se fondent sur une analyse des usages d’un site Web pour proposer aux utilisateurs des listes de liens vers des pages.

Avantages. Cette approche présente le principal avantage d’être non

intru-sive : elle est totalement transparente pour l’utilisateur à qui rien n’est demandé et qui pourra bénéficier, sans investissement, de conseils.

Inconvénients. Les reproches associés à cette approche sont principalement

dus aux logs et aux limitations inhérentes à leur utilisation. On sait, par exemple, que certaines informations ne sont pas présentes dans les logs : les phénomènes de cache (cache du navigateur, cache du proxy, etc.) privent les logs d’un certain nombre d’informations. Ainsi, quand l’utilisateur clique sur la touche de retour vers la page précédente, la page affichée est issue du cache du navigateur ; cette requête n’apparaîtra donc pas dans les logs du serveur Web. De même, les infor-mations données par l’utilisateur ne sont pas toujours récupérées (par exemple, les informations associées à la commande POST ne sont pas enregistrées dans les logs). On sait aussi que certaines informations risquent d’être, sinon fausses, du moins altérées : l’IP de l’utilisateur, par exemple, est une information qui peut être incorrecte (cf. ci-dessus).