• Aucun résultat trouvé

MAIS – Un système multi-agents pour la recherche d’information sur le web

N/A
N/A
Protected

Academic year: 2022

Partager "MAIS – Un système multi-agents pour la recherche d’information sur le web"

Copied!
24
0
0

Texte intégral

(1)

pour la recherche d’information sur le web

Fabrício Enembreck — Jean-Paul Barthès

UTC - Université de Technologie de Compiègne Laboratoire HEUDIASYC UMR 6599

Centre de Recherches Royallieu F-60205 Compiègne cedex

enembrec@hds.utc.fr ; barthes@utc.fr

RÉSUMÉ. Cet article présente un système multi-agent (SMA) améliorant la recherche de documents sur la Toile. Une telle recherche devient de plus en plus difficile chaque jour car les mécanismes couramment utilisés ne peuvent suivre la croissance anarchique de l’internet.

En conséquence, les résultats obtenus par les moteurs de recherche classiques sont souvent très mauvais. Les SMA toutefois peuvent donner de meilleurs résultats, grâce à une spécialisation des agents pour exécuter des tâches différentes (recherche et filtrage) et à la possibilité de personnaliser l’information. Nous avons conçu et développé un SMA ouvert, MAIS (Multi-Agent based Internet Search), doté d’assistants personnels, d’un agent bibliothèque, d’agents de filtrage, et d’agents de recherche. Dans cet article, nous détaillons les éléments de MAIS et nous comparons ses performances à celles des moteurs de recherche classiques, dont les résultats sont beaucoup moins précis.

ABSTRACT. In this paper we present a multi-agent system for searching the Internet. The search for interesting documents on the Internet is becoming increasingly difficult, mainly because search engines cannot cope with the expansion of the Internet. Consequently, the results of queries are often of very poor quality. Multi-agent systems can give more accurate results than traditional search engines because agents can be specialized in different tasks (search or filtering) and can personalize information. We implemented such an approach using an open multi-agent system containing personal assistants, library agents, filter agents and search agents. In this paper, we detail the elements of our multi-agent system and compare its performance with more traditional search engines. Our results yield a better accuracy.

MOTS-CLÉS : système multi-agent, recherche d’information, récupération d’information, recherche sur web.

KEYWORDS: multi-agent system, information search, information retrieval, web search.

(2)

1. Introduction

Savoy (2002) affirme que 85 % des utilisateurs qui cherchent des informations sur la Toile font appel à plusieurs moteurs de recherche, ce qui dénote les insuffisances de chaque moteur pris séparément. L’insatisfaction liée aux mauvais résultats obtenus provient essentiellement de deux facteurs :

– les moteurs n’indexent pas tous les mêmes des pages ;

– les moteurs évaluent différemment la qualité des pages obtenues.

Dans ce travail, nous nous intéressons surtout au deuxième problème.

La qualité d’un site est calculée différemment selon le moteur de recherche employé. Certains moteurs utilisent la fréquence des termes présents dans la requête, d’autres des techniques heuristiques. La technique utilisée par Google, connue sous le nom de Page Rank (Brin et Page, 1998), consiste à apprécier la qualité d’une page en dénombrant le nombre de liens pointant sur celle-ci.

L’heuristique dans ce cas est fondée sur la relation sémantique dénotée par les liens.

Ce genre de techniques peut convenir dans certains cas, mais ne donne pas toujours de bons résultats, car ni les préférences ni les connaissances des utilisateurs ne sont prises en compte, autrement dit les résultats ne sont pas personnalisés.

La personnalisation si elle n’est pas un sujet nouveau, continue à susciter de nouvelles approches. Les premières idées ont été avancées au début des années 90 par Lieberman (1997), Armstrong et collaborateurs (1995), Chen et Sycara (1998) et Lashkari et collaborateurs (1994). Les trois premiers groupes ont construit des agents isolés d’aide à la navigation sur la Toile et le dernier groupe a conçu un système d’agents capable de gérer des courriels. Dans la lignée de ces travaux, nous pensons que l’introduction de systèmes multi-agents (SMA) peut donner de meilleurs résultats que des agents personnels isolés. En effet, les agents d’un SMA peuvent :

– faciliter la personnalisation d’information, car certains agents peuvent être spécialisés dans la création et la gestion de modèles d’utilisateurs ;

– faciliter l’accès à des sources d’information multiples ;

– échanger des informations afin de se perfectionner, et participer à un processus collaboratif de résolution distribuée ;

– distribuer et équilibrer la charge de travail.

Nous nous sommes appuyés sur ces hypothèses pour concevoir et développer un SMA appelé MAIS (Multi-Agent based Internet Search) pour la recherche d’informations personnalisées sur la Toile. Nous détaillons dans cet article l’architecture et le développement de MAIS, et discutons quelques travaux voisins des nôtres. La section 2 introduit quelques caractéristiques et avantages des SMA ouverts ; la section 3 présente MAIS ; la section 4 analyse les performances de MAIS ; les travaux se rapprochant des nôtres et les différentes formes de

(3)

personnalisation de l’information sur la Toile sont discutés dans la section 5 ; finalement, la section 6 conclut l’article.

2. Les SMA et le web

L’utilisation d’un SMA ouvert dans une application pour internet offre trois avantages principaux : l’extensibilité, la stabilité et l’équilibrage de charges.

– extensibilité : le système peut être mis à jour et étendu sans effets collatéraux quand il est en opération. Etant donné que les agents sont indépendants, ils peuvent être créés ou modifiés, alors que d’autres agents continuent à travailler et à fournir des services ;

– stabilité : quand un agent tombe en panne, d’autres agents peuvent coordonner la distribution des tâches et assurer la continuité des services ;

– équilibrage de charges : les agents distribuent naturellement la charge de travail. Certaines tâches comme l’apprentissage des profils des utilisateurs ou la recherche d’information nécessitent beaucoup de calculs. Des protocoles de coordination peuvent être utilisés pour distribuer la charge de travail uniformément entre les agents.

Malgré ces avantages, les applications des SMA pour l’internet ne sont pas pléthore. On peut l’expliquer par le manque de mécanismes standard qui permettraient d’échanger l’information entre agents de différentes plates-formes, bien que plusieurs organismes, dont FIPA1, fassent actuellement un effort important visant à établir ces standards.

La recherche d’information sur la Toile est un problème qui se prête bien à l’utilisation d’un SMA, car il peut être décomposé en problèmes plus simples de façon naturelle.

Les différentes fonctionnalités d’un système de recherche sont les suivantes : – la recherche doit prendre en compte suffisamment de pages pour assurer une bonne couverture du sujet ;

– le système doit être capable de modéliser les préférences de l’utilisateur pour personnaliser la présentation des résultats ;

– le système doit posséder un mécanisme pour coordonner ces activités.

Notre réponse à la première question est de définir des agents jouant le rôle de métamoteurs et capables de récupérer des pages fournies par plusieurs moteurs de recherche existants, comme Google, Altavista ou All-the-Web. Le deuxième point peut être résolu par la définition d’agents chargés de construire et de mettre à jour des profils d’utilisateurs. Ainsi, des personnes qui ont différents centres d’intérêt

1. FIPA – Foundations for Intelligent Physical Agents, http://www.fipa.org

(4)

pourront recevoir des résultats différents pour une même requête. Le troisième point est résolu par l’utilisation d’un SMA pour les raisons mentionnées précédemment.

Le système que nous avons conçu et développé, MAIS, est présenté dans les sections suivantes.

