Article de revue

Traitements automatiques pour la migration de documents numériques vers XML

Pages 9 à 24

Citer cet article


  • Fuselier, J.
  • et Chidlovskii, B.
(2006). Traitements automatiques pour la migration de documents numériques vers XML. Document numérique, . 9(1), 9-24. https://stm.cairn.info/revue-document-numerique-2006-1-page-9?lang=fr.

  • Fuselier, Jérôme.
  • et al.
« Traitements automatiques pour la migration de documents numériques vers XML ». Document numérique, 2006/1 Vol. 9, 2006. p.9-24. CAIRN.INFO, stm.cairn.info/revue-document-numerique-2006-1-page-9?lang=fr.

  • FUSELIER, Jérôme
  • et CHIDLOVSKII, Boris,
2006. Traitements automatiques pour la migration de documents numériques vers XML. Document numérique, 2006/1 Vol. 9, p.9-24. URL : https://stm.cairn.info/revue-document-numerique-2006-1-page-9?lang=fr.

Notes

1 – Introduction

1Le formalisme XML est devenu le standard industriel pour l’échange de données entre services et entre entreprises. Utiliser XML comme format d’échange pour la capture et la réutilisation d’informations est devenu critique pour les entreprises. Ce formalisme offre de nouvelles possibilités dans le domaine de la gestion documentaire, de la publication ou du multimédia. Sa simplicité permet de définir un vocabulaire et une syntaxe adaptés aux données et facilite leur échange et la réutilisation du contenu. Les technologies construites autour de lui offrent de nouvelles fonctionnalités, les recherches peuvent par exemple devenir plus significatives grâce à un balisage sémantique très précis sur les parties importantes du document. Il est également possible d’intégrer des données en provenance de sources diverses et la notion de document est redéfinie, un document est ainsi vu comme une agrégation d’informations sémantisées et non plus comme un document monolithique. Ainsi modularisés, les mises à jour de ces documents sont facilitées. L’avantage pour les entreprises est donc important mais le volume de documents à migrer vers ce nouveau formalisme crée de nombreux problèmes pour la conversion de fonds documentaires.

2Les fonds documentaires dans les entreprises sont constitués d’une collection de documents très variés comme par exemple des documentations techniques, des manuels utilisateurs, des rapports internes, des publications, des factures, etc. Ces documents sont souvent disponibles en formats électroniques, dans des formats privilégiant la présentation comme XHTML, PDF ou Microsoft Word. Ils décrivent correctement comment le document doit être présenté mais ne décrivent pas ce qui compose effectivement le document ni comment il est organisé. A l’opposé, en utilisant l’extensibilité du formalisme XML, il est possible d’annoter sémantiquement le contenu des documents (titres, auteurs, références, etc.), en laissant la tâche de présentation à des composants spécialisés. Le document est alors indépendant de la présentation et il est très facile d’adapter le rendu du document en fonction du périphérique utilisé pour la visualisation (assistants personnels, écrans larges, etc.). Nous nous intéressons à la découverte d’un processus automatique pour effectuer la migration du fond documentaire originel vers XML.

3Le processus de conversion nécessite souvent la définition d’un modèle de document cible exprimé par un schéma XML. Ce schéma peut être représentée par exemple sous la forme d’un XML Schema, d’une DTD ou d’un schéma RelaxNG. Elle définit les éléments structurels et sémantiques des documents propres à l’entreprise et à l’utilisation souhaitée. Il est fréquent que dans la conversion le document cible préserve une part importante du contenu du document source mais qu’elle supprime toutes les informations relatives à la présentation du document comme la pagination, le format des titres, etc. Structurellement, les documents source et cible sont souvent très différents car ils suivent deux paradigmes opposés, nous parlerons par la suite de l’annotation orientée présentation d’un document en opposition à l’annotation orientée sémantique du même document. Par exemple, si nous considérons le fragment de contenu « William Shakespeare », son annotation orientée présentation sera « <b><i>William Shakespeare</i></b> » alors que son annotation sémantique sera « William Shakespeare ». La conversion de fonds documentaires vers le formalisme XML est référencée comme une transformation de documents semi-structurés.

4Actuellement, la conversion de fonds documentaires dans un formalisme sémantique est réalisée par des experts du domaine et reste essentiellement manuelle et très coûteuse. Les communautés Web et XML offrent plusieurs outils pour transformer les données en XML, comme par exemple XSLT ou XQuery. Cependant, l’écriture de règles de transformation efficaces pour la conversion de gros volumes de données est rendue difficile par la taille et par la complexité des documents d’entrées et des schémas de sortie. L’état de l’art actuel dans le domaine de l’annotation sémantique ne laisse pas beaucoup d’espoir pour la création de convertisseurs entièrement automatiques. Néanmoins, nous cherchons à réduire le coût de la conversion en automatisant au maximum la transformation.

