1. Trang chủ
  2. » Ngoại Ngữ

Identification et extraction de relations n aires à partir des textes

82 128 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 2,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dans le processus d’annotation sémantique, l’extraction des relations sémantiques dans un texte est indispensable car cela permet de détecter non seulement les concepts dans une ontologi

Trang 1

Mémoire de fin d’études Master en informatique

Identification et extraction de relations

n-aires à partir des textes

Réalisé par :

NGUYEN Van Tien

Etudiant de la promotion 12, IFI

Sous la direction de :

Khaled KHELIF Hacène CHERFI

Réalisé au sein de l'équipe-projet EDELWEISS de l’INRIA Sophia Antipolis, France

Sophia Antipolis, France, le 30 septembre 2008

Trang 2

Page 1

Table des matières

Remerciements 3

Résumé 4

Abstract 5

Liste des figures 6

Liste des tableaux 7

1 Introduction 8

1.1 Contexte 8

1.2 Problématique 8

1.3 Motivation 8

1.4 Objectifs 9

1.5 Contribution 9

1.6 Environnement du stage 10

1.7 Organisation du document 10

2 Etat de l’art 11

2.1 Web sémantique 11

2.2 Ontologie 11

2.2.1 Introduction 11

2.2.2 Représentation des ontologies 12

2.2.3 Ingénierie des ontologies 13

2.3 Annotation sémantique 14

2.3.1 Introduction 14

2.3.2 Outils d’annotation sémantique et SemAnnot 16

2.4 Relation sémantique 17

2.4.1 Extraction des relations sémantiques 17

2.4.2 Positionnement de notre stage dans le contexte de travail 18

2.5 Définition de la relation n-aire 19

2.5.1 Cas d'utilisation 1 : un attribut additionnel décrivant la relation 19

2.5.2 Cas d'utilisation 2 : plusieurs aspects différents d'une même relation 20

2.5.3 Cas d'utilisation 3 : sans argument principal de la relation 21

2.5.4 Cas d'utilisation 4 : avec une liste ordonnée d’arguments 21

2.6 Analyse syntaxique de la phrase 22

2.6.1 Introduction 22

2.6.2 Outil d'analyse syntaxique RASP 22

2.6.3 Description des relations grammaticales de RASP 24

2.7 Conclusion 25

3 Méthode proposée pour l'identification et l'extraction des relations n-aires à partir de texte 26 3.1 Introduction 26

3.2 Prétraitement 27

3.2.1 Récupération et formalisation des relations grammaticales 27

3.2.2 Triplet de tokens communs à toutes les relations n-aires 28

3.3 Identification de la relation n-aire 29

3.3.1 Cas d’utilisation 1 29

3.3.1.1 Division en sous-cas 29

Trang 3

Page 2

3.3.1.2 Identification de sous-cas 1 30

3.3.1.3 Identification de sous-cas 2 30

3.3.2 Cas d’utilisation 2 31

3.3.2.1 Division en sous-cas 31

3.3.2.2 Identification de sous-cas 1 31

3.3.2.3 Identification de sous-cas 2 32

3.3.3 Cas d’utilisation 3 32

3.3.4 Cas d’utilisation 4 33

3.4 Extraction des arguments d’une relation n-aire 33

3.4.1 Algorithme d'extraction d'un argument de la relation n-aire 33

3.4.1.1 Détermination du token pivot 34

3.4.1.2 Construction du graphe correspondant à la phrase 34

3.4.1.3 Recherche dans le graphe 36

3.4.2 Cas d’utilisation 1 37

3.4.2.1 Description des arguments et formalisation de la relation n-aire 37

3.4.2.2 Extraction des arguments 38

3.4.3 Cas d’utilisation 2 40

3.4.3.1 Description des arguments et formalisation de la relation 40

3.4.3.2 Extraction des arguments 41

3.4.4 Cas d’utilisation 3 43

3.4.4.1 Description des arguments et formalisation de la relation 43

3.4.4.2 Extraction des arguments 44

3.4.5 Cas d’utilisation 4 45

3.4.5.1 Description des arguments et formalisation de la relation 45

3.4.5.2 Extraction des arguments 46

3.5 Approche pour une phrase complexe comportant plusieurs relation n-aires 47

3.6 Conclusion 48

4 Implémentation 49

4.1 Introduction 49

4.2 Diagramme des classes 49

4.3 Description des classes et des paquets 50

4.3.1 Classes principales 50

4.3.2 Paquet rasp 53

4.3.3 Paquet identification 55

4.3.4 Paquet extraction 57

4.3.5 Autres paquets 60

5 Evaluation de notre méthodologie 63

5.1 Critères d'évaluation 63

5.2 Résultats d'évaluation 64

Conclusion et perspectives 68

Références 69

Annexes 71

Annexe 1 : La signification des relations grammaticales de RASP 71

Annexe 2 : La signification des tags de RASP 74

Annexe 3 : Les phrases utilisées à évaluer le programme 79

Trang 4

Un grand merci également aux collègues de l’équipe Edelweiss pour leur accueil dans l’équipe

Je tiens à remercier tout particulièrement les amis au CIV et Sophia Antipolis d’avoir partagé les difficultés de la vie au cours de mon stage : Hung, Phu, Lan, Hau, Tuan, etc

Tous mes remerciements vont à mes collègues, aux professeurs et aux personnels de l’IFI de m’avoir aidé au cours de mes études

Je remercie également, ma famille, ma copine qui m’ont donné la motivation pour avancer dans mon travail

Enfin, je remercie toutes les personnes qui m’ont aidé et que j’ai oublié de remercier dessus

Trang 5

ci-Résumé

Avec l’évolution du web actuel vers le web sémantique, l’annotation sémantique à partir des textes joue un rôle de plus en plus important Dans le processus d’annotation sémantique, l’extraction des relations sémantiques dans un texte est indispensable car cela permet de détecter non seulement les concepts dans une ontologie mais encore la relation entre ces concepts Plusieurs travaux ont été réalisés pour résoudre ce problème en utilisant différentes approches Toutefois, ces travaux se sont concentrés sur la relation binaire, donc ont ignoré la relation n-aire qui lie plusieurs concepts L’objectif principal de ce stage est de proposer une méthode pour l’identification et l’extraction de relations n-aires dans un texte Le cas d’utilisation à résoudre est celui du W3C qui décrit les bonnes pratiques pour la représentation

en RDF des relations n-aires

Au cours de ce stage, nous avons proposé une méthode qui se base sur une approche linguistique L'idée principale est que chaque type de relation n-aire est caractérisé par un ensemble des relations grammaticales qui sont issues d’un outil d'analyse syntaxique L'objectif de l'identification de relations n-aires est donc de trouver cet ensemble Dans le but

de l'extraction d'une relation n-aire, il faut déterminer ses arguments En se basant sur le fait que chaque phrase est considérée comme un graphe orienté et étiqueté, des arguments d’une relation n-aire sont extraites en construisant un graphe correspondant à la phrase et ensuite en appliquant un algorithme de parcours de graphe

Notre méthode est réalisée par un programme qui prend en entrée un texte et donne en sortie

un fichier représentant en XML les relations n-aires trouvés dans ce texte Notre système permet de détecter et d'extraire simultanément plusieurs relations n-aires présentes dans une phrase lorsque celle-ci comporte en plusieurs

Ce stage a été réalisé au sein de l’équipe Edelweiss de l’INRIA Sophia Antipolis, France qui est un des huit centres principaux de recherche de l'institut national de recherche en informatique et en automatique Le cadre d’application de ce sujet de stage est la plateforme d’annotation SemAnnot de cette équipe Le résultat de ce stage est aussi utilisé dans deux européens projets SevenPro et Sealife afin de construire des annotations sémantiques à partir

de corpus de texte

Mots-lés : identification de relation n-aire, extraction de relations n-aires, relation sémantique annotation sémantique, sémantique web

Trang 6

Abstract

The evolution of the current web towards to the semantic web shows that a semantic annotation from texts plays a growing role in importance In this process, extraction of semantic relations in a text is essential because it can detect not only the concepts in ontology but also the relationship between these concepts A lot of studies have been realized to solve this problem by using different approaches However, most studies have concentrated only on the binary relation, so ignoring the n-ary relations that relate many concepts The main objective of this internship is to propose a method for the identification and extraction of n-ary relations in a text The use case aimed at solving these two issues is the ones defined by the W3C that describes best practices for the RDF representation of n-ary relations

During this internship, we proposed a method which is based on linguistic approaches The main idea is that each type of n-ary relations is characterized by a set of grammatical relations which are issued from a tool for the sentence syntax parsing The objective of the identification of the n-ary relations is to find this set In order to extract a n-ary relation, we should determine its arguments Basing on the fact that each sentence is considered as a directed labeled graph, the arguments of the n-ary relation are extracted by setting-up a graph corresponding to the sentence and followed by applying a traversal algorithm on this graph Our method is implemented by a program that has as input a text and the output is an XML file which describes n-ary relations found in this text Our system can detect and extract most

of n-ary relations contained in the sentences complex

This internship is realized within the Edelweiss team of the INRIA Sophia Antipolis, France, which is one of eight major research centers of the French National Institute for Research in Computer Science and Control The application scope of this internship is the annotation platform SemAnnot The results of this internship qre used in two European projects SevenPro and Sealife in order to build semantic annotations from texts