3. Le système MAIS

3.1. Approche générale

Le principe de fonctionnement du système MAIS est le suivant : un utilisateur qui souhaite obtenir des informations fait une requête qui sera traitée par des moteurs de recherche standard. Les résultats sont rassemblés et filtrés en fonction d’un profil utilisateur calculé à partir de documents personnels (favoris) organisés en centres d’intérêt et de centres d’intérêt publics. Les pages se rapprochant le plus des documents déjà contenus dans le profil l’utilisateur sont retenues et placées en tête des réponses. L’utilisateur prend connaissance des pages qui l’intéressent et a la possibilité de les rajouter aux documents présents dans ses centres d’intérêt.

AP

AF1 AR1

AR2

ARn AB

Requête (Termes, Nsites, Intérêts)

Réponse

Request

Answer GC

CFB

Sites ..

. Espace de l’utilisateur

(Documents, Structure des Documents et Graphe de

Concepts)

AF2 .. . AFn

Google

Altavista

All-the-Web Documents

Structure Des Documents

Agents de Filtrage Agents de Recherche Centre d’intérêts

publics

Documents

Documents, Structure des Documents Documents

Structure Des Documents

Documents, Structure des

Documents

AP = Assistant Personnel AB = Agent Bibliotèque AF = Agent de Filtrage AR = Agent de Recherche

AP

AF1 AR1

AR2

ARn AB

Requête (Termes, Nsites, Intérêts)

Réponse

Request

Answer GC

CFB

Sites ..

. Espace de l’utilisateur

(Documents, Structure des Documents et Graphe de

Concepts)

AF2 .. . AFn

Google

Altavista

All-the-Web Documents

Structure Des Documents

Agents de Filtrage Agents de Recherche Centre d’intérêts

publics

Documents

Documents, Structure des Documents Documents

Structure Des Documents

Documents, Structure des

Documents

AP = Assistant Personnel AB = Agent Bibliotèque AF = Agent de Filtrage AR = Agent de Recherche

Figure 1. L’architecture du système MAIS

(5)

3.2. Structure du système MAIS

Le système MAIS contient quatre catégories d’agents : l’assistant personnel (AP), l’agent bibliothèque (AB), les agents de filtrage (AF) et les agents de recherche (AR), comme schématisé sur la figure 1. Les agents échangent des messages typés (Request, Answer et Call-For-Bids « CFB ») pour l’allocation dynamique de tâches, contenant des documents des modèles vectoriels de documents, ou des graphes de concepts (GC) utilisés par l’algorithme d’apprentissage pour analyser le niveau de pertinence d’un document.

3.3. Le fonctionnement

L’utilisateur est doté d’un agent assistant personnel (AP) qui lui fournit fondamentalement deux services : une gestion des pages favorites et, évidemment, la recherche de nouvelles pages.

3.3.1. La gestion des pages favorites

Les pages favorites sont stockées par l’assistant personnel (AP) dans l’espace de travail de l’utilisateur, dans des dossiers personnels sous forme de documents textuels qui sont ensuite utilisés par l’agent bibliothèque (AB) pour créer un modèle vectoriel. Ce modèle est composé de la liste des termes les plus importants, présents dans la collection de documents personnels. L’agent bibliothèque peut être programmé pour mettre automatiquement à jour la structure des documents de l’utilisateur (une fois par jour, par exemple), ou activé par une requête de l’administrateur du système. Il sera aussi utilisé par l’administrateur du système pour la construction de centres d’intérêt publics. Ces derniers contiennent des documents concernant des domaines précis (de recherche ou pas) fournis par des experts, par exemple, Artificial-Intelligence-Adaptative-Agents, Groupware- Knowledge-Management ou encore Artificial-Intelligence-MBR. Ces centres d’intérêt sont communs à tous les utilisateurs, mais peuvent être personnalisés au fur et à mesure que les utilisateurs ajoutent de nouveaux documents à leur profil. En effet, les documents qui forment chaque centre d’intérêt sont copiés dans l’espace de travail de l’utilisateur lorsqu’il les sélectionne. L’utilisateur peut alors les compléter. A ce jour le nombre de centres d’intérêt fournis par le système est encore réduit, car il s’agit d’un prototype, mais nous envisageons de créer une collection de centres d’intérêt ressemblant aux répertoires de catégories des moteurs de recherche.

3.3.2. Le processus de recherche

L’utilisateur déclenche une recherche en passant à son assistant personnel une liste de termes, le nombre de pages désiré, et les centres d’intérêt sélectionnés (les siens ou des centres d’intérêt publics). L’assistant envoie ensuite une requête en

(6)

mode broadcast. Le premier agent de filtrage (AF) disponible sera chargé de fournir la réponse.

Les agents de filtrage jouent un rôle central dans le système. La première tâche d’un agent de filtrage engagé dans un processus de recherche est de rassembler les résultats fournis par les agents de recherche (AR) à l’issue d’une procédure de contract-net. Rappelons que dans le contract-net l’agent (le gérant) qui doit résoudre un problème envoie un appel d’offres en mode broadcast et attend les propositions des candidats. Ensuite, il choisit les candidats ayant fait les meilleures offres en leur passant un contrat. Finalement, les contractants envoient leurs réponses au gérant. Le temps d’attente des réponses est paramétrable (dans notre cas, il est de 20 secondes). L’agent de filtrage récupère une liste importante de pages qu’il doit réduire et ordonner pour finalement présenter les résultats à l’utilisateur. C’est alors que le mécanisme de personnalisation entre en action.

Le processus de personnalisation consiste à ordonner la liste de pages fournies par les agents de recherche en fonction des préférences de l’utilisateur. Chaque page est classée selon un processus qui retourne sa classe et le degré de qualité de la classification. Les classes possibles correspondent aux dossiers créés par l’utilisateur pour organiser ses documents favoris (centres d’intérêt qu’il a choisis).

Finalement, seules les meilleures pages sont sélectionnées après seuillage. Les sections suivantes donnent plus de détails sur la conception de chaque agent, et notamment sur le mécanisme de classification de l’agent de filtrage.

3.4. Les agents de MAIS 3.4.1. L’assistant personnel (AP)

Dans notre application, l’assistant personnel est composé de deux éléments principaux : l’interface et une base d’actions.

L’interface constitue le côté client de l’assistant personnel et permet à l’utilisateur de déclencher des recherches, de visualiser les résultats et de gérer les documents favoris. La base d’actions est composée d’une série de fonctions (LISP) codées dans un serveur HTTP et déclenchées à distance par l’interface. Par conséquent, n’importe quel utilisateur connecté à l’internet peut utiliser l’interface pour faire des recherches de façon transparente. La figure 2 montre l’interface de l’assistant personnel. Les recherches faites par l’utilisateur peuvent ensuite être affichées en fonction de différents critères (mots-clés utilisés « keywords », nombre de sites ou encore état courant des recherches « ready ou running »). Ces résultats peuvent être supprimées avec le bouton « Delete Query » ou mis à jour avec le bouton « Update Results ». Au départ, le résultat des recherches est affiché par ordre d’importance fixé par le système, mais d’autres ordonnancements sont possibles. L’utilisateur peut gérer les favoris en rajoutant/supprimant des dossiers et

(7)

des pages dans son espace de travail. L’interface permet aussi à l’utilisateur de sélectionner les centres d’intérêt qui lui conviennent (figure 3).

Site Titre Classe

Score

