Ontologies et Fouille de Données pour un Web plus sémantique: application à la construction et l’évolution d’ontologies, et à la personnalisation web Marie-Aude Aufaure (SUPELEC & INRIA/Axis) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 1 Plan Présentation ECOL’IA Introduction : Web sémantique - ontologies Construction et évolution d’ontologies Apprentissage d’ontologies : Personnalisation web Typologie des méthodes Application des techniques web content/structure mining synthèse Ontologies et web usage mining Conclusion 16/04/2008 Séminaire Ecol'IA - MA Aufaure 2 Introduction Web Sémantique - Ontologies 16/04/2008 Séminaire Ecol'IA - MA Aufaure 3 Introduction : web sémantique - ontologies Motivations Le web contient un grand volume de données mais mal exploité Problème de la pertinence des résultats d’une recherche Aller vers un web plus intelligent : Exploiter les connaissances, les métadonnées Offrir des services nouveaux, plus élaborés Améliorer la recherche d’information 16/04/2008 Séminaire Ecol'IA - MA Aufaure 4 Introduction : web sémantique - ontologies Web Sémantique Web dont le contenu peut être appréhendé et exploité par des machines, complémentant le contenu informel du web actuel avec de la connaissance formalisée le web sémantique pourra fournir des services plus aboutis à ses utilisateurs (trouver l'information pertinente, sélectionner, localiser et activer le service nécessaire...). Il peut faire cohabiter plusieurs degrés de formalisation : des schémas de métadonnées figés (Dublin Core) à des langages de représentation plus complexes (OWL) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 5 Introduction : web sémantique - ontologies La vision du web sémantique Différents langages pour décrire, exploiter et raisonner sur les contenus des ressources Des connaissances qui s’appuient sur des ontologies Utilisation de métadonnées Intégration automatique d’informations provenant de sources de données hétérogènes Utilisation et combinaison automatique de services web 16/04/2008 Séminaire Ecol'IA - MA Aufaure 6 Introduction : web sémantique - ontologies Le Web aujourd'hui 16/04/2008 Le Web Sémantique W3C Semantic Web Activity Marja-Riita Koivunen and Eric Miller, Nov. 2001 Séminaire Ecol'IA - MA Aufaure 7 Introduction : web sémantique - ontologies Challenges pour le web sémantique Disponibilité du contenu : faire migrer le web vers un contenu sémantique Disponibilité, développement et évolution des ontologies Passage à l’échelle Multilinguisme Visualisation Stabilité des langages du web sémantique 16/04/2008 Séminaire Ecol'IA - MA Aufaure 8 Introduction : web sémantique - ontologies Les applications Gestion des connaissances Commerce électronique Applications médicales Portails d’accès à l’information Acquisition, maintenance et accès Exemple : application touristique Services web 16/04/2008 Séminaire Ecol'IA - MA Aufaure 9 Introduction : web sémantique - ontologies Défis Le web sémantique a un coût : Développer des ontologies Annoter des pages, des ressources, Modéliser les besoins utilisateur Prise en charge de ces coûts 16/04/2008 Séminaire Ecol'IA - MA Aufaure 10 Introduction : web sémantique - ontologies Origine des ontologies Philosophie : Ontologie : étude de ce qui est « Ontos » (être) et « logos » (science, langage) Essaie de répondre aux questions : Qu’est ce qui caractérise ce qui est ? Eventuellement, qu’est-ce qu’être ? 16/04/2008 Séminaire Ecol'IA - MA Aufaure 11 Introduction : web sémantique - ontologies Origine des ontologies : linguistique concept sémantique - sens réfère dénote syntaxe – symboles terme monde réel désigne référent kiwi ? Triangle du sens : Odgen, Richards, 1923 16/04/2008 Séminaire Ecol'IA - MA Aufaure 12 Introduction : web sémantique - ontologies Qu’est-ce qu’une ontologie ? Une description explicite d’un domaine : concepts propriétés et attributs des concepts contraintes sur les propriétés et les attributs Individus (souvent, mais pas toujours) Une ontologie définit : Un vocabulaire commun Une compréhension partagée 16/04/2008 Séminaire Ecol'IA - MA Aufaure 13 Introduction : web sémantique - ontologies Ontologie ? Spécification explicite d’une conceptualisation [Grüber,93] • • Spécification explicite d’une conceptualisation partagée offrant une terminologie et une description formelle de la sémantique des connaissances d’un domaine Rôle : fournir/définir une sémantique d’un domaine fondée sur un consensus et permettant de lier le contenu exploitable par la machine avec sa signification Contraindre l’interprétation des objets du domaine (règles, axiomes) Le niveau d’expressivité dépend du langage de représentation de l’ontologie Automatisation de certains raisonnements 16/04/2008 Séminaire Ecol'IA - MA Aufaure 14 Introduction : web sémantique - ontologies Taxinomie/Thésaurus Vocabulaire contrôlé : ensemble de termes définis par un groupe Taxonomie : vocabulaire contrôlé organisé sous forme hiérarchique Relations is-a Exemple : mammifères sous-classe de vertébrés Thésaurus 16/04/2008 Pas de signification des termes ni d’organisation Exemple : glossaire d’un livre Relations sémantiques plus complexes “controlled vocabulary arranged in a known order and structured so that equivalence, homographic, hierarchical, and associative relationships among terms are displayed clearly and identified by standardized relationship indicators.” (ANSI/NISO Z39.19-1993 (R1998), p.1.) Séminaire Ecol'IA - MA Aufaure 15 Introduction : web sémantique - ontologies Des exemples Taxonomies sur le Web Catalogues pour les achats en ligne Catégories Yahoo! Catalogue de produits Amazon.com Terminologie standard spécifique à un domaine 16/04/2008 Unified Medical Language System (UMLS) Séminaire Ecol'IA - MA Aufaure 16 Introduction : web sémantique - ontologies Pourquoi utiliser des ontologies ? Scénario 1: Ontologie en tant que spécification Guider le développement de systèmes opérationnels Permettre la réutilisation de connaissances pour un ensemble d’applications Faciliter la maintenance logicielle Scénario 2: Ontologie pour le partage des données Réduire le coût de développement d’applications et assurer l’interopérabilité L’utilisateur accède à un ensemble de données hétérogènes dans un format unique Scénario 3: Ontologie pour la recherche d’information Utilisation d’une ontologie pour accéder à des ressources particulières Vu comme un index pour retrouver de l’information pertinente Aider les utilisateurs à formuler une requête Appariement sémantique entre les requêtes et les documents 16/04/2008 Séminaire Ecol'IA - MA Aufaure 17 Introduction : web sémantique - ontologies Typologie des ontologies Ontologie de haut niveau (top ontology) Ontologie générique (core ontology) Ontologie de domaine Ontologie de tâche Ontologie d’application 16/04/2008 Séminaire Ecol'IA - MA Aufaure 18 Introduction : web sémantique - ontologies Usage des ontologies •Application Web sémantique •Recherche d’information, indexation •Annotation, documentation •Intégration BD et BC •Application multi-agents •Interopérabilité •Ingénierie des SI • … 16/04/2008 Séminaire Ecol'IA - MA Aufaure 19 Introduction : web sémantique - ontologies Fouille de Données Ensemble de méthodes et techniques dédiées à l’extraction de connaissances à partir de données complexes et volumineuses Appliquée au web : Web content mining : Web structure mining Organisation du contenu web en connaissance Application : construction d’ontologies Exploiter les liens hypertexte Application : recherche d’information, indexation, réseaux sociaux Web usage mining 16/04/2008 Découvrir des modèles comportementaux et de navigation Application : personnalisation web Séminaire Ecol'IA - MA Aufaure 20 Construction et évolution d’ontologies 16/04/2008 Séminaire Ecol'IA - MA Aufaure 21 Construction et évolution d’ontologies Concevoir une ontologie : Abstraire : déterminer quelles connaissances représenter, avec quel degré de précision, de granularité, etc. + Représenter : déterminer le formalisme de représentation à adopter, représenter les connaissances dans le formalisme choisi. 16/04/2008 Séminaire Ecol'IA - MA Aufaure 22 Construction et évolution d’ontologies Les questions qui se posent Quel point de départ ? : rien, ontologies existantes, corpus de sources d’information Quel degré d’automatisation du processus de construction ? : entièrement manuel, semiautomatique, automatique Processus centralisé ou distribué ? Si plusieurs ontologies : quelles relations entre l’ontologie globale et le ontologies locales ? Comment combiner, intégrer, fusionner des ontologies ? 16/04/2008 Séminaire Ecol'IA - MA Aufaure 23 Construction et évolution d’ontologies Les questions qui se posent Comment trouver les concepts à représenter ? Lesquels retenir ? Comment les définir ? Comment sélectionner les bonnes propriétés ? Comment regrouper les concepts ? Quel rôle joue l’application ? 16/04/2008 Séminaire Ecol'IA - MA Aufaure 24 Construction et évolution d’ontologies Construction des ontologies Construire et valider Construction : À partir de sources humaines À partir de corpus documentaires textuels ou multimédia À partir de bases de données semi-structurées Validation : 16/04/2008 Vérification de la cohérence d’un point de vue système Audit des connaissances et validation par les experts Validation par les utilisateurs Séminaire Ecol'IA - MA Aufaure 25 Construction et évolution d’ontologies Processus de développement 16/04/2008 Séminaire Ecol'IA - MA Aufaure 26 Construction et évolution d’ontologies Cycle de vie 16/04/2008 Séminaire Ecol'IA - MA Aufaure 27 Construction et évolution d’ontologies Architecture pour la construction et l’évolution d’ontologies Operationalization Exploitation Rule Base (rules et constraints) Ontological Level Meta-conceptualization Formalization Domain modelization from heterogeneous data sources Alignment Integration 16/04/2008 Enrichment & Refinement Referential Ontology Concepts, Relations, Axioms Assertionnal Level Extraction Enrichment Refinement Iterative & Incremental Process Knowledge-base System Initial Ontology Concepts, Relations, Axioms Fact Base Change Formulization Change Analysis Domain Core-Ontology Meta-Concepts, Meta-Relations, Meta-Axioms Abstraction & Generalization Alternative Evaluation Change Implementation Sources Extractions Databases Extraction Practice Guidelines Extraction Terminological Sources Extraction Textual Corpora Extraction Existing Ontologies & Medical Standards Ontology quality Evaluation Domain Ontology Extraction Mapping Séminaire Ecol'IA - MA Aufaure Change Validation Ontology Annotation Evolved Ontology Concepts, Relations, Axioms 28 Construction et évolution d’ontologies Construction d’ontologies Méthodes manuelles : Construction semi-automatique à partir de textes : Gruninger&Fox, Ushold&King, Methontology (GomezPerez&al 03), DOGMA (Jaarar&al 02) On-To-Knowledge (Staab&al 01) Approche TERMINAE (Biebow, Aussenac, Szulman) Apprentissage (Maedche et al) Construction semi-automatique à partir de bases de données structurées ou de données semi-structurées (XML, web) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 29 Construction et évolution d’ontologies Outils de développement Protégé2000 (Stanford) OntoEdit (Karlsruhe) WebODE (Univers. Madrid) KAON (Karlsruhe) Terminae (Paris 8) … 16/04/2008 Séminaire Ecol'IA - MA Aufaure 30 Construction et évolution d’ontologies Classification des méthodologies Les méthodologies de construction d’ontologies « from scratch » Les méthodologies de ré-ingénierie d’ontologies Les méthodologies de construction coopérative d’ontologies Les méthodologies d’apprentissage d’ontologies A partir du texte A partir du dictionnaire A partir d’une base de connaissances A partir des données semistructurées A partir des schémas relationnels Les méthodologies de fusion d’ontologies Les méthodologies d’évaluation d’ontologies 16/04/2008 Les méthodologies d’évolution d’ontologies Séminaire Ecol'IA - MA Aufaure 31 Construction et évolution d’ontologies Méthodologies de construction manuelles Les premières (Ushold&King, Gruninger&Fox) ont été définies en 1995 dans un but de développement d’ontologies d’entreprises Inspirées par le développement de SBC basés sur la logique du 1er ordre Élaboration (intuitive) des principaux scénarios Définition d’un ensemble de questions en langage naturel, utilisées pour déterminer le but de l’ontologie Ces questions et leurs réponses sont utilisées pour extraire les principaux concepts, les propriétés, relations et axiomes. La connaissance est formalisée en logique du 1er ordre. Base pour la construction et l’évaluation, mais des aspects comme l’intégration, l’acquisition et des fonctions de gestion (planification, contrôle, etc.) n’existent pas. 16/04/2008 Séminaire Ecol'IA - MA Aufaure 32 Construction et évolution d’ontologies Les méthodologies de construction d’ontologies « from scratch » [GRÜNINGER ET AL., 1995] [USCHOLD ET KING, 1996] [USCHOLD ET GRUNINGER, 1996] « METHONTOLOGY » [GOMEZ-PEREZ & AL.,1997] SENSUS [KNIGHT K. ,1997] ON-TO-KNOWLEDGE [STAAB ET AL., 2001] 16/04/2008 Séminaire Ecol'IA - MA Aufaure 33 Construction et évolution d’ontologies METHONTOLOGY Construction d’ontologies « from scratch » Autorise également la rétro conception : Retrouver un modèle conceptuel à partir d’une ontologie, et en construire une autre plus adaptée Processus de développement d’ontologie évaluation, configuration, management, conceptualisation, intégration, implémentation Spécifie les étapes pour réaliser chaque activité, les techniques utilisées, les résultats attendus et leur évaluation 16/04/2008 Séminaire Ecol'IA - MA Aufaure 34 Construction et évolution d’ontologies Tâches de conceptualisation Tâche 1 : construire le vocabulaire des termes Tâche 2 : construire des taxonomies de concepts Tâche 3 : construire les diagrammes de relations binaires Tâche 4 : construire le dictionnaire de concepts Tâche 5 : décrire les relations binaires Tâche 6 : décrire les attributs d’instances et de classes Tâche 7 : décrire les constantes Tâche 8 : décrire les axiomes formels Tâche 9 : décrire les règles Tâche 10 : décrire les instances 16/04/2008 Séminaire Ecol'IA - MA Aufaure 35 Construction et évolution d’ontologies Problématique de l’évolution d’ontologies Environnements dynamiques, multi-acteurs et distribués Ontologies évolutives En cours de construction : processus itératif et incrémental automatisé (et non automatique) En cours d’usage Plusieurs raisons de changements Evolution continue du domaine modélisé Affinement de la conceptualisation de l’ontologie Modification de l’application exploitant l’ontologie Réutilisation de l’ontologie pour d’autres applications … 16/04/2008 Séminaire Ecol'IA - MA Aufaure 36 Construction et évolution d’ontologies Problématique de l’évolution d’ontologies Le processus d’évolution est complexe Capture des changements à travers différentes sources Spécification des changements Prise en compte des conséquences d’un changement Résolution des inconsistances Implémenter, propager les changements Gestion des versions Interprétation formelle de tous les besoins de changement provenant de différentes sources et application des changements à l’ontologie et aux artefacts dépendants tout en préservant leur consistance 16/04/2008 Séminaire Ecol'IA - MA Aufaure 37 Construction et évolution d’ontologies Gestion de versions Gestion des changements d’une ontologie et leurs effets par la création et le maintien de différentes versions d’une ontologie L’idéal serait de préserver les différentes versions d’une ontologie et les informations relatives aux différences et aux compatibilités entre ces versions Nécessité de méthodes de : Différentiation et identification de versions Spécifications de relations entre versions Procédures de mise à jour d’ontologies Mécanismes d’accès aux différentes versions d’une ontologie 16/04/2008 Séminaire Ecol'IA - MA Aufaure 38 Construction et évolution d’ontologies Gestion de versions Rechercher les différences entre les différentes versions (mêmes principes que pour les similarités en alignement) Compatibilité entre les versions: Préservation des instances Préservation de l’ontologie (Résultat (rq1 sur Oi) Résultat (rq1 sur Oi+1)) (axOI ĺ f1, …,fn ; axO2 ĺ f1, …, fn) Préservation de la consistance 16/04/2008 Séminaire Ecol'IA - MA Aufaure 39 Construction et évolution d’ontologies Changements Niveaux de changements Domaine Conceptualisation Spécification (langage de représentation) Sources de changements Environnement : Nouvelles sources de connaissances Processus interne de l’application Utilisateurs : expression de nouveaux besoins Deux catégories de changements Evolution normale : enrichissement de l’ontologie sans remettre en cause les connaissances existantes : « continuité ontologique » Révolution : possibilité d’infirmer des axiomes vrais 16/04/2008 Séminaire Ecol'IA - MA Aufaure 40 Construction et évolution d’ontologies Approches d’évolution Ontologie d’évolution une modélisation explicite, commune et partagée des changements d’un modèle d’ontologie Une sorte de « méta-ontologie » qui sert de : support pour l’ensemble des phases du processus d’évolution base pour la construction du journal d’évolution. Journal d’évolution Les séquences exactes des opérations appliquées pour satisfaire une demande de changement Les instances des concepts et des propriétés de l’ontologie d’évolution. 16/04/2008 Séminaire Ecol'IA - MA Aufaure 41 Construction et évolution d’ontologies Evaluation Guider et valider la construction d’une ontologie Choisir l’ontologie la plus appropriée parmi plusieurs, en fonction d’un ensemble de besoins En évolution : détecter les changements utiles 16/04/2008 Séminaire Ecol'IA - MA Aufaure 42 Construction et évolution d’ontologies Niveaux d’évaluation Vocabulaire Taxonomie (structure hiérarchique) Termes représentant les primitives et les instances Comparaison avec les sources (distance de similarité, Précision, Rappel) Mesures structurelles (profondeur, distribution des feuilles, largeur, etc.) Evaluation de l’adaptation de la structure à un corpus Application : Evaluation du résultat de l’utilisation de l’application Données 16/04/2008 Comparaison à une collection de documents Sélection de l’ontologie la plus appropriée parmi plusieurs, en les comparant une à une à un corpus Séminaire Ecol'IA - MA Aufaure 43 Apprentissage d’ontologies Typologie des méthodes Application des techniques web content/structure mining 16/04/2008 Séminaire Ecol'IA - MA Aufaure 44 Apprentissage d’ontologies Apprentissage d’ontologies : cadre de travail Apprentissage d’ontologies : plug-in dans le processus de développement d’ontologies Définir les phases pour lesquelles l’automatisation est pertinente Définir les données sur lesquelles appliquer ce processus Réutilisation d’ontologies existantes (fusion, alignement). Utilisation de connaissance à priori Offrir un ensemble d’algorithmes pour résoudre un problème et combiner les résultats 16/04/2008 Séminaire Ecol'IA - MA Aufaure 45 Apprentissage d’ontologies Les données pertinentes Données sous forme d’ontologies : Données sous forme de schémas : Ontologies linguistiques Thésaurus Schémas BD (rel, ER, OO) Schémas Web (XML-S, DTD) Instances (BD, bases de connaissances) Données semi-structurées Documents en langage naturel : Langage naturel pur Documents en LN avec de l’info semi-structurée 16/04/2008 Séminaire Ecol'IA - MA Aufaure 46 Apprentissage d’ontologies Approches selon les données A partir d’un dictionnaire : Utilisation de Wordnet pour enrichir l’ontologie avec de nouveaux concepts et relations. Ces méthodes se basent sur des analyses linguistiques et sémantiques A partir de schémas relationnels : Processus d’appariement basé sur un ensemble de règles pour passer d’un modèle EA vers une ontologie Processus de ré ingénierie 16/04/2008 Séminaire Ecol'IA - MA Aufaure 47 Apprentissage d’ontologies Approches selon les données A partir de schémas semi-structurés Clustering et reconnaissance de patterns Apprentissage à partir des annotations sémantiques d’une base de documents RDF (permet de récupérer des concepts définis) Apprentissage basé sur des techniques de regroupement conceptuel 16/04/2008 Séminaire Ecol'IA - MA Aufaure 48 Apprentissage d’ontologies Approches selon les données A partir du web : Clustering pour enrichir les concepts à partir de documents web classés à l’aide de wordnet. Extraction des mots et de leur fréquence pour chaque collection Recherche des concepts les plus pertinents d’un domaine à partir d’une large collection de sites web, sans recours à des connaissances a priori 16/04/2008 Séminaire Ecol'IA - MA Aufaure 49 Apprentissage d’ontologies Approches selon les données A partir de textes : Utilisation d’outils de TAL (guidée par l’homme) s’appuyer sur des ressources existantes spécialisées (thésaurus) techniques linguistiques et statistiques modéliser en tenant compte de l’usage qui sera fait de l’ontologie 16/04/2008 Séminaire Ecol'IA - MA Aufaure 50 Apprentissage d’ontologies Généralités Approches semi-automatiques (guidage par un expert) Étapes : Prétraitement des textes en utilisant ou non de la connaissance a priori + traitement des ambiguïtés par contexte Choix de la méthode en fonction de l’objectif : 16/04/2008 Extraction de concepts Extraction de relations non taxonomiques Extraction de relations taxonomiques Extraction d’instances, d’axiomes Séminaire Ecol'IA - MA Aufaure 51 Apprentissage d’ontologies Techniques utilisées Extraction à l’aide de patrons (techniques linguistiques et patrons lexico-syntaxiques) Découverte de relations non taxonomiques à l’aide de règles d’association Groupement de concepts selon une distance sémantique Élagage d’une ontologie “large” à l’aide de corpus textuels Apprentissage de concepts qui seront ajoutés à une ontologie existante à l’aide de textes 16/04/2008 Séminaire Ecol'IA - MA Aufaure 52 Apprentissage d’ontologies Techniques linguistiques But : extraction d’un modèle conceptuel Difficulté : la spécification des patrons se fait manuellement (ces patrons visent à extraire les relations entre les concepts) Méthodes automatiques étudient les régularités syntaxiques entre deux concepts (degré important d’erreurs) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 53 Apprentissage d’ontologies La méthodologie Aussenac et al. Construction d’ontologies à partir de textes Élaborer un modèle conceptuel d’un domaine par analyse de corpus de documents techniques Hypothèses : Le concepteur de l’ontologie a une bonne connaissance du domaine d’application, il est capable de déterminer les termes pertinents (noms, phrases, verbes ou adjectifs) Le concepteur a également une bonne connaissance de la manière dont l’ontologie sera utilisée 16/04/2008 Séminaire Ecol'IA - MA Aufaure 54 Apprentissage d’ontologies La méthodologie Aussenac et al. Application visée expertise Ressources terminologiques description des besoins Constitution du corpus documentation technique Corpus informatisé étude linguistique outils TAL Candidats termes Relations lexicales Regroupements Normalisation Concepts Relations sémantiques ontologie Formalisation outils TAL Support de modélisation : TERMINAE 16/04/2008 Séminaire Ecol'IA - MA Aufaure formalisme 55 Apprentissage d’ontologies Constitution du corpus Choix des documents par un expert (en tenant compte de la documentation technique) : Compromis entre représentativité (sujet, genre textuel) et taille Trouver les documents les plus pertinents pour une application Il est utile d’avoir un glossaire des termes du domaine Décider de la manière de traiter les documents Opportunisme : découpage en sous-corpus 16/04/2008 Séminaire Ecol'IA - MA Aufaure 56 Apprentissage d’ontologies Etude linguistique Sélectionner des outils et techniques linguistiques (extraction de motifs, clustering conceptuel) et les appliquer aux textes pour obtenir des termes, relations lexicales et groupes de synonymes Extraction de termes (groupes nominaux ou verbaux) mis en relation par Syntex [Bourigault & al 96] Recherche de relations à l’aide de patrons avec Yakwa 16/04/2008 Séminaire Ecol'IA - MA Aufaure 57 Apprentissage d’ontologies Normalisation : de la langue naturelle à un langage formel Langue naturelle : Pas de primitives, des énoncés imprécis, contextuels, des objets instables Choisir un contexte de référence des objets dont on parle pour fixer et stabiliser leur interprétation Structurer et organiser les concepts ainsi créés Langage formel : Des expressions logiques construites avec des primitives, des connecteurs, des quantificateurs, etc. 16/04/2008 Séminaire Ecol'IA - MA Aufaure 58 Apprentissage d’ontologies Normalisation Interprétation sémantique du contenu des textes guidée par l’expertise et les usages Des relations lexicales aux relations sémantiques : Déterminer les concepts reliés et le type des relations Les représenter à l’aide de rôles ou de relations is-a Décider des propriétés des relations : héritage, … Des relations à une hiérarchie de concepts : Différencier des concepts selon des critères homogènes : corps solide/corps liquide, etc. Ajout de concepts non terminologiques 16/04/2008 Séminaire Ecol'IA - MA Aufaure 59 Apprentissage d’ontologies Formalisation Représentation des connaissances en logique de description Classification des concepts Validation du modèle Plusieurs formats possibles pour l’ontologie : RDF OIL XML OWL 16/04/2008 Séminaire Ecol'IA - MA Aufaure 60 Apprentissage d’ontologies La méthodologie Moldovan&Girju Découverte de concepts et relations via l’enrichissement d’une ontologie avec de nouvelles connaissances acquises à partir de textes analysés Sources d’entrée : Corpus textuel non spécifique à un domaine Autres ressources lexicales Trois phases : Apprentissage de nouveaux concepts à partir de texte, Classification des concepts en se basant sur l’analyse des expressions associées aux concepts candidats, Apprentissage des relations à partir de patrons et évaluation de l’ontologie 16/04/2008 Séminaire Ecol'IA - MA Aufaure 61 Apprentissage d’ontologies Apprentissage de nouveaux concepts Sélection de concepts “granulaires” Jugés pertinents et existants dans Wordnet Uniquement des concepts nominaux Extraction des phrases contenant un concept granulaire (max : 500 phrases/concept) Extraction de nouveaux concepts : Expressions du type [mot, mot, …, concept] Seuls les mots appartenant à wordnet sont conservés Classification des concepts : Classer les concepts de la forme [mot, concept] ou mot est un nom ou un adjectif (mots apparus dans les expressions des concepts candidats) Ajout d’une relation d’hyponymie entre ce nouveau concept et le concept granulaire 16/04/2008 Séminaire Ecol'IA - MA Aufaure 62 Apprentissage d’ontologies Méthodologie Maedche et al. (outil Text-to-Onto) – Élagage d’ontologie But: construire une ontologie sur la base d’une ontologie existante (SENSUS, WordNet, etc.), qui est enrichie avec les concepts appris. 5 étapes : sélection des sources: documents Web, schéma XML, ontologie, etc. l’apprentissage de concepts en utilisant des outils de traitement du langage naturel « domain focusing »: enrichir l’ontologie et retirer les concepts généraux apprentissage de relations basé sur les règles d’association et les patterns Évaluation Cette méthode a été appliquée dans le projet On-To-Knowledge 16/04/2008 Séminaire Ecol'IA - MA Aufaure 63 Apprentissage d’ontologies Activity 1. Select sources general corpus specific corpus Core ontology Activity 2. Concept learning Activity 3. Domain focusing Activity 4. Relation learning Activity 5. Evaluation Core ontology Core ontology Core ontology Core ontology R1 16/04/2008 Séminaire Ecol'IA - MA Aufaure R2 R1 R2 64 Apprentissage d’ontologies Méthodologie Maedche et al. Sélection des sources : Sélection d’une ontologie, base de l’apprentissage, contenant des concepts génériques et spécifiques Sélection des corpus de documents hétérogènes (texte libre, semi-structuré, du domaine, génériques) Apprentissage de concepts : Acquisition de nouveaux concepts génériques et spécifiques Utilisation d’outils de TAL : extraction de patterns, clustering conceptuel La méthode suggère de lier les concepts appris par des relations de type « sous-classe de » 16/04/2008 Séminaire Ecol'IA - MA Aufaure 65 Apprentissage d’ontologies Méthodologie Maedche et al. Domain focusing : Apprentissage de relations : But : élaguer l’ontologie enrichie et supprimer les concepts généraux Les termes apparaissant fréquemment dans les corpus spécifiques sont présentés à l’ontologue pour qu’il décide s’il les conserve dans l’ontologie enrichie Relations entre les concepts extraites à l’aide de règles d’association Évaluation de l’ontologie, et éventuellement répéter le processus 16/04/2008 Séminaire Ecol'IA - MA Aufaure 66 Apprentissage d’ontologies Méthodes de clustering Clustering hiérarchique Méthode simple : nécessite la définition d’une distance entre les points, généralisée à une distance entre clusters Objectif : maximiser la similarité intracluster (fonction d’évaluation) Ex : mesure du cosinus pour des documents représentés comme des vecteurs tf*idf Généralisation : similarité entre les centroïdes, min, max, average Introduction de paramètres de contrôle : stopper le processus lorsqu’un nombre désiré de clusters est obtenu ou lorsque la similarité intraclusters < seuil Obtention d’une hiérarchie ontologie 16/04/2008 Séminaire Ecol'IA - MA Aufaure 67 Apprentissage d’ontologies Méthodes de clustering K-Means Facile à mettre en œuvre Nécessite de connaître le nombre de classes Résultats dépendent fortement du choix des centroïdes au départ Permet la hiérarchisation lorsqu’il est appliqué sur les classes formées 16/04/2008 Séminaire Ecol'IA - MA Aufaure 68 Apprentissage d’ontologies Application au web content/sructure mining Apprentissage d’une ontologie de domaine (tourisme) à partir de pages web et sans utiliser de connaissance a priori Nécessite une étude approfondie des documents avant de les exploiter pour construire l’ontologie Définition d’un contexte permettant de mieux sélectionner les mots sémantiquement proches Étude des algorithmes de clustering Évaluation sémantique des clusters (concepts) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 69 Apprentissage d’ontologies Découverte d’ontologie : 4 étapes •Méthodologie basée sur une •Tenir contextualisation compte de la structure : progressive Hiérarchie contextuelle •Critères d’évaluation •Algorithme contextuel •Visualisation interactive d’extraction •Différentes analyses: lexicale,de concepts •Utilisation des relations Découverte contextuelle syntaxique, statistique Evaluation des concepts extraites de concepts ontologiques •Utilisation des relations •Utilisation de de Existants dans la hiérarchie concepts l’évaluation des concepts Découverte de relations : Extraction & Validation 16/04/2008 Evaluation et enrichissement de la hiérarchie Séminaire Ecol'IA - MA Aufaure 70 Apprentissage d’ontologies Découverte contextuelle de concepts Principes : Détecter les relations entre les tags HTML Modéliser la relation entre différents contextes Notion de Hiérarchie Contextuelle Définir un algorithme de classification hiérarchique non supervisé 16/04/2008 Un extrait de la Hiérarchie Contextuelle Séminaire Ecol'IA - MA Aufaure 71 Apprentissage d’ontologies Principes algorithmiques Algorithme incrémental Basé sur K-Means Dirigé par les contextes structurels Entrée : matrice de termes co-occurrents avec calcul de l’indice d’équivalence qui évalue la force du lien : 16/04/2008 Si = 0, les mots ne sont jamais présents ensemble, Si = 1, les mots sont toujours présents ensemble Séminaire Ecol'IA - MA Aufaure 72 Apprentissage d’ontologies Principes algorithmiques Calcul des occurrences de chaque mot, puis sélection de leurs co-occurrents en fonction de la hiérarchie contextuelle, affectation des poids Première exécution de Kmeans pour obtenir une première distribution dans K clusters Division des clusters Affectation des mots isolés aux clusters formés Paramètres : nombre maximal de mots par cluster, marge acceptable permettant de rajouter des mots aux clusters ayant atteint ce nombre max, mesure de similarité (plusieurs mesures implémentées) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 73 Apprentissage d’ontologies Évaluation de l’algorithme – Expérimentation Comparaison des résultats entre : Exécution avec un contexte fenêtre Exécution incrémentale avec la hiérarchie contextuelle Évaluation manuelle selon 6 critères : Distribution des mots dans les clusters Poids attribués aux paires de mots (importance du mot dans le contexte) Similarité des paires de mots Concepts extraits Interprétation sémantique (% de classes auxquelles un expert peut attribuer un label) Degré de généralité des concepts extraits 16/04/2008 Séminaire Ecol'IA - MA Aufaure 74 Apprentissage d’ontologies Problématique : évaluation des concepts Évaluer des concepts extraits à partir des classes de mots produites Clusters = sacs de mots Sans information sur les mots Sans ordre Avec du bruit Aider l’expert à évaluer chaque terme d’un groupe, définir les relations entre les mots d’une classe et lui associer un label sémantique en tant que concept Outil permettant de donner des informations aux experts en se basant sur les différents contextes (linguistique, documentaire) 16/04/2008 Séminaire Ecol'IA - MA Aufaure 75 Apprentissage d’ontologies Proposition pour l’évaluation Évaluation quantitative et qualitative : basée sur la richesse des documents web, l’interprétation sémantique et la notion de contextualisation progressive Trois critères :degré de crédibilité, degré de cohésion, degré d’éligibilité Degré de crédibilité : Évaluation qualitative globale (basée sur une collection de documents pour tous les termes des clusters) ou une évaluation qualitative rafinée (une collection de documents appropriée à chaque cluster) Basée sur les associations de mots ave une utilisation possible de documents indexés par Google Degré de cohésion : Estime la force du lien entre les mots d’un cluster Degré d’éligibilité Suggestion d’un mot pouvant être utilisé pour labelliser une classe 16/04/2008 Séminaire Ecol'IA - MA Aufaure 76 Apprentissage d’ontologies •Méthode indépendante de toute connaissance a priori •Automatique ou interactive Collection appropriée Classe de mots Moteur de recherche Algorithme de calcul de degré de crédibilité (CDC) Pour chaque classe : Les critères de crédibilité + les associations de termes 16/04/2008 Algorithme de calcul de degré d’éligibilité (EDC) Algorithme de calcul de degré de cohésion (CoDC) Pour chaque classe une valeur Séminaire Ecol'IA - MA Aufaure Une liste de mots avec leurs valeurs ainsi que le terme qui peut représenter la classe en tête 77 Apprentissage d’ontologies Synthèse Phases nécessaires à la construction d’ontologies : Préparation et prétraitement des sources de données (avec l’utilisation ou non de connaissances a priori) Apprentissage de concepts (techniques linguistiques, statistiques et/ou clustering) Extraction des relations Extraction des instances Validation des ontologies 16/04/2008 Séminaire Ecol'IA - MA Aufaure 78 Apprentissage d’ontologies Critères des approches d’ingénierie ontologique : Clarté : la définition d’un concept doit communiquer le sens voulu du terme, de façon objective et indépendante du contexte Cohérence : les inférences faites à partir des ontologies doivent être cohérentes avec la définition des concepts Capacités d’extension (évolution de l’ontologie) Classes disjointes Distance sémantique minimale entre les concepts enfants de mêmes parents Normalisation des noms 16/04/2008 Séminaire Ecol'IA - MA Aufaure 79 Apprentissage d’ontologies Type d’ontologie à construire Usage de l’ontologie Sources d’informations d’entrée de la méthode La construction d’une ontologie ? Les techniques de traitement automatique de la langue naturelle L’extraction des concepts Les techniques d’apprentissage L’extraction des relations L’extraction des axiomes Les patrons lexico-syntaxiques 16/04/2008 Des techniques hybrides Séminaire Ecol'IA - MA Aufaure symboliques numériques 80 Apprentissage d’ontologies Les techniques de traitement automatique des langues naturelles Extraction des hyponymes des instances Extraction des collocations de termes Extraction des relations taxonomiques Les patrons lexico-syntaxiques symboliques Les techniques d’apprentissage numériques 16/04/2008 Séminaire Ecol'IA - MA Aufaure La logique des propositions La logique du premier ordre Les réseaux sémantiques Les graphes conceptuels Les arbres de décision Les treillis de Galois Les langages de Frames La représentation des connaissances par objets Les réseaux bayésiens Les réseaux de neurones Les cartes de Kohonen Les chaînes de Markov cachées (HMM) Les algorithmes génétiques Les algorithmes de clustering 81 Apprentissage d’ontologies Synthèse Limites observées : Analyses linguistiques : permet le typage des termes et relations mais coûteux par rapport à la définition manuelle des patrons Analyses statistiques : facile à mettre en oeuvre, gèrent de grands volumes mais nécessitent des corpus importants pour être validées Extraction de patrons lexico-syntaxiques : efficace sur des corpus de petite taille. Les patrons appris peuvent présenter des erreurs (validation par un expert) Peu d’approches permettent l’extraction de relations non taxonomiques Pas d’approches d’apprentissage d’axiomes 16/04/2008 Séminaire Ecol'IA - MA Aufaure 82