Document 7752823
Download
Report
Transcript Document 7752823
Participation de l’IRIT – IC3 à
GEONTO
Nathalie Aussenac-Gilles CR
Ollivier Haemmerlé
PR
Mouna Kamel
MC
GEONTO - 18 janvier 2008
IRIT-IC3
IRIT – CNRS
IRIT - UTM
IRIT – Univ. Perpignan
M. Kamel, O. Haemmerlé
1
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
2
Institut de Recherche
en Informatique de Toulouse
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
3
Les 7 thèmes de recherche de l’IRIT
(20 équipes)
1.
Analyse et synthèse de l’information (4)
2.
Indexation et recherche d’informations (2)
3.
Interaction, autonomie, dialogue et coopération (4)
4.
Raisonnement et décision (3)
5.
Modélisation, algorithmes, calcul haute performance (1)
6.
Architecture, systèmes et réseaux (4)
7.
Sûreté de développement du logiciel (2)
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
4
Place de IC3 dans l’IRIT
3.
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)
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
5
“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
Utilisation d’ontologies pour l’annotation sémantique et la
recherche documentaire dans des domaines spécialisés
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
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, …
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
6
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
Elargissements :
Caméléon
Gate
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
7
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
8
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 be defined as a Development Process.
Patron lexico-syntaxique: to define {Prp.*|Noun|Adj|Num|pro.*|Adv|Det.*}* as
The GDP manual defines Software project as 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.
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
9
Des textes vers une ontologie
1 – projection
des patrons
2 – Définition de
concepts et de
relations
3 - Normalisation
4–
Représentation
des
connaissances
Def-concept A:B
att a-pour-partie C
att
Corpus
Relations lexicales
Relations conceptuelles
Relations Formelles
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
10
Des textes aux annotations / à un index
1 – projection
des patrons
corpus
2 – marquage des
textes /annotation
corpus
Liste de concepts
ou relations +
localisation
Passages de texte
2 – création d’un
index
Motorisation Manque de puissance
Phase moteur : accélération
En roulant, le moteur manque de puissance en accélération
et en vitesse de pointe.
Phase véhicule : grande vitesse
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
11
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
12
Caméléon : A-Mise au point des patrons d’un projet
Forme d’un patron
où
AXBYC
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
1.
2.
3.
4.
É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)
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
13
Pattern evaluation in Caméléon
Sentences where the pattern occur
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
Pattern
Precision rate
14
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
15
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
16
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
17
Gate : Outil pour l’Extraction de Concepts et de
Relations
Processing Ressources
Corpus
Tokeniser
Sentence Splitter
Pos Tagger (pas de lemmatisation) Tree Tagger
Gazetteer (compagnies, organisations, …)
Coréférencers (nominal, pronominal)
Corpus annoté (1)
Morphological Analyser
Corpus annoté (2)
Parser (Minîpar, Supple, RASP)
…
Chunker (VP, noun phrase)
Jape Transducer
etc.
GATE
Corpus annoté (n)
Corpus annoté
Possibilité de créer ses propres ressources
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
18
Gate : Outil pour l’Extraction de Concepts et de
Relations
Jape Transducer :
permet de définir des patrons lexico-syntaxiques
utilise les annotations fournies 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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
19
Gate : Outil pour l’Extraction de Concepts et de
Relations
Un exemple d’annotation :
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
20
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)
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
21
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
22
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
23
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
24
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."
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
25
Elargissement : extraction d’informations
distribuées sur plusieurs phrases
Sixteen patients with MM were studied
DNA was subjected to CGH analysis
Graphe de Référence pour le contexte Conditions Expérimentales
Traduction
RASP
Appariement
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
26
Elargissement : extraction de relations à partir de
tableaux
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
27
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
28
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
29
Questions
Particularités des corpus à analyser
ontologies existantes
Taille et volume
Types de relations spécifiques à chacun
« Élargissements » nécessaires de la notion de patron
Disposer d’échantillons
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
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
30
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);
}
}
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
31
Gate : Outil pour l’Extraction de Concepts et de
Relations
Gate intègre le langage Java
Enrichissement d’une ontologie
Peuplement d’une ontologie
({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)); } }
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
32
GEONTO - 18 janvier 2008
IRIT-IC3
M. Kamel, O. Haemmerlé
33