Une aide personnalisée et adaptative pour la recherche d'information ...

MOTS-CLÉS : Recherche d'information, Agent Intelligent, Classification de ... Par exemple, un moteur de recherche ramène pour la requête «thread pattern».
1MB taille 3 téléchargements 135 vues
Une aide personnalisée et adaptative pour la recherche d’information sur le Web J.C. Bottraud *,** — G. Bisson ** — M.F. Bruandet * * Laboratoire Leibniz-IMAG, équipe Apprentissage Machine 46 Avenue Félix Viallet F-38031 Grenoble Cedex ** Laboratoire CLIPS-IMAG, équipe MRIM Université Joseph Fourier F-38041 St Martin d’Hères {jean-christophe.bottraud, gilles.bisson, marie-france.bruandet}@imag.fr Les outils disponibles pour rechercher de l’information sur le World Wide Web ont une approche généraliste, ne prenant pas en compte les caractéristiques de l’utilisateur, ce qui limite la qualité des résultats qu’ils sont susceptibles de fournir. L’agent présenté ici utilise les références documentaires rassemblées par l’utilisateur pour construire un profil le représentant, puis interprète les requêtes et filtre les résultats proposés par les moteurs de recherche du Web. Il utilise également des informations obtenues en observant les activités en cours de l’utilisateur pour restreindre l’utilisation du profil aux parties les plus pertinentes. RÉSUMÉ.

ABSTRACT.

Available tools to retrieve information from the World Wide Web have a generalist approach that does not account for the characteristics of the user, which limits the quality of the results that they can give. The agent presented here uses document references gathered by a user to build a profile representing her/him, then uses it to interpret the queries and to filter the results returned by the search engines. It also uses information gathered while observing the on-going activities of the user to restrict use of the profile to its most relevant parts. : Recherche d’information, Agent Intelligent, Classification de documents, World Wide Web, Adaptation, Contexte MOTS-CLÉS

KEYWORDS :

Information Retrieval, Intelligent Agent, Document clustering, World Wide Web, Adaptation, Context.

1. Introduction Les moteurs de recherche actuels travaillent à partir de bases d’index de grande taille, généralement construites à l’aide de robots accédant aux documents publiés sur le Web. En dépit d’une amélioration constante des processus d’indexation et de recherche, les résultats fournis restent parfois difficiles à utiliser, pour plusieurs raisons (Lynch C., 1997 ; Members of the Clever Project, 1999) : - Les utilisateurs n’emploient habituellement que quelques mots (moins de 5) pour décrire le document recherché ce qui peut donner lieu à des ambiguïtés. Par exemple, un moteur de recherche ramène pour la requête «!thread pattern!» comme documents les plus pertinents 2 documents sur le développement de logiciels, 3 sur les textiles et 3 sur l’industrie de l’acier ou du plastique. - La pertinence d’un document par rapport à une requête est évaluée par ces services pour un utilisateur « moyen », sans que soient pris en compte les besoins de l’utilisateur effectif, ni son niveau d’expertise réel. - Les objectifs du propriétaire du portail et ceux de l’utilisateur peuvent diverger, le premier pouvant avoir intérêt à promouvoir certains sites (suivant des objectifs commerciaux ou politiques, Barghava et al. 2002 ; Olsen S. 2003 ; Sullivan D. 2002) aux dépens d’autres qui seraient plus pertinents pour l’utilisateur. Pour surmonter ces problèmes, différents auteurs (voir la partie 2) proposent de mettre en place un « assistant » s’exécutant sur la machine de l’utilisateur et qui joue le rôle de médiateur entre celui-ci et le moteur de recherche. Cependant, l’acceptation d’un tel système dépend autant de son efficacité intrinsèque que de sa faculté à ne pas augmenter la charge de travail de l’utilisateur. Aussi, l’assistant doit être apte à «!comprendre!» automatiquement les objectifs d’une requête au travers des quelques mots qui la compose. Pour cela, il doit pouvoir lever l’ambiguïté des termes utilisés et filtrer les documents retournés à la fois sur la base de critères spécifiques à son utilisateur et par la détection du contexte de travail courant. Nous proposons ici un système doté des caractéristiques suivantes : - Il construit un modèle (ou « profil ») de l’utilisateur en analysant et classifiant une collection de documents ou de références gérées par celui-ci. - Il suit en permanence les activités de l’utilisateur et en collecte les sous-produits (documents édités ou consultés, segments de texte copiés dans le «!presse-papier!», etc.) de manière à identifier le thème général du travail en cours. - Lors des recherches d’information, il identifie un contexte à partir de ses observations et du profil utilisateur. Il utilise ce contexte pour aider l’utilisateur dans sa recherche en reclassant les documents retrouvés. La première partie de cet article présente un ensemble de travaux en rapport avec le système et les objectifs proposés, puis nous faisons une description générale du système. Nous détaillons ensuite les méthodes et le processus de création du profil de l'utilisateur, ainsi que la prise en compte du contexte de la requête. Enfin, la dernière partie présente l’évaluation du système et la démarche utilisée.

