Hectoralos/GSOC 2020 rapport final

From Apertium
Jump to navigation Jump to search

Introduction

Ce document décrit le travail réalisé par Hèctor Alòs dans le cadre du Google Summer of Code 2020. Le projet a été supervisé par Xavi Ivars et Gianfranco Fronteddu

Commits

On peut voir tous les commits du projet sur cette page.

Buts et plan de travail

Les buts du projet et le plan de travail sont décrits dans la proposition que j'ai fait début février. Il s'agissait de construire un traducteur bidirectionnel français-arpitan. L'arpitan n'était pas encore introduit dans Apertium, donc j'ai dû créer le référentiel [apertium-frp]. Entre les différentes normes orthographiques utilisées pour l'arpitan, le projet a choisi la norme ORB, qui est supra-dialectale. Un grand avantage de cette norme est qu'on a déjà fait un très grand travail de choix entre les très nombreuses formes des mots et des morphèmes pour tout le territoire où la langue est parlée, tandis que les autres orthographes n'ont pour objet qu'un dialecte particulier. Il faut aussi noter que la plupart de la [Vouiquipèdia arpitane] utilise cette orthographe et qu'il existe un site extrêmement utile] avec des dictionnaires en ligne.

Développement du projet

Le projet a compté des le début avec le support incommensurable de Dominique Stich, créateur de l’ORB, et Alain Favre, co-auteur avec Stich d’un dictionnaire français-savoyard et éditeur du dictionnaire français-francoprovençal de Stich. Les deux ont permis l’utilisation de ce dictionnaire. Stich en a donné une version électronique actualisée, qui est la base des dictionnaires apertium-frp et apertium-fra-frp. Stich et Favre le long de tout le projet ont aidé à les compléter avec plusieurs milliers de mots chacun. Le résultat est que le dico arpitan d'Apertium a plus de 6 500 entrées qui ne sont pas dans le dictionnaire de Stich. Le contact avec lui au sujet de questions lexiques et grammaticales a été permanent. Les nombreuses remarques de Favre sur des traductions faites a l’aide de beta.apertium.org ont été extrêmement utiles. C’est pour cela que les résultats du projet sont nettement meilleurs que prévu en février. Je suis énormement reconnaissant à tous les deux pour leur dévouement. Évidemment, cela ne veut pas dire que le traducteur n’ai pas d’erreurs (ce serait impossible qu’il n’en ait pas), ni qu’on puisse leur imputer ces erreurs de quelque manière que ce soit.

Ci-dessous j'explique plutôt les résultats du système, avec son architecture et ses différents éléments. Pour voire une chronologie du développement, on peut consulter le journal du projet.

Le référentiel apertium-frp

Le dictionnaire arpitan

J’ai investi beaucoup de temps sur le dictionnaire arpitan. Malgré la standardisation de l’ORB les textes écrits avec cette norme ont encore une grande variété. La norme différencie entre « graphie large » et « graphie serrée ». La première est l’essai de trouver une espèce de juste milieu entre les très nombreuses formes locales, mais au prix de l'utiliser une orthographe plus étymologique et plus éloignée des réalisations phonétiques concrètes de chaque lieu. La deuxième permet de se rapprocher aux formes locales, au prix de la multiplication des mots et des formes fléchies. J’ai concentré les efforts dans la production de textes en graphie large, ce qui implique que la traduction de textes arpitans au français est nettement pire.