5Ce papier présente un travail qui s’inscrit dans le projet « Legacy Document Conversion » (LegDoC) du Centre de Recherche Européen de Xerox (Chanod et al., 2005). Il a pour objectif l’automatisation de la migration en masse de fonds documentaires vers XML. Un cas typique de conversion commence avec des documents disponibles en PDF, PostScript ou Microsoft Word, et un schéma pour les documents cibles, défini sous la forme d’une DTD ou d’un XML Schema. Le but de la conversion est de migrer les documents sources vers des documents XML conformes à un schéma cible. Nous nous intéressons plus particulièrement aux techniques d’apprentissage supervisées appliquées à la conversion documentaire. Nous supposons qu’il existe une collection d’apprentissage qui fournit des exemples de transformations, composée des documents sources et de leurs annotations en XML. Cela suppose la présence d’un expert qui est capable d’extraire manuellement les informations sémantiques des documents d’origine et de les porter vers un document structuré selon les contraintes imposées par le schéma cible. Chaque paire de l’ensemble d’apprentissage (document source, document cible) est utilisé pour mettre au point un modèle de transformation reproductible qui pourra être appliqué par la suite sur l’ensemble de la collection à convertir. Un des buts visé est de réduire le travail de l’expert et d’automatiser la conversion en utilisant un nombre minimum d’exemples. De plus, nous travaillons avec des méthodes probabilistes pour améliorer la robustesse et les performances des modèles. Cette approche nous permet par exemple de gérer les incohérences de la collection qui peuvent être introduites par différents auteurs. Ce bruit dans les données ne pourrait pas être capturé par des méthodes déterministes et fournirait des résultats incohérents.

6Le reste de ce papier présente l’approche que nous avons mise au point pour réaliser cette conversion. La section 2 présente une vue d’ensemble du processus de conversion. La section 3 présente la décomposition du problème en deux sous-problèmes plus simples et notre apport dans la conversion de fonds documentaires. La section 4 décrit le processus d’évaluation de la conversion ainsi que les résultats des expériences que nous avons menées. La section 5 présente les approches alternatives et la section 6 conclut le papier.

2 – La conversion documentaire

7La vue générique du diagramme de conversion est présentée sur la figure 1. Sur cette figure, nous pouvons distinguer trois grandes vues possibles pour des documents structurés en XML. La première se réfère aux annotations de présentation qui gèrent le rendu final des éléments du document (les positions x et y, la hauteur, la largeur, la fonte, etc.). Ces informations permettent de conserver un rendu identique entre le document d’origine et sa transformation en XML. La seconde nous permet de représenter des documents de façon plus abstraite, en définissant la structure logique du document. Elle décrit les relations spatiales entre les éléments de la page comme les colonnes, les paragraphes ou les lignes, etc. Enfin, la dernière vue que nous considérons est la structuration sémantique du document. Elle ne considère que le sens des éléments et non la façon de les présenter sur la page.

Figure 1

Les trois vues d’un document structuré

Description de l'image par IA : Le diagramme montre les trois vues d'un document structuré : sémantique, logique et présentation, avec des formats propriétaires et XML.

Les trois vues d’un document structuré

8Pour réaliser la conversion de fonds documentaires vers XML, le projet LegDoC définit un ensemble de composants qui forment une chaîne de traitement. En entrée de la chaîne se situe un document dans un format propriétaire et en sortie nous obtenons un document sémantique conforme à une grammaire. Voici les principaux composants :

  • Convertisseur bas niveau : la conversion commence par une réécriture du document écrit dans un format propriétaire vers un document XML « brut ». Nous utilisons ici les convertisseurs disponibles pour différents formats comme Adobe PDF [1] ou Microsoft Word [2]. Les documents produits par ces convertisseurs sont des fichiers XML qui préservent les informations de présentation du document (positions x et y, fontes, etc.). Ces logiciels sont très limités pour la reconnaissance des annotations logiques ou sémantiques et ne réalisent pas la conversion souhaitée.
  • Prétraitement : afin de corriger la sortie des convertisseurs précédents, nous utilisons un composant qui nettoie et indexe le fichier XML « brut ». L’indexage des différents éléments du document nous garantit la persistance des informations initiales et nous permet de tracer les résultats tout au long de la chaîne de traitement.
  • Analyse logique : ce composant propose des méthodes pour améliorer la qualité du document produit par le convertisseur de bas niveau en ajoutant des balises logiques et en assurant des propriétés spécifiques au document comme l’ordre de lecture (Meunier, 2005 ; Déjean et al., 2005). La qualité de ce document intermédiaire est une aide importante pour le composant d’annotation sémantique et améliore la qualité de la reconnaissance.
  • Annotation sémantique : en utilisant le document produit par le module d’analyse logique, ce module extrait les informations sémantiques de manière automatique dans le but d’effectuer la conversion du document numérique.
La chaîne de traitement de la conversion documentaire est séquentielle. Chaque composant de la chaîne permet d’améliorer la qualité du document en cours de transformation en se rapprochant incrémentalement de son annotation finale. En particulier, le module d’analyse logique permet d’inférer de nouvelles connaissances liées à la structure de la page qui sont un guide précieux pour le module d’annotation sémantique. Le reste de ce papier s’intéresse plus particulièrement à ce dernier composant.

3 – L’annotation sémantique

3.1 – Le problème de conversion

