REMORA : Scripts de Régularisation et Modernisation Automatique

Le balisage TEI Renaissance effectué dans le cadre des BVH comporte le maintien de deux niveaux de transcription pour le corpus textuel Epistemon et d’un troisième niveau mis en place pour le projet ReNom :

  • Quasi-diplomatique (reproduisant, dans la limite des possibilités typographiques, la version originale du texte, non dissimilée et non détildée), ou « fac-similaire »
  • Régularisée, dite patrimoniale savoir dissimilée et détildée)
  • Modernisée, orthographe en français moderne pour un lectorat plus large et non spécialiste du français de la Renaissance

L’existence d’une transcription patrimoniale ou régularisée se justifie pour des raisons de traitement informatique mais aussi de compréhension pour des lecteurs modernes tandis que le niveau quasi-diplomatique permet de conserver un niveau de transcription le plus proche possible de la source originale.

Dissimilation et détildage

Rappelons que la dissimilation s’intéresse à la distinction des lettres ramistes : i/j et u/v (qui sont peu ou pas distinguées dans les imprimés de la Renaissance), et que le détildage s’intéresse au développement des brévigraphes (ou marques d’abréviation, ici les lettres tildées).

Plus de détails sont disponibles sur la page décrivant les normes éditoriales employées pour le corpus Epistemon.1

Pour articuler ces différents niveaux de transcription, nous employons le balisage TEI prévu à cet effet : les éléments choice, orig et reg.

Exemple tiré du manuel TEI Renaissance (chapitre « Balisages ») :

qu'il <choice>
        <orig>cōposera</orig>
        <reg>composera</reg>
     </choice>
& fera par cy apres.

Effectuer ce travail manuellement est possible, mais long : un travail sur l’automatisation de cette tâche est en cours depuis plusieurs années. L’une des premières tentatives a été de mettre en place l’outil Dissimilog avec Marie-Hélène Lay (FORELL, Poitiers) puis, un module de dissimilation/détildage automatique dans le cadre de l’outil Edit-TEI, développé cette fois en collaboration avec la société Digiscrib. Une poursuite de ce travail a été possible dans le cadre de l’obtention d’un Google Research Award en 2011. Le module de dissimilation/détildage a été renommé en Franscriptor, redéveloppé de façon autonome, et le code source mis à disposition sur Google Code : https://code.google.com/p/franscriptor/source/checkout. Franscriptor permet de transformer un texte d’un état quasi-diplomatique à un état patrimonial, mais n’offre pas la possibilité d’ajouter le balisage TEI correspondant avec l’élément choice pour articuler les états original et régularisé.

Certaines opérations de balisage automatique élémentaires de la structure physique (sauts de page, retours à la ligne) peuvent être effectuées à partir d’une transcription créée dans un éditeur de traitement de texte (nous invitons à ce sujet à prendre connaissance de la chaîne éditoriale mise en place par la MRSH de Caen). Il est donc préférable de ne pas procéder au balisage des variantes (« choice ») en début de procédure, mais à un stade ultérieur, lorsque l’essentiel du balisage de la structure formelle a déjà été réalisé.

Le langage XSLT a été retenu pour développer en interne un script. Le choix de ce langage se justifie, non seulement pour des raisons de compétence interne et de maintenance, mais aussi et surtout, parce qu’il offre la capacité à répondre aux besoins de manipulation d’un fichier contenant déjà un encodage, et aussi le support des expressions régulières nécessaires à ces opérations.

Voici les étapes :

1°) Tokénisation du fichier XML-TEI (marquer les unités « mot »), en laissant de côté les éléments de mise en forme et les termes en langue étrangère.

2°) Passage des règles de détildage (une seule règle appliquée par mot, lors de ce passage) et balisage avec les éléments choice/orig/reg

Exemple d’une règle de détildage où āb est développé amb :

<xsl:when test="matches(.,'^(\w*)āb(\w*)$')">
 <choice>
  <orig><xsl:value-of select="."/></orig>
  <reg><xsl:value-of select="substring-before(.,'āb')"/>amb<xsl:value-of select="substring-after(.,'āb')"/></reg>
 </choice>
</xsl:when>

3°) Passage des règles de dissimilation (une seule règle appliquée par mot, lors de ce passage) et balisage avec les éléments choice/orig/reg

Exemple d’une règle de dissimilation où aue au milieu d’un mot (et s’il n’est pas précédé de e) devient ave :

<xsl:when test="matches(.,'^(\w*[^e])aue(\w*)$', 'i')">
   <choice>
     <orig><xsl:value-of select="."/></orig>
     <xsl:if test="matches(.,'^(\w*[^e])aue(\w*)$')">
       <reg>
                <xsl:value-of select="substring-before(.,'aue')"/>ave<xsl:value-of select="substring-after(.,'aue')"/>
       </reg>
    </xsl:if>
    <xsl:if test="matches(.,'^(\w*[^E])AUE(\w*)$')">
       <reg>
                <xsl:value-of select="substring-before(.,'AUE')"/>AVE<xsl:value-of select="substring-after(.,'AUE')"/>
       </reg>
    </xsl:if>
  </choice>
