MSDM : un modèle générique pour les documents multi-structurés

Slides:



Advertisements
Présentations similaires
Données structurées et XML
Advertisements

La recherche documentaire
XML.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Bases de Données XML Natives
1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Thème 3 : plate-forme de modélisation et de gestion de référentiels XML étapes modélisation des structures (UML) gestion du référentiel de modélisation.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Les espaces de nommage XML par Philippe Poulard 1
Données structurées et XML
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Format dannotations génériques, multi-annotations, multi- documents Présentation ASP navigation 11 avril 2002.
version Beta Marie Calberg Ninni Louhelainen SLFN7
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Middleware : XML-DBMS Permet de faire office d’interface entre des données XML et des bases de données relationnelles (insertion et récupération de données)
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Création de sites Web a.Création dun site Web: 1.Activer le menu « Fichier », 2.Choisir la commande « Nouveau… », 3.Dans le volet doffice qui saffiche.
Web Structurel
Le Travail Collaboratif ...
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Xpath XML Path language par Yves Bekkers
Expressions régulières et hash tables
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Description de documents XML multistructurés au moyen de nœuds retards Jacques Le Maitre LSIS Université du Sud Toulon-Var.
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
La souris danse Espace Régional Internet Citoyen.
8 - XML Cours XML.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Le langage XML.
Créer des packages.
X xx yyy Document XML Résolution d'entités Résolution espaces de nommages Reader Parsing Contrôle de validité structurelle Contrôle arbre bien formé Contrôle.
Gestion de documents XML hétérogènes
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
SMIL Synchronized Multimedia Integration Language
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Sélection de colonnes (la projection)
PDF Un format universel?.
Soutenance du mémoire de synthèse
Initiation au JavaScript
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
eXtensible Markup Language. Généralités sur le XML.
Les vues Une vue: c’est une relation virtuelle. Définie par:
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Introduction Module 1.
Dreamweaver Séance 1.
Dreamweaver MX Jauneau Marie Claude-Antoine Zarate.
SI28 Malépart Céline Jérémy Palmier
Dreamweaver 2 Plan 1.Calques 2.CSS 3.Modèles 4.Comportements 5.Formulaires 6.Mise en ligne 1 Timothée Devaux Myriam Roudy Dreamweaver 2 Printemps 2008.
INF2005– Programmation web– A. Obaid Variantes de HTML.
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
Jean Vieille Research community Consulting group
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
module SIE depuis 2011 et IAMD depuis l’an dernier ! Gestion de Masse de Données (GMD) Introduction Adrien Coulet
Transcription de la présentation:

MSDM : un modèle générique pour les documents multi-structurés Noureddine CHATTI Sylvie CALABRETTO Jean-Marie PINON {Prénom.Nom}@insa-lyon.fr LIRIS-INSA de Lyon LIRIS-INSA de Lyon, Bâtiment Blaise pascal, 7 avenue Jean Capelle, 69621 Villeurbanne Cedex

Sommaire La problématique État de l’art Le modèle de documents multi-structurés MSDM Le formalisme MultiX Interrogation des documents MultiX Conclusion Perspectives

Recherche par le contenu La problématique Structure Sémantique Structure Physique Document Présentation Recherche par le contenu Structure Logique Consultation Comment gérer simultanément plusieurs structures d’un document ?

La problématique : Exemple des textes réglementaires de la CAF (1) Une structure logique pour l’affichage du document <SL PRESTATION="Complement Familial" VALEUR-ID="SL71"> … <CONTENU-PARTIE ID="SL9"> <PARAGRAPHE ID="SL10">Toute personne physique remplissant les conditions ci-après:</PARAGRAPHE> </CONTENU-PARTIE> <NATIONALITE ID="SL11"> <CONTENU-PARTIE ID="SL12"> <PARAGRAPHE ID="SL13">Pas de condition.</PARAGRAPHE> <PARAGRAPHE ID="SL14"> Pour les étrangers (Cf. <LIEN-CITATION>suivi Législatif CGOD</LIEN-CITATION> ). </PARAGRAPHE> </NATIONALITE> <ACTIVITE-PROF ID="SL15"> <CONTENU-PARTIE ID="SL16"> <PARAGRAPHE ID="SL17">Pas de condition.</PARAGRAPHE> </ACTIVITE-PROF> </SL> Structure logique

