Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est...

32
RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence, pages 81 à 111 Collecte d’information sur domaines restreints du web à base d’agents et d’ontologies Le système AGATHE Bernard Espinasse* Sébastien Fournier* Fred Freitas** * LSIS UMR CNRS 6168, Universités d’Aix-Marseille Domaine Universitaire de St Jerôme, F-13997, Marseille cedex 20, France ** Universidade Federal de Pernambuco, CIn-UFPE Centro de Informática, Cx Postal 7851 50372-970 Recife, PE, Brésil RÉSUMÉ. La collecte pertinente d’information sur le web est une tâche très complexe et les moteurs de recherche actuels, reposant sur des méthodes d’indexation et de recherches basées sur des mots-clés, ont de faibles taux de précision. Les recherches qu’ils réalisent sont essentiellement lexicales statistiques et ne prennent pas en compte leurs contextes sous- jacents. En se limitant à des domaines restreints, la prise en compte de ces contextes est possible et doit conduire à des collectes plus pertinentes. Dans ce papier, une approche spécifique de la collecte d’information est proposée combinant l’usage d’agents logiciels coopératifs et d’ontologies. Pour mettre en œuvre cette collecte coopérative d’information, une architecture logicielle générique, le système AGATHE, permettant le développement de systèmes spécifiques de collecte d’information sur des domaines restreints du web, est présentée en détail. ABSTRACT. Relevant information gathering in the web is a very complex task. The main problem with most information retrieval approaches is neglecting the context of the pages, mainly because search engines are based on keyword-based indexing. Considering restrained domain, it is possible to take into account of this context what should lead to more relevant information gathering. In this paper, a specific cooperative information gathering approach based on the use of software agents and ontologies is proposed. To operationalize this approach, a generic software architecture, named AGATHE, permitting the development of specific restricted-domain information gathering systems is presented in detail. MOTS-CLÉS : système multi-agent, agent logiciel, génie logiciel, collecte coopérative d’information, extraction information, classification, ontologies. KEYWORDS: multi-agents system, software agent, cooperative information gathering, information extraction, classification, ontologies. DOI:10.3166/RIA.23.81-111 © 2009 Lavoisier, Paris

Transcript of Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est...

Page 1: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence, pages 81 à 111

Collecte d’information sur domaines restreints du web à base d’agents et d’ontologies Le système AGATHE Bernard Espinasse* — Sébastien Fournier* — Fred Freitas** * LSIS UMR CNRS 6168, Universités d’Aix-Marseille Domaine Universitaire de St Jerôme, F-13997, Marseille cedex 20, France ** Universidade Federal de Pernambuco, CIn-UFPE Centro de Informática, Cx Postal 7851 50372-970 Recife, PE, Brésil RÉSUMÉ. La collecte pertinente d’information sur le web est une tâche très complexe et les moteurs de recherche actuels, reposant sur des méthodes d’indexation et de recherches basées sur des mots-clés, ont de faibles taux de précision. Les recherches qu’ils réalisent sont essentiellement lexicales statistiques et ne prennent pas en compte leurs contextes sous-jacents. En se limitant à des domaines restreints, la prise en compte de ces contextes est possible et doit conduire à des collectes plus pertinentes. Dans ce papier, une approche spécifique de la collecte d’information est proposée combinant l’usage d’agents logiciels coopératifs et d’ontologies. Pour mettre en œuvre cette collecte coopérative d’information, une architecture logicielle générique, le système AGATHE, permettant le développement de systèmes spécifiques de collecte d’information sur des domaines restreints du web, est présentée en détail. ABSTRACT. Relevant information gathering in the web is a very complex task. The main problem with most information retrieval approaches is neglecting the context of the pages, mainly because search engines are based on keyword-based indexing. Considering restrained domain, it is possible to take into account of this context what should lead to more relevant information gathering. In this paper, a specific cooperative information gathering approach based on the use of software agents and ontologies is proposed. To operationalize this approach, a generic software architecture, named AGATHE, permitting the development of specific restricted-domain information gathering systems is presented in detail. MOTS-CLÉS : système multi-agent, agent logiciel, génie logiciel, collecte coopérative d’information, extraction information, classification, ontologies. KEYWORDS: multi-agents system, software agent, cooperative information gathering, information extraction, classification, ontologies.

DOI:10.3166/RIA.23.81-111 © 2009 Lavoisier, Paris

Bernard-User
B. Espinasse, S. Fournier, Fred Freitas (2009), « Collecte d’information sur domaines restreints du Web à base d’agents et d’ontologie : le système AGATHE », in: Revue d'Intelligence Artificielle (RIA), Numéro spécial « Intelligence artificielle et web intelligence », sous la direction de Y. Demazeau et L. Vercouter, vol. 23, n°1/2009, pp. 81-113. �
Page 2: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

82 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

1. Introduction

Du fait de la taille du web et de la diversité de l’information qui y est accessible, la collecte pertinente d’information sur le web est une tâche complexe. Les moteurs de recherche actuels reposent sur des méthodes d’indexation et de recherche basées sur des mots-clés. Ces méthodes, bien que robustes, sont imprécises, et fournissent en général beaucoup de documents non pertinents conduisant à de faibles taux de précision. Avec ces moteurs, les utilisateurs ne peuvent seulement faire que des recherches lexicales statistiques, ils ne peuvent pas fournir le contexte sous-jacent de leurs besoins en information.

La principale faiblesse de la plupart des approches de recherche d’information (RI) sur le web nous semble résider dans le fait qu’elles négligent le contexte des pages. Il est assez illusoire de considérer qu’un seul système peut répondre à l’utilisateur avec un même traitement de l’information sur n’importe quel sujet présent sur le web. Utiliser seulement des mots, des termes et leurs fréquences respectives n’est pas suffisant, pour réaliser une tâche de collecte qu’aucun être humain n’est capable de faire avec des documents, sur n’importe quel sujet, et de plus dans n’importe quelle langue, avec notamment le problème de la polysémie.

Sans la prise en compte explicite du contexte dans lequel est faite la recherche, la plupart des approches de RI actuelles laissent s’échapper toute forme organisée du web, par exemple des regroupements ou « clusters » spécifiques d’information. Considérer de tels clusters, regroupant des classes de pages avec leur information (par exemple l’ensemble de pages affichant les données d’une bourse, l’ensemble de pages sur des chercheurs...), permettraient la reconnaissance et la classification de pages dispersées sur le web, relatives à un domaine restreint, et par là-même faciliter la prise en compte de contexte de recherche.

Avec la prise en compte du contexte, un meilleur traitement de l’information est possible. C’est le cas de l’extraction de la plupart des informations des pages d’une même classe (par exemple valeur du dollar, sujets d’intérêt d’un chercheur, ...). Un autre avantage est de permettre aux utilisateurs d’effectuer des interrogations combinant notamment des critères de recherche relatifs à différentes classes de pages, permettant des requêtes complexes (la recherche des papiers publiés dans un certain ensemble de conférences par exemple), et ainsi la réalisation d’applications sophistiquées de collecte d’information sur le web pour des domaines spécifiques. Avec un cluster « tourisme », par exemple, il serait possible de réaliser un système qui prenne en compte les hôtels, les billets de voyage, et les manifestations culturelles liés à un événement scientifique.

Cette recherche s’intéresse à une approche originale de la collecte d’information sur domaine restreint à partir du web, avec une prise en compte du contexte de la recherche. Cette approche est originale dans la mesure où elle est basée sur l’usage d’ontologies permettant de définir le ou les domaine(s) restreint(s) et le contexte, et où elle est coopérative en s’appuyant sur des agents logiciels, pour réaliser une

Page 3: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 83

classification de page web et l’extraction d’information qu’elles contiennent grâce à ces ontologies.

Ce papier introduit dans la section 2 l’intérêt de restreindre la collecte d’information sur le web à des domaines restreints, d’utiliser des agents logiciels, et d’exploiter différents types d’ontologies pour réaliser des systèmes de collecte intelligents. Ensuite dans la section 3, est présenté de façon générale le système AGATHE (Agents information GATHEring), une architecture logicielle générique permettant le développement de systèmes de collecte intelligents sur le web sur un ou plusieurs domaines. Les objectifs, l’architecture, le principe de fonctionnement de ce système y sont présentés ainsi que des détails d’implémentation. Les sections suivantes (4 à 6) présentent en détail chacun des sous-systèmes d’AGATHE : les sous-systèmes de recherche, d’extraction et d’utilisation. Ces sections présentent l’architecture interne et les tâches assurées par chacun de ces sous-systèmes. Dans la section 7 sont présentés les premiers résultats obtenus dans la mise en œuvre d’AGATHE. Enfin, une conclusion fait un bilan de cette recherche et présente les perspectives associées.

2. Collecte d’information sur domaine restreint à base d’agents et d’ontologies