</xsl:when>

4°) Nouveau passage des règles de détildage pour les mots ayant déjà été traités une première fois : une règle appliquée (dans ce cas, seul le texte présent dans la balise reg ajoutée précédemment est modifié)

5°) Nouveau passage des règles de dissimilation pour les mots ayant déjà été traités une première fois : une règle appliquée (dans ce cas, seul le texte présent dans la balise reg ajoutée précédemment est modifié)

Pour des raisons de temps de traitement, lorsque plus de 3 règles de dissimilation ou 3 règles de détildage sont nécessaires, une exception est créée pour modifier le terme sans expression régulière (exemple : poure, paoure et poureté donnent povre, paovre et povreté, mais poureuse reste poureuse et ne devient pas povreuse).

Exemple d’une exception concernant le mot CHEVREVIL :

   <xsl:if test="matches(.,'^CHEVREVIL(\w*)$')">
    <reg>
     <xsl:value-of select="substring-before(.,'CHEVREVIL')"/>CHEVREUIL<xsl:value-of select="substring-after(.,'CHEVREVIL')"/>
    </reg>
   </xsl:if>

Pour les mêmes raisons de temps de traitement, une exception est créée lorsque trop de règles sont requises (exemple : passer de cōmēcemēt à commencement nécessiterait 3 règles différentes, sans règle particulière).

Exemple d’une exception concernant le mot cōmāderēt :

<xsl:when test="matches(.,'^(\w*)cōmāderēt$')">
 <choice>
  <orig><xsl:value-of select="."/></orig>
  <reg><xsl:value-of select="substring-before(.,'cōmāderēt')"/>commanderent</reg>
 </choice>
</xsl:when>

Bien entendu, des homographes (exemple : esleue peut aussi bien signifier élève qu’élue ou élevé), mais aussi des choix éditoriaux de conservation des césures empêchent que le traitement se passe d’une vérification manuelle. Et les spécificités relatives à un auteur rendent nécessaire un recettage (c’est-à-dire un relevé systématique et un contrôle de toutes les régularisations posant problème) des termes qui ne sont pas bien traités afin de continuer à améliorer autant que possible les règles d’un tel script.

NB : La modernisation de l’accentuation à proprement parler est prise en charge par le script de modernisation, dont il est fait mention plus bas dans cet article.

Voir le script XSLT de régularisation sur le Sourceforge des BVH

 

Modernisation

Dans le cadre du projet ReNom, la prise en considération du lectorat moderne est devenue plus importante et il nous est apparu utile d’effectuer des tests sur une modernisation semi-automatique du français de la Renaissance.

Le même modèle de script que précédemment a été employé afin de tenter de répondre à ce besoin. Les résultats sont bien moins satisfaisants et la vérification autrement plus nécessaire que pour la dissimilation et le détildage. Non pas seulement du fait de la variation graphique propre à la Renaissance, mais surtout du fait du caractère académique de l’évolution de la langue française (on pensera aux différentes réformes de l’orthographe, dont celle de 1990, en particulier pour l’accentuation des mots).

Le premier résultat d’une telle modernisation fait l’objet d’une publication sur le site ReNom. Il s’agit du poème Le Voyage de Tours de Pierre de Ronsard.

Il n’est pas exclu qu’une version moderne des textes transcrits, actuellement utilisée uniquement pour le site ReNom, soit proposée dans la version Epistemon des publications BVH, en parallèle aux versions originales et régularisées, avec un balisage <reg type= »modernisation »>. Cette version pourrait en outre être associée à une utilisation de l’outil d’étiquetage morphosyntaxique Analog (lire la présentation au JADT 2010), ainsi qu’à l’outil Varialog.

Voir le script XSLT de modernisation sur le Sourceforge des BVH

 

Les scripts XSL développés par l’équipe des BVH sont mis à disposition de la communauté sous les termes de la licence Creative Commons CC BY-NC-SA 3.0

Nous invitions les utilisateurs à nous faire des retours sur leur réutilisation et éventuelles améliorations dans le cadre de leurs propres travaux.

Contact : bvh@univ-tours.fr

Notes :
1. Nous réfléchissons actuellement à une possible refonte de ces différents niveaux de transcription. Voir notamment les pistes avancées par Jacques André et Rémi Jimenes, « Transcription et codage des imprimés de la Renaissance. Réflexions pour un inventaire des caractères anciens », dans Gestion informatisée des écritures anciennes, dossier spécial de la revue Document numérique (2013, n° 3), p. 113-140. Voir GIEcA (Retour au texte)

 


Une réflexion au sujet de « REMORA : Scripts de Régularisation et Modernisation Automatique »

  1. Ping : Corpus BVH Fac-similés & Epistemon : Montaigne, Rabelais, Aneau | Bilan d’activité 2016 | Bibliothèques Humanistes

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *