Tải bản đầy đủ (.pdf) (54 trang)

Collecte d’information sur le web relatif à des domaines restreints, à base d’agents et d’ontologies

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.05 MB, 54 trang )

Laboratoire des Sciences de
l'Information et des Systèmes
(LSIS)

Institut de la Francophonie pour
l’Informatique
(IFI)

Rapport de fin du stage M2R
Sujet

Collecte d’information sur le Web relatif à des
domaines restreints, à base d’agents et
d’ontologies

Directeur :
Encadrant :
Réalisateur :

Bernard ESPINASSE
Sébastien FOURNIER
Nguyen Manh Hung

Marseille 2007


Remerciements
Ce travail a été effectué au Laboratoire des Sciences de l’Information et des
Systèmes (LSIS) dirigé par Monsieur le Professeur Norbert Giambiasi. Je le remercie
sincèrement de m’avait accueilli dans sa laboratoire.
Que Monsieur Bernard Espinasse, Responsable de l’équipe Information et


Connaissances Distribués (INCOD) du LSIS, reçoive toute l'expression de ma
reconnaissance pour m'avoir proposé et dirigé ce sujet de recherche, et, pour tout son
dynamisme et ses compétences scientifiques qui m'ont permis de mener à bien cette
étude.
Mes plus sincères remerciements vont également à Monsieur Sébastien Fournier,
membre de l’équipe INCOD, qui en agissant à titre de co-directeur a fortement enrichi ma
formation. Ses conseils et ses commentaires auront été fort utiles.
Merci aussi à tous mes collègues et amis du laboratoire qui se reconnaîtront ici. Je
leur exprime ma profonde sympathie et leur souhaite beaucoup de bien.
Je souhaite enfin remercier mes amis pour leurs encouragements et leurs conseils
lors de ce séjour en France.


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Table des matières
Table des matières ............................................................................................................. 1
Résumé............................................................................................................................... 3
Abstract............................................................................................................................... 4
Introduction ......................................................................................................................... 5
Chapitre 1 ........................................................................................................................... 6
Problème d’extraction des informations .............................................................................. 6
1.1 Extraction des informations sur le Web..................................................................... 6
1.1.1 Détermination des régions ................................................................................. 6
1.1.2 Extraction des informations sur les régions ....................................................... 8
1.2 Utilisation de la syntaxe des marqueurs ................................................................... 9
1.3 Utilisation d’ontologie de domaine .......................................................................... 10
1.3.1 Ontologie.......................................................................................................... 10
1.3.2 EI à base d’ontologie........................................................................................ 11
1.4 Extraction des informations par agent..................................................................... 12

1.4.1 Agent................................................................................................................ 12
1.4.2 EI à base d’agent ............................................................................................. 13
1.5 Conclusion .............................................................................................................. 14
Chapitre 2 ......................................................................................................................... 15
MasterWeb et AGATHE .................................................................................................... 15
2.1 MasterWeb.............................................................................................................. 15
2.1.1 Architecture et fonctionnement ........................................................................ 15
2.1.2 Agent d’extraction ............................................................................................ 16
2.2 AGATHE ................................................................................................................. 17
2.2.1 Architecture et fonctionnement ........................................................................ 17
2.2.2 Sous système d’extraction ............................................................................... 18
2.3 Conclusion .............................................................................................................. 22
Chapitre 3 ......................................................................................................................... 23
Projection de MasterWeb à AGATHE ............................................................................... 23
3.1 Spécification du problème....................................................................................... 23
3.1.1 Problématique .................................................................................................. 23
3.1.2 Spécification générale...................................................................................... 23
3.1.3 Spécification des agents .................................................................................. 25
3.1.3 Spécification des protocoles ............................................................................ 28
3.3 Conception .............................................................................................................. 30

1


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

3.3.1 Outils utilisés .................................................................................................... 30
3.3.2 Les classes de MasterWeb .............................................................................. 33
3.3.3 Les classes de AGATHE.................................................................................. 34
3.3.4 Les messages .................................................................................................. 38

3.3.5 La base de données......................................................................................... 38
3.4 Mise en œuvre ........................................................................................................ 39
3.4.1 Contexte de teste ............................................................................................. 39
3.4.2 Résultat ............................................................................................................ 39
3.4.3 Perspectives..................................................................................................... 42
3.5 Conclusion .............................................................................................................. 42
Conclusion ........................................................................................................................ 43
Bibliographie ..................................................................................................................... 44
Annexe.............................................................................................................................. 47
A. Les messages........................................................................................................... 47
B. Les tables de la BD................................................................................................... 48
C. Prototypes ................................................................................................................ 49
C.1. Prototype des agents......................................................................................... 49
C.2. Prototype de contenu des message .................................................................. 51

2


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Résumé
Le problème d’extraction des informations sur Internet est de plus en plus complexe car
l’environnement d’Internet devient le plus dynamique, hétérogène et distribué. AGATHE
est une architecture proposée pour le développement de système de collecte
d’informations dans des domaines restreints sur le Web, à base des agents et des
ontologies. AGATHE réalise la recherche, la classification et l’extraction d’information de
pages Web, en s’appuyant sur les ontologies notamment liées aux domaines restreints
considérées. Ces tâches de recherche, de classification et d’extraction des informations à
base d’ontologies sont réalisées dans AGATHE par des agents logiciels spécialisés qui
coopérèrent. Ce stage se présenté comme une contribution au développement du

système AGATHE, contribution plus particulier lié au développement du sous-système
d’extraction selon un système multiagent.