Mais il y a encore de nombreux détails qui restent sujet de discussion dans l’ORB, en général, et la « graphie large » en particulier. L’effacement, voire la disparition, des terminaisons dans la plupart des variétés arpitanes complique les choses. Quant au lexique et la morphologie, les questions où j’ai trouvé de nombreuses contradictions dans les textes sont :

  • La terminaison -ie ou -ia (et parfois -e ou -a dans les noms féminins). D’accord avec Stich, le traducteur choisit la terminaison -ie, avec quelques exceptions.
  • La terminaison -âl ou -al, voire -èl. Je suis la norme de Stich, qui restreint -âl à des formes anciennes et utilise èl pour les néologismes.
  • Dans les gentilés qui terminent en -ois en français, en suivant Stich, j’utilise presque toujours -ouès, mais parfois, à la demande de Favre, -ês est choisi.
  • La terminaison -ologo est préférée aux dépens d’-ologue et -ologisto.
  • Il y a de très nombreuses inconsistances dans les toponymes de la Vouiquipèdia, avec, par exemple, quatre formes différentes pour New York, des terminaisons -ia et -ie, -landa et -lande, etc. Stich a bien voulu fournir une liste de tous les états avec ses gentilés, ainsi que de nombreux autres toponymes. Quand même, la Vouiquipèdia est restée une source majeure. Il faudrait encore travailler davantage sur certains toponymes parce que le choix d’a ou â, o ou ô en fin de mot ne semble pas consistant.
  • Les pronoms démonstratifs, qui sont remarquablement différents selon la région (comme dans d'autres langues romanes) sont matière de discussion. J'ai choisi les formes recommandées par Stich.
  • On rencontre de nombreuses conjugaisons possibles des verbes. On trouve le même verbe conjugué comme inchoatif ou non inchoatif, il peut subir une mutation vocalique (a > â, o > ô, e > è, etc.) ou non, etc. J'ai choisi les formes recommandées par Stich.
  • Il y a de nombreuses hésitations dans l'utilisation d' â ou a, d' è ou e, voire é et même ê, d' e ou i, de cll ou cl, fll ou fl, etc. Cela cause de nombreux problèmes pour reconnaître les mots dans les traductions de l'arpitan.
  • Il y a des hésitations dans les participes des verbes du premier groupe si la forme du féminin doit se différencier de celle du masculin ou non. J'ai choisi de faire la distinction pour les verbes terminés en ar (je génère -âye(s)) et de ne pas le faire pour ceux terminés en (i)ér (je génère -ê(s)).

Puisque le but principal du traducteur du français à l’arpitan est de traduire des articles pour la Vouiquipèdia, nous avons travaillé pas mal sur la toponymie, l’onomastique et la terminologie scientifique, dans des domaines comme les mathématiques, la physique, la biochimie, la zoologie et la botanique. Évidemment, le temps est très limité, donc il reste encore beaucoup de travail. Nous avons aussi travaillé sur la terminologie sociopolitique en testant le traducteur sur des nouvelles d’actualité. Lo Trèsor Arpitan a été très souvent consulté, mais il faudrait à l’avenir d’en extraire tout le vocabulaire (et, éventuellement, de lui en fournir).

En ce qui concerne la flexion des mots, les verbes (comme dans toutes les langues romanes) ont été particulièrement difficiles. J’ai dû consulter Stich maintes fois à ce sujet, bien que de nombreuses informations sur la conjugaison des verbes sont déjà dans son dictionnaire. Le résultat peut être vu dans un très simple site web pour les verbes arpitans que j’ai créé surtout pour m'orienter moi-même.

À cause des nombreux mots et formes fléchies non normatives ou, du moins, discutables qu’on trouve dans les textes arpitans, j’ai dû incorporer près de 750 mots qui sont marqués non-standards dans le dictionnaire (en utilisant c="use_sub", sur la recommandation de Fran Tyers). Une des causes de cette balise est d’éviter qu’ils entrent dans le correcteur orthographique qui devrait être généré à la suite de ce projet.

Il faudrait encore dire que le dictionnaire n’utilise pas, en principe, de point intérieur (ch·, , ) puisque les utilisateurs de l’ORB ont décidé de ne plus l’utiliser. Cependant, on continue à le trouver sur la Vouiquipèdia et d’autres textes, c’est pourquoi j’ai dû l’ajouter pour nombre de mots.

Le choix a été fait de générer une seule forme d'arpitan large, pour toutes les régions. Par exemple, les démonstratifs du type ce- sont choisis et non ceux du type (i)que ; les jours de la semaine avec di- au lieu de -di ; la terminaison -ens pour la première personne du pluriel au lieu d' -ons ; la conjugaison de verbe étre avec l'auxiliaire avêr au lieu d'utiliser le verbe étre lui-même, etc. Un choix unique dans tous les cas est la solution la plus simple et, avec les sources dont je dispose, je n'ai guère d'information sur la région où un certain mot, flexion ou tournure sont utilisés. Cependant il est très possible que l'arpitan produit par le traducteur soit ressenti comme trop « large ». Les utilisateurs, s'ils veulent, devront « localiser » les textes produits, en les adaptant à leur variété.

Les règles d’élision et contraction

Les règles d’élision et contraction sont pratiquement celles du français. Le traducteur arpitan-français accepte bien l’élision des pronoms personnels sujet de la deuxième et troisième personnes du singulier, de l’article indéfini féminin, des adjectifs possessifs de la première et deuxième personne du pluriel et d’autres, mais ne fait pas ces élisions dans la traduction de français à l’arpitan.

La désambiguïsation morphologique (traitement de l'homonymie)

Le traducteur utilise le tagueur français (fra.prob, renommé frp.prob). J’ai réécrit une bonne partie des règles du désambiguïsateur CG du français en utilisant l’opérateur d’unification && (qui n’est pas utilisé pour le français). Cela rend ces règles plus compactes, lisibles et maintenables. Cette solution était en principe provisoire. J’avais prévu d’étiqueter un corpus pour entraîner un tagueur statistique, mais la solution provisoire c’est avérée satisfaisante et je n’ai pas investi du temps pour cela. Peut-être quand par la suite on travaille plus intensivement dans la traduction de textes arpitans trouvera-t-on que cet étiquetage vaut la peine.

Le référentiel apertium-fra

Les différentes parties du référentiel français d'Apertium étaient tout à fait fonctionnelles déjà. J'ai donc dû y investir très peu de temps. J'ai ajouté des mots au dico et plus de règles désambiguïsation morphologique. Deux nouvelles catégories ont été ajoutées au dico et à ces règles :

  • Les préfixes (pref), pour traiter les préfixes écrits avec un trait d'union
  • Les adverbes post-fixés (postadv), pour traiter les particules -ci et -là

Puisqu'il s'agit d'ajouts ils n'interfèrent pas avec les autres paires de langues qui les analysent d'autres façons.

Le référentiel apertium-fra-frp

Le référentiel bilingue consiste en un dictionnaire bilingue, des règles de sélection lexique, des règles de transfert et, pour le traducteur du français à l’arpitan, des règles de synthèse et décomposition de locutions.

L’architecture est assez différente pour les deux côtés de la traduction. Du côté français-arpitan on a :

texte en français

> (1) analyseur morphologique
> (2) tagueur d’Apertium
> (3) tagueur CG
> (4) synthèse de locutions françaises
> (5) sélection lexicale
> (6-8) transfert en 3 étapes
> (9) décomposition de locutions arpitanes
> (10) générateur arpitan
> (11) élisions et contractions

> texte en arpitan

Par contre du côté arpitan-français on a :

texte en arpitan

> (1) analyseur morphologique
> (2) tagueur d’Apertium
> (3) tagueur CG
> (4) sélection lexicale
> (5-9) transfert en 5 étapes
> (10) générateur français
> (11) élisions et contractions

> texte en français

(Je n'affiche ici que les modules dans lesquels il y a des données dans les trois référentiels apertium-frp, apertium-fra et appertium-fra-frp. Il y a quelques étapes automatiques en plus dans le pipeline d'Apertium. Pour plus de détail, voire : Apertium system architecture.)

Le dictionnaire bilingue

Le dictionnaire bilingue a comme base le dictionnaire français-arpitan de Dominique Stich. L'auteur a bien voulu m'indiquer le choix préférable en cas de synonymie de traductions à l'arpitan, mais cette information m'a manqué dans le sens inverse, c'est pourquoi pas tous les mots arpitans présents de le dico de Stich ont une traduction au français dans le nôtre.

En général, les préférences entre synonymes sont faites dans le dictionnaire même (à l'aide de r="LR", r="RL" et i="yes"), tandis que le choix entre traductions avec des sens différents est fait moyennant des règles de sélection lexicale. Il y a près de 1300 traductions inhibées dans les deux sens (i="yes") qui, pourtant, restent dans le dico pour conserver l'équivalence et faciliter son possible activation par la suite. Ces traductions ne sont pas comptées dans les chiffres statistiques du dico (voire ci-dessous).

La sélection lexicale

La sélection lexicale est beaucoup plus développé du côté français-arpitan que de l'inverse, sur lequel j'ai beaucoup moins travaillé : apertium-fra-frp.fra-frp.metalrx a 538 règles et 105 appels à macros (total : 4959 lignes de code), tandis que apertium-fra-frp.frp-fra.metalrx a 209 règles et 80 appels à macros (total : 2290 lignes de code).

Bien que parfois j’aie pu réutiliser des règles de sélection lexicales des traducteurs français-catalan et français-occitan, il est à remarquer que la sélection lexicale est un peu particulière dans le cas de l’arpitan. En effet, pas mal d’adjectifs du français se traduisent par des tournures du type préposition + nom (par exemple résineux, qui devient, a bejon, de rèsena ou a rèsena) ou pronom relatif + phrase subordonnée (par exemple payant, qui devient que fôt payér ou que paye(nt)). Cette différence dans la construction cause des problèmes puisqu’il n’est pas toujours évident s’il faut traduire, par exemple, satellitaire par d’un satèlito, du satèlito, de satèlito o de satèlitos. En plus il faut faire des changements quand l’adjectif français précède le nom ou est précédé par un adverbe (ce qui n’est pas toujours fait dans cette première version du traducteur). En plus, il y a pas mal de cas où la forme habituelle ne marche pas dans des contextes techniques (une affaire complexe est complicâ(ye), mais un nombre complexe est complèxo ; une personne sceptique est mèfianta, mais un philosophe est scèptico) ; dans un contexte non marqué ulcère et urine sont traduits respectivement par chancro et pisse, mais si on repère un langage plus soutenu ulcèro et urena sont choisis. Il faut donc plus de sélections lexicales que l’on pourrait prévoir pour des langues très proches.

La synthèse et la décomposition de locutions

Nombre de verbes sont traduits par des locutions ou de locutions par des verbes simples. Le problème est que ces locutions souvent ont des adverbes à l’intérieur, par exemple pour la négation. De même, dans les formes verbales composées il y a souvent des adverbes entre l’auxiliaire et le participe. Cela cause des problèmes tant pour reconnaître des locutions comme pour les produire d’une façon phraséologique. Par exemple, on a dans le dico :

<e><p><l>avoir<g><b/>besoin</g><s n="vblex"/></l><r>avêr<g><b/>fôta</g><s n="vblex"/></r></p></e>

Cela permet sans problème de traduire j’ai besoin par j’é fôta et vice-versa. Le problème est que si on a j’ai toujours besoin, je n’ai pas besoin ou je n’ai pas toujours besoin ou, tout pareillement, j'é tojorn fôta, j'é pas fôta, j'é pas tojorn fôta la locution n’est pas reconnue et la traduction se fait mot à mot. C’est ce qui arrive, manque de temps, du côté arpitan-français du traducteur. Du côté français arpitan on a un double procès qui utilise le module apertium separable. D’un côté il y a une synthèse qui convertit la phrase d’entrée d' avoir + adverbe(s) + besoin à avoir_besoin + adverbe(s) et puis un procès de décomposition qui convertit la phrase de sortie d' avêr_fôta + adverbe(s) à avêr + adverbe(s) + fôta.

On a 45 locutions traitées en synthèse et 90 en décomposition. La grosse différence entre les deux montrerait une tendance plus grande de traduire des verbes par des locutions que de locutions par verbes simples dans la traduction du français à l’arpitan, mais ce n’est peut-être pas comme cela en réalité parce que je n’ai pas introduit dans le dico d’Apertium des dizaines de cas du deuxième type qui sont dans le dictionnaire de Stich.

Le transfert