2. Revue des travaux existants Un grand nombre de publications décrivent des systèmes cherchant à résoudre les problèmes que nous analysons ici, avec des approches comparables. Il s’agit essentiellement de systèmes correspondant à des assistants pour la recherche d’information, mettant en jeu des mécanismes de filtrage, d’apprentissage et de bouclage de pertinence («!relevance feedback!»). La plupart de ces systèmes utilisent un modèle pour représenter les documents et en abstraire l’information contenue. Bien que plusieurs représentations aient été proposées, la plus populaire reste le modèle vectoriel initialement défini par (Salton G. 1971). Notre approche étant fondée sur ce modèle, seuls les travaux correspondant sont présentés ici. Dans les approches initialement proposées (par exemple, dans LIRA (Balabanovic et al., 1995) ou Syskill & Webert (Pazzani et al., 1996)), l’utilisateur est modélisé avec un vecteur de termes unique adapté en fonction du «!feedback!» fourni par l’utilisateur sur les documents sélectionnés par le système. Bien que raisonnablement efficaces lorsque dédiés à un seul objectif de recherche d’information (une veille sur un sujet précis), ces systèmes ont du mal à gérer un changement de l’intérêt de l’utilisateur. C’est pourquoi certains systèmes (tel WebMate – Chen et al.,1998) combinent plusieurs vecteurs de façon à pouvoir s’adapter dans une certaine mesure à un changement de sujet. Ils continuent cependant à avoir des problèmes à s’adapter aux évolutions des besoins en information de leurs utilisateurs. Ces besoins évoluent avec le temps et cette évolution interfère avec les changements de sujets. C’est ce type de problème que les systèmes plus récents (par exemple, News Dude (Billsus et al., 1999) ou Alipes (Widyantoro D. H, 1999 et 2000)) essaient de traiter, en prenant explicitement en compte une dimension temporelle, représentée par l’utilisation de deux ensembles de vecteurs, le premier évoluant rapidement en fonction du feedback de l’utilisateur, le second évoluant plus lentement, sur des règles différentes. La pertinence d’un document est évaluée en combinant l’évaluation obtenue par la comparaison avec chacun de ces deux ensembles. Tous ces systèmes font évoluer leur représentation des objectifs de l’utilisateur à l’aide de mécanismes de feedback. Certains (par exemple LASER (Boyan et al., 1996) ou Letizia (Lieberman 1995)) gèrent un système de poids associés à des termes pour évaluer une similarité entre documents dans un espace métrique (documents et profils sont représentés par des vecteurs dans le même espace). Ces systèmes utilisent souvent des variantes de la méthode «!Rocchio Relevance Feedback!» (Rocchio J. J., 1971), en observant les réactions de l’utilisateur aux documents proposés. Les documents jugés pertinents sont utilisés pour adapter les poids associés aux termes du profil et faire évoluer ce dernier pour mieux l’adapter à l’utilisateur. Plus récemment on voit apparaître des techniques d’apprentissage automatique, comme des réseaux de neurones (Shavlik et al, 1999 et Goecks et al., 2000), des probabilités Bayésiennes (Pohl et al., 1999), des algorithmes à base de règles (Bloedorn E. et al, 1996 ou Krulwich et al., 1997) ou des algorithmes

génétiques (Moukas et al., 1997, Menczer F., 1997, Nick et al., 2001). Plusieurs approches peuvent d’ailleurs être combinées (Billsus et al., 1999 ou Mladenic D.), et une comparaison de différentes approches a été faite dans (Pazzani et al., 1996), avec la conclusion que les méthodes fondées sur Rocchio, les réseaux neuronaux ou les classificateurs Bayésiens donnent les meilleurs résultats. Cependant peu de systèmes utilisent des informations contextuelles non directement liées à la recherche en cours (autrement dit, des informations autres qu’un feedback direct ou indirect sur les documents obtenus par une requête) pour faciliter la recherche. Seul Remembrance Agent (Bradley et al., 1996) utilise une analyse d’un courrier en cours de création pour proposer des courriers similaires, parmi ceux référencés par son utilisateur. D’un autre côté, les systèmes de recherche d’information utilisant un mécanisme d’expansion des requêtes sont également intéressants dans le contexte de la recherche présentée ici. Ces systèmes peuvent s’appuyer sur le «!relevance feedback!» (SMART et ses variantes) ou sur un mécanisme de classification locale, ces deux approches supposant que la première requête fournit un ensemble de documents que l’utilisateur évalue. De nouvelles requêtes sont ensuite générées à partir de ces évaluations en ajoutant aux termes de la requête initiale des termes extraits de documents sélectionnés (cf. Baeza-Yates et al., 1999). Un autre type de système analyse des collections de documents et construit automatiquement des thésaurus, ensuite utilisés pour étendre ou interpréter des requêtes (cf. Baeza-Yates et al., 1999). Bien que cette approche soit généralement appliquée dans le contexte de recherche sur des collections connues et finies, elle pourrait être adaptée au Web si une sélection de documents est disponible pour construire le thésaurus. Les « assistants personnels » décrits ci-dessus présentent certains inconvénients concernant l’initialisation, la représentation et l’évolution du profil de l’utilisateur : - Lorsque la construction du modèle de l’utilisateur est guidée par le contrôle de pertinence, l’assistant n’est opérationnel que lorsque l’utilisateur l’a «!entraîné!» durant un certain temps avec un risque de démotivation de ce dernier. - Les caractéristiques retenues pour représenter les centres d'intérêt de l'utilisateur sont souvent peu nombreuses (cent termes environ) et organisées de manière non hiérarchique (partitionnement) ce qui ne facilite pas leur interprétation ni la prise en compte des différents niveaux de généralités présents dans les connaissances de l’utilisateur. - Le contexte dans lequel une recherche est effectuée (c’est à dire la tâche en cours, comme l’écriture d’un rapport, par exemple) est rarement utilisé pour comprendre la requête et la situer par rapport au profil de l’utilisateur. Ainsi, l’approche préconisée par WordSieve (Bauer et al., 2001) nous semble intéressante. - Enfin, dans l’évolution du profil, les différentes causes du changement d’intérêt, et les échelles temporelles associées, sont peu ou pas prises en compte : ainsi, une tâche peut typiquement durer de quelques minutes à plusieurs jours, alors que l’évolution des centres d’intérêt peut prendre des semaines voire des mois.

