Easy-DOR : un système de gestion des besoins web au sein d'un groupe d'utilisateurs
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Easy-DOR : un système de gestion des besoins web au sein d’un groupe d’utilisateurs Max CHEVALIER, Christine JULIEN, Claude CHRISMENT Campus Univ. Paul Sabatier IRIT / SIG 118, Route de Narbonne F - 31062 Toulouse Cedex 04 {chevalie, julien, chrisme}@irit.fr Tél : +33 (0)5.61.55.63.22 Fax : +33 (0)5.61.55.63.23 Résumé : De plus en plus d’utilisateurs recherchent de l’information via les réseaux, et plus précisément sur le World Wide Web. Pour arriver à leurs fins ils utilisent soit la navigation, soit des outils de recherche ou de filtrage d’informations. Ces outils sont tout à fait adaptés pour une utilisation individuelle mais ne le sont plus lorsque l’on considère non plus un individu mais un groupe d’individus. Cet article décrit Easy-DOR, un système permettant aux utilisateurs de partager automatiquement des informations au sein d’un groupe. Il prend en compte à la fois les besoins individuels et les besoins collectifs des utilisateurs. Mots-clés : World Wide Web, Système de Recherche d’Information, Système de Filtrage d’Informations, bookmark, profil utilisateur, partage de connaissances. Abstract : Today, more and more users are gleaning information via networks (e.g. Internet and in particular the World Wide Web). To perform this task they use either browsing, searching or filtering tools. These tools are useful for the needs of a single user but are not adapted to a group of users having any information needs. This paper introduces Easy-DOR, a system which enables users to automatically share information within a community. It takes into account individual user’s information needs like collective point of interests. Key-words : World Wide Web, Information Retrieval System, Information Filtering System, bookmark, user profile, knowledge sharing.
1 Introduction Retrouver des informations répondant à nos besoins devient de plus en plus difficile. En effet, les informations électroniques tendent à croître de façon exponentielle et le problème n’est pas trop l’existence des informations mais bel et bien le moyen de les localiser. Ce problème est d’autant plus important sur le world wide web (web) que la masse d’informations disponible est énorme (d’après diverses études le web indexable1 représenterait plusieurs téra-octets d’informations textuelles [LAWR99]). D’autre part, dans la plupart des cas, lorsqu’un internaute consulte ou recherche des informations sur le web il effectue une tâche individuelle. Lorsque cet utilisateur fait partie d’un groupe cet aspect est d’autant plus dommageable qu’il garde, en général, l’information pour lui seul. Pour pallier cet état de fait, nous proposons, à un stade prospectif, un système (Easy-DOR) ayant pour but de permettre à des utilisateurs faisant partie d’un groupe2 (équipe au sein d’un laboratoire de recherche, d’une société…) d’utiliser les connaissances de chacun pour faire évoluer à la fois les connaissances individuelles des utilisateurs ainsi que celles du groupe. La section suivante (§2) présente les outils traditionnels permettant d’obtenir des informations pertinentes sur le web, tandis que le §3 souligne l’émergence des applications permettant un partage des connaissances au travers de la présentation de travaux existants. Le système Easy-DOR que nous avons conçu est introduit dans le §4. Les fonctionnalités offertes par ce système sont ensuite détaillées (§5) pour enfin présenter l’architecture à proprement dite du système (§6). 2 Trouver des informations pertinentes sur le web Pour identifier les informations pertinentes au sein d’une masse documentaire importante, divers outils ont été développés. Il existe deux grands types d’outils : les outils basés sur une approche PULL et ceux basés sur une approche PUSH. Ces deux approches se différencient par la manière d'obtenir les informations. 2.1 Le principe PULL L’utilisation des outils basés sur le principe de PULL nécessite de l’utilisateur une « recherche active ». Ainsi, l’utilisateur doit, dès qu’il souhaite trouver ou mettre à jour des informations pertinentes, ré-interroger le système en reformulant sa requête. Ces systèmes sont appelés Systèmes de Recherche d'Information (SRI) et sont également appelés Moteurs de Recherche [REVE98] lorsque ceux-ci sont appliqués au web. De par son aspect actif, la navigation est assimilée aux outils basés sur le principe PULL. 1 Le web indexable correspond aux pages web effectivement indexées (répertoriées) par les outils de recherche sur le web. 2 Un groupe est un ensemble d’individus quelle que soit leur localisation géographique. PAGENBPAGES
2.2 Le principe PUSH A l’inverse, les utilisateurs emploient des outils basés sur le principe PUSH effectuent une « recherche passive ». L’utilisateur ne formule qu’une seule fois ses besoins au système, qui, dès qu’une information pertinente apparaît (par rapport aux besoins formulés) la lui propose. Ces systèmes sont communément appelés Systèmes de Filtrage d’Informations (SFI). La grande différence entre ces deux catégories d’outils (basés sur le principe PUSH ou PULL) est la façon dont l’information est présentée à l’utilisateur. Avec le principe PULL, l’utilisateur va aux devants de l’information (synchrone) tandis qu’avec le principe PUSH l’information vient automatiquement aux devants de l’utilisateur (asynchrone). Nous ne traitons pas des agents intelligents ([CAGL98]) car ils peuvent rentrer soit dans la catégorie d’outils PULL (méta-moteurs…) soit dans la catégorie d’outils PUSH (outils de veille..). 3 Emergence des systèmes de partage de connaissances Les principes de PULL et PUSH sont des outils destinés généralement à un utilisateur unique. Ces outils sont peu adaptés à un groupe d’utilisateurs possédant à la fois des besoins propres et des besoins communs. Malgré tout, divers projets existent permettant de prendre en compte cet aspect collectif du filtrage/recherche d’information. On peut citer entre autres, l’interface VR-Vibe, l’outil IronWeb, le service en ligne OneView ainsi que l’outil Pharos que nous décrivons sommairement ci-après. 3.1 VR-Vibe VR-Vibe [BENF95] est une interface visuelle pour la recherche d’information (une liste des projets concernant ce type d’interface peut être consultée à l’URL http://www.pitt.edu/~korfhage/viri_bib.htm). Cette interface permet de visualiser tous les résultats de recherche d’information de tous les utilisateurs dans, entre autre, un environnement en trois dimensions (3D). Dans cet espace, chaque utilisateur peut annoter et juger les différents documents retrouvés pour ainsi partager son opinion avec les autres utilisateurs. 3.2 IronWeb Cet outil [DUSS00] permet de créer collectivement une base de connaissances sur le Web. Cette base est construite à partir des bookmarks de personnes jugées expertes du domaine. Dans le cadre universitaire, par exemple, on peut considérer que les professeurs possèdent des bookmarks pertinents quant à leur domaine de recherche. Cet outil permet de centraliser les bookmarks sur un serveur permettant un accès à ceux-ci via le web. Un assistant pour la recherche d’information basé sur l’expérience de navigation des utilisateurs a également été introduit ainsi qu’une interface d’interrogation de la base de connaissances. 3.3 OneView OneView [ONEV99] est un « service en ligne de gestion de favoris (bookmarks) ». Il permet d’avoir un accès à son répertoire de favoris internet à partir de n’importe quel micro- ordinateur au travers d’Internet. Ce service se veut basé sur l’échange de favoris d’utilisateurs à utilisateurs. Il permet également aux utilisateurs de se fédérer en une communauté afin de PAGENBPAGES
construire, ensemble, un répertoire de favoris sur le(s) thème(s) qui les intéresse(nt). Un outil de recherche est également disponible pour effectuer des recherches dans la base de favoris. L’outil effectue également une vérification des « liens morts » (pages non trouvées « erreur 404 »). 3.4 Pharos Pharos [BOUT99], projet de l’INRIA permet à un groupe d’utilisateurs d’annoter et de juger les pages web qu’ils visitent par rapport à leurs centres d’intérêts (channel). Chaque fois qu’un utilisateur visite une page, les annotations et jugements associés lui sont automatiquement présentés. Un module de recherche dans les annotations, urls et titres est également disponible. Ces travaux prennent tous en compte le partage de connaissances en considérant les documents intéressants par rapport à des besoins collectifs. Le projet Easy-DOR que nous allons présenter s’inscrit dans la même optique mais propose outre la gestion des besoins individuels au sein d’un groupe d’utilisateurs, celle des besoins collectifs. 4 Easy-DOR : un système de gestion des besoins sur le Web Easy-DOR (« Easy Document Retrieval ») est un système considérant les utilisateurs comme des individus et comme partie d’un groupe d’individus travaillant ensemble, dans un but commun. On peut constater que lorsqu’un utilisateur utilise le web (que ce soit pour rechercher ou consulter de l’information), il effectue en général une tâche individuelle. Ceci est d’autant plus préjudiciable au sein d’une organisation (société, laboratoire de recherche…) que les problèmes de rétention d’informations sont importants. Filtrage Web Profil collectif (Besoins d’un Profil groupe) utilisateur (Besoins d’un utilisateur) Entrepôt de Intranet documents d’un groupe Figure 1 - Architecture générale du système La prise en compte de la connaissance collective ainsi que la connaissance individuelle est donc essentielle au sein d’un groupe d’utilisateurs. Elle est obtenue (Figure 1) par un outil de PAGENBPAGES
filtrage sur les résultats de recherche d’information. Les besoins individuels sont utilisés pour créer un profil collectif permettant de générer un entrepôt de documents à partir duquel peut être construit un intranet lié aux connaissances d’un groupe d’utilisateurs. Cette section présente, de façon prospective, le système Easy-DOR selon un aspect gestion des besoins individuels (§4.1) et un aspect gestion des besoins collectifs (§4.2) au sein d’un groupe. Les fonctionnalités proposées par ce système sont détaillées dans la section 5. 4.1 Prise en compte des besoins individuels Communément, les outils permettant de trouver de l’information sont destinés aux besoins individuels. D’après le Petit Robert, un besoin peut être définit par : « 2° Loc. verb. Avoir besoin de… (qqun, qqch.). (Subjectif) Ressentir la nécessité de…, vouloir comme nécessaire, utile. V. Désirer, envie (avoir envie de), exiger, réclamer, vouloir… ». Un besoin est matérialisé par les informations susceptibles d’intéresser l’utilisateur. Ces informations peuvent être extraites de documents jugés pertinents par l’utilisateur par rapport à ses centres d’intérêts. Pour matérialiser les besoins d’un utilisateur, un profil utilisateur est construit. Ce profil est une représentation interne des besoins de l’utilisateur afin qu’ils soient interprétables par le système. Un profil utilisateur peut être [KORF97] : - simple : représente les besoins persistants sous forme, par exemple, d’une liste de mots- clés caractérisant ces besoins, - étendu : introduit, en plus des besoins, des informations plus difficiles à cerner (niveau d’éducation, familiarité avec le domaine, habitudes de lecture, préférences spécifiques de l’utilisateur). La limite de la génération des profils simples à partir de documents est qu’elle ne considère que les documents pertinents (profil positif) et en aucun cas les documents jugés non pertinents. Divers travaux s’orientent, aujourd’hui, vers la construction d’un profil négatif prenant en compte ces documents jugés non pertinents [ABCH00][BOUG01][WIDY99]. Ces profils se construisent de la même manière que les profils positifs sauf qu'ils sont générés à partir des documents non pertinents pour l'utilisateur. Pour évaluer si un document est pertinent pour un utilisateur [BOUG01] : - on calcule la distance du document par rapport à chacun des profils respectivement dp, dn pour le profil positif et le profil négatif, - on vérifie si dp > αdn (avec α = 1.2). Le domaine d’application de notre projet Easy-DOR étant le Web, les documents jugés pertinents par l’utilisateur sont déduits des bookmarks3. En effet, lorsqu’il trouve un document intéressant, correspondant à ses besoins, un utilisateur peut sauvegarder son adresse (URL) au sein de ses bookmarks sous la forme d’un signet pour permettre un accès ultérieur rapide. Ces 3 Un bookmark (ou signet) est un raccourci vers une URL (adresse web). Les bookmarks correspondent aux liens « favoris » de l’utilisateur. PAGENBPAGES
bookmarks représentent donc les pages web ayant un intérêt certain pour l’utilisateur ; intérêt pouvant être double du fait que ces pages web font l’objet : - d’un accès fréquent (moteurs de recherches, sites d’actualités…), - d’une grande pertinence concernant les centres d’intérêts de l’utilisateur (site web d’un chercheur dans le même domaine…). De plus, ces bookmarks étant organisés sous la forme d’une arborescence, les besoins généraux se trouvent à la racine et les besoins spécifiques au niveau des feuilles. Cette arborescence peut donc être interprétée comme un ensemble hiérarchique de besoins, l’arborescence étant utilisée telle quelle dans notre système. Dans notre projet Easy-DOR, le profil utilisateur est, dans une première démarche, un profil simple formé par une arborescence de sous-profils (un sous-profil étant une spécialisation du profil racine). Un sous-profil aura comme équivalence un répertoire dans la hiérarchie de bookmarks (Figure 2). La génération de ce profil utilisateur (passage des bookmarks au profil utilisateur) est détaillée dans le paragraphe suivant. Racine Recherche Racine Recherche Page3.htm Filtrage Page0.htm d’informations Recherche d’informations Page1.htm Page1.htm Page2.htm Filtrage d’informations Page0.htm Page1.htm Page2.htm Recherche Page3.htm d’informations Hiérarchie de Profil Utilisateur Bookmarks (chaque cercle représente un sous-profil) Figure 2 - Correspondance hiérarchie de bookmarks - Profil utilisateur 4.1.1 Génération du profil utilisateur Les besoins de l’utilisateur sont représentés au sein du système par un profil utilisateur qui, de façon générale, est généré à partir d’une caractérisation des besoins basée sur une étude statistique du contenu des documents. Création d’un compte utilisateur Pour identifier les différents besoins d’un utilisateur et permettre une gestion individualisée de ceux-ci, il est nécessaire de créer un compte pour chaque individu. Ce compte permet à chaque utilisateur de s’identifier auprès du système et d’accéder aux informations le concernant. PAGENBPAGES
Les besoins d’un utilisateur n’étant pas liés à l’endroit où l’accès a été effectué, il est nécessaire de proposer un accès nomade aux bookmarks. C’est ainsi que tous les bookmarks des utilisateurs sont centralisés sur une machine accessible du web par le biais d’une applet Java4. Lors de la création d’un compte, si l’utilisateur possède déjà des bookmarks ceux-ci sont utilisés pour générer les bookmarks centralisés ainsi que le profil utilisateur. L’utilisateur pourra ainsi utiliser, modifier ses bookmarks au travers de l’applet. Dans le cas ou celui-ci ne possède pas de bookmarks lors de l’initialisation, le profil sera vide. Dans ce cas on peut donner la possibilité à l’utilisateur de saisir un ensemble de mots-clés représentatifs de ses besoins pour initialiser son profil. De plus, le système permet à l’utilisateur de sélectionner les informations qui seront utilisées par le système. En effet, l’utilisateur peut souhaiter de ne pas rendre public tout ou partie de l’arborescence de ses bookmarks dans le cadre collectif. Il lui est également possible, s’il le souhaite, de définir un Seuil d’Intégrité (SDI), pour un répertoire lui permettant de fixer la finesse du filtrage à partir du sous-profil correspondant. Ainsi un SDI élevé provoquera un filtrage très fin (peu de documents sélectionnés mais très pertinents) alors qu’un SDI faible provoquera un filtrage grossier (beaucoup de documents sélectionnés mais pouvant être peu pertinents). Les bookmarks de tous les répertoires autorisés sont utilisés pour réaliser une première tâche de filtrage, identique à celle présentée dans le §4.1.3. La génération prise en exemple est réalisée sur des documents textuels, dans un premier temps, mais peut s’étendre à tous types de document. Etude statistique du contenu des documents Pour permettre des temps de calculs rapides, la génération des profils utilisateurs est généralement basée sur une caractérisation statistique des besoins, besoins représentés grâce au très répandu modèle vectoriel [SALT83]. Cette caractérisation des besoins repose sur l’étude statistique de l’apparition des termes ou « phrases » (ensemble ordonné de termes) caractérisant au mieux un document au sein d’un corpus. Ces termes sont associés à un poids (importance du terme dans le document et dans le corpus) basé sur la formule Tf.Idf bien connue en recherche d’information. De plus, en ce qui concerne les documents semi-structurés comme les pages web, il est possible de prendre en compte la structure pour influer sur la précision de la pondération des termes. Une étude de la structure à des fins de pondération des termes dans les documents semi-structurés est détaillée dans [RIHA00]. Etude sémantique du contenu des documents La génération des profils basée sur une étude statistique du contenu des documents permet une génération rapide des profils ne prenant en compte que les termes apparaissant dans les documents. De ce fait, deux documents sémantiquement similaires peuvent ne pas être rapprochés par le système si le vocabulaire utilisé dans chacun de ces documents est différent. Pour pallier cet inconvénient on peut coupler l’approche statistique avec l’utilisation d'un thesaurus (relations de synonymie, généralisation/spécialisation des termes). Une approche intermédiaire, entre l’étude statistique des mots-clés et l’utilisation d’un thesaurus pour représenter un sous-profil (classe de pages web correspondant à un répertoire de 4 Une applet java est une application téléchargeable au travers du web et s’exécutant sur la machine cliente. PAGENBPAGES
la hiérarchie de bookmarks) peut être l’utilisation d’une méthode de classification telle que « Classification par arbre de suffixes » ou « Suffix Tree Clustering » (STC) de Zamir [ZAMI97]. Cette méthode de classification est linéaire et se base sur l’identification de « phrases » communes à plusieurs documents ; une phrase pouvant être une suite de un ou plusieurs mots ordonnés. Dans notre première démarche, nous utilisons, par soucis de simplicité, des profils utilisateurs simples générés par étude statistique. Pour améliorer les résultats de la tâche de filtrage, le système utilise les profils positifs et négatifs. 4.1.2 Génération statistique du profil utilisateur dans Easy-DOR Les profils utilisés dans Easy-DOR correspondent aux informations extraites des documents et susceptibles d’intéresser l’utilisateur. Ils sont baséssur une étude statistique du contenu des documents textuels (pages web). Il est bien entendu que diverses autres méthodes pourront être utilisées à la fois pour représenter le contenu des document que le profil lui-même. A la création d'un compte, à un sous-profil correspond un vecteur vide lui-même lié à un répertoire de la hiérarchie de bookmarks vide. Description d’un sous-profil dans Easy-DOR A chaque sous-profil dépend une liste de pages et de sous-répertoires contenus dans le répertoire correspondant au sous-profil. Chacun des éléments contenus dans un répertoire est représenté sous la forme d’un vecteur descripteur contenant des couples terme-poids (selon le modèle vectoriel) : - les pages web sont analysées statistiquement afin d’en extraire le vecteur descripteur des termes significatifs avec leur poids , - les sous-répertoires sont représentés par un sous-profil dont le vecteur descripteur évolue au fur et à mesure des modifications que l’utilisateur applique à ses bookmarks. Le calcul d’un sous-profil (relatif à un répertoire contenant d’autres répertoires) s’effectue de la même manière considérant un répertoire comme un document (leur descripteur étant de la même structure). Le calcul de l'arborescence des bookmarks se fait en cascade : si le sous-profil d’un sous-répertoire est mis à jour, le sous-profil du répertoire « parent » est mis à jour etc… et ce jusqu’à à arriver à la racine de l’arborescence. Les termes issus des noms de répertoires qui sont, normalement, représentatifs du contenu de ces répertoires sont également pris en compte pour la description d’un sous-profil. Analyse statistique du contenu des pages web Le contenu de chaque page web correspondant à un bookmark du répertoire, est analysé : recherche des termes les plus caractéristiques du contenu de cette page. Pour cela la page sera considérée comme étant un vecteur Di = (w1, w2, w3,…, wn) où wj est le poids du terme j dans la page i. Ce poids dépend généralement de la fréquence du terme (tf), de la fréquence inverse du terme (idf) dans le corpus (ensemble des pages déjà analysées et ce pour n’importe quel utilisateur) ainsi que de la longueur de la page. PAGENBPAGES
Pour la première page insérée sous forme de bookmark la fréquence inverse du terme étant inconnue. Par conséquent le poids d’un terme sera calculé par tfi/tfmax où tfi est la fréquence du terme dans le document et tfmax la fréquence maximum pour ce document. Pour réduire la dimension de ce vecteur, les mots vides ainsi que les mots communs sont supprimés. Les termes restants sont quant à eux radicalisés. De plus, après classement par poids décroissant seuls les k premiers termes sont conservés dans le profil afin de permettre des traitements plus rapides. En effet, pour un échantillon de 20 pages web le nombre de termes représentatifs de cet ensemble est souvent supérieur à 5.000 termes [PAZZ97]. Implication de l’utilisateur dans la génération des profils Afin d’éviter le tout automatique, l’utilisateur, s’il le souhaite, a la possibilité de modifier le poids des différents termes d’un profil. Il peut ainsi supprimer les termes qui lui semble non pertinents (ils seront alors automatiquement ajoutés au profil négatif) ou les réorganiser (augmenter ou diminuer l’importance d’un terme) voire même en ajouter. Le poids alloué à ces termes ajoutés ou déplacés est fonction de la position où l’utilisateur insère effectivement les termes dans le vecteur. Le paragraphe suivant détaille l’utilisation de ces profils utilisateurs dans la phase de filtrage d’informations pour permettre implicitement à un utilisateur d’acquérir les informations collectées par les autres individus afin d’enrichir sa propre connaissance. Contrairement au système IronWeb, dans lequel les utilisateurs ne s’enrichissent que par l’intermédiaire de la base de connaissances, l’enrichissement individuel, dans Easy-DOR, se réalise par la présentation automatique et immédiate des pages susceptibles d’intéresser l’utilisateur. 4.1.3 Processus de filtrage des pages web Pour ré-utiliser les pages web d’un utilisateur afin de les proposer éventuellement à un autre, il est nécessaire de réaliser une tâche de filtrage. Pour cela nous allons prendre en compte la recherche d’information réalisée par tous les utilisateurs grâce à un espion de connexions web : le « sniffer ». Cette tâche de filtrage repose sur les connexions web des utilisateurs ainsi que sur le contenu des documents liés à de nouveaux bookmarks insérés par les utilisateurs. Confidentialité des informations lors de la tâche de filtrage Pour permettre à l’utilisateur de ne pas utiliser ses pages personnelles (e-mail, comptes bancaires en ligne…) lors de la tâche de filtrage le système de filtrage peut être désactivé et réactivé à tout moment. Cette fonction est disponible au travers du frontal. L’espion de connexions web : le « sniffer » Ce composant réalise la tâche d’un proxy [MIGN00] sans toutefois réaliser l’activité de cache d’informations. Ce composant est construit selon l’architecture d’un proxy permettant de faire le lien entre le navigateur web et les pages web. La spécificité de ce sniffer est qu’il permet de détecter certains types de contenu pour en faire une copie afin que ces contenus puissent être exploités par un processus annexe. Les types de contenu reposent sur le paramètre « Content- Type » présent dans la réponse du serveur web lors de la visite d'une page web. Ce paramètre respecte les types MIME définis (Multipurpose Internet Mail Extension) [MIME]. PAGENBPAGES
L’administrateur du système a la possibilité de choisir parmi ceux-ci, les types qu’il souhaite utiliser dans la phase de filtrage. Par défaut les types textuels (text/html, text/plain..) sont utilisés. L’utilisation d’une architecture proxy peut être justifiée par l’étude d’un proxy réel. Par exemple l'étude d’une journée (18/12/2000) au sein de notre laboratoire (345 postes clients) nous montre que le proxy a géré 142.374 connexions. Ces connexions se répartissent selon le type de leur contenu : - Images 92823 connexions (65,2 %) - HTML 4487 connexions (3 %) - Directory 3282 connexions (2,3 %) - SHTML 306 connexions (0,21 %) - Bundle 201 connexions (0,15 %) - Text 112 connexions (0,08 %) - Movie 59 connexions (0,05 %) - Audio 12 connexions (0,01 %). - Autres 41092 connexions (29 %) Ainsi si l’on ne considère que les documents textuels (HTML, SHTML, text) l’application ne détecte que 4% des connexions effectives (soit 4905 connexions) par jour ; connexions prises en compte lors de la phase de filtrage. Le contenu de toutes les connexions détectées par le sniffer (connexions correspondant aux types MIME souhaités) est ensuite exploité à des fins de filtrage d’informations (Figure 3). Sniffer Navigateur Web Web û ü ü Connexions détectées Filtrage Figure 3 - Fonctionnement du Sniffer Exploitation du contenu des connexions détectées L’exploitation des connexions détectées est basée sur une indexation correspondant aux types de contenus. Chaque contenu textuel est représenté de la même manière que dans le §4.1.1 via le vecteur descripteur Di=(w1, w2, …, wn). Pour vérifier si un document (contenu correspondant à une connexion) est susceptible d’intéresser un utilisateur du système, un rapprochement entre le vecteur Di et les différents profils de l'utilisateur est effectué. Pour cela, nous utilisons une valeur de similarité communément utilisée : la distance cosinus. Cette valeur de similarité est définie par : (mesure de cosinus) cosinus (Dx, Dy) = (Dx l Dy) / ||Dx|| ||Dy||, où l représente le produit scalaire et ||D|| la norme du vecteur D. PAGENBPAGES
Elle est calculée à partir des vecteurs centroïdes des sous-profils et des documents détectés par le sniffer. Pour chacun des sous-profils, le SID permet d’indiquer le seuil minimum de similarité accepté. Ainsi, un SID de 0.8 pour un sous-profil, indique que seuls les documents dont la valeur de similarité est supérieure ou égale à 0.8 seront présentés à l’utilisateur. Il résulte de cette phase un ensemble de couples (sous-profil, document) indiquant que le document Di a été accepté par le sous-profil Sj. Ces documents sont automatiquement et immédiatement présentés aux utilisateurs au travers de leur hiérarchie de bookmarks. Pour chacun des sous-profils, un nouveau répertoire nommé « nouveaux documents détectés » est créé (s’il n’existe pas déjà) dans la hiérarchie de bookmarks. Ce répertoire n’influera pas sur le sous-profil car il est exclu de tout traitement. Dans ce répertoire un bookmark correspondant à l’url du document est créé (Figure 4). Afin d’éviter que ce répertoire ne contienne trop de bookmarks, une politique de suppression est mise en place. Ainsi une Durée de Vie des Documents (DVD) est introduite indiquant que les documents seront supprimés du répertoire « nouveaux documents détectés » si aucune action de la part de l’utilisateur n’a été réalisée pendant cette DVD. Racine Recherche Page0.htm Recherche d’informations Page1.htm Page2.htm Filtrage d’informations Page1.htm Page4.htm Nouveaux documents Supprimer Page4.htm Insérer comme bookmark Page3.htm Déplacer ce signet vers un autre répertoire Figure 4 - Document présenté à l'utilisateur au travers de ses bookmarks Evolution des profils utilisateurs Soit U = {Tp1, Tn1, …, Tpm, Tnm} l’ensemble des sous-profils positifs Tpm et négatifs Tnm correspondant chacun à un thème ou un sous-thème (répertoire de la hiérarchie de bookmarks), chaque Tm étant un vecteur de poids. Dans une première approche, l’évolution des profils s’effectue implicitement de la même manière que celle décrite dans [BALA98], c’est à dire en fonction des réactions de l’utilisateur face à un bookmark. Dans les formules utilisées ci-dessous, afin de garder les poids d’un profil normalisés entre 1 [0, 1], nous utilisons une fonction ϕ(x, y) sigmoïde de la forme − ( x −θ ) *y. 1+ e T PAGENBPAGES
Pour un bookmark donné, le document qui s’y rapporte est caractérisé par le vecteur descripteur d et di correspond au ième terme de ce vecteur. L’utilisateur a plusieurs options possibles quant aux actions qu’il peut réaliser sur l’arborescence des bookmarks : - ignorer un nouveau bookmark proposé par le système : l’utilisateur ne prête aucune attention au nouveau bookmark présenté par le système et le laisse dans le répertoire « nouveaux documents détectés ». Celui-ci sera supprimé automatiquement dès que sa DVD sera dépassée. Si tel est le cas les poids des termes du sous-profil positif Tn seront modifiés selon Tpn=(Tpn+ϕ(IGNORE,di))/2 ∀ di ∈ d. Par contre aucun jugement de pertinence ne sera fait tant que le document apparaîtra dans le répertoire des nouveaux documents, - supprimer un bookmark d’un répertoire : l’utilisateur supprime le bookmark du répertoire où il se trouve. Pour cela il doit indiquer la raison de cette suppression. Les possibilités peuvent être : - Dans le cas où il s’agit d’un bookmark présenté par le système (« feedback ») : - le document associé au bookmark n’est pas pertinent pour ce répertoire. Le document est pris en compte dans le profil négatif qui sera modifié selon Tnn=(Tnn+ϕ(SUPPRIME,di))/2 ∀ di ∈ d, - le document est pertinent mais pas suffisamment pour vouloir le garder dans ses bookmarks. Le document est pris en compte dans le profil positif qui sera modifié selon Tpn=(Tpn+ϕ(PERTINENT,di))/2 ∀ di ∈ d, - Dans le cas où il s’agit d’un bookmark propre à l’utilisateur : - le document associé au bookmark n’existe plus. Il n’y aura aucune incidence sur le profil, - le document n’est plus pertinent à cause d’une modification par exemple. Le nouveau contenu du document est pris en compte dans le profil négatif qui sera modifié selon Tnn=(Tnn+ϕ(MODIFICATION,di))/2 ∀ di ∈ d, - insérer une page comme bookmark : l’utilisateur juge que le document associé au bookmark vaut la peine d’être sauvegardé sous la forme d’un bookmark. Cette insertion peut se faire à n’importe quel niveau de l’arborescence. Le document est pris en compte dans le profil positif qui sera modifié selon Tpn=(Tpn+ϕ(AJOUT,di))/2 ∀ di ∈ d, - déplacer un bookmark vers un autre répertoire : cette action revient à supprimer le bookmark du répertoire et à l’insérer comme bookmark dans un autre. - fonction de pertinence d’un document pour un profil : A l’inverse de [BALA98] qui permet à l’utilisateur explicitement de préciser les documents qui font référence dans un domaine donné, nous utilisons (implicitement) le nombre de connexions à un document via un bookmark comme fonction de pertinence d’un document. Ainsi plus le contenu d’un document est visité au travers d’un bookmark plus ce document devient une référence pour le profil. Un compteur d’accès est donc introduit pour permettre la mise à jour du sous- profil en fonction du nombre d’accès réalisés. Le résultat de cette évolution correspond à la formule : Tpn=Tpn+(1-Tpn)*ϕ(δ(Cpt),1) où Cpt correspond au nombre de fois que l’utilisateur a visualisé le document au travers du bookmark et δ(Cpt) une fonction permettant de minimiser l’évolution des poids dans le profil (ex : δ(x) = log(x) – λ avec λ>0). La valeur de λ devra être choisie selon l’évolution que l’on souhaite voir appliquer au profil (Figure 5). Afin de limiter les mises à jour des profils en cascade, la mise à jour PAGENBPAGES
causée par le nombre de visites s’effectuera par paliers. On choisira par exemple de ne mettre à jour le profil que lorsque le nombre de visites d’un bookmark est un multiple de 5. 1 0,8 0,6 ϕ(δ(Cpt)) 0,4 0,2 100000 100 0 Nbre de visites (x) 1 1 5 10 20 Valeurs de λ Figure 5 – Valeurs de ϕ(δ(Cpt),1) selon le nombre de visites et le paramètre lambda A chaque modification du profil, un reclassement des termes est réalisé selon l’ordre inverse des poids afin de ne limiter le vecteur qu’aux k premiers termes. Les valeurs IGNORE, SUPPRIME, PERTINENT, MODIFICATION, et AJOUT sont à fixer expérimentalement. En plus de ces actions réalisables sur les bookmarks, l’utilisateur peut gérer son arborescence en créant ou en supprimant des répertoires. La suppression d’un répertoire implique la mise à jour du sous-profil du répertoire parent du répertoire supprimé (processus identique à la suppression d’un bookmark). Ces actions sont réalisables par l’intermédiaire d’un menu contextuel (Figure 4). Dans cette figure le bookmark associé au document Page4.htm est présenté dans le répertoire « filtrage d’informations ». Grâce à ce système chacun des utilisateurs profite automatiquement des informations visitées sur le web par les autres utilisateurs. Ce système est intéressant, car il permet de prendre en compte tous les besoins des utilisateurs même ceux qui ne correspondent pas aux besoins collectifs. En effet, un utilisateur qui utilise le web ne connaît pas tous les centres d’intérêts des autres utilisateurs de son groupe. De même, un utilisateur peut visiter des pages (lors de la navigation notamment) qui ne l’intéressent pas forcément mais qui peuvent être pertinentes pour un autre utilisateur. Outre la gestion des besoins individuels on gère les besoins collectifs d’un groupe d’utilisateurs. Les centres d’intérêts collectifs vont permettre de construire une « mémoire » de groupe. PAGENBPAGES
4.2 Prise en compte des besoins d’un groupe d’utilisateurs Au sein d’une organisation, l’idée de groupe d’utilisateurs est un point important à prendre en considération. En effet, chaque utilisateur travaillant au sein d’un même groupe possède ses propres centres d’intérêts mais partage également une optique de travail commune au groupe. Il est donc intéressant de prendre en compte les besoins d’un groupe d’utilisateurs pour générer un entrepôt de documents. Celui-ci sert à rendre les documents accessibles de manière permanente et à éventuellement générer un serveur intranet associé à cet entrepôt. Cet intranet permet à quiconque de naviguer dans ces pages d’intérêts communs. Les besoins d’un groupe passent nécessairement par une exploitation et un recoupement des besoins de chacun des individus composant ce groupe. En effet, les documents ayant un intérêt pour un groupe sont des documents qui sont pertinents pour une grande majorité d’individus. 4.2.1 Génération du profil collectif Un groupe, au sens où nous le considérons, est un ensemble défini d’individus ayant leurs propres centres d’intérêts ainsi que des centres d’intérêts communs. A un groupe nous associons un profil de groupe. En réalité ce profil de groupe correspond à l’ensemble des documents pertinents pour le groupe. Cette pertinence est calculée par rapport aux actions réalisées par les utilisateurs sur les bookmarks présentés par la tâche de filtrage ainsi que par rapport aux documents insérés dans la hiérarchie de bookmarks par l’utilisateur lui-même. Nous qualifions un document de pertinent pour le groupe si le nombre d’utilisateurs ayant jugé ce document comme pertinent est supérieur au Seuil de Communauté (SC). Ainsi si SC est fixé par l’administrateur à 0.6 (entre 0.0 et 1.0), cela signifie que pour qu’un document soit pertinent pour le groupe il est nécessaire que 60% des utilisateurs du groupe l’aient jugé pertinent. Si un document n’a pas été proposé par la phase de filtrage à un utilisateur, c'est qu'i a été jugé non pertinent pour cet utilisateur. De plus, afin de définir un classement entre les documents pertinents, pour chacun d’entre eux nous affectons un degré de pertinence de groupe. Ce degré de pertinence est calculé en fonction du nombre d’accès à un document que les utilisateurs ont réalisé au travers d’un bookmark s et du nombre d’utilisateur du groupe qui possèdent ce bookmark. Ainsi on calcule, pour chaque bookmark correspondant à un document pertinent pour le groupe, N 1 N le degré de pertinence de groupe Pg = θ( å Cpt ) où N correspond au nombre NB N 1 d’utilisateurs possédant ce bookmark, NB le nombre d’utilisateurs dans le groupe et Cpt le nombre d’accès que l’utilisateur a réalisé au document au travers du bookmark. La fonction θ est une fonction normalisée entre [0, 1]. L’administrateur pourra ainsi fixer un seuil de pertinence minimale pour les documents à insérer dans l’entrepôt. 4.2.2 Génération d’un entrepôt de pages web dédié à un groupe Afin d’éviter que les documents pertinents pour le groupe ne deviennent « instables » (suppression, déplacement, modification des pages web…) et pour constituer automatiquement une base de connaissances, à chaque groupe est associé un entrepôt de documents. Cet entrepôt a pour but de rendre les informations accessibles de façon permanente et de permettre par exemple des processus de découverte de connaissances ou toute autre analyse (recherche d'information, data mining…). L'entrepôt est approvisionné avec les documents jugés pertinents pour le groupe PAGENBPAGES
(via Pg). Un exemple de génération d’entrepôt pour les documents semi-structurés a été présentée dans [RIHA00]. Dans cette approche, le document semi-structuré (page web) est traité par rapport aux différents éléments de structures qui le composent (balises Hi, P…). Autour de cet entrepôt, divers modules ont été conçus. 4.2.3 Génération d’un « intranet » à partir des entrepôts de groupe Les entrepôts, générés à partir des documents les plus pertinents pour les groupes d’utilisateurs, permettent de générer un « intranet » afin que tout utilisateur puisse accéder aux documents contenus dans les entrepôts. L’accès aux documents s’effectue selon deux méthodes : - un accès à partir d’une arborescence générée par une classification hiérarchique des documents au sein de chaque entrepôt, - un formulaire de requête qui permet d’interroger le contenu de l’ensemble des entrepôts ou d’un entrepôt spécifique. En ce qui concerne l’interrogation d’un entrepôt, la pertinence des documents retrouvés pourra tenir compte en plus de l’appariement requête - document, de la pertinence de groupe Pg pour reclasser les documents par exemple. La construction de l’intranet peut également reposer sur une génération automatique ou semi- automatique (« ré-écriture ») de pages web à partir du contenu des documents des entrepôts. 4.2.4 Interface de visualisation des résultats d’une recherche dans les entrepôts L’interrogation des entrepôts pouvant procurer un nombre de résultats important, il est primordial d’intégrer des interfaces de visualisation de ces résultats de recherche. Ces interfaces tendent à pallier les limites des listes de résultats lorsque le nombre de documents retrouvés est important [HEAR95], permettant ainsi à l’utilisateur d’identifier au mieux les documents pertinents. ISIDORView [CHEV01] propose, par exemple, une visualisation globale des résultats en trois dimensions basée sur une répartition spatiale ainsi qu’une utilisation des couleurs spécifiques. La gestion des besoins d’un groupe passe par une sauvegarde persistante des documents pertinents. Ces entrepôts peuvent servir, dans un cadre pédagogique, comme point de départ de toute étude. En effet si l’on considère un doctorant débutant sa thèse, il est intéressant de lui donner les moyens de la débuter à partir de pointeurs pertinents (sauvegardés dans l’entrepôt) plutôt qu’à partir de zéro. Cette possibilité n’est, certes, envisageable que si l’on considère divers types de fichiers (PDF, PS..) (et non plus que les documents textuels) puisqu’une grande partie des documents utilisés dans le cadre de la Recherche est aujourd’hui accessible via le web. 5 Fonctionnalités escomptées Pour permettre à l’utilisateur et à l’administrateur une meilleure utilisation d’Easy-DOR, nous avons identifié diverses fonctionnalités intéressantes à mettre en œuvre. 5.1 Classification de tout ou partie des bookmarks Permet à l’utilisateur d’obtenir une nouvelle hiérarchie de bookmarks. L’utilisateur peut souhaiter : PAGENBPAGES
- réaliser une hiérarchie type (contenant des documents exemples) à partir de laquelle le système ventile tous les bookmarks, - abandonner la hiérarchie existante et demander au système de créer une nouvelle arborescence à partir des bookmarks existants (via une classification hiérarchique par exemple) tout en ayant la possibilité de préciser la profondeur maximale de celle-ci. 5.2 Mise à jour et vérification des bookmarks Easy-DOR permet de vérifier périodiquement et automatiquement la persistance des documents associés aux bookmarks. Cette tâche correspond à télécharger le contenu des documents pointés par les bookmarks et comparer le descripteur de cette nouvelle version du document avec celui déjà existant. Pour cela on utilise un calcul de similarité entre les deux descripteurs. Trois événements peuvent alors se produire : - le contenu du nouveau document diffère du contenu existant : la description du document est mise à jour. Les utilisateurs possédant un bookmark pointant vers ce document sont avisés (par une icône par exemple), - le lien n'existe plus : on le supprime de la base et on avise les utilisateurs possédant un bookmark pointant vers ce document; - le document a changé d'URL : on met à jour la base et on avise les utilisateurs possédant un bookmark pointant vers ce document. 5.3 Recherche automatique de nouvelles pages web Des systèmes comme WebCluster [HARP99] permettent à partir d’une classe de documents de générer une requête afin d’interroger un moteur de recherche pour retrouver de nouveaux documents pertinents pour cette classe. Ainsi une telle méthode étendue à chaque sous-profil (qui n’est en fait qu’une classe de documents) permet d’obtenir de nouveaux documents susceptibles d’intéresser l’utilisateur. Toutes ces fonctionnalités reposent sur l’architecture du système présentée dans la section suivante. 6 Architecture d’Easy-DOR Easy-DOR repose sur une architecture d’application client-serveur et sur l’utilisation d’une base de données (Figure 6 et Figure 7). 6.1 Application client-serveur En ce qui concerne le frontal, il s’agit d’une applet (notamment pour l’accès nomade aux bookmarks). Le dialogue s’effectue par le biais du protocole http dans le sens frontal à serveur et RMI ou CORBA dans le sens serveur à frontal. Concernant la phase d’authentification de l’utilisateur (via un login/password) le système utilise les cookies [COOK]. PAGENBPAGES
6.2 Base de données La Figure 7 présente en détail le schéma de base de données pour des profils générés par une méthode statistique. 6.2.1 Entité « répertoire » Cette entité représente un répertoire de la hiérarchie de bookmarks. Les associations « fils » et « contient » permettent de reconstituer la hiérarchie des bookmarks en respectant l’ordre des éléments dans la hiérarchie (« N°ordre »). La propriété « Cpt » correspond au nombre d’accès au document à travers le bookmark contenu dans ce répertoire. Client Serveur Sniffer HTTP HTTP Activation ? Navigateur Web HTTP û HTTP ü Applet ü Connexions détectées (Frontal) Si Alors Cosinus(Di,Dj) ≥ SDI HTTP Ajout de bookmarks Indexation Profils RMI/CORBA utilisateurs Documents Tâche de filtrage Détection de connexions Bookmarks Entrepôts Figure 6 - Architecture générale d'Easy-DOR PAGENBPAGES
Utilisateur Groupe Entrepôt 0,n Fait partie 1,n User_ID Groupe_ID possède Entrepot_ID Nom Seuil Communauté Nom Prénom Login 1,n IP Password Adresse_IP 0,n Date Filtrage_Actif ? Date 0,n 0,n Est composé Racine Est 0,n connecté 0,n Présentation 0,n Action Répertoire ID_Noeud Nom Fils 0,n Utilisé ? N°ordre Est décrit par* SDI 1,1 poids Est décrit par 1,n 1,n poids 0,n 1,n 0,n Termes radicalisés Radical_ID Document radical Document_ID Taille_Document Type_Document Document_Date Document_URL Contient 0,n N°ordre Cpt Nom Bookmark * : il y a en réalité 2 associations « est décrit par » entre « Répertoire » et « Termes radicalisés » représentant l’une le profil positif, l’autre le profil négatif. Figure 7 - Schéma de base de données du système 6.2.2 Entité « document » Cette entité représente un document avec toutes ses caractéristiques. Le paramètre « Document_Date » est la date d’insertion du document dans la base. On retrouve le vecteur descripteur Di pour un document via l’association « Est décrit par » avec les termes radicalisés. L’élément « Représentation du contenu » représente un sous-schéma de la base de données permettant de stocker le contenu d’un document à des fins de recherche d’information (cf. [RIHA00] concernant les documents semi-structurés). Via l’association « Présentation », on sauvegarde tous les documents qui ont été présentés pour un répertoire (sous-profil) donné. Pour chaque présentation on sauvegarde la date pour calculer la DVD et l’action que l’utilisateur a engendré pour ce document. Ces actions sont celles répertoriées dans le §4.1.3. 6.2.3 Gestion de la base de données Une fonctionnalité importante du système est la possibilité de gérer la taille de la base de données sur laquelle Easy-DOR repose. PAGENBPAGES
Vous pouvez aussi lire