La problématique : Exemple des textes réglementaires de la CAF (2) Une structure sémantique pour faire des inférences <reglementation> …. <concept nom="Allocataire CF" classe="agent" principal="oui" type-concept="définition" impact="non"> … <condition-application> Toute <predicat nom="Personne-Physique" classe="agent" impact="non">personne physique</predicat> </condition-application> remplissant les conditions ci-après : 2.1 Nationalité Pas de condition. Pour les étrangers <reference>(Cf. suivi législatif CGOD).</reference> 2.2 <condition-application>Activité professionnelle Pas de condition. </concept> </reglementation> Structure sémantique

La problématique : Exemple des textes réglementaires de la CAF (3) Chaque structure est encodée séparément au format XML Inconvénients : Redondance au niveau du contenu Difficulté de mise à jour Risque d’incohérence entre les contenus des structures

État de l’art Option CONCUR de SGML (plusieurs DTDs pour un même document) [ISO 86] TEI (Recommandations pour l’encodage d’hiérarchies multiples en XML) [TEI 02] Des syntaxes spécifiques : MECS, TexMECS, LMNL, … Utilisation de RDF grâce à son modèle de graphe [Tummarello 05] Le modèle de graphe GODDAG [SPE 00] [DEK 05] Matérialisation via une structure DOM Extension de XPath pour l’accès aux nœuds des différents structures

Le modèle de documents multi-structurés : MSDM Un document multi-structuré est défini par: Un ensemble de structures documentaires (SD) Ce sont les structures d’usages du document Une structure de Base (SB) : Organisation du contenu en vue de son partage par les structures documentaires Décomposition du contenu en fragments disjoints Un ensemble de relations de correspondances entre les structures

Le modèle de documents multi-structurés : MSDM (Les correspondances) Deux types de correspondances SDSB : correspondance entre une structure documentaire et la structure de base Permet d’associer un contenu à un élément d’une structure documentaire SDSD : correspondances entre deux structures documentaires Permet d’expliciter des relations particulières entres les structures documentaires Exemple : synonymie entre les labels de deux éléments de deux structures différentes

Le modèle de documents multi-structurés : MSDM (illustration) … Structure documentaire Correspondance SDSD … Structure documentaire … Structure documentaire "ab" "bc" Correspondance SDSB SB … "a" “b" “c" Compositions Fragments Structure de base

Le formalisme MultiX Une application XML Basé sur le modèle MSDM Un document MultiX est un document XML bien formé Basé sur le modèle MSDM Objectifs : Matérialisation des relations entre les structures Éviter la redondance du contenu

Le formalisme MultiX Structure générale d’un document MultiX <msd:MSD name="manuscrit" xmlns:msd="http://www.msdm.org/2006/MULTIX/"> <msd:DS name="nom de la première structure documentaire"> <!-- ici la première structure documentaire --> </msd:DS> <msd:DS name="nom de la deuxième structure documentaire"> <!-- ici la deuxième structure documentaire --> <!-- autres structures documentaires --> <msd:BS> <!– organisation du contenu partageable --> </msd:BS> <msd:correspondences> <!-- définition des relations de correspondances --> </msd:correspondences> </msd:MSD>

Le formalisme MultiX Exemple de document multi-structuré Un fragment d’un manuscrit ancien hu þu me hæfst afrefredne æg þer ge mid þinre smealican spræ ce, ge mid þinre wynsumnesse þines 3 lignes Deux mots coupés Des caractères endommagés 1 2 3 Plusieurs niveaux de structuration

