Apprentissage de profils pour un agent de recherche d
Transcription
Apprentissage de profils pour un agent de recherche d
Apprentissage de profils pour un agent de recherche d’information. J.C. Bottraud *, ** — G. Bisson * — M.F. Bruandet ** * Apprentissage-Leibniz, 46 Avenue Félix Viallet - 38031 Grenoble Cedex ** MRIM-CLIPS, Université Joseph Fourier - 38041 St Martin d’Hères {jean-christophe.bottraud, gilles.bisson, mariefrance.bruandet}@imag.fr Résumé : Les outils disponibles de recherche d’information sur le 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, et qui est exploité pour interpréter et filtrer les résultats proposés par les moteurs de recherche. 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. Mots-clefs : Recherche d’information, Agent Intelligent, Document, Classification automatique, World Wide Web, Adaptation, Contexte. 1 Introduction Les moteurs de recherche actuels (Google, Teoma, …) 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. Or malgré une amélioration constante des processus d’indexation et de recherche, les résultats fournis sont 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 selon Jansen et al. 98) pour décrire le document recherché ce qui peut donner lieu à des ambiguïtés. Soumise à un moteur de recherche, la requête « thread pattern » ramène parmi les 8 documents les plus pertinents 2 documents sur le génie logiciel, 3 sur les textiles, et 3 sur l’industrie des matériaux. • La pertinence d’un document par rapport à une requête est évaluée par ces services pour un utilisateur « moyen », sans prendre 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 (en fonction d’objectifs commerciaux ou politiques, par exemple : Barghava et al. 2002 ; Olsen S. 2003 ; Sullivan D. 2002) aux dépens d’autres qui seraient éventuellement plus pertinents pour l’utilisateur. CAp 2003 Pour surmonter ces problèmes, différents auteurs (cf. 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 à la fois de son efficacité intrinsèque ainsi 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, pouvoir lever l’ambiguïté des termes et filtrer les documents retournés sur des critères spécifiques à son utilisateur et au contexte du travail courant. Nous proposons ici le système AIRA 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 sousproduits (documents édités ou consultés, segments de texte copiés dans le « clipboard », etc.) de façon à 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. Cet article est organisé comme suit : la première partie présente un ensemble de travaux en rapport avec le système et les objectifs proposés. La partie suivante donne 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, le suivi de son évolution ainsi que la prise en compte du contexte de la requête. Enfin, la dernière partie présente les problèmes que posent l’évaluation du système et la démarche utilisée. 2 Travaux existants Différentes d’approches ont été proposées pour faciliter, voire automatiser, l’exploration du Web. La plupart des systèmes reposent sur un processus actif d’adaptation à l’utilisateur et sont assimilables à des « assistants personnels » de recherche d’information. Dans ce contexte, plusieurs objectifs, non indépendants, peuvent être recensés comme : assister l’utilisateur pour parcourir un ensemble de liens hypertextuels, l’aider à formuler et raffiner une requête dans un moteur de recherche, filtrer et réordonner la liste des documents retournés par ces moteurs. 2.1 Les assistants personnels L’assistance à la navigation peut être réalisée soit en aidant l’utilisateur à sélectionner les liens pertinents d’une page, soit en lui soumettant des documents en relation avec le document en cours de lecture, via une l’exploration automatique des liens. Cette approche est illustrée notamment dans Syskill & Webert (Pazzani et al., 1996), Letizia (Lieberman 1995), WAIR (Seo et al., 2000) WEBAce (Boley et al., 1998), WebWatcher (Armstrong et al., 1995) ou les différents modules proposés avec WBI (Maglio et al., 2000). Une autre approche classique consiste à filtrer Apprentissage de profils automatiquement les informations produites par un ensemble de sources sélectionnées par l’utilisateur (magazines électroniques, News de UseNet, …) pour ne présenter que les documents potentiellement intéressants. Alipes (Widyantoro et al., 1999), IDD News Browser (Bloedorn et al., 1996), INFOrmer (Sorensen et al., 1998) et News Dude (Billsus et al., 1999) font partie de cette catégorie de système. L’amélioration de l’utilisabilité des moteurs de recherche est un autre thème de recherche dans lequel soit on aide l’utilisateur à sélectionner les termes de la requête, soit on réalise de « l’expansions de requêtes » afin de ramener une collection de documents plus large et mieux ciblée. WebMate (Chen et al., 1998), WebNaut (Nick et al., 2001) ou Arachnid (Menczer, 1997) entrent dans cette famille. Une autre approche classique en recherche d’information consiste à réordonner ou classifier les références obtenues via le moteur ; c’est le cas de Grouper (Zamir et al. 1999) Enfin, dans un cadre plus systématique, tel celui d’une veille technologique, d’autres systèmes cherchent à réduire le travail de l’utilisateur via la génération automatique de requêtes, éventuellement combinée avec l’exploration automatique des liens présents dans les documents obtenus. Les systèmes Amalthae (Moukas et al., 1997), InfoSpider (Menczer et al., 2000), InfoFinder (Krulwich et al., 1997), ou WAWA (Shavlik et al. 2000, Goecks et al. 2000) illustrent ce type d’approche. Ces différentes techniques peuvent être combinées dans la recherche d’une plus grande efficacité. C’est notamment le cas de Alipes (Widyantoro et al., 1999), de InfoSpider (Menczer et al., 2000) ou de Syskill & Webert (Pazzani et al., 1996). 2.2 Modélisation de l’utilisateur La plupart des systèmes effectuent leur adaptation en construisant un « profil de l’utilisateur » par apprentissage à partir des documents consultés. Ce profil qui s’appuie généralement sur le Vector Space Model (Salton, G., 1971) est constitué de un ou plusieurs vecteurs définis dans un espace de termes ; les coordonnées correspondent aux poids associés aux termes retenus dans le profil. L’utilisation de plusieurs vecteurs correspond à deux préoccupations : pouvoir prendre en compte des centres d’intérêt multiples et gérer leur évolution dans le temps. Dans ce dernier cas, le système utilise généralement deux groupes de vecteurs, dont l’évolution est gouvernée par des règles différentes (c’est le cas d’Alipes et de News Dude). Dans la majorité des cas, l’évolution des profils repose sur des variantes de la méthode de « bouclage de pertinence » (Relevance Feedback, Rocchio J., 1971). L’évaluation des documents retrouvés peut être explicitement fournie par l’utilisateur, ou être déduite, comme dans les systèmes LAW (Edwards P. et al., 1996) ou WAIR (Seo Y.-W. et al. 2000), à partir de l’observation de l’activité de l’utilisateur. Différents indicateurs (Goecks et al., et 2000 ; Claypool M. et al., 2001) sont utilisables tels que : les mouvements et clicks de souris, les temps passé sur la page, le nombre de liens activés, ... L’ajustement du poids des termes fait de plus en plus appel à des techniques d’apprentissage, comme des réseaux de neurones (Shavlik et al, 1999), 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). CAp 2003 La construction d’une ontologie personnelle (suivant une direction proposée dans un contexte plus général par Huhn et al., 1999) offre une alternative intéressante aux approches présentées ci-dessus. Ainsi OBIWAN (Gauch et al., 2003, Chaffee et al, 2000) propose une approche dans laquellle la personnalisation est fondée sur l’élaboration d’une ontologie personnelle, obtenue par la sélection dans une ontologie générale de nœuds estimés correspondre aux intérêts de l’utilisateur. Cette sélection est opérée sur la base d’un ensemble de documents organisé par l’utilisateur, le résultat étant une hiérarchie de concepts. La construction d’une ontologie personnelle peut également être réalisée à partir des techniques employées par les systèmes élaborant automatiquement des thésaurus à partir de l’analyse de collections de documents, dans le but de les exploiter pour étendre ou interpréter des requêtes (cf. Baeza-Yates et al., 1999). Bien que généralement appliquée dans le contexte de recherche sur des collections connues et finies, cette approche peut être adaptée au domaine du Web si une sélection de documents est fournie par l’utilisateur. 2.3 Prise en compte du contexte A l’heure actuelle, relativement peu de travaux utilisent des informations contextuelles non directement liées à la recherche en cours (c’est-à-dire, autres qu’un « feedback » direct ou indirect sur les documents obtenus) pour focaliser la recherche et désambigüer les requêtes. Le système Remembrance Agent (Bradley et al., 1996) analyse les courriers en cours de création pour proposer des courriers similaires, parmi ceux référencés par l’utilisateur. Watson (Budzik et al., 2000) étudie les documents manipulés par l’utilisateur via un éditeur ou un navigateur, afin d’engendrer ou étendre des requêtes, mais sans construire de profil explicite. Suitor (Maglio et al., 2003) observe les mouvements de l’utilisateur, notamment la direction de son regard, afin d’identifier le centre d’intérêt courant et adapter le profil. Enfin, dans WordSieve (Bauer et al., 2003), les auteurs utilisent les documents consultés par un utilisateur pour identifier la tâche active, en comparant les termes trouvés dans ces documents avec des descriptions de contexte de tâche. Ce système ne traite toutefois pas de la construction de ces descriptions, mais on peut assimiler une tâche à un ou plusieurs « centres d’intérêts », et ainsi exploiter cette approche pour sélectionner un vecteur parmi plusieurs. Nous utilisons une approche voisine dans AIRA. 2.4 Synthèse 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 ne devient 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 (partitions) ce qui ne facilite ni 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. Apprentissage de profils - 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. Dans ce cadre, l’approche préconisée par WordSieve 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. Le système (Figure 1) est construit à partir de trois grand blocs : le profil utilisateur, les observateurs d’activités, et les composants intervenants pour gérer une requête. Fig. 1 – Principaux composants du système AIRA Le profil 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 est organisé grâce à plusieurs composants ayant chacun un rôle particulier : • 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 d’activités sont chargés de collecter de façon autonome les sousproduits textuels des activités de l’utilisateur, par interaction avec les composants CAp 2003 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 composants utilisés pour la recherche correspondent : • Au gestionnaire de contexte, qui chargé d’exploiter le journal des actions et le profil opérationnel pour identifier le contexte de travail actuel, qui est représenté sous la forme d’un vecteur de poids associés à des termes, • Au gestionnaire de requête, qui utilise ce contexte pour interpréter la requête, la soumettre aux moteurs de recherche sélectionnés et enfin afficher résultats collectés, après qu’ils aient été analysés et reclassés. Le fonctionnement du système est donc basé sur trois 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 qui est déclenchée par une modification de la bibliothèque personnelle ; la gestion de la recherche d’information, proprement dite qui est déclenchée à l’initiative de l’utilisateur lorsqu’il soumet une requête. 4 4.1 Gestion des profils utilisateur Représentation des documents Dans AIRA, 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). L’ensemble des termes est obtenu très classiquement en analysant l’ensemble des documents pour en extraire les mots utilisés. On effectue ensuite une étape de lemmatisation pour ramener les mots à une forme invariante, indépendante du genre, du nombre, de la conjugaison, etc. Les termes sans intérêt (articles, verbes communs, ...) sont éliminés à l’aide de « stop list » pour ne conserver que ceux ayant une signification. Un document est représenté comme un point dans un espace multidimensionnel ou 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 (par exemple : Salton, Buckley 1988). La coordonnée la plus utilisée, TF.IDF (ou « terme fréquence x 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 de documents donnés et finis. 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 d’utiliser 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ènes, dans laquelle tous les termes importants sont présents dans tous les documents, le TF.IDF de ces termes serait nul, ce qui va à l’encontre de l’effet recherché. La valeur retenue pour un terme est donc sa fréquence relative, normalisée de façon à ce que le terme le plus fréquent ait pour valeur 1 et que ces valeurs soient indépendantes de la taille du corpus. Apprentissage de profils 4.2 Profil conceptuel - Classification des documents Il existe de nombreuses méthodes pour effectuer une classification1 hiérarchique de documents (voir entre autres Sebastiani F. 2002 ; Steinbach et al. 2000) mais il en existe fort peu qui soient « incrémentales ». Or, il est souhaitable que l’évolution du profil utilisateur soit progressive pour plusieurs raisons : - De manière fondamentale, la hiérarchie de documents doit pouvoir facilement évoluer en fonction des modifications que l’utilisateur effectue sur sa bibliothèque personnelle (ajout et retrait de références …) et afin de gérer la « dérive de concept ». - Il existe une composante « aléatoire » dans la plupart des algorithmes de classification « non incrémentaux » qui peut conduire à une restructuration importante des classes après une modification même mineure de la bibliothèque. Dans le cas ou l’utilisateur a la possibilité d’accéder à son profil, cette restructuration est perturbante car elle nécessite une réinterprétation de la hiérarchie. Dans AIRA, la construction du profil de l’utilisateur est effectuée avec Cobweb (Fischer, 1987-95) qui utilise le « Category Utility » (Gluck et Corter 1985) comme critère de décision. 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 le trouver 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) : ( 2 2 CU(C1,C2 ,....,Ck ) = 1 k .∑ P [Cl ]∑ ∑ P [ ai = v ij Cl ] − P [ ai = v ij ] l i j ) (1) où CU(C1, C 2, …, C k) exprime l’utilité de la partition en k classes, P[Ci ] est la probabilité de la classe Ci , P[ai = vi j] est la probabilité que l’attribut ai ait la valeur vi j € pour la collection entière, et P[ai = vi j | Cl ] ait la probabilité que l’attribut ai est la valeur vi j dans la classe Cl . Dans le cas de variables numériques, en supposant que l’attribut ai suit une loi normale d’écart type σ, cette formule devient : CU(C1,C2 ,....,Ck ) = 1 1 P [Cl ] ∑ l k 2 π 1 ∑ σ i il − 1 σi (2) Dans notre cas, un attribut correspond à un terme et sa valeur à 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. La prise en compte d’un nouveau document dans COBWEB s’effectue en explorant la hiérarchie des classes de manière descendante selon l’algorithme simplifié suivant : 1 Au sens de « construire des catégories » et non d’affecter un document à une classe prédéterminée. CAp 2003 COBWEB (Document, Nœud-Courant) // On commence par la racine SI Nœud-Courant est une feuille ALORS CREER-NOUVEAU-NŒUD (Document, Nœud-Courant) SINON INCORPORER (Document, Nœud-Courant) Soit {C1... Cn} les fils du Nœud-Courant, on applique l’opérateur conduisant à la meilleure partition (CU) parmi: - COBWEB (Document, Ci) // Pas de modification - CREER-NOUVEAU-NŒUD (Document, Nœud-Courant - AJOUT-NŒUD (Ci, Cj) // Ajout d’un nœud entre Ci, Cj COBWEB (Document, Nouveau-Nœud) - RETRAIT-NŒUD (Ci) // Suppression du nœud Ci COBWEB (Document, Nœud-Courant) La Figure 2 présente un extrait de la classification, exprimée en XML, correspondant à la construction d’un profil conceptuel par COBWEB. Fig. 2 – Chaque nœud du profil conceptuel (partie droite) a son équivalent dans le profil opérationnel (partie gauche). Ils correspondent à une même classe, qui est vue en « extension » pour le profil conceptuel et en « intension » pour le profil opérationnel. 4.3 Profil opérationnel - Description des classes Cependant, ce profil conceptuel n’est pas directement utilisable. D’une part, le nombre d’attributs présents dans les documents 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 dans le contexte de la collection considérée). Or ce n’est pas nécessairement ce critère qui est 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, ainsi une classe hérite des descriptions de ses ascendants. Apprentissage de profils /*Construction du profil opérationnel */ 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 ck 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(ti , ck) et la variance intra-classe MSErreur(ti , ck) de l’utilisation de ti dans les sous-classes de ck , 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 ∪ ti Trier les termes t i de la liste L ’k en fonction de leur fréquence dans la classe c k (ce qui revient à estimer les probabilités conditionnelles P(ti/ck)). Description_op (ck) ← les N meilleurs termes de L’k ; (N=20) Construire_Profil_Op (Fils_de(ck), (Lk − Description_op(ck))) La figure 2 compare un extrait de profil opérationnel avec le profil conceptuel dont il est issu. 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. En pratique, la description d’une classe résulte de l’union des termes attribués à son nœud et ceux de ses ascendants. 5 Contexte 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 3. 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 apparaîtront également dans les descriptions du profil opérationnel. Ils peuvent donc être utilisés comme des indices pour identifier dans ce profil les classes (c’est à dire les « nœuds actifs ») correspondant à l’activité en cours. Ainsi, dans la figure 3, les nœuds « Agent, intelligent, information » e t « Computer, science, techniques, research, java » sont activées lors de l’activité n. Un changement d’activité (étape n+2) se traduit par l’apparition de nouveaux termes le journal des actions (par exemple, « xml, taxonomy »), ce qui conduit à la sélection de CAp 2003 de nœuds différents dans le profil opérationnel : « Format, information, xml, taxonomy » et « Plant, information, index, botanical, software » et donc à la détermination d’un nouveau contexte de recherche. Fig. 3 – Illustration du lien entre l’activité courante et la sélection du contexte La construction du contexte de recherche est effectuée à chaque nouvelle requête demandée par l’utilisateur selon l’algorithme suivant : /*Construction du vecteur de description de l’activité en cours */ Soit J ← le journal contenant la liste des actions Soit T ← l’age maximum acceptée pour une entrée du journal Soit q ← la requête courante Description_Contexte_Requête (q) Soit Vc ← vecteur des termes de q (avec un poids associé = 1) Pour chaque action Ai enregistrée dans le journal Si Age_de(Ai) < T alors Soit le poids de l’action Wi ← 2-age/T Pour chaque terme tij du segment de texte associé à Ai calculer le poids wij de ce terme à partir de sa fréquence d’apparition et du poids de l’action : wij ← freq(tij)* Wi Normaliser l’ensemble des poids wij Pour chaque terme tij Soit Vc ← Vc ∪ tij En ajoutant les wi si le terme existait déjà dans la liste Vc Normaliser les poids des termes présents dans la liste Vc Retourner Vc /*Identification de la partie du profil concernée par la requête */ Soit PO ← le profil opérationnel Description_Profil_Actif (PO, Vc) Pour chacun des nœuds k de PO Créer la description du nœud en faisant l’union de sa description avec celle de ses ascendants pour obtenir un vecteur Vk dans l’espace des termes. Calculer la mesure du cosinus entre Vk et Vc Retourner le Vk maximisant la mesure du cosinus Apprentissage de profils /*Création du vecteur utilisé lors du filtrage des documents */ Soit α ← un paramètre dans l’intervalle [0..1] Vecteur_de_filtrage (Vc, Vk, α) Combiner les poids des vecteurs Vc et Vk selon α . Vc + (1-α) . Vk Le déroulement d’une recherche d’information est le suivant : l’utilisateur formule sa requête, et l’assistant construit une description du contexte de la requête duquel il déduit une description de la partie active du profil opérationnel. 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. 6 Evaluation des performances du système Afin d’étudier et de quantifier la plus-value qu’apporte AIRA par rapport à l'utilisation directe d'un moteur de recherche ou celle d’autres « assistants personnels », deux tâches successives sont à effectuer : • Vérifier que l'utilisation du profil utilisateur permet de filtrer les résultats en remontant en « tête de liste » les documents jugés les plus pertinents ; • Vérifier que la prise en compte du contexte permet une amélioration supplémentaire du filtrage en se focalisant sur la partie active du profil; L’aspect dynamique de l'environnement du système et son caractère fortement adaptatif compliquent cette évaluation2. Pour y parvenir, plusieurs agents représentant les différentes configurations du système à évaluer sont utilisés simultanément lors du traitement des requêtes de l’utilisateur. Un agent « par défaut» qui se contente de soumettre directement la requête à un moteur, et de la récupérer sans modification, sert de « référence » pour juger des améliorations produites. 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 fournir son estimation sur l’intérêt de chaque document vis à vis de la requête initiale (Figure 4). Pour chaque agent, on ne sélectionne que les M premiers de la liste afin de limiter le temps de réponse des agents à quelques minutes au maximum (ils doivent en effet récupérer les documents correspondants et analyser leur contenu). Ensuite, l’utilisateur note les N meilleurs documents sur une échelle de cinq valeurs allant de A=1.0 (excellent) à E=0.0 (mauvais). Sur la base de cette évaluation, nous définissons deux critères de qualité permettant de comparer les agents sur une même requête. 2 Il serait possible d’utiliser une collection de documents issus de la « filtering track » de TREC, en initialisant la bibliothèque personnelle et le contexte avec une partie des documents pertinents puis en mesurant si AIRA identifie davantage de document qu’une simple indexation. Pour l’instant, nous nous orientons plutôt vers une utilisation en « situation réelle » où le système est installé sur des postes de travail et où l’on mesure l’apport effectif d’AIRA dans les tâches de recherche d’information. CAp 2003 • Qualité des documents: Q(Ai ,Rj ) Elle évalue la pertinence des N documents dk présentés par l’agent Ai pour la requête Rj . Elle est calculée de la manière suivante (on prend le carré de l’évaluation afin d’accroître le poids des documents pertinents) : Q(Ai ,R j ) = € 2 1 ∑ Estimation _Utilisateur(dk ) N k (3) • Distance de rang : D(Ai ,Rj ) Elle évalue l’écart entre l’ordre des documents établi par l’agent et celui proposé par l’utilisateur (exprimé sous forme de classes d’équivalences) en comptant le nombre moyen de permutations à effectuer pour passer de l’un à l’autre. Il est important de noter que l’interprétation de ce critère ne peut être effectuée indépendemment de la qualité des documents. En effet, si tous les documents retournés appartiennent pour l’utilisateur à une même classe, la distance de rang sera toujours nulle, que les documents soient pertinents ou non. Fig. 4 – Présentation des résultats afin d’évaluer le système AIRA. Une première expérimentation du système AIRA a été effectuée avec deux agents : un agent « par défaut » qui donne les N premiers résultats bruts (avec N = 20) ramenés par Google et un agent de « filtrage » qui utilise le profil pour reclasser les M réponses (avec M = 100) de Google sans exploiter le contexte. La figure 5 reproduit les résultats obtenus à partir de l’évaluation des 314 meilleurs documents retrouvés par les deux agents pour l’ensemble des 10 requêtes indiquées en abscisse. Le profil utilisateur initial a été élaboré à partir de 442 références contenues dans le « bookmark » de l’un des auteurs, portant sur l’informatique, les langages et le génie logiciel. Il est à noter que l’intersection entre les documents qui ont servis à construire le profil et ceux retrouvés par le moteur de recherche reste inférieure à 5 %. Les premiers résultats (figure 5) sont assez encourageants. On constate que la qualité des N premiers documents retournés par l’agent de « filtrage » est, en moyenne, comparable ou supérieure à celle de l’agent par « défaut ». C’est également vrai, dans une moindre mesure, pour la distance de rang qui est plus faible (donc meilleure) pour l’agent de « filtrage ». Cet aspect est intéressant puisque l’on sait que Apprentissage de profils les utilisateurs de systèmes d’information n’explorent généralement que les premières réponses (Jansen et al., 1998) qui leur sont fournies. Notons que la distance de rang obtenue sur la requête « system model analysis » n’est pas significative car tous les documents ramenés sont mauvais comme on le voit sur la courbe de qualité. Fig. 5 – Comparaison de la qualité et de la distance de rang entre les 2 agents 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 tout en essayant de répondre aux problèmes (cf 4.2) soulevés dans beaucoup d’approches existantes : - Nous proposons d’utiliser un profil hiérarchisé, plutôt que des combinaisons de vecteurs comme le font la plupart des systèmes antérieurs, afin de pouvoir jouer sur le niveau de généralité et sur le nombre de termes utilisés en fonction de 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 par l’intermédiaire des observateurs. - Le découplage selon des profils conceptuel et 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 facilement d’autres sources capables de fournir une description « a priori » du contexte de travail. - Lors d’une requête, on n’utilise que l’extrait du profil qui est pertinent dans le contexte courant, focalisant ainsi la recherche sur un nombre restreint de termes. CAp 2003 Les 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 cependant à 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. Parallèlement, des mécanismes de génération et de gestion de requêtes (expansion/modification de la requête initiale ainsi que bouclage de pertinence) ont également été développés et intégrés dans AIRA, l’évaluation des améliorations qu’ils apportent reste à effectuer. 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 réaliser une évaluation comparative avec les assistants personnels proposés par d’autres auteurs. Références ARMSTRONG R., FREITAG D., JOACHIMS T., MITCHELL T., WebWatcher: A Learning Apprentice for the World Wide Web, 1995 AAAI Spring Symposium on Information Gathering from Heterogeneous, Distributed Environments, Stanford, March 1995. BAEZA-YATES R., RIBEIRO-NETO B., Modern Information Retrieval, Addison Wesley, ACM Press New-York, 1999 B ALABANOVIC M., S HOHAM Y., YEORGIL Y UN, 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 B HARGAVA H. K., FE N G 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, B ILLSUS, 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. B LOEDORN , E., M ANI , I. AND M ACM ILLAN, 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 BOLEY D., GINI M., GROSS R., HAN E.-H., HASTINGS K., KARYPIS G., KUMAR V., MOBASHER B., M OORE J., Document Categorization and Query Generation on the World Wide Web Using WebACE, AI Review, 1998 B OYAN 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 B RADLEY J. R., STARNER T., Remembrance Agent A continuously running automated information retrieval system, Proceedings of the 1st International Conference on The Practical Application Of Intelligent Agents ad Multi Agent Technology (PAAM ’96), pp 487-495, 1996 BUDZIK J., HAMMOND K. J., User Interaction with Everyday Application as Context for Justin-time Information Access, IUI 2000, pp.44-51, New Orleans LA, 2000 Apprentissage de profils CHAFFEE J., GLAUCH S., Personal ontologies for web navigation, Proceedings of the ninth international conference on Information and knowledge management, McLean, Virginia, United States, 2000 C HEN 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 CLAYPOOL M., PHONG LE, WASED M., BROWN D., Implicit Interest Indicators, IUI’01, January 14-17, 2001, Santa-Fe, New Mexico, USA, pp. 33-40, 2001 EDWARDS P., BAYER D., GREEN C. L., PAYNE T. R., Experience with Learning Agents which Manage Internet-Based Information, AAAI 1996 Stanford Spring Symposium on Machine Learning in Information Access, 1996 FISHER D., Iterative Optimization and Simplification of Hierarchical Clusterings, Journal of Artificial Intelligence Research, 1995 G AUCH S., CHAFFE J., PRETSCHNER A., Ontology-Based User Profiles for Search and Browsing, To appear in J. User Modeling and User-Adapted Interaction: The Journal of Personalization Research , Special Issue on User Modeling for Web and Hypermedia Information Retrieval, 2003 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 HUHNS, M. N., STEPHENS, L. M., Personal Ontologies, Internet Computing, Vol. 3, No. 5, pp. 85-87, Sept./Oct. 1999 JANSEN B.J., SPINK A., BATEMAN J.Q., SARACEVIK T., Real Life Information Retrieval: A study of User Queries On the Web, SIGIR Forum, vol. 32, N° 1, pp 5-17, 1998 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 MAGLIO, P. P., CAMPBELL, C. S., Attentive agents, Communications of the ACM, Volume 46, N° 3, pp. 47-51, March 2003 M A G L I O , P. P., B A R R E T T , R., Intermediaries personalize information streams, Communications of the ACM, 43, N° 8 , 2000 Members of the Clever Project (S. Chakrabarti, B. Dom, D. Gibson, J. Kleinberg, S.R. Kumar, P. Raghavan, S. Rajagopalan, and A. Tomkins). Hypersearching the Web, Scientific American, p44-52, June 1999 M ENCZER F., ARACHNID: Adaptive Retrieval Agents Choosing Heuristic Neighborhoods for Information Discovery, Machine Learning: Proceedings of the Fourteenth International Conference, 1997 Menczer F., Belew R. K., Adaptive Retrieval Agents: Internalizing Local Context and Scaling up to the Web, Machine Learning 39 (2-3), Kluwer Academic Publishers, pp. 203242, 2000 M LADENIC 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 o n Machine Learning for User Modeling, 6 th International Conference on User Modeling, Chia Laguna, Sardinia, 1997 CAp 2003 M OUKAS A., ZACHARIA G., Evolving a multi-agent information filtering solution i n Amalthaea, Proceedings of the First International Conference on Autonomous Agents. ACM. 1997, New York, NY, USA, pp.394-403, 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 O LSEN 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 P AZZANI M., BILLSUS D., Learning 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 R OCCHIO J., Relevance feedback information retrieval. In G. Salton, editor, The Smart Retrieval System-Experiments in Automatic Document Processing, pages 313-323. Prentice-Hall, 1971 S ALTON 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 S EBASTIANI F., Machine Learning in Automated Text Categorization, Computing Surveys, ACM, Vol. 34, N° 1, pp1-47, March 2002 S EO Y.-W., ZHANG B.-T., A Reinforcement Learning Agent for Personalized Information Filtering, Proceedings of the 2000 International Conference on Intelligent User Interfaces, New-Orleans, USA, Jan 9-12, 2000, ACM, pp248-251, 2000 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 S ORENSEN H., O’RIORDAN A., O’RIORDAN C., Profiling with the INFOrmer Text Filtering Agent, Journal of Universal Computer Science, vol. 3, n° 8, October 1998 S ULLIVAN D., Pay for Placement?, Search Engine Watch, November 15, 2002 (http://searchenginewatch.com/resources/paid-listings.html) S TEINBACH M., KARYPIS G., AND K U M A R V., A comparison of document clustering techniques, in proceedings of KDD Workshop on Text Mining, Boston, MA, August 2000 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 i n 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 W IDYANTORO D. H., Dynamic modeling and learning user profile in personalized news agent, Ms of Scince thesis, Texas A&M University, May 1999 W ITTEN I., H., FRANK E., Data Mining, Practical Machine Learning Tools and Techniques with Java Implementations, Morgan Kaufman Publishers, San Francisco, California, 2000 ZAMIR O., ETZIONI O., Grouper : A dynamic clustering interface to Web Search Results, Computer Networks, 31(11-16), 1361-1374, 1999.