3


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Abstract
The information extraction problem on Internet is increasingly complex because the
Internet environment becomes most dynamic, heterogeneous and distributed. AGATHE is
an architecture suggested for the system development of collection of information in
restricted domains on the Web, based on agents and ontologies. AGATHE carries out
research, classification and extraction of Web pages information, while being based on
ontologies in particular related to the restricted domains considered. These tasks of
research, classification and extraction of information based on ontologies are carried out
in AGATHE by specialized software agents which cooperated. This stage presented like a
contribution to the development of AGATHE system, contribution more particular related
to the development of the extraction subsystem according to a multiagent system.

4


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Introduction
Dans les dernières années, les pages Web et les informations qu’elles contiennent sont
de plus en plus nombreuses. Il y a de plus en plus de sources d’information qui sont
disponibles sur le Web. En outre, les sources sont hétérogènes : elles sont créées par
plusieurs personnes différentes ; les pages sont construites en utilisant des méthodes et

des techniques différentes ; les informations sont présentées de n’importe façon sur la
page… De plus, les pages Web sont dynamiques : leur structure est instable ; les
informations présentées sont toujours mises à jour selon le besoin de leurs propriétaires.
La cherche et l’extraction des informations pertinentes deviennent alors de plus en plus
difficiles et complexes. Dans ce contexte, l’extraction des informations (l’EI) sur le Web
est l’objet de nombreuses recherches. Plusieurs systèmes sont proposés selon des
approches différentes pour l’EI.
Le projet AGATHE [7] est développé dans l’équipe INCOD du Laboratoire des Sciences
de l’Information et des Systèmes (LSIS) en collaboration avec l’Université Fédérale de
Pernambuco (Cin-UFPE - Brésil). AGATHE est une architecture proposée pour le
système d’extraction des informations dans des domaines restreints sur le Web qui se
base sur des agents et des ontologies. AGATHE réalise la recherche, la classification et
l’extraction d’information de pages Web, en s’appuyant sur les ontologies notamment
liées aux domaines restreints considérés. Ces tâches de recherche, de classification et
d’extraction des informations à base d’ontologies sont réalisées dans AGATHE par des
agents logiciels spécialisés qui coopérèrent. Les processus de classification et
d’extraction dans AGATHE, déclaratifs à base de règles, s’inspirent de MasterWeb, un
système développé au Brésil [10].
L’objectif de ce stage est de contribuer au développement du système AGATHE,
notamment à la conception et à la réalisation de sa partie d’extraction (clusters
d’extraction) à partir de MasterWeb selon un système multiagent. Ce document va
présenter le travail sur ce stage. Il est organisé comme suit : le chapitre 1 va présenter
généralement l’état de l’art sur le problème d’EI sur le Web, en particulier les approches
qui sont proches de MasterWeb et d’AGATHE ; le chapitre 2 va présenter le système
MasterWeb et l’architecture AGATHE selon la tendance d’utilisation des agents et des
ontologies pour le problème d’EI sur le Web ; le chapitre 3 va présenter la réalisation
AGATHE à partir de MasterWeb : appliquer l’architecture AGATHE au système
MasteWeb ; la dernière section serra conclusion.

5



Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Chapitre 1
Problème d’extraction des informations
Ce chapitre va présenter l’état de l’art du problème d’extraction des informations (EI) sur
le Web : la section 1 va présenter le contexte général de l’EI ; les trois sections suivantes
vont présenter différentes approches dans l’EI : l’utilisation de structure des marqueurs,
l’utilisation d’ontologie, l’utilisation d’agent ; la dernière section sera une conclusion du
chapitre.

1.1 Extraction des informations sur le Web
Les pages Web et les informations qu’elles contiennent sont de plus en plus nombreuses
sur Internet. La recherche et l’extraction des informations pertinentes sont de plus en plus
difficiles et complexes. Dans ce contexte, l’extraction des informations sur le Web est
l’objet de nombreuses recherches.
L’extraction des informations (l’EI) dépend de la nature des pages Web. En se basant sur
la façon dont les informations sont présentées sur la page, on peut considérer que,
aujourd’hui, il y a deux types de Web : le Web caché et le Web explicite. Dans une page
du Web caché, les informations ne sont affichées qu’après avoir rempli quelques
formulaires. Une page du Web explicite est une page normale : les informations sont
affichées dès que l’on entre dans la page. Selon ces deux types de Web, les recherches
sur l’EI sur le Web sont :
L’EI sur le Web caché. On se concentre sur la génération automatique des
informations à remplir les formulaires pour retirer des informations nécessaires.
L’EI sur le Web explicite. On s’intéresse à la façon dont on détermine les régions
qui contiennent des informations nécessaires sur une page et la manière dont on
extraie des informations pertinentes à partir de ces régions.
En général, les informations apparaissent sur le Web explicite sous forme de page HTML

dont la structure est libre : elles peuvent se situer n’importe où dans la page. L’EI sur les
pages Web doit passer deux grandes étapes :
Premièrement, la détermination des régions contenant des informations
nécessaires.
Deuxièmement, l’extraction des informations pertinentes à partir des régions
déterminées.
Les sous-sections suivantes vont présenter ces deux étapes.

1.1.1 Détermination des régions
Comme les informations apparaissent n’importe où dans la page Web. Le problème qui
se pose est : comment peut-on déterminer si une région contient des informations
6


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

