330 likes | 474 Views
Participation de l’IRIT – IC3 à GEONTO. Nathalie Aussenac-Gilles CR IRIT – CNRS Ollivier Haemmerlé PR IRIT - UTM Mouna Kamel MC IRIT – Univ. Perpignan. Plan. Présentation de l’IRIT et de l’équipe IC3 Compétences de l’IRIT en extraction de relations L’approche par patrons
E N D
Participation de l’IRIT – IC3 à GEONTO Nathalie Aussenac-Gilles CR IRIT – CNRS Ollivier Haemmerlé PR IRIT - UTM Mouna Kamel MC IRIT – Univ. Perpignan IRIT-IC3 M. Kamel, O. Haemmerlé
Plan • Présentation de l’IRIT et de l’équipe IC3 • Compétences de l’IRIT en extraction de relations • L’approche par patrons • 2 outils pour extraire des relations par patrons • Caméléon • Gate • Elargissement à l’extraction de relations distribuées sur plusieurs phrases • Extraction de relations à partir de tableaux • Notre rôle dans le projet • Contribution aux lots • Innovations et élargissements prévus dans Géonto IRIT-IC3 M. Kamel, O. Haemmerlé
Institut de Recherche en Informatique de Toulouse IRIT-IC3 M. Kamel, O. Haemmerlé
Les 7 thèmes de recherche de l’IRIT(20 équipes) • Analyse et synthèse de l’information (4) • Indexation et recherche d’informations (2) • Interaction, autonomie, dialogue et coopération (4) • Raisonnement et décision (3) • Modélisation, algorithmes, calcul haute performance (1) • Architecture, systèmes et réseaux (4) • Sûreté de développement du logiciel (2) IRIT-IC3 M. Kamel, O. Haemmerlé
Place de IC3 dans l’IRIT • Interaction, autonomie, dialogue et coopération IC3 : Ingénierie des Connaissances, de la Cognition et de la Coopération • Responsable : Nathalie Aussenac-Gilles • 12 Permanents, 12 thésards, 1 post-doc • Ontologies et textes • Systèmes coopératifs • Ergonomie, ingénierie de la cognition (Gric) IRIT-IC3 M. Kamel, O. Haemmerlé
“Ontologies et textes” dans IC3 • 8 permanents, 3 thésards, 1 post-doc • Thèmes de recherche • Construction et maintenance de modèles de connaissances à partir de textes et de données • Méthodes, cycle de maintenance • Outils, approches basées sur le TAL, réutilisation de thésaurus, lexiques - > extraction de relations et de concepts • Représentation de ressources termino-ontologiques • Utilisation des graphes conceptuels • Utilisation d’ontologies pour l’annotation sémantique et la recherche documentaire dans des domaines spécialisés • Outils pour l’annotation sémantique -> patrons d’annotation • Distances sémantiques • Modes d’interrogation des documents annotés • Confrontation d’ontologies et de textes pour la gestion des connaissances • Évolution dans le temps, repérage de changements, … IRIT-IC3 M. Kamel, O. Haemmerlé
Plan • Présentation de l’IRIT et de l’équipe IC3 • Compétences de l’IRIT en extraction de relations • L’approche par patrons • 2 outils pour extraire des relations par patrons • Caméléon • Gate • Elargissements : • extraction de relations distribuées sur plusieurs phrases • extraction de relations à partir de tableaux • Notre rôle dans le projet • Contribution aux lots • Innovations et élargissements prévus dans Géonto IRIT-IC3 M. Kamel, O. Haemmerlé
Extraction de relations à partir de textes • Buts possibles • Construction d’ontologie : identification de classes (concepts) et de relations entre concepts • Annotation de documents : repérage d’instances • Approche linguistique • Termes partageant des contextes syntaxiques similaires peuvent être mis en relation (analyse syntaxique des textes : Tree Tagger, Cordial Université) • Patrons lexicaux, lexico-syntaxiques • Approche statistique • Étude de termes co-occurrents, segments répétés • Analyse distributionnelle • SVM • Limites : ne permettent pas d’interpréter la nature des relations IRIT-IC3 M. Kamel, O. Haemmerlé
Extraction de relations à l’aide de patrons • Un patron caractérise le contexte linguistique dans lequel une relation lexicale peut être observée Patron lexical : to define 1mot* as A Software Project may bedefined as a Development Process. Patron lexico-syntaxique: to define{Prp.*|Noun|Adj|Num|pro.*|Adv|Det.*}*as The GDP manual definesSoftware projectas a Development Process • Projeter des patrons sur les textes requiert des traitements linguistiques préalables • Mise en forme du texte pour le traitement, donner un identifiant à chaque phrase … • Tokenisation, lemmatisation, Etiquetage grammatical … • Particularités des relations • La même relation peut être exprimée sous différentes formes. • Le sens donné à un patron (la relation qu’il traduit) peut changer d’un corpus à l’autre. Ex. « est constitué de » peut exprimer soit une relation entre Composant/objet entier soit entre matière/Object • Pour un type de relation donné, les patrons dépendent du corpus. IRIT-IC3 M. Kamel, O. Haemmerlé
1 – projection des patrons 2 – Définition de concepts et de relations 4 – Représentation des connaissances Def-concept A:B att a-pour-partie C att Relations Formelles Relations conceptuelles Relations lexicales Corpus Des textes vers une ontologie • Corpus : ensemble de textes sélectionnés pour leur pertinence • Etape 1 : comporte du TAL, suppose la définition et la projection de patrons • Etapes 2 et 3 : interprétation humaine indispensable 3 - Normalisation IRIT-IC3 M. Kamel, O. Haemmerlé
1 – projection des patrons 2 – marquage des textes /annotation corpus Motorisation Phase moteur : accélération Manque de puissance En roulant, le moteur manque de puissance en accélération et en vitesse de pointe. Phase véhicule : grande vitesse 2 – création d’un index Passages de texte Liste de concepts ou relations + localisation Des textes aux annotations / à un index corpus IRIT-IC3 M. Kamel, O. Haemmerlé
Caméléon (Séguéla, 2000, version de 2006) • Caméléon : assiste les étapes de projection et de définition des concepts/relations de l’extraction de relations pour construire un modèle • 2 grandes étapes • A- Mise au point de patrons spécifiques au corpus Suppose un corpus étiqueté par analyseur (TreeTagger, Cordial ) : Paramétrable • B- Interprétation de la projection des patrons sur le corpus et enrichissement de l’ontologie IRIT-IC3 M. Kamel, O. Haemmerlé
Caméléon : A-Mise au point des patrons d’un projet A X B Y C • Forme d’un patron où A, B et C sont des marqueurs linguistiques et X et Y sont les termes recherchés • 2 possibilités pour définir 1 patron • Par adaptation d’un patron de la bibliothèque • Création à partir de l’interprétation (lecture) de contextes par l’ananlyste • 4 étapes pour la mise au point d’un patron • Écrire ou modifier le patron (éditeur) • Le projeter • L’évaluer : Observer / valider quelques phrases retournées • Décider de retenir /modifier le patron (retour à 1) IRIT-IC3 M. Kamel, O. Haemmerlé
Pattern evaluation in Caméléon Pattern Sentences where the pattern occur Precision rate IRIT-IC3 M. Kamel, O. Haemmerlé
Caméléon : B- enrichir le modèle • Étapes • Projeter les patrons • Pour chaque phrase retournée, fixer les termes en relation • Charger un modèle en cours de construction • Enrichir le modèle • Pour chaque concept existant, • Consulter les relations impliquant ses termes associés • Décider de les ajouter ou non au modèle • Ou : pour chaque hypothèse de relation • Définir les concepts associés aux termes s’ils n’existent pas • Ajouter la relation IRIT-IC3 M. Kamel, O. Haemmerlé
Bilan sur Caméléon • Limites • Processus faisant intervenir beaucoup l’humain • Lent sur gros corpus • Lourd à installer (MySql, TreeTagger, Emdros, Java, Code Caméléon) • Pas de classe sémantique à l’intérieur des patrons • Partie “enrichissement d’ontologie” à améliorer • Outil fermé • Points forts • Gratuit et disponible • Patrons disponibles : 70 patrons documentés (historique : phrases filtrées /corpus) , validés sur 8 corpus, pour des relations de définition (“est-un” en français) • Adaptation des patrons • Patrons définis par des non informaticiens • Méthode / principes réutilisables IRIT-IC3 M. Kamel, O. Haemmerlé
Gate : Outil pour l’Extraction de Concepts et de Relations ► Gate : General Architecture for Text Engineering ► Gate : Plate-forme d’ingénierie linguistique [Cunningam et al., 2002] ► Largement utilisé pour l’extraction d’informations dans différentes langues ► Principe : application successive (pipeline) de ressources linguistiques (Processing Ressources) ► Peut être utilisé : - en environnement de développement - bibliothèque IRIT-IC3 M. Kamel, O. Haemmerlé
Processing Ressources • Tokeniser • Sentence Splitter • Pos Tagger (pas de lemmatisation) Tree Tagger • Gazetteer (compagnies, organisations, …) • Coréférencers (nominal, pronominal) • Morphological Analyser • Parser (Minîpar, Supple, RASP) • Chunker (VP, noun phrase) • Jape Transducer • etc. Corpus GATE Corpus annoté (1) Corpus annoté (2) … Corpus annoté (n) Corpus annoté Gate : Outil pour l’Extraction de Concepts et de Relations Possibilité de créer ses propres ressources IRIT-IC3 M. Kamel, O. Haemmerlé
Gate : Outil pour l’Extraction de Concepts et de Relations • Jape Transducer : • permet dedéfinir des patrons lexico-syntaxiques • utilise les annotationsfournies par les différentes ressources de traitement préalablement appliquées • Gate intègre le langage Java : • Traitement des annotations • Projection d’une ontologie (OWL, RDFS) sur un corpus • Enrichissement d’une ontologie • Peuplement d’une ontologie IRIT-IC3 M. Kamel, O. Haemmerlé
Gate : Outil pour l’Extraction de Concepts et de Relations Un exemple d’annotation : IRIT-IC3 M. Kamel, O. Haemmerlé
Gate : Outil pour l’Extraction de Concepts et de Relations • Classes Java • Ontology • addClass(Oclass), removeClass(Oclass), createClass(String, String) • getClassByName(String), containsClassByName(String) • getTaxonomicDistance(Oclass, Oclass) • … • Oclass • addSubClass(Oclass), removeSubClass(Oclass) • addSuperClass(Oclass), removeSuperClass(Oclass) • addInstance(Oclass, String) IRIT-IC3 M. Kamel, O. Haemmerlé
Bilan sur Gate • Limites • Lent sur gros corpus • Utilisable par des informaticiens • Points forts • Gratuit et disponible • Facile à installer • Application de ressources disponibles ou possibilité de créer ses propres ressources • Intègre le langage Java • Utilisation avec interface graphique ou de façon embarquée dans des applications autonomes • Largement utilisé dans différentes communautés • Systèmes utilisant Gate prennent part aux campagnes d’évaluation dans le domaine du traitement du langage naturel depuis 1995 IRIT-IC3 M. Kamel, O. Haemmerlé
Choix Caméléon - Gate • Nature des utilisateurs (informaticien ou non) • Objectifs : • Enrichir une ontologie • Peupler une ontologie • Annoter des documents • Indexer des documents • Stabilité ou non des relations recherchées • Nécessité de gérer de grandes listes d’entités nommées IRIT-IC3 M. Kamel, O. Haemmerlé
Elargissement : extraction d’informations distribuées sur plusieurs phrases • Patrons lexico-syntaxiques : relations exprimées au sein de la même phrase • Information distribuée sur plusieurs phrases ? • Information pertinente dépend : • du corpus étudié • du type d’application • Modèles de connaissances envisagés pour la résolution : • graphes conceptuels • structures de frame IRIT-IC3 M. Kamel, O. Haemmerlé
Elargissement : extraction d’informations distribuées sur plusieurs phrases • Etude d’un corpus du domaine de la génomique • les coréférences : "The authors used CGH analysis. They show deletion on 13q32.1 on 12 cases." • les anaphores : "Deletion at 13q32.1 was showed by FISH. This analysis is also performed on 12 patients affected with EA." • les ellipses qui : • reposent sur des connaissances du domaine : "12 patients with MM were studied. DNA was extracted and subjected to CGH analysis." • concernent les liens de cohérence et de cohésion existant entre différents paragraphes du texte: "A CGH analysis was performed on 22 Multiple Myeloma cases. 12 patients show deletion at 13q32.1." IRIT-IC3 M. Kamel, O. Haemmerlé
Sixteen patients with MM were studied Graphe de Référence pour le contexte Conditions Expérimentales DNA was subjected to CGH analysis Traduction Appariement RASP Elargissement : extraction d’informations distribuées sur plusieurs phrases IRIT-IC3 M. Kamel, O. Haemmerlé
Elargissement : extraction de relations à partir de tableaux IRIT-IC3 M. Kamel, O. Haemmerlé
Contribution au projet • Construction automatique d’ontologie(s) • À partir de spécifications de schémas de BD (COGIT) • À partir de textes grand public (fourni par LIUPPA) • Usage • Apparier les schémas de BD • Indexer automatiquement les documents en vue de développer des techniques de recherche d’information IRIT-IC3 M. Kamel, O. Haemmerlé
Contribution au projet • Extraction de concepts • À partir de ressources lexicales et ontologiques disponibles • Règles de nommage pour identifier les EN (morphologie des termes) • Utilisation d’outils éprouvés • Extraction de relations • Réadapter les patrons lexico-syntaxiques relatifs aux relations hiérarchiques (hyperonymie, méronymie, définition) et de synonymie • Définir des patrons qui tiennent compte : • Du type de document (exploitation des champs) • De la structure du document (disposition matérielle et ponctuation) • Rechercher les paramètres d’une relation en exploitant les relations argumentatives • Identifier les relations exprimées sur plusieurs phrases si besoin est IRIT-IC3 M. Kamel, O. Haemmerlé
Questions • Particularités des corpus à analyser • ontologies existantes • Taille et volume • Types de relations spécifiques à chacun • Disposer d’échantillons • « Élargissements » nécessaires de la notion de patron • Idem, évaluation des limites des patrons sur une phrase • Besoin de disposer de relations « attendues » et voir si elles peuvent être retrouvées par patron • Particularité des modèles • Distinguer termes et concepts • Disposer des termes associés aux concepts / les extraire IRIT-IC3 M. Kamel, O. Haemmerlé
Gate : Outil pour l’Extraction de Concepts et de Relations ({Token}):Onto --> { gate.AnnotationSet ontos = (gate.AnnotationSet)bindings.get("Onto"); gate.Annotation ontoAnn = (gate.Annotation)ontos.iterator().next(); String className = (String)ontoAnn.getFeatures().get("string"); boolean aClass = ontology.containsClassByName(className); if (aClass) { gate.FeatureMap feature = Factory.newFeatureMap(); feature.put("Classe",ontoAnn.getFeatures().get("string")); outputAS.add(ontos.firstNode(), ontos.lastNode(), "Onto", feature); } } IRIT-IC3 M. Kamel, O. Haemmerlé
Gate : Outil pour l’Extraction de Concepts et de Relations ({Lookup}):l --> { String instances ; gate.AnnotationSet popus =gate.AnnotationSet)bindings.get("l"); gate.Annotation popuAnn = (gate.Annotation)popus.iterator().next(); String nomclasse = (String)popuAnn.getFeatures().get("majorType"); boolean aClass = ontology.containsClassByName(nomclasse); if (aClass) { int begOffset=popus.firstNode().getOffset().intValue(); int endOffset=popus.lastNode().getOffset().intValue(); String mydocContent=doc.getContent().toString(); String matchedString=mydocContent.substring(begOffset,endOffset); ontology.addInstance(matchedString, (OClass)ontology.getClassByName(nomclasse)); } } • Gate intègre le langage Java • Enrichissement d’une ontologie • Peuplement d’une ontologie IRIT-IC3 M. Kamel, O. Haemmerlé