3. Présentation générale du système AIRA Le fonctionnement du système AIRA (Adaptive Information Research Assistant) repose sur l’hypothèse que l’utilisateur dispose et maintient à jour un ensemble de documents ou de références, correspondant à une « bibliothèque personnelle », qui est représentative de ses centres d’intérêts. C’est à partir de cet ensemble qu’AIRA extrait et structure les connaissances représentatives de l’utilisateur.

3.1 Architecture La Figure 1 présente les trois composants du système, à savoir : le profil de l’utilisateur, les observateurs, et les composants intervenant lors d’une recherche.

Figure 1. Principaux composants du système AIRA Le profil d’utilisateur peut être vu comme une mémoire « à long terme » associée à l’utilisateur. Il est construit à partir de sa bibliothèque (documents, références, …) et organisé grâce aux composants suivants : - L’observateur de la bibliothèque est chargé d’en fournir une représentation manipulable par le système, et d’en surveiller les évolutions. - Le profil conceptuel organise les documents de la bibliothèque en une hiérarchie stricte de classes. Il peut être donné « a priori » ou construit automatiquement par un mécanisme de classification incrémentale. - Le profil opérationnel est dérivé du profil conceptuel. Pour chaque classe, il construit une description intentionnelle sous forme de liste de termes, directement exploitable lors de la recherche. Les observateurs sont chargés de collecter de façon autonome les sous-produits textuels des activités de l’utilisateur, par interaction avec les composants logiciels qu’il utilise (contenu du presse-papier, pages WWW visualisées, documents en cours d’édition, …). Ces éléments textuels sont enregistrés dans un journal des actions chronologiques qui correspond à la mémoire « à court terme » du système.

Enfin, les composants1 utilisés pour la recherche correspondent d’une part au gestionnaire de contexte, chargé d’exploiter le journal des actions et le profil opérationnel pour identifier le contexte de travail (représenté sous la forme d’un vecteur de poids associés à des termes), et d’autre part au gestionnaire de requête, qui exploite ce contexte pour interpréter la requête et filtrer les résultats.

3.2 Analyse du fonctionnement Le fonctionnement du système met en jeu plusieurs phases. La première phase est une phase d’initialisation, durant laquelle les différents composants du profil utilisateur sont engendrés à partir du contenu de la bibliothèque personnelle. Les phases suivantes correspondent à l’utilisation « courante » du système, avec trois types de tâches : l’observation continue de l’activité de l’observateur afin de garder « à jour » le journal des actions; la gestion de l’évolution du profil, déclenchée par une modification de la base de références ; la gestion de la recherche d’information, proprement dite. Dans le système actuel, la recherche d’information est déclenchée à l’initiative de l’utilisateur et se traduit par la détermination du contexte de travail, suivi par l’envoi de requêtes aux moteurs de recherche sélectionnés et la présentation des résultats collectés, après qu’ils aient été analysés et reclassés. L’approche utilisée ici est originale à plusieurs niveaux!: - Nous proposons d’utiliser un profil hiérarchisé, plutôt que des combinaisons de vecteurs comme le font la plupart des systèmes, afin de pouvoir jouer sur le niveau de généralité et sur le nombre de termes utilisés dans la requête. - Notre profil est fondé sur des choix de l’utilisateur indépendants et antérieurs à toutes requêtes, ce qui nous permet d’éviter la phase d’entraînement du système. Il n’y a pas d’évolution directe du profil lors d’une requête, l’adaptation à un éventuel «!feedback!» se faisant de manière autonome via les observateurs. - Le découplage profil conceptuel/opérationnel permet de séparer le problème de l’interprétation des informations disponibles de celui de l’exploitation de ces informations dans la recherche, ce qui clarifie les rôles et accroît notablement les possibilités d’extension du système (chaque composant est autonome). - La mise en œuvre d’un mécanisme «!contextuel!» général, permet d’exploiter les réactions de l’utilisateur aux résultats de recherche, comme le font les systèmes utilisant le bouclage de pertinence, mais il permet aussi d’intégrer d’autres sources aptes à fournir une description «!a priori!» du contexte de travail. - Lors d’une requête, on n’utilise que l’extrait du profil pertinent dans le contexte courant, focalisant ainsi la recherche sur un nombre restreint de termes. 1

