Frédéric GIANNETTI
Master DEFI
(Documents Électroniques et Flux d'Informations)
RAPPORT de STAGE
Stage effectué du 15 Avri...
Remerciements
Mes remerciements iront en premier lieu à mes encadrants ainsi qu'aux personnes avec lesquelles
j'ai été ame...
Table des matières
1Introduction ............................................................................................
7.3.2Résultats de l'extraction ..........................................................................................4...
1 Introduction
Ce stage s'inscrit dans la continuité du Master DEFI (Documents Électroniques et Flux
d'Informations) propo...
Nous avons tenté d'automatiser une partie des étapes nécessaires à l'élaboration de ces RP et
leur mise en conformité avec...
1.2 Organisation // LIMSI
Illustration 1: Organigramme du LIMSI
Le LIMSI (Illus. 1) s'organise autour de deux départements...
2 État de l'art
L'ingénierie des connaissances est un domaine en forte progression depuis le manifeste pour
l'établissemen...
• les ontologies de représentation (RDF, RDFS, etc.) permettant de définir des classes,
propriétés, relations de sous-clas...
Nous suivrons cette succession d'étapes dans le cadre de la création de notre ontologie de
domaine, en partant d'un ensemb...
2.4 Ontologies – Extraction de termes
L'extraction automatique de termes, dans l'optique d'alimenter un glossaire propre à...
créer un « Aristote Digital » (Digital Aristotle1
), en essence, une base de connaissance
construite à partir de livres de...
3 Méthodologie suivie
La méthodologie que avons suivi s'organise autour de quatre étapes successives.
Dans un premier temp...
4 Création d'une ontologie de domaine
Notre objectif premier est la création d'une taxonomie, soit une liste hiérarchisée ...
Ces différentes entités seront reliées à l'aide des propriétés adéquates aux concepts pertinents, permettant la création d...
Cet exemple (Illus. 3) montre qu'un concept issu de la taxonomie est l'élément central autour
duquel s'articulent les diff...
Illustration 4: Modèle d'ontologie développé
4.3 Propriétés d'objet (Object Properties)
Les propriétés d'objets sont matérialisées sur le modèle par des losanges bleus...
Illustration 5: Instanciation du modèle autour du concept de « vue »
Nous pouvons mettre en avant l'intérêt de disposer de plusieurs formulations différentes pour
chacun des concepts de la ta...
• Une description
• Une liste de termes impliqués dans le scénario
Celui-ci est rédigé dans un langage informel, mais conc...
4.6.2 Questions de compétence
En plus de ces scénarios doivent être mises en place des « Competency Questions » (questions...
• Quelle est le terme privilégié d'un concept particulier?
SELECT ?s
WHERE {
?c skos:prefLabel ?s .
}
• Quel est son équiv...
5 Évaluation // Constitution d'un corpus de
référence
Afin de procéder à l'évaluation de l'extraction des relations, nous ...
5.2 Format d'annotation
Ci-dessous, un exemple de sortie d'annotation pour le 3ème slide du cours d'Anne Vilnat,
intitulé ...
6 Extraction de termes
6.1 Corpus constitué
Le corpus s'articule autour de deux éléments principaux. D'un côté nous avons ...
6.3 Élaboration de la taxonomie
L'élaboration de la taxonomie s'est faite sur le principe des Hearst Patterns [Hearst92].
...
7 Extraction automatique de relations
Dans le cadre de la création de RP, nous avons été amenés à rechercher et extraire d...
De cette façon, il est possible de pouvoir faire intervenir une recherche sur deux niveaux,
morpho-syntaxique et lexical, ...
Entités (ex., films, acteurs)
Associations (ex., qui joue dans quel film)
Un Système de Gestion de Bases de Données
(SGBD)...
definiendum (thème) et la définition ou definiens (prédicat) –, unis par une copule
que l’on trouve dans les textes.
En d'...
Illustration 9: Modèle canonique de définition
En vert, le definiendum, en bleu le definiens et enfin en jaune la copule qui permet de créer la
relation définitoire.
DEF...
7.1.2.3 Les verbes à modalité définitoire et la voix passive
Un avantage non négligeable proposé par le formalisme de TReg...
Illustration 10: Voix passive pour l'Anglais
Nous procédons à l'extraction du concept à l'aide de ce type de règles:
/(N|P)P/ $.. ((VP <<, /^was|^were|^is|^are/) <+(VP...
7.1.3 L'exemple
Nous nous sommes penchés sur des phénomènes ponctuels présentant des éléments discursifs
précis pour extra...
N)/)) < /blikeb/))) > NP
Et de l'énumération qui lui est liée:
((PP < (IN $ (NP < (/N(P|N)/ $ (/,/ < /,/) $.. CC $.. /N(P|...
plus nombreuses), puisque certaines clauses sont mal délimitées, tel que dans l'illustration 12.
« Inside » n'est pas cons...
7.2 Évaluation
Pour l'Anglais, nous avons développé 5 types de règles différentes pour extraire les
définitions, 3 types d...
Smine et al. obtiennent, à titre de comparaison, les résultats suivants en ne se basant que sur
des règles d'extraction dé...
Le format epub est un dérivé du langage HTML qui permet la création de livres électroniques.
Celui-ci est par conséquent u...
8 Graphe de prérequis
L'intérêt de créer un graphe de prérequis réside dans l'organisation logique qu'il permet de
faire a...
sein desquelles lesquelles le premier élément est une notion quelconque et les éléments
suivants toutes les notions apparu...
l'ontologie (environ 300 définitions, principalement issues de G. Gardarin).
8.3 Application sur le corpus
Chaque cours du...
index 3
relation 3
schéma 3
SGBD 3
transaction 3
base de données 2
objet 2
requête 2
règle 2
terme 2
table 2
À ces prérequ...
ensemble de questions.
Le résultat de l'extraction des prérequis nous donne pour ces définitions:
vue_a requête 1 table 1
...
Illustration 16: Prérequis de premier et second niveau pour le concept de « vue »
Ci-dessous (17), nous présentons un schéma représentant l'union des deux ensembles de
prérequis pour le concept de vue. Po...
Au moment où ce rapport est rédigé, ces travaux sont toujours en cours.
8.6.1 Chu–Liu/Edmonds' algorithm
Cet algorithme es...
base_de_données 0.008
exécution 0.007
constante 0.007
transaction 0.007
attribut 0.007
tuple 0.006
Conserver les concepts ...
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Frédéric Giannetti rapport LIMSI-CNRS 2013
Prochain SlideShare
Chargement dans…5
×

Frédéric Giannetti rapport LIMSI-CNRS 2013

226 vues

Publié le

Rapport détaillant mon stage au LIMSI-CNRS en 2013 au cours duquel j'ai travaillé sur la problématique de l'extraction d'information afin de peupler une ontologie.

Publié dans : Données & analyses
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
226
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Frédéric Giannetti rapport LIMSI-CNRS 2013

  1. 1. Frédéric GIANNETTI Master DEFI (Documents Électroniques et Flux d'Informations) RAPPORT de STAGE Stage effectué du 15 Avril au 30 Septembre 2013 au LIMSI-CNRS Laboratoire d'Informatique pour la Mécanique et les Sciences de l'Ingénieur Rue John von Neumann Université Paris-Sud 91403 ORSAY EXTRACTION ET STRUCTURATION DE NOTIONS DE COURS POUR L'EIAH Sous la direction de : M. Gabriel ILLOUZ (Maître de conférence Université Paris-Sud) et Mme Yolaine BOURDA (Professeur Supélec) Soutenu le 23 Septembre 2013 à l'UFR PHILLIA Université Paris Ouest – Nanterre – la Défense 200, avenue de la République 92001 Nanterre cedex Année Universitaire 2012-2013
  2. 2. Remerciements Mes remerciements iront en premier lieu à mes encadrants ainsi qu'aux personnes avec lesquelles j'ai été amené à travailler, qui m'ont accordé leur confiance et permis de mener à bien ce stage. Leur patience ainsi que leur disponibilité ont été d'une aide inestimable. Merci à mes collègues de bureau, ça n'aurait pas été pareil sans eux, et par extension à Sami, un ancien du 114. Merci à toutes les personnes avec lesquelles j'ai pu échanger sur tous les sujets possibles et imaginables, de la Science-Fiction, à la définition de l'humanité, en passant par le Black Metal, le saut à l'élastique, le Jurançon, l'addiction aux séries Américaines et le végétalisme (et parfois un peu de boulot au milieu). Je ne les cite pas, mais ils se reconnaîtront. Mon dernier remerciement ira à Brigitte Grau, peu de questions restent sans réponses.
  3. 3. Table des matières 1Introduction ..............................................................................................................................3 1.1Laboratoire d'accueil // LIMSI .........................................................................................4 1.2Organisation // LIMSI.......................................................................................................5 2État de l'art ...............................................................................................................................6 2.1Ontologies – Définition ....................................................................................................6 2.2Ontologies – Modélisation ...............................................................................................7 2.3Ontologies – EIAH ...........................................................................................................8 2.4Ontologies – Extraction de termes ...................................................................................9 2.5Ontologies – Annotation sémantique ...............................................................................9 3Méthodologie suivie ...............................................................................................................11 4Création d'une ontologie de domaine .....................................................................................12 4.1Besoins ...........................................................................................................................12 4.2Présentation du modèle ..................................................................................................14 4.3Propriétés d'objet (Object Properties) .............................................................................16 4.4Propriétés de données (Data Properties) ........................................................................16 4.5Exemple d'instanciation de la base de connaissance ......................................................16 4.6Scénarios d'usage et questions de compétence ...............................................................18 4.6.1Scénario d'usage......................................................................................................18 4.6.1.1Scénario 1 ........................................................................................................19 4.6.1.2Scénario 2 ........................................................................................................19 4.6.1.3Scénario 3 ........................................................................................................19 4.6.2Questions de compétence........................................................................................20 5Évaluation // Constitution d'un corpus de référence ..............................................................22 5.1Présentation de Brat ........................................................................................................22 5.2Format d'annotation ........................................................................................................23 5.3Guide d'annotation ..........................................................................................................23 6Extraction de termes ...............................................................................................................24 6.1Corpus constitué .............................................................................................................24 6.2Extraction des concepts ..................................................................................................24 6.3Élaboration de la taxonomie ...........................................................................................25 7Extraction automatique de relations .......................................................................................26 7.1Extraction de relations à partir de textes non-structurés ................................................26 7.1.1Corpus de développement .......................................................................................26 7.1.1.1Préparation du corpus QA4MRE ....................................................................27 7.1.1.2Préparation du corpus de slides .......................................................................27 7.1.2La définition ............................................................................................................28 7.1.2.1Le modèle canonique ......................................................................................29 7.1.2.2Les appositives ................................................................................................31 7.1.2.3Les verbes à modalité définitoire et la voix passive .......................................32 7.1.2.4Définition introduite par un marqueur discursif (:) .........................................34 7.1.3L'exemple ................................................................................................................35 7.1.3.1such as .............................................................................................................35 7.1.3.2like ...................................................................................................................35 7.1.4Extraction d'acronymes ...........................................................................................36 7.2Évaluation .......................................................................................................................38 7.3Extraction de relations à partir d'un texte semi-structuré ...............................................39 7.3.1Traitement du livre Bases de données.....................................................................39 1
  4. 4. 7.3.2Résultats de l'extraction ..........................................................................................40 8Graphe de prérequis ...............................................................................................................41 8.1Heuristiques.....................................................................................................................41 8.1.1Définitions et prérequis ...........................................................................................41 8.1.2Chronologie d'apparition des concepts ...................................................................41 8.1.3Notions communes .................................................................................................42 8.2Chaîne de traitements mise en place...............................................................................42 8.3Application sur le corpus ................................................................................................43 8.4Application sur un corpus de définitions ........................................................................44 8.5Propriétés des graphes obtenus .......................................................................................45 8.6Élagage du graphe ..........................................................................................................47 8.6.1Chu–Liu/Edmonds' algorithm..................................................................................48 8.6.2Tri topologique .......................................................................................................48 8.6.3PageRank ................................................................................................................48 8.6.4Précisions techniques...............................................................................................49 9Conclusion et perspectives .....................................................................................................50 10Réflexion...............................................................................................................................51 11Bibliographie.........................................................................................................................52 Index des illustrations Illustration 1: Organigramme du LIMSI.....................................................................................5 Illustration 2: « Ontology Layer Cake » selon Buitelaar............................................................8 Illustration 3: Instance de « vue » et ses propriétés..................................................................13 Illustration 4: Modèle d'ontologie développé............................................................................15 Illustration 5: Instanciation du modèle autour du concept de « vue »......................................17 Illustration 6: Scénario d'usage.................................................................................................18 Illustration 7: Questions de compétences..................................................................................20 Illustration 8: Fenêtre d'annotation de Brat...............................................................................22 Illustration 9: Modèle canonique de définition.........................................................................30 Illustration 10: Voix passive pour l'Anglais..............................................................................33 Illustration 11: Acronyme classique..........................................................................................36 Illustration 12: Erreur liée à l'étiquetage...................................................................................37 Illustration 13: Cartouche de définition....................................................................................39 Illustration 14: Deux chaînes de traitement différentes pour traiter deux types de données....42 Illustration 15: Prérequis de premier niveau pour le concept de « vue »..................................45 Illustration 16: Prérequis de premier et second niveau pour le concept de « vue »..................46 Illustration 17: Union des ensembles de prérequis issus de deux types de corpus différents...47 2
  5. 5. 1 Introduction Ce stage s'inscrit dans la continuité du Master DEFI (Documents Électroniques et Flux d'Informations) proposé par l'Université de Paris-Ouest Nanterre La Défense sous la direction de Mme Camille Claverie et M. Marcel Cori, professeur émérite. Ce stage fait partie intégrante du projet ANETH (ANalysE de Textes Hybride faisant coopérer connaissances formelles et non formelles) porté par Melle Anne-Laure Ligozat, Maître de conférences en informatique au LIMSI et à l'ENSIIE, en partenariat avec Supélec, représenté par Mme Yolaine Bourda, Professeur à Supélec, chef du département informatique. Enfin, j'ai également été amené à travailler de façon très régulière avec Mme Brigitte Grau, Professeur à l'ENSIIE dans le cadre de la campagne QA4MRE. J'ai été encadré tout au long du stage par Mme Yolaine Bourda, précédemment citée et M. Gabriel Illouz, Maître de conférence à l'Université de Paris-Sud Dans le cadre des Environnements Informatiques pour l'Apprentissage Humain (EIAH), nous nous intéressons à la création de ressources pédagogiques (RP) appliquées au domaine des bases de données. La création de ces ressources est coûteuse aussi bien en temps qu'en compétences. Cependant, nous pouvons aussi faire le constat qu'un nombre croissant de documents pédagogiques sont mis en ligne et par conséquent exploitables. L'enjeu de notre époque reste, à défaut de pouvoir reprendre l'intégralité de ces documents pour les unifier au sein d'un format qui serait compréhensible par les machines, d'extraire l'essence de ces documents afin d'alimenter des bases de connaissances, ou, à tout le moins, d'extraire une partie de la sémantique véhiculée afin de la rendre disponible, interprétable, formalisée et par conséquent, potentiellement utilisable dans le cadre d'applications spécialisées. Les techniques de l'ingénierie linguistique sont un apport non négligeable dans l'optique de pouvoir automatiser la recherche et l'extraction de notions de cours pertinentes et la création d'une base de connaissances réutilisable à terme. L'idée du Web Sémantique telle qu'énoncée par Tim Berners-Lee [Berners-Lee01] a permis de donner le coup d'envoi à la mise à disposition de données fiables et formalisées de manière à pouvoir anticiper leur réutilisation. Bien que le Web Sémantique tarde à prendre son envol, de nombreuses initiatives vont dans ce sens, en témoigne la version structurée de Wikipédia (DBpédia) ou encore la volonté de certains gouvernements occidentaux de rendre des données libres et compatibles avec les standards du Web 3.0. C'est dans cette optique que nous nous sommes penchés sur le domaine des ontologies, conjointement à celui des EIAH. Les ontologies proposent un formalisme basé sur des triplets (Sujet / Prédicat / Objet) permettant de hiérarchiser des concepts au sein d'une taxonomie mais aussi de décrire des objets du monde réel. Les propriétés inhérentes aux ontologies permettant de stocker non seulement des instances propres à un domaine mais aussi leur organisation hiérarchique ainsi que les relations les unissant, aussi, nous nous baserons sur ce formalisme afin de créer et regrouper des ressources pédagogiques. La base de connaissance aura pour thème l'enseignement des bases de données en informatique. Le but est de pouvoir décrire un concept selon différents niveaux de précision aboutissant à une connaissance plus ou moins approfondie d'un concept, et selon les pré-requis nécessaires à sa compréhension. Nous nous appuierons sur des transparents de cours car ceux-ci sont porteurs de connaissances stabilisées et partagées et partant du postulat que ceux-ci sont le reflet des connaissances d'un expert [Mondary08]. 3
  6. 6. Nous avons tenté d'automatiser une partie des étapes nécessaires à l'élaboration de ces RP et leur mise en conformité avec les standards du Web Sémantique, ceci dans le but d'obtenir des ressources présentant des niveaux différents de granularité et afin de rendre leur potentiel de réutilisation le plus élevé possible. Ainsi que le souligne [Wiley03], il existe une relation inverse entre la taille d'une RP et son potentiel de réutilisation. Nous avons par conséquent essayé d'extraire des connaissances d'un haut niveau d'atomicité regroupées au sein d'une ontologie destinée à organiser les RP et leur imprimer à un niveau méta une organisation à même de rendre compte des différents niveaux de classification et hiérarchisation en fonction des besoins des utilisateurs, qu'il soit créateur de RP, consommateur ou encore concepteur d'applications. Notre hypothèse de travail est donc la suivante: En tirant parti de la mise à disposition d'une quantité non négligeable de documents pédagogiques, il est possible de capturer l'essence (ou en tout cas une partie) d'un domaine, de la formaliser, en ayant recours à des techniques d'automatisation issues de l'ingénierie linguistique. Par conséquent, nous mettrons à profit les avancées faites en matière d'analyse morpho- syntaxique, extraction de termes, analyse syntaxique d'arbres et structuration des connaissances par le biais des ontologies. Suite à la présentation du laboratoire qui m'a accueilli pour ce stage, nous proposerons un rapide état de l'art concernant les domaines auxquels je me suis intéressé qui sont la modélisation d'ontologie, les EIAH et le peuplement automatique d'ontologies. Par la suite, nous aborderons plus en détail les différentes étapes par lesquelles je suis passé, qui sont la création d'un modèle d'ontologie de domaine, l'extraction de termes et de relations en vue du peuplement et enfin l'utilisation d'algorithmes afin de définir une logique d'apprentissage des différentes notions propres aux bases de données. 1.1 Laboratoire d'accueil // LIMSI En 1970, le Centre de Calcul Analogique est déménagé sur le campus de l'Université de Paris XI et sera rebaptisé LIMSI (Laboratoire d'informatique pour la Mécanique et les Sciences de l'Ingénieur) en 1972 à l'initiative de Lucien Malavard. Initialement centré sur la mécanique des fluides, le LIMSI diversifiera ses activités jusqu'à la création d'un département dédié à la recherche sur les interactions Homme/Machine. Le LIMSI est une unité propre de recherche du CNRS associée aux Universités UPMC et Paris-Sud. Environ 120 permanents et une soixantaine de doctorants, y mènent des recherches pluridisciplinaires, en Mécanique et Énergétique et en Sciences et Technologies de l'Information et de la Communication. 4
  7. 7. 1.2 Organisation // LIMSI Illustration 1: Organigramme du LIMSI Le LIMSI (Illus. 1) s'organise autour de deux départements, Mécanique et Communication Homme/Machine (CHM). Les thèmes de recherche couvrent un large spectre disciplinaire, allant du « thermodynamique au cognitif ». Au sein du CHM, nous pouvons mettre en évidence trois grandes thématiques: • Réalité virtuelle et augmentée • Perception et interaction multimodales • Traitement du langage parlé, écrit et gestuel Au sein de ce département, j'ai été rattaché au groupe Information, Langue Écrite et Signée (ILES). Les recherches du groupe ILES, dirigé par Pierre Zweigenbaum, sont consacrées au traitement des données écrites (à leur analyse, leur compréhension ou leur production ainsi qu'à l'acquisition des connaissances nécessaires, principalement morphologiques et sémantiques) et signées (modélisation et traitement automatique de la langue des signes). 5 Groupe d'affectation
  8. 8. 2 État de l'art L'ingénierie des connaissances est un domaine en forte progression depuis le manifeste pour l'établissement du Web Sémantique de Tim Berners-Lee, conjointement à la généralisation de l'accès à Internet d'une fraction de plus en plus importante de la population. Plus précisément, l'ingénierie des connaissances se spécialise dans la conception et la réalisation de systèmes à base de connaissances. Cette branche de l'Intelligence Artificielle fait intervenir des techniques issues du Traitement Automatique du Langage (TAL), telles que l'extraction d'information, la reconnaissance d'Entités Nommées, etc. Nous nous intéressons ici plus particulièrement à la création de bases de connaissance, ou ontologies, dans le cadre de la formalisation d'un domaine d'enseignement, de la phase de modélisation au peuplement. 2.1 Ontologies – Définition La première définition d’une ontologie se retrouve en philosophie et concerne l’étude des propriétés de l’être. Par analogie le terme à été repris en informatique et en sciences de l’information où une ontologie est un outil qui permet précisément de représenter un corpus de connaissances sous une forme utilisable par un ordinateur. L’une des premières définition a été apportée par [Neches91]: Une ontologie définit les termes et les relations de base du vocabulaire d’un domaine ainsi que les règles qui indiquent comment combiner les termes et les relations de façon à pouvoir étendre le vocabulaire. Néanmoins, la littérature propose un grand nombre de définitions différentes du terme et chaque communauté adopte sa propre interprétation selon l’usage qui en est fait et le but visé. Une des définitions de l'ontologie qui fait autorité est celle de [Gruber93]: Une ontologie est une spécification formelle d'une conceptualisation d'un domaine, partagée par un groupe de personnes, qui est établie selon un certain point de vue imposé par l'application construite. [Guarino95] ajoute que la discipline des ontologies est un nouveau courant émergent de l'Intelligence Artificielle qui vise une formalisation logique d'une réalité qui fait consensus basée sur une caractérisation de catégories fondamentales telles que le temps, l'espace et la structure de concepts dans l'optique d'une forte interopérabilité. Le web se base sur le langage HTML pour s'exprimer, or celui-ci est principalement un langage de présentation. Le déploiement des ontologies nécessitait un langage permettant de représenter la sémantique ainsi que les liens hiérarchiques liant des concepts les uns aux autres [Horrocks05]. Le langage développé dans cette optique est construit sur le modèle RDF (Resource Description Framework) et une syntaxe XML, il s'agit de OWL qui fait partie des recommandations W3C. Les ontologies se basent toutes sur une organisation en triplets afin d'exprimer les relations entre différentes instances ou concept. Cependant, il est possible de distinguer plusieurs niveaux d'ontologies destinées à accomplir des objectifs différents. Nous pouvons ainsi citer: 6
  9. 9. • les ontologies de représentation (RDF, RDFS, etc.) permettant de définir des classes, propriétés, relations de sous-classe, de sous-propriété, etc. • les ontologies de haut-niveau (SUMO, PROTON, etc.) formalisant des relations et propriétés peu spécialisées mais néanmoins communes à un grand nombre de domaines; • les ontologies de domaine qui sont destinées à formaliser un ensemble de connaissances liées à un domaine précis ainsi que les ontologies d'application qui ajoutent au domaine des connaissances propres à la résolution de problèmes. Nous nous intéresserons tout particulièrement aux ontologies de domaine, ceci dans l'optique de créer une ressource propre à l'enseignement des bases de données, afin de formaliser le domaine par la création d'une taxonomie et l'ajout d'une couche organisationnelle destinée à mettre en évidence une progression pédagogique. 2.2 Ontologies – Modélisation [Brusa06] propose un modèle de développement d'ontologies de domaine en deux phases, spécification et conceptualisation. Pour la première phase, deux méthodes, Methontology [Fernández-López97] et 101 Method [Noy01] proposent de passer par une phase d'énumération des termes importants liés au domaine qui seront la base de la future étape de conceptualisation. Par la suite, il convient de mettre en place des scénarios d'utilisation qui permettront d'identifier des questions de compétences qui aideront à évaluer la robustesse de la future ontologie et auront un impact sur la phase de conceptualisation. En deuxième phase, la liste des termes identifiés en phase de spécification permet de disposer du noyau de l'ontologie. En associant diverses stratégies de Top-down (du niveau le plus abstrait au plus concret), Bottom-up (processus inverse, du concret vers l'abstrait) et Middle-out (du plus pertinent vers l'abstrait ou le concret) [Uschold96], les termes sont organisés, généralisés ou spécifiés [Mizoguchi04]. [Mondary08], dans le cadre de la création d'ontologies de domaines à partir de textes isole trois plans qui sont autant d'étapes successives: • le discours, impliquant la constitution d'un corpus de documents spécialisé; • le linguistique, impliquant l'analyse linguistique du corpus; • l'ontologique, la phase de conceptualisation. L'enjeu qui réside dans la création d'ontologies à partir de textes est de passer à travers deux transformations parallèles, le niveau textuel vers le niveau conceptuel et l'informel vers le formel. Nous sommes donc amenés à manipuler des termes au niveau textuel qui s'opposent aux concepts et des relations lexicales qui s'opposent aux relations conceptuelles. Ce que [Buitelaar05] représente sous la forme d'un « Ontology Layer Cake », une succession de couches qui ajoutent étape par étape une organisation et une sémantique à un ensemble de termes (Illus. 2). 7
  10. 10. Nous suivrons cette succession d'étapes dans le cadre de la création de notre ontologie de domaine, en partant d'un ensemble de termes pertinents (index) auxquels nous associerons différentes propriétés et ressources terminologiques utiles dans le cadre des EIAH. 2.3 Ontologies – EIAH [Dehors05] distingue trois types d'Environnement Informatique pour l'Apprentissage Humain (EIAH): • EIAH rassemblant et présentant des cours par le biais de liens hypertextes; • EIAH dont le contenu est adaptable et personnalisable (en amont par l'enseignant ou en se basant sur des statistiques des apprenants); • EIAH dont le contenu est généré à partir de données existantes. L'idée de l'utilisation d'ontologies afin d'indexer des ressources pédagogiques a été introduite par [Desmoulins00] et est désormais courante [Ullrich04], [Benayache04], [Dehors05], [Jovanovic05], [Smine11]. Nous devons distinguer plusieurs types d'ontologies intervenant à des niveaux différents au sein de l'EIAH [Jovanovic07], [Bittencourt09] qui permettent d'indexer les ressources pédagogiques, mais aussi de modéliser le parcours d'un apprenant et de mettre en place une démarche d'apprentissage. À ce titre, des formats standardisés existe pour la création de ressources pour l'apprentissage, en Anglais Learning Objects, tels que LOM (Learning Object Model, modèle de description des ressources pédagogiques) [Risk02] ou plus récemment MLR (Metadata for Learning Resource) [Bourda10] qui vise à pallier certaines insuffisances de LOM telle que son incompatibilité avec Dublin Core, schéma de métadonnées générique qui permet de décrire des ressources numériques ou physiques. Ici, nous focaliserons sur l'aspect formalisation des connaissances par la construction d'une ontologie de domaine. Nous nous proposons de fournir un modèle pouvant servir indifféremment de base aux différents types d'EIAH précédemment cités, mais en laissant cependant de côté l'aspect modélisation de parcours d'un apprenant. L'essentiel de notre travail porte donc sur l'extraction de concepts et de leurs définitions ainsi que la découverte d'un enchaînement logique les liant, imprimant de fait une ligne pédagogique directrice. 8 Illustration 2: « Ontology Layer Cake » selon Buitelaar
  11. 11. 2.4 Ontologies – Extraction de termes L'extraction automatique de termes, dans l'optique d'alimenter un glossaire propre à un domaine peut se faire selon différentes approches, mais suivent un enchaînement communément admis qui passe par l'application de pré-processus linguistiques (tokenisation, étiquetage morpho-syntaxique, etc.) suivi d'une sélection de candidats termes, et enfin, application de traitements statistiques pour extraire les termes propres à un domaine. La sélection de candidats termes peut se faire à travers des cascades de transducteurs à état fini [Park02] se basant sur l'étiquetage morpho-syntaxique, ou encore via l'utilisation de patrons [Navigli07]. D'autres travaux se basent sur des lexiques existants afin d'amorcer la construction d'une taxonomie, tel que [Seyed11]. 2.5 Ontologies – Annotation sémantique L'indexation de ressources pédagogique s'apparente à une étape d'annotation sémantique. Nous devons extraire des textes les chaînes de caractères pertinentes, mis en relation par une propriété définie au préalable dans l'ontologie de domaine. Il est nécessaire de distinguer les deux types d'annotation existant pour traiter un corpus de documents. [Véronis00] distingue ces deux types en ces termes: • les outils de manipulation des données; • les outils d'annotation automatique. Ce qui, en des termes extrêmement simplifiés revient à envisager d'un côté une approche manuelle, et de l'autre une approche automatique. Cette dernière peut faire intervenir des mécanismes du traitement automatique des langues et tirer parti de la structure même des documents afin d'accomplir sa tâche. Dehors et al. [Dehors05a] proposent une approche d'organisation des connaissances autour d'une ontologie pédagogique, qui organise les ressources présentes dans une ontologie de domaine. Celle-ci se place donc à un niveau méta. Les ressources sont créées par un expert du domaine (un enseignant) à partir d'un support de cours. Les concepts et relations sont annotées à la main [Buffa05], selon un processus itératif impliquant un investissement lourd de la part de l'expert qui l'oblige à formaliser une démarche pédagogique à partir du support et annoter les notions pertinentes. Celles-ci sont par la suite exprimées dans un standard du Web Sémantique et incluses dans une plate-forme d'EIAH (le système QBLS). Cependant, bien que l'annotation soit facilitée par l'utilisation d'outils de création de ressources et l'ajout automatique de certaines méta-données telles que des renseignements sur l'auteur, certains contenus sémantiques, mais les résultats obtenus imposent systématiquement une relecture et une réorganisation importante par un expert. Cependant, l'annotation manuelle, reste coûteuse aussi bien en compétence (nécessité de faire intervenir des experts du domaine) qu'en temps et ne permet pas de tirer parti de la quantité grandissante de documents disponibles [Dehors05b]. Le système QBLS est une partie d'une plate-forme plus grande (TRIAL SOLUTION) qui permet entre autre l'annotation manuelle en prérequis. A notre connaissance, l'annotation en prérequis passe systématiquement par un moyen manuel. Une autre initiative, plus récente, conforte la méthode manuelle de création de ressources pédagogiques pour l'enseignement à distance, il s'agit du projet Halo, dont l'objectif est de 9
  12. 12. créer un « Aristote Digital » (Digital Aristotle1 ), en essence, une base de connaissance construite à partir de livres de cours [Chaudhry07], [Chaudhry09]. Le projet est toujours en cours. Smine et al., s'appuyant sur les travaux de Desclés [Desclés97], proposent d'utiliser des règles développées à la main, se basant sur des entités discursives du texte pour se déclencher, afin d'extraire des segments à fort potentiel d'information dans le cadre de l'apprentissage à distance tels que des définitions, exemples, etc. Dans un premier temps des « indicateurs » sont recherchés qui peuvent être de nature hétérogènes (syntagmes nominaux ou verbaux, lexies, etc.). Puis la recherche va porter sur des « indices » présents ou non dans le contexte droit et/ou gauche afin de déterminer la valeur sémantique du segment testé, et l'annoter, le cas échéant. Nous avons donc une procédure en deux phases, une première étape d'extraction de segments candidats, puis une étape de raffinage avec élimination des segments non pertinents pour une tâche donnée. Cette approche se base uniquement sur des phénomènes de surface, et se dispense par conséquent de passer par une phase d'analyse morpho-syntaxique, la rendant particulièrement rapide et économique. Nous proposons ici de coupler la détection de déclencheurs lexicaux à une analyse syntaxique, de façon à mettre en place des patrons d'arbres syntaxiques sur lesquels nous appuieront notre extraction d'information. Nous devons passer par cette étape d'annotation car nous ne disposons pas d'un corpus annoté en termes et unités sémantiques telles que définies dans l'ontologie de domaine (définitions, exemples, etc.) et propres au domaine de l'enseignement des bases de données. 1 http://www.projecthalo.com/ 10
  13. 13. 3 Méthodologie suivie La méthodologie que avons suivi s'organise autour de quatre étapes successives. Dans un premier temps, nous avons défini et modélisé un modèle d'ontologie, conformément aux besoins que nous avions anticipés et aux attentes auxquelles cette base de connaissance doit répondre. Nous avons par la suite amorcé la création de la taxonomie par l'importation de d'instances de concepts et leur organisation hiérarchique. Vient ensuite la phase d'extraction de relation afin d'ajouter de la connaissance autour des instances. Ensuite nous tentons de déduire une structuration pédagogique, un enchaînement logique des différents concepts abordés afin de définir un graphe de prérequis. 11
  14. 14. 4 Création d'une ontologie de domaine Notre objectif premier est la création d'une taxonomie, soit une liste hiérarchisée de concepts. Cependant, dans l'optique de notre travail, celle-ci n'est pas suffisante. Une taxonomie peut aider un système à répondre à des questions de type « What is? » [Seyed11], mais ne saurait suffire à organiser toute la connaissance contenue dans des documents pédagogiques. Le modèle d'ontologie que nous proposons est destiné à répondre à des besoins de formalisation de connaissance d'un domaine, tout en y ajoutant un aspect pédagogique, permettant d'organiser ces connaissances dans une démarche d'apprentissage logique. Celle-ci est par conséquent organisée autour de deux axes principaux, une taxonomie et une surcouche applicative, imprimant une organisation au-dessus de la hiérarchie de concepts. En d'autres termes, nous pourrions qualifier ces deux parties respectivement d'ontologie de domaine, et d'ontologie d'application. 4.1 Besoins L'ontologie que nous développons doit être en mesure d'organiser différents types de connaissance liés à des concepts particuliers. Quatre différents types ont été isolés: • Définition (Definition) • But (Purpose) • Usage (Usage) • Exemple (Example) Ces différents types sont relativement explicites. Chacun de ces types sont amenés à regrouper des entités contenant des passages de textes extraits des différents documents que nous avons traités. Ceux-ci peuvent donc être des définitions: Une vue est une table virtuelle, résultat d’une requête à laquelle on a donné un nom. Un but, c'est à dire la raison qui a motivé la présentation d'un concept: Les vues permettent de Simplifier des requêtes complexes Résoudre des problèmes de confidentialité Garantir l’intégrité d’une base Un usage, ou encore la syntaxe nécessaire pour invoquer un élément d'un langage informatique: pour supprimer une vue : DROP VIEW <nom_de_vue> Et enfin des exemples, soit des mises en contexte de concepts précédemment présentés: CREATE VIEW CritiquesLeMonde AS SELECT * FROM Critique WHERE Source=’Le Monde’; 12
  15. 15. Ces différentes entités seront reliées à l'aide des propriétés adéquates aux concepts pertinents, permettant la création d'un graphe centré autour d'une notion. Illustration 3: Instance de « vue » et ses propriétés
  16. 16. Cet exemple (Illus. 3) montre qu'un concept issu de la taxonomie est l'élément central autour duquel s'articulent les différentes entités extraites. En plus de ces différents types de connaissance, s'ajoutent à chaque concept une dimension termino-ontologique ou différentes lexies présentant un sens équivalent peuvent être associées à un concept. Dans ce cas, un concept possède un terme de prédilection (prefLabel) et des termes alternatifs (altLabel). Nous nous trouvons ici à un niveau d'atomicité élevé, où chaque concept constitue un bloc de connaissance organisé, mais cependant insécable. Les relations entre instances de concepts ne s'expriment pour l'heure qu'à travers l'organisation hiérarchique de la taxonomie. Il est par conséquent nécessaire d'intervenir à un niveau supérieur afin d'imprimer à l'ensemble de ces entités une organisation qui rende compte de leur apparition dans le cadre de documents de cours, en d'autres termes, procéder à l'indexation systématique des documents en fonction de la présence de concepts issus de la taxonomie. Relier un concept à un objet du monde réel. 4.2 Présentation du modèle L'axe principal de l'ontologie reste la taxonomie, sur laquelle va se greffer la surcouche organisationnelle. Chaque concept peut se voir allouer une ou plusieurs définitions, exemples, buts, usages et synonymes (bien qu'une seule lexie puisse être considérée comme étant prefLabel). A chacun des ces éléments est associé une source, afin de pouvoir tracer leur apparition, mais aussi de pouvoir reconstituer l'ensemble des présents au sein d'un ensemble de slides. A l'inverse, il est dès lors possible de déterminer l'ensemble des ressources qui font apparaître un concept précis. L'illustration 4 présente le modèle créé. 14
  17. 17. Illustration 4: Modèle d'ontologie développé
  18. 18. 4.3 Propriétés d'objet (Object Properties) Les propriétés d'objets sont matérialisées sur le modèle par des losanges bleus. Les différents types d'entités que nous avons introduits précédemment (définition, exemple, but, usage) sont des instances des classes éponymes. Celles-ci sont reliés aux concepts de la taxonomie par les propriétés d'objet suivantes: • hasDefinition (0*) • hasExample (0*) • hasPurpose (0*) • hasUsage (0*) Chacune de ces propriétés peuvent être utilisées 0, 1 ou plusieurs fois pour chaque concept (0*), en fonction des différentes entités extraites. Ainsi, la base de connaissance créée pourra éventuellement servir de base de paraphrase. L'indexation systématique des documents se fait via la propriété d'objet hasSource qui permet de relier une entité à un document précis. Par transitivité nous pouvons alors déterminer dans quel document se trouve un concept particulier (cf exemple ci-dessous). Les sources sont des entités de la classe éponyme auxquelles sont associées des informations de type documentaire (méta-données), afin de pouvoir leur attribuer un auteur, un niveau d'enseignement, un type de document, etc. Enfin, la propriété hasPrerequisite (0*) permet d'introduire la notion de précédence. Ainsi, un concept peut être qualifié de prérequis d'un ou plusieurs autres concepts. Ceci permet d'imprimer un ordre dans lequel les différents concepts peuvent être abordés. Nous nous reviendrons sur cette propriété dans la partie intitulée « Graphe de prérequis ». 4.4 Propriétés de données (Data Properties) Les propriétés des données sont définies sous les noms des classes, au sein de leur représentation, un rectangle jaune. Toutes ces données supplémentaires sont des chaînes de caractères associés à l'entité, sans pour autant faire l'objet d'une instanciation. Il s'agit pour la plupart de ressources terminologiques (altLabel, prefLabel issues de SKOS) pour les concepts, ou de métadonnées (name, givenName issues de FOAF) pour spécifier les sources. 4.5 Exemple d'instanciation de la base de connaissance Nous nous sommes servis du logiciel Protégé1 [Gennari03] dans sa version 4.3 afin de modéliser l'ontologie. La figure ci-dessous (Illus. 5) présente une partie de l'ontologie. Nous pouvons y voir comment un concept est relié à un support de cours par l'entremise des éléments pédagogiques qu'il présente. Ainsi, le concept de Vue apparaît dans deux supports, Bases de données de G. Gardarin, mais aussi dans un support intitulé Vues et Index proposé par A. Vilnat. 1 http://protege.stanford.edu/ 16
  19. 19. Illustration 5: Instanciation du modèle autour du concept de « vue »
  20. 20. Nous pouvons mettre en avant l'intérêt de disposer de plusieurs formulations différentes pour chacun des concepts de la taxonomie. Dans le cadre du projet Aneth, génération de question et évaluation automatique, nous tentons de créer une ressource termino-ontologique la plus étendue possible. Par conséquent, ajouter de multiples synonymes, formulations de définitions, etc. permet de capturer une plus grande partie de la connaissance d'un domaine. La question de l'évaluation d'un modèle d'ontologie est complexe et difficilement formalisable. La création d'un modèle d'ontologie est guidée par les besoins auxquels celui-ci est destiné répondre. L'anticipation de ces besoins est un élément indispensable à ce processus de modélisation, associé à une constante révision du modèle afin de prendre en compte les évolutions des besoins. Un modèle représentatif à un instant t ne le sera pas nécessairement à l'instant t+1. Ainsi, la création d'un modèle est un processus itératif, en constante évolution. 4.6 Scénarios d'usage et questions de compétence [Grüninger95] propose comme méthodologie de définir et d'anticiper, dans la mesure du possible, l'ensemble des différents types de problèmes auxquels l'ontologie mise en place doit pouvoir être en mesure de résoudre. Ces différents problèmes sont pris en compte et regroupés sous la forme de scénarios et de questions, dans un langage informel. Ce procédé prend le nom de « Ontology Competency », il prend une part prépondérante dans l'évaluation de l'ontologie créée. Une ontologie étant une interprétation d'un domaine, les choix pris lors de sa conception ne peuvent être discutés que dans le cadre de leur utilisation [Biemann05]. Par conséquent, il est nécessaire d'évaluer la robustesse d'une ontologie face à des besoins auxquels elle est censée apporter des réponses. 4.6.1 Scénario d'usage Inspirés par les travaux de Grüninger, [Brusa06], propose un modèle de « Motivation Scenario » (scénario d'usage) dans le cadre d'une construction d'une ontologie de domaine financier et budgétaire (Illus. 6). Sont présents: • Un titre • Les acteurs 18 Illustration 6: Scénario d'usage
  21. 21. • Une description • Une liste de termes impliqués dans le scénario Celui-ci est rédigé dans un langage informel, mais concis, de façon à pouvoir identifier de façon univoque les problèmes rencontrés et les attentes auxquelles l'ontologie doit pouvoir apporter une solution. A ce titre, la deuxième partie de la rubrique « Description » est consacrée à la proposition d'une méthodologie. Un avantage que présente ce procédé est de faire un lien entre les experts du domaine et l'équipe en charge de l'ingénierie ontologique, dans le cas où l'expert ne possède pas les connaissances nécessaires propre à la modélisation formelle d'ontologies. Un autre avantage que présentent ces scénarios est une aide à la réutilisabilité des ontologies de domaine existantes [Fürst06]. En effet, les scénarios d'usage permettent de contextualiser les relations contenues dans l'ontologie de domaine, autrement dit, appliquer un ensemble de règles et/ou de contraintes afin de pouvoir mettre en place une ontologie fonctionnelle propre à fournir une solution à un problème particulier, pour lequel l'ontologie de domaine n'était à l'origine pas prévue. C'est ici la méthodologie que nous mettrons en place, puisque nous disposons d'ores et déjà d'un noyau d'ontologie de domaine concernant les base de données, qui s'apparente à une taxonomie de termes organisés par méronymie, sur laquelle se greffera un certain nombre de règles et/ou de contraintes, afin d'obtenir une ontologie d'application. 4.6.1.1 Scénario 1 • Scénario: Affichage des prérequis liés à un concept • Acteurs: Enseignant/Développeur • Description: Le modèle doit être en mesure de pouvoir renseigner les pré-requis liés à un concept, ce sur différents niveaux. Au sein du cours (ensemble de slides), sur l'ensemble du domaine, ou encore par rapport à un niveau d'enseignement. • Termes: notion, pré-requis, précédence 4.6.1.2 Scénario 2 • Scénario: Expression de la granularité des concepts • Acteurs: Enseignant • Description: L'enseignant souhaite caractériser les différents concepts en fonction des niveaux des apprenants, 1ère, 2ème année, IUT, EI, etc. L'ontologie doit prendre en compte une hiérarchie des différents niveaux d'étude des apprenants. • Termes: année d'étude, types d'école, caractérisation des niveaux d'enseignement 4.6.1.3 Scénario 3 • Scénario: Obtenir les définitions liées à un concept • Acteurs: Enseignant/Étudiant • Description: Obtenir les définitions liées à un concept et être en mesure de pouvoir tracer le ou les documents dans lesquels elles apparaissent . • Termes: concept, historique, étudiant 19
  22. 22. 4.6.2 Questions de compétence En plus de ces scénarios doivent être mises en place des « Competency Questions » (questions de compétence) qui en découlent. Ces questions ne sont ni plus ni moins que des requêtes exprimées en langage naturel (Illus. 7). Elles permettent de vérifier si l'ontologie encode un savoir suffisant pour répondre à ces questions et de déterminer le niveau de détail requis. De plus, elles permettent de définir le niveau d'expressivité de l'ontologie, puisqu'elle doit pouvoir interpréter ces questions en utilisant son propre vocabulaire de termes (Entities1), de relations (Object Properties) et de propriétés d'objet (Data Properties). Ainsi donc, il est possible de définir des limites claires à l’étendue des axiomes que doit contenir l'ontologie, et de pouvoir écarter des concepts qui seraient non pertinents au domaine étudié. Questions de compétences • Quels sont les prérequis d'une notion particulière? SELECT DISTINCT ?p WHERE { ?p DBOnt:isPrerequisiteOf Notion . } • Quelle est la définition d'un concept précis? SELECT ?d WHERE { ?c DBOnt:definition ?d . } • Quels sont les synonymes d'un terme particulier? SELECT ?s WHERE { ?c skos:altLabel ?s . } 20 Illustration 7: Questions de compétences
  23. 23. • Quelle est le terme privilégié d'un concept particulier? SELECT ?s WHERE { ?c skos:prefLabel ?s . } • Quel est son équivalent en langue Anglaise? SELECT ?s WHERE { ?c skos:altLabel ?s . FILTER (LANG(?s) = 'en') } • Quels sont les différents termes propres à SQL? • Extraire l'ensemble des notions abordées en 2ème année. • Extraire les notions ne nécessitant aucun prérequis. SELECT DISTINCT ?c WHERE { ?c a DBOnt:Concept . FILTER NOT EXISTS {?c DBOnt:hasPrerequisite ?x} } • Cet étudiant peut-il aborder cette notion compte tenu de son parcours? • Afficher le prochain concept qui peut être abordé. • Quel est le niveau d'enseignement d'un concept? 21
  24. 24. 5 Évaluation // Constitution d'un corpus de référence Afin de procéder à l'évaluation de l'extraction des relations, nous avons procédé à l'annotation manuelle d'une partie du corpus. Le logiciel employé est Brat (Brat rapid annotator tool), outil open-source. 5.1 Présentation de Brat Brat est un logiciel d'annotation qui permet de travailler de façon collaborative. Son utilisation et sa configuration sont simples, et le rendu particulièrement lisible sur des documents relativement courts (Illus. 8), ou présentant peu de relations inter-phrastiques (par conséquent adapté à l'annotation de slides). Même si le logiciel présente encore quelques lacunes (telle que son défaut de sécurisation), celui-ci reste une solution intéressante de par la simplicité du format d'annotation employé, qui laisse entrevoir la possibilité d'exporter facilement les annotations créées vers des formats différents (bases de données, ontologies, etc.). 22 Illustration 8: Fenêtre d'annotation de Brat
  25. 25. 5.2 Format d'annotation Ci-dessous, un exemple de sortie d'annotation pour le 3ème slide du cours d'Anne Vilnat, intitulé « Vues et Index ». T1 Definition 36 67 Une vue est une table virtuelle T2 Concept 40 43 vue T3 Definition 71 122 résultat d'une requête à laquelle on a donné un nom R1 hasDefinition Arg1:T2 Arg2:T1 R2 hasDefinition Arg1:T2 Arg2:T3 T4 Purpose 167 200 Simplifier des requêtes complexes T5 Purpose 201 242 Résoudre des problèmes de confidentialité T6 Purpose 244 275 Garantir l'intégrité d'une base T7 Concept 146 150 vues R3 hasPurpose Arg1:T7 Arg2:T4 R4 hasPurpose Arg1:T7 Arg2:T5 R5 hasPurpose Arg1:T7 Arg2:T6 Nous pouvons voir que la structure de la sortie est d'une grande simplicité, tout en permettant l'expression de relation de type Sujet // Prédicat // Objet. Les Sujets/Objets sont introduits par une clé de la forme Tn et ceux-ci sont connectés par des relations (Rn) orientées, permettant de différencier un sujet d'un objet. Cette absence de distinction Sujet/Objet en dehors d'une relation permet donc d'éviter toute redondance ainsi qu'une totale désambiguïsation, deux piliers fondamentaux du Web Sémantique. Ces annotations pourraient par la suite être exportées à l'aide de scripts vers un format d'ontologie et par conséquent permettre un peuplement aisé. 5.3 Guide d'annotation Un guide d'annotation (cf. Annexe) a été rédigé afin de formaliser les connaissances que nous souhaitions annoter. Celui-ci est indépendant du domaine sur lequel nous travaillons (les bases de données) et peut par conséquent être utilisé pour d'autres sujets. Seule la classe Usage est spécifique du domaine de l'informatique. Ce guide reprend les différents éléments que nous avons présentés jusqu'ici (classes et relations), tout en les contextualisant à l'aide d'exemples afin de permettre une annotation unifiée. 23
  26. 26. 6 Extraction de termes 6.1 Corpus constitué Le corpus s'articule autour de deux éléments principaux. D'un côté nous avons le livre de Georges Gardarin, Bases de Données, librement disponible sur Internet1 , de l'autre un ensemble de slides destinés à l'apprentissage des bases de données. Bien que le domaine soit commun, ces deux ressources présentent de grandes disparités. Bases de Données est régulièrement cité et peut être considéré comme une bible du domaine. L'objectif de cet ouvrage est de couvrir de la manière la plus exhaustive possible le domaine. À ce titre il nous a été utile pour amorcer l'ontologie de domaine par l'extraction de concepts- clef et de définitions. Cependant, bien qu'une logique progressive évidente se dessine tout au long de l'ouvrage, son exhaustivité le rend difficile à interpréter, car il ne permet pas d'isoler l'importance des notions en fonction du public visé. C'est la raison pour laquelle nous avons rassemblé un corpus de slides de cours. Leur format beaucoup plus synthétique nous permet de pouvoir isoler les notions les plus fréquentes et leur attribuer un niveau d'enseignement et ainsi mettre en évidence le séquencement des notions abordées choisi par l'enseignant en fonction de son public. Ainsi, nous espérons, en associant d'un côté l'expertise de G. Gardarin et la démarche pédagogique proposée par un ensemble d'enseignants rompus à la transmission de leurs connaissances, pouvoir formaliser le domaine de la façon la plus fidèle et automatisée possible. 6.2 Extraction des concepts Bases de données est le fruit d'un travail extrêmement long et minutieux de la part de Georges Gardarin. La version de l'ouvrage dont nous nous sommes servis est la dernière en date et celle-ci est le résultat d'un constant travail de révision. Comme il se doit, le livre est organisé autour de grands thèmes, subdivisés en chapitre, etc., et présente un index fourni en fin d'ouvrage. Celui-ci rassemble les termes les plus pertinents liés au domaine que nous nous proposons d'étudier. Un grand nombre de travaux mettent en avant l'extrême utilité de disposer d'un ou plusieurs experts afin d'organiser les connaissances autour d'un domaine particulier, tandis que l'ingénieur ontologiste reste en charge de l'implémentation et de la conceptualisation du modèle [Brusa06], [Vinay09] (idée que l'on retrouve aussi dans « The Sparrow » de Mary Doria Russel). Ici, nous considérons les termes contenus dans l'index comme étant une ressource terminologique fiable, fruit d'un travail d'expert. De manière à amorcer la tâche que nous souhaitons effectuer, nous extrayons donc dans un premier temps les termes contenus dans l'index, qui sont au nombre de 647. 1 Bases de Données - Georges Gardarin 24
  27. 27. 6.3 Élaboration de la taxonomie L'élaboration de la taxonomie s'est faite sur le principe des Hearst Patterns [Hearst92]. Nous nous sommes basés sur l'organisation de l'index pour imprimer un regroupement dans la taxonomie. Les termes composés dont le premier terme est le même que celui d'une autre instance de l'ontologie sont regroupés dans la même classe. Vue → vue → vue_auto-maintenable → vue_concrète → vue_mettable_à_jour Dans des extractions de type: Une ligne est un tuple. ligne est un synonyme de tuple. En s'appuyant sur le modèle A est un B, on peut dès lors enrichir la terminologie de l'ontologie de façon automatique. Nous pouvons reprendre cette idée pour les expressions de type A ou B: Relation ou Table Attribut ou Colonne Enfin, nous pouvons appuyer sur certains types de constructions d'énumérations : des opérateurs ensemblistes tels que l'union et l'intersection, la disjonction et l'exclusion Où opérateurs ensemblistes sera une classe et les termes de l'énumération (union, intersection, etc.) des instances de cette classe. Cependant, il reste à l'heure actuelle difficile de composer composer de façon entièrement automatique, et restons toujours tributaires de l'expertise humaine. 25
  28. 28. 7 Extraction automatique de relations Dans le cadre de la création de RP, nous avons été amenés à rechercher et extraire des relations sémantiques telles que de définitions et des exemples. Le moyen choisi pour l'extraction de ces relations est la création de règles se basant sur la syntaxe ainsi que des éléments lexicaux et discursifs présents dans les textes. Nous avons développé des règles pour deux langues, l'Anglais et le Français. Ces deux langues sont extrêmement proches d'un point de vue grammatical et il est possible, dans une certaine mesure d'appliquer à l'une de ces deux langues des traitements développés sur l'autre suite à des adaptations mineures. En particulier dans le cadre des relations sémantiques que nous nous proposons d'étudier. Nous nous sommes dans un premier temps penchés sur la rédaction de règles d'extraction pour l'Anglais dans le cadre de la participation du LIMSI à la campagne d'évaluation QA4MRE1 . QA4MRE (Question-Answering for Machine Reading Evaluation) est une campagne annuelle visant à évaluer des systèmes de question-réponse. Les langues proposées par l'évaluation sont au nombre de cinq, Anglais, Arabe, Bulgare, Espagnol et Roumain. La tâche principale consiste à répondre automatiquement à des QCM posés sur des textes issus de quatre thèmes différents (AIDS, Alzheimer, Music and Society, Climate Change). Dans le cadre de la participation de cette année, une tentative pour améliorer le système existant était de procéder à l'annotation de relations de discours dans les textes en se basant sur des règles d'extraction de relations en accord avec l'étiquetage des réponses attendues. Nous avons décidé de nous focaliser sur quatre types de relations, correspondant à des types de questions qu'un module du système est en mesure d'étiqueter: • la causalité; • l'opinion: • la définition; • l'exemple. Dans le cadre de mon stage, j'ai été amené à développer des règles pour extraire les définitions et exemples et un autre stagiaire s'est vu confié l'extraction de segments impliquant des relations de causalité et d'opinion. 7.1 Extraction de relations à partir de textes non- structurés 7.1.1 Corpus de développement Les corpus pour les deux langues furent annotés en parties du discours (POS). Suite à l'analyse des arbres obtenus, des expressions régulières furent développées selon le formalisme de TRegex2 [Levy, 06], un autre outil développé par le Stanford NLP Group, permettant de cibler un nœud particulier tout en testant ses frères, ses ancêtres et/ou ses fils. 1 http://celct.fbk.eu/QA4MRE/ 2 http://nlp.stanford.edu/software/tregex.shtml 26
  29. 29. De cette façon, il est possible de pouvoir faire intervenir une recherche sur deux niveaux, morpho-syntaxique et lexical, étant donné qu'il est possible d'appliquer des expressions régulières d'un format plus conventionnel sur les feuilles des arbres afin de tirer parti d'éléments discursifs du texte, reprenant le postulat de [Desclés96]. 7.1.1.1 Préparation du corpus QA4MRE Pour l'Anglais, nous nous sommes basés sur une centaine de documents issus de la « background collection » (un corpus de documents fournis par QA4MRE en lien avec les thèmes des questions), choisis aléatoirement et en proportions égales pour les quatre thèmes (AIDS, Alzheimer, Music and Society, Climate Change). Ces documents sont de natures et de sources hétérogènes, articles de journaux, fils d'actualité, extraits de blogs ou d'entrées de Wikipédia. Une chaîne d'analyse de textes développée par Van-Minh Pho (doctorant au LIMSI) et se basant sur le Stanford Parser [Socher13] a été utilisée. Celle-ci prend en entrée des documents au format .xml contenant le texte et les questions à choix multiple le cas échéant. Nous obtenons en sortie un nouveau document xml contenant la partie textuelle associée à son analyse syntaxique, dans un format compatible avec le logiciel TRegex. 7.1.1.2 Préparation du corpus de slides La chaîne de traitement utilisée est peu ou prou la même. Les différences notables sont que le Stanford Parser a été remplacé par Bonsai, un analyseur syntaxique adapté pour le Français faisant partie du Berkeley Parser [Petrov07], et que le format des slides impose certains pré- traitements. Dans un premier temps, nous avons dû effectuer une étape d'extraction de la partie textuelle des présentations au format pdf. Une série de scripts ont été créés afin de procéder à une reconnaissance optique des caractères (OCR) dans le cas de pdf images (en se basant sur le moteur d'OCR Tesseract1 ) ou une extraction textuelle plus classique à l'aide de pdf2txt. Ensuite, par le biais de substitutions, nous procédons à la corrections d'erreurs liés à une mauvaise reconnaissance de certains caractères (cf. Annexe: Extraction de texte à partir de .pdf). Nous obtenons en sortie un fichier texte par slide. Le logiciel sur lequel nous nous basons pour extraire les relations impose une restriction drastique: nous ne pouvons extraire de relations portant sur plusieurs lignes, uniquement des relations intraphrastiques. Or, les logiciels d'extraction de texte à partir de pdf ont tendance à conserver les sauts de lignes dus à la mise en page, et non à reconstituer les phrases sur une seule ligne. On doit effectuer une passe sur le corpus pour reconstituer dans la mesure du possible les unités phrastiques. Un exemple de sortie obtenue: Base de Données et SGBD Une collection de données cohérentes entre elles, généralement de taille importante. Modélise une entreprise du monde réel 1 http://code.google.com/p/tesseract-ocr/ 27
  30. 30. Entités (ex., films, acteurs) Associations (ex., qui joue dans quel film) Un Système de Gestion de Bases de Données (SGBD) est un logiciel destiné au stockage et à la manipulation de bases de données. Alors qu'on doit obtenir les phrases suivantes: Base de Données et SGBD Une collection de données cohérentes entre elles, généralement de taille importante. Modélise une entreprise du monde réel Entités (ex., films, acteurs) Associations (ex., qui joue dans quel film) Un Système de Gestion de Bases de Données (SGBD) est un logiciel destiné au stockage et à la manipulation de bases de données. Nous nous sommes une fois de plus servis de substitutions afin de reconstruire les unités phrastiques. Des phénomènes récurrents ont été isolés par une analyse de cinq cours rédigés par des enseignants différents issus du corpus de développement. Les patrons non ambigus ont été conservés et un script a été créé les regroupant (cf. Annexe: build_phrase.pl). Ceux-ci sont listés ci-dessous: • Phénomènes déclenchant une reconstitution [a-z]n+[a-z] # Deux minuscules séparées par un/plusieurs retour chariot (r/c) [a-zA-Z]n+( # Une lettre et une parenthèse séparées par un/plusieurs r/c :n+[a-z] # Deux-points et une minuscule séparés par un/plusieurs r/c ,n+[a-zA-Z] # Une virgule suivie séparées par un/plusieurs r/c [0-9]n+[a-z] # Un chiffre et une minuscule séparés par un/plusieurs r/c [A-Z]n+[a-z] # Une majuscule et une minuscule séparées par un/plusieurs r/c )n+( # Deux parenthèses séparées par un/plusieurs r/c [a-z]n+[0-9] # Une minuscule et un chiffre séparés par un/plusieurs r/c • Phénomènes empêchant une reconstitution .n+[A-Z0-9] # Un point et une majuscule ou un chiffre séparés par un/plusieurs r/c [A-Z]n+[A-Z] # Deux majuscules séparés par un/plusieurs r/c [a-z]n+[A-Z] # Une minuscule et une majuscule séparés par un/plusieurs r/c )n+[A-Z] # Une parenthèse et une majuscule séparé par un/plusieurs r/c :n+[A-Z] # Deux-points et une majuscule séparés par un/plusieurs r/c 7.1.2 La définition [Seppälä07] propose la définition suivante: [Une définition est une] proposition composée de deux membres – le défini ou 28
  31. 31. definiendum (thème) et la définition ou definiens (prédicat) –, unis par une copule que l’on trouve dans les textes. En d'autres termes, nous pouvons aussi ajouter qu'une définition est une glose destinée à déterminer le sens d'un signifiant en déterminant ses caractéristiques intrinsèques. Nous nous sommes fondés sur la recherche de la copule afin d'identifier des relations définitoires. Nous avons tiré parti de la structure syntaxique des textes ainsi que de phénomènes discursifs ce qui est un apport à la recherche contextuelle de Desclés[96] qui se base exclusivement sur des phénomènes de surface. Nous nous sommes basés sur plusieurs phénomènes différents que nous avons jugés présentant peu d'ambiguïtés pour extraire des relations définitoires. 7.1.2.1 Le modèle canonique Un modèle canonique de définition, d'un point de vue syntaxique est composé d'un concept, le plus souvent un syntagme nominal suivi de l'auxiliaire be introduisant un objet qui peut être un syntagme nominal ou un composé plus complexe, lui-même introduit par un article indéfini, tel que dans l'exemple suivant: a Rube Goldberg machine is a complicated contraption, an incredibly over-engineered piece of machinery that accomplishes a relatively simple task. La détection d'un article faisant directement suite à l'auxiliaire permet d'écarter une partie des relations sémantiques d'ordre plus factuel ou d'opinion: « Robots are important also. » - Neil deGrasse Tyson « Sometimes taking time is actually a shortcut. » - Haruki Murakami Cependant, bien que cette construction soit très particulière et représentative, elle n'est pas exclusive et ne permet pas de filtrer certaines expressions d'opinion telles que: The journals of Edmond and Jules Goncourt are an indispensable record of the events of the day. Exprimée dans le formalisme de TRegex, la règle est de la forme suivante: ((/^N.?/ !<: /EX|DT|JJ|PRP|RB/) !> (S > SBAR)) $. (VP < ((NP <<, DT) $- (/VB(Z|P)/ < /^(i|')s|^are$/))) #le concept (VP < ((NP <<, DT) $- (/VB(Z|P)/ < /^(i|')s|^are$/))) $, ((/^N.?/ !<: /EX|DT|JJ|PRP|RB/) !> (S > SBAR)) #la définition Prenons l'exemple ci-dessous (Illus. 9) qui est le modèle canonique d'une définition pour le Français. Nous pouvons constater que la définition d'un modèle canonique présente les mêmes caractéristiques que pour l'Anglais: 29
  32. 32. Illustration 9: Modèle canonique de définition
  33. 33. En vert, le definiendum, en bleu le definiens et enfin en jaune la copule qui permet de créer la relation définitoire. DEF01 (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^est|^sont/) $.. (NP <, (DET !< /^l/))) Une vue est une table virtuelle résultat d' une requête à laquelle on a donné un nom 7.1.2.2 Les appositives Une appositive est un syntagme nominal qui présente la particularité de présenter une position d'incise encadrée par deux virgules suivant le concept. Il faut cependant noter que ce n'est pas une constante et que le concept peut se retrouver en position d'appositive. Il ne s'agit pas à proprement parler d'une définition, puisque dans une majorité de cas l'appositive ajoute une information ou donne une caractéristique pertinente (dans le contexte) à propos du concept. Nous pourrions par conséquent parler d'explicitation, voire de particularisation de concept: The tiger, the largest of all the big cats, is hunted merely for sports. Cet exemple est intéressant d'un point de vue taxinomique. Bien que le syntagme « big cat » ne soit pas un terme propre à la classification des espèces, il est couramment employé pour différencier les grands félins de leurs cousins plus petits (domestiques et sauvages). Nous sommes ici dans une relation de isA où le concept de « tiger » est subsumé par son appositive. Il est cependant intéressant de remarquer que lorsqu'une appositive offre une définition, celle- ci est extrêmement proche de par sa structure du modèle canonique que nous avons vu dans le paragraphe précédent. Ici, cependant, l'auxiliaire est remplacé par la virgule introduisant l'appositive. The Muslim Brotherhood, a fundamentalist body with historic roots in Egypt and a strong following among the educated class, sums up the position of such groups. Dans le formalisme de TRegex, nous obtenons: /(N|P)P/ $.. (/(N|V)P|SBAR/ $- /,/ $+ /,/ !$ CC > (NP $+ VP)) #partie gauche de l'appositive /(N|V)P|SBAR/ $- /,/ $+ /,/ !$ CC > (NP $+ VP) #partie droite Nous retrouvons ce phénomène dans une moindre mesure en Français, bien qu'il soit beaucoup moins spécifique. L'appositive est une structure courante en Anglais se basant sur des règles grammaticales fortes, ce qui n'est pas le cas en Français. DEF09 (/N(C|P)/ $. ((PONCT < /,/) $. (NP <, (DET !< /^l/)))) > NP transaction , une séquence atomique d' actions sur une BD -LRB- lectures / écritures -RRB- . Cette dernière règle renvoie un bruit important et n'a finalement pas été incluse. Il s'agit de l'adaptation de la construction d'appositives en Anglais, mais ce phénomène est peu discriminant en Français. 31
  34. 34. 7.1.2.3 Les verbes à modalité définitoire et la voix passive Un avantage non négligeable proposé par le formalisme de TRegex est la possibilité de pouvoir mettre en place des règles intervenant aussi bien à un niveau syntaxique que lexical. Nous avons d'un côté un ensemble d'opérateurs destinés à viser des nœuds tels que A < B (A est l'ancêtre direct de B) ou A $ B (A est un frère de B), nous permettant de pouvoir extraire des patrons d'arbres syntaxiques. Cependant, comme nous avons pu le voir plus haut, le simple repérage de structures d'arbres ne suffit pas à désambiguïser totalement les nœuds extraits et engendre un bruit parfois très important. Pour répondre à ce problème, TRegex offre la possibilité d'introduire des expressions régulières plus « classiques » que nous pouvons mettre à profit pour tester des feuilles sélectionnées par extraction syntaxique. De fait, nous pouvons utiliser certains éléments discursifs, en accord avec le travail de Desclés, tout en ne nous limitant pas à ce simple aspect lexical. En croisant l'analyse du corpus de développement et des synonymes proposés par WordNet, nous pouvons créer une liste de verbe introduisant des relations définitoires. Ainsi donc, l'utilisation croisée d'un patron d'arbre syntaxique simple, associé à une liste d'éléments lexicaux nous permet d'extraire des notions de définition. Les verbes introducteurs, dans le cas qui nous intéresse, sont situés au sein d'une structure passive, un concept étant défini par un observateur extérieur et son contexte. Nous nous attachons donc à viser des structures introduites par l'auxiliaire « be » suivi d'un des verbes introducteurs que nous avons préalablement défini. Cet exemple (Illus. 10) est intéressant car il démontre qu'un seul type de règle ne saurait extraire le contenu définitoire d'une phrase. Nous sommes en présence d'une appositive qui est suivie d'une définition initiée par un verbe introducteur, le tout permettant d'apporter un éclairage sur le concept « Tamilakam ». 32
  35. 35. Illustration 10: Voix passive pour l'Anglais
  36. 36. Nous procédons à l'extraction du concept à l'aide de ce type de règles: /(N|P)P/ $.. ((VP <<, /^was|^were|^is|^are/) <+(VP) (VBN < /^defined/)) /(N|P)P/ $.. ((VP <<, /^was|^were|^is|^are/) <+(VP) (VBN < /^characterized/)) etc. Et sa partie définitoire avec la suivante: (VP <<, /^was|^were|^is|^are/) <+(VP) (VBN < /^defined/) (VP <<, /^was|^were|^is|^are/) <+(VP) (VBN < /^characterized/) La voix passive pour le Français: DEF05 NP $. (VN [ << /^est|^sont/ & << /^dit/]) NP $. (VN [ << /^est|^sont/ & << /^constitu/]) NP $. (VN [ << /^est|^sont/ & << /^associ/]) Un programme ou une procédure PL / SQL est constitué d' un ou plusieurs blocs . Et l'utilisation de verbes introducteurs: DEF03 (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^mainti/) $.. [(NP <, /^DET/) | Ssub]) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^préserv/) $.. (NP <, /^DET/)) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^défini/) $.. (NP <, /^DET/)) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^décri/) $.. (NP <, /^DET/)) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^possèd/) $.. (NP <, /^DET/)) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^représent/) $.. (NP <, /^DET/)) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^assur/) $.. (NP <, /^DET/)) (NP !< /^NPP|^ADJ|^PRO/) $. ((VN << /^décri/) $.. Ssub) Une table organisée en index maintient ses données triées sur la clé primaire . 7.1.2.4 Définition introduite par un marqueur discursif (:) Nous pouvons tirer partie de symboles typographiques pour extraire des relations définitoires. En l'occurrence, un phénomènes récurrent aux sein de slides est l'utilisation d'un deux-points afin d'introduire une définition. Le definiendum est en partie gauche et le definiens en partie droite du symbole. Il est cependant nécessaire d'éliminer de l'extraction certains substantifs courants avant un deux-points, tels que « exemple », « idée », etc. DEF07 (NP !<< /^(e|E)xempl|^(i|I)dée/) $. ((PONCT < /:/) $. (VPinf > SENT)) (((NP < NC) [ >, SENT & !< VPpart]) $. ((PONCT < /:/) $. (NP < VPpart))) Concaténation d' arbre : mécanisme consistant à remplacer un nœud pendant dans un arbre relationnel par un autre arbre calculant le nœud remplacé . 34
  37. 37. 7.1.3 L'exemple Nous nous sommes penchés sur des phénomènes ponctuels présentant des éléments discursifs précis pour extraire ce que nous avons défini comme étant des exemples, autrement dit des relations de subsomption entre un concept général, et des termes faisant partie de ce concept. Ceci est extrêmement pertinent dans le cadre de l'ingénierie des connaissances, puisqu'au sein d'une taxonomie, un concept peut être subsumé par un autre, ce qui introduit une hiérarchisation permettant de faire passer par transitivité des propriétés d'un concept à une sous-catégorie de ce même concept. Ce postulat est celui sur lequel s'est appuyé [Hearst92] afin de créer des patrons éponymes (Hearst Patterns) qui ont été utilisés dans le cadre de la hiérarchisation d'une partie de WordNet. other endangered North American animals such as the red wolf and the American crocodile Dans cet exemple, nous pouvons déduire deux propriétés en plus de l'espèce à laquelle appartiennent les animaux cités. « red wolf » et « American crocodile » sont tous deux des animaux, par conséquent il font partie du même ensemble, sur lequel on peut ajouter une localisation, l'Amérique du Nord, et un état particulier, en danger d'extinction. Ainsi donc, l'ensemble des relations introduites par l'auteur dans la classe exprimée par « endangered North american animals » sont présentes au sein de deux entités « red wolf » et « American crocodile ». Dans le cadre du corpus sur lequel nous avons développé nos règles, malheureusement peu d'exemples présentaient des caractéristiques suffisamment fortes pour éviter un trop grand bruit. Il était nécessaire de s'attacher à viser des syntagmes prépositionnels introduits par des éléments peu ambigus. 7.1.3.1 such as L'exemple cité plus haut montre une relation de subsomption introduite par le syntagme « such as », ayant un rôle prépositionnel. games and puzzles, such as chess, bridge, crosswords, or sudoku L'extraction du concept subsumé peut être formalisé de la façon suivante: /(N|P)P|SBAR/ $.. (PP < ((JJ < /^such/) $.. (IN < /^as/))) Avec son pendant pour extraire le ou les exemples: PP < ((JJ < /^such/) $.. (IN < /^as/)) 7.1.3.2 like Un autre élément discursif pertinent dont nous nous sommes servis est la préposition « like ». great Black players like Michael Jordan, Elgin Baylor and Karl Malone Encore une fois, nous retrouvons cette relation de subsomption permettant d'extraire une énumération de termes étant des entités d'une même classe. Extraction du concept: (NP $ (PP < (IN $ (NP < (/N(P|N)/ $ (/,/ < /,/) $.. CC $.. /N(P| 35
  38. 38. N)/)) < /blikeb/))) > NP Et de l'énumération qui lui est liée: ((PP < (IN $ (NP < (/N(P|N)/ $ (/,/ < /,/) $.. CC $.. /N(P|N)/)) < /^like/) $ NP)) > NP Nous ne présentons ici que deux des éléments discursifs employés, mais bien évidemment, d'autres idiomes permettent d'introduire des énumérations tels que « including », lorsque les énumérations sont situées dans le contexte droit du concept. 7.1.4 Extraction d'acronymes Sur le même corpus de développement utilisé précédemment, nous proposons quelques règles pour détecter des acronymes ainsi que leur développement. Ceci dans le but de créer une ressource terminologique permettant de gloser un acronyme par son expansion dans les textes. Cette étape supplémentaire est intervenue suite à la campagne d'évaluation. Le corpus comprend 36 acronymes dont le développement est présent dans la même phrase. Dans une majorité de cas nous avons le modèle suivant: brominated flame retardants (BFRs) soit développement ( acronyme ) La convention utilisée pour détecter les acronymes est qu'ils ne contiennent pas de points « . » (convention largement admise par de nombreux éditeurs anglo-saxons pour des raisons de praticité, mais il s'agit plus d'une ligne directrice que d'une véritable convention typographique) et qu'ils peuvent éventuellement s'achever par un « s » minuscule pour marquer la pluralité et présenter éventuellement un « o » minuscule destiné à remplacer la préposition « of » ou encore un tiret (-). Des abréviations contenant des points sont présentes dans le corpus, mais hormis certains sigles tels que U.S. ou D.C., la plupart concernent des marques de civilité (Ms., Dr., etc.) ou bien des noms (O.J.). Dans le formalisme des expressions régulières, nous traduisons donc un acronyme de la façon suivante, pour le corpus Anglais: /^[A-Zos-]+$/ Si l'extraction des acronymes est aisée, déterminer le développement qui leur est associé l'est beaucoup moins. Se basant sur des règles d'extraction d'arbres syntaxiques, nous devons faire face principalement à des erreurs d'étiquetage ou bien de regroupement (ces dernières sont les 36 Illustration 11: Acronyme classique
  39. 39. plus nombreuses), puisque certaines clauses sont mal délimitées, tel que dans l'illustration 12. « Inside » n'est pas considéré comme étant partie intégrante du groupe « Inside Science News Service », mais comme étant une préposition (IN) l'introduisant. Un exemple de règle d'extraction d'acronymes dans le formalisme de TRgex: (PRN << -LRB- & $ NP & < (NP <: (/NNP|NN/ < /^[A-Zos-]+$/))) $,, NP #Acronyme NP $.. (PRN << -LRB- & $ NP & < (NP <: (/NNP|NN/ < /^[A-Zos-]+ $/))) #Expansion Enfin, de manière à pouvoir alimenter la terminologie, nous proposons une règle permettant d'extraire des acronymes ainsi que leur développement. Nous nous basons sur une construction représentative mais non exhaustive. Dans ce cas, c'est la précision du résultat qui nous intéresse, plus que le rappel. La construction est de la forme Concept ( Acronyme ): ACR01 (NP <: (/NC/ < /^[A-Zos-]{2,}$/)) $, (PONCT << -LRB-) & $. (PONCT << -RRB-) Structured Query Language -LRB- SQL -RRB- Un acronyme est défini par l'expression régulière suivante: /^[A-Zos-]{2,}$/ Soit une une suite de majuscules pouvant inclure un tiret et les lettres minuscules « o » et « s » d'une longueur minimale de deux caractères. Nous reprenons ainsi le patron que nous avions créé dans le cadre de QA4MRE. Le point a volontairement été écarté, car peu usité pour le domaine qui nous intéresse. À la différence de l'Anglais, nous ajoutons cependant une contrainte supplémentaire sur l'expression régulière, qui est qu'un acronyme ne doit avoir une longueur minimale de deux caractères. Dans les slides, de nombreux exemples étant définis par l'adjonction d'un symbole unique entre parenthèses, nous limitons ainsi le bruit : dans l'exemple (A) est présenté un schéma de base de données 37 Illustration 12: Erreur liée à l'étiquetage
  40. 40. 7.2 Évaluation Pour l'Anglais, nous avons développé 5 types de règles différentes pour extraire les définitions, 3 types différents pour les exemples et 3 types pour les acronymes. Ce qui donne un total de 38 règles (cf. Annexe: Règles pour l'extraction en Anglais). Pour le Français, nous n'avons rédigé de règles que pour l'extraction de définitions et d'acronymes. 4 types différents pour les définitions et un type pour les acronymes, soit un total de 32 règles (cf. Annexe: Règles pour l'extraction en Français). L'ensemble de ces règles ont été testées sur un corpus de 25 documents, annotés manuellement. Toutes catégories Alzheimer Music & Society Climate Change AIDS English Exams Nb docs 25 4 4 4 4 9 Définitions 114 16 39 31 18 10 228 Exemples 57 8 38 6 3 2 114 Nous avons donc annoté 228 relations définitoires, et 114 relations d'exemples. Pour l'Anglais, 32 acronymes ont été détectés par 3 règles différentes. Afin d'évaluer les règles, nous avons appliqué un mode de calcul strict: • le développement extrait est strictement ce qui est attendu, minus le déterminant; • un développement incomplet ou bruité est considéré comme faux. Pour le Français, seulement 8 acronymes étant présents dans le corpus, les résultats sont indiqués, mais peu représentatifs. L'évaluation est calculée en fonction des mesures de Rappel, Précision et F-mesure : Rappel= Définitionscorrectes renvoyées Définitionscorrectes renvoyées+Définitionsoubliées Précision= Définitions correctesrenvoyées Définitionscorrectes renvoyées+Définitionserronées F−mesure= 2∗Précision∗Rappel Précision−Rappel Résultats obtenus : Définitions Exemples Acronymes Anglais Rappel 0,55 Précision 0,82 F-mesure 0,66 Rappel 0,69 Précision 0,94 F-mesure 0,80 Rappel 0.95 Précision 0.80 F-Mesure 0.87 Français Rappel 0,89 Précision 0,94 F-mesure 0,916 N/A Rappel 1 Précision 0,53 F-mesure 0,69 38
  41. 41. Smine et al. obtiennent, à titre de comparaison, les résultats suivants en ne se basant que sur des règles d'extraction déclenchées par des éléments lexicaux (corpus Français, extraction de définitions) : Définitions Français Rappel 0,526 Précision 0,614 F-mesure 0,566 La différence de résultat que nous obtenons est cependant à nuancer. Pour le corpus Anglais, nous avons annoté en définitions des unités multi-phrastiques, chose que nous n'avons pas fait pour le Français. En effet, nous nous sommes basés sur des modèles de définitions extrêmement rigides, où definiens et definiendum apparaissaient dans une même unité phrastique. Nous pouvons faire un constat simple. Globalement, nous obtenons une bonne précision sur les phénomènes que nous avons identifiés. Cependant, nous n'avons pas développé une quantité suffisante de règles représentant l'ensemble des phénomènes observables et la valeur de notre rappel s'en ressent très fortement. Une limitation inhérente à notre système est que les relations que nous essayons d'extraire sont systématiquement intraphrastiques. Des relations portant sur plus d'une phrase ne sont pour l'instant pas prises en compte, ce que l'annotation manuelle a permis de mettre en valeur. De plus, nous sommes confrontés aux erreurs d'étiquetage morpho-syntaxique qui induisent un mauvais étiquetage, ce qui, par conséquent, se répercute au niveau de l'extraction syntaxique. Ces deux limitations ne suffisent pas à expliquer les résultats que nous obtenons, mais sont une partie de la réponse. 7.3 Extraction de relations à partir d'un texte semi- structuré Au sein de Bases de données de G. Gardarin se trouvent à intervalles réguliers des « cartouches de définition », encarts présentant un terme clé suivi d'une traduction anglaise ainsi que de sa définition. Ci-dessous, un exemple de cartouche: 7.3.1 Traitement du livre Bases de données Nous disposons d'une version pdf de Bases de données, cependant, une version epub gratuite est disponible à condition d'en faire la demande aux éditions Eyrolles. 39 Illustration 13: Cartouche de définition
  42. 42. Le format epub est un dérivé du langage HTML qui permet la création de livres électroniques. Celui-ci est par conséquent un langage de balisage sur lequel nous pouvons nous appuyer pour extraire aisément certaine parties présentant un format particulier. Il est cependant nécessaire de passer par un pré-traitement visant à remplacer les entités HTML ainsi que certains symboles présents sous formes d'images par leurs équivalents UTF-8 (cf. Annexe: clean_ent.pl et ext_def.pl). Les cartouches de définitions sont introduits par des balises <p class="bghead[a-z] que nous pouvons aisément repérer à l'aide d'expressions régulières. Le concept, sa traduction et sa définition sont extraits et reportés vers un fichier texte regroupant toutes les définitions. Enfin, un script permet de convertir les données extraites vers un format owl afin d'alimenter la base de connaissances (cf Annexe: txt2owl_def.pl). 7.3.2 Résultats de l'extraction Le balisage des fichiers epub permettent de retrouver de façon exhaustive l'ensemble de ces cartouches (295 définitions). L'extraction des définitions de Bases de Données, associées aux définitions extraites des slides de cours nous permettent de constituer un premier corpus (de définitions). Le deuxième corpus est constitué de la partie textuelle des slides récupérés sur Internet. Nous nous appuierons sur ces deux ressources afin de mettre en évidence une logique pédagogique d'enchaînement des concepts. 40
  43. 43. 8 Graphe de prérequis L'intérêt de créer un graphe de prérequis réside dans l'organisation logique qu'il permet de faire apparaître. Ainsi, nous voulons mettre en évidence une chronologie des concepts à aborder afin de mettre en place une démarche pédagogique progressive, menant un apprenant de la découverte d'un domaine à sa compréhension à de plus profonds niveaux, faisant intervenir des notions précédemment acquises qui déclenchent la découverte de nouvelles notions plus complexes. Le corpus que nous avons constitué est composé d'un ensemble de slides ayant pour sujet les bases de données. Nous disposons d'une taxonomie d'environ 700 termes liés à ce domaine. Nous sommes partis des trois heuristiques suivantes afin de constituer un graphe de prérequis: 1. dans une définition, les concepts apparaissant dans le definiens sont des prérequis du definiendum; 2. la chronologie d'apparition des concepts dans les cours permet de déterminer si il n'est pas un prérequis; 3. les prérequis d'un concept sont communes à plusieurs cours. 8.1 Heuristiques 8.1.1 Définitions et prérequis L'utilisation de définitions, de par leur concision et leur aspect synthétique nous permet de restreindre le nombre de prérequis extraits pour chaque concept. Le modèle d'ontologie que nous proposons permettant d'adjoindre plusieurs définitions pour un même concept, nous pouvons tirer parti des nombreuses reformulations présentes dans les slides, mais aussi dans des polycopiés et livres dédiés au domaine. A. Vilnat: Une vue est une table virtuelle résultat d' une requête à laquelle on a donné un nom . G. Gardarin: Une ou plusieurs tables virtuelles dont le schéma et le contenu sont dérivés de la base réelle par un ensemble de questions. Dans ce cas, nous nous plaçons dans une situation où nous obtenons une forte précision des prérequis extraits, mais un silence important. 8.1.2 Chronologie d'apparition des concepts Nous partons du principe que, un cours étant une succession de concepts allant toujours plus avant dans la connaissance d'un domaine, une notion donnée apparaissant à moment t d'un slide est un prérequis d'une notion apparaissant au moment t+i. Nous pouvons dire qu'un concept en précède un autre. De manière plus explicite, si dans le premier slide, les notions de bases de données et table apparaissent, alors ces notions constitueront les prérequis d'une nouvelle notion apparaissant dans le deuxième slide, par exemple vue, etc. Nous pouvons par conséquent créer des listes au 41
  44. 44. sein desquelles lesquelles le premier élément est une notion quelconque et les éléments suivants toutes les notions apparues précédemment: vue:[bases de données; table] Ici, nous envisageons d'obtenir un meilleur rappel, la contrepartie étant une potentielle augmentation du bruit. 8.1.3 Notions communes L'hypothèse que des prérequis sont communs à plusieurs cours nous permet de pouvoir détecter des relations récurrentes, et ainsi consolider les listes de prérequis extraites. En ajoutant des documents au corpus, nous affinerons notre connaissance des prérequis nécessaires. Enfin, cette heuristique nous permet, à partir des résultats obtenus via les deux mécanismes précédent de faire diminuer le bruit, tout en conservant une bonne précision. 8.2 Chaîne de traitements mise en place Nous avons appliqué ces heuristiques sur nos deux corpus. Le premier corpus constitué de slides de cours (environ 170 slides) et le corpus composé des définitions intégrées à 42 Illustration 14: Deux chaînes de traitement différentes pour traiter deux types de données
  45. 45. l'ontologie (environ 300 définitions, principalement issues de G. Gardarin). 8.3 Application sur le corpus Chaque cours du corpus est traité de façon indépendante. Autrement dit, le système est appliqué autant de fois qu'il y a de documents dans le corpus. Dans un premier temps, nous procédons à une extraction de concepts issus des éléments présents dans la taxonomie, suite à une racinisation des slides. Pour chaque slide est par conséquent créée une liste faisant apparaître le concept extrait suivi de son nombre d'occurrence. Nous avons choisi d'effectuer une racinisation plutôt qu'une lemmatisation car appliquer un traitement de ce type sur les termes extraits de l'ontologie (et par conséquent hors-contexte) entraîne de nombreuses erreurs de lemmatisation. Ainsi, le terme contrainte d'intégrité se voyait lemmatisé en contraindre de intégrité empêchant de fait une reconnaissance au sein du corpus de document. La racinisation a permis de limiter la portée de ce genre d'erreurs. Sur le concept de vue pour 5 cours différents (205 slides, moyenne de 41 slides/cours), nous obtenons: ENS_LAURENT vue : [fichier, objet, ensemble, méthode, utilisateur, terme, association, relation, lien, DISTINCT, attribut, liste, héritage, table, schéma, opération, règle, domaine, UNION, BD, requête, différence, sélection, INTERSECT, projection, jointure, restriction, connecteurs logiques, condition, formule, clause] ENS_RETORE vue : [SGBD, BD, classe, suppression, modification, insertion, requête, règle, utilisateur, action, autorisation, transaction, ensemble, groupes d' utilisateurs, association, fichier, index] ENS_VILNAT vue : [base de données, index] ENS_CAUTIS vue : [base de données, complément, SGBD, association, collection, entité, acteur, relation, intégrité, utilisateur, reprise, fichier, BD, transaction, administrateur de  données, ensemble, schéma, table, tuple, schéma conceptuel, index] ENS_WOLPER vue : [BD, transaction, ensemble, terme, SGBD, utilisateur, extension, instance, schéma, exécution, association, relation, objet, sujet] Ce qui, en terme de nombre d'occurrences, donne (occurrence >= 2): association 4 ensemble 4 BD 4 utilisateur 4 fichier 3 43
  46. 46. index 3 relation 3 schéma 3 SGBD 3 transaction 3 base de données 2 objet 2 requête 2 règle 2 terme 2 table 2 À ces prérequis de « premier niveau » doivent s'ajouter les prérequis des prérequis, etc. Le format d'une ontologie permet d'implémenter ces relations de concept à concept, par transitivité. Exportation des résultats au format .owl: <!-- http://www.semanticweb.org/fred/ontologies/2013/8/preReq#index --> <owl:NamedIndividual rdf:about="&preReq;index"> <rdf:type rdf:resource="&preReq;Concept"/> <preReq:hasprerequisite rdf:resource="&preReq;base_de_données"/> </owl:NamedIndividual> <!-- http://www.semanticweb.org/fred/ontologies/2013/8/preReq#vue --> <owl:NamedIndividual rdf:about="&preReq;vue"> <rdf:type rdf:resource="&preReq;Concept"/> <preReq:hasprerequisite rdf:resource="&preReq;base_de_données"/> <preReq:hasprerequisite rdf:resource="&preReq;index"/> </owl:NamedIndividual> Ainsi, on peut constater que le concept d'index est un prérequis du concept de vue (dans le cadre de cet exemple). Nous devons cependant faire le constat que l'enchaînement chronologique des concepts ne suffit pas à pouvoir discriminer un prérequis d'un non prérequis. 8.4 Application sur un corpus de définitions Le même système est appliqué mais cette fois sur un corpus composé de l'ensemble des définitions contenues dans l'ontologie, au lieu d'un corpus de slides. Le format des définitions étant beaucoup plus court, les prérequis sont par conséquent moins nombreux. Pour l'heure, l'ontologie dispose de deux formulations différentes pour le concept de vue: vue_a: Une vue est une table virtuelle, résultat d'une requête, à laquelle on a donné un nom. vue_b: Une ou plusieurs tables virtuelles dont le schéma et le contenu sont dérivés de la base réelle par un 44
  47. 47. ensemble de questions. Le résultat de l'extraction des prérequis nous donne pour ces définitions: vue_a requête 1 table 1 vue_b ensemble 1 schéma 1 table 1 Soit: table 2 requête 1 ensemble 1 schéma 1 Un point intéressant est qu'en se basant strictement sur les définitions, on peut limiter le bruit et contre certains écueils de l'extraction automatique de termes. Par exemple, l'idiome « en vue de » est présent sur un certain nombre de slides, ce qui parasite l'extraction du concept « vue ». 8.5 Propriétés des graphes obtenus Dans les deux cas d'applications, nous obtenons un graphe dont les arcs sont orientés et pondérés. Les deux illustrations suivantes (15 et 16) montrent les graphes obtenus à partir du corpus de définition uniquement. Ajoutés à ces prérequis de 1er niveau, les prérequis de prérequis: 45 Illustration 15: Prérequis de premier niveau pour le concept de « vue »
  48. 48. Illustration 16: Prérequis de premier et second niveau pour le concept de « vue »
  49. 49. Ci-dessous (17), nous présentons un schéma représentant l'union des deux ensembles de prérequis pour le concept de vue. Pour ce schéma, nous avons utilisé un plus grand nombre de définitions extraites de slides que nous avions à disposition. Les prérequis que nous obtenons par l'union de ces deux ensembles correspondent à ceux de l'illustration 16, sans pour autant avoir besoin de descendre d'un niveau supplémentaire. Seul « sélection » en est absent. L'union de ces deux ensembles nous apparaît un moyen efficace de consolider la confiance dans les prérequis extraits, tout en limitant le bruit, tel que nous l'avions évoqué en 8.1. À l'heure actuelle, les graphes pour les autres concepts n'ont pas encore été générés ni soumis à l'approbation d'experts du domaine. Compte tenu des propriétés des graphes générés, nous pouvons leur appliquer différents types d'algorithmes destinés à mettre en évidence les sommets présentant un intérêt pédagogique dans le cadre d'une extraction de prérequis. 8.6 Élagage du graphe Le graphe que nous générons (1) est orienté, (2) possède des arcs pondérés et (3) chaque concept représenté par un sommet peut avoir de multiples arcs sortants et entrants. Compte tenu de ces différentes propriétés, nous pouvons appliquer une série d'algorithmes destinés à traiter le graphe afin d'un extraire des informations interprétables d'un point de vue pédagogique. Nous abordons rapidement deux algorithmes retenus pour effectuer cette tâche, qui sont : • Chu–Liu/Edmonds' algorithm • Tri topologique Par la suite, nous présenterons les premiers résultats obtenus suite à l'application d'un algorithme de PageRank. 47 Illustration 17: Union des ensembles de prérequis issus de deux types de corpus différents
  50. 50. Au moment où ce rapport est rédigé, ces travaux sont toujours en cours. 8.6.1 Chu–Liu/Edmonds' algorithm Cet algorithme est comparable à l'algorithme de Minimum Spanning Tree (MST) tel que proposé par [Borůvka26]. L'intérêt d'un tel algorithme est de pouvoir créer à partir d'un graphe non-orienté un MST (en Français, Arbre couvrant de poids minimal) qui est un arbre couvrant l'ensemble des sommets du graphe et dont le poids des arrêtes est minimal. Considérant les propriétés de notre graphe, qui est orienté, nous devons appliquer un algorithme adapté, qui est le Chu–Liu/Edmonds' algorithm [Chu65], [Edmonds67]. L'application de cet algorithme a permis de réduire le nombre d'arc du graphe issu du corpus de définitions d'environ 1000 à 250. Cependant, ce graphe reste encore difficile à interpréter, l'extraction d'un enchaînement pédagogique des concepts n'est, en l'état, pas possible. 8.6.2 Tri topologique Un algorithme de tri topologique permet d'identifier un ordre de visite des sommets tel qu'un sommet soit toujours visité avant ses successeurs. Celui-ci peut être appliqué sur un graphe acyclique. Cependant le graphe sur lequel nous travaillons est pour l'instant trop bruité et la presque infinité d'ordres potentiels générés par le tri topologique empêche pour l'instant la production d'un ordre pédagogique pertinent. 8.6.3 PageRank PageRank [Page99] est un algorithme permettant de déterminer l'importance d'une page Internet. Chaque lien pointant d’une page à une autre est considéré comme un vote pour cette page. A cet indice s’ajoute une "note" selon la page qui contient le lien : les liens présents dans des pages jugées importantes par Google ont plus de "poids" et contribuent ainsi à "élire" d'autres pages. Ici, nous considérerons qu'un concept (sommet du graphe) est équivalent à une page Internet, afin de déterminer son importance. Nous affichons ci-dessous une liste des dix concepts possédant le plus haut PageRanking sur le corpus de définitions : ensemble 0.013 objet 0.013 relation 0.012 opération 0.011 48
  51. 51. base_de_données 0.008 exécution 0.007 constante 0.007 transaction 0.007 attribut 0.007 tuple 0.006 Conserver les concepts présentant le plus haut PageRank est une piste que nous envisageons afin de nettoyer le graphe. Il sera par la suite nécessaire d'appliquer cet algorithme sur un corpus plus conséquent afin d'affiner les PageRank produits. 8.6.4 Précisions techniques Les algorithmes cités ont été testés par le biais de la libraire Perl Graph1 . Les scripts rédigés sont présents en Annexe. Les graphes ont été générés à l'aide de dot2 . 1 http://search.cpan.org/~jhi/Graph-0.96/lib/Graph.pod 2 http://www.graphviz.org/ 49

×