Key words: n-ary relation identification, n-ary relation extraction, semantic relation, semantic annotation, semantic web

Trang 7

Liste des figures

Figure 1 : Le modèle en couches du W3C 12

Figure 2 : Un exemple sur RDF 13

Figure 3 : Un exemple sur l’annotation sémantique 14

Figure 4 : Le rôle de l’annotation sémantique dans la recherche sémantique 15

Figure 5 : Plateforme d’annotation sémantique SemAnnot de l’équipe Edelweiss 16

Figure 6 : Processus général pour l’extraction de la relation sémantique 18

Figure 7 : Un exemple du cas d'utilisation 1 de la relation n-aire 19

Figure 8 : Un exemple du cas d'utilisation 2 de la relation n-aire 20

Figure 9 : Un exemple du cas d'utilisation 3 de la relation n-aire 21

Figure 10 : Un exemple du cas d'utilisation 4 de la relation n-aire 22

Figure 11 : La sortie de RASP sous forme de liste 23

Figure 12 : La sortie de RASP sous forme d’arbre XML 24

Figure 13 : Hiérachie de 17 relations grammaticales de RASP 25

Figure 14 : Démarche générale pour l’identification et l’extraction des relations n-aires 26

Figure 15 : Construction du graphe correspondant à une phrase 35

Figure 16 : Le graphe correspondant à la phrase d'exemple 35

Figure 17 : Construction de sous-graphe 36

Figure 18 : Recherche des sommets connectés à un sommet 36

Figure 19 : Algorithme d'extraction d'un argument de la relation n-aire 37

Figure 20 : Représentation en XML de la relation n-aire de UseCase1 38

Figure 21 : Représentation formelle d'une relation de UseCase1 38

Figure 22 : Représentation en XML d'un exemple de UseCase1.1 39

Figure 23 : Un exemple de UseCase1.1 39

Figure 24 : Représentation en XML d'un exemple de type UseCase1.2 40

Figure 25 : Un exemple de UseCase1.2 40

Figure 26 : Représentation en XML de la relation n-aire de type UseCase1 40

Figure 27 : Représentation formelle d'une relation de UseCase2 41

Figure 28 : Représentation en XML d'un exemple de type UseCase2.1 42

Figure 29 : Un exemple de UseCase2.1 42

Figure 30 : Représentation en XML d'un exemple de UseCase2.2 43

Figure 31 : Un exemple de UseCase2.2 43

Figure 32 : Représentation en XML de la relation n-aire de type UseCase3 43

Figure 33 : Représentation formelle d'une relation de UseCase3 44

Figure 34 : Représentation en XML d'un exemple de UseCase3 44

Figure 35 : Un exemple de UseCase3 45

Figure 36 : Représentation formelle d'une relation de UseCase4 45

Figure 37 : Représentation en XML de la relation n-aire de UseCase4 45

Figure 38 : Un exemple de UseCase4 47

Figure 39 : Représentation en XML d'un exemple de UseCase4 47

Figure 40 : Architecture du programme 50

Figure 41 : La classe NaryRelationProcessor 51

Figure 42 : La classe Sentence 51

Figure 43 : Le paquet rasp 54

Figure 44 : Le paquet identification 56

Figure 45 : Le paquet extraction 58

Figure 46 : Le paquet data 60

Figure 47 : Le paquet graph 62

Trang 8

Liste des tableaux

Tableau 1 : Les tokens pivots et les arguments d'une relation n-aire d'un exemple de UseCase1.2 39

Tableau 2 : Les tokens pivots et les arguments d'une relation n-aire d'un exemple de UseCase2.1 41

Tableau 3 : Les tokens pivots et les arguments d'une relation n-aire d'un exemple de UseCase2.2 43

Tableau 4 : Les tokens pivots et les arguments d'une relation n-aire d'un exemple de UseCase3 44

Tableau 5 : Les tokens pivots et les arguments d'une relation n-aire d'un exemple de UseCase4 46

Tableau 6 : Les tokens pivots et les arguments pour le triplet (company, make, family) 48

Tableau 7 : Les tokens pivots et les arguments pour le triplet (company, sell, product) 48

Tableau 8 : Les étapes et les paquets chargés 50

Tableau 9 : Description de la classe Sentence 52

Tableau 10 : Description de la classe RaspProcessor 54

Tableau 11 : Description de la classe XmlParser 55

Tableau 12 : Les classes correspondantes aux conditions pour l'identification de relations n-aires 56

Tableau 13 : Description de la classe UseCaseIdentificator 57

Tableau 14 : Les classes et les relations n-aires correspondantes 59

Tableau 15 : Les classes et les sous cas d'utilisations correspondants 59

Tableau 16 : Quelques phrases testées dans le but d’évaluation de l’identification de relations n-aires 64

Tableau 17 : Quelques phrases testées dans le but d’évaluation de l’extraction de relations n-aires 65

Tableau 18 : Résultat de l’évaluation de l’identification de relations n-aires 66

Tableau 19 : Résultat d’évaluation de l’extraction de relations n-aires 67

Trang 9

1 Introduction

1.1 Contexte

Le web sémantique est une évolution de World Wide Web qui associe un sens aux informations afin de faciliter la coopération homme-machine L’information sur la signification de données dans les documents (par exemple textes, images, vidéos, etc.) du web actuel est appelée annotation web sémantique En fait, il est impossible d’annoter manuellement les milliards de web ressources existantes Par conséquent, l’utilisation de traitement de langue naturelle (NLP1 en anglais) joue un rôle important dans le contexte d’annotation sémantique

Ce stage est réalisé au sein de l’équipe Edelweiss de l’INRIA Sophia Antipolis qui travaille sur la génération automatique d’annotations sémantiques à partir de documents multimédia et notamment à partir de textes L’idée principale est de détecter les instances de concepts et les relations entre ces instances afin de générer l’annotation RDF2 qui décrit ces relations Ce stage fait partie d’une brique dans la réalisation de la plateforme d’annotations sémantiques SemAnnot qui est en cours de développement dans l’équipe Edelweiss

1.2 Problématique

Dans le processus d’annotation sémantique d’une ressource web, il est indispensable de trouver les relations entre les concepts Le type de relation à laquelle nous nous intéressons est celui de la relation n-aire De façon générale, il faut répondre aux questions suivantes :

Comment identifier les relations ?

Il s’agit de détecter les relations n-aires existantes dans un texte Les relations n-aires étudiées dans ce document sont celles définies par le W3C3 Nous nous focalisons sur la détection des relations n-aires au sein d’une même phrase

Comment extraire les relations ?

Il s’agit d’extraire tous les arguments qui forment une relation n-aire détectée Il faut que la solution donnée soit capable d’extraire toutes les relations n-aires possibles dans la même phrase

1 NLP : natural language processing

2 RDF : Resource Description Framework, http://www.w3.org/RDF/

3 W3C : The World Wide Web Consortium, http://www.w3.org/

Trang 10

lorsque les informations possèdent un sens Cela se fait par les annotations sémantiques qui attachent une sémantique aux informations en utilisant une ontologie

D'autre part, le problème d’identification et d’extraction de relations dont celles n-aires jouent

un rôle important dans le processus de génération automatique des annotations sémantique à partir de texte C'est la raison pour laquelle ce sujet est choisi pour mon stage de fin d'études

De plus, en réalisant ce sujet de stage, j'ai occasion d'étudier le traitement du langage naturel

et l'ingénierie des connaissances C'est important pour que je puisse continuer à faire la recherche dans ce domaine C'est pourquoi j'ai réalisé ce sujet

1.4 Objectifs

La tâche principale du travail de ce stage est de résoudre les problèmes concernant l’identification et l’extraction de relation n-aire à partir de texte L’objectif est donc de proposer une méthode efficace pour détecter correctement toutes les relations n-aires dans un texte Par ailleurs, il faut proposer un algorithme qui permet d’extraire tous les arguments d’une relation et qui permet d’extraire toutes les relations existantes Pour cela, il faut construire un programme qui permet d’implémenter la solution proposée L’entrée de ce programme est un texte, et sa sortie doit être toutes les relations avec leurs arguments correspondants qui sont représentés formellement, par exemple, sous forme XML4 ou RDF

Le résultat doit être évalué par des experts du domaine

de la première étape est de trouver tous les tokens pivots Dans la deuxième étape, un graphe orienté correspondant à la phrase et son sous-graphe sont construits La tâche de la dernière étape est de trouver le groupe de mots formé par un token pivot en utilisant un algorithme de parcours du graphe sur le sous-graphe construit

4 XML : Extensible Markup Language, http://www.w3.org/XML/

Trang 11

Le cadre d’application de ce sujet de stage est la plateforme d’applications SemAnnot de l’équipe Edelweiss Le résultat de ce stage est aussi utilisé dans deux projets SevenPro et Sealife afin de générer des annotations sémantiques

1.6 Environnement du stage

L'INRIA (institut national de recherche en informatique et en automatique) est un environnement international qui se côtoie plus de 80 nationalités Ce stage s’est déroulé au sein de l'équipe Edelweiss, un des équipe-projets de l'INRIA Sophia Antipolis

L'équipe-projet pluridisciplinaire EDELWEISS vise à proposer des modèles, des méthodes et des outils pour aider des communautés virtuelles de pratique et/ou d'intérêt à gérer leurs connaissances de manière collaborative via le Web, en interagissant avec des ressources d'information et des personnes “annotées sémantiquement”, c'est-à-dire indexées par des