Le système contient un composant supplémentaire, non décrit ici, qui est chargée de faire de «!l’expansion de requête!». Il repose sur un algorithme d’apprentissage itératif qui soumet une série de requêtes et utilise les réponses du (ou des) moteur de recherche pour guider la généralisation ou la spécialisation de la requête initiale.

4. Profil utilisateur 4.1. Représentation des documents La modélisation des documents s’effectue sous forme de vecteurs de termes, suivant en cela le modèle vectoriel initiée!par (Salton 1971), également utilisé par la plupart des systèmes mentionnés à la section 2 (cf. revue des travaux existants). L’espace des termes est obtenu classiquement en analysant l’ensemble des documents pour en extraire les mots utilisés. Ces mots sont ensuite lemmatisés pour les ramener à une forme invariante, indépendante du genre, du nombre, de la conjugaison, … puis filtrés à l’aide de «!stop list!» pour éliminer ceux qui sont sans intérêt. Dans la suite de l'article, nous appellerons «!terme!» cette forme lemmatisée. Un document est représenté dans cet espace par un vecteur dans lequel chaque coordonnée correspond à un terme de l’espace et prend la valeur d’une variable réelle, qui est fonction de la fréquence d’apparition du terme dans le document, avec différentes approches possibles (cf. par exemple (Salton, Buckley 1988)). La coordonnée la plus utilisée, tf.idf (ou «terme fréquence * inverse document fréquence!»), fait intervenir la notion de fréquence de documents contenant le terme, et n’a de sens que dans le contexte de requêtes portant sur un corpus donné et fini de documents. Comme pour notre système le corpus ciblé correspond au Web, et que le référentiel documentaire dont nous disposons n’en représente qu’un infime fragment, fortement biaisé, il ne semble pas souhaitable de se baser sur la bibliothèque personnelle pour calculer la fréquence de documents et en déduire les valeurs associées aux termes. Par exemple, si l’on considère le cas particulier d’un profil ne contenant qu’une classe de documents particulièrement homogène, dans laquelle tous les termes importants sont présents dans tous les documents, le tf.idf de ces termes serait nul, ce qui est exactement le contraire de l’effet recherché. La valeur retenue pour le système est donc la fréquence du terme, normalisée de façon à ce que le terme le plus fréquent ait 1 pour valeur associée et que ces valeurs soient indépendantes de la taille du corpus.

4.2. Profil conceptuel - Classification des documents!: Cobweb Il existe de nombreuses façons de classer (au sens de «!construire des catégories!» et non simplement d’affecter un document à une classe prédéterminée) les documents (cf. Sebastiani F., 2002), mais il en existe peu qui soient incrémentales et permettent de faire évoluer progressivement une classification au fur et à mesure de l’ajout de documents. Or il est indispensable que l’évolution du profil utilisateur soit progressive pour au moins deux raisons!: - Il existe une composante aléatoire dans la plupart des algorithmes de classification qui peut avoir pour conséquence une restructuration importante de

l’organisation en classes lors d’un re-calcul de profil après modification de la bibliothèque. Cette restructuration importante risque d’altérer de façon majeure le fonctionnement de l’assistant, même si les évolutions de la bibliothèque sont relativement mineures, ce qui risque de dérouter l’utilisateur. - Dans un contexte où le nombre d’attributs (de termes) et de documents se compte en milliers, la construction d’un arbre de classification peut demander un temps assez long et dégrader notablement les performances du système. L’algorithme choisi pour construire automatiquement la classification des documents (et gérer son évolution) est Cobweb, un algorithme de classification hiérarchique incrémental défini par (Fischer, 1987/1995) et qui repose sur une méthode de recherche par gradient ayant comme critère de décision l'utilité d'une partition de catégories («!Category Utility!») (Gluck et al., 1985). Ce critère permet de sélectionner les transformations de la hiérarchie à effectuer lors de la prise en compte d'un nouveau document et de gérer le problème de «!dérive de concepts!». Transposée dans le contexte de la classification de documents à partir de leur représentation dans un espace vectoriel de termes, l’idée de base en est la suivante!: si une partition en classes d’un ensemble de documents est utile, la connaissance du fait qu’un document appartient à une classe de la partition doit permettre de prévoir avec davantage de confiance qu’un terme donné appartient ou non à ce document (et inversement si un document contient ou non un terme). L’utilité d’une partition peut alors être mesurée à partir de l’écart entre la probabilité conditionnelle de trouver un terme dans une classe et la probabilité de trouver un terme dans la collection. Dans le cadre général, le CU peut s’exprimer de la façon suivante (d’après Witten et al., 2000) pour les attributs nominaux (ou booléens) : CU(C1,C2 ,....,Ck ) =

 Pr[C ]  (Pr[a l

l

i

j

i

2

= v ij Cl ] - Pr [ ai = v ij ]

2

)