Dans cette section est tout d’abord développé l’intérêt de la restriction de domaine en recherche et extraction d’information, ensuite l’intérêt de l’usage d’agents logiciels, puis l’intérêt de l’usage d’ontologies en collecte d’information sur le web. Enfin différents types d’ontologies pertinents pour la collecte d’information sur le web sont définis.

2.1. Recherche et extraction d’information sur domaine restreint

La principale leçon apprise en intelligence artificielle (IA) dans les années 1970 a été que l’opérationnalisation de la connaissance est valable seulement sur des domaines restreints, ce qui a conduit au succès relatif des systèmes experts. Cette constatation est aussi valable pour la recherche d’information (RI).

En effet, l’évaluation des systèmes de RI est principalement effectuée sur des corpus homogènes dont les textes portent sur un seul sujet et viennent souvent de la même source, et non pas d’ensembles de textes dont le contenu et les styles sont variables comme c’est le cas de ceux disponibles sur le web. Ce fait est d’ailleurs à l’origine du développement en RI de moteurs de recherche spécialisés (Steele, 2001 ; McCallum et al. 1999). Ces moteurs agissent sur des domaines suffisamment spécifiques du web, tels que celui des nouvelles quotidiennes (Newstracker, www.newstracker.com), ou des pages personnelles (HPSearch, http://hpsearch.uni-trier.de/).

Page 4: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

84 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Un autre argument plaidant pour une restriction de domaine en RI concerne l’extraction d’information (EI). D’une façon générale, l’EI concerne l’extraction d’information à partir d’une collection de documents textuels (Muslea, 1999 ; Embley, 1998). Elle a pour objectif d’extraire des données appropriées à partir de classes spécifiques de pages issues du web (Gaizauskas et Robertson, 1997), et consiste à identifier des fragments spécifiques d’un document constituant le noyau de son contenu sémantique (Kushmerick, 1999). Le but final majeur de l’EI pourrait être de remplir des bases de données d’information (relatives à des domaines restreints) provenant de nombreuses pages web, issues de sites géographiquement distribués, bases de données ensuite interrogées par des utilisateurs.

2.2. Agents logiciels et collecte coopérative d’information

Les agents et systèmes multi-agents (SMA) constituent une des trois principales branches de l’intelligence artificielle distribuée (IAD), les deux autres étant respectivement la résolution de problèmes distribués et l’intelligence artificielle parallèle (Ferber, 1995 ; Nwana, 1996 ; Weiss, 2000). Les agents logiciels héritent ainsi des propriétés et potentialités associées habituellement au domaine de l’IAD. Par exemple, ils héritent de la modularité, de la vitesse d’exécution (due au parallélisme) et de la fiabilité (grâce à la redondance) des systèmes de ce domaine. D’autres propriétés venant de l’IA classique viennent aussi s’ajouter, permettant notamment une manipulation de la connaissance, une maintenance aisée, une réutilisation et une indépendance aux plates-formes (Huhns et Singh, 1994).

Les SMA et les agents logiciels ont tout d’abord été utilisés afin de résoudre des problèmes intrinsèquement distribués et de simuler des phénomènes complexes (Drogoul et al., 2002 ; Phan et Amblard, 2007). La FIPA (Foundation For Physical Agents) (FIPA, 2000) propose de nombreux standards et recommandations facilitant l’utilisation du paradigme agent dans des applications réelles. Plusieurs méthodologies ont aussi été proposées permettant d’accompagner les phases de conception et d’implémentation contribuant ainsi à la constitution d’un génie logiciel orienté agents (Wooldridge et Ciancarini, 2001 ; Giunchiglia et al., 2002 ; Zambonelli et al, 2003).

Les agents sont aussi de plus en plus utilisés afin de développer des systèmes de recherche et de recommandation sur le web, citons notamment (Lorenzi et al., 2005 ; Woerndl et Groh, 2005 ; Birukov et al., 2005). Ces systèmes peuvent se rattacher à la problématique générale de la « Collecte Coopérative d’Information » sur le web ou « Cooperative Information Gathering – CIG », proposée par Oates et al., (1994). Ces derniers appréhendent la collecte de l’information (Information Gathering) en tant que résolution de problèmes, et ils préconisent la distribution de cette résolution sur un ensemble d’agents coopératifs, permettant notamment de découvrir et intégrer des « clusters » d’information pertinents.

Page 5: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 85

Dans cette problématique, Decker et al. (1995), ont proposé MACRON, une architecture d’agents adaptée à la CIG. Les requêtes de l’utilisateur conduisent à la création partielle de plans de collecte. Ces plans résultent de l’emploi de plusieurs agents coopératifs de cette architecture dont l’objectif est l’atteinte de but et sous-buts au sein de ces plans. MACRON est composé de trois types d’agents : les agents de raisonnement, des agents d’extraction, et des agents d’interface utilisateur.

Ambite et Knoblock (1997) préconisent aussi l’usage d’agents pour la collecte d’information. Dans leurs travaux, les bases de données d’une grande bibliothèque numérique ont été groupées en classes hiérarchiques, chaque classe possédant son propre agent avec la connaissance explicite à son sujet. Ces agents construisent les plans de recherche qui améliorent l’efficacité dans le processus de recherche. L’utilisation d’un tel outil sur le web nécessite un appariement correct des pages récupérés sur le web à ces classes et d’en extraire l’information pour alimenter ces bases de données.

Plus récemment, Lesser et al. (2000) ont proposé BIG, un agent informationnel qui planifie une collecte d’information pour assister un processus de prise de décision. BIG raisonne sur l’obtention de ressources liées à différentes collectes possibles, il extrait l’information de documents structurés ou non structurés, et utilise l’information extraite pour affiner sa recherche et son traitement.

2.3. Collecte coopérative d’information et ontologies

En collecte d’information sur le web, la combinaison de l’approche agent avec l’usage de connaissance déclarative, notamment d’ontologies, s’avère pertinente pour le développement de systèmes intelligents de collecte.

Cette combinaison se justifie tout d’abord en raison des avantages classiques des solutions déclaratives sur celles procédurales. Les solutions déclaratives fournissent une plus grande intégration de l’approche ontologique avec une traduction plus directe de la connaissance de domaine. Les tâches d’extraction et de classification sur le web, qui impliquent des données semi structurées ou non structurées, exigent des changements fréquents. Avec cette déclarativité de la connaissance, de tels changements peuvent être facilement pris en compte, sans recompilation de code ou d’arrêt d’exécution. Ce qui constitue un avantage notable d’extensibilité.

La grande expressivité du mode déclaratif de représentation de la connaissance est aussi un avantage majeur en collecte d’information sur le web. En plus des possibilités d’inférences, quand les concepts impliqués dans ces tâches (par exemple les entités du cluster, les groupes fonctionnels, les représentations de page web, etc.) sont définis de façon déclarative, ces concepts peuvent être organisés en structures connues sous le nom d’ontologies.

L’utilisation des ontologies apporte beaucoup d’avantages (Gruber, 1995). Tout d’abord en permettant généralement l’héritage multiple, elles procurent un avantage

Page 6: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

86 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

d’expressivité sur des implémentations orientées objets. Elles permettent aussi la création de modèles de communication de haut niveau, connu sous le nom de « pair-à-pair », dans lesquels les concepts définis, comme une connaissance de domaine, sont communs aux agents communicants, jouant le rôle du vocabulaire partagé pour la communication entre agents. L’usage d’ontologies dans le développement de système de collecte sur le web augmente aussi leur flexibilité. Les entités d’un cluster (la connaissance de domaine) peuvent être définies avec la granularité appropriée représentant les différences subtiles de hiérarchie entre les entités.

Enfin, représentée de façon déclarative, la connaissance sur les pages web, et les conditions sous lesquelles elles sont considérées pour représenter un exemple d’une entité, n’est pas limitée aux termes, aux mots-clés et aux statistiques. Elle concerne n’importe quel fait pouvant distinguer une classe de pages à d’autres classes, par exemple des faits impliquant la structure de page, de régions probables où trouver l’information appropriée à extraire, les concepts contenus et la signification de la phrase, ceci par l’utilisation de technique de traitement du langage naturel.

Notons qu’il existe plusieurs travaux associant les agents et les ontologies pour la recherche d’information sur le web ; citons notamment Cesarano et al., (2003) ; Jung (2007).

Cesarano et al., (2003) ont proposé un système couplant des agents et des ontologies, pour réaliser un classement (en termes de rang) de pages web à la volée, classement plus pertinent que celui des moteurs de recherche. Après une phase de préparation, des agents reclassent les pages en comparant les mots qu’elles contiennent à une ontologie préalablement définie. Ce nouveau classement, lié à la sémantique de la requête, est plus pertinent.

Jung (2007) a construit un système permettant de raffiner les recherches sur le web en construisant et en fusionnant de manière automatique des ontologies associées à des zones du web (ensemble de pages). Un agent médiateur construit, par fusion de ces ontologies, une ontologie consensuelle. Cette ontologie consensuelle est ensuite utilisée par d’autres agents spécifiques pour raffiner des requêtes.

2.4. Différents types d’ontologies pour la collecte d’information

Dans la collecte d’information sur des domaines restreints du web, les tâches majeures à réaliser sont la classification de pages web et l’extraction d’information dans ces dernières. Pour la réalisation de ces tâches, trois types d’ontologies complémentaires peuvent être utilisées :

– l’ontologie de domaine : une ou plusieurs ontologies associée(s) à un domaine restreint du web peuvent être utilisée(s). Ces ontologies définissent principalement les concepts du domaine, les relations entre ces concepts, les restrictions, la

Page 7: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 87

terminologie, les axiomes valides. Elles peuvent être utilisées pour classifier les pages web et en extraire des informations ;

– l’ontologie linguistique : l’intégration de techniques de traitement des langues naturelles exploitant des ontologies linguistiques est pertinente pour les tâches de classification et d’extraction d’information. Ces ontologies permettent notamment de lever de nombreuses ambiguïtés liées aux langages naturels ;

– l’ontologie opérationnelle (ou instrumentale) : une ontologie peut rassembler et organiser de la connaissance déclarative utilisée par un outil (un instrument), lui permettant de réaliser l’ensemble des tâches pour lequel il a été conçu. Le principal intérêt pour un tel outil d’utiliser une ontologie est sa déclarativité. Cette dernière lui apporte une plus grande extensibilité, augmentant ainsi sa capacité d’adaptation, ceci sans recompilation de code ou d’arrêt d’exécution.

Concernant des informations semi ou non structurées, les tâches de classification et d’extraction d’information sont très complexes à réaliser. Elles utilisent en général des heuristiques, sont souvent développées de façon empirique, et requièrent, en conséquence, de nombreux ajustements. L’exploitation de connaissances déclaratives définies dans une ontologie facilite grandement ces tâches.

Une ontologie opérationnelle en collecte d’information concernera ce qui n’est pas spécifique au domaine restreint considéré, mais sera par exemple associée à la manière d’exploiter une page web reliée à ce domaine, en particulier dans sa classification et en extraction d’information en son sein. Les connaissances déclaratives associées à une telle ontologie ne se limitent pas à un mot-clé, à un terme, ou à des statistiques comme dans les systèmes de collecte ordinaires. Ces connaissances peuvent concerner tout fait qui rend possible en classification de page de distinguer une classe de pages d’une autre classe, ou en extraction d’information de considérer la structure de la page web traitée, par exemple la zone probable de la page où une certaine information pourrait être extraite.

Enfin, la CIG étant fondée sur la résolution distribuée de problèmes et recommandant l’usage d’agents logiciels coopératifs, ces agents peuvent être spécialisés pour réaliser une ou plusieurs tâches différentes de collecte, de classification et d’extraction d’information, ces agents ont à collaborer à un niveau sémantique. Des ontologies opérationnelles peuvent être aussi utilisées par les agents, pour améliorer leurs communications, leur partage de connaissance et leur coopération.

2.5. Conclusion

Dans la collecte d’information, de nombreux travaux se réfèrent au paradigme de la collecte coopérative d’information (CIG). Dans ce paradigme (Oates et al., 1994 ; Decker et al. 1995 ; Ambite et Knoblock, 1997) s’intéressent surtout à la distribution

Page 8: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

88 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

de l’exécution de requêtes sur des agents coopératifs. La collecte y est appréhendée en tant que résolution de problèmes distribuée sur un ensemble d’agents. Ces travaux se situent ainsi principalement en amont de la collecte.

Notre recherche s’intéresse principalement à l’exploitation des résultats d’une recherche d’information sur domaines restreints, résultats obtenus par des requêtes ciblées sur le web, consistant en des pages web. Cette recherche se place ainsi en aval de la collecte.

Plus précisément, il s’agit d’exploiter ces résultats par des tâches de filtrage, de classification, d’extraction d’information, et de stockage de cette information extraite des pages web. Pour certaines de ces tâches, l’usage d’ontologies nous apparaît pertinent. Ces ontologies peuvent être associées, soit à un domaine restreint de collecte (ontologie de domaine), soit rassembler des connaissances opérationnelles pour cette exploitation (ontologie opérationnelle).

Ces tâches d’exploitation sont distribuées sur un ensemble de clusters, chacun spécialisé pour un domaine restreint, et au sein d’un tel cluster, sur des agents logiciels eux-mêmes spécialisés pour accomplir des tâches spécifiques. Ces agents coopèrent, d’une part au sein de leur cluster pour le traitement de pages web jusqu’au stockage, dans une base de données, des informations extraites, et d’autre part par un mécanisme de recommandation entre cluster.

La combinaison d’agents logiciels et d’ontologies, principale originalité de cette recherche, est déjà utilisée par ailleurs, par exemple pour réaliser, en amont de la collecte, un affinage de requête (Jung, 2007), ou, en aval, pour proposer un classement, en termes de rang, plus pertinent pour l’utilisateur que celui fourni par les moteurs de recherche traditionnels (Cesarano et al., 2003).

Dans notre recherche, cette combinaison d’agents et d’ontologies est utilisée essentiellement pour réaliser des tâches de classification, d’extraction d’information, et de recommandation de pages web.

Pour mettre en œuvre cette exploitation de résultats d’une collecte d’information sur domaines restreints du web, nous présentons dans ce papier le système AGATHE, une architecture logicielle générique permettant le développement de systèmes de collecte intelligents sur le web relatif à un ou plusieurs domaines. Les sections suivantes seront consacrées à la présentation de cette architecture générique.

3. Présentation générale du système AGATHE

Le système AGATHE est une architecture logicielle générique permettant le développement de systèmes de collecte d’information sur le web sur un ou plusieurs domaines restreints. AGATHE met en œuvre une collecte coopérative d’information à base d’agents et d’ontologies. Ce système prend en compte des contextes de

Page 9: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 89

recherche en considérant des regroupements de pages web relatifs à des domaines spécifiques (par exemple, la recherche académique, le tourisme,…).

Dans cette section, sont tout d’abord présentés les objectifs du système AGATHE, son architecture générale s’articulant autour de trois principaux sous-systèmes, son fonctionnement général, avec quelques détails d’implémentation. Chacun de ces sous-systèmes sera présenté de façon détaillée dans les sections suivantes.

3.1. Objectifs du système AGATHE

La structure du web et son contenu évoluent continuellement. Des informations apparaissent et disparaissent et de nouveaux concepts et outils sont créés et changent très rapidement. Les systèmes de collecte d’information doivent pouvoir suivre cette évolution. Ces systèmes doivent être extensibles, adaptatifs et flexibles pour exploiter l’information issue du web.

Le système AGATHE tire profit du génie logiciel orienté agents (qui sera par la suite étendu à l’usage de services web), afin d’assurer flexibilité et réutilisabilité. Le point de départ de cette architecture est un prototype déjà réalisé, le système MASTER-web (Multi-Agent System for Text Extraction and Retrieval over the web) (Freitas et al., 2000 ; 2001 ; 2003). Ce système propose un agent logiciel unique qui utilise des ontologies pour réaliser des tâches de classification et d’extraction d’information sur le web, ceci sur un seul domaine de recherche.

AGATHE reprend les techniques de classification et d’extraction à base d’ontologies de MASTER-web, en les déployant sur une organisation d’agents logiciels efficace, composés de plusieurs agents spécialisés coopératifs. De plus, AGATHE peut traiter plusieurs domaines de recherche simultanément, et possède des mécanismes de recommandation intra et inter-domaines. Enfin, dans son développement logiciel orienté agents, AGATHE respecte les recommandations de la FIPA (Foundation for Intelligent Physical Agents).

L’objectif de l’architecture AGATHE est de permettre le développement de systèmes de collecte d’information sur le web sur des domaines restreints pouvant être progressivement étendus. Pour le développement d’AGATHE, le domaine restreint de recherche de départ est celui de la recherche académique, plus précisément la tenue d’événements scientifiques (conférences ou workshops internationaux). La collecte sera ensuite élargie à d’autres domaines restreints. Ainsi, la collecte d’information relative à la tenue d’événements scientifiques internationaux, avec les informations pertinentes associées (Appel à contribution (CFP), appel à participation, titre, sponsors, événements conjoints, lieu, thèmes, dates importantes, programme, session…), sera étendue au domaine du tourisme et/ou du transport, ceci afin de prévoir un déplacement lié à une participation à un événement scientifique particulier (possibilités de voyage, d’hébergement, de visites

Page 10: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

90 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

touristiques, etc.). A chacun de ces domaines est associée une ontologie (de domaine) spécifique.

Sur des domaines restreints du web, AGATHE nous semble permettre le développement de systèmes de collecte d’information extensibles, adaptatifs et flexibles. En effet, les options majeures retenues dans AGATHE sont l’usage d’agents logiciels coopératifs et d’ontologies : l’usage d’agents logiciels coopératifs est de nature à apporter flexibilité et réutilisabilité, l’usage d’ontologies, représentations déclaratives de la connaissance, constitue un avantage certain d’extensibilité.

3.2. Architecture et fonctionnement général d’AGATHE

L’architecture générale du système AGATHE, illustrée à la figure 1, s’articule autour de trois principaux sous-systèmes en interaction :

– le sous-système de recherche (SSR) est chargé de l’interrogation des moteurs de recherche externes sur le web (comme Google) afin d’obtenir des pages web qui seront traitées par le sous-système d’extraction ;

– le sous-système d’extraction (SSE) est composé de différents « clusters » d’extraction, chacun spécialisé dans le traitement de pages web sur un domaine spécifique (comme celui de la recherche académique, ou celui du tourisme). Il réalise la classification de pages web et l’extraction d’information qu’elles contiennent ;

– le sous-système d’utilisation (SSU) assure le stockage des données extraites à partir des pages web traitées par le sous-système d’extraction, et fournit une interface d’interrogation pour des utilisateurs, pouvant être des humains ou d’autres agents logiciels.

Ces trois sous-systèmes principaux du système AGATHE sont des systèmes multi-agents composés d’agents logiciels (agents informationnels) plus ou moins intelligents. Certains d’entre eux utilisent des ontologies pour réaliser les tâches pour lesquelles ils sont conçus. Chacun de ces sous-systèmes est étudié en détail dans les sections suivantes.

Page 11: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 91

Figure 1. Architecture générale d’AGATHE

Le fonctionnement d’AGATHE est illustré sur la figure 1 par les flèches d’interaction numérotées entre ses différents sous-systèmes :

– flèche 1 : un cluster d’extraction du SSE demande une recherche pour des pages particulières au SSR ;

– flèches 2 et 3 : le SSR travaille comme un métarobot de recherche, recherchant des pages web, en interrogeant des moteurs de recherche existants comme Google, Altavista ou d’autres ;

– flèche 4 : ces pages sont ensuite transmises au SSE, plus précisément à l’agent du cluster d’extraction qui en avait fait la demande (flèche 1) ;

– flèche 5 : si nécessaire, des recommandations sont envoyées par le cluster considéré à d’autres clusters d’extraction, ceci afin de leur proposer des pages qui peuvent potentiellement les intéresser ;

– flèche 6 : l’information extraite est transmise au SSU, afin d’être stockée dans une base de données spécifique, et qui sera accessible pour interrogation par les utilisateurs (flèche 7).

3.3. Détails d’implémentation

Le système AGATHE est actuellement en cours d’implémentation à la fois en France et au Brésil. AGATHE est déployée dans l’environnement ECLIPSE et le langage Java a été privilégié.

Le développent multi-agent respecte les recommandations de la FIPA (FIPA, 2000), ainsi le langage de communication entre agents est ACL-FIPA. La plate-forme multi-agent Jade (Jade, 2006), bien utilisé dans la communauté multi-agent, a été retenue pour supporter l’infrastructure organisationnelle et les interactions entre agents. Le développement des agents coopératifs est fait en Jess (Jess, 2006), un

Page 12: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

92 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

moteur d’inférences écrit lui-même en Java, et implémentant une grande partie du moteur d’inférences CLIPS. Jess dispose d’un langage de règles très sophistiqué, il a aussi l’avantage d’être bien utilisé dans la communauté, et de disposer de nombreuses extensions ou « plugin », notamment pour la manipulation d’ontologies.

Nous avons retenu l’environnement Protégé pour la saisie et la manipulation d’ontologies, (Protégé, 2006). Les ontologies (de domaine et opérationnelle) ont été développées dans l’environnement Protégé en langage de « Frames ». L’exploitation des ontologies par les agents coopératifs utilise le « plugin » JessTab de Protégé (Eriksson, 2003), transformant une ontologie exprimée en Frames Protégé, en une base de faits Jess, permettant ainsi aux agents de raisonner par règles sur ces ontologies.

Les résultats de classifications et d’extraction sont stockés en format RDF dans une base de données relationnelle sous MySQL avec JENA, un « framework » en Java permettant l’élaboration d’applications orientées web sémantique.

Divers programmes utilitaires ont déjà été développés pour la mise en œuvre d’AGATHE, notamment un éditeur spécifique facilitant la génération de règles (de classification ou d’extraction) exploitant une ontologie, en langage de règles Jess.

4. Le sous-système de recherche (SSR)

Comme illustré par la figure 2, le sous-système de recherche (SSR) reçoit des requêtes provenant du sous-système d’extraction (SSE). Ces requêtes permettent, via des moteurs de recherche, de récupérer des pages web en HTML. Par exemple le SSE fait une requête au SSR pour des pages contenant les termes tels que "introduction”, “related work”, “conclusion”. Le SSR transfert cette requête aux différents moteurs de recherche et rassemble les pages web obtenues, ceci en exploitant la bibliothèque java ARGOS [Argos, 2008]. Ces dernières sont retournées vers le cluster qui en a fait la demande.

Page 13: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 93

Figure 2. L’architecture interne du SSR

Le SSR est un système multi-agent composé de trois types d’agents contribuant à la récupération des informations sur le web :

– l’agent de recherche transmet aux moteurs de recherche traditionnels les requêtes qui lui proviennent des clusters d’extraction du SSE. Après avoir fusionné les résultats obtenus par les différents moteurs sollicités, cet agent retourne les résultats aux clusters d’extraction concernés du SSE. Les agents de recherche sont capables de déterminer, en fonction d’un seuil paramétrable, s’ils sont en surcharge. Dans ce cas, ils en informent l’agent superviseur du SSR ;

– l’agent de ressource est relativement similaire à l’agent de recherche, si ce n’est qu’il transmet les requêtes issues du SSE vers des ressources spécialisées du web. Un agent de ressource est spécifiquement développé pour une ressource particulière. Par exemple, pour des requêtes concernant la recherche académique, de telles ressources peuvent être des sites comme CITESEER dans le cas de publications, DBLP dans le cas de recherche à propos d’auteurs où même des services web spécifiques ;

– l’agent superviseur assure la supervision du SSR. Plusieurs rôles lui sont dévolus. Tout d’abord, il est là pour recevoir les requêtes du SSE. En fonction de la charge de chacun des agents de recherche et de ressources, il va gérer l’allocation des requêtes. Ensuite, il est capable, en fonction des besoins et de la charge des agents de recherche et de ressource, d’en créer ou d’en supprimer. Enfin, pour des raisons de performance, il est aussi capable de réaliser la migration d’agents vers d’autres unités de calcul moins surchargées. Cette migration est réalisée en utilisant les possibilités offertes par la plateforme multi-agent Jade. L’agent superviseur gère aussi des inscriptions donnant ainsi la possibilité au SSE de recevoir périodiquement les résultats d’une requête spécifique sans avoir à en reformuler la demande. Cette méthode est appelée « push ».

L’organisation multi-agent du sous-système SSR lui confère une certaine extensibilité en lui permettant d’adapter sa puissance de calcul à sa charge, ceci de façon dynamique. En effet, les agents de recherche informent l’agent superviseur de leur propre charge, et ce dernier peut alors décider d’une répartition adaptée des requêtes, d’ajouter de nouveaux agents de recherche ou d’en supprimer.

5. Le sous-système d’extraction (SSE)

Comme déjà mentionné, AGATHE reprend les techniques de classification et d’extraction à base d’ontologies de MASTER-web (Freitas et al., 2000 ; 2001 ; 2003) en les déployant sur une organisation d’agents logiciels plus efficace, avec des agents plus nombreux et plus spécialisés. En effet, MASTER-web est composé d’un

Page 14: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

94 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

seul type d’agent réalisant des tâches de classification et d’extraction à l’aide d’une ontologie de domaine.

Le sous-système d’extraction d’AGATHE est composé d’un ou plusieurs « clusters d’extraction ». Un cluster d’extraction est rattaché à un domaine unique défini par une ontologie spécifique. Ce cluster est un système multi-agent composé d’agents coopératifs réalisant des tâches de préparation, de classification et d’extraction d’information. Ces tâches sont réalisées en exploitant par des règles l’ontologie opérationnelle et son ontologie de domaine. L’architecture multi-agent du cluster lui permet d’ajouter un agent sans nécessiter de recompilation du code, les règles et l’ontologie étant par essence déclaratives.

L’architecture d’AGATHE doit permettre de traiter un ou plusieurs domaines de recherche. Lorsqu’un cluster d’extraction étudie une page web, il est possible que des informations concernant un autre cluster s’y trouvent (ex : informations touristiques dans un appel à communication). Les liens entre les clusters sont à déterminer lors de la conception de ces derniers. Dans chaque cluster, de tels liens sont supportés par un agent de recommandation qui a connaissance des ontologies associées aux autres clusters, ce qui lui permet de décider si une page peut être intéressante pour un autre cluster, et alors la lui envoyer pour traitement.

Figure 3. L’architecture interne du SSE

D’une façon générale, le SSE génère tout d’abord les requêtes de pages web envoyées au SSR, puis et c’est sa tâche majeure, traite les résultats de ces requêtes provenant du SSR. Cette tâche est composée de plusieurs sous tâches : validation, classification fonctionnelle et extraction d’information. Comme le montre la figure 3, chacun des clusters d’extraction est un système multi-agent réalisant la classification des pages web obtenues et l’extraction d’informations à partir de ces pages.

Page 15: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 95

Les clusters d’extraction sont composés de différents types d’agents : un ou plusieurs agents extracteurs, un ou plusieurs agents préparateurs, un agent superviseur, un agent de recommandation, et un agent de stockage. La plupart de ces agents sont des agents logiciels « cognitifs » développés avec le moteur d’inférence Jess. Leurs comportements sont pour l’essentiel spécifiés à l’aide de règles de production. La figure 3 illustre l’architecture générale d’un cluster d’extraction.

La figure 4 illustre par un diagramme de séquence UML les interactions majeures entre les différents agents du cluster d’extraction, et avec les sous-systèmes de recherche (SSR) et utilisateur (SSU). Dans un premier temps, l’agent extracteur envoie une demande (par exemple « Call for Paper ») au sous-système de recherche (SSR), qui transmet les pages web obtenues à l’agent superviseur. Cet agent crée un ou plusieurs agents préparateurs. Ces agents valident les pages, les préparent, et effectuent une classification fonctionnelle de ces dernières. Ils transmettent les pages validées et préparées aux agents extracteurs, et les pages non validées sont transmises à l’agent stockage qui les stocke dans la base de données afin qu’elles ne soient plus considérées dans le futur. Son travail d’extraction d’information terminé, l’agent extracteur transmet les informations extraites à l’agent stockage qui les stocke dans la base de données. Si nécessaire l’agent extracteur transmet la page à l’agent de recommandation, qui les transmettra à un ou plusieurs autres agents extracteur, du même cluster ou d’un autre cluster d’extraction, pouvant être intéressé.

Figure 4. Interactions entre les agents du cluster d’extraction

Page 16: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

96 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Comme nous le détaillons à la section 7, l’implémentation actuelle d’AGATHE comporte un seul cluster, aussi l’agent de recommandation n’a pas encore été implémenté.

Dans les sections suivantes nous introduirons tout d’abord les différentes ontologies utilisées par certains agents de ce sous-système, nous expliqueront ensuite comment ces agents les utilisent. Enfin nous présenterons en détail chacun des différents agents composant le sous-système d’extraction (SSE).

5.1. Ontologies utilisées dans le sous-système d’extraction

Les agents coopératifs composant le sous-système d’extraction d’AGATHE exploitent deux types d’ontologies pour réaliser la classification et l’extraction d’information : une ou plusieurs ontologies de domaines, en général une par cluster d’extraction, et une ontologie interne ou instrumentale, spécifique au système AGATHE et en conséquence appelée « Agathe Ontology ».

Le développement d’AGATHE actuel concerne le domaine de la recherche académique. Une ontologie de domaine spécifique, nommée « Science Ontology » a été développée. Elle s’inspire de l’ontologie développée dans le cadre du projet (KA)2 (Benjamins et al., 1998), avec notamment l’introduction de classes abstraites regroupant des classes ayant des caractéristiques communes, afin d’améliorer la classification.

Notons que la version actuelle d’AGATHE n’utilise pas d’ontologie linguistique. Les processus de classification de page et d’extraction d’information sur ces pages sont essentiellement basés sur la présence ou l’absence de concepts appartenant à l’ontologie de domaine. Une prochaine version d’AGATHE pourrait utiliser une ontologie linguistique permettant d’améliorer significativement ces processus.

Figure 5. Une partie de l’ontologie « Science Ontology »

Page 17: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 97

La figure 5 représente une partie de l’ontologie de domaine « Science Ontology », relative à la recherche académique. Cette partie concerne les événements scientifiques (CFP, Call For Paper), publications…). L’ontologie opérationnelle « Agathe Ontology » spécifie les principaux concepts utilisés par AGATHE pour la classification et l’extraction d’information des pages web. La figure 6 présente un sous-ensemble de cette ontologie, relatif au concept de page web, et à deux concepts spécifiques utilisés en extraction d’information (Slot-Recognizer et Slot-Extractor).

