Les standards ALTO/TEI/METS

Un article de Loria Wiki.

Sommaire

L'ALTO

Qu’est ce qu’ALTO ?

ALTO est un schéma XML. Il est issu du projet européen METAe où on s'est rendu compte qu'il n'existait aucun standard pour représenter des choses comme la mise en page physique d'un document, les positions des mots, etc.

A quoi sert-il ?

Il est utilisé pour stocker les informations sur la disposition et le contenu de n’importe quel document imprimé. Il est donc particulierement adapté pour représenter les resultats d'OCR. ALTO est aussi destiné à être utilisé pour l’élaboration d’un document METS.

Comment est structuré un fichier ALTO ?

Ci-dessous un schéma représentant physiquement les principales balises utilisés dans ALTO.

Image:Shemaalto.JPG

La TEI


Qu’est-ce que la TEI ?

La TEI que l'on pourrait traduire par groupe d'initiative pour le balisage normalisé des textes est une norme de balisage, de notation et d'échange de corpus des documents électroniques fondée sur le SGML. Elle s'est élaborée pragmatiquement à partir des besoins de structuration, de conceptualisation et de mise en réseau de textes. En voici un exemple.

A quoi sert-elle ?

La DTD TEI, fondée à l'origine sur le SGML et s'appuyant désormais sur le XML, est un langage de marquage qui permet d'échanger des données textuelles, notamment pour les sciences humaines et les études sur les textes littéraires. Elle est utilisée pour représenter la structure logique des documents. On peut très facilement établir un sommaire par exemple. Une version allégée dite TEI Lite contient les définitions des éléments les plus couramment utilisés, c'est cette version de la TEI que nous avons utilisé.

Comment est structuré un fichier en TEI ?


Voici un exmple de représentation de document en TEI. C'est une page d'un document scientifique.

Agrandir


Voici à présent un premier découpage de la page, ce découpage représente le premier niveau de l'arborescence telle qu'elle est dans le xml en TEI.


Agrandir


<TEI>
   <text>
      <body>
         <table rows="5" cols="3"/>
         <p xml:id="par0"/>
         <p xml:id="par1"/>
         <p xml:id="par2"/>
         <p xml:id="par3"/>
         <div n="3" type="partie"/>
         <figure/>
         <div n="4" type="partie"/>
      </body>
   </text>
</TEI>


Ensuite, procédons par ordre d'apparition dans la page. Le tableau est représenté de la manière suivante:

  • le tableau lui même puis le titre de ce tableau
  • le tableau contient des lignes
  • les lignes contiennent des cellules
Agrandir


<table rows="5" cols="3">
	<row>
	   <cell> Operation </cell>
	   <cell> Surface of A kept </cell>
	   <cell> Surface of  B  kept </cell>
	</row>
	<row>
	   <cell> AUfi </cell>
	   <cell> outside  B </cell>
	   <cell> outside A </cell>
	</row>
	<row>
	   <cell> Anfi </cell>
	   <cell> inside  B </cell>
	   <cell> inside A </cell>
	</row>
	<row>
	   <cell> A-B </cell>
	   <cell> outside  B </cell>
	   <cell> inside A </cell>
	</row>
	<row>
	   <cell> B-A </cell>
	   <cell> inside  B </cell>
	   <cell> outside A </cell>
	</row>
 </table>


Voici une partie avec un paragraphe. Il y a le titre avec sa profondeur (3.O) et son texte puis ensuite vient le premier paragraphe avec son numéro et le texte.


Agrandir


<div n="3" type="partie">
	<head> 3    Surfel-Bounded Solids </head>
	<p xml:id="par0">
		The objects used in this paper are closed solids 
                whose surface is represented by surfels. Each 
                surfel i consists of a position x s , a radius of 
                influence  r s   and an orientation n s . Therefore 
                surfels can be thought of as disks orthogonal to 
                n s  with center  x s   and radius  r s . The radius  
                r s   should be chosen so that the projections of 
                the disks on the image plane overlap. The surfel-
                bounded solids are obtained by LDC  {layered depth 
                cube)  sampling and 3-to-l reduction as described in 
                [Pfister et al. 2000]. Initially each surfel will 
                thus have a radius  r s  = \/3h  with  h  the 
                sampling distance in each dimension chosen to match  
                the required display resolution. Although we use 
                uniformly sampled solids, our algorithms do not rely 
                on this. For each solid we define  r max  =  max  r s
                as the radius of the largest surfel belonging to its 
                surface.
	</p>
</div>


Nous pouvons également représenter les images avec leur légendes. On retrouve l'image avec éventuellement le chemin de l'image proprement dite mais aussi sa légende.


Agrandir


<figure>
	<head> Figure 2 </head>
	<figdesc> Constructing the quadtree of depth  d =  3. Left: in a first step the quadtree is
                  constructed; the blue cells are the boundary cells. Middle: classifying the empty leaf 
                  cells at depth  d = 3.  Green cells are inside the solid, yellow cells are outside the
                  solid. Right: classifying the empty leaf cells at depth  d?i,  i.e. 2.
	</figdesc>
</figure>