http://www.irit.fr/ACTIVITIES/EQ_SMI/SMAC/Bibliographie.html Bibliographie de l’equipe SMAC

AI-Personal-Assistant

Dossiers favorites Sites favorites

Recherches

Site Titre Classe

Score

http://www.irit.fr/ACTIVITIES/EQ_SMI/SMAC/Bibliographie.html Bibliographie de l’equipe SMAC

AI-Personal-Assistant

Dossiers favorites Sites favorites

Recherches

Figure 2. L’interface de l’AP

.

Figure 3. Les centres d’intérêt publics

Etant donné que les recherches peuvent durer plusieurs minutes, elles sont déclenchées de façon asynchrone. L’utilisateur peut donc activer plusieurs recherches par exemple la nuit, puis analyser les résultats le lendemain.

(8)

3.4.2. L’agent bibliothèque (AB) et la représentation des documents

L’agent bibliothèque est spécialisé dans la manipulation des documents. Son rôle est de construire à partir d’une collection de documents, un dictionnaire représentatif composé d’index. Pour cela il met en œuvre certaines techniques empruntées à différents domaines comme la classification automatique de documents ou la récupération d’information. Nous utilisons un dictionnaire anglais contenant tous les noms possibles et leurs variations, ce qui nous dispense de faire des traitements linguistiques préalables comme une lemmatisation. Ainsi nous sommes capables de supprimer du texte toute catégorie grammaticale inutile et sélectionner seulement les noms. Nous cherchons une approche générale, qui puisse être utilisée sans effort indépendamment du langage. Dans notre cas, il suffit d’ajouter de nouveaux dictionnaires pour pouvoir utiliser le système dans des langages différents.

La tâche de l’agent bibliothèque consiste à trouver une bonne représentation pour l’ensemble des documents (favoris de l’utilisateur et centres d’intérêt publics) en choisissant les bonnes caractéristiques (index). Une technique bien connue, basée sur le modèle vectoriel de Salton (1971), consiste à choisir certains termes existant dans un document pour construire un vecteur qui le représente. Ces termes sont normalement les termes les plus importants dans une collection de documents. Pour choisir les termes nous avons utilisé comme mesure de qualité TF-IDF (Term Frequency - Inverse Document Frequency) (Salton, 1989). TF-IDF considère qu’un terme est important s’il est très fréquent dans un petit nombre de documents. TFter

représente la fréquence du terme ter dans la collection de documents et IDF représente la fréquence inverse par rapport au nombre de documents, calculée selon la formule log(N/DFter) où N est le nombre total de documents dans la collection et DFter est le nombre de documents qui contiennent le terme ter. Ainsi, la valeur TF- IDF d’un terme quelconque i par rapport à une collection de documents est donnée par :

×

=

i NDFi

TF i

TFIDF() log

[1]

La représentation d’un document donné d est donnée par le vecteur d =

×

×

n d

n

d NDF TF NDF

TF log ,..., log

1 1

TFidest la fréquence du terme i dans le document d. Ainsi la représentation de la collection de documents de chaque utilisateur dans chaque domaine est structurée selon les termes trouvés par l’agent bibliothèque. La section suivante montre comment les structures obtenues sont utilisées dans le processus d’apprentissage.

(9)

3.4.3. L’agent de filtrage (AF)

L’agent de filtrage coordonne le dialogue entre les différents agents du système.

Il reçoit comme paramètres la liste de termes à rechercher, le nombre de pages à retourner et les noms des centres d’intérêt donnés par l’utilisateur. Il est responsable de la personnalisation et son rôle principal est d’ordonner et de réduire la liste de pages qu’il reçoit des agents de recherche en fonction du profil de l’utilisateur. Pour cela, il utilise la méthode d’apprentissage ELA (Entropy-based Learning Approach) décrite ci-après.

Le mécanisme d’apprentissage

La méthode d’apprentissage ELA est une méthode incrémentale que nous avons développée lors de recherches précédentes pour résoudre les problèmes des algorithmes de classification automatique utilisant une mémoire comme KNN ou MBR (Memory-Based Reasoning). De façon résumée, ELA a besoin de beaucoup moins de données d’apprentissage, n’utilise pas de mesure de similarité et classe les nouveaux exemples très rapidement. Notre mécanisme d’apprentissage comprend deux parties : l’acquisition/représentation des données et leur classification.

Figure 4. Construction d’un graphe de concepts

ELA représente les données sous forme d’un graphe de concepts2 (GC). La figure 4 illustre la construction d’un tel graphe avec 14 exemples (1, 2,… 14)

2. Ici notre graphe de concept n’a rien à voir avec les graphes conceptuels proposés par Sowa.

Il n’a pas non plus de rapport avec un arbre de décision, car il n’y a pas d’ordre hiérarchique

(10)

extraits de la base de données de Quinlan (1986). Cette base met en relation des variables météorologiques (Extérieur, Température, Humidité et Vent) et la pratique de sport (Pratique ou Non Pratique). Dans le graphe, chaque nœud représente un concept qui correspond à la valeur d’un attribut (dénoté par un rectangle) et chaque lien représente une transition d’un attribut vers un autre attribut. Nous n’attribuons pas de poids aux attributs ni ne faisons aucun traitement ultérieur. L’ordre des attributs (niveau de profondeur de chaque attribut dans le graphe) est donné par la représentation initiale des données. Les concepts et les liens sont créés de façon dynamique. Un lien entre deux concepts A et B contient les identifiants des exemples qui possèdent les valeurs A et B (entre crochets sur la figure).

Figure 5. Classification d’un exemple

La classification d’un nouvel exemple est faite de la manière suivante : d’abord l’algorithme identifie dans le graphe les concepts appartenant à l’exemple à classer.

Par exemple, sur la figure 5 les concepts « Rain », « Cool », « H-High » et « True » sont choisis. Deuxièmement, l’algorithme obtient la collection de sous-ensembles correspondants. Sur la figure 5 les sous-ensembles sont [4 5 6 10 14], [5 6 7 9], [1 2 3 4 8 12 14] et [2 6 7 11 14]. Ensuite, le sous-ensemble qui présente la meilleure distribution de classes est sélectionné (car il correspond à l’entropie la plus faible, [5 6 7 9]) et est partitionné en fonction des classes qu’il contient ([5 7 9] pour la classe Pratique et [6] pour la classe Non Pratique). La mesure de qualité des classes (Pratique et Non Pratique) est calculée en fonction du comportement de l’intersection des exemples de la classe avec toutes les partitions initiales. En effet, une classe est optimale si elle est représentée entièrement dans l’ensemble complet de partitions. Evidemment, quand c’est le cas, l’intersection entre la classe et les partitions doit produire des sous-ensembles de taille identique. Cela arrive sur la figure 5 pour la classe NP (Non Pratique), où l’ensemble suivant est obtenu avec l’intersection : { [6] [6] [6] } ; Dans ce cas, nous avons trois sous-ensembles de

entre nœuds, autrement dit, chaque chemin de la racine jusqu’aux feuilles du graphe ne représente pas un concept du point de vue de l’apprentissage automatique.

(11)

Représentation des documents des centres d’intérêts de l’utilisateur

agentprotocole communication auml…

dialoguesystem user preference Dialogue Systems

MBR

instance nearestqualitative accuracy …

Knowledge Management

knowledgemanagement information organization user …

+ + +

Représentation des documents de l’utilisateur

Représentation générale

des documents agent nearest dialogue knowledge preference … Représentation des documents des

