-
Notifications
You must be signed in to change notification settings - Fork 0
ALTO
ALTO (Analyzed Layout and Text Object) est un schéma XML standardisé, qui permet de stocker les informations relatives à la structure physique et au texte extrait par OCR (Optical Character Recognition : reconnaissance optique de caractères) d'une page d'un document numérisé (livre, revue ou journal).
Très adapté à la conservation à long terme de ces données, ALTO a été adopté par de nombreuses institutions dans leur processus de conversion en mode texte de documents numérisés ; institutions au rang desquelles on compte la Bibliothèque du Congrès, l'Université de Harvard, les Bibliothèques nationales du Danemark, Finlande, France, Nouvelle-Zélande, Pays-Bas, Singapour, etc. (liste complète ici).
ALTO est au demeurant très utile pour l'exploitation et la valorisation des collections numériques. Les coordonnées matricielles qu'il contient peuvent par exemple servir de support à la génération de PDF multicouches ou au développement d'applications web de surlignage d’occurrences.
Un fichier ALTO est un fichier XML.
Il est conçu pour être utilisé comme un complément de METS (Metadata Encoding and Transmission Schema), lorsque celui-ci est employé pour décrire la mise en page reconnue par OLR. METS renseigne alors sur la structure logique de la page (nature sémantique des blocs de texte, par exemple titre, partie d'article, légende d'illustration, etc.), tandis qu'ALTO localise des contenants (blocs, lignes, etc.) sur la matrice de l'image de la page.
Lorsqu'ils coexistent, METS intègre dans sa <structMap>
des références directes à des éléments de l'ALTO, des <TextBlock>
par exemple. Mais les instances ALTO peuvent exister en tant que documents autonomes, indépendamment de METS. Sur l'utilisation conjointe d'ALTO et METS, on consultera cette page.
Les schémas ALTO sont mis à jour avec des nombres entiers quand leurs modifications interrompent la compatibilité descendante (version 1 à 2, par exemple), et des décimales quand elles ne l'interrompent pas (4.0 à 4.1, par exemple). Depuis juin 2022, le schéma est dans sa version 4.3.
Versions antérieures :
- 4.2 (juillet 2020) ;
- 4.1 (mai 2019) ;
- 4.0 (janvier 2018) ;
- 3.1 (janvier 2016) ;
- 3.0 (août 2014) ;
- 2.1 (février 2014) ;
- 2.0 (janvier 2010) ;
- 1.4 (août 2007).
Un fichier XML ALTO est composé de trois sections principales, sous la racine <alto>
:
-
<Description>
(voir infra, Métadonnées internes) <Styles>
<Layout>
La section <Styles>
liste les polices de composition reconnues par le moteur OCR, avec certaines de leurs caractéristiques (taille, couleur, graisse...), et des informations sur la morphologie des paragraphes.
La section <Layout>
expose le contenu lui-même, par page (élément <Page>
). Chaque page se compose d'un <PrintSpace>
encadré par des marges haute, droite, basse et gauche : cinq aires rectangulaires qui ne peuvent pas se chevaucher, où se répartissent les objets graphiques (<Illustration>
et <GraphicalElement>
) ou textuels identifiés par le moteur OCR lors de ses opérations de segmentation. Les <TextBlock>
sont les unités essentielles de ces derniers. Ils sont divisés en lignes (<TextLine>
) où le caractère espace (<SP>
) sert à séparer les chaînes de caractères (<String>
) et où les traits d'union (<HYP>
) sont identifiés comme séparateurs de chaînes devant être fusionnées.
Depuis 2009, c'est un Comité éditorial mis en place par la Bibliothèque du Congrès qui est l'agent officiel de maintenance du schéma. Le Comité enrichit ce dernier et agit pour étendre son utilisation dans la communauté des bibliothèques numériques.
La documentation de référence est disponible sur le GitHub du Comité et les versions du schéma sont hébergées par la Bibliothèque du Congrès.
Registre | Identifiant |
---|---|
Wikidata | Q2819247 |
Un fichier XML ALTO contient deux types d'informations géométriques sur les aires rectangulaires structurant la page océrisée : les coordonnées matricielles de leur coin supérieur gauche (attributs HPOS
et VPOS
) et leurs dimensions (attributs HEIGHT
et WIDTH
). L'exploitabilité de ces informations nécessite que l'ALTO soit accompagné, lors de son archivage, de l'image océrisée correspondante dans ses dimensions natives.
Pour assurer a minima un lien avec cette dernière, il doit fournir dans sa section <sourceImageInformation>
au sein de <Description>
(voir infra, Métadonnées internes) un lien pérenne de récupération de cette image.
La section <Description>
du fichier XML ALTO, enfant en première position de la racine <alto>
, contient des métadonnées auto-descriptives ; entre autres : décompte d'éléments, logiciel OCR utilisé, et « taux OCR brut ». Ce taux exprime la confiance auto-évaluée du moteur à reconnaître les caractères et reconstituer les chaînes ; techniquement, il est la moyenne des valeurs des attributs WC
(pour Word Confidence) de toutes les <String>
et se renseigne dans une balise <processingStepDescription>
.
ALTO étant un format XML, il est indispensable de disposer d'un éditeur XML complet pour le manipuler, le valider et l'éditer. La validation est réalisée à l'aide du schéma XSD officiel.
Comme outils de production, on citera ABBYY FineReader Engine®, qui équipe la chaîne interne d'océrisation de la BnF, et Tesseract (à partir de la version 4), libre et open source.
La caractérisation d'ALTO, comme celle des autres formats XML, est réalisée par le module XML de l'outil Jhove
. L'option withTextMD
permet de produire une sortie au format textMD.
Le format ALTO est demandé par la BnF dans le cadre des prestations d'océrisation externes (cf. son référentiel OCR). C'est aussi le format produit par sa chaîne interne d'océrisation, active depuis avril 2019. Sa bibliothèque numérique Gallica l'exploite pour la recherche plein texte et la mise en surbrillance des mots recherchés.
La BnF a développé son propre schéma, dérivé de la version 2 d'ALTO et conforme à ce dernier. Documentation ici.