nécessaires. Plusieurs recherches s’intéressent à ce problème. On peut distinguer trois
grandes approches dans ces recherches [34] :
Approche basée sur le traitement du langage naturel (TLN).
Approche basée sur les marqueurs sémantiques. Cette approche permet de créer
de nouveaux marqueurs personnels pour marquer le contenu sur une page. Elle
commence à être utilisée dans le domaine de Web Sémantique.
Approche basée sur un modèle structuré commun. Les informations sont
structurées de façons différentes. L’idée est de restructurer ces informations en
une structure commune qui est indépendante de la source des informations. L’EI
sur plusieurs sources différentes devient plus facile et plus efficace. Le traitement
n’extrait qu’une seule structure. Aujourd’hui, cette troisième approche est adoptée
dans plusieurs recherches.
Comme les informations sont structurées de façons différentes. L’idée est de restructurer
ces structures dans une structure commune qui est indépendante de la source des

informations. Le problème est comment peut-on construire la structure commune à partir
des pages Web différentes. On distingue trois grandes approches possibles :
L’utilisation des techniques XML
L’utilisation d’arbre des marqueurs
L’utilisation d’ontologie du Web
Les sous-sections suivantes vont développer plus ces trois approches.

a. Utilisation de XML
La structure des marqueurs HTML dans une page Web ressemble à celle d’un document
XML, l’idée est de projeter une page HTML sur un document XML ([11], [25], [28], [33],
[34]). Tout d’abord, une page HTML est projetée en XML en complétant les marqueurs
incomplets. Puis, les régions contenant des informations sont déterminées en utilisant des
techniques différentes : soit une ontologie de domaine ([28], [33], [34]), une transformation
en XSLT (Extensible Stylesheet Language Transformations) ([11], [25]).
Cette approche a un grand avantage, c’est d’être simple et compréhensible car XML est
populaire et ses techniques (ex. XSLT) sont connues. Cependant, elle a aussi un grand
désavantage : la transformation en XML est seulement efficace dans le cas où la structure
de la page HTML est toujours stable ([33], [34]). Actuellement, beaucoup de pages ont
une structure qui change souvent, cette approche n’est alors plus applicable.

b. Utilisation d’arbre des marqueurs
Cette approche est aussi basée sur la structure des marqueurs HTML dans une page
Web. Cette structure ressemble à celle d’un arbre dont les nœuds correspondent aux
paires des marqueurs HTML. Il s’agit tout d’abord de créer tout d’abord un arbre DOM
(Document Object Model) correspondant à chaque page HTML ([17], [24], [44]) de façon
suivante : (i) Compléter des marqueurs qui n'ont qu'un tag, ex. <P>, <Br>... ; (ii)
7


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies


Supprimer les marqueurs inutiles (supprimer seulement ces marqueurs, ne supprime pas
le contenu dans des marqueurs); (iii) Chaque paire des marqueurs restante devient un
noeud de l'arbre DOM ; (iv) Ce marqueur est contenu direct d'un marqueur parent devient
un fils direct du noeud correspondant au marqueur parent. Puis, on peut éliminer des
bruits (les nœuds inutiles) sur l’arbre en utilisant la technique sur l’arbre ST (Style Tree
[44]). En suite, les régions contenant des informations sont déterminées en se basant sur
des techniques différentes : en utilisant la distance éditée entre les chaînes caractères
([17], [44]) ; en calculant la coïncidence entre les chaînes caractères ([6], [24]). Les
régions déterminées sont réservées à la phase d’extraction des données.
La création d’un arbre DOM se fait selon des étapes claires et concrètes. Cependant, elle
n’est efficace qu’avec les pages dont les régions représentent les informations sous forme
d’un tableau (en lignes et en colonnes [19]) ou sous une forme identique pour plusieurs
pages ([6], [17], [24], [44]), ex. pour les pages représentant les produits (livres, voitures,
vêtements…). Elle ne marche plus sur les sites dont les pages ont des formulaires
différents.

c. Utilisation d’ontologie du Web
Cette approche est aussi basée sur la structure des marqueurs HTML dans une page
Web. Une page HTML est construite par un ensemble des marqueurs HTML. Cet
ensemble contient les éléments définis et le nombre de type des éléments est limité. On
peut représenter ces marqueurs par un ensemble de classes et d’instances, on dit que
l’ensemble des classes et instances correspondant aux marqueurs HTML est une
ontologie Web.
Le processus de détermination des régions est le suivant : tout d’abord, une page HTML
est projetée sur l’ontologie Web dont chaque classe ou instance correspond à un
marqueur HTML ; puis, les régions contenant des informations sont déterminées sur le
résultat de la projection, ex. ([7], [10]) utilisent les règles construites en JessTab [9] pour
déterminer les régions.
L’utilisation d’ontologie Web a un grand avantage : elle est appliquée à n’importe quel

type de page Web. Parce que l’ontologie Web est indépendante de la source, de la
structure et du contenu de la page HTML. Cependant, elle a aussi un désavantage : pour
raisonner sur l’ontologie, il faut utiliser des règles dont la gestion est complexe et dont la
manipulation n’est pas très facile.

1.1.2 Extraction des informations sur les régions
Après avoir déterminé les régions contenant des informations, on a besoin d’extraire les
informations nécessaires. Trois principales approches peuvent être utilisées :
L’approche basée sur la syntaxe des marqueurs HTML
L’approche basée sur l’ontologie de domaine (extraction sémantique)
L’approche basée sur des agents
8


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Les sections suivantes vont présenter ces approches en détail.