“ontologies” L’annotation sémantique de ressources d'information est un des axes de recherche de cette équipe (http://www-sop.inria.fr/teams/edelweiss/)

1.7 Organisation du document

Le reste de ce document est organisé comme suit

Le chapitre 2 a pour but d’indiquer le contexte de notre travail Dans cette partie, des aspects

du web sémantique tels que les ontologies, l’annotation sémantique et la relation sémantique sont abordées Ensuite, les recommandations du W3C sur les relations n-aires sont aussi présentées A la fin de ce chapitre, nous présentons l’analyse syntaxique des textes et l’outil RASP en particulier

Le chapitre 3 est réservé à présenter notre solution pour l’identification et l’extraction des relations n-aires dans le texte Dans cette partie, nous détaillons notre approche qui utilise les relations grammaticales issues d’un outil d’analyse syntaxique pour détecter les relations n-aires Ensuite, notre algorithme pour l’extraction des arguments de la relation n-aire est détaillé

Le chapitre 4 a pour but de présenter la réalisation L’architecture du programme est abordée

Le chapitre 5 présente l’analyse et l’évaluation de notre solution en testant le programme sur des plusieurs données différentes

La conclusion et les perspectives terminent ce rapport Quelques pistes de recherche concernant l’identification et l’extraction des relations n-aires seront présentées dans cette partie

Enfin, nous donnons en annexes quelques explications sur la signification des relations grammaticales de RASP Cela est nécessaire pour comprendre notre solution

Trang 12

un espace d’échanges d’informations entre machines, en permettant l’accès à un très grand volume d’informations, et en fournissant les moyens de gérer ces informations

Pour que le web sémantique fonctionne, il faut avoir un moyen qui associe le sens aux informations et qui permet de partager les informations Cela se fait en utilisant des ontologies L'ontologie est présentée par la suite

2.2 Ontologie

2.2.1 Introduction