centres d’intérêts de l’utilisateur

agentprotocole communication auml…

dialoguesystem user preference Dialogue Systems

MBR

instance nearestqualitative accuracy …

Knowledge Management

knowledgemanagement information organization user …

+ + +

Représentation des documents de l’utilisateur

Représentation générale

des documents agent nearest dialogue knowledge preference …

taille 1. Une classe imparfaite doit produire des intersections de tailles variables, par exemple { [5] [5 7 9] [7] } sur la figure 5. Nous identifions ce comportement en utilisant une fois de plus la mesure d’entropie, cette fois-ci en choisissant la classe qui présente l’entropie la plus importante.

Nous avons évalué la performance de cette technique d’apprentissage par rapport d’autres algorithmes connus dans domaine de l’apprentissage symbolique (Naïve Bayes, NN, C45, C45 Rules, CN2) et nous avons constaté que notre technique présente une meilleure performance sur plusieurs bases de données du domaine public (UCI3). Des commentaires plus détaillés sur la méthode ELA et son évaluation sont disponibles dans (Enembreck, 2003).

Figure 6. Combinaison des index

Dans l’application à la classification de pages web, la valeur de l’entropie calculée pour la meilleure classe donne le degré de qualité de la page.

Toutefois, pour créer le graphe de concepts et ensuite l’utiliser pour classer les pages, deux questions doivent être résolues :

– les données d’un algorithme d’apprentissage doivent être structurées (avoir des attributs), autrement dit, les pages doivent être indexées ;

– nous devons disposer d’exemples d’apprentissage.

Indexation des documents (modèle de préférences)

Nous avons vu dans la section 3.4.2 comment l’agent bibliothèque est capable de construire une représentation vectorielle des documents favoris de l’utilisateur et

3. University of California, Irvine.

(12)

de chaque centre d’intérêt public. Ces représentations doivent être combinées pour construire une liste unique de termes qui représente le modèle général de préférences, et qui sera ensuite utilisée par l’algorithme d’apprentissage. La combinaison entre ces différentes vecteurs se fait grâce à un processus de

« fusion », pour lequel le critère d’ordonnancement des termes est la valeur TF-IDF.

La liste résultante est limitée arbitrairement à 1 000 éléments. La figure 6 donne un exemple de la procédure adoptée. A partir de quatre vecteurs de termes représentant respectivement les favoris de l’utilisateur « ☺ », et les centres d’intérêt « Dialogue Systems », « MBR » et « Knowledge Management », les termes en gras ont été choisis. Cette approche garantit que des informations de toutes les classes seront utilisées par l’algorithme d’apprentissage. Pour garder une certaine cohérence entre les valeurs TF-IDF nous considérons des collections contenant une même quantité de documents pour chaque centre d’intérêt. Puisque les collections de termes peuvent présenter des intersections, les répliques sont supprimées et seul le terme présentant la valeur TF-IDF la plus importante est considérée.

La représentation du modèle général de préférences de l’utilisateur est donc composée d’une liste de termes choisis à partir de différents vecteurs représentant plusieurs collections de documents. Ce modèle est formé par la combinaison de (n + 1) vecteurs, 1 pour les favoris de l’utilisateur et n pour le nombre de centres d’intérêt publics choisis. Ce processus n’analyse donc pas directement le contenu des documents des centres d’intérêt, mais utilise simplement le modèle vectoriel construit au préalable, ce qui permet de diminuer le temps de calcul.

Les exemples d’apprentissage

Une fois résolu le problème de la structuration et de l’indexation des documents, le deuxième problème consiste à trouver suffisamment de données pour l’algorithme d’apprentissage. Pour fabriquer le graphe de concepts, l’agent de filtrage utilise comme données les documents existants dans les favoris de l’utilisateur, plus les documents présents dans chaque centre d’intérêt sélectionné par ce dernier. Il faut souligner que la classe de chaque document est connue. Il s’agit du nom du dossier favori où l’utilisateur a enregistré le document (dans le cas des documents favoris) ou du nom du centre d’intérêt concerné (dans le cas des documents des centres d’intérêt publics).

Lorsque l’agent de filtrage reçoit une requête, il recherche le graphe de concepts dans l’espace de l’utilisateur, le créant si nécessaire. Ensuite, il classe toutes les pages envoyées par les agents de recherche et enregistre la réponse en ordonnant les résultats selon les résultats de la méthode ELA. La figure 2 reproduit les classes trouvées par l’agent de filtrage.

(13)

Aspect adaptatif de l’agent (utilisation de feedback)

Dans l’application à la recherche sur la Toile, l’adaptation est réalisée par les agents de filtrage. Dans ce cas, le graphe de concepts constitue le modèle général des préférences de l’utilisateur.

L’adaptation du modèle des préférences de l’utilisateur se fait dans deux cas : – l’utilisateur ajoute/supprime un document dans les favoris ;

– l’utilisateur demande une recherche avec des centres d’intérêt différents de ceux présents dans son profil.

Dans le premier cas, l’aspect incrémental du graphe permet à l’agent d’ajouter et de supprimer un nouveau document sans effort, entraînant une mise à jour automatique de son profil. En conséquence, le filtrage des résultats se fera toujours par rapport au modèle courant, ce qui revient à dire que l’algorithme apprend instantanément. Si un document est supprimé l’identifiant du document concerné est supprimé. Si un nœud devient vide, il est aussi supprimé.

Dans le deuxième cas, le graphe est reconstruit entièrement. Chaque centre d’intérêt ajouté/supprimé correspond à plusieurs documents qu’il faut ajouter ou supprimer du graphe et du profil de l’utilisateur. La procédure la plus simple consiste à recréer le graphe. Le calcul nécessaire dépend évidemment du nombre de centres d’intérêt concernés et du nombre de documents stockés dans les favoris.

Cependant, la création du graphe ne pose pas de problèmes quand il s’agit de représenter quelques milliers de documents.

3.4.4. L’agent de recherche (AR)

Les agents les plus simples du système sont certainement les agents de recherche. Chaque agent de recherche gère un moteur de recherche particulier, comme Google, Altavista et All-the-Web. Ces agents sont réalisés par des agents OMAS (Open Multi-Agent System, développé par Barthès, 2002). Comme ceux-ci évoluent dans un environnement ouvert, de nouveaux agents peuvent être créés pendant l’exécution du système, ce qui permet l’addition de nouveaux moteurs de recherche à n’importe quel moment sans que cela n’affecte le fonctionnement général. Cette architecture permet également de rechercher des pages en parallèle, ce qui réduit le temps total de recherche. Afin d’effectuer les recherches dans un espace de taille raisonnable (ni trop grand ni trop petit), chaque agent de recherche a été programmé pour retourner 2N pages, si N est le nombre de pages demandées par l’utilisateur. Ainsi, si le système compte n agents de recherche, l’agent de filtrage concerné va analyser jusqu’à 2nN pages. Généralement, le nombre de pages à classer sera très inférieur à 2nN, car certaines pages sont communes à plusieurs moteurs de recherche.

(14)

3.5. La réalisation du système MAIS

Du point de vue informatique l’agent assistant est composé d’une interface LISP capable d’envoyer des messages à l’agent de transfert (AT) qui tourne sur un serveur HTTP. Ensuite, l’agent de transfert envoie le message concerné vers l’intérieur de la plate-forme d’agents OMAS. Nous utilisons le serveur HTTP fourni par Allegro Common Lisp™. L’agent de transfert est lui aussi codé en LISP. Le choix du serveur Allegro nous permet d’exécuter des fonctions LISP comme des programmes CGI, ce qui rend la tâche d’interprétation des messages beaucoup plus facile. La figure 7 montre les ressources mises en œuvre par le système.