k

où CU(C1, C 2, …, Ck ) est l’utilité de la partition en k classes C i , Pr[Ci ] est la † probabilité de la classe Ci , Pr[ai = vij] est la probabilité que l’attribut ai est la valeur vi j si on considère la collection dans son ensemble, et Pr[a i = vi | Cl ] est la probabilité que l’attribut ai est la valeur vij si on considère uniquement la classe Cl . Dans le cas de variables numériques, en supposant que l’attribut a i suivent une loi normale d’écart type s i , cette formule devient!: CU(C1,C2 ,....,Ck ) =

1 1 Â Pr[Cl ] 2 p k l

Ê 1

 ÁË s i

il

-

1ˆ ˜ si ¯

Dans le contexte de la recherche d’information, un attribut correspond à un terme et sa valeur † à la fréquence définie précédemment, c’est à dire à la fréquence (normalisée) d’apparition d’un terme dans un document. L’écart type correspond à celui de cette fréquence, observée dans les documents de la partition dans son ensemble, ou dans une classe de la partition.

L’algorithme de COBWEB définit quatre d’opérateurs applicables à l’arbre lors de l’addition d’un nouvel exemple c’est-à-dire d’un document. doc {0,0.5,0,0, … } • 1. Évaluer CU de C1après application de chaque opérateur : • Ajout à une classe (Incorporate) • Merge • Split • Create • 2. Choisir la meilleure solution (par ex. ajouter à C1, 2)

C, C1 C1,1 C1,2, 1

C2 C1,2 C 1, 2, 2

C2, 3

C 2,4

C1, 2, 3

3. Recommencer au niveau suivant

Figure 2. Intégration d'un nouveau document dans la hiérarchie La prise en compte d’un nouveau document dans COBWEB s’effectue en explorant la hiérarchie de manière descendante selon cet algorithme (cf. Figure 2): 1 2

3

L’algorithme démarre de la classe racine (initialement vide). Il évalue, pour chacun des 4 opérateurs qui sont applicables sur la classe courante, le CU de la partition correspondant à l’application de l’opérateur : Incorporate : ajouter le document à une classe existante. Merge : fusion de deux classes existantes. Split : suppression d’une classe existante en intégrant son contenu directement dans la classe où elle figurait Create : créer une nouvelle classe pour le document. L’opération correspondante au meilleur CU est effectuée. On recommence à l’étape 2 en choisissant comme nouvelle classe courante soit la classe cible de l’incorporation, soit la même classe en fonction de l’opérateur retenu, jusqu’à ce qu’on arrive à une feuille de l’arbre.

La Figure 3 présente un extrait de la classification correspondant à la construction par COBWEB d’un profil conceptuel.

4.3. Profil opérationnel - Description des classes Le profil conceptuel n’est cependant pas directement utilisable. D’une part, le nombre d’attributs est trop important (6992 termes dans l’exemple de la Figure 3), et d’autre part la pertinence des termes est définie en fonction de leur utilité pour la classification (leur pouvoir discriminant pour la collection considérée). Or ce critère n’est pas nécessairement le plus efficace pour évaluer la pertinence d’un terme lors de la recherche d’information. Nous définissons donc un profil « opérationnel », dans lequel les classes sont représentées à l’aide des caractéristiques descriptives,

avec héritage des descriptions (une classe hérite des descriptions de ses ascendants). Ce profil est construit récursivement, selon l’algorithme suivant : Soit Lk ¨ l’ensemble des termes pertinents. Soit C ¨ une liste contenant la racine du profil conceptuel. Construire_Profil_Op (C, Lk) Pour chaque classe c k de C Si ce nœud est une feuille ne rien faire. Sinon Soit L’ k ¨ ∅ Pour chaque terme ti de Lk, Evaluer la variance inter-classes MSEffet(t i , ck) et la variance intra-classe MSErreur(t i , ck) de l’utilisation de t i dans les sous-classes de c k , et les comparer avec un test de Fisher. Lorsque le test ne permet pas de rejeter l’hypothèse d’homogénéité des répartitions, faire L’k¨ L’k » t i Trier les termes t i de la liste L’ k en fonction de leur fréquence dans la classe ck (ce qui revient à estimer les probabilités conditionnelles P(ti/c k)). Description_op (c k) ¨ les 20 meilleurs termes de L’k. Construire_Profil_Op (Fils_de(ck), (Lk - Description_op(ck)))

La Figure 3 montre un extrait de profil opérationnel en relation avec le profil conceptuel dont il est issu. On notera que, contrairement au profil conceptuel, où les références aux documents exemples sont conservées dans les nœuds, le profil opérationnel n’associe à ces nœuds que des listes de termes et les poids associés.