Le terme «ontologie» est un mot que l'informatique a emprunté à la philosophie au début des années 1990 Il est construit à partir des racines grecques ontos (ce que existe, l'existant) et logos (le discours, l'étude) En philosophie, l'Ontologie est une branche fondamentale de la Métaphysique, qui s'intéresse à la notion d'existence, aux catégories fondamentales de l'existant et étudie les propriétés les plus générales de l'être [Gandon, 2006]

En informatique, ce terme est adopté par les chercheurs dans le domaine de l'intelligence artificielle afin de réduire la confusion conceptuelle et terminologique et de tendre vers une compréhension partagée pour améliorer la communication, le partage, l'interopérabilité et le degré de réutilisation possible

Différentes définitions des ontologies ont été proposés mais celle qui est devenue la plus utilisée dans la littérature est la suivante : «Une ontologie est une spécification explicite pour

Trang 13

la conceptualisation d’un domaine.»5

Dans le web sémantique, l'ontologie joue un rôle très important pour la coopération entre les personnes, entre les machines, entre les personnes et les machines en définissant un vocabulaire commun permettant de partager la sémantique des informations dans un domaine 2.2.2 Représentation des ontologies

Pour que les applications puissent appréhender la sémantique des informations, les ressources doivent être formalisées Cette formalisation se fait en utilisant les différents langages du web sémantique Différents langages de niveau de complexité croissante sont proposés afin de mieux exploiter, combiner et raisonner sur les contenus de ces ressources

Il existe à présent plusieurs langages pour la représentation formelle des connaissances Le W3C propose une architecture en couches comme sur la Figure 1

Figure 1 : Le modèle en couches du W3C Dans cette architecture, XML (Extensible Markup Language [XML]) est la base pour les autres langages comme RDF, RDFS, OWL, etc XML est proposé par le W3C et reconnu comme un standard permettant de représenter une structur sous la forme d’une arborescence

en utilisant un système de balisage dans lequel les utilisateurs peuvent définir une nouvelle balise

Une ontologie peut être représentée en utilisant les langages RDF, RDFS et OWL

5 Traduction de “An ontology is an explicit specification of a conceptualization” [Gruber, 1993]

Trang 14

Étant donné un modèle de triplets simple «sujet - prédicat – objet» ou «ressource - propriété – valeur», RDF (Resource Description Framework [Manola et Miller, 2004]) est une recommandation du W3C pour la description des resources du web Les valeurs sont soit des ressources, soit des littéraux (valeurs atomiques) Par exemple, en utilisant ce modèle, on peut représenter que «Le nom d'étudiant avec le code Student-IFI-P12-15 est NGUYEN Van Tien» comme suit :

<rdf:Description rdf:about='Student-IFI-P12-15 '>

<name>NGUYEN Van Tien</name>

</rdf:Description>

Cela est représenté sous forme d'un graphe orienté sur la Figure 2

name

(Propriété)Figure 2 : Un exemple sur RDF RDFS (RDF Schema [Brickkley et Guha, 2004]) est un méta-modèle recommandé par le W3C qui a pour but de définir la sémantique des ressources représentées en RDF RDFS décrit les ressources sous forme des classes en utilisant rdfs:class et rdfs:subClassOf qui donnent une hiérarchie de ressources

Dans le contexte du web sémantique, RDFS est utilisé pour définir les concepts et la relation entre les concepts dans une ontologie Cependant, RDF a pour but de définir les instances d'un concept indiqué par RDFS et la relation entre ces instances dans cette ontologie

Se basant sur RDF et RDFS, OWL (Ontology Web Language [McGuinness et Harmelen, 2004]) offre un langage standard pour définir des ontologies pour le web sémantique Par rapport à RDFS, OWL ajoute de nouvelles notions telle que : l’équivalence des classes, l’équivalence des relations, la symétrie et la transitivité des relations, la cardinalité, etc

2.2.3 Ingénierie des ontologies

L'objectif principal de l’ingénierie des ontologies est la construction et l’exploitation d’ontologies, c’est-à-dire représenter des connaissances d’un domaine indépendamment des usages opérationnels qui peuvent en être faits

Un des problèmes intéressants dans ce domaine est l’annotation sémantique L’annotation sémantique est présentée par la suite

Trang 15

2.3 Annotation sémantique

2.3.1 Introduction

Une annotation (ou métadonnée) est une information graphique ou textuelle attachée à une ressource afin de faciliter son accès, sa recherche, et son utilisation Selon [Taniar et Rahayu, 2006], une annotation sémantique est un processus d'alignement des données de l’instance à une ontologie6 Le web sémantique a proposé l’annotation du contenu de document en utilisant l’information sémantique d’une ontologie de domaine [Uren et al, 2006]

Figure 3 : Un exemple sur l’annotation sémantique

(source [Uren et al, 2006])

6 Tranduction de “Semantic annotation is the process of mapping instance data to an ontology “

Trang 16

Il faut bien distinguer la différence entre une annotation informelle et une annotation formelle Par exemple dans une application de processeur de texte, annotation est utilisée par les personnes Les auteurs d’un document peuvent ajouter des annotations informelles au texte en langage naturel, par exemple, "Les trois premiers articles du contrat sont supprimés par " ,

"Il faut ajouter ici l’évaluation de test du logiciel", etc Cependant, l’annotation formelle ou annotation sémantique est représentée sous forme d’un langage formel par exemple RDF, OWL, etc L’annotation sémantique identifie formellement les concepts et les relations entre les concepts dans un document Par exemple, l’annotation sémantique peut associer "Paris" dans le texte à une ontologie qui l’identifie comme une instance du concept "city" et le lie à l’instance "France" du concept "Country" L’annotation sémantique sera utilisée par la machine pour la recherche sémantique des informations

La Figure 3 montre un exemple d’une annotation sémantique L’annotation sémantique dans cet exemple identifie les personnes, les organisations, les projets qui sont stockés dans un serveur de nouvelles (News group) Imaginons que ce serveur stocke différentes nouvelles, en

se basant sur cette annotation sémantique, on peut trouver sémantiquement les nouvelles qui correspondent aux projets de web sémantique et qui sont publiées par exemple en 2004

Figure 4 : Le rôle de l’annotation sémantique dans la recherche sémantique

(source [Uren et al, 2006]) Généralement, l’annotation sémantique joue un rôle important dans la recherche sémantique Cela peut être représenté dans la Figure 4 Pour que la recherche sémantique fonctionne, il faut traiter trois classes principales de données : le document, l’ontologie et l’annotation Il est nécessaire que l’outil de recherche sémantique soit relié aux documents et aussi bien à l’annotation sémantique pour l’exploitation des informations Lorsqu’il y a un changement relatif aux modèles de connaissances, l’outil de maintenance de l’ontologie doit permettre aux

Trang 17

utilisateurs de mettre à jour les ontologies La mise à jour des ontologies a une influence sur l’annotation Donc l’outil qui gère les annotations doit détecter le changement des ontologies

en se connectant à outil de maintenance de l’ontologie De son côté, l’outil d’annotation doit envoyer ce changement à l’outil de maintenance de l’ontologie Cela est important car la base d’annotations étant construite en se basant sur l’ontologie et le texte doit correspondre aux versions réelles des ontologies De plus, l’outil de recherche sémantique ne coopère directement qu’avec la base de données d’annotation et le document plutôt que l’ontologie 2.3.2 Outils d’annotation sémantique et SemAnnot

Grâce à l’importance des annotations sémantiques pour la recherche sémantique, plusieurs plateformes et plusieurs outils ont été proposés afin d’annoter sémantiquement de façon automatique ou manuelle, par exemple : Annotea, CREAM, OntoMat, OntoAnnotate, SHOE Knowledge Annotator, SMORE, KIM, MnM, etc [Uren et al., 2006] Les annotations sont souvent représentées en RDF Par ailleurs, la majorité de ces systèmes s’intéressent surtout à

la tâche d’instanciation de concepts et proposent des techniques d’instanciation de formes simples de relations pouvant exister entre ces concepts (synonymie, partonomie…) [Khelif, 2006]

Figure 5 : Plateforme d’annotation sémantique SemAnnot de l’équipe Edelweiss

[Khelif, 2008]

Trang 18

L’équipe Edelweiss propose une platforme d’annotation sémantique appelée SemAnnot Cette plateforme doit fournir un service d’annotation non seulement de documents textuels mais aussi de sources structurées : DB, HTML…Elle doit fournir aussi un service collaboratif qui permet l’annotation multipoints de vue SemAnnot génère l’annotation et crée l’ontologie simultanément De plus ce système est conçu pour la prise en compte du contexte (par exemple en biologie "in vitro" et "in vivo") et la prise en compte des éléments différents dans

le document par exemple les tables, les figures…Une fonction principale de SemAnnot est la recherche et raisonnement sur les annotations grâce au moteur de recherche sémantique CORESE [Corby et al, 2004]

Les composants de l’architecture de SemAnnot sont représentés dans la Figure 5 Le travail

de ce stage se trouve dans le cadre du composant qui est en charge de l’extraction des relations Dans la partie suivante, nous présentons l’état de l’art sur l’extraction des relations sémantiques

2.4 Relation sémantique

2.4.1 Extraction des relations sémantiques

Une relation sémantique est une relation qui lie les concepts définis dans l’ontologie du domaine L’identification et l’extraction de relations sémantiques sont indispensables dans le processus d’annotation sémantique car cela permet détecter non seulement des concepts dans

un texte mais aussi la relation entre eux

Divers travaux ont été effectués en matière d’extraction de relations sémantiques à partir de textes dans des domaines différents notamment en biologie, selon des approches différentes par exemple : les approches statistiques, les approches syntaxiques, les approches utilisant des marqueurs Dans [Khelif, 2006], ces approches sont détaillées comme suit

L’idée principale des approches statistiques est que les termes qui co-occurrent ensemble ont de fortes chances d’être liés par des relations sémantiques Elles exploitent donc la distribution des termes dans le document/corpus en utilisant des techniques de fouille basées sur des méthodes statistiques En effet, en appliquant ces approches, au lieu d’extraire des relations, un nuage de termes est proposé A partir de ces termes, un expert pourrait déduire des relations ou des classes conceptuelles

Les approches syntaxiques exploitent aussi le principe de co-occurrence des termes pour la détection des relations Toutefois, elles utilisent la distribution syntaxique des termes à la place des calculs statistiques pour extraire les relations

Par ailleurs, les dernières approches se basent sur des patrons lexico-syntaxiques (règles décrivant une expression régulière formée de mots et de catégories grammaticales correspondant aux formes syntaxiques de la relation et ses arguments) ou des règles contextuelles basées sur des indices et des déclencheurs Ces approches permettent de caractériser la sémantique de la relation Plusieurs travaux ont été réalisés par exemple

Trang 19

CAMELEON [Séguéla et Aussenac-Gilles, 2000], SEEK [Jouis, 1993] Ce type d’approche est aussi utilisé par l’équipe Edelweiss [Khelif, 2006]

2.4.2 Positionnement de notre stage dans le contexte de travail

En proposant l’approche qui utilise des marqueurs [Séguéla et Aussenac-Gilles, 2000] ont montré que la relation sémantique peut être extraite en réalisant un processus composé de 4 étapes représenté dans la Figure 6

La première étape (a) a pour but de détecter les comportements linguistiques stables associés

à des relations grammaticales Après cette étape la relation est identifiée mais elle n’est pas extraite

Dans la deuxième étape (b), les relations détectées sont extraites Toutefois, ce sont les relations brutes mais pas celles sémantiques Il s’agit des relations candidates ayant les arguments qui peuvent être les termes définis dans l’ontologie

La troisième étape (c) vise à extraire les relations sémantiques en se basant sur les relations candidates trouvées à l’étape précédente Nous passons du niveau linguistique au niveau conceptuel en vérifiant si les arguments des relations candidats sont les termes définis dans l’ontologie Si oui, la relation sémantique est extraite

Dans dernière étape (d), les relations sémantiques trouvées sont représentées en utilisant un langage formel qui garantit une interprétation unique et non ambiguë grâce à un système basé sur ce langage formel

Figure 6 : Processus général pour l’extraction de la relation sémantique

Le processus décrit dans la Figure 6 est capable d’extraire des relations sémantiques De même, les travaux de [Khelif, 2006] permet aussi d’extraire les relations sémantique dans un texte Toutefois, les relations extraites dans ces travaux sont binaires, i.e entre deux concepts

du domaine Cela signifie que ces travaux ne traitent pas les relations sémantiques liant plusieurs concepts dans l’ontologie

Trang 20

Ce à quoi nous nous intéressons à résoudre dans notre stage se trouve dans les deux premières étapes du processus abordé ici afin d’extraire les relations n-aires Ces relations n-aires sont brutes Elles sont candidates pour que le composant «Relation extraction » de la plateforme SemAnnot puisse extraire les relations sémantiques de type n-aire La relation n-aire est présentée par la suite

2.5 Définition de la relation n-aire

Généralement, les langages de représentation des connaissances pour le web sémantique tels que RDF et OWL permettent de représenter les relations binaires entre deux concepts ou un concept et une valeur Toutefois, dans quelques cas, il est nécessaire de représenter une relation ayant plus de deux arguments Il s'agit de la relation n-aire C'est la raison pour laquelle le W3C [Noy et Rector, 2006] a proposé une recommandation qui aborde la définition et la représentation de la relation n-aire La définition de la relation n-aire constitue

la base pour extraire des relations n-aires dans le texte

Selon cette recommandation du W3C, la relation n-aire se divise en quatre cas d'utilisation Ces cas d'utilisation seront présentés dans cette partie

2.5.1 Cas d'utilisation 1 : un attribut additionnel décrivant la relation

Nous pouvons définir une relation n-aire de type cas d'utilisation 1 (UseCase1) comme étant une extension de la relation binaire entre un sujet et un objet dans laquelle la caractéristique

de la relation est détaillée par des informations supplémentaires Les caractéristiques de la relation peuvent être les suivantes : la probabilité, la raison, la conséquence, le moyen, etc Une phrase possède une relation de type du cas d'utilisation 1 s'il y a un ó plusieurs attributs additionnels décrivant une instance de la relation binaire

Figure 7 : Un exemple du cas d'utilisation 1 de la relation n-aire

(voir [Noy et Rector, 2006]) Par exemple, dans la phrase “Christine has breast tumor with high probability”, il y a une relation binaire entre Christine et la maladie de la tumeur au sein : breast tumor De plus, la

Trang 21

caractéristique de cette relation est détaillée par la probabilité d'avoir cette maladie Donc nous pouvons dire que dans cette phrase, il y a une relation n-aire ayant trois argument : Christine, la maladie de tumeur, et la probabilité d'avoir cette maladie Cette relation peut être représenté par la Figure 7

Dans cet exemple, nous utilisons un noeud vide _:Diagnosis_Relation_1 pour représenter la valeur de la propriété has_diagnosis de la relation

2.5.2 Cas d'utilisation 2 : plusieurs aspects différents d'une même relation Imaginons que l'on ait une relation binaire entre un sujet et un objet d'une phrase Si à présent, nous ajoutons des informations pour détailler des aspects différents de l'objet De cette façon, nous récupèrons une relation n-aire Autrement dit, une relation n-aire de cas d'utilisation 2 (UseCase2) est considérée comme une extension de la relation binaire entre un sujet et un objet dont l’objet est détaillé par des informations modifiées

Par exemple, dans la phrase “Steve has temperature, which is high , but falling.”, il existe une relation binaire entre Steve et sa température corporelle Ce qui est détaillé pour l'objet (temperature) de cette relation binaire, ce sont son niveau (high) et sa tendence (falling) Autrement dit, dans cette phrase il existe une relation n-aire qui a 3 arguments : Steve, le niveau de la température et sa tendance Cette relation est représentée par la Figure 8

Figure 8 : Un exemple du cas d'utilisation 2 de la relation n-aire

(voir [Noy et Rector, 2006]) Notons que comme le cas d'utilisation 1, le cas d'utilisation 2 est également considéré comme une extension de la relation binaire avec des informations supplémentaires Donc il faut distinguer la différence principale entre ces deux cas Pour le premier cas, ces informations sont celles ajoutées afin d'enrichir la caractéristique (par exemple la probabilité, la raison, la conséquence, etc.) de la relation elle-même, alors que pour le deuxième cas les informations supplémentaires ont pour but de donner des informations détaillées sur l'objet de la relation

Trang 22

2.5.3 Cas d'utilisation 3 : sans argument principal de la relation

Dans quelques cas, la relation n-aire lie plusieurs participants et il n'y en a aucun participant qui est considéré comme propriétaire de la relation Il s'agit d’une relation de cas d'utilisation

3 (UseCase3)

Figure 9 : Un exemple du cas d'utilisation 3 de la relation n-aire

(voir [Noy et Rector, 2006])

Par exemple, dans la phrase “John buys a "Lenny the Lion" book from books.example.com for

$15 as a birthday gift”, il y une relation n-aire d'achat purchase_1 avec 5 arguments suivants : l'acheteur John, le vendeur “books.example.com“, l'objet à acheter "Lenny the Lion" book, l'objectif d'achat “birthday gift“ et le prix “$15“ Dans cette relation, tous ces arguments sont égaux dans leurs participation à la relation La représentation de cette relation est présentée dans la Figure 9

En effet, il existe clairement une différence entre ce cas et les deux cas précédents Les deux cas précédents sont considérés comme une extension de la relation binaire avec un argument principal de la relation Alors que, dans ce cas, tous les arguments sont traités d’une façon égale

2.5.4 Cas d'utilisation 4 : avec une liste ordonnée d’arguments

Nous pouvons définir une relation de type cas d'utilisation 4 (UseCase4) comme une relation avec une liste d’arguments qui a pour but de modifier l'objet de la phrase qui contient cette relation Notons que ce qui est important dans ce cas est l'ordre des arguments dans la liste Par exemple, la phrase “United Airlines flight 3177 visits the following airports: LAX, DFW, and JFK” se trouve dans ce cas Dans cette phrase il y une relation n-aire ayant quartre arguments entre l’avion United Airlines flight 3177 et la liste en ordre des aéroports qu’il a visité : LAX, DFW et JFK Cette relation est représentée par la Figure 10

Trang 23

Figure 10 : Un exemple du cas d'utilisation 4 de la relation n-aire

(voir [Noy et Rector, 2006]) Pour ce cas, si l'ordre des arguments dans la liste est changé, la sémantique de la relation sera aussi changée Dans l'exemple ci-dessus, par exemple, si la liste des aéroports visités est changée pour être la suivante DFW, LAX, JFK, il est possible que l'on ne puisse pas trouver

L'analyse des textes se compose de plusieurs étapes distinctes telle que l’analyse morphologique, l’analyse lexicale, l’analyse syntaxique, etc Dans le cadre de ce travail, nous nous intéressons à l'analyse syntaxique de la phrase qui permet de représenter, sous forme symbolique ou graphique, la ou les structures syntaxiques d'un texte

Il existe plusieurs outils qui permettent d’analyser syntaxiquement un texte tels que RASP utilisé pour l'anglais [Briscoe, 2006], LATTICE utilisé pour l'anglais ainsi que le français [LATTICE, 2007], etc

Dans ce qui suit, nous présentons l'outil RASP que nous avons utilisé dans ce travail pour l'analyse syntaxique de la phrase

2.6.2 Outil d'analyse syntaxique RASP

RASP (Robust Accurate Statistical Parsing) est un analyseur probabiliste pour l’anglais développé par Briscoe & Carroll en 2002 [Briscoe, 2006] RASP est conçu dans le but d'annoter syntaxiquement le texte Il ne fonction que sur le système d’exploitation Unix Sa sortie est représentée sous différentes formes Elle nous permet, par les marqueurs (i.e appelés tags), de savoir le rôle grammatical de chaque mot dans une phrase et les relations

Trang 24

grammaticales entre deux mots Avec RASP, chaque phrase est formalisée sous forme d’une liste des relations grammaticales

Par exemple, pour la phrase “My name is Tien”, RASP peut produire les sorties sous plusieurs représentations Les sorties sont représentées sur la Figure 11 sous forme de liste et

la Figure 12 sous forme d’arbre XML

("My" "name" "is" "Tien") 1 ; (-8.742)

(|ncsubj| |be+s:3_VBZ| |name:2_NN1| _)

(|xcomp| _ |be+s:3_VBZ| |Tien:4_JJ|)

(|det| |name:2_NN1| |My:1_APP$|)

Figure 11 : La sortie de RASP sous forme de liste

La sortie ci-dessus montre que le mot 'name' a été détecté comme le sujet du verbe 'be' par la relation grammaticale ‘ncsubj’, et que le mot 'Tien' est détecté comme l'objet du verbe be' par

la relation ‘xcomp’ Il montre aussi l’existence d’une dépendance entre les mots ‘My’ et

‘name’ Notons que la Figure 12 présente les mêmes informations syntaxiques au format XML

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE raspoutput [

<!ELEMENT rasp (sentence+)>

<!ELEMENT sentence (string, lemma-list, parse+)>

<!ELEMENT string (CDATA)>

<!ELEMENT lemma-list (lemma*)>

<!ELEMENT lemma (PCDATA)>

<!ELEMENT parse (xparse | tree | (tree, gr-list) | gr-list)>

<!ELEMENT xparse (CDATA)>

<!ELEMENT tree (node+)>

<!ELEMENT node (node | wnode)+>

<!ELEMENT wnode (PCDATA)>

<!ELEMENT gr-list (gr*)>

<!ELEMENT gr (gr-weight?)>

<!ELEMENT gr-weight (PCDATA)>

<!ATTLIST sentence num CDATA #REQUIRED>

<!ATTLIST lemma num CDATA #REQUIRED>

<!ATTLIST lemma lem CDATA #REQUIRED>

<!ATTLIST lemma affix CDATA #REQUIRED>

<!ATTLIST lemma pos CDATA #REQUIRED>

<!ATTLIST lemma wtag CDATA #REQUIRED>

<!ATTLIST node rule CDATA #REQUIRED>

<!ATTLIST wnode lemma CDATA #REQUIRED>

<!ATTLIST gr type CDATA #REQUIRED>

<!ATTLIST gr subtype CDATA #REQUIRED>

<!ATTLIST gr head CDATA #REQUIRED>

<!ATTLIST gr dep CDATA #REQUIRED>

<!ATTLIST gr init CDATA #REQUIRED>

<!ATTLIST gr-weight weight CDATA #REQUIRED>

]>

<rasp>

Trang 25

<sentence num='1'>

(-7.853)]]></string>

