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.