Title: Participation%20de%20l
1Participation de lIRIT IC3 à GEONTO
- Nathalie Aussenac-Gilles CR IRIT CNRS
- Ollivier Haemmerlé PR IRIT - UTM
- Mouna Kamel MC IRIT Univ. Perpignan
2Plan
- Présentation de lIRIT et de léquipe IC3
- Compétences de lIRIT en extraction de relations
- Lapproche par patrons
- 2 outils pour extraire des relations par patrons
- Caméléon
- Gate
- Elargissement à lextraction 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
3Institut de Recherche en Informatique de Toulouse
4Les 7 thèmes de recherche de lIRIT(20 équipes)
- Analyse et synthèse de linformation (4)
- Indexation et recherche dinformations (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)
5Place de IC3 dans lIRIT
- 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)
6Ontologies 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 - gt
extraction de relations et de concepts - Représentation de ressources termino-ontologiques
- Utilisation des graphes conceptuels
- Utilisation dontologies pour lannotation
sémantique et la recherche documentaire dans des
domaines spécialisés - Outils pour lannotation sémantique -gt patrons
dannotation - Distances sémantiques
- Modes dinterrogation des documents annotés
- Confrontation dontologies et de textes pour la
gestion des connaissances - Évolution dans le temps, repérage de changements,
7Plan
- Présentation de lIRIT et de léquipe IC3
- Compétences de lIRIT en extraction de relations
- Lapproche 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
8Extraction de relations à partir de textes
- Buts possibles
- Construction dontologie identification de
classes (concepts) et de relations entre concepts - Annotation de documents repérage dinstances
- 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 dinterpréter la
nature des relations
9Extraction de relations à laide 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.NounAdjNumpro.AdvDet. 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 quil
traduit) peut changer dun corpus à lautre. - 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.
10Des textes vers une ontologie
3 - Normalisation
- 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
11Des textes aux annotations / à un index
corpus
12Camé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 lextraction
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 lontologie
13Caméléon A-Mise au point des patrons dun projet
- Forme dun 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 dun patron de la bibliothèque
- Création à partir de linterprétation (lecture)
de contextes par lananlyste - 4 étapes pour la mise au point dun 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)
A X B Y C
14Pattern evaluation in Caméléon
Pattern
Sentences where the pattern occur
Precision rate
15Camé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 sils
nexistent pas - Ajouter la relation
-
16Bilan sur Caméléon
- Limites
- Processus faisant intervenir beaucoup lhumain
- Lent sur gros corpus
- Lourd à installer (MySql, TreeTagger, Emdros,
Java, Code Caméléon) - Pas de classe sémantique à lintérieur des
patrons - Partie enrichissement dontologie à 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
17Gate Outil pour lExtraction de Concepts et de
Relations
- ? Gate General Architecture for Text
Engineering - ? Gate Plate-forme dingénierie linguistique
Cunningam et al., 2002 - ? Largement utilisé pour lextraction
dinformations dans différentes langues - ? Principe application successive (pipeline) de
ressources linguistiques (Processing Ressources) - ? Peut être utilisé
- - en environnement de développement
- - bibliothèque
18Gate Outil pour lExtraction de Concepts et de
Relations
? Possibilité de créer ses propres ressources
19Gate Outil pour lExtraction 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 dune ontologie (OWL, RDFS) sur un
corpus - Enrichissement dune ontologie
- Peuplement dune ontologie
-
20Gate Outil pour lExtraction de Concepts et de
Relations
Un exemple dannotation
21Gate Outil pour lExtraction 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)
22Bilan 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
23Choix 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 dentités
nommées
24Elargissement extraction dinformations
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 dapplication
- Modèles de connaissances envisagés pour la
résolution - graphes conceptuels
- structures de frame
25Elargissement extraction dinformations
distribuées sur plusieurs phrases
- Etude dun 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."
26Elargissement extraction dinformations
distribuées sur plusieurs phrases
27Elargissement extraction de relations à partir
de tableaux
28Contribution au projet
- Construction automatique dontologie(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
dinformation
29Contribution au projet
- Extraction de concepts
- À partir de ressources lexicales et ontologiques
disponibles - Règles de nommage pour identifier les EN
(morphologie des termes) - Utilisation doutils é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 dune relation en
exploitant les relations argumentatives - Identifier les relations exprimées sur plusieurs
phrases si besoin est
30Questions
- 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
31Gate Outil pour lExtraction de Concepts et de
Relations
(Token)Onto --gt gate.AnnotationSet ontos
(gate.AnnotationSet)bindings.get("Onto")
gate.Annotation ontoAnn (gate.Annotation)ontos.i
terator().next() String className
(String)ontoAnn.getFeatures().get("string")
boolean aClass ontology.containsClassByName(clas
sName) if (aClass) gate.FeatureMap feature
Factory.newFeatureMap()
feature.put("Classe",ontoAnn.getFeatures().get("st
ring")) outputAS.add(ontos.firstNode(),
ontos.lastNode(), "Onto", feature)
32Gate Outil pour lExtraction de Concepts et de
Relations
- Gate intègre le langage Java
- Enrichissement dune ontologie
- Peuplement dune ontologie
-
- (Lookup)l --gt
- String instances
- gate.AnnotationSet popus gate.AnnotationSet)bin
dings.get("l") - gate.Annotation popuAnn (gate.Annotation)popus
.iterator().next() - String nomclasse (String)popuAnn.getFeatures()
.get("majorType") - boolean aClass ontology.containsClassByName(no
mclasse) - if (aClass)
- int begOffsetpopus.firstNode().getOffset().int
Value() - int endOffsetpopus.lastNode().getOffset().intV
alue() - String mydocContentdoc.getContent().toString()
- String matchedStringmydocContent.substring(beg
Offset,endOffset) - ontology.addInstance(matchedString,
- (OClass)ontology.getClassByName(nomclasse))
33(No Transcript)