<lemma-list>

<lemma wtag='' lem='My' affix='' num='1' pos='APP$'/>

<lemma wtag='' lem='name' affix='' num='2' pos='NN1'/>

<lemma wtag='' lem='be' affix='s' num='3' pos='VBZ'/>

<lemma wtag='' lem='Tien' affix='' num='4' pos='JJ'/>

<gr type='ncsubj' subtype='' head='3' dep='2' init=''></gr>

<gr type='xcomp' subtype='_' head='3' dep='4' init=''></gr>

<gr type='det' subtype='' head='2' dep='1' init=''></gr>

2.6.3 Description des relations grammaticales de RASP

Généralement, une relation grammaticale dans la sortie de RASP est encodée par trois composants principaux Le premier est le nom de la relation grammaticale, les deux derniers sont les mots appelés Token qui font partie de la relation

Par exemple, considérons la deuxième relation dans la Figure 11 : (|xcomp| _ |be+s:3_VBZ|

|Tien:4_JJ|) Le nom de la relation est xcomp, et deux tokens sont le verb ‘be’ et l’objet

‘Tien’

Le nom de la relation est caractérisé par un type et éventuellement un sous-type Le type et le

Trang 26

sous-type sont désignés par des symboles par exemple ncsubj, dobj, aux, _, etc [Briscoe, 2006] encode toutes les relations grammaticales en les divisant en 17 types principaux présentés dans la Figure 13

Figure 13 : Hiérachie de 17 relations grammaticales de RASP Dans notre exemple le nom de la relation est caractérisé par le type xcomp et son sous-type _ xcomp encode la relation binaire entre un head et un dependent qui est un complément insaturé de VP7 Elle a deux sous-type : default (_) et “to” L’explication de la signification des symbols sur la est présentée en détail dans l’Annexe 1

Chaque token dans la relation est caractérisé par un ensemble d’informations important : le mot original, la position dans la phrase, la catégorie de mot qui est indiqué par les tags de RASP Chaque tag de RASP correspond à une catégorie de mot par exemple le nom, le verbe,

la préposition, etc RASP désigne un tag par un symbole par exemple NN1, VBZ, JJ, etc Dans notre exemple le premier mot étant un verbe indiqué par le tag VBZ, ayant la troisième position en comptant les mots à partir du début de la phrase L’explication de la signification des tags utilisés dans notre système est présentée dans l’Annexe 2

Trang 27

3 Méthode proposée pour l'identification et l'extraction des relations n-aires à partir de texte

Ce chapitre est consacré à présenter la solution que nous proposons pour résoudre le problème d'identification et d'extraction de relations n-aire dans un texte

3.1 Introduction

Comme nous l'avons abordé dans la partie de l’état de l’art, plusieurs travaux ont été réalisés afin d’extraire les relations sémantiques dans un texte Toutefois, les relations extraites sont binaires Dans cette partie, nous proposons une méthode permettant d'extraire les relations n-aires Nous utilisons la même approche que [Séguéla et Aussenac-Gilles, 2000] que nous avons abordé dans la partie 2.4.2 Il s’agit d’une approche se basant sur les relations grammaticales issues d’une analyse syntaxique L'outil utilisé est RASP [Briscoe, 2006] que nous avons présenté dans la partie 2.6 Les relations n-aires visées à extraire sont celles recommandées par le W3C et que nous avons présenté dans la partie 2.5