9Le problème que nous cherchons à résoudre est l’annotation de documents sémantiques guidée par un schéma cible. Nous disposons en entrée d’un schéma cible fourni par un expert du domaine qui décrit la sémantique et la structure des documents, d’une collection de documents qui sont destinés à être visualisés et d’un sous-ensemble annoté de cette collection pour pouvoir apprendre un schéma de conversion reproductible. Ce que nous cherchons en sortie est un modèle de conversion qui pourra être appliqué à l’ensemble des documents orientés présentation pour créer des documents sémantiques appartenant au langage défini par le schéma fourni.

10Comme nous l’avons dit précédemment, le module d’apprentissage repose sur un format de document pivot, produit par un ensemble de composant du projet LegDoC. Ces documents transformés sont les documents d’entrées du module d’apprentissage. Le premier intérêt de ce format pour l’apprentissage est la remise en ordre des éléments du document. Les convertisseurs de bas niveau traitent les éléments dans l’ordre défini dans la représentation interne du document propriétaire. Cet ordre ne correspond pas forcément à l’ordre des éléments du document cible. Nous utilisons pour le projet une approche basée sur la géométrie des éléments qui s’est montrée très performante sur nos classes de documents (Meunier, 2005). Ce module permet de vérifier la validité de l’ordre de lecture et de le corriger si nécessaire. Le deuxième intérêt de ce format est la structuration logique du document d’entrée qui permet d’ajouter des informations utiles pour le module d’apprentissage. Après le premier traitement, nous avons perdu ces informations et le document est devenu une liste de feuilles, avec une structure intermédiaire minimale. En utilisant la table des matières des documents lorsqu’elle existe, le module peut structurer le document automatiquement (Déjean et al., 2005).

11La figure 2 présente un exemple de conversion avec à gauche le fichier d’origine et à droite le document sémantique qu’il faut obtenir avec le schéma XML fourni. Ce schéma est représenté sous la forme d’une grammaire BNF. Le fichier d’origine est en XHTML, le module d’annotation sémantique prend en entrée un document structuré (XML) ou semi-structuré (XHTML) sur lequel aucune hypothèse n’est faite. Pour cette raison, il peut utiliser un fichier XML provenant de la chaîne de traitement ou bien n’importe quel autre document en XML. Le document est un fragment du CV d’un étudiant qui définit ses domaines de compétences et les études qu’il a suivies. Le contenu du document est présenté de manière à faciliter la compréhension des informations par des humains, il respecte une certaine nomenclature définie par un modèle de CV fourni par Microsoft Office. Le document cible est un fragment XML qui ne possède que les informations sémantiques du CV et qui respecte la grammaire. Toutes les informations de visualisation ont disparues pour ne conserver que les informations de contenu. Nous pouvons remarquer que certains fragments de contenu ne servent qu’à améliorer la visibilité des informations, ils ne conservent aucune information sémantique et devront être supprimés lors de la conversion.

Figure 2

Un exemple de conversion

Description de l'image par IA : Description en français : Exemple de conversion de données en XML pour l'accès aux informations de formation et de compétences.

Un exemple de conversion

12La figure 3 présente le même exemple sous un autre point de vue avec la représentation interne des documents sous forme arborescente. L’arbre du haut est constitué de balises de présentation (b, span, etc.) qui vont être interprétées par un navigateur pour afficher le contenu du document. Nous pouvons remarquer que le modèle appliqué pour générer le CV utilise des tableaux pour structurer la présentation. Cette information pourra être utilisée par des modèles d’apprentissage comme l’Entropie Maximale (MaxEnt, (Berger et al., 1996)) ou les Séparateurs à Vaste Marge (SVM, (Schölkopf, 2000)) pour cibler efficacement le positionnement des informations pertinentes dans la structure. A l’opposé, l’arbre situé en dessous est uniquement constitué des balises sémantiques propres au domaine, les informations de présentation ont disparues.

Figure 3

Représentation arborescente de l’exemple

Description de l'image par IA : Arbre représentant un exemple de curriculum avec des nœuds pour compétences, formation, années, titres et affiliations.

Représentation arborescente de l’exemple

13Dans ce papier, nous considérons le cas général de l’annotation arborescente d’un document semi-structuré. Contrairement aux approches existantes (Chung et al., 2002 ; Ishitani, 2003 ; Altamura et al., 2001), nous ne faisons pas d’hypothèses sur la structure des documents cible et d’origine et nous ne recherchons pas de similarités de structure. Le contenu du document est représenté par une séquence d’observation x = (x1,. .. , xn), où chaque observation xi est un fragment de contenu à convertir. Dans le cas de documents XHTML, les fragments sont les feuilles de l’arbre, elles sont entourées d’informations contextuelles sous la forme d’attributs, de balises, etc. Nous pouvons remarquer qu’il existe un alignement entre les feuilles des deux documents pour cet exemple. Dans le cas général, l’alignement est vérifié et éventuellement corrigé par le module d’analyse logique.

