Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,05 MB
Nội dung
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 Résumé Abstract Introduction Chapitre Problème d’extraction des informations 1.1 Extraction des informations sur le Web 1.1.1 Détermination des régions 1.1.2 Extraction des informations sur les régions 1.2 Utilisation de la syntaxe des marqueurs 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 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 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 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 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 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 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 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 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 va présenter la réalisation AGATHE partir de MasterWeb : appliquer l’architecture AGATHE au système MasteWeb ; la dernière section serra conclusion Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Chapitre 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 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 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 , ; (ii) 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 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies saveURL() : sauvegarde les informations extraites 3.3.4 Les messages Les messages échangés sont créés selon le standard de FIPA Chaque message a tous les attributs comme un message standard de FIPA dont les attributs performative, conversationID et content sont utilisés souvents Par exemple, le message qui vient de l’agent Préparateur l’agent Extracteur pour informer qu’une page est validée a des attributs suivants (les autres messages sont décrits en annexe A): performative : INFORM conversationID : VALID_PAGE contenu : une instance de la classe ValidPage (le prototype en annexe C) 3.3.5 La base de données En se basant sur la base de données de MasterWeb, on garde les tables : cfp_error_notrec, cfp_preference, cfp_profile, cfp_queries, cfp_statistics, cfp_engines Figure 23 : Les relations dans la BD On modifie les trois tableaux cfp_rec, cfp_errors, cfp_notrec : au lieu d’utiliser l’attribut url, on utilise l’attribut url_id car on va ajouter une table pour tenir des URLs On ajoute les nouvelles tables : la table cfp_pages pour garder les composants découpérés de la page La table cfp_infos pour garder les informations extraites La table 38 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies cfp_urls tient les URLs La table cfp_agents garder les informations des agents La table cfp_classes tient les classes classifieés La table cfp_clusters tient les clusters La table cfp_cluster_class décrit la relation multi-multi entre la classe et le cluster Les relations entre les tables sont illustrées dans la figure 23 Les détails sur les tables sont décrits en annexe B 3.4 Mise en œuvre 3.4.1 Contexte de teste Le domaine de teste : événement scientifique (dont un cluster) Le nombre de pages testées : 310 La plateforme de teste : JADE 3.4, Eclipse 3.1, Java SDK 1.5.1 L’environnement distribué : réseau local (100Mb/s), L’ontologie utilisé : CFP (Call for papers), il est manipulé sous Protégé Le moteur d’inférence des règles : Jess L’ensemble des agents : un Préparateur, un Extracteur, un Stockeur (du cluster événement scientifique) Chaque agent est lancé sur une machine différente 3.4.2 Résultat a Classification fonctionnelle Le résultat reçu par la phase de classification fonctionnelle : MasterWeb AGATHE Correct Incorrect Correct Incorrect Invalidé 96 96 Refusé 21 21 Liste 25 12 25 12 Message 41 41 Recommandé 16 16 Classifié 81 81 280 (90.32%) 30 (9.68%) 280 (90.32%) 30 (9.68%) Total Les résultats de AGATHE et de MasterWeb sont identiques car tous les deux systèmes prennent le même processus d’extraction, la même base de faits, la même base de 39 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies règles, la même base de teste En théorique, comme AGATHE a plusieurs agents qui peuvent traiter en parallèle, cependant MasterWeb n’a qu’un seul agent d’extraction qui s’occupe tout le processus d’extraction, on espère que AGATHE traite plus rapide que MasterWeb En effet, la vitesse de traitement n’est pas déterminée précisément car le temps de traitement quand plusieurs agents partagent un serveur (centralisé) est tout faire différent de celui quand chaque agent se situe sur un serveur (distribué) En outre, on a un problème de conflit entre les agents utilisant le moteur d’inférence s’ils sont miss sur la même machine On ne peut pas encore déterminer le temps de traitement dans le car centralisé b Extraction sémantique Les informations extraites sont tenues par les instances de la classe Slot-Found qui a les slots suivants (figure 24) : Figure 24 : Les slots de la classe Slot-Found L’utilisateur s’intéresse aux slots principaux : Slots-of-Web-Page: représente le slot de la classe Web-Page dans lequel l’instance a été trouvé Values: représente le contenu qui apparaît dans la page Start-Position: le point départ de la valeur Slot-in-Process: représente le slot de la classe auquel l’instance corresponds Voici quelques instances trouvées dans une page (figure 25) en utilisant l’ontologie de domaine d’événement scientifique Par exemple, avec l’instance 17 dans la figure 26, on a trouvé la valeur « papers » : c’est une instance de la classe « Event40 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Publication » Elle apparaît la place du caractère 8008ème dans le slot «LowercaseContents » de la classe Web-Page La permière ligne signifie que la page est classifiée : elle appartient la classe « Conference » (figure 26) Figure 25 : Une page classifier et extraire … classified class Conference … Extracteur : ========================= instance :17 :Slots-of-Web-Page: Slot(Lowercase-Contents) :Values: "papers" :Start-Position: 8008 :Slot-in-Process: Slot(Event-Publication) … Extracteur : ========================= instance :23 :Slots-of-Web-Page: Slot(Lowercase-Contents) :Values: "submission" :Start-Position: 4932 :Slot-in-Process: Slot(Deadline) … Extracteur : ========================= instance :30 :Slots-of-Web-Page: Slot(Lowercase-Contents) :Values: "program committee" :Start-Position: 764 :Slot-in-Process: Slot(Program-Committee) … Figure 26 : Le résultat de classification et d’extraction 41 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies 3.4.3 Perspectives La première version du système AGATHE est limitée dans la partie d’extraction, dans un seul domaine (un seul cluster) avec une topologie : un Préparateur, un Extracteur et un Stockeur A l’avenir, on va élargir le système par : Valider le système avec plusieurs extracteurs, plusieurs préparateurs dans un même cluster Réaliser la partie d’extraction avec tous les cinq types d’agent dans le SSE Réaliser le système avec tous les trois sous systèmes : SSR, SSE et SSU Appliquer le système plusieurs domaines différents (plusieurs clusters différents) En particulier, résoudre le problème de conflit quand plusieurs agents utilsant le moteur d’inférence sont miss sur la même machine 3.5 Conclusion Ce chapitre a présenté la première version de la projection du système MasterWeb l’architecture AGATHE Elle est limitée dans la partie d’extraction dans un seul domaine de « événement scientifique » (agent « Call for Papers »), le cœur des systèmes d’EI Déterminé et analysé le problème de projeter de l’agent d’extraction de MasterWeb au sous système d’extraction de AGATHE Réalisé le système, en particulier le sous système d’extraction de AGATHE dont les trois agents Préparateur, Extracteur et Stockeur sont priorités, sur la platforme JADE Le système réalisé est encore limité en trois agents du SSE En outre, il n’est pas encore validé En avenir, il peut être élargi pour plusieurs agents qui peuvent traiter parallèle dans le même cluster, pour tous les agents dans le SSE, pour tous les trois sous systèmes de AGATHE et pour plusieurs clusters correspondant aux plusieurs domaines différents 42 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Conclusion Le problème d’EI est de plus en plus complexe dans le contexte de Internet où les informations augmentent très vite et les sources d’information sont hétérogènes Elles sont créées par des personnes différentes, pour des buts différents et sous des structures différentes Plusieurs approches différentes sont proposées pour résoudre le problème 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 MasterWeb et AGATHE sont deux des systèmes qui extraient des informations dans des domaines restreints sur le Web en se basant sur des agents et des ontologies En effet, MasterWeb est un système d’EI dont la partie d’extraction a un seul agent qui s’occupe toutes les étapes dans la chaîne d’extraction Cependant, AGATHE est une architecture proposée pour le système d’EI dont la partie d’extraction est un sous système multiagent dans lequel chaque agent s’occupe d’une partie de travail dans la chaîne d’extraction Le problème principal est d’appliquer l’architecture AGATHE au système MasterWeb Particulièrement, on a besoin de transférer le travail de l’agent d’extraction dans MasterWeb aux travaux des agents dans le sous système d’extraction de AGATHE Ce document a présenté la réalisation de AGATHE partir du système MasterWeb sur la platforme JADE : avoir déterminé le travail de chaque agent dans le SSE de AGATHE par rapport MasterWeb ; avoir divisé et modifié le codage de l’agent d’extraction dans MasterWeb aux ceux des agents dans SSE de AGATHE ; avoir défini des protocoles concrètes entre les agents dans SSE ; avoir modifié la base de données pour s’adapter la nouvelle architecture Le système réalisé est encore limité en trois agents du SSE En outre, il n’est pas encore validé A l’avenir, le système sera validé et puis, il peut être élargi pour plusieurs agents qui peuvent traiter parallèle dans le même cluster, pour tous les agents dans le SSE, pour tous les trois sous systèmes de AGATHE et pour plusieurs clusters correspondant aux plusieurs domaines différents 43 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Bibliographie [1] J Ambite and C Knoblock Agents for information gathering In Software Agents Bradshaw, J (ed.), MIT Press, Pittsburgh, PA, USA, 1997 [2] P Buitelaar, P Cimiano and S Racioppa Ontology-based Information Extraction with SOBA In: Proc of LREC06, Genoa, Italy, May 2006 [3] M Banko, M.J Cafarella, S Soderland, M Broadhead and O Etzioni Open Information Extraction from the Web Proc of the International Joint Conference on Artificial Intelligence (IJCAI), 2007 [4] I Bouslimi, K Ghedira and C Hanachi An agent-based organizational model for cooperative information gathering In : Signal-Image Technology & Internet Based Systems (SITIS 2006), Hammamet, Tunisia, 17/12/06-21/12/06, IEEE, p 414-424, décembre 2006 [5] S Cazalens, E Desmontils, C Jacquin and P Lamarre BONOM : un système MultiAgents pour la recherche d'informations sur Internet dirigée par la connaissance Complément aux actes des journées francophones d'ingénierie des connaissances (IC'2000), Toulouse, 10-12 mai 2000, pp 57-58 [6] V Crescenzi, G Mecca and P Merialdo Roadrunner: Towards automatic data extraction from large Web sites Technical Report n RT-DIA-64-2001, D.I.A., Universit a di Roma Tre, 2001 [7] B Espinasse, F Freitas and S Fournier AGATHE: an Agent and Ontology based System for Restricted-Domain Information Gathering on the Web IEEE-RCIS, Research Challenges in Information Sciences, 23-26 April, Ouarzazate, Marocco, 2007 [8] L Eikvil Information extraction from the world wide Web: a survey Technical Report 945, Norwegian Computing Center, 1999 [9] H Eriksson Using JessTab to Integrate Protégé and Jess IEEE Intelligent Systems, 18(2):43-50, 2003 [10] F Freitas and G Bittencourt An Ontology-Based Architecture for Cooperative Information Agents IJCAI, 2003 [11] N Georgiev, J.M Labat, J.L Minel and L Nicolas Extraction de données partir de pages HTML par création semi-automatique de règles XSLT Congrès IC 2003, p117127 [12] H Guo and A Stent Taxonomy Based Data Extraction from Multi-item Web Pages Workshop on Web Content Mining with Human Language Technologies at the ISWC'06, 2006 [13] D Hérin, B Espinasse, E Andonoff and C Hanachi Des systèmes d’information coopératifs aux agents informationnels In Ingénierie des systèmes d’information, C.Cauvet, C.Rosenthal-Sabroux, Hermès 2001 [14] JADE, JADE tutorial http://jade.tilab.com [15] JESS, http://hezberg.casandia.gov/jess [16] S.W Liddle, D.W Embley, D.T Scott and S.H Yau Extracting Data Behind Web Forms Proceedings of the Workshop on Conceptual Modeling Approaches for e-Business, 44 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Tampere, Finland, October, 2002 [17] B Lui, R Grossman and Y Zhai Mining Data Records in Web Pages Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD-2003), Washington, DC, USA, August 24 - 27, 2003 [18] S.W Liddle, K.A Hewett and D.W Embley An Integrated Ontology Development Environment for Data Extraction Proceedings of Information Systems Technology and its Applications, International Conference ISTA'2003, Kharkiv, Ukraine, June 1921, 2003 [19] K Lerman, C Knoblock and S Minton Automatic data extraction from lists and tables in Web sources In Automatic Text Extraction and Mining workshop (ATEM-01), IJCAI01, Seattle, WA, USA, August 2001 [20] J.P Lage, A.S da Silva, P.B Golgher and A.H.F Laender Automatic generation of agents for collecting hidden Web pages for data extraction Data Knowl Eng 49(2): 177-196 (2004) [21] S.W Liddle, S.H Yau and D.W Embley On the Automatic Extraction of Data from the Hidden Web Proceedings of the International Workshop on Data Semantics in Web Information Systems (DASWIS-2001), Yokohama, Japan, 27-30 November 2001 [22] L McDowell and M Cafarella Ontology-driven Information Extraction with OntoSyphon Fifth International Semantic Web Conference (ISWC 2006), November 2006 [23] L Ma, N Goharian and A Chowdhury Automatic Data Extraction from Template Generated Web Pages Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA '03, June 23 - 26, 2003, Las Vegas, Nevada, USA, Volume [24] X Meng, D Hu and C Li Schema-guided wrapper maintenance for Web-data extraction Fifth ACM CIKM International Workshop on Web Information and Data Management (WIDM 2003), New Orleans, Louisiana, USA, November 7-8, 2003 [25] J Myllymaki Effective Web data extraction with standard XML technologies In Proc of the Tenth International World Wide Web Conference, WWW10, pp 689 696, Hong Kong, China, May 2001 [26] S.A O’Malley and S.A DeLoach Determining When to Use an Agent_Oriented Software Engineering Paradigm Proceedings of the Second International Workshop On AgentOriented Software Engineering(AOSE 2001), Montreal, Canada, May 29th 2001 [27] R Okada, E-S Lee and N.Shiratori Multimedia Information Gathering based on a Society of Cooperative Agents International Conference on Multimedia and Networking (MmNe'96), pp.86-95, Oct, 1995 [28] H Ouahid and A Karmouch An XML-Based Web Mining Agent Proceeding of MATA’99, Ahmed KARMOUCH and Roger IMPEY eds., World Scientific, Ottawa, 1999 [29] B Omelayenko Learning of ontologies for the Web: the analysis of existent approaches In Proceedings of the International Workshop on Web Dynamics, 2001 [30] H.D Pfeiffer and R.T Hartley Visual CP Representation of Knowledge In Supplimental Proceedings of the 8th International Conference On Conceptual Structures, Darmstadt, Germany, 2000 45 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies [31] B Popov, A Kiryakov, D Ognyanoff, D Manov, Al Kirilov and M Goranov Towards semantic Web information extraction In proceedings of ISWC, Sundial Resort, Florida, USA, October, 2003 [32] M Saywell Negotiation Agents: An Overview In: Multimedia Systems Coursework, Dept of Electronics and Computer Science, UK, 2000 [33] H Snoussi, L Magnin and J-Y Nie Heterogeneous Web data extraction using ontology The AI-2002 Workshop on Business Agents and the Semantic Web, Calgary, may 2002 [34] H Snoussi, L Magnin and J-Y Nie Toward an Ontology-based Web Data Extraction The AI-2002 Workshop on Business Agents and the Semantic Web (BASeWEB) held at theAI 2002 Conference (AI-2002), Calgary, Alberta, Canada, May 26, 2002 [35] M Sintek, M Junker, L.V Elst and A Abecker Using Information Extraction Rules for Extending Domain Ontologies Position Statement for the IJCAI-2001 Workshop on Ontology Learning, 2001 [36] L Sofiane and N.H Perrreira Mobile Agents for Information Extraction in the MathNet System In: International Conference Frontieres in Education, Boston, 2002 [37] O Svab, V Svatek and M Labsky Types and Roles of Ontologies in Web Information Extraction In: ECML/PKDD04 Workshop on Knowledge Discovery and Ontologies, Pisa, 2004 [38] K.P Sycara Multiagent Systems AI Magazine, vol 10, n°2, pages 79-93, 1998 [39] F Villa Declarative modeling for architecture independence and data/model integration: a case study In: 3rd Biennial meeting of the International Environmental Modelling and Software Society (iEMSs 2006), The Wyndham Hotel, Burlington, Vermont, USA, July 913, 2006 [40] A Wessman, S.W Liddle and D.W Embley A Generalized Framework for an OntologyBased Data-Extraction System Information Systems Technology and its Applications, 4th International Conference ISTA'2005, Palmerston North, New Zealand, 23-25 May, 2005 [41] M Wooldridge and N.R Jennings Inteliigent Agents: Theory and Practice The Knowledge Engineering Review, 10 (2), pages 115-152, 1995 [42] L Xu, D.W Embley and Y Ding Combining Declarative and Procedural Knowledge to Automate and Represent Ontology Mapping SemWAT 2006 - 1st International Workshop on Semantic Web Applications: Theory and Practice, April 2006, pp 395404 [43] T Xiaohui, K John and L Yuefeng Information fusion with subject-based information gathering method for intelligent multi-agent models In Proceedings The 7th international conference on Information Integration and Web Based Applications & Services (iiWAS2005), pages pp 861-869, Kuala Lumpur, Malaysia, 2005 [44] L Yi, B Lui and X Li Eliminating Noisy Information in Web Pages for Data Mining Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD-2003), Washington, DC, USA, August 24 - 27, 2003 46 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Annexe A Les messages Message : une page invalidée Départ de l’agent Préparateur l’agent Stockeur performative : INFORM conversationID : INVALID_PAGE contenu : une instance de la classe InvalidPage Message : une mauvaise page Départ de l’agent Préparateur l’agent Stockeur performative : INFORM conversationID : BAD_PAGE contenu : une instance de la classe BadPage Message : une page refusée Départ de l’agent Préparateur l’agent Stockeur performative : INFORM conversationID : REJECTED_PAGE contenu : une instance de la classe RecommandedPage Message : une page validée Départ de l’agent Préparateur l’agent Extracteur performative : INFORM conversationID : VALID_PAGE contenu : une instance de la classe ValidPage Message : des informations statistiques Départ de l’agent Préparateur l’agent Stockeur performative : INFORM conversationID : STATISTIC contenu : une instance de la classe Statistic Message : des informations extraites Départ de l’agent Extracteur l’agent Stockeur performative : INFORM conversationID : INFORMATION contenu : une instance de la classe Information Message : des informations d’une page Html Départ de l’agent Préparateur l’agent Stockeur performative : INFORM conversationID : RECOGNIZED_PAGE contenu : une instance de la classe Page Message : une confirmation performative : CONFIRM 47 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies conversationID : CONFIRMATION contenu : nulle // facultatif B Les tables de la BD a cfp_urls Cette table contient des attributs : url_id : number // l’identification de URL url_name : varchar // le nom complet de URL b cfp_pages Cette table contient des attributs : url_id : number // référence vers le cfp_urls.url_id host : varchar // l’adresse du hôte port : number // le numéro du port protocol : varchar // le protocole utilisé content_type : varchar // le type du contenu page_date : Date length : number // la taille du corps de la page title : varchar // le titre da la page description : varchar // la description da la page meta_keyword: varchar // la date de création // la liste des mots clés summary: varchar // la résumé du contenu content: varchar // le contenu de la page content_without_tag: varchar // le contenu sans les marqueurs content_without_line: varchar // le contenu sans ligne email: varchar // les emails dans la page term_in_sequence : varchar // les termes apparues en séquence dans la page link : varchar // les liens apparus dans la page term : varchar // les termes apparues dans la page c cfp_infos Cette table contient des attributs : id : number // l’identification de l’objet url_id : number // référence vers le cfp_urls.url_id start_position : number content : // le point débutant de l’objet varchar // le contenu de l’objet d cfp_agents Cette table contient des attributs : agent_id : number // l’identification de l’agent cluster_id number // référence vers le cfp_clusters.cluster_id agent_type : number // le type de l’agent name : varchar // le nom complet de l’agent 48 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies adresse : varchar // l’adresse de l’agent e cfp_classes Cette table contient des attributs : classe_id : number // l’identification de la classe reconnue name : varchar // le nom de la classe e cfp_clusters Cette table contient des attributs : cluster_id : number // l’identification du cluster name : varchar // le nom du cluster f cfp_cluster_class Cette table contient des attributs : cluster_id : number // référence vers le cfp_clusters.cluster_id class_id : number // référence vers le cfp_class.class_id C Prototypes C.1 Prototype des agents Préparateur public class Preparateur extends Agent{ protected void setup(); Connection openDB(); void openRete(String fileName); // le nom du fichier contenant des règles } public class PrepaProcessor_Behaviour extends CyclicBehaviour{ public void action(); } public class PrepaAnalyze_Behaviour extends OneShotBehaviour{ public void action(); public Vector processInfo( int source, // le numéro de la source int id_source, // l’identification de la source String url, // l’adresse de la page Vector vx); // des paramètres de la page public boolean verifyDB( String url, // l’adresse de la page URLConnection ulc); // la connexion ver la base des données } Extracteur public class Extracteur extends Agent{ protected void setup(); 49 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies void openRete(String fileName); // le nom du fichier contenant des règles } public class ExtraProcessor_Behaviour extends CyclicBehaviour{ public void action(); } public class ExtraAnalyze_Behaviour extends OneShotBehaviour{ public void action(); public Vector processInfo( int source, // le numéro de la source int id_source, // l’identification de la source String url, // l’adresse de la page Vector vx); // des parameters de la page public void treatLinksToSend( int id_source, // l’identification de la source int status // l’état de la classification sémantique Fact mainFact); // les informations classifiées Vector extractRelevInform( Fact mainFact) ; // les informations classifiées } Stockeur public class Stockeur extends Agent{ protected void setup(); Connection openDB(); } public class StockProcessor_Behaviour extends CyclicBehaviour{ public void action(); } public class StockAnalyze_Behaviour extends OneShotBehaviour{ public void action(); public void saveURLwError( URLConnection ulc, // la connexion ver la BD String url, // l’adresse de la page Int codErr); // le type d’erreur public void saveURLbadLink( String url, // l’adresse de la page int codErr); // le type d’erreur public void saveStatistics( int source, // le numéro de la source int id_source, // l’identification de la source int result, // le type de résultat int cause) ; // la cause du résultat public void saveNotRec( URLConnection ulc, // la connexion ver la BD String url, // l’adresse de la page Int codErr); // le type d’erreur public long saveURL( URLConnection ulc, // la connexion ver la BD String url, // l’adresse de la page Vector infRelev); // les informations extraites } 50 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies C.2 Prototype de contenu des message Cette section va présenter les classes qui encapsulent les informations échangées entre les agents InvalidPage { HttpURLConnection ulc; // la connexion vers la page String nameUrl ; // l’adresse url de la page int constat ; // le type d’erreur } BadPage { String nameUrl, // l’adresse url de la page int constat // le type d’erreur } RecommandedPage { HttpURLConnection ulc; // la connexion vers la page String nameUrl, // l’adresse url de la page int rule // la règle utilisée ou recommandée } Statistic { int source; // la source de la page int idSource; // l’identification de la source int status; // l’état de la page int constat; // le type de résultat } ValidPage { String url; // l’url de la page HttpURLConnection ulc; // la connexion vers la page String nameUrl; // le nom complet de la page int idSource; // l’identification de la source Page pageContent; // le contenu de la page Monitor monitor; Keyword keyword; Frequency frequency; Link link; LinkText linkText; SlotFound slotFound; } Page { String protocol; String contentType; String pageDate; int length; String host; int port; String title; String description; String metaKeyword; String sumary; String content; String lowercaseContent; String contentWithoutTag; String lowercaseContentWithoutTag; String lowercaseContentWithoutLine; String email; 51 Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies String String String String termInSequence; lowercaseTermInSequence; link; term; String int String pageStatus; recognitionRule; urlInProcess; } Monitor { } Keyword { String } Frequency { String } Link { String } LinkText { String } value; intValue; value; value; SlotFound { String instanceValue; } Information { HttpURLConnection ulc; String nameUrl; String classe; ExtractInfor content; } ExtractInfor { String slotInProcess; String value; String slotOfWebPage; int startPosition; String status; String extractorInstance; } // la connexion vers la page // l’adresse url de la page // le nom de la classe de la page // les informations extraites 52 [...]... 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... 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. .. 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... 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... 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. .. 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... 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... 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... 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...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