La pipeline utilisée pour le traitement des catalogues de notre corpus a été conçue par Juliette Janès pour le projet Artl@s, avec pour objectif le traitement semi-automatisé de catalogues d'exposition du XIXe au XXe siècle afin de permettre leur versement sur la base de données BasArt. A la suite du travail de Caroline Corbières, la chaîne de traitement a été repensée par Juliette Janès dans la perspective de la rendre la plus open source possible. Nous recommandons vivement la lecture de leurs travaux afin mieux saisir les enjeux scientifiques et techniques qui ont guidés leurs interventions respectives.
Juliette Janès a ainsi proposé un prototype de programme écrit en Python et pouvant être utilisé en ligne de commande directement dans le terminal d'un ordinateur. Le programme permet l'extraction des données textuelles des entrées de catalogue à partir des fichiers ALTO générés par FoNDUE pour chaque page des catalogues traités. Ces entrées sont extraites de manière structurée dans un fichier XML TEI, utilisé comme format pivot dans la chaîne de traitement car particulièrement adapté au traitement de documents semi-structurés tels que les catalogues. L'ensemble des fichiers ALTO (un fichier par page de catalogue) sont fournis en entrée du programme et celui-ci en extrait les données, permettant d'obtenir en sortie du programme un unique fichier TEI réunissant l'ensemble des entrées d'un catalogue. L'ODD (One Document Does it All) permettant la validation de l'encodage adopté pour les catalogues, notamment l'usage de la balise <entry> non conforme aux recommandations P5 de la TEI, a été élaboré par Caroline Corbières.
Exemple d'une entrée de catalogue :
Exemple de l'entrée de catalogue segmentée en ALTO fournie au programme :
A travers cet exemple on voit que l'entrée telle qu'elle est encodée dans le fichier ALTO est contenue dans une balise <TextBlock>, c'est ici le TAGREFS="BT299" qui correspond dans ce fichier à l'annotation SegmOnto CustomZone:entry, qui permettra au script Python de repérer le début et la fin de l'entrée. En revanche, les différentes lignes de texte contenues dans le fichier ALTO sont indifférenciées au sein d'un <TextBlock>.
C'est l'usage d'expressions régulières dans le programme Python qui permet d'identifier le nom de l'exposant, les informations biographiques le concernant, les différents items présentés par l'exposant ainsi que leur éventuelle description, et ainsi de répartir toutes ces données dans les balises TEI correspondantes. Malgré une majorité de traits communs, chaque catalogue peut présenter des variations dans la mise en page et les éléments typographiques utilisés pour structurer les différentes informations d'une entrée. Il faut donc prendre en compte ces variations et modifier les expressions régulières du programme en conséquence. Un certain nombre de cas de figure, les plus récurrents, ont été anticipés et intégrés au script Python dédié. Nous en avons ajouté quelques unes pour s'adapter à nos catalogues.
Une partie de notre corpus a été traitée grâce au prototype de programme élaboré par Juliette Janès. Cependant, bien que déjà très performant, ce prototype appelait à être amélioré. Il y avait notamment beaucoup de corrections à effectuer dans le fichier TEI obtenu en sortie. C'est Esteban Sánchez Oeconomo qui a ainsi pris en main cette tâche, afin de faciliter l'utilisation du programme (version mise à jour ici). Nous avons ainsi pu profiter des améliorations apportées au programme et traiter le reste de notre corpus de catalogues de manière encore plus efficace.
Dans le fichier TEI, les éventuelles erreurs dans le document original concernant les numéros d'œuvre ainsi que des lettres manquantes et en surplus ont été corrigées. De même, les ornements typographiques du type feuilles aldines (☙) et les césures de mot (¬) de la vérité de terrain n'ont pas été conservés dans la version TEI. L'objectif de l'extraction des informations textuelles de ces catalogues n'était pas philologique. L'interêt de notre étude ne portait pas sur la version du texte, nous avons donc souhaité faciliter le traitement des données tout en limitant au maximum la ganularité du fichier TEI.
Après avoir généré et corrigé le fichier TEI en sortie du programme, une feuille de transformation XSLT permet de transposer ces données structurées dans un fichier CSV, afin d'obtenir des données sous la forme d'un tableur dont les différentes colonnes sont adaptées au versement dans la base BasArt du projet Artl@s. Chaque ligne du fichier CSV correspond à une œuvre exposée, les informations concernant l'exposant des œuvres en question y sont donc répétées. Néanmoins le nombre de colonnes remplies dans le fichier CSV ainsi généré est assez limité, car lié aux différentes balises utilisées pour les entrées dans le fichier TEI. Ces fichiers CSV doivent donc à être corrigés, afin de répartir les informations de manière plus pertinente, mais aussi enrichis afin de compléter les informations déjà renseignées et procéder à une analyse plus approfondie.
La copie du programme utilisé pour réaliser notre travail est disponible ici.
L'ensemble des fichiers TEI et CSV ainsi obtenus à partir de notre corpus de catalogues sont disponibles et librement réutilisables (sous licence CC-BY) sur le dépôt GitHub dédié du projet PictoCatalogs.