1.2 Utilisation de la syntaxe des marqueurs
Cette méthode est basée sur la même technique que celle utilisée pour l’étape de
détermination des régions. Elle est basée sur la structure de la page HTML de façons
différentes : en utilisant XML et la transformation XSLT ([11], [25]) ; en utilisant la distance
éditée entre les chaînes caractères ([17], [44]) ; en calculant la coïncide entre les chaînes
caractères ([6], [24]).
Dans cette méthode, il existe des outils, par exemple, RoadRunner [6] extraie
automatiquement des données sur les pages en se basant la grammaire du codage
HTML. Il traite deux pages en parallèle : il calcule la similarité et la dissimilarité entre deux
pages HTML en se basant sur la coïncidence entre deux chaînes de caractères.
B.Lui et al. ([17], [44]) a proposé une méthode extrayant des lignes de données en se
basant sur l’arbre DOM avec deux hypothèses : (i) une région ne contient qu’un ou

plusieurs tableaux ayant des lignes et des colonnes de données ; (ii) les données dans le
même tableau ont la même structure. La phase d’extraction ne traite que les sous arbres
dont la racine est le nœud composant tous les marqueurs d’une région : on calcul la
similarité entre les fils d’un nœud en utilisant la distance éditée. S’ils sont semblables, ils
seront considérés comme les lignes d’un tableau de données. Dans le cas contraire, ils
seront considérés comme des tableaux indépendants et chaque nœud et ses fils seront
traités comme une région indépendante.
En se basant sur la même hypothèse que les données ne sont apparues que dans les
tableaux ayant des lignes et des colonnes de données, K.Lerman et al. [19] a proposé un
algorithme d’extraction de données en générant des templates pour les pages HTML
selon trois étapes : (i) rechercher du template pour la page ; (ii) identifier les colonnes des
données dans la pages avec une hypothèse que les données dans la même colonne ont
le même type ; (iii) identifier les lignes dans les colonnes en utilisant les labels. Avec cet
algorithme, on n’a pas besoin de distinguer les deux étapes de détermination de régions
et d’extraire des données.
X. Meng et al. [24] a proposé une méthode qui s’appelle SG-WRAM (schema-guided
approach to wrapper maintenance). Elle maintient les wrappers en se basant sur les
caractéristiques syntaxiques selon quatre étapes [24] : (i) les caractéristiques sont
obtenues à partir de schéma définie par l’utilisateur, des règles d’extraction précédentes
ou des résultats extrait ; (ii) reconnaître des données en basant ces caractéristiques ; (iii)
regrouper des données à la schéma, chaque groupe peut être une instance de la
schéma ; (iv) les instances représentatives sont sélectionnées pour diminuer les règles
d’extraction dans la phase suivante.
Pour conclure, les méthodes basées sur la syntaxe des marqueurs se caractérisent ainsi :
Elles réalisent seulement un traitement syntaxique. Le traitement est basé sur la
grammaire du codage HTML, sur la syntaxe des marqueurs HTML ou sur la
9


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies


structure de la page HTML. En conséquence, ces méthodes ne sont pas très
complexes, les algorithmes sont clairs.
Elles reposent sur plusieurs hypothèses : soit les pages HTML du même site ont
une structure stable ([6], [17], [24], [44]) ; soit les régions des données sont sous
forme d’un ou de plusieurs tableaux ([17], [19], [44]) ; soit les données dans les
lignes ont la même structure ([17], [44]) ; soit les données dans la même colonne
ont le même type ([19]). Chaque méthode peut seulement bien marcher sur un
nombre limité des pages Web.
Les données extraites sont « bruitées ». Normalement, les données extraites sont
toutes les informations dans un celle d’un tableau ou les informations entre un
complet marqueur HTML. Ces méthodes ne peuvent extraire qu’une partie des
données, dans un celle d’un tableau, qui concerne dans un domaine spécifique.

1.3 Utilisation d’ontologie de domaine
1.3.1 Ontologie
Récemment, les ontologies sont de plus en plus utilisées dans le contexte du Web
Sémantique. Svab et al. [37] distingue trois types d’ontologie pour l’EI :
L’ontologie terminologique : elle représente les termes dans les langages
humains. Elle est applicable dans l’annotation de texte.
L’ontologie de représentation : elle représente les objets Web dans les pages
Web. Elle est applicable dans l’analyse de discours linguistique.
L’ontologie de domaine : elle représente les classes, les instances, les slots… des
objets dans un domaine spécifique.
Figure 1 représente une partie de l’ontologie de domaine scientifique. Les rectangles
représentent les classes, instances (objets). Les arcs représentent les relations entre eux.

Figure 1 : Une partie de l’ontologie de domaine d’événement scientifique (source [7])

10



Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Ce document se concentre seulement sur l’ontologie de domaine qui est utilisée dans le
problème d’EI. Certaines entre eux proposent des outils utilisant l’ontologie de domaine
pour l’extraction des données sur le Web.