Les deux ontologies utilisées par AGATHE ont été développées au Brésil en langage de « Frames » dans l’environnement Protégé, pour le système MASTER-web (Freitas et Bittencourt, 2003).

Figure 6. Quelques classes majeures de l’ontologie « Agathe Ontology »

5.2. Comment les agents utilisent les ontologies

Les agents du sous-système d’extraction sont des agents cognitifs qui utilisent le moteur d’inférences Jess (Jess, 2006) pour raisonner et réaliser les tâches de classification et d’extraction. Ces agents réalisent ces tâches de façon déclarative en utilisant des règles de production (Jess rules). Pour être exploités par les agents, les ontologies (de domaine et opérationnelle) sont traduites en faits Jess par le plugin

Page 18: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

98 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

« JessTab » (Eriksson, 2003) de Protégé. La structure générale de telles règles exploitant une ontologie est la suivante :

1. Nom de la règle 2. Priorité de la règle (salience) 3. Précondition : présence ou absence dans la base de faits de concepts

appartenant à l’ontologie AGATHE et ses attributs associés 4. Test sur des attributs obtenus (commence avec le mot-clé test) 5. Action de la règle spécifique à la règle (commence par le symbole =>).

Exemple de règle d’extraction (en syntaxe Jess) utilisée par un agent extracteur.