14Notre approche consiste à diviser le problème en deux sous-problèmes plus simples. La première étape consiste à parcourir la séquence de feuilles du document d’entrée pour estimer une séquence de classes associées à ces feuilles. Les classes possibles sont choisies parmi les éléments fils des arbres de la grammaire. Pour l’exemple précédent, les classes possibles sont en gras, ce sont competence, annee, titre et affiliation. La séquence de classes estimée yest = (y1,. .. , yn) représente les estimations yi pour chaque observation xi. Elle est utilisée comme point d’entrée pour le deuxième traitement, il a pour but la reconstruction d’un arbre de dérivation d associé à la séquence yest en utilisant les contraintes grammaticales fournies par le schéma ou bien dérivées de la collection. Cet arbre de dérivation correspond à l’arbre sémantique recherché. La réalisation de ces deux étapes correspond à la conversion d’un document orienté présentation vers un document sémantique.

3.2 – Classification probabiliste

15La première étape définie par notre décomposition du problème est une étape de classification. A partir d’une séquence de feuilles x, l’annotation consiste à estimer la séquence de classes y qui est la plus probable. Cette estimation est basée sur un modèle d’apprentissage entraîné avec un ensemble d’apprentissage, {(x, y)}. En reprenant notre exemple, nous avons x = (« Domaines de compétences », « Génie Logiciel, IHM », « Formation », « 2002 », « : », « DEA Informatique », « Université de Savoie », « 2001 », « : », « Maîtrise Informatique », « Universite de Savoie ») et la séquence la plus probable recherchée y = (REMOVE, competence, REMOVE, annee, REMOVE, titre, affiliation, annee, REMOVE, titre, affiliation). Nous pouvons remarquer l’introduction d’une nouvelle classe REMOVE qui correspond à l’annotation des feuilles qui ne sont pas présentes sous cette forme dans l’annotation cible. Ce sont des feuilles qui conservent des informations utiles pour la présentation du document (« : ») ou pour la sémantique des feuilles voisines (« Formation »). Ces informations sont en général présentes de façon implicite dans le document sémantique et peuvent être utilisées pour produire une visualisation du document identique au document originel.

16Un classifieur probabiliste crée un modèle d’apprentissage cohérent avec les exemples annotés par un expert qui est le plus général possible, c’est-à-dire performant sur des données non vues en apprentissage. Le but recherché est de déterminer des valeurs de caractéristiques propres à chaque classe pour estimer, à partir d’un xi, les probabilités de chacune des classes. Formellement, un classifieur probabiliste cherche à estimer la probabilité conditionnelle p(y|xi) qui définit la probabilité que la classe de l’observation xi (la feuille) soit y. Si le classifieur probabiliste est utilisé seul, la classe estimée est la classe pour laquelle cette probabilité est maximale.

17Pour être utilisées avec des méthodes d’apprentissage existantes, les instances à classer (les observations xi) doivent être projetées dans un modèle de données consistant. Dans ce modèle, une instance va être vue comme un vecteur de caractéristiques permettant de décrire le plus fidèlement possible les spécificités des instances d’une même classe. Pour la suite, nous faisons l’hypothèse que le document source est représenté en XHTML. L’approche reste générale et seule la projection du document source dans cette représentation vectorielle est tributaire du formalisme d’entrée. Dans notre cas, la partie de prétraitement nous permet de travailler dans un formalisme homogène, quel que soit le format initial.

18Nous classons ces caractéristiques en trois catégories différentes qui récupèrent des informations utiles pour la discrimination :

1 – Les attributs de contenu

19La première source d’attributs que nous pouvons utiliser concerne les fragments textuels du document d’origine, les feuilles de l’arbre. Ces attributs permettent de décrire précisément les caractéristiques spécifiques aux chaînes de caractères contenues dans les feuilles. Nous pouvons penser par exemple aux nombres de caractères de la chaîne ou à la présence de caractères spéciaux. Dans l’exemple précédent, le fait de savoir que la chaîne « 2002 » est numérique peut aider le classifieur à proposer une plus forte probabilité pour la classe nommée « année ».

2 – Les attributs de structure

20La deuxième source d’attributs à notre disposition concerne la structure de l’arbre XHTML à convertir. Il peut être judicieux de connaître les balises proches d’une feuille dont nous cherchons à estimer la classe pour trouver des motifs structurels propres à chaque classe. Dans notre cas, les attributs sont à valeurs discrètes et permettent seulement de simuler les structures. Cependant, cette approche permet d’utiliser simplement la majorité des méthodes existantes et de ne pas avoir à mettre au point des méthodes plus spécifiques. Comme nous l’avons dit précédemment, la structure de tableau de l’exemple de la figure 3 est une source d’informations structurelles pertinente. Les feuilles situées dans la première colonne par exemple peuvent être reconnues avec le nom de la balise du père de la feuille (td), l’absence de frère gauche et le nom de la balise du grand-père de la feuille (tr). En conséquence, de manière plus générale, les feuilles sont reconnues grâce aux informations structurelles du document.

3 – Les attributs de contenu XML

21Enfin, la dernière source d’attributs est un mélange de structure et de contenu. Il s’agit des valeurs des attributs présents dans les éléments XML qui entourent la feuille. Par exemple, il peut être intéressant de savoir que la fonte du frère gauche de la feuille est « times », indiquant un changement de style entre un titre et un paragraphe, ou encore que le tableau est dessiné avec une bordure de deux pixels d’épaisseur.