1.3.2 EI à base d’ontologie
Snoussi et al. [34] considèrent que l’ontologie est une façon de décomposer le monde en
objets et de décrire ces objets. Ils utilisent SOX (Schema for Oriented-Object XML) pour
définir et modéliser une ontologie. Ils ont construit un outil WeDaX (Web Data eXtraction)
qui utilise l’ontologie de domaine pour extraire des données sur le Web selon quatre
étapes : (i) télécharger les pages HTML et les transformer dans les documents XML ; (ii)
construire un modèle des données en utilisant SOX et une ontologie ; (iii) projeter les
documents XML aux classes, instances et slots de l’ontologie ; (iv) permettre à l’utilisateur
de choisir les éléments des données sur la page dont il a besoin.
McDowell et al. [22] a proposé un outil OntoSyphon qui extraie des données sur le Web
avec une ontologie : il prend l’ontologie et les pages HTML entrées, et à la sortie, il
retourne les données extraites correspondant aux classes, aux instances et aux slots de
l’ontologie. Cet outil extraie des données selon les cinq étapes : (i) identifier une classe
promise à partir de l’ontologie ; (ii) générer des phrases lexiques-syntactiques possibles
pour les instances de la classe en utilisant le traitement heuristique ; (iii) chercher dans la
page s’il y a des apparences de ces phrases, si oui, les extraire comme des instances
candidates ; (iv) répéter les phases 2 et 3 jusqu’à ce que l’ensemble cherché soit vide ; (v)
évaluer les instances candidates pour sélectionner les instances correctes de la classe.
Espinasse et al. [7] a proposé AGATHE, une architecture permettant d’extraire des
informations sur le Web en se basant sur des agents et des ontologies. Cette architecture
est basée sur le même principe d’extraction des informations que MasterWeb [10] : (i)
extraire fonctionnement des données en basant sur l’ontologie Web ; (ii) extraire

sémantiquement des données de la page Web en utilisant l’ontologie de domaine avec
des règles d’inférences en Jess. Cette architecture sera présentée plus en détails dans la
troisième section du document.
Banko et al. [3] a proposé TextRunner, un outil qui extraie des données ayant une
structure indéfinie (les informations ouvertes). Buitelaar et al. [2] a proposé SOBA, c’est
un sous composant du système SmartWeb. Liddle et al. [18] a proposé un outil qui permet
de créer et tester graphiquement l’extraction des informations sur le Web. Popov et al.
[31] a proposé un outil qui permet de générer automatiquement les annotations entiténomés avec les classes et les instances correspondantes.
L’approche d’utilisation d’ontologie en EI se caractérise ainsi :
L’extraction sémantique. Les informations sont extraites de façon sémantique en
se basant sur l’ontologie de chaque domaine. De plus, elles sont plus pertinentes
car on peut extraire une partie de texte dans la page HMTL. Cependant, les
11


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

approches syntaxiques n’extraient qu’une celle d’un tableau dans les pages
HTML.
Elle peut profiter de la déclarativité de l’ontologie. L’ontologie de domaine est
déclarative. Elle est donc ouverte et flexible ([30], [39], [42]) : on peut facilement
ajouter, éditer ou supprimer des classes, les instances et des slots d’une
ontologie.
L’indépendance. Il y a deux aspects de l’indépendance. Tout d’arbord, l’ontologie
est indépendante de la structure de la page Web et de façon dont les informations
sont présentées sur la page. Les approches de cette tendance sont donc
indépendantes de la page HTML : ses résultats ne sont pas influencés par le
changement da la structure de la page. Ensuite, l’ontologie est indépendante de
l’application. On peut donc facilement élargir le système de l’un à l’autre domaine
en remplaçant l’ontologie de domaine correspondante.

Par contre, la tendance d’utilisation de l’ontologie domaine a des difficultés dans la phase
d’inférence sur l’ontologie, par ex. WeDaX [34] utilise SOX, AGATHE [7] et MasterWeb
[10] utilisent les règles d’inférence en Jess [9].

1.4 Extraction des informations par agent
1.4.1 Agent
Un agent [32] est considéré comme une entité autonome se situant dans un
environnement spécifique, il est capable de vivre de façon autonome et flexible en
percevant et en agissant sur son environnement pour atteindre son propre but. Un agent
a quatre caractéristiques principales [41] : autonomie, réactivité, proactivité et sociabilité.
Un système multiagent [38] est un réseau des entités qui peuvent interagir pour obtenir
leurs propres objectifs, et donc, le système obtient l'objectif général. Le système
multiagent est efficace sur les applications dans les contextes suivants [26]:
Le système a besoin de communications complexes. Une communication est
considérée comme complexe si : elle a au moins deux participants et, échange
des informations entres eux se passe en plusieurs fois.
Le système doit fonctionner dans les cas où on ne peut pas prévoir ou spécifier
tout son comportement en des cas-en-cas (case-by-case).
Le système concerne la négociation, la collaboration ou la compétition entre
plusieurs entités différentes.
Le système doit fonctionner de façon autonome.
Le système est prévu qu'il y ait des changements dans le système ou que le but
du système soit changé dynamiquement.
Le système multiagent convient naturellement au problème de l’EI car, en effet, l’EI a des
12


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

caractéristiques correspondant aux contextes ci-dessus ([4], [27]):

Les sources des informations sont distribuées : elles appartiennent à plusieurs
systèmes qui se situent aux serveurs différents sur le réseau Internet.
Les sources des informations sont hétérogènes : elles sont réalisées par
personnes différentes, en temps différents et en utilisant des mécanismes et des
plates-formes différents
Les sources des informations changent dynamiquement selon le besoin de leurs
propriétés.

