Dérivation automatique d'ontologie Université de Versailles Saint-Quentin-en-Yvelines Orange Labs Ivan Bedini Pr. Georges Gardarin - Laboratoire PRiSM, Université de Versailles, Directeur de thèse Dr. Benjamin Nguyen - Laboratoire PRiSM,, Université de Versailles, Co-directeur Dr. Thierry Bouron - Orange Labs, Co-directeur 15 Janvier 2010, Soutenance de thèse
sommaire partie 1 : Contexte et motivations 1.1 Les échanges B2B problèmes et limitations 1.2 Adoption des Ontologies : quoi et comment partie 2 : Contributions 2.1 Analyse des systèmes existants 2.2 SDMO 2.3 XML Mining 2.4 Janus 2.5 Evaluations partie 3 : Conclusion et perspectives 2
1.1 Les échanges B2B : problèmes et limitations 3
Scénario classique d'un échange B2B Acheteur Fournisseur $$$ Interface interne Interface externe Interface commune Interface externe Interface interne Mapping Mapping / Harmonization Mapping 4
Different semantics m:n matching? Structural Different semantics Mandatory without match Code vs. string 5
Different semantics m:n matching STAR? Structural ebxml Different semantics Mandatory without match Code vs. string 6
Spécification des normes B2B Nous avons analysé plus de 40 standards Les documents définis sont pour la plupart : Dictionnaire de données, Messages, Description des interfaces de Services Web, processus d'affaire, liste de codes et messages EDIFACT Formats : De facto Schéma XML (XSD). EDIFACT est de moins en moins ciblé dans les nouveaux projets Aucun consortium ne propose encore d'ontologie 7
Énoncé du problème A partir d un grand nombre de schémas XML il est possible de déduire automatiquement une représentation sémantique commune qui: i) améliore les performances des systèmes d'alignement et d'identification des correspondances ii) peut être réutilisée pour générer dynamiquement des ontologies 8
1.2 Adoption des Ontologies : quoi et comment 9
Approche Hohpe suggère d'introduire un Canonical Data Model afin de minimiser les dépendances lors de l'intégration des applications, mais aucun CDM n'est encore formalisé. [Hohpe03] Nous proposons de générer des ontologies servant de modèles canoniques 10
Ontologie : plus formellement Une ontologie o est au moins un 5-tuple o = < C, R, I, D, > C est l'ensemble des classes ou des concepts R est un ensemble de relations I est l'ensemble d'instances de classes (également appelé les individus) D est l'ensemble des types de données est une relation binaire sur les entités appartenant à C, R et D, appelée spécialisation 11 Axiomes : des affirmations sous une forme logique qui forment ensemble la théorie générale que l'ontologie décrit dans son domaine d'application. Fournisseur Entreprise aclient.entreprise
Ontologie : plusieurs types 4 niveaux d'ontologie Top-level (upper) ontology Domain ontology Task ontology Application ontology [Guarino98] 12
2.1 Analyse des systèmes de génération automatique d'ontologie 13
Génération automatique d'ontologie : cycle de vie Structurés (e.g. ontologies) Semi-structurés (e.g. XML) Non-structurés (e.g. texte) 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 14
Génération automatique d'ontologie : cycle de vie Responsable de l'acquisition des informations (concepts, attributs, relations et axiomes) Gère les différents formats du corpus 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 15
Génération automatique d'ontologie : cycle de vie Réalise l'appariement et l'alignement des sources 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 16
Génération automatique d'ontologie : cycle de vie Réalise la fusion / intégration, le cas échéant Transforme le format spécifique du système dans un langage ontologique (e.g. OWL) 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 17
Génération automatique d'ontologie : cycle de vie Gère le versionnement classique Gère l'intégration dynamique de nouvelle connaissance 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 18
Génération automatique d'ontologie : cycle de vie Vérifie chaque étape Contrôle de cohérence automatisable Souvent manuelle et/ou assistée 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 19
Génération automatique d'ontologie : cycle de vie Indispensable pour une exécution correcte du processus (e.g. dictionnaires, ontologie de haut niveau, le Web, ) 4. Evolution Base(s) de connaissance externe/référence Sources 1. Extraction de l information 2. Analyse 3. Génération Regroupement vérifications Sélection, détection Résultat des matchings Inférence, cohérence 5. Validation 20
Analyse de systèmes existants 21 systèmes centrés sur la génération automatique d ontologies : Définir des axes de catégorisation de ces outils Évaluer les systèmes selon toutes les étapes du cycle de vie Évaluer le degré d automatisation des outils Trouver la meilleure solution pour notre cas d'utilisation 21
Catégorisation des systèmes Conversion ou traduction directe Entrée : documents structurés (e.g. XML, XSD, UML, etc.) Sortie : langage ontologique (e.g. OWL) Haut niveau d'automatisation mais limitée à la tâche de génération Ressource Externe Problèmes : Trop lié à la ressource adoptée Ontologies supérieures pas suffisamment détaillées 22
Catégorisation des systèmes Modèle intermédiaire Avantage : Approche flexible par rapport au nombre de sources Inconvénient : Double transformation et risque de perte d'informations non gérées par le modèle Framework 23 Avantage : Permet de gérer toutes les étapes du cycle de vie Inconvénient : L'intégration des modules reste souvent humaine
Observations générales sur l'automatisation Sources multiples en entrée est une question ouverte Extraction produit des résultats exploitables, mais actuellement focalisée sur les sources textuelles Matching et alignement sont les plus difficiles à réaliser Evolution rarement implémentée et pas dynamique Validation principalement humaine Ressources externes sont rares et pas adéquates WordNet ressource essentielle (dictionnaire, thesaurus, relations, référence, ) Web intégration complexe et inexploitable 24
Le Matching process (opération d'appariement) L'opération d'appariement regroupe l'ensemble des fonctions qui recherche les correspondances entre deux ou plusieurs sources d'entrée. Problème : la fonction de recherche de correspondances agit sur un couple d'entités à la fois, indépendamment du nombre des sources à comparer Conséquence : C est une des causes majeures du temps de calcul Idée : C est une opération générique, donc réutilisable, dans le processus global de génération d'ontologies optimisation possible 25
2.2 Définition d'un Modèle Sémantique Intermédiaire (SDMO) 26
Semantic Data Model for Ontologies (SDMO) SDMO : modèle dynamique orienté objet enrichi de méta-associations spécifiant la nature des similarités Préserve les informations propres au processus de matching Fournit une interface de détection des correspondances efficace Fournit une connaissance ontologique Traduction complète du modèle vers OWL Expressivité de l'ontologie déductible : SHOINF(D) Déf. : (Concept SDMO) Un concept est l'élément de base SDMO et se définit comme un 4-tuple c = < l, R, S, f > 27 l est un ensemble de mots, simples ou composés, qui représente le mieux le nom du concept. R est l'ensemble des relations et métarelations entre les concepts S est l'ensemble des instances originaires d'un concept (à ne pas confondre avec les individus OWL) f est une mesure de fréquence et / ou de rank
SDMO : les relations Types de relations entre les concepts Sémantiques Structurales Syntaxiques (linguistiques) Sources Datatype Synonym Property Lattice of Properties Is a Structure Concept Semantic Lattice of Shared Terms RelatedTo N-Gram Stem Syntax Source Instance Abbreviation 28
SDMO : relations sémantiques Un système basé sur des treillis de Galois et la mesure de la fréquence Détection des affinités sémantiques entre les noms des concepts Upper nodes Lower nodes 29
SDMO : treillis des propriétés Relations structurelles sont basées sur un treillis de Galois où les extents sont représentés par les concepts et les intents par les propriétés. 30
SDMO : réseau de similarité Mélange des relations structurelles, morphologiques et sémantiques Moyen pratique pour stocker et maintenir une information véridique aussi concise que possible. Les correspondances sont générales, valides et indépendantes du contexte d'utilisation spécifique. 31
2.3 XML Mining : extraction de la connaissance à partir des schémas XML 32
XML Mining Fournit l'extraction de la connaissance nécessaire pour générer l'ontologie (concepts, propriétés et relations). Techniques appliquées: NLP - morphologique et analyse lexicale Association-mining - calcul des fréquences des termes (TF) et des règles d'association Sémantique - principalement pour détecter synonymie et possible homonymie Treillis de Galois - regroupement sémantique et structurel de concepts similaires 33
XML Mining : analyse des balises AttributeGroup 1% Group 1% Corpus B2B composé de : 25 standards 3432 fichiers XSD +586.000 composants XML +170.000 nommées 19 composants XML considérés Attribute 13% All 0% Choice 1% Sequence 5% Any 0% Appinfo 9% Restriction 5% Extension 2% Union 0% Element 24% Extraction des composant XML Documentation 27% SubstitutionGroup 0% Include 1% Import 0% Complex Type 6% Simple Type 5% SimpleContent ComplexContent 1% 1% [XSD construct] XML2OWL OWLMAP All Annotation Any Appinfo Attribute AttributeGroup Choice Complexcontent ComplexType Documentation Element Extension Group Import Include Restriction Sequence SimpleContent SimpleType SubstitutionGroup Union List Min/Max Occurs Namespace LDM Janus 34
XML Mining : quelques figures de termes extraites Le 85% des termes composant les tags XML est reconnu et utilisé pour générer un premier vocabulaire contrôlé du domaine et correspond à seulement ~3000 mots FpML 2% IFX 3% Acord 3% OTA 6% X12 3% einvoice AT 0% ebxml 7% STAR 6% OAGIs 3% AdsML 1% Etso 0% UBL 1% BME Cat 0% Arts 8% Twist 1% papi Net 2% EDI France 1% Abréviations 24120 (14%) Termes inconnus 25041 (15%) GS1 3% HR-XML 8% AgXML 1% Tags reconnus 121420 (71%) FIX 2% CIDX 2% ISO 20022 4% Mismo 34% PIDX 1% 35
36 XML Mining : génération d'un vocabulaire de domaine Déduction d'un vocabulaire commun de domaine L'incrément du nombre de mots réduit considérablement avec l'ajout de nouveaux standards 100,00% 100,00 89,86% 120,00% 100,00% 60,22 58,95 59,21 80,00% 45,28% 35,90 2,30% 11,57 4,28% 30,25 0,19% 28,31 2,71% 3,13 13,50 1,61% 20,83 2,69%13,92% 21,08 10,94 1,76% 5,11% 0,64% 28,11 6,21% 7,84 2,99% 8,31 1,42% 6,06 5,69 17,18 1,44% 60,00% % 4,85% 11,65% 0,35% 5,75% 7,48% 9,26 9,13 0,39% 12,65 6,74 40,00% 1,58% 1,88% 20,00% 0,00% X12 UBL OAGIS ACORD GS1 FIX ARTS FpML ETSO CIDX OTA IFX ISO20022 TWIST HR-XML ebinterface AdsML ebxml PapiNet PIDX STAR AgXML MISMO einvoice AT ebxml STAR OAGIs AdsML Etso X12 Twist papinet edifrance GS1 Mismo PIDX ISO 20022 CIDX FIX AgXML HR-XML Arts BME Cat UBL OTA Acord IFX FpML
XML Mining : représentativité des termes 170.000 balises XML 3342 mots +90 % des occurrences sont présentes dans au moins 4 standards 2% des mots (~ 60) couvrent 40% des occurrences totales 40% des mots (~ 1400) sont utilisés par une seule norme Les mots présents dans un seul standard sont spécifiques un secteur d'activité (e.g. hôtel, voyage, voiture, fumeur, policier, scanner, hygiénique, moléculaire ) 100000 <nom> <emprunteur> 10000 <identifiant> <hotel> Frequence 1000 100 <adresse> 10 37 <golf> (GolfCourse) 1 0 5 10 15 20 25 30 Attendance (nombre <fourmi> de standards) (ClosingInstructionsTermiteReportRequiredIndicator)
2.4 Janus : automation de la génération d'ontologie 38
Janus : architecture globale Janus : prototype Java permettant la génération automatique d'un premier squelette d'ontologie à partir de sources XSD Met en œuvre une approche de matching complexe Réalise les étapes d'extraction, Analyse, Génération et Evolution 39
Janus : vues générées Tag Cloud View List View Ontology Graphical View Concept Detail View 40
2.5 Evaluations 41
Evaluations : le corpus B2B 4 corpus (Complete B2B Invoice Address Coordinate) 2 alignement de référence (Coordinate, Address) Test corpus name Groups Files Extracted XSD Components Resulting concepts Coordinate 7 7 94 26 Address 10 15 463 192 Invoice 9 196 10002 5942* Complete B2B 25 3432 69270 24703* 42
Temps d'exécution : vitesse et extensibilité Le système est rapide et scalable Améliorations possibles sur la création du treillis des mots Unit of measure [msec] Information Extraction phase Similarity Network construction/integration Analysis computation Corpus Extraction Normalization WL PL Synonyms Merging Freq. Total Coordinate 406 656 94 47 1062 5,486 0,171 2312 Address 1251 4546 235 94 6015 6,444 0,834 12219 Invoice 22843 109813 165093 2375 57595 406 22 371797 Complete B2B 97374 423532 591600 146000 138590 138984 96,389 1561125 6 100% Great order O(x) 5 Extraction 4 Normalization Word Lattices 3 Property Lattice 2 Synonyms Merging 1 Frequency 0 Global 1 - (26) 2 - (192) 3 - (5942) 4 - (24703) -1 Corpus - (n. concepts) 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 1 2 3 4 TF Measure Merging Word Lattice Property Lattice Synonyms Normalization Extraction 43
Mesure de la qualité : précision et rappel Address concepts: 192 - Correct correspondences to provide 145 Address concepts: 192 - Correct correspondences to provide 145 High threshold 0.8 0.8 0.8 0.8 0.8 0.8 High threshold 0.9 0.9 0.9 0.9 0.9 0.9 Low threshold 0.5 0.4 0.3 0.2 0.1 0.0 Low threshold 0.5 0.4 0.3 0.2 0.1 0.0 Resulting Concepts 222 214 212 211 211 207 Resulting Concepts 222 214 212 211 211 207 Mergings done 115 123 125 126 126 130 Mergings done 115 123 125 126 126 130 Correct 115 122 122 123 123 125 Correct 115 121 123 123 123 124 Precision 1 0,992 0,976 0,976 0,976 0,962 Precision 1 0,984 0,984 0,976 0,976 0,954 Missing 30 23 21 20 20 20 Missing 30 24 22 22 22 19 Recall 0,793 0,841 0,841 0,848 0,848 0,862 Recall 0,793 0,834 0,848 0,848 0,848 0,855 1,01 0,880 1 0,860 Precision 0,99 0,98 0,97 0,96 0,95 0,94 Recall 0,840 0,820 0,800 0,780 0,760 0,93 Semantic Th 0.5 0.4 0.3 0.2 0.1 0.0 P(0.8) 1 0,992 0,976 0,976 0,976 0,962 P(0.9) 1 0,984 0,984 0,976 0,976 0,954 0,740 Semantic Th 0.5 0.4 0.3 0.2 0.1 0.0 P(0.8) 0,793 0,841 0,841 0,848 0,848 0,862 P(0.9) 0,793 0,834 0,848 0,848 0,848 0,855 44
Gain de temps et format de stockage Avec SDMO Sans SDMO 120 Temps (msec) 70000 60000 50000 40000 30000 20000 17 % 21 % 45 % 100 80 60 40 Physical space gain ratio 10000 0 195 1183 5808 Nombre de concepts 20 0 Time execution gain Gain de temps entre un système avec SDMO et un système traditionnel augmente avec la taille et le nombre des sources Janus offre un format de stockage pour le modèle. Améliore encore le temps d'exécution Réduit l'espace de stockage nécessaire aux sources 45
3 Conclusion et perspectives 46
Perspectives Janus sous forme de modules réutilisable (API) par d'autres systèmes de matching Janus sous forme de plug-in dans des outils UML et XML : Générer automatiquement des ontologies d'entreprise Plus simplement pour transformer les Schémas XML en OWL Système de recommandation sur le choix d'un standard à utiliser dans une transaction d'affaire Enrichissement dynamique d'ontologie d'un catalogue de services (use case projet EU SERVERY en cours) 47
Travaux futurs Formalisation détaillée de la méthodologie Automatisation de l'intégration de sources hétérogènes (structurés et pas structurés) Intégration de systèmes de raisonnement 48
Synthèse Définition du cycle de vie de la génération automatique d'ontologie Un système avancé d'extraction de la connaissance à partir des schémas XML multiples Un modèle sémantique qui permet de réduire le temps de calcul des systèmes de matching Un système complexe de génération/déduction de connaissance ontologique exprimé en OWL 49
merci
Bibliographie Personnelle International Conferences Mathieu Boussard, Vincent Hiribarren, Jean Pierre Le Rouzic, Stéphanie Fodor, Ivan Bedini, Noel Crespi, Gabor Marton, David Moro, Manuel Macias, Oscar Lorenzo Dueñas, Benjamin Molina. Servery: Web Telco Marketplace. Information and Communication Technologies Mobile Summit 2009. 10-12 June 2009, Santander, Spain. Ivan Bedini, Benjamin Nguyen and Georges Gardarin. B2B Automatic Taxonomy Construction. In Proceedings 10th International Conference on Enterprise Information Systems. 12-16, June 2008 Barcelona, Spain. International Workshops Jérôme Le Moulec, Jacques Madelaine and Ivan Bedini. Discovery Services Interconnection. International Workshop on RFID Technology. Mai 2009, Milan, Italy. International Demos Ivan Bedini, Benjamin Nguyen and Georges Gardarin. Janus: Automatic Ontology Construction Tool. Demo-Poster Session. 16th International Conference on Knowledge Engineering and Knowledge Management Knowledge Patterns. September 2008, Acitrezza, Italy. Ivan Bedini, Benjamin Nguyen and Georges Gardarin. Janus: Automatic Ontology Builder from XSD files. Developer track at 17th International World Wide Web Conference (WWW2008). Beijing, China, April 21-25, 2008 French Conferences and Demos Ivan Bedini, Georges Gardarin, Benjamin Nguyen. Deriving Ontologies from XML Schema. In Proceedings of the Entrepôts de Données et Analyse en Ligne (EDA), France, June 2008. RNTI, Vol. B-4, 3-17 (Invited Paper). Ivan Bedini, Fabrice Bourge, Benjamin Nguyen. RepXML: Experimenting an ebxml Registry to Store Semantics and Content of Business Messages. Developer Track at BDA 2006. Lille, France. October 2006. Submitted Ivan Bedini, Georges Gardarin, Benjamin Nguyen. Semantic Web and e-business. Submitted Chapter for the book «Electronic Business Interoperability: Concepts, Opportunities and Challenges», IGI Global publisher. December 2009. Emmanuel Bertin, Ivan Bedini, Nassim Laga, Benoit Cristophe, Benjamin Molina. Selecting the best available service at runtime: the concept of abstract services. Submitted to IEEE transactions on Software engineering journal. November 2009. Patents Ivan Bedini, Emmanuel Bertin, Nassim Laga. Dynamic selection of the best web service meeting user requirements process. Patent INPI number: 0954427-06/2009 (Pending) Ivan Bedini. Procedure for the automation of data sources matching combining semantic and structural properties. Request for patent INPI number: 08 58363 12/2008 (Pending) Standardisation Activities, main contributions Fabrice Bourge, Ivan Bedini. UN/CEFACT Registry Implementation Specification. UN/CEFACT ICG Standard Draft. 2007 ebxml Registry Profile for OWL-Lite. OASIS Standard Technical Note (Contributor). 2005 OASIS/ebXML Registry Information Model Specification V3.0. OASIS Standard Specification (Also ISO 15000, part 3 and 4 Standard) (Contributor). 2005 OASIS/ebXML Registry Services and Protocols v3.0. OASIS Standard Specification (Also ISO 15000, part 3 and 4 Standard) (Contributor) Ivan Bedini, Fabrice Bourge, Francis Berthomieu, Fabrice Jeanne, Sébastien Wafflart. EDIFRANCE RepXML Project Overview. UN/CEFACT ICG Deliverable. 2005. 51