Bonom

Objectif général : à pour objectif de mettre en place une société d’agents coopérants intelligents répartis sur le réseau Internet pour la recherche d’informations pertinentes.

Thème : Ingénierie des Connaissances (IC)

Équipe : Intelligence Artificielle (IA)

Membres du projet : Sylvie Cazalens, Emmanuel Desmontils, Christine Jacquin, Philippe Lamarre

L’objectif de ce projet est de mettre en place une société d’agents coopérants intelligents répartis sur le réseau internet pour la recherche d’informations pertinentes.

Description résumée du projet :

L’objectif général du projet BONOM est d’améliorer la gestion, la recherche et la consultation d’information sur le réseau internet, sans toutefois le surcharger. Nous proposons une nouvelle architecture, distribuée et  » intelligente  » dans laquelle les gros moteurs de recherche actuels (tels Yahoo ou Altavista), bien qu’intégrables, ne sont plus des points de passage obligés lorsqu’on ne sait à quelle adresse chercher. Le choix de cette nouvelle architecture se base sur un certain nombre de constatations aussi bien au niveau des sites de diffusion d’information qu’au niveau des utilisateurs.

Du point de vue des sites, le projet a pour but de fournir aux rédacteurs de pages et aux gestionnaires des outils pour :

  • faciliter la structuration et la maintenance du site ;
  • mieux contrôler la vue externe de ce site ;
  • étudier les caractéristiques des visiteurs et leur comportement.

La nécessité de réaliser ou améliorer de tels outils devient de plus en plus évidente : nombreux sont les sites qui font le choix d’offrir leur propre moteur de recherche dès que l’on est sur leur page. Pourquoi cela ?

Premièrement, parce que les gestionnaires d’un site sont beaucoup plus à même d’exploiter les ressources qu’ils mettent sur le réseau alors que les outils de recherches actuels ne sont pas capables d’aborder tous les domaines informationnels de manière performante. Ainsi les informations, fournies par des sites plus spécialisés, mis à jour plus régulièrement, plus efficaces, seront plus pertinentes vis à vis de la requête posée.

Deuxièmement, parce que certains sites, en particulier commerciaux, préfèrent pouvoir contrôler les informations fournies et connaître leurs visiteurs. Ces fonctionnalités ne peuvent être proposées par les moteurs de recherche actuels. Il arrive d’ailleurs que ces derniers n’aient pas l’autorisation d’indexer certaines pages (par exemple, le site de SUN). C’est donc bien au niveau des sites que doit se faire la politique de diffusion des informations, qui doit pouvoir prendre en compte des caractéristiques des visiteurs acquises automatiquement (non seulement le nombre, mais aussi leur localisation, le nombre de fois qu’ils sont venus, ce qui les intéressent?).

Du point de vue des utilisateurs, le projet vise à les aider :

  • dans l’élaboration et la reformulation des requêtes ;
  • dans la prise de connaissance et la compréhension des résultats obtenus.

Pour cela, nous envisageons de mettre en place des outils permettant à l’utilisateur d’effectuer des requêtes non redondantes et plus pertinentes. En particulier, le système doit être capable de prendre en compte le profil de l’utilisateur. Il intervient au niveau de la formulation de la requête en proposant une aide à la construction, à l’extension et, éventuellement, en la reformulant. De plus, après la phase de recherche, des procédures de filtrage et de classification permettront d’exploiter au mieux les résultats de la requête. Nous envisageons aussi de proposer à l’utilisateur d’utiliser un système de requêtes persistantes lui permettant d’être informé des évolutions des informations sur ses sites préférés.

Pour atteindre ces objectifs, nous proposons une nouvelle architecture, à terme distribuée planétairement, comportant trois types d’agents :

  • les Agents Sites,
  • les Agents Facilitateurs,
  • les Agents Personnels.

Ces trois types d’agents sont capables de coopérer entre eux pour fournir des réponses à la requête d’un utilisateur. Les créations et les gestions de ces agents ne sont pas centralisées. Leur programmation est donc peu contrainte et le choix d’outils précis local. Seuls le langage de communication et quelques fonctionnalités élémentaires sont imposées pour qu’il puisse y avoir coopération..

L’agent site est responsable des informations de son site et, en particulier, de l’exploitation, de la structuration des informations (indexation, utilisation de méta-connaissance via XML?). Il garantit des informations cohérentes et régulièrement mises à jour et une connaissance avancée de leur organisation. Il peut ainsi répondre avec justesse à des requêtes très précises.

L’agent personnel est responsable de la gestion des requêtes d’un utilisateur (reformulation, extension?) et des réponses qu’il obtient (filtrage, classification?). En prenant en compte le profil de l’utilisateur, il est apte à mettre en place des requêtes ciblées et pertinantes. Il est aussi chargé de maintenir à jour les requêtes persistantes. Ces deux types d’agents sont reliés par un réseau d’agents facilitateurs.

La société d’agents facilitateurs assure les échanges entre les différents types d’agents, en les mettant en communication de manière pertinente. Un agent facilitateur est un spécialiste d’un ou plusieurs domaines. Il reçoit une requête par un agent personnel ou par d’autres agents facilitateurs. Après analyse et reformulation éventuelle, il diffuse la requête à d’autres agents facilitateurs encore plus spécialisés ou à des agents sites. Il gère également le retour des résultats et une partie de leur filtrage.

Le travail au niveau de cette architecture comporte plusieurs aspects cruciaux, comme la définition du langage de communication entre les agents, et l’étude et la validation de l’architecture et des protocoles de communication entre les agents. Il est à noter que la faisabilité de cette architecture a déjà été montrée par sa programmation en langage Python, par un ensemble d’objets répartis, respectant la norme CORBA (stage de DESS 1999).

Ce projet remet en cause l’utilité, l’efficacité voire l’existence même des  » gros  » moteurs de recherche actuels (Altavista, Yahoo?) et se donne les moyens de le faire par une architecture multi-agents totalement répartie sur la planète. La société d’agents permet une recherche d’informations adaptée aux différentes structures des sites et permet de mieux exploiter l’information car se sont les personnes proches de l’information qui la gèrent.

Sur le plan international, des travaux sur les agents et internet sont réalisés comme :

  • Le  » InfoSleuth Agent System  » de M. Nodine, MCC Austin ;
  • Le projet RETSINA de K.P. Sykara (http://www.cs.cmu.edu/~softagents/) ;
  • Le système d’agents de V.S. Lazarou et K.L. Clark pour la découverte d’informations hypermédia.

Un certain nombre d’dées convergent semble-t-il, mais peu de réalisations se sont concrétisées. Récemment, des outils permettant la réalisation de code (robots) naviguant ont été proposés (Knowbots, http://www.cnri.reston.va.us/home/koe/). Peut-être ces outils pourront-ils faciliter l’implémentation mais ils ne règlent pas le choix de l’architecture et le mode de communication des agents.

Mon travail se situe plutôt au niveau de la définition d’un langage de requêtes enrichissable, l’étude et la mise au point de méthodes de reformulation (prise en compte d’ontologies, des retours de pertinence de l’utilisateur, etc.) ainsi que le filtrage et la classification des réponses (élimination de redondances, classification suivant le profil de l’utilisateur, l’introduction de méthodes d’apprentissage, l’historique, le contexte…).

 Ce projet est terminé.