22En utilisant cette représentation, chaque feuille peut être projetée dans ce modèle et le classifieur probabiliste travaille alors sur ces représentations vectorielles des feuilles à annoter. Les attributs extraits dont nous disposons sont de types hétérogènes (discrets, numériques ou booléens) mais majoritairement à valeurs discrètes, la figure 4 présente les principaux attributs que nous utilisons. Nous avons donc porté notre attention sur un classifieur basé sur le principe du maximum d’entropie (Berger et al., 1996), appelé aussi MaxEnt. Il est très performant dans le domaine du traitement du langage pour résoudre des problèmes similaires et il s’est également montré le plus performant lors de nos comparaisons de classifieurs. Il permet notamment de gérer l’hétérogénéité des attributs, un grand nombre de classes et l’apprentissage du modèle d’apprentissage est très rapide. Ce classifieur cherche à maximiser la probabilité conditionnelle P(y|x), il fait l’hypothèse qu’elle suit une loi exponentielle.

Figure 4

Les principaux attributs utilisés par le classifieur

Tableau des attributs XML pour l'accessibilité des livres.

Les principaux attributs utilisés par le classifieur

23

Description de l'image par IA : P majuscule parenthèse gauche y barre verticale x parenthèse droite égale début fraction 1 sur Z majuscule indice a position de base parenthèse gauche x parenthèse droite fin fraction e x p parenthèse gauche sommation début souscript a fin scripts lambda indice a position de base opérateur point f indice a position de base parenthèse gauche x virgule y parenthèse droite parenthèse droite virgule barre oblique inversée eqno parenthèse gauche 1 parenthèse droite

24Za(x) est un facteur de normalisation qui permet d’assurer que la valeur obtenue est une probabilité,

25

Description de l'image par IA : Z majuscule indice a position de base parenthèse gauche x parenthèse droite égale sommation début souscript y fin scripts e x p parenthèse gauche sommation début souscript a fin scripts lambda indice a position de base opérateur point f indice a position de base parenthèse gauche x virgule y parenthèse droite parenthèse droite point barre oblique inversée eqno parenthèse gauche 2 parenthèse droite

26La variable a permet d’effectuer une somme sur l’ensemble des composantes du vecteur qui représente une instance x à classer et la fonction fa(x, y) représente la valeur de cet attribut a, pour le couple d’apprentissage (x, y). Les valeurs ?a représentent une pondération des composantes et permettent de déterminer un modèle pour lequel la distribution définie soit la plus exacte possible pour les données de l’ensemble d’apprentissage. Pour chaque choix de Description de l'image par IA : lambda en italique gras égale parenthèse gauche lambda indice a sub-indice 1 sub position de base virgule trois points médians virgule lambda indice a sub-indice m sub position de base parenthèse droite

que nous pouvons faire, nous définissons donc un modèle différent, le classifieur MaxEnt va déterminer parmi toutes ces possibilités le modèle optimal, en utilisant le principe de maximum d’entropie. Ce principe privilégie les modèles les plus uniformes et permet de trouver un maximum local. Pour l’estimation itérative des paramètres ?a du modèle, nous utilisons la méthode quasi-Newton (Malouf, 2002).

3.3 – Grammaires hors-contextes probabilistes

27Pour utiliser les contraintes grammaticales fournies par le schéma XML qui définit la sémantique métier de la collection, nous utilisons des grammaires probabilistes. La partie des schémas XML W3C (ou DTD) qui nous intéresse concerne uniquement les déclarations qui définissent la structure des arbres recherchés. Cette partie peut être transformée de manière équivalente vers le formalisme des grammaires hors-contextes (Papakonstantinou et al., 2000). Il est également possible d’inférer une DTD probabiliste à partir d’une collection de documents XML annotés (Winkler et al., 2002).

28définition : Une grammaire hors-contexte probabiliste G est définie par un 5-uplet < N, T, R, S, P > où :

  • N est l’ensemble des symboles non terminaux,
  • T est l’ensemble des symboles terminaux,
  • R est l’ensemble des règles ri de la forme : Description de l'image par IA : A majuscule flèche droite alpha virgule A majuscule appartient à N majuscule virgule alpha appartient à parenthèse gauche N majuscule union T majuscule parenthèse droite exposant opérateur astérisque,
  • S est l’axiome de départ,
  • P est l’ensemble des probabilités pi associées aux règles ri telles que :
Description de l'image par IA : début tableau 1re rangée  avec etiquette crochet gauche 3 crochet droit fin etiquette sommation début souscript alpha fin scripts p parenthèse gauche A majuscule flèche droite alpha parenthèse droite égale 1 virgule pour tous A majuscule appartient à N majuscule point fin tableau

29définition : On dit qu’un non terminal Description de l'image par IA : A majuscule appartient à N majuscule

