Logo eBalzac

Médite : comparateur de versions

MEDITE est un logiciel d’alignement de textes issu d’une collaboration entre des spécialistes de génétique textuelle de l’ITEM (Institut des Textes et Manuscrits Modernes) et des spécialistes d’intelligence artificielle de l’équipe ACASA du LIP6 (Laboratoire d’informatique de Paris 6 – Université Pierre et Marie Curie).

L’objectif initial de MEDITE était d’aligner des transcriptions linéarisées d’avant-textes afin de mettre en évidence les différences et les invariances. Il s’est révélé utile dans de nombreuses autres applications, par exemple, pour établir l’appareil critique d’éditions savantes en comparant les différentes versions publiées d’une œuvre, pour l’étude des variations de textes collectifs, pour la comparaison des bi-textes afin d’améliorer les outils de traduction statistique, etc.

MEDITE est construit sur un algorithme original d’alignement par fragments qui recourt à une détection des homologies par la méthode des arbres de suffixes. Il met en évidence les suppressions, les insertions, les remplacements et les déplacements. La première étape de l’algorithme identifie les blocs homologues maximaux. Il s’agit ensuite de distinguer, parmi ces blocs, des pivots et des blocs dits déplacés. Le processus est itéré de façon récursive afin d’éviter les phénomènes de masquage. Enfin, les insertions, les suppressions et les remplacements se déduisent de l’alignement des blocs non répétés.

Pour visualiser les résultats des alignements, les deux textes sont présentés côte à côte sur une interface graphique qui met en évidence, au moyen de différentes couleurs, les blocs insérés, supprimés, remplacés et déplacés. Enfin, les blocs alignés sont reliés entre eux par un simple clic de souris.

Notre algorithme étant fondé sur des principes d’algorithmique des séquences, il est indépendant de la langue et peut donc traiter n’importe quel texte, sans ressources spécifiques. En outre, il peut repérer des réutilisations de parties de mots, ce qui s’avère très utile, en particulier pour les langues flexionnelles.