Figure 3. Comparaison des profils conceptuel et opérationnels. Chaque nœud correspont à une même classe, vue de deux façons différentes!: en «!extension!» pour le conceptuel (droite) et en!« intension!» pour l’opérationnel (gauche).

4.4. Evolution du profil L’évolution du profil dépend de l’évolution de la base documentaire qui lui sert de support!: lorsque l’utilisateur ajoute ou retire des documents ou des références, ces modifications sont répercutées dans le profil conceptuel en s’appuyant sur les capacités incrémentales de Cobweb, et le profil opérationnel est recalculé.

5. Détermination du contexte de recherche et soumission de requête L'identification et la description du contexte de travail dans lequel l'utilisateur se trouve lorsqu'il soumet une requête revient à déterminer la ou les parties du profil opérationnel qui sont concernées. Cette étape s’appuie sur l’observation des activités en cours, de la façon illustrée dans la figure 4.

Figure 4. Sélection du contexte actif (et des termes) en fonction de l’activité Au cours de son « activité » sur une tâche donnée (qui peut durer de quelques minutes à quelques heures), l’utilisateur enchaîne un certain nombre d'actions élémentaires susceptibles de produire du texte. Par exemple, la copie d’un fragment de document dans le presse-papier ou encore la sélection d’un lien dans un document hypertexte (c’est le paragraphe entourant le lien qui est alors sélectionné). Détectées par les observateurs (cf. 3.1) du système AIRA, ces actions sont alors enregistrées dans le journal des actions. Si l’on admet qu’elles sont liées aux centres d’intérêt représentés dans la « bibliothèque personnelle », certains des termes liés aux actions courante (par exemple « agent, information!») apparaîtront également dans le profil. Ils peuvent donc être utilisés comme des indices pour identifier dans ce profil les classes (c’est à dire les « nœuds actifs » - dans l’exemple le nœud «!Agent, intelligent, information ») correspondant à l’activité en cours.

Ainsi, un changement d’activité se traduit (éventuellement) par l’apparition de nouveaux termes (par exemple, «!xml, taxonomy!»), ce qui conduit à la sélection de nœuds différents dans l’arborescence (le nœud «!Format, information, xml taxonomy!»), et donc à une adaptation du contexte de tâche. La construction du contexte de recherche est effectuée à chaque nouvelle requête. La première étape de la construction du contexte produit un ensemble de termes à partir d’une sélection des actions dans le journal 2 et de la requête, puis les utilisent pour sélectionner les nœuds considérés comme pertinents dans le profil. A l’issue de cette sélection, le contexte de recherche contient les termes de la requête, les termes provenant du journal des actions et qui n’existent pas dans les nœuds sélectionnés, et les termes du profil considérés comme utiles pour la recherche. Tous ces termes sont combinés pour former un vecteur pondéré, pouvant être utilisé dans la recherche. Le déroulement d’une recherche d’information est alors le suivant!: l’utilisateur formule sa requête, et l’assistant identifie le contexte de cette requête, puis en construit une description. L’assistant soumet alors la requête à un moteur de recherche du Web et récupère les résultats correspondants. Pour chaque document ainsi obtenu, l’assistant évalue une nouvelle estimation de pertinence de ce document en comparant, à l’aide d’une mesure de cosinus, son contenu avec les descriptions (contexte et profil actif) calculées précédemment. Les documents sont réordonnés par pertinence décroissante (cf. Figure 5).

6. Evaluation des performances du système AIRA est aujourd'hui un système opérationnel, notre travail actuel consiste à évaluer et quantifier la plus-value apportée par rapport à l'utilisation directe d'un moteur de recherche ou plus généralement des autres assistants. Cette évaluation correspond à plusieurs tâches successives : 1 - Vérifier que l'utilisation du profil dans son intégralité permet de filtrer les résultats en remontant en «!tête de liste!» les documents jugés les plus pertinents, compte tenu des spécificités de l'utilisateur ; 2 - Vérifier que la prise en compte du contexte (c'est à dire de la partie du profil caractéristique du travail en cours) permet une amélioration supplémentaire du filtrage en le focalisant davantage ; 3 - Vérifier enfin qu'une expansion de requêtes effectuée à l'aide d'un sousensemble des termes du contexte, et couplée au filtrage, permet de ramener d'avantage de documents pertinents pour l'utilisateur. L'évaluation est rendue difficile par l'aspect dynamique de l'environnement du système et le caractère fortement adaptatif de ce dernier. En effet, la comparaison 2

Actuellement, la stratégies de sélection des actions consiste à garder les dernières actions du journal en leur appliquant une pondération décroissant exponentiellement avec le temps.

entre systèmes différents est complexe parce qu'il est difficile de les mettre dans des conditions identiques. Actuellement pour effectuer cette comparaison, plusieurs agents, représentant les différentes configurations à évaluer (profil/gestionnaire de contexte/gestionnaire de requêtes), sont utilisés simultanément par l’assistant pour traiter les requêtes de l’utilisateur. Chaque agent dispose de toutes les informations disponibles et les combine comme il le souhaite. Un agent «!par défaut!» n’en utilise aucune et se contente de transférer la requête à un moteur, sans modification. Cet agent sert de référence en permettant d’évaluer l’intérêt du système par rapport au mode de fonctionnement actuel.

