• Aucun résultat trouvé

II.4 Environnement applicatif de la transformation de documents

II.4.1 Production et édition de documents

De nombreux éditeurs permettent aujourd’hui de produire des documents électroniques. Les traitements permis par ces éditeurs dépendent du format dans lequel est représenté le document en mémoire.

Documents

structurés Modèles

d’acquisition Modèles d’édition (Article, Chapitre)

Éditeurs de documents structurés

Lorsque le document est saisi avec un éditeur de texte, en intégrant éven-tuellement des informations de formatage (LaTeX) ou de structure (SGML, HTML, XML), aucune aide à l’édition n’est disponible. L’auteur doit assurer lui−même la conformité de son document avec le format choisi pour le stocker.

Les traitements de texte permettent des traitements sur le contenu (correc-tion orthographique, recherche et substitu(correc-tion de texte, indexa(correc-tion) et sur l’or-ganisation du document (plan, feuille de style). Mais le modèle de document qu’ils utilisent est « pauvre » et ne permet pratiquement pas d’autres traite-ments. Ils permettent également d’insérer des éléments de différentes natures (tableaux, graphiques, images), mais la manipulation de ces éléments nécessite l’utilisation d’outils spécifiques.

Nous avons évoqué dans la section II.3.4 les contraintes imposées par les SEDS. Nous avons également souligné l’utilité des transformations de structure pour lever ces contraintes. C’est ce qui donne toute son importance à la re-structuration d’éléments pour l’édition de documents : elle permet de bénéficier des avantages du modèle de documents structurés tout en apportant une réponse aux problèmes posés par les contraintes d’édition de ces documents.

Nous nous proposons dans cette partie d’identifier les transformations né-cessaires non seulement pour l’édition de documents structurés, mais pour tout le cycle de vie de ces documents. Ces transformations sont de différentes sortes :

• Transformations entre formats de documents : pour importer des parties non structurées dans le document (structuration), pour exporter un do-cument structuré dans un format de publication (conversion),

• Transformations au sein du format d’édition : pour manipuler interacti-vement la structure du document et échanger des éléments entre modèles (restructuration et conversion).

II.4.1.1 Structuration d’éléments importés

La structuration « a posteriori » ou up−translation est le traitement qui consiste à adopter un document non structuré dans un formalisme structuré. Cette opération implique la déduction des types des éléments et de leur organi-sation logique conformes à un modèle donné, en s’appuyant sur des informations intrinsèques au format d’origine.

La structuration d’un document se fait généralement en deux étapes : 1. Détermination de la structure logique et/ou physique (structuration).

Cette étape conduit à une composition hiérarchique des éléments du do-cument. Cette structure peut être libre de contraintes ou se conformer à une DTD d’acquisition (Rainbow [Sklar 94], HTML [Raggett 98]). 2. Application d’un modèle de document : la deuxième étape consiste à

transformer la structure logique produite et à la conformer à une DTD voulue. Pour cela les éléments doivent être typés et la conformité de la hiérarchie d’éléments avec la structure générique doit être assurée. Différentes techniques s’appliquent selon le format d’origine du document à structurer :

• La reconnaissance de caractères est utilisée pour extraire le contenu textuel d’un document numérisé.

• L’analyse d’image permet de déduire la structure physique d’un docu-ment numérisé. Le docudocu-ment est découpé en blocs selon la position des éléments dans le document. Les positions relatives des blocs est ensuite analysée pour en déduire une structure. La segmentation en blocs peut également se fonder sur l’interprétation des espaces dans l’image du document [Rus 94].

• Le contenu textuel d’un document ou le résultat d’une reconnaissance de caractères peut être exploité par plusieurs méthodes :

L’analyse de la typographie du document permet d’identifier des élé-ments caractéristiques comme les listes (items précédés de tirets), les énumérations, les titres de section (précédés du numéro de section), les paragraphes (retrait sur la première ligne), etc.

Le contenu du document peut être également analysé au niveau linguis-tique pour déduire des éléments de structure logique : les titres ne sont pas forcément des phrases (absence de verbe), un résumé est très des-criptif.

• Analyse du style du document : les formats de traitement de texte contiennent des informations de style (balises RTF) pouvant être inter-prétées par un système de structuration. Cette approche est utilisée par la plupart des outils de structuration de documents issus de traitements de texte tels que DynaTag [Inso].

Pour la reconnaissance de la structure d’un document à partir de son image, [Belaïd 97] propose une combinaison des différentes techniques de structura-tion. Deux approches sont proposées :

• L’approche perceptuelle produit une structure représentant l’organisa-tion physique du document. Cette structure est composée d’objets as-semblés entre eux par les constructeurs agrégat (des objets alignés d’aspect différents), séquence (des objets alignés et identiques), choix (un objet isolé) et mosaïque (des objets non alignés). La structuration est fondée sur une interprétation de la disposition des objets résultant de l’analyse d’image et engendrée par une analyse ascendante des boites composant l’image d’un document.

• L’approche conceptuelle cherche à déduire directement la structure lo-gique du document en isolant les concepts apparaissant dans le docu-ment. L’analyse de l’image est combinée avec une analyse lexicale de la sortie de l’OCR. Cette approche est adaptée aux micro−structures. Le projet GRAPHEIN [Belaïd 97], par exemple, cherche à structurer des références bibliographiques à partir d’images numériques.

Les techniques présentées dans cette section permettent d’effectuer la première phase de la structuration de documents. Cette phase consiste à pro-duire un document dont la structure reflète uniquement les informations conte-nues dans le format d’origine du document (style, position des éléments). Cette structure ne peut généralement pas être utilisée en l’état car elle ne représente pas la structure logique du document (niveaux de section, titres).

La difficulté est de convertir les structures produites par la première étape dans des structures logiques utilisables par une application cible. Ces structures logiques sont généralement définies par les DTD utilisées par ces applications. Nous exposons dans la suite des techniques de transformation permettant de réaliser la seconde étape.

II.4.1.2 Conversion et restructuration pour l’édition de documents structurés Un système d’édition structuré doit produire des documents conformes au modèle utilisé. Or certaines commandes standard d’édition comme le déplace-ment d’élédéplace-ments (couper / coller) peuvent mener à des structures incorrectes.

Pour résoudre ce problème certains éditeurs (FrameMaker [Adobe 95]) per-mettent, durant l’édition, de manipuler une structure incorrecte. L’utilisateur doit alors revenir à un état cohérent avant la sauvegarde du document. Cette ap-proche permet l’utilisation des commandes d’édition traditionnelles, mais

impose à l’utilisateur des manipulations supplémentaires pour conformer le do-cument au modèle. <P> item 1 <P> item 2 <P> item 3 <UL> <LI> item 1 <LI> item 2 <LI> item 3 </UL> item 1 item 2 item 3 item 1 item 2 item 3 <UL> <LI> item 1 <P> item 1.1 <P> item 1.2 <LI> item 2 </UL> <TABLE> <TR> <TD> item 1 </TD> <TD> item 1.1 </TD> <TD> item 1.2 </TD> </TR> <TR><TD> item 2 </TD> </TR> </TABLE>

Changer une liste en table

<UL> <LI> item 1 <UL> <LI> item 1.1 <LI> item 1.2 </UL> <LI> item 2 </UL> item 1 item 1.1 item 1.2 item 2 <UL> <LI> item 1 <UL> <LI> item 1.1 <LI> item 1.2 </UL> <LI> item 2 </UL> item 1 item 1.1 item 1.2 item 2 item 1 item 1.1 item 1.2 item 2

Figure 10 : Transformations pour l’édition interactive de documents HTML Une autre solution consiste à restructurer les éléments sur lesquels porte la commande pour les rendre conformes au modèle de structure. Nous détaillerons dans la section suivante les techniques qui peuvent être mises en œuvre pour la restructuration dans le cadre de l’édition interactive.

La restructuration permet d’implémenter des commandes d’édition spéci-fiques aux éditeurs de documents structurés. La suppression de niveaux de structure, l’englobement dans un élément composite ou le changement de type

Englober dans une liste Supprimer une liste

item 1 item 1.1 item 1.2 item 2

d’un élément en font partie. La figure 10 montre des exemples de code HTML avant et après l’exécution de quelques commandes de restructuration.

Ces exemples montrent que la correspondance entre les structures source et destination n’est pas triviale : des niveaux de structure peuvent disparaître (supprimer), d’autres peuvent être créés (englober), des éléments doivent éventuellement être insérés si le contexte les rend obligatoires.

Ces transformations peuvent être déclarées explicitement si l’éditeur ne permet de manipuler qu’un seul modèle de document. C’est le cas d’Amaya [Quint 98] qui permet de spécifier par des règles les transformations proposées à l’utilisateur [Bonhomme 96]. On reviendra sur ces règles au chapitre III.4.2.

Si l’on considère un éditeur permettant de manipuler des documents de dif-férentes classes, la définition explicite des transformations devient impossible à cause du nombre de relations éventuelles entre types d’éléments. Une méthode fondée sur la recherche de correspondance entre structures génériques comme celle que nous proposons dans cette thèse semble plus appropriée.