domine une sous-séquence Description de l'image par IA : y en gras indice i en gras exposant j en gras position de base égale parenthèse gauche y indice i position de base virgule points de suspension virgule y indice j position de base parenthèse droite s en normal i en normal A majuscule suscrire double flèche droite avec opérateur astérisque y en gras indice i en gras exposant j en gras. Nous l’écrivons Aji.

30Dans notre cas, nous cherchons à trouver une séquence y qui soit dominée par S, l’axiome de départ qui est aussi la racine de l’arbre. La suite de règles de production Description de l'image par IA : S majuscule suscrire double flèche droite avec opérateur astérisque y en gras

utilisée pour produire la séquence définit un arbre de dérivation d qui est équivalent à un arbre XML. La figure 5 schématise la domination de la racine par rapport à une séquence de classes y = (y1,. .. , yn).

Figure 5

Arbre de dérivation d pour le couple (x, y)

Description de l'image par IA : Diagram triangulaire avec une branche étiquetée "d" et des cases en bas avec des paires (x, y).

Arbre de dérivation d pour le couple (x, y)

31Les règles de la grammaire hors-contexte probabiliste peuvent être écrites manuellement en se référant au schéma XML. Elles peuvent également être inférées automatiquement à partir des documents cibles de la collection d’apprentissage. Les probabilités de chaque règles peuvent être calculées automatiquement en les dénombrant, en utilisant la formule suivante

Description de l'image par IA : début tableau 1re rangée  avec etiquette crochet gauche 4 crochet droit fin etiquette P majuscule parenthèse gauche A majuscule flèche droite alpha parenthèse droite égale début fraction n o m b r e parenthèse gauche A majuscule flèche droite alpha parenthèse droite sur sommation début souscript A majuscule flèche droite bêta appartient à R majuscule fin scripts n o m b r e parenthèse gauche A majuscule flèche droite bêta parenthèse droite fin fraction virgule pour tous A majuscule flèche droite alpha appartient à R majuscule point fin tableau
L’utilisation de grammaires probabilistes permet de proposer plusieurs arbres de dérivations pour une séquence d’éléments terminaux et donc d’introduire la notion d’arbre le plus probable qui correspond à l’arbre qui possède la plus grande probabilité. La probabilité d’un arbre de dérivation est calculée en effectuant le produit des probabilités des règles de production qui ont été utilisées pour le créer.

3.4 – Combinaison de méthodes

32La spécificité de nos travaux consiste à combiner les deux technologies précédentes, un classifieur probabiliste et des grammaires probabilistes, pour réussir à convertir automatiquement des documents semi-structurés (Chidlovskii et al., 2005). Formellement, nous cherchons à trouver le couple (y, d) qui soit le plus probable étant donné une grammaire probabiliste G et un document d’origine projeté sous une forme vectorielle d’attributs x. Cela peut s’écrire

33

Description de l'image par IA : parenthèse gauche y en gras virgule d parenthèse droite indice maximum position de base égale a r g m a x début souscript parenthèse gauche y en gras virgule d parenthèse droite fin scripts P majuscule parenthèse gauche y en gras virgule d barre verticale x en gras virgule G majuscule parenthèse droite point barre oblique inversée eqno parenthèse gauche 5 parenthèse droite

34L’avantage de cette approche est que nous cherchons à maximiser une probabilité jointe entre y et d. En utilisant le théorème de Bayes et des hypothèses d’indépendances entre x et d et entre y et G, il est possible de reformuler l’équation 5 en

35

Description de l'image par IA : Formule mathématique avec des probabilités et des variables.

36Dans l’équation 6, la première partie correspond à la partie grammaticale et à la recherche de l’arbre de dérivation le plus probable pour une séquence d’éléments terminaux (des classes) fixée. La deuxième partie correspond à la classification probabiliste d’une séquence de feuilles pour estimer une séquence de classes (les terminaux).

37La formule indique qu’il faut calculer la probabilité jointe pour tous les couples (y, d) et prendre le couple dont la valeur est maximale. La théorie impose d’effectuer le test pour tous les couples de valeurs possibles afin de trouver un maximum global. Ce n’est malheureusement pas réalisable en pratique. Afin de pallier ce problème, nous avons mis en place une modification de l’algorithme inside-outside pour les grammaires hors-contextes probabilistes. Il permet de calculer efficacement la probabilité d’un arbre de dérivation à partir d’une séquence donnée (Lari et al., 1990). Plus spécifiquement, nous modifions la partie inside de l’algorithme en injectant la distribution de probabilité estimée par le classifieur probabiliste. La modification que nous avons apportée nous permet de conserver la complexité de l’algorithme initial en O(n3) avec n la longueur de la séquence. Les détails de cet algorithme ainsi qu’un exemple peuvent être trouvés dans (Chidlovskii et al., 2005).

4 – Résultats

38Nous avons testé notre méthode pour l’annotation XML sur deux collections. La première est une collection de 39 pièces de Shakespeare, disponibles dans les formats HTML et XML sur le web [3]. Nous avons extrait aléatoirement 60 scènes de ces pièces pour l’évaluation, elles possèdent de 17 à 189 feuilles. Le fragment de la DTD correspondant aux scènes est composé de 4 terminaux et de 6 non-terminaux.