1.4.2 EI à base d’agent
Selon [4], un problème de l’EI n’est plus une requête simple sur la base des données, par
contre, c’est un problème divisible en plusieurs sous problèmes interdépendants.
D’ailleurs, la réponse a besoin d’être intégrée à partir de plusieurs sous systèmes. C'està-dire, on a besoin des communications complexes et de l’autonomie dans le système,
c’est un contexte efficace du système multiagent.
En effet, il y a plusieurs recherches choisissant le système multiagent comme une
solution efficace pour le problème d’EI. I. Bouslimi et al. [4] a proposé le modèle
organisationnel CIGS (Cooperative Information Gathering System), ce modèle est réalisé
en utilisant Gaia, c’est une méthode d’analyse et conception du système orientées agent.
R. Okada et al. [27] a proposé le modèle CAS (Coopreative Agents Society) pour
l’extraction d’informations à partir d’Internet. F. Freitas et al. [10] a proposé MasterWeb,
un système d’extraction des informations en basant sur l’ontologie domaine. B. Espinasse
et al. [7] a proposé AGATHE (Agent information GATHEring), une architecture permettant
d’extraire des informations sur le Web en basant sur des agents et des ontologies. L.
Sofiane et al. [36] a proposé MathNet, un système d’extraction des informations sur le
Web en basant sur les agents mobiles. T. Xiaohui et al. [43] a proposé une méthode
d’expansion des requêtes basées sur des sujets hiérarchies, c’est une solution pour le
problème d’EI. S. Cazalens et al. [5] a proposé BONOM, c’est un système multiagent pour
la recherche des informations sur le Web.
En basant sur la nature du système utilisé, on peut regrouper les recherches en trois
groupes principaux :
Utilisation d’un seul agent, par exemple MasterWeb [10]. En effet, il n’y a pas

beaucoup de système dans ce groupe car quand on n’utilise qu’un seul agent, on
ne pourra pas complètement profiter les avantages d’un système multiagent : le
partage du travail par l’interaction entre les agents et le traitement parallèle dans le
système multiagent.
Utilisation d’un système multi agent : CIGS [4], CAS [27], AGATHE [7]… Ce
groupe est le plus populaire car il profite complètement des avantages du système
multiagent. Cependant, il existe toujours un problème lié sur l’analyse et

13


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

conception du système multiagent : jusqu’à présent, il n’y a pas encore de
méthode standard et d’outil efficace qui nous aident à analyser et concevoir un
système multiagent.
Utilisation des agents mobiles, par exemple MathNet [36]. En théorique, quand on
utilise les agents mobiles, on pourra très bien s’adapter à l’environnement
distribué, hétérogène et dynamique de Internet. Cependant, quand on utilise les
agents mobiles, on devra faire attention aux droits d’accéder aux ressources du
serveur et aux problèmes sécurités sur le réseau. Ces problèmes ne sont pas
faciles à résoudre, donc les systèmes multiagent mobiles ne sont pas encore
populaires.
En résumé, le système multiagent est une solution qui semble convenable au problème
d’extraction des informations sur le Web car elle est efficace dans un environnement
distribué, dynamique et hétérogène correspondant de la nature de Internet.

1.5 Conclusion
Aujourd’hui, le problème d’extraction des informations sur le Web est de plus en plus
difficile et complexe car Internet est un environnement qui est de plus en plus distribué,

dynamique et hétérogène. Actuellement, il y a plusieurs recherches s’y intéressant et ils
ont proposé plusieurs méthodes différentes pour l’extraction des informations sur le Web.
En effet, chaque méthode a l’air efficace dans un domaine spécifique et sur des pages
particulières.
Ce chapitre a présenté l’état de l’art du problème d’EI. Le problème d’EI contient deux
types : l’EI sur le Web caché et l’EI sur le Web explicite. Généralement, l’EI sur le Web
explicite contient deux étapes : l’extraction des régions des données et l’extraction des
données sur les régions. L’extraction des régions peut être faite selon trois approches : en
se basant sur le traitement de langage naturel ; en se basant sur des marqueurs
sémantiques créés par l’utilisateur ; en se basant sur la structure de la page HTML.
L’approche basant sur la structure de la page HTML a trois tendances : en utilisant les
techniques de XML et XSLT ; en utilisant l’arbre des marqueurs (DOM) ; en utilisant
l’ontologie Web. La deuxième étape de l’EI, l’extraction des données sur les régions, a
trois tendances : en utilisant des techniques syntaxiques ; en utilisant des techniques
sémantiques basées sur l’ontologie de domaine ou en utilisant des agents.
Le chapitre suivant va présenter MatserWeb et AGATHE. Ce sont deux architectures pour
le problème d’EI. Elles composent les deux approches qui utilisent des ontologies et des
agents.

14


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Chapitre 2
MasterWeb et AGATHE
Ce chapitre va présenter deux systèmes dans le problème d’EI qui composent les deux
approches qui utilisent des ontologies et des agents : MasterWeb, un système existant
pour l’EI et AGATHE, une architecture proposée pour le problème d’EI.


2.1 MasterWeb
MasterWeb [10] est un système multiagent pour extraire des données sur Internet en se
basant sur des ontologies : “Multi-Agent System for Text Extraction and Retrieval over the
Web”. Il fait partie du projet brésilien – allemande : « A sematic approach to data
retrieval ».
Cette section va présenter MasterWeb. C’est un système multi agents qui est construit
pour l’EI. Il se compose deux approches qui utilisent des ontologies et des agents. La
section 1 va présenter généralement MasterWeb ; la section 2 va présenter l’agent
d’extraction, le cœur de MasterWeb (Pour des détails sur MasterWeb, consultez [10]).