La démarche générale de notre méthode pour l’identification et l’extraction de relations aires est présentée par la Figure 14 Soit une entrée étant un texte ; la sortie dont nous avons besoin est une représentation en XML de la relation n-aire dans ce texte Notre processus de traitement se compose de trois étapes :

n-Récupérer la sortie de RASP

Identification : Analyser les relations grammaticales pour détecter le cas d'utilisation correspondant

Identification : Analyser les relations grammaticales pour détecter le cas d'utilisation correspondant

1

2

Extraire les tokens pivots

Construire le graphe orienté de la phrase

Chercher le groupe de mot autour du token pivot en utilisant l’algorithme de parcours du graphe

Chercher le groupe de mot autour du token pivot en utilisant l’algorithme de parcours du graphe Extraction des valeurs caractéristiques de la relation n-aire

Récupérer la sortie de RASP

Identification : Analyser les relations grammaticales pour détecter le cas d'utilisation correspondant

Identification : Analyser les relations grammaticales pour détecter le cas d'utilisation correspondant

1

2

Extraire les tokens pivots

Construire le graphe orienté de la phrase

Chercher le groupe de mot autour du token pivot en utilisant l’algorithme de parcours du graphe

Chercher le groupe de mot autour du token pivot en utilisant l’algorithme de parcours du graphe Extraction des valeurs caractéristiques de la relation n-aire

en XML

Sortie

Figure 14 : Démarche générale pour l’identification et l’extraction des relations n-aires L’étape initiale (étape 1) a pour but de récupérer toutes les relations grammaticales dans une

Trang 28

phrase Cela se fait en traitant la sortie d'un outil d’analyse syntaxique qui est RASP dans notre cas Ces relations grammaticales sont utilisées par les deux étapes suivantes

L’objectif de l’étape 2 est de détecter les relations n-aires dans chaque phrase L’idée principale est que chaque famille de relations n-aires est caractérisée par un ensemble déterminé de relations grammaticales Par conséquent, l’identification de relations n-aires se fait en indiquant l’existence de cet ensemble L’ensemble des relations grammaticales caractéristiques de chaque type de relation n-aire sera précisé dans la partie 3.3

La dernière étape vise à extraire tous les arguments d’une relation n-aire identifiée Chaque argument est un groupe de mots En analysant les relations grammaticales au sein de la phrase, nous faisons l'hypothèse qu’un groupe de mots sera trouvé si nous déterminons le mot

le plus important dit token pivot du groupe Se basant sur le fait qu'une phrase est considérée comme un graphe orienté, le problème de trouver un groupe de mots qui forme un argument

de la relation est similaire à celui de recherche de tous les sommets vers lesquels le sommet correspondant au token pivot de ce groupe peut arriver Avec cette idée, notre algorithme proposé pour l’extraction d’arguments de la relation n-aire est réalisé en trois pas en se basant sur le fait que chaque phrase est considérée comme un graphe orienté Le but du premier pas est de trouver tous les tokens pivots Dans le deuxième pas, un graphe orienté correspondant à

la phrase et son sous graphe est construit Le but du dernier pas est de trouver le groupe de mots formé par un token pivot en utilisant un algorithme de parcours du sous graphe construit Cette étape est détaillée dans la partie 3.4

Comme nous avons abordé à la 2.4.2, if faut noter que les relations n-aires que nous visons à extraire ne sont pas encore dites sémantiques Elles sont candidates pour déterminer les relations sémantiques Une relation sémantique sera validée si l'expert trouve que les arguments de cette relation correspondent aux concepts du domaine définis par l’ontologie Nous ne traitons pas l'étape de validation dans notre stage Elle est réalisée par un expert du domaine

3.2 Prétraitement

Cette partie présente le prétraitement nécessaire avant que les relations n-aires ne soient identifiées et extraites

3.2.1 Récupération et formalisation des relations grammaticales

RASP propose le résultat de l’analyse syntaxique de la phrase sous plusieurs formes (relation deux-à-deux, arbre XML, etc) Donc, il faut récupérer cette sortie et la formaliser Pour la récupération, nous choisissons la sortie sous forme XML comme celle sur la Figure 12 (page 24) RASP permet d'exporter la sortie à un fichier Nous parsons ce fichier en utilisant XPATH [Clark et DeRose, 1999] afin de déterminer les attributs d’une relation grammaticale Pour la formalisation, nous désignons GrammaireRelation (Name, token1, token2) une relation entre deux tokens token1 et token2

Trang 29

Le nom name d’une relation se compose de deux attributs type désigné Name.type et sous type désigné par Name.subType

Token1 s’est appelé token head, token2 s’est appelé token dep8 Chaque token est un mot qui est caractérisé par les attributs : lem étant le mot original, num étant la position dans la phrase,

et pos étant le tag de RASP pour indiquer la catégorie du mot Nous désignons les attributs de token t comme suit : t.lem, t.num, t.pos

Afin de faciliter la représentation, nous pouvons désigner GrammaireRelation (Name, token1, token2) comme suit :

GrammaireRelation((name.type, name.subType),

(token1.lem ,token1.pos, token1.num),

( token2.lem, token2.pos, token2.num))

Par exemple, considérons la phrase "My name is Tien", la Figure 12 (page 24) montre la sortie qui est issue de l'analyse par RASP Dans cette sortie, nous nous intéressons à la liste de mots et la liste de relations grammaticales entre deux mots :

<lemma-list>

<lemma wtag='' lem='My' affix='' num='1' pos='APP$'/>

<lemma wtag='' lem='name' affix='' num='2' pos='NN1'/>

<lemma wtag='' lem='be' affix='s' num='3' pos='VBZ'/>

<lemma wtag='' lem='Tien' affix='' num='4' pos='JJ'/>

</lemma-list>

<gr-list>

<gr type='ncsubj' subtype='' head='3' dep='2' init=''></gr>

<gr type='xcomp' subtype='_' head='3' dep='4' init=''></gr>

<gr type='det' subtype='' head='2' dep='1' init=''></gr>

</gr-list>

Cela correspond à :

(|ncsubj| |be+s:3_VBZ| |name:2_NN1| _)

(|xcomp| _ |be+s:3_VBZ| |Tien:4_JJ|)

(|det| |name:2_NN1| |My:1_APP$|)

Pour les deux cas, nous pouvons formaliser cette phrase comme suit :

GrammaireRelation((“ncsubj”,””), (“be”,”VBZ”,”3”), (“name”,”NN1”,”2”))

GrammaireRelation((“xcomp“,“_“) , (“be“,“VBZ“,“3“), (“Tien“,“JJ“,“4“))

GrammaireRelation((“det“,““), (“name“,“NN1“,“2“), (“My“,“APP“,“1“))

Dans les parties suivantes, la formalisation ci-dessus sera utilisée pour représenter notre solution

3.2.2 Triplet de tokens communs à toutes les relations n-aires

Selon notre démarche, chaque relation est dérivée en un triplet (subject, verb, object) qui correspond au sujet, au verbe et au sujet Toutes les relations n-aires sont identifiées et

8 Dep : Dependent

Trang 30

extraites en se basant sur un triplet de ce type Donc, initialement, il faut détecter ce triplet avant l'identification de la relation Sinon, il n’existe pas de la relation

Le sujet subject et le verbe verb sont caractérisés par la relation grammaticale suivante :

GrammaireRelation(Name, verb, subject)

ó Name.type Є {"ncsubj"}

Par exemple, pour la phrase "My name is Tien", nous pouvons déterminer que verb = (be, VBZ, 3), subject = (name, NN1, 2) en se basant sur la relation grammaticale suivante : GrammaireRelation((“ncsubj”,””), (“be”,”VBZ”,”3”), (“name”,”NN1”,”2”))

L'objet object est caractérisé par la relation grammaticale suivante :

GrammaireRelation(Name, verb, object) ó

 (Name.type, Name.subType) Є {("dobj",""),("xcomp", "_"), ("ncmod", "prt"), ("xcomp", "to")}

 Le verbe verb est identifié ci-dessus

Par exemple l'objet de la phrase "My name is Tien" est déterminé par la relation grammaticale suivante :

GrammaireRelation((“xcomp“,“_“) , (“be“,“VBZ“,“3“), (“Tien“,“JJ“,“4“ ))

En conclusion, dans la phrase de notre exemple, il y a un triplet (subject, verb, object) qui est (name, be, Tien)

3.3 Identification de la relation n-aire

La recommandation du W3C n’aborde ni la méthode d’identification ni la méthode d’extraction des relations n-aires Pour faire cela, nous divisons le cas d’utilisation que le W3C a défini en sous-cas correspondants afin d'organiser le processus de traitement Cette partie vise à montrer comment identifier le cas d’utilisation et le sous cas en utilisant les relations grammaticales générées par RASP Selon, notre méthode, l’identification se fait pour chaque triplet (subject, verb, object)

3.3.1 Cas d’utilisation 1

3.3.1.1 Division en sous-cas

Ce cas est divisé en deux sous-cas désignés par UseCase1.1 et UseCase1.2

