Programmes du corpus BAF

Format COAL

COAL est un format simple qui permet de représenter des alignements ou des mappings de bi-texte. Par alignement, nous entendons une segmentation parallèle d'une paire de textes, telle que le Nième segment du premier texte et le Nième segment du second sont des traductions réciproques. Par opposition, un mapping est un ensemble de paires de positions qui vise a marquer des correspondances ponctuelles entre deux textes.

Un fichier COAL contient une liste de paires d'entiers non-négatifs, qui peuvent être vus comme des coordonnées dans le plan. Chaque ligne du fichier décrit un point, et consiste en une paire d'entiers décimaux (écrits en format "texte"), séparés par un TAB. Optionellement, un TAB additionnel peut suivre le deuxième entier, et tout ce qui suit, jusqu'à la fin de la ligne, est interprété comme un commentaire. Les lignes doivent apparaître en ordre croissant du premier, puis du second entier. On suppose généralement que tous les points sont distincts, mais rien n'empêche que deux points aient le même X ou Y, en autant qu'ils apparaissent dans le bon ordre.

Chaque coordonnée est interprétée soit comme la position d'un caractère dans un fichier (le premier caractère étant le caractère 0), soit comme une position "inter-caractères" (dans le cas d'un alignement). Le fichier COAL ne contient aucune référence explicite quant aux fichiers qu'il met en correspondance. La convention habituelle est de donner aux deux fichiers textes ainsi qu'au fichier COAL le même nom, avec une extension différente.

Il n'est pas nécessaire que le contenu d'un fichier COAL "couvre" la totalité des textes, mais dans le cas d'un alignement, et en l'absence de points limites, la plupart des programmes supposeront explicitement l'existence de points (0,0) et (N,M) pour une paire de fichiers de tailles N et M respectivement.

Les Programmes

Nous avons mis au point un certain nombre de programmes permettant de manipuler des alignements et mappings encodés au moyen du format COAL.

Nous fournissons ces programmes "tels quels", sans aucune garantie de notre part quant à leur utilité, fonctionnalité ou fiabilité. L'utilisateur s'en sert donc à ses risques. Les auteurs, de même que leur employeur, déclinent toute responsabilité quant aux pertes ou dommages qui pourraient résulter de l'utilisation de ces programmes.

 

On peut télécharger la version courante de l'ensemble des programmes ici-même, en format UNIX (tar + gzip): coal-0.1.tar.gz.

Programmes Perl

coal2html
Convertit une paire de fichiers texte et un fichier COAL décrivant un alignement, en un document HTML, pour des fins de visionnement. Le document produit peut être visualisé avec n'importe quel fureteur capable de traiter les tables et les couleurs (Netscape 2.0 et +, Internet Explorer, etc.).
coal2lfl
Convertit une paire de fichiers texte et un fichier COAL décrivant un alignement, en une paire de fichiers alignés "ligne pour ligne": dans ce format, la Nième ligne du premier fichier correspond systématiquement à la Nième ligne du second fichier.
lfl2coal
Étant donnée une paires de fichiers alignés "ligne pour ligne" (voir ci-dessus), ce programme produit un fichier COAL décrivant l'alignement correspondant en terme de positions de caractères.
coal2tei
Étant donnée une paire de fichiers texte et un fichier COAL décrivant un alignement, ce programme produit l'ébauche d'une version TEI (encodage SGML respectant la DTD TEI-2 du Text Encoding Initiative). Note: on suppose que les fichiers texte fournis en entrée au programme ne comportent pas de codes SGML. Le programme insère les codes "minimaux" (pas d'entête, etc.), et produit le résultat sur deux ou trois fichiers, qui doivent être fusionnés d'une façon quelconque pour respecter le format TEI.
coaldiff
Ce programme compare deux fichiers COAL décrivant des alignements pour une même paire de fichiers texte.
coalstats
Ce programme mesure les différences entre des paires de fichiers COAL décrivant des alignements, et produit un bilan en termes de rappel et précision d'alignement.

Tous ces programmes sont écrits en Perl, version 5. Il est donc nécessaire de disposer d'un interpréteur Perl pour les utiliser. La première ligne de chaque programme désigne l'emplacement de cet interpréteur:

#!/usr/local/bin/perl

Il est donc possible qu'il soit nécessaire de modifier cette ligne.

La plupart des programmes utilisent également les fichiers utilities.pl et coal.pl, qui contiennent des définitions communes. Afin de permettre aux programmes de trouver ces fichiers, il est nécessaire d'effectuer l'une des trois choses suivantes:

  • copier les fichiers utilities.pl et coal.pl dans un endroit standard, par exemple /usr/local/lib/perl5;
  • modifier le contenu de la variable d'environnement PERL5LIB, de façon à ajouter le répertoire où résident les fichiers utilities.pl et coal.pl;
  • ajouter la ligne suivante au début de chaque programme Perl, juste avant les énoncés require:
    unshift @INC, "<répertoire>"

    <répertoire>ll est le nom du répertoire où résident les fichiers utilities.pl et coal.pl.

Tous ces programmes Perl comprennent l'option -help, et affichent alors leur mode d'emploi.

Programme Manual

Manual est un environnement de visualisation et de manipulation d'alignements de bi-texte. Le programme est écrit en Elisp (Emacs Lisp): c'est donc dire que le programme ne tourne qu'à l'intérieur de l'éditeur GNU Emacs. Manual lit et écrit des alignements en format COAL.

Pour utiliser manual, il suffit de charger le fichier manual.el dans Emacs, au moyen de la commande load-file. Alternativement, on peut installer manual.el à un endroit standard (par exemple, /usr/local/lib/emacs/site-lisp), et ajouter la ligne suivante à son fichier de configuration .emacs:

(autoload 'manual "manual" "Activate Manual (bitext manipulation) commands and menu" t)

Il suffit alors d'invoquer la commande manual dans Emacs pour faire apparaître un menu Manual dans la barre de menu de Emacs.

L'utilisation de manual est documentée à même Emacs.