2.1.1 Architecture et fonctionnement
L’architecture de MasterWeb a trois parties :
Chargement des pages : chercher et télécharger les pages Web à partir de
plusieurs sources différentes. Le composant principal de cette partie est le méta
moteur.
Extraction des informations : extraire des informations concernées à partir des
pages qui sont reçues par le méta moteur. C’est le cœur de MasterWeb. Le
composant principal de cette partie est l’agent d’extraction.
Fourniture des services : fournir des informations extraites aux utilisateurs ou aux
autres agents. Le composant principal de cette partie est le médiateur.
Le fonctionnement du système est illustré dans la figure 2 :
Tout d’abord, le méta moteur cherche des pages Web sur Internet en utilisant des
moteurs de recherches existant (Altavista ou Excite…). Puis, il les télécharge et
les envoie aux agents d’extraction.
Chaque agent d’extraction s’occupe d’extraire des informations dans un domaine
particulier. Il reçoit les pages Web par le méta moteur. Puis, il extraie des
informations concernées en se basant sur les ontologies (l’ontologie de domaine
et l’ontologie Web). Les informations extraites sont stockées dans une base de
données.


15


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

De côté de l’utilisateur (les utilisateurs ou les autres agents). Il peut demander des
informations dont il a besoin. Le médiateur reçoit la demande. Puis, il interroge la
base de données pour répondre à la demande.

Figure 2 : Architecture générale de MasterWeb (source [10])

2.1.2 Agent d’extraction
L’agent d’extraction s’occupe d’extraire des informations dans un domaine particulier (un
cluster). Il reçoit les pages Web par le méta moteur. Puis, il extraie des informations
concernées en se basant sur les ontologies (l’ontologie de domaine et l’ontologie Web).
Les informations extraites sont stockées dans une base de données.

Figure 3 : Agent d’extraction de MasterWeb (source [10])

L’agent d’extraction fonctionne selon quatre étapes (figure 3 [10]) :
16


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Validation : vérifier si la page Web (vers un URL) est validée. Une page est
considérée comme validée si elle satisfait les conditions : elle est accessible ; elle
est sous forme html ; elle n’est pas encore traitée précédemment.
Prétraitement : extraire pour chaque page validée, des éléments représentants la
page tels que le contenu, les titres de la page, les liens, les emails parmi d'autres

éléments. Ces données sont transmises au moteur d'inférence de l'agent.
Reconnaissance : classifier fonctionnellement la page. L’agent d’extraction vérifie
si la page s’agit d’une liste, d’un message, d’un frame ou d’une page html. Puis, il
ne traite que la page qui est vraiment en html : si la page contient des informations
concernant son cluster, elle sera transmise à la phase d’extraction. Si la page
contient des informations concernant les autres clusters, elle sera recommandée
aux agents dans les clusters correspondants.
Extraction : extraire des informations concernées en utilisant des ontologies de
domaine.

2.2 AGATHE
Cette section va présenter AGATHE. C’est une architecture pour le problème d’EI. Cette
architecture se compose aussi de deux approches qui utilisent des ontologies et des
agents. La section 1 va présenter l’objectif, l’architecture et le fonctionnement de
AGATHE ; la section 2 va présenter en détail le sous-système d’extraction, le cœur de
l’architecture AGATHE (Pour le détail sur AGATHE, consultez [7]).

2.2.1 Architecture et fonctionnement
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 [7]. 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 recherche
en considérant des regroupements de pages Web relatifs à des domaines spécifiques.

Figure 4 : L’architecture générale de AGATHE (source [7])

17


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies


Le système AGATHE contient trois sous-systèmes principaux [7] (figure 4) :
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) composé de différents « cluster d’extraction »
(CE), 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).
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.
Le fonctionnement d’AGATHE est illustré dans la figure 4, par les flèches d’interaction
numérotées entre ses différents sous-systèmes [7] :
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éta robot 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).
Ce document se concentre seulement sur le sous-système d’extraction, les autres sont
décrits détaillé dans [7].


2.2.2 Sous système d’extraction
Généralement, 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 [7].

18


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Figure 5 : L’architecture interne de SSE (source [7])

Comme le montre la figure 5 [7], chacun des clusters d’extraction est un système multiagents réalisant la classification des pages Web obtenues et l’extraction d’informations à
partir de ces pages. Les clusters d’extraction sont composés de différents types d’agents :
des agents extracteurs, des agents préparateurs, un agent superviseur, un agent de
recommandation et un agent de stockage (pour les détails, consultez [7]).

a. Agent préparateur
Chaque cluster a un ou plusieurs agents préparateurs. Ils reçoivent les pages Web en
provenance 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.

Figure 6 : Agent préparateur (source [7])

Ces agents réalisent un premier traitement, le traitement fonctionnel, des pages Web en
la séquence des tâches suivantes :
Validation : vérifier si les pages Web sont valides. C'est-à-dire si elles sont au
format HTML, elles sont accessibles, et si elles n’ont pas déjà été stockées dans


19


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

la base de données. Les pages ne vérifiant pas ces conditions ne seront pas
traitées par la suite.
Prétraitement identifiant le contenu, le titre, les liens et les emails disponibles dans
la page en utilisant des techniques issues du domaine de l’RI (Recherche
d’Informations) et éventuellement des techniques basées sur le langage naturel.
Classification fonctionnelle : Cette tâche, à base de connaissances, utilise le
moteur d’inférence Jess et exploite une ontologie définissant des concepts liés au
Web (l’ontologie Web).
La figure 6 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 pre-processing (3), soit la page est invalide et est envoyée à
l’agent stockeur (4) afin d’éviter de répéter le traitement dans le futur. La tâche de preprocessing é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 est invalide,
celle-ci est envoyée à l’agent stockeur (7).

b. Agent extracteur
Chaque cluster est aussi composé de plusieurs agents extracteurs. La tâche spécifique
de ces agents est d’effectuer une classification sémantique des pages reçues, ainsi
qu’une extraction des informations qu’elles contiennent. Chacun des agents extracteurs
est associé à un concept particulier de l’ontologie de domaine associé au cluster
d’extraction considéré.