(defrule r_454 (declare (salience 60)) (object (Page-Status STORED) (is-a Processing-Monitor)) ?f <- (object (Importance MEDIUM) (is-a Slot-Recognizer)

(Slot-in-Process ?s) (Concepts $?cb&:(> (length$ $?cb) 0)) (Absent-Concepts $?ac) (not (object (is-a Slot-Found) (Slot-in-Process ?s)))

(test (and (= (count-occurs-once (words-of-concepts $?ac) (slot-get [LINKS-TEXTS] Values) 454) 0) (> (count-occurs-once (words-of-concepts $?cb) (slot-get [LINKS-TEXTS] Values) 454) 0)))

=> (slot-insert$ [SLOTS-FOUND] Instance-Values 1 ?s))

Cette règle permet de trouver de l’information intéressante dans le texte d’une

page afin de la classifier. Son nom est « r_454 » et sa priorité est 60 (Salience = 60). Elle utilise les concepts « Processing-Monitor » et « Slot-Recognizer » qui appartiennent à l’Ontologie « Agathe Ontology ». Elle teste si le slot ?s a déjà été trouvé (condition (not (object (is-a Slot-Found) (Slot-in-Process ?s)))), et alors, dans la partie test de la règle, elle vérifie si un des concepts devrait être présent ($?cb, dans la règle) dans le texte et si les concepts absents ne sont pas présents ($ ?ac). Si ces conditions sont vérifiées, le slot ?s est trouvé et son nom est stocké dans une liste de slots trouvés (le fait [SLOT-FOUND]). Ces règles d’extraction en Jess sont assez difficiles à écrire, aussi nous avons développé un éditeur spécifique pour faciliter leur écriture. Cet éditeur connaît la structure interne de ces règles, et guide l’utilisateur dans l’écriture d’une règle, notamment en lui permettant de sélectionner dans une fenêtre spécifique, les concepts de l’ontologie qui sont impliqués dans cette règle.

Les sous-sections suivantes décrivent en détail chaque type d’agents composant le sous-système d’extraction SSE, en particulier les tâches que chacun réalise.

Page 19: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 99

5.3. Les agents préparateurs

Les agents préparateurs reçoivent les pages web en provenance du SSR. Ils sont créés par l’agent superviseur du même cluster et peuvent être supprimés par lui lorsqu’ils ne sont plus utilisés. Ces agents réalisent un premier traitement des pages web reçues facilitant par la suite le traitement d’extraction d’information. Ce traitement préliminaire consiste en la séquence des tâches suivantes :

– une validation consistant à vérifier si les pages web sont valides, c’est-à-dire si elles sont au format HTML, si elles sont accessibles, et si elles n’ont pas déjà été stockées dans la base de données. Les pages ne vérifiant pas ces conditions ne seront pas traitées par la suite ;

– un prétraitement identifiant le contenu, le titre, les liens et les emails disponibles dans la page en utilisant des techniques issues du domaine de la RI (recherche d’informations) et éventuellement des techniques basées sur le langage naturel ;

– une classification fonctionnelle. Pour réaliser cette tâche l’agent préparateur exploite l’ontologie AGATHE avec des règles Jess spécifiques. L’agent préparateur classifie les pages web selon un aspect fonctionnel. Les catégories fonctionnelles ainsi obtenues sont les suivantes : message, liste (de liens, de personnes, d’ouvrages), les pages auxiliaires et les pages sélectionnées pour l’extraction (c’est-à-dire n’appartenant à aucune des classes précédentes).

La figure 7 illustre l’enchaînement des tâches réalisées par l’agent préparateur. L’agent préparateur reçoit (1) de l’agent superviseur les pages HTML brutes (sans traitement préalable). Commence alors la tâche de validation de ces pages (2). Alors soit l’agent commence la tâche de prétraitement (3), soit la page est invalide et est envoyée à l’agent de stockage (4) afin d’éviter de répéter le traitement dans le futur. La tâche de prétraitement étant réalisée, la tâche de classification fonctionnelle est effectuée (5). Cette tâche produit des pages prêtes pour la phase d’extraction et de classification et ces dernières sont envoyées aux agents extracteurs (6). Dans le cas où la page ne peut être classée, elle est envoyée à l’agent de stockage (7).

Figure 7. L’agent préparateur et ses tâches internes

Page 20: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

100 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

5.4. Les agents extracteurs

Le cluster d’extraction est aussi composé d’un ou de plusieurs agents extracteurs dont le rôle est de classifier les pages analysées puis, en s’aidant de cette classification, d’extraire des informations des pages web préparées. Un agent extracteur est associé à des concepts particuliers de l’ontologie de domaine du cluster d’extraction considéré, afin d’extraire d’une page web des informations associées à ces concepts. Par exemple un agent extracteur, chargé de l’extraction d’informations relatives à des « Appels à communication » dans des pages web, utilise différents concepts de l’ontologie de domaine « Sciences Ontology ».

Pour effectuer cette tâche, un agent extracteur accomplit tout d’abord une classification sémantique, qui a pour but de réaliser, à partir de l’ontologie de domaine, une classification des pages analysées selon différentes classes. Une classe est définie par un ensemble de concepts présents et un ensemble de concepts absents de l’ontologie de domaine. Un concept n’est pas uniquement défini par la présence, l’absence ou la fréquence de mots-clés, mais aussi par exemple, par l’endroit dans la page où ils sont présents ou absents (par exemple en début de page). Pour réaliser la classification sémantique, l’agent extracteur va parcourir la page à la recherche de concepts (définis dans l’ontologie de domaine) ou de leur absence et réaliser une première extraction d’information. Lorsqu’un agent extracteur atteint un certain quota de concepts présents pour déterminer une classe et qu’aucun concept spécifié comme absent pour cette classe n’a été trouvé, la page analysée est classée dans cette classe.

Cette classification sémantique étant faite, l’agent extracteur réalise une nouvelle extraction d’information, plus fine, ciblée sur des concepts associés spécifiquement à la classe affectée à la page dans l’ontologie de domaine. Ainsi l’extraction d’informations sur une page web d’appel à communication est différente selon que celle-ci a été classée comme « Conférence » ou « Journal ». Les informations extraites (dates, titre, sujet, comité d’organisation…) sont ensuite communiquées à l’agent de stockage. Une fois la page traitée, elle est transmise à l’agent de recommandation.

Page 21: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 101

Figure 8. L’agent extracteur et ses tâches internes

La figure 8 illustre l’enchaînement de tâches réalisées par l’agent extracteur. L’agent extracteur reçoit les pages préparées de l’agent préparateur (1) et effectue la classification sémantique (2). Les adresses des pages classifiées et les classes auxquelles elles appartiennent, sont envoyées à l’agent de stockage (7), et à l’agent de recommandation (5). Ensuite, l’agent extracteur réalise la tâche d’extraction d’information des pages (3). Ces informations sont aussi envoyées à l’agent de stockage (6) et à l’agent de recommandation (4). Indépendamment des autres tâches, l’agent extracteur a la possibilité d’interroger le web en envoyant une requête à l’agent superviseur du SSR (8).

5.5. L’agent de recommandation

L’agent de recommandation dispose d’une ontologie interdomaines permettant d’appréhender une intersection de domaines (par exemple le domaine Evénement scientifique et le domaine Tourisme). Sur les pages que lui transmet l’agent extracteur, cet agent de recommandation réalise avec cette ontologie interdomaines une extraction d’information préliminaire comme le réalise l’agent extracteur. Si dans la page, l’agent de recommandation reconnaît des concepts correspondant à une ontologie d’un autre cluster, il lui envoie la page. Pour l’instant, AGATHE ne traitant qu’un seul domaine, elle ne possède qu’un seul cluster sans agent de recommandation.

La figure 9 présente l’enchaînement de tâches effectuées par l’agent de recommandation. Il reçoit l’information extraite et les pages classifiées d’agents extracteur (1), et des pages de recommandation d’agents de recommandation appartenant à d’autres clusters d’extraction (2). L’agent exécute la tâche concernant les recommandations vers les autres clusters d’extraction en utilisant les pages reçues au préalable (3,4). Les pages identifiées comme pouvant faire l’objet de recommandation sont transmises aux agents de recommandation des autres clusters (6) en fonction des concepts identifiés au sein de ces pages. Ensuite, il accomplit la tâche permettant d’identifier (5) les pages recommandées pour les agents extracteurs se trouvant dans le même cluster (7). Les autres pages sont envoyées à l’agent de stockage afin d’éviter tout traitement futur inutile (8).

Page 22: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

102 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Figure 9. L’agent de recommandation et ses tâches internes

Pour illustrer le processus de recommandation, considérons deux clusters d’extraction pour lesquels l’intersection de leurs ontologies propres n’est pas vide. Il existe alors une ontologie interdomaines utilisée par l’agent de recommandation des deux clusters. Considérons par exemple un cluster d’extraction responsable du domaine « Evénements scientifiques » et un autre responsable du domaine « Tourisme ». Des informations récupérées au sein d’appels à communication peuvent faire référence à des informations concernant des villes (où ont lieu les conférences), des hôtels disponibles et les moyens de transports. Les pages liées à ces informations ne peuvent pas être traitées par le cluster d’extraction « Evénements scientifiques » mais par le cluster « Tourisme ». Aussi l’agent de recommandation du cluster « Evénements scientifiques » transmettra les pages considérées au cluster « Tourisme » pour traitement.

5.6. L’agent de stockage

L’agent de stockage est en charge du stockage persistant des résultats de traitement des pages web par le cluster d’extraction dans une base de données qui sera exploitée par l’utilisateur dans le sous-système utilisateur (SSU) d’AGATHE. Cet agent prépare et réalise le stockage de ces informations selon le schéma de la base de données. Il sauvegarde les résultats de validation (pages non validées), de classification, ainsi que les informations extraites dans cette base de données. Il stocke ces informations dans la base de données dans le format RDF à l’aide de la bibliothèque en Java JENA (Jena, 2008). Le format RDF a été retenu tout d’abord pour garder, rattachée aux informations extraites, le plus de sémantique issue des ontologies utilisées pour leur extraction, et ensuite pour bénéficier d’outils d’exploitation de connaissance spécifiques, notamment le langage SPARQL.

Page 23: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 103

5.7. L’agent superviseur

L’agent superviseur du cluster d’extraction possède des fonctionnalités similaires à celui du sous-système de recherche. Il supervise l’activité des agents préparateurs. Il reçoit les résultats des requêtes envoyées par le sous-système de recherche. En fonction de la charge des agents préparateurs, il peut en créer ou en détruire et répartir les requêtes reçues entre eux.

6. Le sous-système d’utilisation d’AGATHE (SSU)

Le sous-système d’utilisation (SSU), illustré à la figure 10, permet les interactions entre AGATHE et les utilisateurs. Ces derniers exploitent les résultats fournis par AGATHE, après avoir interrogé une base de données relationnelle stockant les informations extraites.

Figure 10. Architecture interne du SSU

Le SSU est en cours de développement. Il est actuellement composé de deux principaux composants : le médiateur et l’interface utilisateur. Le premier a la tâche de mettre à jour la base de données en utilisant les informations extraites par le SSE via les agents de stockage. Le second est le support des interactions entre le système AGATHE et les utilisateurs.

Le premier composant a pour objet le contrôle de cohérence des informations extraites dans les pages et stockées au format RDF dans la base de données. En effet de nombreuses incohérences subsistent dans les données extraites, par exemple, dans une page de « Call for Paper », peuvent être extraites plusieurs valeurs d’une même information (une date, un lieu…). Ceci résulte principalement du fait que l’extraction d’information actuelle est essentiellement basée sur la présence ou l’absence de concept de l’ontologie dans la page web. L’usage dans cette extraction d’ontologie linguistique et de techniques de traitement de langue naturelle devrait permettre de réduire ces incohérences. Ce composant, qui travaille sur une ou

Page 24: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

104 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

quelques pages, est développé dans l’environnement JENA et exploite la base de données dans le langage SPARQL (Sparql, 2008). Il permet de détecter des incohérences et de les corriger en modifiant les triplets RDF stockés. Actuellement la correction est faite de façon interactive par l’utilisateur, elle pourrait être en partie assurée par des agents.

Le second composant supporte les interactions avec l’utilisateur pour exploiter les informations de la base de données, informations extraites d’un très grand nombre de pages. Le langage SQL est alors utilisé.

7. Premiers résultats

Dans cette section nous présentons les résultats d’une première mise en œuvre d’AGATHE ayant pour principal objectif de tester le fonctionnement de base des différents sous-systèmes.

Pour cela nous avons gardé le domaine des événements scientifiques pour lequel une ontologie avait déjà été définie, ainsi qu’un ensemble de règles permettant d’effectuer les tâches de classification fonctionnelle, classification sémantique et extraction d’information. Dans les sections précédentes, ce domaine d’application ainsi que l’ontologie associée ont déjà été introduits. Il s’agit plus précisément d’utiliser AGATHE pour collecter un ensemble de pages sur le web, relatives à l’annonce d’événements scientifiques, comme la tenue de conférences, de workshops, ainsi que la parution de numéros de journaux et revues, avec leurs appels à communication (Call For Papers).

L’architecture AGATHE utilisée est composée des trois sous-systèmes introduits ici, chacun constituant un système multi-agent. En ce qui concerne le sous-système d’extraction, il est constitué d’un seul cluster d’extraction, constitué lui-même d’un agent superviseur, d’un agent préparateur et d’un agent extracteur. Ces deux derniers agents exploitent l’ontologie opérationnelle interne et l’ontologie de domaine relative aux événements scientifiques. On notera que le cluster d’extraction n’a pas d’agent de recommandation. En effet, pour l’application considérée, un tel agent n’avait pas vraiment d’intérêt, du fait qu’il n’y a qu’un seul agent extracteur dans le cluster et qu’un seul cluster.

Page 25: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 105

Figure 11. Attributs du concept « Slot-Found » de l’ontologie opérationnelle

Le prototype AGATHE collecte tout d’abord des pages HTML concernant des appels à communication grâce à des requêtes envoyées aux moteurs de recherche classiques. Ces pages sont ensuite filtrées et celles qui sont jugées valides sont classées (classification sémantique) selon 8 sous-classes (conférence, workshop, journal, etc.). Enfin, le système extrait les informations pertinentes sous forme d’instances du concept « Slot-Found » de l’ontologie opérationnelle. Finalement, ces informations sont stockées dans la base de données. Parmi les attributs de ce concept, les plus importants sont :

– Slots-of-web-Page : cet attribut définit l’élément de la page web où l’information a été trouvée,

– Values : est l’information qui a été extraite, – Start-Position : est la position de l’information dans le « Slots-of-web-Page », – Slot-in-Process : définit le concept associé à l’information extraite.

Les attributs du concept « Slot-Found » sont présentés dans la figure 11.

Afin de tester notre système, nous avons lancé AGATHE avec la requête portant sur les mots-clés suivants : “agent, information, retrieval, call for paper”. Seules les 72 premières pages web récupérées par le sous-système de recherche (SSR) ont été transmises au sous-système d’extraction (SSE). La figure 12 présente une de ces pages.

Page 26: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

106 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Figure 12. Un exemple de page web traitée

Cette page web (figure 12) a ainsi été traitée par le sous-système d’extraction (SSE). Une partie des informations extraites de cette page est présentée (en format RDF) à la figure 13. Ces informations précisent tout d’abord que la page a été classée dans la classe « Conference ». Le nœud nodeID="A6" précise qu’une information extraite est la date du « 30 avril 2007 », qui est liée au concept « Initial-Date » de l’ontologie de domaine, et se trouve à la position 4722 de l’attribut « Lowercase-Contents », « Lowercase-Contents » étant une version de travail de la page web traitée. De même, le nœud nodeID="A8" précise que la page comporte des informations relatives à la soumission, liée au concept de « Deadline » de l’ontologie de domaine, et se trouve à la position 4604 de l’attribut « Lowercase-Contents ». Notons que dans le premier cas, l’information extraite l’a été avec une confiance moindre (status = CANDIDATE) que dans le second cas (status = INDENTIFIED). Ce niveau de confiance est associé à la règle ayant réalisé l’extraction de l’information.

Page 27: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 107

- <rdf:Description rdf:nodeID="A6"> <j.0:classe>Conference</j.0:classe> <j.0:extractorInstance>nil</j.0:extractorInstance> <j.0:slot_in_process>Initial-Date</j.0:slot_in_process> <j.0:slot_of_web_page>Lowercase-Contents</j.0:slot_of_web_page> <j.0:start_position>4722</j.0:start_position> <j.0:status>CANDIDATE</j.0:status> <j.0:value>30 april 2007</j.0:value> </rdf:Description> - <rdf:Description rdf:nodeID="A7"> <j.0:classe>Conference</j.0:classe> <j.0:extractorInstance>SimpleInstance(cfp_01010 of [Cls(Slot-Extractor, FrameID(1:10409))])</j.0:extractorInstance> <j.0:slot_in_process>Event-Publication</j.0:slot_in_process> <j.0:slot_of_web_page>Lowercase-Contents</j.0:slot_of_web_page> <j.0:start_position>5615</j.0:start_position> <j.0:status>IDENTIFIED</j.0:status> <j.0:value>papers</j.0:value> </rdf:Description> - <rdf:Description rdf:nodeID="A8"> <j.0:classe>Conference</j.0:classe> <j.0:extractorInstance>SimpleInstance(cfp_00519 of [Cls(Slot-Extractor, FrameID(1:10409))])</j.0:extractorInstance> <j.0:slot_in_process>Deadline</j.0:slot_in_process> <j.0:slot_of_web_page>Lowercase-Contents</j.0:slot_of_web_page> <j.0:start_position>4604</j.0:start_position> <j.0:status>IDENTIFIED</j.0:status> <j.0:value>submission</j.0:value> </rdf:Description>

Figure 13. Résultat de l’extraction au format RDF

A l’issue de la classification sémantique réalisée par le sous-système d’extraction (SSE), une de ces 72 pages a été classée à la fois dans la classe des pages pertinentes et dans la classe des pages non pertinentes, pertinence par rapport au domaine restreint des appels à communication. Cette erreur semble provenir d’un problème dans les règles effectuant la classification. Une seule page étant concernée, nous n’en tenons pas compte dans cette analyse.

Le tableau 1, matrice de confusion, présente les résultats de la classification effectuée par AGATHE comparée à celle qui aurait été effectuée par un être humain. Nous considérons les appels à communication (concernant les conférences, les revues, les ateliers…) comme étant les documents pertinents.

Page 28: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

108 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Résultats attendus

Documents pertinents

Documents non pertinents

Documents pertinents 28 3 Résultats obtenus avec

Agathe Documents non pertinents 2 38

Tableau 1. Comparaison entre les résultats obtenus et les résultats attendus (matrice de confusion)

Calculons le taux de reconnaissance global de notre système afin d’avoir une idée générale sur ses performances. Ce taux est défini ainsi :

Pour l’ensemble des pages sélectionnées pour ce test, le taux de reconnaissance

global est de 93 % de pages correctement classées. Cependant, ce résultat ne nous donne pas d’information particulière sur le comportement de notre système concernant plus précisément les pages pertinentes qu’il a retrouvées. C’est pourquoi, afin d’exploiter de manière plus précise le résultat obtenu par notre système, nous allons calculer son score de rappel, de précision puis la F-mesure.

Le score de rappel est défini comme suit :

Nous avons obtenu avec cette base de pages un score de rappel de 0,93. Ce score

signifie que 93 % des pages pertinentes ont été retrouvées par notre collecte.

Le score de précision est :

Nous avons obtenu avec cette base de pages un score de précision de 0,90. Ce

score signifie que 90 % des pages collectées sont pertinentes.

Afin d’avoir un score tenant compte à la fois du rappel et de la précision, nous calculons la F-mesure qui est définie comme la moyenne harmonique pondérée de la précision et du rappel. Elle est définie ainsi :

Nous avons décidé de calculer la F-mesure avec le coefficient β = 1 afin de donner le même poids à la précision et au rappel. En effet, notre système de collecte

Page 29: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 109

doit récupérer tous les documents pertinents et tous les documents collectés doivent être pertinents. Avec notre base de test, le score de F-mesure de 0,91 a été obtenu.

8. Conclusion et perspectives

En se limitant à des domaines restreints, la prise en compte de contextes de recherche d’information est possible et doit conduire à des collectes plus pertinentes. Dans ce papier, les auteurs proposent une collecte coopérative d’information à base d’agents logiciels et d’ontologies, et son opérationnalisation au travers d’une architecture logicielle générique, AGATHE. Cette architecture mettant en œuvre ce type de collecte, et permettant le développement de systèmes de collecte relatifs à un ou plusieurs domaines, est présentée en détail.

AGATHE est composée de trois principaux sous-systèmes en interaction, un sous-système de recherche réalisant les requêtes sur le web au travers de moteurs de recherche, un sous-système d’extraction assurant une classification puis une extraction d’information des pages récupérées du web et enfin d’un sous-système d’utilisation permettant à des utilisateurs d’exploiter ces informations extraites stockées dans une base de données relationnelle. L’architecture logicielle interne de ces sous-systèmes est composée d’agents logiciels exploitant, pour certains, des ontologies, soit opérationnelle, soit relative au domaine de recherche considéré, pour réaliser des tâches de classification, de recommandation ou d’extraction d’information par raisonnement.

Le système AGATHE est actuellement en cours de développement, un premier prototype fonctionne et des premiers résultats sont produits. Pour l’amélioration de ce prototype, plusieurs axes d’évolution sont actuellement envisagés : (1) l’élaboration d’un nouveau cluster d’extraction afin d’approfondir les tests (passage à l’échelle) et de mettre en place les mécanismes de recommandation (2) l’intégration de techniques de traitement des langues naturelles notamment au niveau des tâches de classification et d’extraction d’information, ceci afin de les rendre plus performantes, (3) le développement d’outils et de méthodes permettant de faciliter la mise en œuvre d’AGATHE (un programme d’aide au développement de règles Jess de classification ou d’extraction a déjà été réalisé), et enfin (4), l’usage de web services (WS), perçus comme composants pouvant être utilisés pour développer certains agents informationnels. Sur ce dernier point, la librairie de WS définie pour l’industrie du voyage dans le cadre du projet Satine (Satine, 2001), pourrait être invoquée dans une nouvelle version d’AGATHE.

9. Bibliographie

Ambite J., Knoblock C., “Agents for information gathering”, In Software Agents, Bradshaw, J. (ed.), MIT Press, 1997.

Page 30: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

110 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Appelt D.E., Israel D.J., “Introduction to Information Extraction Technology”, IJCAI-99 Turorial, http://www.ai.sri.com/~appelt/ie-tutorial/, 1999.

Argos, https://argos.dev.java.net/, 2008.

Benjamins R., Fensel D., Pérez A.G., “Knowledge Management through Ontologies”, Proceeding of the 2nd International Confonference on Practical Aspects of Knowledge Management, 1998.

Birukov A., Blanzieri E, Giorgini P., “Implicit: A recommender system that uses implicit knowledge to produce suggestions”, Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems, AAMAS’05, 2005.

Birukov A., Blanzieri E, Giorgini P., “A multi-agent system that facilitates scientific publications search”, Proceedings of the sixth international joint conference on Autonomous agents and multiagent systems, AAMAS’06, 2006.

Cesarano C., d’Acierno A., Picariello A., “An intelligent search agent system for semantic information retrieval on the internet”, Proceedings of the 5th ACM international Workshop on web information and Data Management, 2003.

Decker K.S., Nagendra Prasad M.V., Wagner T., “MACRON: An architecture for multi-agent cooperative information gathering”, Proceeding of CIKM-95 Workshop on Intelligent Information Agents, 1995.

Drogoul A., Vanbergue D., Meurisse T., “Multi-Agent Based Simulation: Where are the Agents ?”, Proceeding of Multi-Agent Based Simulation, 2002.

Embley D.W., Campbell D.M., Jiang Y.S., Ng Y.-K,. Smith R.D, Liddle S.W., Quass D.W., “A Conceptual-Modeling Approach to Extracting Data from the web”, Proceedings of the 17th International Conference on Conceptual Modeling (ER’98), 1998.

Eriksson H., “Using JessTab to Integrate Protégé and Jess”, IEEE Intelligent Systems, 18, 2, 2003, p. 43-50.

Espinasse B., Fournier S., Freitas F., « AGATHE : une architecture générique à base d’agents et d’ontologies pour la collecte d’information sur domaines restreints du web », CORIA 2007, 4e conférence francophone en Recherche d’Information et Applications, 2007.

Espinasse B., Fournier S., Freitas F., “Agent and Ontology based Information Gathering on Restricted web Domains with AGATHE”, Proceedings of the 23rd Annual ACM Symposium on Applied Computing, ACM-SAC’08, 2008.

Etzioni O, Cafarella M, Downey D, Kok S, Popescu A, Shaked T, Soderland S, Weld D. S, Yates A, “web-scale Information Extraction in KnowItAll”, Proceedings of the 13th International World Wide web Conference, 2004.

Ferber J, Les systèmes multi-agents, InterEditions, 1995.

FIPA, IEEE Foundation for Intelligent Physical Agents, http://www.fipa.org/, 2000.

Freitas F., Bittencourt G., “An Ontology-Based Architecture for Cooperative Information Agents”, IJCAI, 2003.

Freitas F., Bittencourt G., “Cognitive Multi-agent Systems for Integrated Information Retrieval and Extraction over the web”, IBERAMIA-SBIA, 2000.

Page 31: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

AGATHE 111

Freitas F., Bittencourt G., Calmet J., “MASTER-web: An Ontology-Based Internet Data Mining Multi-Agent System”, Second International Conference on Advances in Infrastructure for E-Business, E-Science and E-Education, 2001.

Gruber T. R., “Towards Principles for the Design of Ontologies Used for Knowledge Sharing”, International Journal of Human and Computer Studies, vol. 43 n° 5/6, 1995, p. 907-928.

Giunchiglia F., Mylopoulos J., Perini A., “The tropos software development methodology: processes, models and diagrams”, Proceedings of the first international joint conference on Autonomous agents and multiagent systems, AAMAS’02, 2002.

Huhns, M. N., Singh, M. P., “Distributed Artificial Intelligence for Information Systems”, CKBS-94 Tutorial, 1994.

Jade, Jade tutorial http://jade.tilab.com, 2006.

Jena, http://jena.sourceforge.net, 2008

Jess, http://hezberg.casandia.gov/Jess, 2006.

Jung J. J., “Ontological framework based on contextual mediation for collaborative information retrieval”, Information Retrieval, 10(1), 2007, p. 85-109.

Kushmerick N., “Gleaning the web”, IEEE Intelligent Systems, EUA 1999.

Lesser V., Horling B., Klassner F., Raja A., Wagner T., XQ Zhang S., “BIG: An agent for resource-bounded information gathering and decision making”, Artificial Intelligence, Elsevier Eds, 118, 2000, p. 197-244.

Lorenzi F., Scherer dos Santos D., Bazzan A.L.C., “Negotiation for task allocation among agents in case-base recommender systems: A swarm-intelligence approach”, Proceedings of Multi-Agent Information Retrieval and Recommender Systems, IJCAI-2005, 2005.

McCallum A., Nigam K., Rennie J., Seymore K., “Building Domain-Specific Search Engines with machine learning Techniques”, The Sixteenth International Joint Conference on Artificial Intelligence, 1999.

Muslea I., Extraction Patterns for Information Extraction Tasks: A Survey. http://www.isi.edu/~muslea/RISE/ML4IE/ml4ie.muslea.ps, 1999.

Nwana N.H., Software Agents: An Overview, Knowledge Engineering Review, vol. 11, n° 3, sept 1996, Cambridge University Press, p.1-40.

Oates T., Nagendra Prasad M.V., Lesser V.R., “Cooperative Information Gathering: A Distributed Problem Solving Approach”, Computer Science Technical Report, University of Massachusetts, 1994.

Phan D., Amblard F., Agent-based Modelling and Simulation in the Social and Human Sciences, 2007.

Protégé, http://Protégé.stanford.edu/, 2006.

Gaizauskas R., Robertson A., “Coupling Information Retrieval and Information Extraction: A New Text Technology for Gathering Information from the web”, Proceedings of RIAO, Computer-Assisted Information Search on the Internet, 1997.

Page 32: Collecte d’information sur domaines restreints du web à ...ACL 09.1]-Espin… · humain n’est capable de faire avec des documents, sur n’importe quel ... respectivement la

112 RSTI - RIA – 23/2009. Intelligence artificielle et web intelligence

Satine project, http://www.srdc.metu.edu.tr/webpage/projects/satine/, 2001.

Steele R., Techniques for Specialized Search Engines http://www-staff.it.uts.edu.au/~rsteele/SpecSearch3.pdf, 2001

Weiss G., editor, Multiagent Systems, MIT Press, 2000.

Woerndl W., Groh G., “A proposal for an agent-based architecture for context-aware personalization in the Semantic web”, Proceedings of Multi-Agent Information Retrieval and Recommender Systems, IJCAI-2005, 2005.

Wooldridge M., CiancariniP., “Agent-Oriented Software Engineering: The State of the Art, in ciancarini”, P. et Wooldridge M., (Eds), Agent-Oriented Software Engineering, 2001.

Zambonelli F., Jennings N.R., Wooldridge M., “Developing multiagent systems: The Gaia methodology”, ACM Transactions on Software Engineering and Methodology (TOSEM), 12(3), 2003.