39La seconde collection, appelée TechDoc, est constituée de 60 documents techniques décrivant des opérations de maintenance. Les documents cibles ont une granularité sémantique bien plus fine que pour la collection des pièces de Shakespeare et ont une profondeur plus importante. Le plus long document possède 218 feuilles. Le schéma cible est donné par une DTD complexe qui possède 27 terminaux et 35 non-terminaux.

40Pour évaluer la précision de notre annotation, nous utilisons deux métriques différentes. Le Pourcentage d’Erreurs Terminales (PET) est similaire au pourcentage d’erreurs sur les mots en traitement du langage naturel, il calcule le pourcentage d’éléments terminaux (classes) qui ont été correctement annotés dans les documents de test (Lehnert et al., 1991). La deuxième métrique est le Pourcentage d’Erreurs des Non-terminaux (PEN) qui calcule le pourcentage de sous-arbres correctement annotés. Nous considérons un sous-arbre bien annoté si l’estimation du symbole Aji dominant la sous-séquence (yi,. .. , yj) correspond effectivement au symbole dominant la même séquence dans le document à obtenir. La précision PEN correspond donc au rapport du nombre de nœuds corrects sur le nombre de nœuds total.

41Pour le modèle d’apprentissage de MaxEnt, nous extrayons 38 attributs de contenu pour chaque observation comme le nombre de mots, sa longueur, etc. Ensuite, nous extrayons 14 attributs de structure et de présentation qui incluent les balises entourant la feuille ainsi que les attributs XML associés.

42Pour chaque test, nous effectuons une validation croisée. Nous avons testé la classification de séquences de terminaux seuls avec différents classifieurs, MaxEnt en utilisant ensemble les 52 attributs et deux classifieurs basé sur Naïve Bayes (NB) qui utilisent respectivement les attributs de contenu et les attributs de structure et de présentation. Ces classifieurs servent de référence pour la comparaison avec MaxEnt qui permet de prendre en considération les deux sources d’attributs en même temps. Ces classifieurs fournissent les résultats pour PET. Les classifieurs basés sur MaxEnt et Naïve Bayes en combinaison avec les grammaires (MaxEnt + G et NB + G) permettent de calculer PET et PEN. Dans tous les cas, l’ajout de contraintes grammaticales permet d’améliorer la classification des feuilles et de construire l’arbre de dérivation final, qui correspond à la transformation finale du document. Les résultats des différents tests sont collectés dans le Tableau 1. La méthode combinatoire permet de montrer une amélioration du classifieur simple et nous montre que les contraintes grammaticales permettent de récupérer certaines erreurs de classification de MaxEnt et d’améliorer sensiblement les classifieurs « naïfs ».

Tableau 1

Résultats de l’évaluation

Tableau comparatif des résultats d'évaluation pour différentes méthodes et outils (TechDoc, Shakespeare) avec des scores PET et PEN.
Méthodes TechDoc Shakespeare PET PEN PET PEN MaxEnt 92.68 – 100.0 – NB - contenu 71.84 – 81.90 – NB - structure 76.37 – 99.95 – MaxEnt + G 93.39 80.00 99.97 99.81 NB - contenu + G 78.40 65.53 81.94 28.38 NB - structure + G 88.58 76.44 99.95 99.84

Résultats de l’évaluation

5 – Autres approches

43La transformation de documents définis dans un schéma source (basé sur la présentation dans notre cas) vers des documents définis dans un schéma cible (fourni par un utilisateur dans notre cas) a fait l’objet de plusieurs langages de transformations d’arbres comme XPath ou XSLT par exemple. Ils fournissent tous des outils de programmation très puissants qui permettent de réaliser un grand nombre de tâches liées à la transformation de documents.

44Ces approches sont déclaratives et nécessitent une écriture manuelle des règles de transformation. Des méthodes d’apprentissage comme (Curran et al., 1999) peuvent apprendre des règles simples de transformation. Elles supposent que des documents sources peuvent être transformés dans des documents XML grâce à une suite d’opérations de transformations élémentaires comme l’insertion, le remplacement, la suppression et l’échange. Le modèle de traduction apprend un ensemble d’opérations qui minimisent une erreur donnée par une fonction d’évaluation.

45Dans le domaine de l’analyse de la présentation des documents, l’utilisation de balises XML ou HTML peuvent faciliter la récupération de documents sur le web. Des systèmes comme (Altamura et al., 2001) ou (Wang et al., 1999) sont ainsi capables de transformer des documents scannés vers des documents bien structurés. Cependant, le résultat de ces systèmes restent orientés présentation et contiennent très peu d’informations sémantiques. L’objectif principal est de préserver une visualisation qui soit la plus proche possible du document original dans un navigateur web.

46Une autre catégorie de systèmes fait face au problème de conversion de documents. Ces méthodes, comme (Chung et al., 2002), traitent plus particulièrement de la conversion de documents HTML vers des documents XML. En analysant les collections et en utilisant des techniques d’apprentissage non supervisées, l’auteur définit des méthodes manuelles d’extraction et des règles de composition qui sont capables de trouver des motifs structurels représentatifs dans l’arbre d’entrée, de définir un label à affecter à un élément extrait et de finalement restructurer les éléments pour former un arbre converti. Enfin, (Ishitani, 2003) est allé un peu plus loin dans la conversion documentaire, la sortie hiérarchique de l’analyse logique permet de générer un document dans un format XML pivot qui est ensuite converti manuellement vers un schéma utilisateur en XML.

