, ; (ii) TIEU LUAN MOI download : skknchat@gmail.com 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 chnes caractères ([17], [44]) ; en calculant la coïncidence entre les chnes 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 appart 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 TIEU LUAN MOI download : skknchat@gmail.com Rapport du stage : Collecte d’information sur le Web relatif des domaines restreints, base d’agents et d’ontologies Publication » Elle appart 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 chne 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 chne 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com ... 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... 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... 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