Ensuite nous pouvons voir comment la TEI représente l'arborescence du document, comme cette partie numéro 4 avec trois paragraphe et sa sous-partie 4.1. De cette manière le fichier xml possède une indentation identique au document source.


Agrandir


 <div n="4" type="partie">
	<head> 4    Inside-Outside Test </head>
	<p xml:id="par0">
		When constructing a new surfel-bounded solid...
	</p>
	<p xml:id="par1">
		In this section we propose a fast inside-outside...
	</p>
	<p xml:id="par2">
		For clarity the ideas presented in this section...
	</p>
	<div n="4.1" type="partie"/>
 </div>


Voici donc la partie 4.1 contenue dans la partie 4, elle est composée d'un titre, deux paragraphe, un troisième
There are three different cases when classifying an empty cell:
qui peut éventuellement être stocké comme le titre de la liste qui le suit. Ensuite il y a une liste décrite de la manière suivante: il y a une balise <liste> qui est suivie par les balises <item> qui elles contiennent les éléments de la liste. Et pour finir on trouve un dernier paragraphe.


Agrandir


<div n="4.1" type="partie">
  <head> 4.1     Octree Construction </head>
	
  <p xml:id="par0">
    For each solid we construct an axis-aligned octree. We start...
  </p>
	
  <p xml:id="par1">
    After constructing the octree, the empty cells are classified...
  </p>
	
  <p xml:id="par2">
    There are three different cases when classifying an empty cell:
  </p>
	
  <list>
    <item>the empty cell has only one non-empty neighbor,</item>
    <item>the empty cell has more than one non-empty neighbor (figure 3, left),</item>
    <item>the empty cell has no non-empty neighbor (figure 3, right).</item>
  </list>

  <p xml:id="par3">
    In the first case the empty cell is classified by looking at...	
  </p>
</div>

Le METS

Qu’est que le METS ?

Le schéma METS (Metadata Encoding and Transmission Standard), qui permet les échanges de documents numériques entre institutions patrimoniales, a été réalisé à l'initiative de la Digital Library Federation (DLF) et est une mise en oeuvre particulière du modèle de référence OAIS (Model for an Open Archival Information System). La bibliothèque du Congrès aux États-Unis est actuellement l'agence de maintenance de METS.

A quoi sert-il ?

METS est un schéma XML permettant la création de documents, ou plus exactement d’objets numériques (à un objet numérique correspond un fichier METS). Un objet numérique peut être simple ou complexe (un ou plusieurs fichiers numériques, un ou plusieurs formats de fichiers, par sa structure interne et externe).

Comment es structuré un fichier METS ?

Les sections

Un fichier METS est structuré en sept sections, pouvant comprendre un ou plusieurs groupe de metadonnées.

Les deux sections principales sont obligatoires:

  • FileSection: liste des fichiers composant l’objet(identifiant, format, url)
  • Structural Map: carte de structure, description du plan du document (logique ou physique)

Les 5 autres sections sont facultatives et répétables:

  • Header: informations sur le documents METS
  • Descriptive Metadata: métadonnées descriptives, externes avec des liens ou encapsulées dans le document
  • Admisnistrative Metadata: métadonnées administratives, externes ou encapsulées
  • Stuctural Links: liens entre les différents éléments de la carte de la structure
  • Behavior: association d’executable (programme qui vont faire fonctionner l’objet)
Les pointeurs

METS utilise un système de pointeurs afin de mettre en relation des éléments de métadonnées et des fichiers entre eux. METS en propose plusieurs types:

  • xlink : pour pointer vers un bloc à l’exterieur du document METS
  • filepointer: interne au document METS et permet de pointer vers l’identifiant d’un fichier
  • metspointer: externe au document METS et permet de lier plusieurs documents METS entre eux
  • area: intégré dans la carte de structure et permet de pointer vers une partie de fichier
La FileSection

Exemple de FileSection:

 <fileSec>
     <fileGrp ID="ALTO" USE="alto generated automatically via OCR">
        <file ID="ALTO_adams2" MIMETYPE="text/xml">
           <FLocat LOCTYPE="URL" xlink:href="adams-2.jpg_alto.xml"/>
        </file>
     </fileGrp>
     <fileGrp ID="TEI" USE="Documents de vérité en TEI ">
        <file ID="TEI_adams2" MIMETYPE="text/xml">
           <FLocat LOCTYPE="URL" xlink:href="adams-2tei.xml"/>
        </file>
     </fileGrp>
     <fileGrp ID="JPG" USE="Jpeg image">
        <file ID="JPG_adams2" MIMETYPE="image/jpeg">
           <FLocat LOCTYPE="URL" xlink:href="adams-2.jpg"/>
        </file>
     </fileGrp>
 </fileSec>
La carte de structure

La partie la plus importante d'un fichier METS est donc la structMap. Dans notre cas c'est ici qu'est fait le lien entre l'image, la TEI et l'ALTO. Les étapes pour réaliser ce fichier sont les suivantes:

  • Extraire la structure logique du document à partir du fichier TEI et la recréer grâce aux balises div.
  • Créer les pointeurs vers le fichier ALTO
  • Récupérer les coordonnés des lignes dans le XML ALTO, puis créer les pointeurs vers les zones de l’image correspondantes.

Image:shemaMets.JPG

Outils personels