Le formalisme MultiX Exemple de document multi-structuré Structure physique des lignes <lines> <line n="1">hu þu me hæfst afrefredne æg</line> <line n="2">þer ge mid þinre smealican spræ</line> <line n="3">ce, ge mid þinre wynsumnesse þines</line> </lines>

Le formalisme MultiX Exemple de document multi-structuré Structure lexicale <words> <w>hu</w> <w>þu</w> <w>me</w> <w>hæfst</w> <w>afrefredne</w> <w>ægþer</w> <w>ge</w> <w>mid</w> <w>þinre</w> <w>smealican</w> <w>spræce</w> <w>wynsumnesse</w> <w>þines</w> </words>

Le formalisme MultiX Exemple de document multi-structuré Structure des caractères endommagés <damaged> <res>þu m</res> <dmg>er</dmg> <dmg>mid</dmg> <dmg>æ</dmg> <dmg>g</dmg> <dmg>þ</dmg> <dmg>re</dmg> <dmg>e</dmg> <res>s</res> </damaged>

Le formalisme MultiX Exemple de document multi-structuré Structure des régions textuelles <text-regions> <image src="manuscrit.png"> <region num="reg.1" description="ligne 1"> <zone x1="43" y1="50" x2="460" y2="94"/> </region> <region num="reg.2" description="ligne 2"> <zone x1="43" y1="108" x2="486" y2="152"/> <region num="reg.3" description="ligne 3"> <zone x1="43" y1="166" x2="536" y2="210"/> <region num="reg.4" description="mot sur ligne 1 et ligne 2"> <zone x1="410" y1="50" x2="460" y2="94"/> <zone x1="43" y1="108" x2="93" y2="152"/> <region num="reg.5" description="mot sur ligne 2 et ligne 3"> <zone x1="'414" y1="108" x2="486" y2="152"/> <zone x1="43" y1="166" x2="72" y2="210"/> </image> </text-regions>

Le formalisme MultiX Exemple de document multi-structuré Schéma global du document multi-structuré Structure des régions textuelles Localisation des caractères endommagés Localisation des lignes Transcription Localisation des mots sur deux lignes Structure physique Structure lexicale Structure des caractères endommagées Structure de Base

Le formalisme MultiX La structure de base Deux parties : Un ensemble de fragments de contenu disjoints (le plus petit ensemble de fragments recouvrants les PCDATAs des structures documentaires) Balise msd:fragments Des compositions de contenu (les PCDATAs) à partir des fragments disjoints Balise msd:compositions

Le formalisme MultiX La structure de base (l’exemple du document ancien) L’ensemble des fragments disjoints <msd:BS> <msd:fragments> <msd:frag id="F1">hu</msd:frag><msd:frag id="F2">þu</msd:frag> <msd:frag id="F3">m</msd:frag><msd:frag id="F4">e</msd:frag> <msd:frag id="F5">hæfst</msd:frag><msd:frag id="F6">afrefredne</msd:frag> <msd:frag id="F7">æg</msd:frag><msd:frag id="F8">þ</msd:frag> <msd:frag id="F9">er</msd:frag><msd:frag id="F10">ge</msd:frag> <msd:frag id="F11">mid</msd:frag><msd:frag id="F12">þinre</msd:frag> <msd:frag id="F13">smealican</msd:frag><msd:frag id="F14">spr</msd:frag> <msd:frag id="F15">æ</msd:frag><msd:frag id="F16">ce</msd:frag> <msd:frag id="F17">g</msd:frag><msd:frag id="F22">e</msd:frag> <msd:frag id="F18">mid</msd:frag><msd:frag id="F23">þ</msd:frag> <msd:frag id="F19">in</msd:frag><msd:frag id="F24">re</msd:frag> <msd:frag id="F20">wynsumnesse</msd:frag> <msd:frag id="F21">þin</msd:frag><msd:frag id="F25">e</msd:frag> <msd:frag id="F26">s</msd:frag> </msd:fragments> <msd:compositions> < !-- définition des compositions --> </msd:compositions> </msd:BS>