Figure 5. Présentation des résultats afin d’évaluer le système AIRA. Les résultats fournis par les différents agents sont fusionnés par l’assistant et présentés de manière « anonyme » (les agents qui ont retrouvés le document ne sont pas indiqués) à l’utilisateur afin que celui-ci puisse donner son estimation sur l’intérêt de chaque document vis à vis de la requête initiale (Figure 5). L’utilisateur note les documents sur une échelle de cinq valeurs allant de A=1.0 (excellent) à E=0 (mauvais). On enregistre pour chaque requête, la liste des documents obtenus, et pour chaque document l’estimation de pertinence établie par chaque agent et celle fournie par l’utilisateur. La comparaison des notes fournies par les agents avec les évaluations de l’utilisateur permet de classer les différentes configurations en fonction de leur capacité à prévoir la pertinence d’un document pour l’utilisateur. Une première expérimentation du système a été effectuée avec deux agents : un agent «!par défaut!» qui est le résultat brut ramené par Google et un agent de «!filtrage!» qui utilise le profil dans son entier pour reclasser les réponses. Les résultats obtenus à partir de l’évaluation de 427 documents retrouvés à partir d’un ensemble de 10 requêtes montre que l’agent de « filtrage » améliore sensiblement l’ordre de présentation des documents. Le profil utilisateur initial a été élaboré à partir de 442 références contenues dans le « bookmark » de l’un des auteurs, portant

sur le domaine de l’informatique, des langages de programmation et du génie logiciel. Il est important de noter que l’intersection entre les documents qui ont servis à construire le profil et ceux retrouvés par le moteur est inférieure à 5 %.

7. Conclusion Le système présenté ici suggère plusieurs approches nouvelles pour concevoir un assistant personnel de recherche d’information. Ainsi, nous proposons d’une part, d’utiliser la masse d’information contenue sur la station de travail d’un utilisateur (sa bibliothèque personnelle) pour initialiser un profil utilisateur, et d’autre part, de s’appuyer sur les «!sous-produits!» de l’activité de l’utilisateur pour spécifier le contexte d’une requête. Cette approche repose sur l’utilisation d’un profil hiérarchisé, construit à l’aide d’un algorithme de classification incrémentale, et sur la séparation entre une composante conceptuelle et une composante opérationnelle qui définissent un profil de l’utilisateur. Les quelques tests effectués jusqu’ici (soumission de requêtes et analyse manuelle des résultats) ont permis de démontrer la faisabilité technique de l’approche proposée et de définir les conditions pratiques de sa mise en oeuvre. Il reste à effectuer des tests plus systématiques pour optimiser les différents paramètres du système, puis obtenir des résultats quantitatifs avant de pouvoir conclure sur l’intérêt effectif des différentes composantes de notre approche. Les travaux en cours portent donc essentiellement sur l’obtention de ces résultats. Parallèlement, l’addition de mécanisme de génération de requêtes (extension/modification de la requête initiale, intégration d’un mécanisme lié à un bouclage de pertinence) a également été développée et intégrée à ce système. L’évaluation de l’amélioration supplémentaire éventuelle que ce mécanisme pourrait apporter reste également à faire. A plus long terme, les perspectives de développement portent sur le partage de profils entre les utilisateurs dans le cadre d’un travail collaboratif et sur l’utilisation de la plateforme pour une évaluation comparative avec les assistants de recherche proposés par d’autres auteurs.

8. Bibliographie Baeza-Yates R., Ribeiro-Neto B., Modern Information Retrieval, Addison Wesley, ACM Press New-York, 1999 Balabanovic M., Shoham Y., Yeorgil Yun, An Adaptive Agent for Automated Web Browsing, Stanford University Digital Library Project Working Paper SIDL-WP-19950023, 1995 Bauer T., Leake D. B., Real Time User Context Modeling for Information Retrieval Agents, CIKM '01, Atlanta, Georgia USA, November 5-10, pp.568-570, 2001