6 – Conclusion

47Nous proposons une méthode probabiliste pour l’annotation XML de documents semi-structurés. Cette méthode s’inscrit dans le projet LegDoC qui a pour objectif la conversion en masse de documents versXML. Le problème de l’annotation d’arbre est réduit à la dérivation hors-contexte probabiliste d’une séquence d’observation. Nous déterminons l’arbre d’annotation le plus probable en maximisant la probabilité jointe d’estimer une séquence de symboles terminaux et de dériver un arbre pour cette séquence.

48Les résultats obtenus valident notre approche, la performance des algorithmes nous permet d’affirmer qu’il est déjà possible avec cette approche d’effectuer automatiquement une partie importante de la conversion. Dans le futur, nous envisageons d’adresser de nouveaux challenges dans l’automatisation de la conversion de documents HTML vers XML. Nous sommes plus particulièrement intéressés à la prise en compte des structures d’arbres d’entrée dans le modèle d’apprentissage. Nous envisageons également de rendre les algorithmes actifs pour minimiser la tâche de l’annotation des documents pour l’apprentissage supervisé et pour améliorer les résultats.

7. Bibliographie

  • Altamura O., Esposito F., Malerba D., « Transforming Paper Documents into XML Format with WISDOM++ », IJDAR, vol. 4, n° 1, p. 2-17, 2001.
  • Berger A. L., Pietra S. A. D., Pietra V. J. D., « A Maximum Entropy Approach to Natural Language Processing », Computational Linguistics, vol. 22, n° 1, p. 39-71, March, 1996.
  • Chanod J. P., Chidlovskii B., Déjean H., Fambon O., Fuselier J., Jacquin T., Meunier J. L., « From Legacy Documents to XML : A Conversion Framework », 9th European Conference on Research and Advanced Technology for Digital Libraries (ECDL’05), Vienna, Austria, September, 2005.
  • Chidlovskii B., Fuselier J., « Coupling Maximum Entropy Models and Probabilistic Context-Free Grammar Model for XML Annotation of Documents », 7ème Conférence francophone sur l’apprentisage automatique (CAp 2005), Nice, France, May, 2005.
  • Chung C. Y., Gertz M., Sundaresan N., « Reverse Engineering for Web Data : From Visual to Semantic Structures », Proceedings of the 18th International Conference on Data Engineering (ICDE’02), IEEE Computer Society, San Jose, CA, p. 53-63, February, 2002.
  • Curran J. R., Wong R. K., « Transformation-Based Learning for Automatic Translation from HTML to XML », Proceedings of the Fourth Australasian Document Computing Symposium (ADCS99), Coffs Harbour, Australia, December, 1999.
  • Déjean H., Meunier J.-L., « Structuring documents according to their table of contents », ACM Symposium on Document Engineering 2005, Cristol, UK, November, 2005.
  • Ishitani Y., « Document Transformation System from Papers to XML Data Based on Pivot XML Document Method », Proceedings of the 7th International Conference on Document Analysis and Recognition (ICDAR2003), Edinburgh, Scotland, p. 250-255, August, 2003.
  • Lari K., Young S. J., « The Estimation of Stochastic Context-free Grammars using the Inside-Outside Algorithm », Computer Speech and Language, vol. 4, p. 35-56, 1990.
  • Lehnert W. G., Sundheim B., « A Performance Evaluation of Text-Analysis Technologies », AI Magazine, vol. 12, n° 3, p. 81-94, 1991.
  • Malouf R., « A Comparison of Algorithms for Maximum Entropy Parameter Estimation », Proceedings of the 6th Conference on Natural Language Learning (CoNLL-2002), Taipei, Taiwan, p. 49-55, August, 2002.
  • Meunier J.-L., « Optimized XY-Cut for Text Ordering », Proceedings of the 8th International Conference on Document Analysis and Recognition, Seoul, Korea, September, 2005.
  • Papakonstantinou Y., Vianu V., « DTD Inference for Views of XML Data », Proceedings of the Nineteenth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, Dallas, Texas, p. 35-46, May, 2000.
  • Schölkopf B., Statistical Learning and Kernel Methods, Technical report, Microsoft Research, 2000.
  • Wang Y., Phillips I., Haralick R., « From Image to SGML/XML Representation : One Method », International Workshop on Document Layout Interpretation and its Applications (DLIAP’99), Bangalore, India, September, 1999.
  • Winkler K., Spiliopoulou M., « Structuring Domain-Specific Text Archives by Deriving a Probabilistic XML DTD », Proceedings of the 6th European Conference on Principles of Data Mining and Knowledge Discovery, Helsinki, Finland, p. 461-474, August, 2002.

Mots-clés éditeurs : apprentissage supervisé, extraction d'informations, XML