Le formalisme MultiX La structure de base (les compositions) Rôle : Reconstruire les PCDATAs fragmentés à partir de l’ensemble des fragments disjoints Concaténation des fragments textuels en gérant l’insertion des espaces blancs Exemple : <msd:compositions> … <msd:comp id="C1" idrefs="F1 F2 F3=F4 F5 F6 F7"/> </msd:compositions> Permet de reconstruire la chaîne de caractères "hu þu me hæfst afrefredne æg"

Le formalisme MultiX La structure de base (les compositions) Gestion de l’insertion des espaces blancs par un codage spécifique (valeur de l’attribut idrefs) La valeur de idrefs est une séquence d’identificateurs de fragments séparés par : Un espace  concaténation avec insertion d’un espace au milieu idrefs="F1 F2"  permet de composer la chaîne "hu þu" Le caractère "="  concaténation classique (sans insertion d’espèce blanc) idrefs="F3=F4"  permet de composer la chaîne "me"

Le formalisme MultiX La structure de base (les compositions) On utilise le symbole "%" pour insérer un espace blanc au début ou/et à la fin d’une composition Exemple : Reconstitution du contenu de l’élément line suivant : <line n="3">ce, ge mid þinre wynsumnesse þines</line> Si le caractère "," n’est pas géré dans SB  deux compositions sont nécessaires : <msd:comp id="C3" idrefs="F16"/> Chaîne référencée : "ce" <msd:comp id="C4" idrefs="%F17=F22 F18 F23=F19=F24 F20 F21=F25=F26"/> Chaîne référencée : " ge mid þinre wynsumnesse þines" Espace blanc

Structures documentaires et relations de correspondance – Les correspondances SDSB Origine de la correspondance : l’emplacement dans une SD du contenu fragmenté Cible de la correspondance : une composition dans SB Deux formes : Interne : définition à l’origine de la correspondance <line n="1"><msd:clink target="BS" label="text content" to="C1"/></line> Externe : à l’extérieur de la structure documentaire source Localisation de l’origine de la correspondance par l’insertion d’un ancre (élément msd:anchor) <line n="2"><msd:anchor id="A.lne.2"/></line> Définition de la correspondance à l’intérieur de l’élément msd:correspondences <msd:correspondences> <msd:clink target="BS" from=”A.lne.2" label="text content" to="C2"/> … </msd:correspondences>

Structures documentaires et relations de correspondance – Les correspondances SDSD Même syntaxe que les correspondances SDSB mais pas la même sémantique Origine de la correspondance : un élément d’une SD Cible de la correspondance : un élément d’une autre SD Deux formes : Interne et Externe

Structures documentaires et relations de correspondance – Les correspondances SDSD Exemple : Localisation des sources/cibles par des ancres <text-regions> <image src="manuscrit.png"> <region num="reg.1" description="ligne 1"> <zone x1="43" y1="50" x2="460" y2="94"/><msd:anchor id="A.reg.1"/> </region> <region num="reg.2" description="ligne 2"> <zone x1="43" y1="108" x2="486" y2="152"/><msd:anchor id="A.reg.2"/> <region num="reg.3" description="ligne 3"> <zone x1="43" y1="166" x2="536" y2="210"/><msd:anchor id="A.reg.3"/> <region num="reg.4" description="mot sur ligne 1 et ligne 2"> <zone x1="410" y1="50" x2="460" y2="94"/> <msd:anchor id="A.reg.4"/> <zone x1="43" y1="108" x2="93" y2="152"/> <region num="reg.5" description="mot sur ligne 2 et ligne 3"> <zone x1="'414" y1="108" x2="486" y2="152"/> <zone x1="43" y1="166" x2="72" y2="210"/> <msd:anchor id="A.reg.5"/> </image> </text-regions> Définition des correspondances : matérialisation de la relation localisation des lignes sur l’image du manuscrit <msd:clink target="DS" label="localisation" from="A.lne.1" to="A.reg.1"/> <msd:clink target="DS" label="localisation" from="A.lne.2" to="A.reg.2"/> <msd:clink target="DS" label="localisation" from="A.lne.3" to="A.reg.3"/>

