Easy-DOR : un système de gestion des besoins web au sein d'un groupe d'utilisateurs

 
CONTINUER À LIRE
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