33
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

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

  • Upload
    mihaly

  • View
    31

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

MSDM : un modèle générique pour

les documents multi-structurés

Noureddine CHATTISylvie CALABRETTOJean-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

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

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

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

La problématique

DocumentPrésentation

Recherche par le contenu

Consultation

Structure Physique

Structure Logique

Structure Sémantique

Comment gérer simultanément plusieurs structures d’un document ?

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

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> </CONTENU-PARTIE> </NATIONALITE> <ACTIVITE-PROF ID="SL15"> <CONTENU-PARTIE ID="SL16"> <PARAGRAPHE ID="SL17">Pas de condition.</PARAGRAPHE> </CONTENU-PARTIE> </ACTIVITE-PROF>…</SL>

Structure logiqueStructure logique

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

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 <condition-application> Nationalité Pas de condition. Pour les étrangers <reference>(Cf. suivi législatif CGOD).</reference> </condition-application> 2.2 <condition-application>Activité professionnelle Pas de condition. </condition-application> … </concept>…</reglementation>

Structure sémantiqueStructure sémantique

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

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

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

É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

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

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

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

Le modèle de documents multi-structurés : MSDM (Les correspondances) Deux types de correspondances

SDSB : correspondance entre une structure documentaire et la structure de base

Permet d’associer un contenu à un élément d’une structure documentaire

SDSD : 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

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

Le modèle de documents multi-structurés : MSDM (illustration)

SBSB

"a" “b" “c"

Compositions

Fragments

Structure de base

Structure documentaire

Structure documentaire

Structure documentaire

Correspondance SDSD

Correspondance SDSB

"ab"

"bc"

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

Le formalisme MultiX Une application XML

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

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

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 --></msd:DS><!-- autres structures documentaires --><msd:BS>

<!– organisation du contenu partageable --></msd:BS><msd:correspondences>

<!-- définition des relations de correspondances --></msd:correspondences>

</msd:MSD>

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

hu þu me hæfst afrefredne ægþer ge mid þinre smealican spræce, ge mid þinre wynsumnesse þines

Le formalisme MultiXExemple de document multi-structuré Un fragment d’un manuscrit ancien

3 lignes Deux mots coupés Des caractères

endommagés

1

2

3

Plusieurs niveaux de structuration

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

Le formalisme MultiXExemple 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>

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

Le formalisme MultiXExemple 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>ge</w><w>mid</w><w>þinre</w><w>wynsumnesse</w><w>þines</w>

</words>

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

Le formalisme MultiXExemple 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>

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

Le formalisme MultiXExemple 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><region num="reg.3" description="ligne 3">

<zone x1="43" y1="166" x2="536" y2="210"/></region><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><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"/>

</region></image>

</text-regions>

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

Le formalisme MultiXExemple de document multi-structuré Schéma global du document multi-structuré

Structure physiqueStructure physique Structure lexicaleStructure lexicale Structure des caractères Structure des caractères endommagées endommagées

Structure des Structure des régions textuellesrégions textuelles

Structure de BaseStructure de Base

Localisation des mots Localisation des mots sur deux lignessur deux lignes

Localisation des lignesLocalisation des lignes

TranscriptionTranscription

Localisation des caractères Localisation des caractères endommagésendommagés

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

Le formalisme MultiXLa 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

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

Le formalisme MultiXLa 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>

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

Le formalisme MultiXLa 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"

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

Le formalisme MultiXLa 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"

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

Le formalisme MultiXLa 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

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

Structures documentaires et relations de correspondance – Les correspondances SDSB 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>

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

Structures documentaires et relations de correspondance – Les correspondances SDSD Même syntaxe que les correspondances SDSB 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

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

Structures documentaires et relations de correspondance – Les correspondances SDSD 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><region num="reg.3" description="ligne 3"> <zone x1="43" y1="166" x2="536" y2="210"/><msd:anchor id="A.reg.3"/></region><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><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"/></region>

</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"/>

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

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)

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

Interrogation des documents multi-structurésExtension 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"]//dmgwhere multix:include-fragments-of($w, $d) and multix:include-fragments-of($d, $w)return multix:rebuild($w)

Résultat :

<w>mid</w> hu þu me hæfst afrefredne ægþer ge mid þinre smealican spræce, ge mid þinre wynsumnesse þines

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

Interrogation des documents multi-structurésExtension 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"]//wwhere multix:share-fragments($l, $w) and not(multix:include-content-of($l, $w))return multix:rebuild($w)

Résultat :

<w>ægþer</w><w>spræce</w>

hu þu me hæfst afrefredne ægþer ge mid þinre smealican spræce, ge mid þinre wynsumnesse þines

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

Interrogation des documents multi-structurésExtension 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"]//reswhere 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

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

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><mot-avec-carac-rest>

<w>me</w><carac-rest>m</carac-rest><region num="reg.1" description="ligne 1">

<zone x1="43" y1="50" x2="460" y2="94"/></region>

</mot-avec-carac-rest><mot-avec-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"/></region>

</mot-avec-carac-rest>

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

Conclusion Avantages

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

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

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