Figure 7 : Agent extracteur (source [7])


La figure 7 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

20


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

classification sémantique (2). Les adresses des pages classifiées et les classes
auxquelles elles appartiennent, sont envoyées à l’agent stockeur (3), et à l’agent
recommandeur (4). Ensuite, l’agent extracteur réalise la tâche d’extraction d’information
des pages (5). Ces informations sont aussi envoyées à l’agent stockeur (6) et à l’agent
recommandeur (7). 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).

c. Agent recommandeur
L’agent recommandeur, illustré par la figure 8, reçoit les pages traitées par des agents
extracteurs et recommande certaines de ces pages à d’autres agents extracteurs du
même cluster ou à des agents recommandeur d’autres clusters. Pour ce dernier cas,
l’agent recommandeur a aussi connaissance d’une partie des ontologies liées aux autres
clusters que le sien.

Figure 8 : Agent recommandeur (source [7])

La figure 8 présente l’enchaînement de tâches effectuées par l’agent recommandeur. Il
reçoit l’information extraite et les pages classifiées d’agents extracteur (1), et des pages
de recommandation d’agents recommandeurs 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 recommandeurs 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 stockeur afin d’éviter tout traitement futur inutile (8).

d. 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
21


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

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.

e. Agent stockeur
L’agent stockeur est en charge de récolter les informations extraites et classifiées. Il ne
réalise pas directement l’action de stocker ces informations dans la base de données ; il
prépare le stockage. Il traite l’information qu’il reçoit afin de la conformer au format
approprié de stockage selon la structure de la base de données. Ensuite, les données
formatées sont envoyées au SSU afin d’être physiquement stockées, et de pouvoir être
exploitées par les utilisateurs.

2.3 Conclusion
Généralement, AGATHE respecte le principe du problème d’EI sur le Web explicite. Il
traite les pages Web selon deux étapes :
Traitement fonctionnel : déterminer si la page contient des données nécessaires

en utilisant l’ontologie Web et des règles d’inférence. Afin de déterminer si les
données appartiennent au domaine spécifique, il utilise aussi l’ontologie de
domaine pour cette étape.
Traitement sémantique : classifier les données dan la page sont les instances de
quelle classe dans l’ontologie domaine en utilisant l’ontologie domaine et des
règles d’inférence.
AGATHE se caractérise ainsi : les informations sont extraites sémantiquement ;
l’utilisation de l’ontologie a l’avantage de façon déclarative ; l’extraction est indépendante
de la structure de la page, indépendante du changement de façon dont la page
représente les informations, indépendante du domaine des informations.
D’ailleurs, en basant sur le système multiagent, cette architecture est efficace dans un
environnement distribué, dynamique et hétérogène correspondant de la nature de
Internet.
Ce chapitre a présenté deux systèmes d’EI qui composent les deux approches qui
utilisent des ontologies et des agents :
MasterWeb, un système existant pour l’EI avec une architecture dont la partie
d’extraction a un seul agent.
AGATHE, qui s’appuise sur MasterWeb, c’est une architecture proposée pour le
problème d’EI avec une architecture distribuée selon un système multi agents.
Les deux systèmes ont le même but d’EI. Ils utilisent les mêmes techniques : L’EI basée
sur des ontologies et des agents. Le chapitre suivant va présenter la projection de
MasterWeb à la nouvelle architecture AGATHE.

22


Rapport du stage : Collecte d’information sur le Web relatif à des domaines restreints, à base d’agents et d’ontologies

Chapitre 3
Projection de MasterWeb à AGATHE

Ce chapitre va présenter la projection du système existant MasterWeb à l’architecture
proposée AGATHE : la section 1 va présenter la spécification du problème ; la section 2
va présenter la conception de système en détail ; la section 3 va présenter la mise en
œuvre et l’évaluation de système ; la dernière section sera une petite conclusion du
chapitre.

3.1 Spécification du problème
3.1.1 Problématique
Comme la partie d’extraction de MasterWeb n’a qu’un seul type d’agent (agent
d’extraction) qui s’occupe de traiter toute la chaîne d’extraction en séquence (dans un
cluster) de la validation à l’extraction des pages Web, MasterWeb ne peut pas profiter des
avantages d’un système multiagent réel : le traitement distribué et parallèle.
Cependant, AGATHE est proposée comme une nouvelle architecture dont la partie
d’extraction est considérée comme un système multiagent : il y a plusieurs agents qui
partagent le travail de l’agent d’extraction. C'est-à-dire, chaque agent s’occupe d’une
partie de travail dans la chaîne d’extraction. Clairement, ces agents peuvent traiter des
pages Web en parallèle.
Le problème principal est que comment peut-on projeter le travail de l’agent d’extraction
de MasterWeb aux travaux des agents dans le Sous-Système d’Extraction (SSE) de
AGATHE. Il contient :
Diviser et modifier le code, la base de règles, les ontologies de agent d’extraction
de MasterWeb aux ceux des agents dans le SSE de AGATHE.
Définir et implémenter les protocoles, les messages pour la communication entre
les agents dans le SSE de AGATHE.
Reconstruire la base de données de MasterWeb pour s’adapter au nouveau
système AGATHE.
Les sections suivantes vont présenter en détail la façon dont on résout le problème.

3.1.2 Spécification générale
La figure 9 illustre la spécification générale du SSE/ les rectangles sont agents, les arcs

sont protocoles entre les agents. Le SSE contient cinq types d’agent :
Agent superviseur : Il supervise l’activité des agents préparateurs. Il reçoit les

23


×