L’agent de transfert émule les services de base concernant la communication au standard FIPA comme l’Agent Manager System, le Directory Facilitator et l’Agent Communication Channel. Il est capable de traduire des messages OMAS en messages FIPA SL-0 et d’assurer la cohérence entre les protocoles OMAS et les protocoles FIPA. L’agent de transfert peut donc jouer le rôle de passerelle entre OMAS et d’autres plates-formes compatibles FIPA.

FA1 SA1

SA2

SAn

LA

.. . FA2

.. . FAn

AF = Agent Filtrage AT = Agent Transfert

Agents OMAS Message OMAS

(Contract Net, KQML Message,

MAIS Langage) Interface

Lisp

Serveur HTTP HTTP

Message (MAIS Langage)

Réseau Local L’Agent Assistant

Chez l’utilisateur

AF1 AR1

AR2

ARn

AB

.. . AF2

.. . AFn

AB = Agent Bibliothèque

AR = Agent Recherche

(Contract Net, KQML Message,

MAIS Langage) Interface

LISP

Serveur HTTP HTTP

Message

(MAIS Langage) Assistant Personnel

Fonctions Assistant AT

FA1 SA1

SA2

SAn

LA

.. . FA2

.. . FAn

AF = Agent Filtrage AT = Agent Transfert

Agents OMAS Message OMAS

(Contract Net, KQML Message,

MAIS Langage) Interface

Lisp

Serveur HTTP HTTP

Message (MAIS Langage)

Réseau Local L’Agent Assistant

Chez l’utilisateur

AF1 AR1

AR2

ARn

AB

.. . AF2

.. . AFn

AB = Agent Bibliothèque

AR = Agent Recherche

(Contract Net, KQML Message,

MAIS Langage) Interface

LISP

Serveur HTTP HTTP

Message

(MAIS Langage) Assistant Personnel

Fonctions Assistant AT

Figure 7. Ressources informatiques utilisées par le système

4. Résultats

L’évaluation des mécanismes de recherche sur la Toile est toujours une tâche compliquée. Les mesures couramment utilisées par les systèmes de récupération d’information comme recall et precision sont insuffisantes en raison de la dynamicité du corpus de pages. Une majorité de travaux concernant l’évaluation de tels mécanismes utilise un corpus de pages prédéfini. Les pages sont ordonnées selon une mesure de similarité calculée automatiquement faisant intervenir les résultats et les pages de référence. Par exemple, Menczer et al. (2001) ont utilisé 100 catégories et pages de référence proposées par Yahoo pour comparer les

(15)