UseCase1.1 est caractérisé par une relation grammaticale de type modifieur entre le verbe principal et une préposition afin d'exprimer les caractéristiques (par exemple le temps, l'espace, la probabilité, etc.) de la relation binaire qu’elle étend

Par exemple, la phrase “Christine has breast tumor with high probability” comporte une relation n-aire de type UseCase1.1 La relation entre le verbe have et la préposition with montre la probabilité d’avoir la maladie de tumeur du sein pour Christine

UseCase1.2 est caractérisé par une relation grammaticale entre l'objet de la phrase et une préposition afin d'exprimer les informations additionnelles de la relation par exemple le moyen pour obtenir la relation binaire qu’elle étend

Trang 31

Par exemple, la phrase “Tom created the XYZ laptop by using a new technology” comporte une relation n-aire de UseCase1.2 Nous trouvons qu’il y a une relation binaire entre Tom et the XYZ Le moyen pour obtenir cette relation est indiqué par la proposition by using a new technology

Si nous désignons UseCase1 l'ensemble de phrases qui appartient au cas d'utilisation 1, nous avons :

UseCase1 = UseCase1.1 U UseCase1.2

3.3.1.2 Identification de sous-cas 1

Au niveau linguistique, la tâche principale de l’identification est de montrer l’existence d’une

ou plusieurs relations grammaticales qui sont caractérisées pour chaque cas d’utilisation Rappelons que l’identification se fait pour chaque triplet (subject, verb, object)

Le UseCase1.1, c’est la relation suivante :

GrammaireRelation(Name, Verb, Preposition)