Bhargava H. K., Feng J., Paid placement strategies for internet search engines, Proceedings of the eleventh international conference on World Wide Web Conference, ACM Press New York, NY, USA, pp 177,123, May 7-11, 2002, Billsus, D. and Pazzani, M. (1999). A Hybrid User Model for News Story Classification, Proceedings of the Seventh International Conference on User Modeling (UM '99), Banff, Canada, June 20-24, 1999. Bloedorn, E., Mani, I. and MacMillan, T.R., Machine Learning of User Profiles: Representational Issues, Proceedings of the Thirteenth National Conference on Artificial Intelligence (AAAI-96), Portland, OR, AAAI/MIT Press, pp. 433-438, August, 1996 Boyan J., Freitag D., Joachims T., A Machine Learning Architecture for Optimizing Web Search Engines , Proceedings of the AAAI workshop on Internet-Based Information Systems, AAAI Technical Report WS-96-06, 1996 Bradley J. R., Starner T., Remembrance Agent A continuously running automated information retrieval system, Proceedings of the 1 st International Conference on The Practical Application Of Intelligent Agents ad Multi Agent Technology (PAAM ’96), pp487-495, 1996 Chen L., Sycara K., WebMate: A Personal Agent for Browsing and Searching, In Proceedings of the 2nd International Conference on Autonomous Agents and Multi Agent Systems, Minneapolis, MN, May 10-13, 1998 Fisher D., Iterative Optimization and Simplification of Hierarchical Clusterings, Journal of Artificial Intelligence Research, 1995 Gluck M., Corter J., Information, uncertainty and the utility of categories. Proceedings of the 7th Annual Conference of the Cognitive Science Society. 283-287, 1985 Goecks J. , Shavlik J., Learning User’s Interests by Unobtrusively Observing their Normal Behavior, Proceedings of the 2000 International Conference on Intelligent User Interfaces, New-Orleans, USA, Jan 9-12, 2000, ACM, pp129-132, 2000 Krulwich B., Burkey C., The InfoFinder Agent: Learning User Interests through Heuristic Phrase Extraction, IEEE Expert, pp 22-27, September/October 1997 Lieberman H., Letizia!: An Agent That Assists Web browsing, Proceedings of the 1995 International Joint Conference on Artificial Intelligence, Montreal Canada, August 1995 Lynch C., Searching the Internet, Scientific American, March 1997 Members of the Clever Project, Hypersearching the Web, Scientific American, p44-52, June 1999 Menczer F., ARACHNID: Adaptive Retrieval Agents Choosing Heuristic Neighborhoods for Information Discovery, Machine Learning: Proceedings of the Fourteenth International Conference, 1997 Mladenic D., Stefan J., Text-Learning and related Intelligent Agents: A survey, IEEE Intelligent Systems, pp.44-54, July-August 1999

Moukas A., User Modeling in a MultiAgent Evolving System, Proceedings, workshop on Machine Learning for User Modeling, 6 th International Conference on User Modeling, Chia Laguna, Sardinia, 1997 Nick Z. Z., Themis P., Web Search Using a Genetic Algorithm, IEEE Internet Computing, vol. 5, n° 2, pp. 18-26, March-April 2001 Olsen S., Paid search stretches boundaries, ZDNet News, February 13, 2003 (http://zdnet.com.com/2100-1104-984252.html) Pohl W., Nick A., Machine Learning and Knowledge-Based User Modeling in the LaboUr approach, User Modeling: Proceedings of the Seventh International Conference, UM99 , Edited by Judy Kay, Springer Wien New York, pp. 179-188, 1999 Pazzani M., Billsus D., Leraning and revising User Profiles!: The identification of Interesting Web Sites, Machine Learning 27, Kluwer Academic Pub., pp. 313-331, 1997 Pazzani M., Muramatsu J., Billsus D., Syskill and Webert: Identifying Interesting Web Sites, AAAI-96, pp54-61, 1996 Rocchio J., Relevance feedback information retrieval. In G. Salton, editor, The Smart Retrieval System-Experiments in Automatic Document Processing, pages 313-323. Prentice-Hall, 1971 Salton G., The SMART Retrieval System – Experiments in Automatic Document Processing, Prentice Hall, Inc., Englewood Cliffs, NJ, 1971 Salton G., Buckley C., Term-Weighting Approaches in Automatic Text Retrieval, 1988, réimprimé dans Readings in Information Retrieval, , Sparch Jones K., Willet P. eds, Morgan Kaufmann, San Mateo CA, 1997 Sebastiani F., Machine Learning in Automated Text Categorization, Computing Surveys, ACM, Vol. 34, N° 1, pp1-47, March 2002 Shavlik J, Calcari S., Eliassi-Rad T., Solock J., An Instructable, Adaptive Interface for Discovering and Monitoring Information on the World-Wide Web, Proceedings of the 2000 International Conference on Intelligent User Interfaces, Redondo Beach, USA, 1999, ACM, pp257-260, 1999 Sullivan D., Pay for Placement?, Search Engine Watch, November 15, 2002 (http://searchenginewatch.com/resources/paid-listings.html) Widyantoro D. H., Yin J., Seif El Nasr M., Yang L., Zacchi A, Yen J., Alipes!: a Swift Messenger in Cyberspace, Proceedings of the Spring Symposium on Intelligents Agents in Cyberspace, Palo Alto, Ca, March 1999 Widyantoro D. H.,Ioerger T. R., Yen J., Learning User Interest with a Three-Descriptor Representation, Journal of the American Society for Information Science, 2000 Widyantoro D. H., Dynamic modeling and learning user profile in personalized news agent, Ms of Scince thesis, Texas A&M University, May 1999 Witten I., H., Frank E., Data Mining, Practical Machine Learning Tools and Techniques with Java Implementations, Morgan Kaufman Publishers, San Francisco, California, 2000