résultats de trois mécanismes de recherche. Dans ce cas, les ensembles de pages utilisées comme références et comme tests sont statiques et de taille limitée. Pour éviter ces problèmes, Gasparetti et Micarelli (2003) ont utilisé les mesures recall et precision sur la base « .gov » proposée par TREC (Text REtrieval Conference - http://trec.nist.gov). Cette base compte 1,2 million de pages « .gov » répertoriées jusqu’à 2002 et, selon les auteurs est suffisamment importante pour être représentative d’une collection de documents de la Toile. Les auteurs ont évalué les résultats sur trois requêtes : « exchange office », « educational department » et

« children foundation ». Le nombre de résultats moyen pour chaque requête est 373 712, 445 964 et 117 036, respectivement. Ces mesures de performance sont utiles pour découvrir l’information disponible sur un sujet susceptible d’être traité automatiquement par une machine, mais notre problème est plus difficile, car un système de recherche d’information personnalisé doit limiter le nombre de résultats, en tenant compte de l’effort que l’utilisateur devra fournir pour les analyser (Silvertein et al., 1999).

Notre évaluation prend l’avis de trois utilisateurs sur les résultats obtenus directement sur la Toile et non sur des bases de données simulées. Les utilisateurs, ayant différents niveaux d’expertise, analysent uniquement les vingt ou trente premières pages en indiquant combien de pages leur sont utiles. Nous estimons que seuls les premiers sites doivent être analysés, car un bon système de recherche ne doit pas demander un effort important d’analyse des résultats. Le domaine de recherche est celui des systèmes multi-agents. Nous avons choisi des requêtes sur un même domaine pour réduire les ambiguïtés liées à l’identification des sites intéressants, et donc pour pouvoir estimer plus précisément les apports des centres d’intérêt publics et des sites favoris.

Chaque centre d’intérêt public a été construit selon la technique présentée dans la section 3.4.2. Les centres d’intérêt ont été construits à partir de 10 articles scientifiques choisis par les experts du laboratoire. Chaque utilisateur a été invité à choisir un nombre de pages de référence (sites favoris) dans le cadre des ses propres spécialités (tableau 1). Les résultats ont été analysés en aveugle, sans prendre en compte l’identité des différents moteurs de recherche utilisés par le système.

Tous les utilisateurs ont exécuté les requêtes suivantes : « agent », « autonomy agent », « personal assistant » et « personal assistant agent ». Par ailleurs, des centres d’intérêt identiques ont été utilisés par les utilisateurs afin de comparer les résultats dans les mêmes conditions. Ces requêtes sont intentionnellement ambiguës.

Le but du mécanisme d’évaluation est de savoir jusqu’à quel point le système est capable de filtrer des informations intéressantes en utilisant l’expertise de chaque utilisateur comme référence. Nous mesurons également l’influence des centres d’intérêt publics proposés par le système pour l’utilisateur C.

(16)

Utilisateur Expertise Pages de référence Centres d’intérêt

A Systèmes multi-agent 58

Adaptative-Agents Autonomous-Agents

Agents Personal Assistant

B Intelligence artificielle

8

Adaptative-Agents Autonomous-Agents

Agents Personal Assistant

C Aucune 1 -

C-int Aucune 1

Adaptative-Agents Autonomous-Agents

Agents Personal Assistant

Tableau 1. Informations sur les utilisateurs

Performance avec 20 sites

3 6 9 12 15 18

"Agent"

"Autonomy Agent"

"Personal Assistant"

"Personal Assistant Agent"

Requêtes Nombre de Sites Inressants

All-the-Web Altavista Google MAIS(B-8) MAIS(A-55)

Figure 8. Performance mesurée sur les 20 premières pages

Le graphique présenté sur la figure 8 illustre la performance de trois moteurs de recherche connus (All-the-Web, Altavista et Google) et les résultats des utilisateurs A (A-55) et B (B-8) avec MAIS. Comme nous nous y attendions, l’utilisateur A a obtenu les meilleurs résultats dans tous les tests, ce qui démontre la capacité du système à tenir compte du profil de l’utilisateur (sous forme de ses pages favorites) pour la personnalisation des résultats. L’utilisateur B a obtenu les mêmes améliorations.

Deux observations semblent évidentes à partir des résultats de la figure 8 : – la première est la limite des performances de MAIS imposée par les moteurs de recherche ;

– la variabilité des moteurs de recherche.

(17)

MAIS réalise des métarecherches. Si les moteurs utilisés par MAIS sont incapables de trouver des pages intéressantes, MAIS sera incapable de donner de bons résultats. Cela se confirme avec la requête « Agent » qui est ambiguë.

Certains moteurs de recherche présentent de bonnes performances pour certaines requêtes, alors que pour d’autres les résultats sont très pauvres. Nous pouvons constater, par exemple, que All-the-Web, donne des bons résultats pour la requête

« Autonomy Agent » et de mauvais résultats pour « Personal Assistant ».

Performance avec 30 sites

5 10 15 20 25 30

"Agent"

"Autonomy Agent"

"Personal Assistant"

"Personal Assistant Agent"

Requêtes Nombre de Sites Inressants

All-the-Web Altavista Google MAIS(B-8) MAIS(A-55)

Figure 9. Performance mesurée sur les 30 premières pages

Performance avec 20 et 30 sites, avec et sans centres d'intérêts

5 10 15 20 25 30

"Agent" "Autonomy Agent" "Personal Assistant"

"Personal Assistant Agent"

Requêtes

Nombre de Sites Inressants MAIS(C):20

MAIS(C-int):20 MAIS(C):30 MAIS(C-int):30

Figure 10. Résultats avec et sans les centres d’intérêt publics

Si l’on analyse les 30 premières pages, MAIS donne encore les meilleurs résultats pour l’utilisateur A (figure 9). En revanche, la performance du système concernant l’utilisateur B est dépassée par d’autres moteurs de recherche pour 3 requêtes sur 4. Cela montre que lorsqu’un utilisateur possède un profil incompatible avec les informations recherchées, le système ne pourra pas l’aider. Ce problème peut être résolu simplement en informant le système que le profil de

(18)

l’utilisateur ne doit pas être utilisé pour la recherche, mais qu’il faut utiliser les centres d’intérêt publics.

Afin de mesurer l’importance des centres d’intérêt publics pour la recherche d’information avec MAIS, nous avons demandé à l’utilisateur C qui possède un profil pratiquement vide, de réaliser des recherches sans référencer les centres d’intérêt « MAIS(C) » et puis en référençant les centres d’intérêt « MAIS(C-int) ».

Les résultats sont indiqués sur la figure 10. Pour la requête « Agent », l’utilisation des centres d’intérêt est indifférente, car la requête est trop imprécise. Pour la requête « Autonomy Agent » les centres d’intérêt ont amélioré énormément la performance tant pour les 20 premières pages que pour les 30 premières. Pour les deux dernières requêtes, la performance du système a été sensiblement améliorée lorsque les 30 premières pages sont analysées. Lorsque seulement les 20 premières pages sont analysées les centres d’intérêt ont peu d’importance pour les requêtes

« Personal Assistant » et » Personal Assistant Agent ». Ceci démontre que même pour des requêtes raisonnablement précises, comme « Personal Assistant Agent », les moteurs de recherche utilisés par MAIS ne sont pas capables de grouper les meilleures pages et de les présenter en priorité.

Avec 20 pages Avec 30 pages

MAIS(C-int) 13,25 MAIS(C-int) 19,5

MAIS(A-58) 12,5 MAIS(A-58) 18,25

MAIS(C) 11,75 MAIS(C) 16,25

MAIS(B-8) 11 MAIS(B-8) 15

Google 9,5 Google 15

All-the-Web 8,25 All-the-Web 13,5

Altavista 6,5 Altavista 9,25

Tableau 2. Résultats moyens en nombre de pages intéressantes pour les 4 requêtes

La performance moyenne pour tous les moteurs de recherche sur les 4 requêtes est indiquée sur le tableau 2. L’analyse des 20 et 30 premières pages montre que MAIS a dépassé tous les moteurs de recherche. De façon surprenante, l’utilisateur obtenant le meilleur résultat est « C-int » qui contient un profil pratiquement vide, mais qui utilise les centres d’intérêt publics. Ceci montre que les pages jugées intéressantes par les utilisateurs ne rajoutent pas forcément des informations très importantes pour le système. Pire, l’ajout de pages peut même diminuer la précision du système, si ces pages ne contiennent pas beaucoup de texte, car elles introduisent beaucoup de bruit. Cela explique par exemple que l’utilisateur MAIS-C, qui n’utilise pas des centres intérêt publics et fait uniquement référence à sa propre page personnelle dans ses favoris puisse avoir un meilleur résultat que l’utilisateur MAIS(B-8). Dans ce cas, le système a jugé que plusieurs sites liés à des professions

(19)

libérales et à la finance étaient pertinents pour l’utilisateur MAIS(B-8). Ces sites contenaient certains termes comme live, service, intelligent, time, personal, assistants, training, learning, planning, organization d’usage courant. Par ailleurs, lorsque le profil de l’utilisateur est vide ou incomplet comme dans le cas de MAIS- C, c’est-à-dire, ne contient pas un nombre minimal (fixé à 200) de termes nécessaires à la création du modèle de préférences, le système ordonne les sites en utilisant une technique simple de vote, qui renforce l’importance d’un document s’il est récupéré par plusieurs moteurs de recherche. Cette technique est similaire à la méthode CombMNZ, proposée par Fox et Shall (1994). Les résultats obtenus montrent par ailleurs que notre technique de personnalisation donne de meilleurs résultats que cette technique simple de fusion. Toutefois, les travaux sur la fusion de résultats de moteurs de recherche sont hors du cadre de cet article car ces méthodes ne prennent généralement pas en compte la personnalisation. Nous constatons également que le système MAIS est plus précis lorsque l’utilisateur choisit les centres d’intérêt publics, car ceux-ci sont composés de documents validés par des experts. Les documents sont représentatifs du domaine et contiennent beaucoup d’informations textuelles. Nous pouvons donc conclure que les utilisateurs devront analyser soigneusement les pages qui leur conviennent avant de les ajouter à leur liste de favoris.

5. Discussion et travaux similaires

Nous n’avons pas fait d’essais d’acceptabilité du système car le but de notre travail était simplement de démontrer techniquement qu’une approche multi-agent peut améliorer sensiblement les résultats de recherches sur la Toile. Cependant, l’analyse des résultats nous a permis de constater que certains sites très mal classés par certains moteurs de recherche (comme par exemple, entre les positions 80e et 90e) ont pu être récupérés par le système, car d’autres moteurs de recherche les avaient placés en meilleure position. Nous pouvons donc conclure que le système peut automatiser en partie le fastidieux travail d’analyse des résultats et diminuer énormément la charge de l’utilisateur dans certaines conditions (l’utilisation des centres d’intérêt publics et/ou un bon ensemble de sites favoris). Par ailleurs, nous ne pouvons pas nous appuyer uniquement sur les sites favoris des utilisateurs pour concevoir une représentation fiable de ces centres d’intérêt car les informations correspondantes sont souvent ambiguës, contradictoires, incomplètes et bruitées.

C’est la raison pour laquelle nous avons introduits des centres d’intérêt publics représentant des sujets que les utilisateurs peuvent facilement choisir.

Widyantoro et collaborateurs (2001) discutent différents modèles de représentation des profils des utilisateurs pour la personnalisation dans le cadre d’un système d’information. Selon les auteurs, un tel système doit être capable de modéliser les changements dynamiques d’intérêt des utilisateurs en introduisant une représentation explicite d’un modèle à long terme et d’un modèle à court terme. Le modèle à long terme correspond aux intérêt généraux qui ne changent pas souvent,

(20)

et le modèle à court terme correspond aux nouveaux intérêt ponctuels de l’utilisateur. La technique introduite par les auteurs est basée sur une représentation du modèle de l’utilisateur séparée en trois parties (long terme, court terme positive et court terme négative), où positive et négative correspondent au feedback de l’utilisateur sur les documents. Nous pouvons citer encore d’autres travaux où l’utilisateur doit fournir un feedback afin d’aider le système : Amalthea (Moukas et Zacharia, 1997), (Billsus et Pazzani, 1999) et Webnaut (Nick et al., 2001). Le premier utilise une collection d’agents pour filtrer et ordonner les informations d’un utilisateur. Chaque agent de filtrage fait partie d’une population d’agents qui évolue en fonction d’un algorithme génétique prenant en compte la qualité des documents que les agents fournissent. Cette approche intéressante présente l’inconvénient d’avoir besoin d’une fonction de fiabilité pour chaque agent pour calculer le degré de « fitness » en fonction des résultats fournis par l’agent, ce qui peut s’avérer très complexe et demander beaucoup de feedback, comme l’indiquent Lashkari et al.

(1994). Le deuxième travail utilise quatre types de feedbacks : interesting, not interesting, I already know this, et tell me more about this qui sont traduits par des valeurs numériques à l’intérieur du système et utilisés par certaines heuristiques pour le calcul de l’intérêt des documents. Nick et al. (2001) utilisent le feedback de l’utilisateur pour construire un SMA capable de réaliser des métarecherches. Parmi les agents du système, l’agent apprentissage utilise un algorithme génétique pour construire des populations de requêtes à partir des mots-clés trouvés dans le profil de l’utilisateur, la requête de l’utilisateur et des opérateurs logiques. Dans ce système l’utilisateur doit analyser son propre modèle et indiquer au système quels sont les termes importants. Par ailleurs, les systèmes fondés sur le principe d’expansion de requêtes introduisent souvent beaucoup de bruit avec des requêtes incohérentes produites de façon aléatoire et sont très dépendants de la qualité des requêtes initiales proposées par les utilisateurs.

Afin de réduire la surcharge de travail introduite par le besoin de feedback explicite, certains travaux comme ceux de (Bottraud et al., 2003) introduisent des mécanismes ou des heuristiques automatisés pour l’acquisition implicite de feedback, comme par exemple, de concepts extraits du contexte de travail, les mouvements et clicks de la souris ou encore des informations personnelles stockées en zone de travail ou des répertoires de documents personnels. Bottraud et al.

(2003), comme Enembreck et Barthès (2003a), propose l’utilisation des documents personnels de l’utilisateur pour la construction du profil de l’utilisateur. Le deuxième travail utilise une structure vectorielle standard pour représenter les centres d’intérêt de l’utilisateur tandis que le premier propose une structure hiérarchique construite à partir d’un algorithme de regroupement4 (COBWEB) enrichie par les concepts présents dans les tâches courantes de l’utilisateur, capturées par des agents observateurs qui enregistrent des événements provoqués par l’utilisateur, comme le contenu du presse-papier, les pages web visitées ou

4. Une technique similaire de représentation hiérarchique des concepts est utilisé par Freitas et Bittencourt (2003).

(21)

encore les documents en cours d’édition. Ces concepts sont utilisés pour sélectionner seulement certaines parties de la hiérarchie lors du traitement d’une requête. Ensuite, les sites sont ordonnés en fonction de la similarité vectorielle des termes sélectionnés dans la hiérarchie. Nous pouvons citer plusieurs problèmes liés à cette approche, notamment la pertinence des informations contextuelles pour la requête (le « contexte », est-il toujours liée à une requête donnée ?), le mauvais choix de certains concepts dans la hiérarchie peut restreindre le nombre de termes et modifier les résultats de la fonction de similarité. Par ailleurs, il est très difficile de contextualiser le travail de l’utilisateur, car celui-ci est souvent en train d’exécuter plusieurs tâches pas toujours en relation et de manière aléatoire.

L’architecture de notre système est similaire à celle du système WAIR (Web Agents for Internet Research) proposé par Zhang et Seo (2001). Ce système présente également un agent interface pour l’interaction avec l’utilisateur, des agents de filtrage dotés de mécanismes d’apprentissage (par renforcement), et des agents de recherche pour consulter différents moteurs de recherche. La différence principale par rapport à MAIS se situe encore une fois dans la façon dont le feedback est utilisé pour la mise à jour du profil de l’utilisateur. WAIR utilise un feedback explicite et implicite pour calculer la pertinence d’un document. Le feedback explicite est donné par l’utilisateur (valeur numérique entre 0 et 1) et le feedback implicite (temps de lecture d’un document, ajout aux favoris, examen du texte et liens suivis dans un document) est mesuré automatiquement par le système.

Ces paramètres sont normalisés et utilisés pour le calcul des récompenses associées aux documents et sont utilisés par l’algorithme d’apprentissage par renforcement.

Comme précédemment, ces techniques présentent des problèmes car seuls les utilisateurs expérimentés peuvent apprécier un document de façon fiable. Par ailleurs les heuristiques de feedback implicite souvent ne reflètent pas l’intérêt réel de l’utilisateur car elles ne sont pas capables de prévoir toutes les situations possibles.

Notre approche consiste à diviser le profil de l’utilisateur en n + 1 parties, où n est le nombre de centres d’intérêt de l’utilisateur, assorti du modèle des favoris.

Dans notre cas, le modèle à long terme est donné par les sites favoris de l’utilisateur.

Le système peut aussi gérer le modèle à court terme car celui-ci est construit dynamiquement lorsque l’utilisateur change explicitement de centre d’intérêt, en choisissant par exemple de nouveaux centres d’intérêt publics. Par ailleurs, l’utilisateur peut simplement désactiver le modèle à long terme, entièrement ou partiellement, et travailler uniquement avec les centres d’intérêt publics. Nous pensons que notre approche réduit le besoin de feedback de la part de l’utilisateur car celui-ci indique simplement les centres d’intérêt qui lui conviennent et n’a pas besoin de classer chaque document comme positif ou négatif. Par conséquent, le comportement du système ne dépend pas uniquement du feedback de l’utilisateur.

Evidemment, la construction des centres d’intérêt demande un effort préalable de la part du développeur pour la sélection des documents représentatifs, mais cet effort

(22)

peut être minimisé avec l’utilisation de répertoires publics de documents dans différents domaines.

Concernant les SMA, certaines applications web, moins nombreuses utilisent les concepts de résolution distribuée de problème. Freitas et Bittencourt (2003) utilisent la collaboration entre agents pour rechercher des informations spécifiques sur la Toile. Les agents ont des connaissances (patrons de pages, règles, et fonctions) sur des domaines spécifiques et sont capables de faire des propositions sur ces pages.

Lorsqu’une recommandation d’un agent est acceptée, les autres agents rajoutent à leur connaissance les règles et concepts qui lui ont permis de faire cette recommandation. Par conséquent, les agents coopèrent pour résoudre le problème.

Les agents sont utilisés pour la recherche d’appels à participation à des conférences et pour obtenir des articles scientifiques. Concernant l’architecture de MAIS, nous sommes conscients que nos agents, comme ceux de (Bottraud et al., 2003) et (Zhang et Seo, 2001), ne sont pas très coopératifs et que le mécanisme de coordination est codé en dur dans les agents de filtrage. Cependant, nos tâches sont très spécifiques et ne sont pas vraiment propices à une résolution distribuée de problèmes, car les activités de chaque agent sont exécutées de façon indépendante.

Cependant, tous nos agents sont effectivement distribués (y compris les agents filtrage), ce qui peut être très important car l’utilisateur peut démarrer plusieurs requêtes qui seront traitées en parallèle par plusieurs agents filtrage du système (ce sont eux qui coordonnent les recherches). Par ailleurs, de nouveaux agents peuvent être ajoutés au système au fur et à mesure, afin diminuer la charge de travail des agents dans un environnement contenant plusieurs utilisateurs.

6. Conclusions

La personnalisation de la recherche d’information sur internet est un vaste domaine. Il semble que l’idée de SMA capables de réaliser des services personnalisés comme la recherche et le filtrage d’information devient plus réaliste chaque jour. La plupart de ces systèmes introduisent différentes techniques de représentation du modèle de l’utilisateur. Les systèmes sont souvent pilotés par le feedback de l’utilisateur afin de mettre à jour son profil et raffiner les résultats, ce qui peut accroître la charge de travail de l’utilisateur. Nous pensons que certains modèles d’intérêt peuvent être partagés par plusieurs utilisateurs et mis à jour par chaque utilisateur lorsqu’il le juge nécessaire. Ainsi, n’importe quel utilisateur (même ceux qui n’ont pas beaucoup d’expérience) peut profiter d’une certaine personnalisation. Pour développer notre idée, nous avons présenté dans cet article un nouveau système de recherche d’information sur la Toile sous forme d’un SMA capable de récupérer et de classer automatiquement l’information à partir de recherches effectuées par des moteurs de recherche standard. Le système personnalise les recherches en prenant en compte des pages favorites de l’utilisateur et/ou des centres d’intérêt publics construits au préalable à partir de documents sélectionnés par des experts de divers domaines. Les mesures de performance

(23)

montrent que l’utilisation de centres d’intérêt publics ou privés (documents favoris) peuvent améliorer sensiblement les résultats de la recherche.

7. Bibliographie

Armstrong R., Freitag D., Joachims T., Mitchell T., « WebWatcher: A Learning Apprentice for the World Wide Web », AAAI Spring Symposium on Information Gathering from Heterogeneous, Distributed Environments, march, 1995.

Barthès J-P., A. OMAS v 1.0 Technical Reference, Memo UTC/GI/DI/N 151, Université de Technologie de Compiègne, Département de Génie Informatique, January, 2002.

Bottraud J.-C., Bisson G., Brauandet M. F., « Apprentissage de profils pour un agent de recherche d’information », Actes de la Conférence Apprentissage (CAP’03), 1-2 juillet, Laval, 2003. p. 31-46.

Brin S., Page L., « The Autonomy of a Large-Scale Hypertextual Web Search Engine », Computer Networks, n° 30, p. 107-117, 1998.

Billsus D., Pazzani M., « A Hybrid User Model for News Story Classification », Proceedings of the Seventh International Conference on User Modeling (UM ‘99), Banff, Canada, 1999.

Chen L., Sycara K., « Webmate: A Personal Agent for Browsing and Searching », Proceedings of the 2nd International Conference on Autonomous Agents (Agents’98), ACM Press, (K. Sycara and M. Woodridge eds.), New York, 1998, p. 132-139.

Enembreck F., Contribution à la conception d’agents assistants personnels adaptatifs, Thèse de doctorat, Université de Technologie de Compiègne, décembre, 2003.

Enembreck F., Barthès J.-P., « Agents for Collaborative Filtering, Cooperative Information Agents VII », Springer-Verlag, Lecture Notes in Artificial Intelligence LNAI 2782, 2003a, p. 184-191.

Fox E., Shaw J., « Combination of multiple searches », NIST TREC-2, 1994, p. 243-252.

Freitas F. L., Bittencourt G., « An Ontology-based Architecture for Cooperative Information Agents », Proceedings of IJCAI’03, Morgan Kaufmann Publishers, Georg Gottlob and Toby Walsh (eds.), 2003, p. 37-42.

Gasparetti F., Micarelli A., « Adaptive Web Based on a Colony de Cooperative Distributed Agents », Cooperative Information Agents (CIA) VII, Springer-Verlag, LNAI 2782, M. Klusch, A. Omicini, S. Ossowski and H. Laamanen (eds.), Helsinki, August, 2003, p. 168-183.

Lashkari Y., Metral M., Maes P., « Collaborative Interface Agents », In Proceedings of the Twelfth National Conference on Artificial Intelligence, vol. 1, AAAI Press, Seattle, WA, 1994, http://citeseer.nj.nec.com/lashkari94collaborative.html

Lieberman H., « Autonomous Interface Agents », Proceedings of the ACM Conference on Computer and Human Interface, Atlanta, Georgia, March 1997.

(24)

Moukas A., « Amalthaea: Information Discovery and Filtering using a Multiagent Evolving Ecosystem », Applied Artificial Intelligence: An International Journal, 11(5):437-457, 1997.

Menczer F., Pant G., Srinivasan P., Ruiz M. E., « Evaluating Topic-Driven Web Crawlers », Proceedings of the 24th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 2001, p. 241-249.

Nick Z., Themis P., « Web Search Using a Genetic Algorithm », IEEE Internet Computing, March-April 2001, p. 18-26.

Salton G., « The SMART retrieval System », In: Experiments in automatic document processing, Englewood Clifs, NJ., 1971.

Salton G., « Automatic Text Processing: The Transformations, Analysis, and Retrieval of Information by Computer », Addison-Wesley, 1989.

Savoy J., « Information Retrieval on the Web: A New Paradigm », Upgrade The European Online Magazine for the IT Professional, (Ricardo Bayeza-Yates, Peter Schäuble eds.), n° 3, vol. III, June 2002.

Silverstein C., Henzinger M. R., Marais J., Moricz M., « Analysis of a very large AltaVista query log », ACM SIGIR, n° 33, 1999, p. 6-12.

Widyantoro D.H., Ioerger T.R., Yen J., « Learning User Interest Dynamics with a Three- Descriptor Representation », Journal of the American Society for Information Science, 52(3):212-225, 2001.

Zhang B., Seo Y., « Personalized Webdocument Filtering using Reinforcement Learning », Applied Artificial Intelligence, n° 15, 2001, p. 665-685.

Références

Documents relatifs

Nous avons proposé pour notre part une extension de ce modèle vers un cadre qualitatif possibiliste tout en tenant compte, non pas seulement de l’existence ou non

6.3 – Résultats du nommage précoce de clusters multi-modaux avec l’ajout des modèles biométriques de visage et/ou de locuteurs des personnes des rôles R123, ensemble de test de

4 C'est le cas par exemple du set de licences proposées par l'Open Knowledge Foundation : http://opendatacommons.org/licenses. 5 On peut citer les associations et

Nous avons évalué cette approche en utilisant la base de données de la compétition SmartDOC d’ICDAR 2015 qui contient près de 25 000 images de documents capturées avec un

Nous avons proposé un nouvel algorithme, LDRANK, pour l’ordonnancement des entités d’un graphe du web des données qui peut être creux et bruité, mais pour lequel des

- Représentation institutionnelle de l’Assemblée parlementaire de 2018 : le 26 janvier, le Bureau a approuvé les désignations telles que présentées en annexe 6, et a demandé à

Dans un mouvement de retour de l'innovation sur la recherche théorique, l'invention va servir de plateforme d'expérimentation pour faire évoluer les modèles relatifs aux stratégies

À ce niveau, deux fichiers PostScript sont créés : le premier est compacté (gzip) et rendu disponible sur le serveur, le second est créé en incluant les polices en format Type 1