Où il faut montrer que :

 ((Name.type, Name.subType) Є {("xmod", "_"), ("ncmod", "_"), (“iobj”, “”),

Par exemple, pour la phrase “Christine has breast tumor with high probability”, il existe la relation suivante :

GrammaireRelation(("ncmod", "_" ), ("have","VHZ","2"), ("with","IW","5"))

Pour le UseCase1.2, il faut montrer l’existence de la relation grammaticale suivante :

GrammaireRelation(Name, object, Preposition) ó

 (Name.type, Name.subType) Є {("xmod", "_"), ("ncmod", "_"), (“iobj”, “”)}

Trang 32

 Preposition.pos Є {"IW", "ICS", "II"} Les prépositions pour ce cas sont by, after, before, since, until

Par exemple, dans la phrase “Tom created the Lonovo laptop by using a new technology.”, il

y a un triplet (“Tom“ ,“create“,“laptop“) Pour ce triplet, il y a une relation entre l'objet

“laptop“ et la préposition “by“ qui commence la proposition “by using a new technology“:

GrammaireRelation(("xmod", "_" ), ("laptop","NN1","5"), ("by","II","6"))

En se basant sur cette relation, nous confirmons que cette phrase comporte une relation n-aire

de type UseCase1.2

3.3.2 Cas d’utilisation 2

3.3.2.1 Division en sous-cas

Nous pouvons diviser ce cas en deux sous-cas : UseCase2.1 et UseCase2.2

Dans une phrase ó il existe la relation n-aire du UseCase2.1, les informations détaillées sur l'objet sont données par une proposition comme that, what, which, who

Par exemple, dans la phrase “Mr Nam has a wife who is very beautiful, quite intelligent, and

so active.”, les caractéristiques de l'objet “a wife“ sont montrés par la relation entre cet objet

et une proposition qui commence par l'adverbe who

Cependant, dans la phrase ó il existe une relation n-aire de type UseCase2.2, les informations détaillées sur l'objet sont données par un groupe de mots qui commence par un verbe soit sous forme gérondif Verb+ing soit sous forme passive Verb+ed

Par exemple, dans la phrase “I buy a IBM laptop made in USA.”, l’information détaillé sur l'objet IBM laptop est identifiée par la relation entre le mot ”laptop” et le verbe ”make” mis sous forme de participe passé

Si nous désignons le UseCase2 par l'ensemble de phrases qui contiennent la relation n-aire de type sous-cas d'utilisation 2, nous avons :

UseCase2 = UseCase2.1 U UseCase2.2

3.3.2.2 Identification de sous-cas 1

Afin de déterminer ce cas pour un triplet (Subject, verb, object), il faut montrer l’existence de

la relation grammaticale suivante :

GrammaireRelation(Name, object, depToken) tel que :

■ {Name.type, Name.subType} Є {("cmod", "_"),("cmod", "that")}

■ depToken 2.pos Є {"VHZ", "VVZ", "VV0", "VVD", "VVG", "VVN",

"VVGK", "VVNK"} Cet ensemble signifie que le depToken est aussi un verbe Ce verbe a pour but de modifier l'objet object

Par exemple, dans la phrase “Mr Nam has a wife who is very beautiful, quite intelligent, and

so active.”, il existe un triplet (Nam, have, wife) De plus, le prédicat “wife” est modifié par le

Trang 33

deuxième verbe “be“ par la relation suivante :

GrammaireRelation(("cmod", "_" ), ("wife","NN1","5"), ("be","VBZ","7"))

Donc, cette phrase comporte une relation n-aire de type UseCase2.1

3.3.2.3 Identification de sous-cas 2

Supposons que dans une phrase, nous trouvons un triplet (subject, verb, object) Cette phrase comporte une relation n-aire de UseCase2.2 s’il y a la relation grammaticale suivante :

GrammaireRelation(Name, object, depToken) ó :

 (Name.type, Name.subType) Є {(“xmod”, “_”)}

 depToken.pos Є {“VVD”, “VVG”, ”VVN” } Cet ensemble signifie que le token depToken est un verbe sous forme Verb+ed ou verb+ing

Par exemple, la phrase “My brother buys a new laptop using the IBM technology.” est classifiée dans ce cas car il y a une relation entre l'objet “laptop“ et la forme Verb+ing du verb

“use“ afin de modifier cet objet :

GrammarRelation(("xmod", "_"), ("laptop", "NN1", "6"), ("use", "VVG", "7"))

la partie de l'identification

Supposons qu'un triplet (subject, verb, object) soit trouvé dans une phrase Pour affirmer que cette phrase comporte une relation n-aire de ce cas, il faut montrer l’existence de la relation suivante :

GrammarRelation(Name, verb, Preposition) tel que

 (Name.type, Name.subType) Є {("xmod", "_"), ("ncmod", "_"), (“iobj”, “”)}

 Preposition.pos Є { "IF", "IO", "II", "CSA"} Les prépositions pour ce cas sont par exemple for, from, as, etc

Notons que par rapport au UseCase1.1, l’ensemble de prépositions pour ce cas est différent, bien que le type de la relation grammaticale caractéristique soit identique

Par exemple, dans la phrase “John buys a French book from books.example.com for $15 as a birthday gift”, on trouve le triplet (John, buy, book) Pour le verbe ”buy” de ce triplet, on trouve les relations suivantes avec les prépositions ”from”, ”for”, ” as”:

 GrammarRelation(("iobj", ""), ("buy", "VVZ", "2"), ("for", "IF", "8"))

 GrammarRelation(("iobj", ""), ("buy", "VVZ", "2"), ("from", "II", "6"))

Trang 34

 GrammarRelation(("ncmod", "_"), ("buy", "VVZ", "2"), ("as", "CSA", "11"))

En se basant sur les relations ci-dessus, on dit que cette phrase comporte une relation n-aire de type cas d’utilisation 3

3.3.4 Cas d’utilisation 4

La liste des arguments d’une relation de type UseCase4 se compose des éléments qui sont les instances du concept correspondant à l’objet de la phrase Par exemple, la phrase “United Airlines flight 3177 visits the following airports: LAX, DFW, and JFK”, les ắroports LAX, DFW, JFK sont les instances du concept ắroport qui correspond au l’objet airport de cette phrase

Supposons que nous détectons le triplet (subject, verb, object) dans la phrase à traiter La relation entre un concept correspondant à l’objet object et ses instances est caractérisée par les relations grammaticales suivantes :

GrammarRelation(Name, object, conjunction) ó

(Name.type, Name.subType) Є {(“ta”, “colon”)}

Conjunction.lem Є {“and”}

Par conséquent, dans le but d’identifier une relation n-aire de type cas d’utilisation 4, il faut identifier les relations grammaticales ci-dessus Dans ces relations grammaticales, la conjonction “and” représente une liste d’instances de concepts La recherche de cette liste est présentée dans la partie 3.4.5

Par exemple, dans la phrase précédente, il existe la relation grammaticale suivante :

GrammarRelation((“ta”, “colon”), (“airport”, “NNL2”, “8”), (“and”, “CC ”, “14”)

Où le token airport est l’objet dans le triplet (”flight”, ”visit”, ”airport”) trouvé C’est la raison pour laquelle nous détectons que cette phrase comporte une relation n-aire de UseCase4

Nous pouvons détecter l’existence d’une liste d’arguments, mais il n’est pas possible de vérifier si cette liste est ordonnée ou non C’est le contexte et la sémantique de la phrase qui déterminent cela Donc, nous ignorons la vérification de l’ordre de la liste détectée dans le but

de l’identification de la relation n-aire UseCase4

3.4 Extraction des arguments d’une relation n-aire

Cette partie vise à présenter notre algorithme pour l’extraction des arguments d’une relation n-aire et l'utilisation de cet algorithme pour tous les cas et sous-cas d'utilisation

3.4.1 Algorithme d'extraction d'un argument de la relation n-aire

L'objectif de l'extraction d'une relation n-aire est de récupérer la valeur des arguments de cette

Trang 35

relation Un argument est un groupe de mots Une relation n-aire est caractérisée par l'ensemble de ses arguments Cette partie a pour but de présenter notre algorithme pour extraire un argument dans une relation n-aire

En se basant sur le fait que chaque phrase peut être considérée comme un graphe orienté, notre algorithme se compose de trois étapes : la première étant la détermination du token pivot, la deuxième étant la construction du graphe correspondant à la phrase, la dernière étant

la recherche d’argument sur ce graphe

3.4.1.1 Détermination du token pivot

Cette étape vise à déterminer le token pivot d'un argument Un token pivot est le mot le plus important dans un groupe de mots Par exemple, pour le groupe de mots “The teacher of my brother”, le token pivot est le mot “teacher” Tout le reste des mots sont relatifs à ce token pivot Comme nous l’avons abordé dans la partie précédente, l'identification de la relation n-aire se fait par un triplet (Subject, verb, object) de la phrase De la même façon, nous nous basons sur ce triplet pour l'extraction de la relation n-aire Les tokens dans ce triplet sont aussi des tokens pivots Les autres tokens pivots sont trouvés au fur et à mesure en se basant sur ce triplet en cherchant une chaîne des relations grammaticales La recherche de tokens pivots dépende de type de la relation n-aire

Par exemple, avec le triplet (sister, have, tumor), on sait que la phrase "The younger sister of Christine has breast tumor with high probability." comporte une relation n-aire de type UseCase1.1 “sister”, “have”, et “tumor” sont des tokens pivots Un autre token pivot est

“probability” Ce token pivot est trouvé par deux relations grammaticales : une entre “have”

et ”with”, et une autre entre ”with” et le token “probability” Le token “sister” forme l'argument “The younger sister of Christine” Dans les étapes suivantes, on verra comment ce groupe de mot est trouvé

3.4.1.2 Construction du graphe correspondant à la phrase

Cette étape a pour but construire le graphe correspondant à la phrase Il s'agit d'un graphe orienté et étiqueté La construction de ce graphe est présentée en Figure 15

L'idée principale est que l'ensemble de sommets du graphe est l'ensemble de mots dans la phrase Son ensemble d'arêtes est établi par toutes les relations grammaticales Une arête a pour origine le sommet correspondant au token head d'une relation grammaticale Son extrémité est le sommet correspondant au token dependent de cette relation L'étiquette affectée à une arête est le nom de la relation grammaticale qui se compose des attributs type et subType

Trang 36

ConstructGraph

Input : S = Sentence(Tokens, GrammarRelations)

Ouput : G = Graph(Vertices, Edges)

For r in GrammarRelations do

Begin label = r.name;

End

Figure 15 : Construction du graphe correspondant à une phrase

De cette façon, le graphe correspondant à la phrase "The younger sister of Christine has breast tumor with high probability." est construit comme nous le montrons en Figure 16 Voyons l’arête qui lie les sommets "have" et "with" A cette arête est affectée une étiquette

"(ncmod, _)" Nous savons que "ncmod" et "_" correspondent au type et au sous-type de la relation grammaticale entre les tokens "have" et "with"

have

sister ncsubj

with

(Ncmod,_)

dobj tumor dobj

breast

the younger

det

dobj iobj

(Ncmod,_) (Ncmod,_)

(ncmod,_)

have

sister ncsubj

with

(Ncmod,_)

dobj tumor dobj

breast

the younger

det

dobj iobj

(Ncmod,_) (Ncmod,_)

(ncmod,_)

Figure 16 : Le graphe correspondant à la phrase d'exemple Pour réduire la taille de graphe à parcourir dans l'étape suivante, nous construisons le sous-graphe correspondant La construction de ce sous-graphe est présentée en Figure 17

Trang 37

Par exemple L := {(“det”, “”), (“iobj”, “”), (“ncmod”, “_”), (“dobj”, “”), (“xmod”, “_”)} Cet ensemble est utilisé pour chercher le groupe nominal ou le groupe verbal L’étiquette de l’arête qui lie deux sommets correspondants aux mots d’un groupe nominal appartient à ensemble L ci-dessus Donc, dans ce cas-là, le sous-graphe du graphe en Figure 17 est construit en supprimant l’arête dont l'étiquette est ”ncsubj” qui lie les sommets ”have” et

Begin

Mark(v);

For t In Neighbor(v) do

Begin If(Not t.isMark()) Then SearchConnectedVertices(G', t);

End End

Figure 18 : Recherche des sommets connectés à un sommet Cette dernière étape a pour but de trouver le groupe de mot autour du token pivot C'est ce

Trang 38

groupe qui va être considéré comme argument de la relation n-aire L’idée est que l’on cherche tous les sommets vers lesquels le sommet correspondant au token pivot peut arriver Cela est résolu en utilisant l’algorithme de parcours du graphe Le graphe à chercher est le sous-graphe construit à l'étape précédente Cet algorithme est présenté en Figure 18

Par exemple, l’ensemble de sommets trouvé dans le résultat de la recherche pour le sommet

“sister” sont : {sister, younger, the, of, Christine} Après avoir trié cet ensemble en fonction

de la position du token dans la phrase (sortByPosition), nous avons un groupe de mot “ The younger sister of Christine “ qui est un des arguments de la relation n-aire dans la phrase mentionnée

En conclusion, l’algorithme d’extraction d’un argument de la relation n-aire dans une phrase est présenté en Figure 19

Figure 19 : Algorithme d'extraction d'un argument de la relation n-aire

Dans les parties suivantes, nous présentons les arguments de tous les cas des relations n-aires abordées, le token pivot pour chaque argument, la représentation formelle de la relation n-aire, ainsi que l'extraction des arguments en utilisant l'algorithme de la Figure 19 avec des exemples

3.4.2 Cas d’utilisation 1

3.4.2.1 Description des arguments et formalisation de la relation n-aire

Les arguments d'une relation n-aire de UseCase1 sont les suivants :

 S : Le sujet de la relation

 O : L'objet qui possède une relation avec le S

 A1,A2, ,An : les attributs additionnels décrivant la relation Les Ai peuvent exprimer

la conséquence, la raison, etc de la relation

Trang 39

Cette relation est désignée par UC1(S, V_O1, O, A1, A2, …, An) ó V_O1 est ajouté pour représenter le nom de la relation Le nom de la relation est formé par le verbe verb et le l'objet object dans le triplet (subject, verb, object)

De cette façon, nous pouvons représenter formellement cette relation comme dans la Figure

20 et la Figure 21 Notons que tous les sous-cas du cas d'utilisation 1 possèdent les mêmes arguments et donc la même façon de représentation

<Relation uc = '1' name = 'V_O1'>

Mai

nAttr

ibute1

A2

MainAttribute2

Mai

nAttr

ibute1

A2

MainAttribute2

O

Figure 21 : Représentation formelle d'une relation de UseCase1 3.4.2.2 Extraction des arguments

Le but de l'extraction d'une relation n-aire est d'extraire tous ses arguments Il est important de trouver le token pivot correspondant à un argument Ensuite, nous utilisons notre algorithme pour chercher l'argument en fonction de son token pivot

Pour le Usecase1.1

Supposons que nous avons détecté que le triplet (subject, verb, object) mène une relation aire de type UseCase1.1 Les tokens pivots pour les arguments sont les suivants :

n- Pour S : est le token subject

 Pour O : est le token predicate

 Pour Ai : est la préposition avec laquelle l'objet a une relation grammaticale C'est elle qui est utilisée pour identifier cette relation n-aire

Trang 40

Par exemple, la phrase "The younger sister of Christine has breast tumor with high probability." comporte une relation n-aire de type UseCase1.1 dérivée du triplet (sister, have, tumor) Les tokens pivots et les arguments sont les suivants :

 Pour S : c'est "sister" En utilisant notre algorithme, l'argument S qui est extrait étant The younger sister of Christine

 Pour O : c'est "tumor" Donc l’argument O est "breast tumor"

 Pour A : c'est "with" Donc l’argument A est "with high probability"

La relation n-aire dans cette phrase est présentée sur la Figure 22 et la Figure 23

<Relation uc = '1' name = 'have_tumor'>

<Subject name = 'The younger sister of Christine'/>

<MainAttribute value = 'breast tumor'/>

<InfoList>

<AdditionalInfo value = 'with high probability'/>

</InfoList>

</Relation>

Figure 22 : Représentation en XML d'un exemple de UseCase1.1

Pour le UseCase1.2

Supposons qu'une relation dérivée du triplet (subject, verb, object) Les tokens pivots pour S

et O sont identiques à ceux de UseCase1.1, pour les Ai sont les prépositions avec lesquelles l'objet object a une relation grammaticale que nous avons utilisé pour l'identification de UseCase1.2

Par exemple, dans la phrase "Tom created the XYZ laptop by using a new technology.", il y a une relation n-aire de UseCase1.2 dérivée du triplet (Tom, create, laptop) Les tokens pivots et les arguments sont présentés sur le Tableau 1

Phrase "Tom created the Lenovo laptop by using one new technology."

Tableau 1 : Les tokens pivots et les arguments d'une relation n-aire d'un exemple de

UseCase1.2

Ngày đăng: 27/10/2016, 22:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w