– Reconnaissance des instances : pour chaque concept présenté dans le texte, nous vérifions si la présence est de concept ou d'une instance du concept.. – Reconnaissance des triplets : d
Trang 1Etudiant : Minh-Tuan NGUYEN
Superviseurs : Hacène Cherfi
Khaled Khelif Rose-Dieng Kuntz
Mémoire de fin d'études Master d'Informatique sémantiques automatiques à partir
de documents multimédias
Trang 2I Introduction 5
II Intégration des outils linguistiques 6
1.Plate-forme de Gate 6
2.Acabit 8
3.Fastr 9
4.implantation 11
III Annotation sémantique automatique des textes 15
1.Introduction 15
2.Travaux similaires 17
a)Détection des concepts et reconnaissance des instances 17
b)Détection des relations 18
3.Détection des concepts 19
a)Objectif 19
b)Difficultés 19
c)Description de l'algorithme général 21
4.Reconnaissance des instances 21
a)Objectif 21
b)Difficultés 22
5.Détection des relations 22
a)Objectif 22
b)Difficultés 22
c)Description de l'algorithme général 23
6.Reconnaissance des triplets 23
a)Objectif 23
b)Algorithme général 24
c)Difficultés 24
7.Implantation 25
a)Travaux à faire 25
b)RASP Parseur 26
c)Algorithme 27
Trang 3IV Annotation sémantique automatique des textes associés à une image 33
1.Introduction 33
2.Sémantique d'une image 34
3.Algorithme 37
a)Modèle général 37
b)Algorithme général 38
c)Le meilleur triplet 38
d)Condition d'arrêt 42
e)Exemple 43
V Conclusion et perspective 46
VI Référence 48
VII Annexe 50
Trang 4C'est un grand plaisir pour moi de remercier tous les personnes qui ont permis à ce travail d'être ce qu'il est.
Je remercie tout d'abord M Hacène CHERFI de m'avoir bien dirigé avec une grande chaleur de pas en pas toute la durée du stage, je ne peux rien accomplir sans vous
Je remercie Mme Rose DIENG-KUNTZ, Directrice de recherches INRIA pour m'avoir choisir et surtout pour nos discussions enflammées qui me donne beaucoup de connaissances intéressantes Je n'oublie jamais votre sourire dans la première fois nous nous rencontrons
Je remercie M Khaled KHELIF qui m'a aidé dans les premiers pas de mon stage ainsi que dans les moments ó je dois faire face des problèmes difficiles
Je remercie tous les membres du groupe EdelWeisse : Priscile, Virginie, Noureddine, Mohamed, Alain, Olivier de votre accueil ainsi que de m'avoir aidé lorsque j'ai besoin.J'ai également apprécié la région Alpes Cơte d'Azur ó il y a beaucoup de paysages très très beau que je n'ai jamais vu dans ma vie
Trang 5Ce futur web baptisé web sémantique a été défini comme un « web intelligent » ó les informations stockées dans les machines seraient en plus comprises par ses dernières afin de répondre efficacement aux requêtes lancées par les utilisateurs.
Pour exploiter directement la sémantique des ressources du web, il faut une représentation de
la sémantique La représentation par graphe est maintenant focalisé dans le domaine de Web Sémantique C'est-à-dire, chaque document est représenté par un graphe, en suite, les manipulations et exploitations sont fait sur ces graphes
Maintenant, le problème d'annotations sémantiques automatiques (transformation de document au sa représentation sémantique) est toujours comlexe Et les travaux du stage font partie des efforts pour une plate-forme d'annotations sémantiques automatiques, la plate forme SemAnnot Pour l'instance, les graphes générés ont besoin d'être vérifiés par des experts Ce n'est pas vraiment automatique
Dans le cadre du stage, les travaux se composent de trois parties principales :
pour deux outils existants, Acabit [Acabit-URL] et Fastr [Fastr-URL], suivant l'approche
de Gate Ces deux Wrappers doivent être intégrés dans la plate-forme de Gate
dans le projet SevenPro nous implémentons deux modules: reconnaissance des instances
et reconnaissance des triplets suivant une approche syntaxique
partie est de chercher une solution d'annotations sémantiques automatiques des textes associés à une image
Trang 6II Intégration des outils linguistiques
Pour une plate-forme comme « SemAnnot », la réutilisation des outils linguistiques est très importante Maintenant, il y a beaucoup d'outils linguistiques existants, et nous allons gagner beaucoup de temps si nous réutilisons ces outils Heureusement, Gate[Gate-URL] nous donne une approche qui nous permet d'intégrer des outils à un système en Java
Pour comprendre ces intégrations, nous avons besoin d'étudier ces outils ainsi que la forme de Gate
plate-1 Plate-forme de Gate
Selon [Khaled-2006], Gate est une plate-forme d'ingénierie linguistique qui repose sur l'application successive de transducteurs aux textes Conformément aux termes employés par ses concepteurs, nous parlons ici des ressources de traitement (Processing Ressources : PR) Ces ressources de traitement utilisent le texte modifié par les ressources précédemment appliquées pour ajouter de la structure au texte Les ressources de traitement les plus courantes sont les
(JAPE transducers), et les patrons d'extractions (Templates) Ils sont appliqués au texte au sein d'une cascade (chaine de traitement ou pipeline)
A côté de ces ressources de traitement qui sont déjà intégrées dans la plate-forme de Gate, il est possible d'intégrer d'autres outils existantes aux pipelines même si ces outils ne sont pas en Java qui est le langage de programmation pour Gate Cette intégration se fait par Wrappers.Pour l'intégration des outils qui utilisent des formats de sorties et d'entrées différents, Gate propose un format commun basé sur XML pour tout pipeline, les entrées et sorties de tous les modules qui font partie à un pipeline doivent être transformés au format XML C'est la structure pivot
Nous présentons ci-après le schéma de la structure pivot utilisé par Gate, un exemple réel de
la structure est présenté dans la partie Annexe du rapport
<?xml version="1.0" encoding="UTF-8" ?>
<GateDocument>
<! The =document’s features >
1 A Tokenizer est un module de traitement de texte qui identifie chaque token d'un langage avec sa label correspondant [Magnini-2003].
2 A POS-Tagger est un module de traitement de texte qui donne un POS (Part of Speech) à chaque mots d'un
Trang 7<Annotation Type="Sentence" StartNode="0" EndNode="147"> </Annotation>
<Annotation Type="Split" StartNode="146" EndNode="147">
<! Named annotation set >
<AnnotationSet Name="Original markups" >
<Annotation Type="paragraph" StartNode="0" EndNode="147"> </Annotation>
</AnnotationSet>
</GateDocument>
Exemple 1 Une exemple de structure pivot XML de Gate
En utilisant la structure pivot, Gate peut coordonner de façon automatique plusieurs outils existants qui sont écrits par des langages différents Dans cette partie, nous créons deux Wrapper pour deux outils existants (Acabit et Fastr) La mission principale est de transformer leur sortie
Trang 82 Acabit
Acabit est un outil linguistique qui détecte des termes à partir d'un texte Son approche de la détection des termes est basée sur la découverte, la structuration et l'inférence les relations conceptuelles entre les termes [Daille-2003] Pour une SemAnnot, Acabit aide à proposer de nouveaux termes à partir de corpus
Pour fonctionner correctement, Acabit pour l'anglais a besoin du POS Tagger Brill et d'un
CELEX et la base de données de Brill Le figure suivante montre la chaîne de traitement de Acabit, de l'entrée à la sortie
Pour la sortie, Acabit retourne une liste des candidat-termes sous forme XML
3 Lemmatiseur est un module de traitement de texte qui détecte le lemma pour retrouver le mot original à partir
Figure 1: Chaîne de traitement d'Acabit
Texte d'entrée Prétraitement POS Tagger Brill Lemmatiseur Acabit Sortie XML
Base de données de CELEX
Base de données de POS Tagger Brill
Base de données
du Lemmatiseur combiner
li re
lir e
Trang 9<SETCAND new_ident="6" loglike="1011.405" freq="1">
Exemple 2 Une sortie sous structure XML de Acabit.
Des termes proposés sont claire dans la liste ci-dessus, il y a trois termes proposés : local nature, large amount et specific domain Nous introduisons ensuite le Fastr, l'outil deuxième
Fastr dispose de deux modes de travail :
corpus C'est le mode que nous utilisons
Trang 10Voici ci-dessous, une résultat réel en sortie de Fastr :
Since large amounts of textual and terminological data must be , we a partial analysis of multi-domain documents to
an in-depth understanding to a specific domain
000001 large amount large amounts 0
000001 terminological datum terminological data 0
000001 partial analysis partial analysis 0
000001 multi-domain document multi-domain documents 0
000001 in-depth understanding in-depth understanding 0
000001 specific domain specific domain 0
Because of their local nature ( they not entire sentences ) and because of their high information content , terms are privileged keys for information description and , therefore , term extraction is an unavoidable preliminary phase to document indexing
000002 local nature local nature 0
000002 entire sentence entire sentences 0
000002 information description information description 0
000002 information content information content 0
000002 high information high information 0
000002 term extraction term extraction 0
000002 privileged key privileged keys 0
000002 preliminary phase preliminary phase 0
000002 document indexing document indexing 0
Exemple 3 : Une résultat réel en sortie de Fastr
Figure 2: Modèle de travail de Fastr
Trang 114 Implantation
Pour l'intégration d'un nouvel outil à la plateforme de Gate, il y a deux étapes principales :
langage
format de sortie de l'outil
Acabit Wrapper
Figure 3: Manière de fonctionner d'un Wrapper sous Gate
Outil à intégrer
Faire fonctionner l'outil Entrée dans
Résultats réels de l'outil
Trang 12Illustration 1: Résultat du Wrapper d'Acabit dans la plate-forme de Gate
Figure 4: Les classes du Wrapper de Acabit
Trang 13Et une annotation en détail de AcabitTerm est la suivante :
<Annotation Id="158" Type="AcabitTerm" StartNode="408" EndNode="425">
Trang 14Fastr Wrapper
Figure 5: Les classes du Wrapper de Fastr
Trang 15L'exemple suivante montre une annotation de FastrTerm sous forme XML suivant la structure pivot de Gate.
<Annotation Id="158" Type="FastrTerm" StartNode="374" EndNode="389">
Exemple 5: une annotation en détail de FastTerm
III Annotation sémantique automatique des textes
Trang 16Après avoir obtenu le graphe correspondant à la sémantique d'un document, nous pouvons effectuer des manipulations sémantiques sur ce document Donc, la transformation automatique d'un document vers son graphe est très importante Imaginez que vous devez annoter environ 10.000 documents, cela demande beaucoup de temps et n'est pas possible pour un système réel Pas à pas, nous cherchons une solution au problème d'annotations sémantiques automatiques Dans cette partie, nous présentons le modèle général du problème, ensuite les étapes principales
et enfin, nous testons une approche de la reconnaissance des triplets basée sur les relations grammaticales
En général, le problème d'annotations sémantiques automatiques se compose de 4 problèmes :
concepts à détecter sont définis dans l'ontologie En général, cette étape retourne une liste des concepts trouvés depuis le texte
– Reconnaissance des instances : pour chaque concept présenté dans le texte, nous vérifions si la présence est de concept ou d'une instance du concept Si c'est une instance
du concept, cette étape retourne l'instance correspondante au concept
présence des relations dans un texte, ces relations détectées sont définies dans l'ontologie En général, cette étape retourne une liste des concepts trouvés dans le texte
– Reconnaissance des triplets : depuis les concepts et les relations trouvées, cette étape les combine pour générer les triplets correspondants à la sémantique du texte C'est-à-dire, pour chaque relation, cette étape grammaticale cherche son sujet et son objet correspondants
Exemple 6: Le graphe correspond une phrase
The Ferrari team won the Grand Prix.
Trang 172 Travaux similaires
Il y a beaucoup de recherches ainsi que de nombreux outils d'annotations sémantiques Mais, jusqu'à présent, il existe beaucoup de limitations Dans cette partie, nous allons revoir quelques recherches similaires suivant chaque étape d'annotation sémantique
a) Détection des concepts et reconnaissance des instances
D'un point de vue théorique, nous pouvons considérer la détection des concepts et la reconnaissance des instances comme deux étapes différentes puisque leurs difficultés, c'est la raison pour laquelle dans ce rapport nous les présentons comme deux étapes
Mais, jusqu'à présent, la plupart des outils ne prennent pas en compte le traitement des
une partie de la détection des concepts Et de plus, maintenant presque tous les outils ne prennent pas en compte l'ambiguïté sémantique(5)
Le plus simple, nous détectons les concepts à partir les termes correspondants, chaque présence d'une chaîne d'un certain terme est comptée comme une présence d'un concept correspondant C'est l'algorithme appliqué dans COSHE [Bechhofer-2001] Cet algorithme ne contient pas la reconnaissance des instances
Une meilleure solution appliquée dans Melita [Ciravegna-2002] est l'utilisation d’expressions régulières Ici, la présence d'un concept est reconnue par une expression régulière Par exemple :
Hotel + [Proper Noun] => le concept « Hotel » et le [Proper Noun] est l'instance du concept
Grâce à ces expressions régulières, la détection des concepts permet également la reconnaissance des instances, mais cet algorithme ne peut pas résoudre le problème de remplacement par pronom Il doit accepter la perte de concept et d'instance dans ce cas-là De plus, Melita utilise l'apprentissage supervisé pour la collection des expressions régulières
4 Voir la section Reconnaissance des instances.
Trang 18Illustration 3: Apprentissage supervisé dans Melita
Clairement, l'apprentissage supervisé demande beaucoup d'effort des utilisateurs À côté de l'apprentissage supervisé, l'apprentissage non supervisé peut être aussi appliqué pour la reconnaissance des instances, c'est le cas de Armadillo[Ciravegna-2004]
Pour reconnaître des noms d'entités, d'abord il collecte les noms d'entité par une méthode de l'extraction de l'information (IE) en utilisant l'apprentissage non supervisé Les noms d'entité sont collectés à partir des noms des auteurs des articles dans Citeseer, ou à partir des informations supplémentaires qui indiquent les noms propres par exemple : noms de personnes, de lieux, d'entreprises,
Le point fort d'Armadillo est qu'il demande beaucoup moins d'intervention manuelle que Melita, c'est une bonne solution pour collecter les noms d'entités avec une bonne précision et rappel selon son test Cette solution est bonne pour collecter les noms des personnes, pays, villes mais pour collecter les noms de livres , par exemple : Romeo and Julliette est considéré comme un nom ou deux noms ? Dans les tests donnés par Armadillo, la précision de la reconnaissance de chaque type de noms n'est pas distinguée
b) Détection des relations
Maintenant, il y a pas beaucoup d'outils qui se focalisent sur la détection des relations
[Uren-2006, Cimiano-2003], la plupart de ces outils représentent un document comme un ensemble des concepts C'est-à-dire, ils ne détectent pas les relations entre les concepts Dans cette partie, nous présentons la manière de la détection des relations dans MeatAnnot [Khelif-2006]
Pour décrire les signes d'une relation, dans MeatAnnot utilise des expressions régulières qui sont écrites par le langage JAPE, par exemple :
Trang 19Pour détecter des relations avec les expressions comme ça, il faut un Lemmatiseur pour reconnaître le lemma d'un mot conjugué C'est-à-dire, dans MeatAnnot ils ont déjà résolu le
Actuellement, il n'y a pas beaucoup de recherches se focalisant sur la détection des relations,
et par conséquent la vérification des triplets (7), qui est le problème le plus important de la partie
de reconnaissance des triplets, n'est pas encore prise en compte Dans MeatAnnot, les auteurs détectent les triplets des phrases simples issues de textes en biologique : Sujet-Verbe-Objet Donc, la vérification des triplets est aisée Cependant, pour les phrases plus difficiles, cette vérification constitue réellement un problème
3 Détection des concepts
a) Objectif
D'un point de vue sémantique, nous détectons la présence des concepts dans un texte, ces concepts était déjà définis dans l'ontologie
b) Difficultés
Il y a des difficultés aux quelles nous devons faire face lorsque nous détectons un concept
nous allons perdre le concept
Ex : « corpora » est le pluriel de « corpus » Donc, les deux mots « corpora » et
« corpus » sont deux signes de la présence du concept « corpus »
6 Voir la section Difficultés de Détection des Relations.
Figure 6: Une expression régulière écrit dans JAPE
Trang 20peut désigner plusieurs concepts Dans la phrase, un syntagme est concept A, dans une autre phrase il est peut-être concept B, voire une certaine relation.
Par exemple :
oriental art »
results »
Il n'est pas facile de savoir automatiquement quel mot est remplacé par le pronom par le pronom
Ex : The house of Mary is far from the center of city But it is very confortable.
langue naturelle, surtout la langue parlée : quelquefois, il cache des mots importants, mais les lecteurs ou auditeurs peuvent toujours comprendre notre idée
La phrase « I can not » est équivalente à « I can not show an example »
c) Description de l'algorithme général
Trang 21Chaque concept a des signes de présence C'est-à-dire, pour savoir si un concept existe dans une phrase ou pas, on cherche ses signes de présence Clairement, une chaîne correspondante à
un concept est un de ses signes de présence Par exemple : la présence de la chaîne « car » est un signe de présence du concept « Car » Mais, il existe l'ambiguïté sémantique, remplacement par pronom , donc juste la présence de chaînes n'est pas suffisante, il faut des informations de l'extérieur de terme/phrase
Par exemple :
Soit deux phrases : « (1) My car is very expensive (2) But it is not so big »
Clairement, pour savoir que la chaîne « it » dans la deuxième phrase exprime la présence du concept « Car », il faut obligatoirement la première phrase
4 Reconnaissance des instances
a) Objectif
Pour chaque présence d'un chaîne proche d'un concept de l'ontologie, nous avons besoin de savoir si c'est une instance du concept ou le concept Ensuite, si c'est une instance du concept, nous avons besoin encore de savoir si c'est une nouvelle instance ou une instance qui est déjà
Algorithme 1: Modèle général de la détection des concepts
Terme/syntagme
Détection des concepts
Informations de l'extérieur
du terme/syntame
Trang 22b) Difficultés
Ex : « I like rose » : Le terme « rose » ici désigne le concept « Rose », pas une certaine instance du concept « Rose »
« I like this rose » : Le terme « rose » ici désigne une instance du concept « Rose »
Ex : « The house of Mary is far from the center of city But this house is very
richesse de la langue naturelle De ce fait, la vérification du sujet et de l'objet est faite par
l'étape reconnaissance des triplets.
b) Difficultés
Similairement à la détection des concepts, il y a aussi des difficultés similaires aux quelles nous devons faire face lorsque nous détectons une relation
en anglais un verbe a normalement 5 variants
Ex : ces syntagmes « be a component of », « is a component of », « was a component
of » dénotent une même relation
syntagme peut désigner plusieurs relations
Trang 23désigne la relation « Begin ».
c) Description de l'algorithme général
D'un point de vue générale, il n'y a pas beaucoup de différences entre la détection des concepts et la détection des relations Parce que la détection d'une relation est le processus de la recherche des signes de présence de la relation Clairement, des chaînes correspondantes à la relation sont considérées comme des signes de présence de la relation, mais ce n'est pas suffisant, il faut des informations de l'extérieur du terme/syntagme
6 Reconnaissance des triplets
a) Objectif
La fonction principale de cette étape est de générer les triplets qui expriment le « sens » de la phrase correspondante Le problème principal de cette étape est comment vérifier si un triplet correspond la sens de la phrase correspondante ou pas
Algorithme 2: Détection des relations
Terme/syntagme
Détection des relations
Informations de l'extérieur
du terme/syntagme
Trang 24b) Algorithme général
Algorithme 3: Algorithm général de reconnaissance des triplets.
Clairement, la fonction isCorrespondingToMeaningOfText(t) est le problème principal de
cette étape En fait cette fonction vérifie si un triplet exprime le sens du texte correspondant Comme nous l'avons précisé dans la partie de la détection des relations, cette vérification est difficile C'est donc la partie de la reconnaissance des triplets qui le fait Par exemple :
The engineer who invents OX2 car works in the Honda company.
Wheel discs which cover wheel and hub nuts may project beyond the vertical projection of the external surface.
Dans la première phrase, il y a deux triplets : [engineer – invent – OX2 car] et [engineer – work – Honda company].
c) Difficultés
Les entrées de cette étape sont les sorties de trois premières étapes : détection des concepts, reconnaissance des instances et détection des relations Donc, les erreurs de ces étapes influent beaucoup sur la vérification des triplets Nous pouvons classifier les erreurs de ces trois étapes
en deux types :
– Perte : il existe des concepts, relations et instances que nous ne reconnaissons pas dans le
texte
Ex : « This car is very modern But it is very expensive »
Peut-être le module de la détection des concepts ne reconnaît pas la présence du concept
« Car » dans la deuxième phrase Cela exprime ce que nous appelons une Perte.
Input :
−C : list of found concepts which are returned by the step Detection of Concepts.
−R : list of found relations which are returned by the step Detection of Relations Output :
−G : set of triples express the semantic of the corresponding text.
Trang 25– Incorrection : c'est causé par des reconnaissances incorrectes, nous se méprenons que un
concept, une relation sont présenté dans le texte, mais en faite c'est faux
Par exemple : « Ferrari is a good team » Peut-être que le module de la détection des
concepts considère Ferrari comme une instance du concept « Car », mais, il n'existe pas de
concept « Car » dans ce texte C'est une Incorrection.
Normalement, le taux de Perte varie à raison l'inverse du taux d'Incorrection Clairement, si nous voulons moins de perte, nous devons accepter plus d'incorrection et vice-versa
Si le taux de Perte est trop grand, le module de reconnaissance des triplets a besoin de deviner des concepts ou des relations manquées Si le taux de Faute est trop grand, la raison principale est l'ambiguïté sémantique
Pour la vérification des triplets, clairement nous avons besoin de plus d'information Dans la partie de l'implantation, nous suivons l'approche syntaxique dans laquelle les informations supplémentaires pour la vérification des triplets sont les relations grammaticales entre les mots
Ces deux parties sont implémentées dans un même module : génération des triplets Les
travaux à faire sont les suivants :
1) Pour chaque concept qui est détecté par le module de la détection des concepts, nous cherchons son instance, normalement une instance est une chaîne de caractères
2) À partir des concepts et des relations, nous cherchons les triplets qui correspondent au
« sens » de la phrase
3) À partir des triplets trouvés, nous générons l'annotation RDF
Comme l'exemple ci-dessus, « Team » est un concept trouvé par le module de la détection de concepts, ce concept est stocké sous forme de structure pivot XML de Gate
<Annotation Id="68" Type="Concept" StartNode="63" EndNode="67">
<Feature>
<Name className="java.lang.String">term</Name>
Trang 26Exemple 7 : Le concept « Team » sous la forme de structure pivot XML de Gate.
Similairement, comme le suivant c'est la relation « establish » retournée par le module de la détection des relations:
<Annotation Id="65" Type="RelationShip" StartNode="42" EndNode="53">
Exemple 8 : La relation « establish » sous la forme de structure pivot XML de Gate.
Les sorties des modules de détection de concept et de relation constituent les entrées du module de génération des triplets
b) RASP Parseur
RASP (Robust Accurate Statistical Parsing) [Briscoe et Carroll, 2002] est un analyseur probabiliste pour l'anglais, il permet par des calculs statistiques afin de prédire la relation grammaticale (sujet, objet ) entre les mots dans le texte De plus, RASP contient aussi un POS Tagger
Pour l'utilisation de Gate dans SevenPro, il faut un Wrapper intégré dans la plate-forme de Gate Gate a fournit un Wrapper pour RASP Nous l'avons utilisé dans notre projet après avoir corrigé quelques fautes du Wrapper, l'exemple suivant montre un résultat du Wrapper
("The" "door" "X300" "is" "a" "element" "of" "the" "Ferrari" "Car" ".") 1 ; (-16.380)
(|ncsubj| |be+s:4_VBZ| |door:2_NN1| _)
(|xcomp| _ |be+s:4_VBZ| |element:6_NN1|)
(|det| |element:6_NN1| |a:5_AT1|)
(|iobj| |element:6_NN1| |of:7_IO|)
(|dobj| |of:7_IO| |Car:10_NN1|)
(|det| |Car:10_NN1| |the:8_AT|)
(|ncmod| _ |Car:10_NN1| |Ferrari:9_NP1|)
(|ncmod| _ |door:2_NN1| |X300:3_NP1|)
(|det| |door:2_NN1| |The:1_AT|)
Exemple 9 : Un résultat du Wrapper sous Gate de RASP
Trang 27c) Algorithme
i Reconnaissance des instances
Nous utilisons un POS Tagger qui peut reconnaître les noms propres Avec ce POS Tagger, la reconnaissance des instances est faite par deux patrons :
Patron 1 : <Nom> <Nom_Propre>
Patron 2 : <Nom_Propre> <Nom>
<Nom> ici correspond à un concept de l'ontologie, et le <Nom Propre> est l'instance correspondante au concept Par exemple : à partir du syntagme « Ferrari car » qui correspond le patron <Nom_Propre> <Nom>, nous reconnaissons Ferrari comme l'instance du concept
« Car » Et similairement au syntagme « engineer Tom »
Pour l'instance, l'algorithme est similaire à celui de Melita [Ciravegna-2002], et d'autres problèmes difficiles ( par exemple : la reconnaissance d'un concept existant ) seront pris en compte dans nos travaux futurs
ii Vérification des triplets
Pour vérifier si un triplet exprime la sémantique du texte correspondant dans cette implantation, nous utilisons des relations grammaticales reconnues par RASP Parseur
Par exemple :
Soit la phrase : « The S8571 team established O8951 engine »
Par exemple, voici les relations grammaticales générées par RASP correspondantes:
À partir de deux relations ncsubj et dobj, on peut dire que le triplet team-establish-engine
correspond la sémantique de la phrase
La phrase dans cet exemple est très simple, suivant la structure Sujet-Verb-Objet En réalité, pour les phrases plus difficiles, cette vérification est plus difficile Pour chaque nouveau type de phrase, il faut analyser le résultat correspondant de RASP pour trouver la bonne condition de cette vérification Et il y a une autre raison qui empêche de trouver cette condition, c'est que RASP ne fonctionne pas très bien pour les phrases difficiles et les relations grammaticales
(|ncsubj| |establish+ed:4_VVD| |team:3_NN1| _) (|dobj| |establish+ed:4_VVD| |engine:6_NN1|)
(|ncmod| _ |engine:6_NN1| |O8951:5_NP1|)(|det| |team:3_NN1| |the:1_AT|)
(|ncmod| _ |team:3_NN1| |S8571:2_NP1|)