Interrogation des documents multi-structurés Des besoins d’interrogation spécifiques Exploration des relations entre les structures Exemple de requête : Trouver tous les mots qui sont coupés en fin de ligne Nécessité d’un langage d’interrogation adapté aux documents MultiX Extension de XQuery (bibliothèque de fonctions pour les documents MultiX)

Interrogation des documents multi-structurés Extension de XQuery Q1 : Trouver tous les mots endommagés, c'est-à-dire composés seulement de caractères endommagés En XQuery : let $doc := doc("manuscript.xml") for $w in $doc//msd:DS[@name = "words"]//w, $d in $doc//msd:DS[@name = "damaged"]//dmg where multix:include-fragments-of($w, $d) and multix:include-fragments-of($d, $w) return multix:rebuild($w) Résultat : hu þu me hæfst afrefredne æg þer ge mid þinre smealican spræ ce, ge mid þinre wynsumnesse þines <w>mid</w>

Interrogation des documents multi-structurés Extension de XQuery Q2 : Trouver tous les mots qui sont coupés en fin de ligne dans le texte original En XQuery : let $doc := doc("manuscript.xml") for $l in $doc//msd:DS[@name = "lines"]//line, $w in $doc//msd:DS[@name = "words"]//w where multix:share-fragments($l, $w) and not(multix:include-content-of($l, $w)) return multix:rebuild($w) Résultat : hu þu me hæfst afrefredne æg þer ge mid þinre smealican spræ ce, ge mid þinre wynsumnesse þines <w>ægþer</w> <w>spræce</w>

Interrogation des documents multi-structurés Extension de XQuery Q3 : Trouver les mots qui contiennent des caractères restaurés. Indiquer pour chaque mot trouvé les caractères restaurés qu’il contient et la localisation de la ligne contenant ce mot sur l’image du manuscrit. En XQuery : let $doc := doc("manuscript.xml") for $w in $doc//msd:DS[@name = "words"]//w, $r in $doc//msd:DS[@name = "damaged"]//res where multix:share-fragments($r, $w) return <mot-avec-carac-rest> {multix:rebuild($w), <carac-rest>{multix:get-shared-fragments($r, $w)}</carac-rest>, multix:rebuild(multix:get-linked-from($doc//$r, "localisation"))} </mot-avec-carac-rest> hu þu me hæfst afrefredne æg þer ge mid þinre smealican spræ ce, ge mid þinre wynsumnesse þines

Résultat de Q3 : <mot-avec-carac-rest> <w>þu</w> <carac-rest>þu</carac-rest> <region num="reg.1" description="ligne 1"> <zone x1="43" y1="50" x2="460" y2="94"/> </region> </mot-avec-carac-rest> <w>me</w> <carac-rest>m</carac-rest> <w>þines</w> <carac-rest>s</carac-rest> <region num="reg.3" description="ligne 3"> <zone x1="43" y1="166" x2="536" y2="210"/>

Conclusion Avantages Inconvénients Un formalisme basé sur le modèle générique MSDM Une syntaxe XML (simplicité et portabilité) Élimination de la redondance du contenu (structure de base) Les squelettes des structures documentaires ne changent pas La localisation par ancre permet de faciliter la gestion de l’évolution des documents multi-structurés Corrélation entre les différentes structures grâce aux relations de correspondance Interrogation plus efficace au moyen d’un langage adapté Inconvénients Les documents MultiX sont difficiles à créer manuellement Un processus totalement automatisé est également très difficile à mettre au point Nécessite un important effort de programmation pour parser les documents MultiX

Perspectives Amélioration du parseur MXP (Multi-XML Parser) pour faciliter la création des documents MultiX à partir de fichiers XML existants Compléter la bibliothèque de fonctions XQuery Création d’un parseur permettant d’analyser les documents MultiX Intégration de tous les outils dans un environnement de gestion de documents multi-structurés