Réflexions sur la traduction automatique modifier

Utilisations modifier

Il y a plusieurs cas d’application (qui ne s’excluent pas mutuellement) :

  • utilisation de la traduction automatique sur tout type de texte en vue de publication
  • utilisation de la traduction automatique dans le cadre de systèmes d’interprétation automatique de type Speech-to-Text → MT → Text-to-Speech
  • utilisation de la traduction automatique sur tout type de texte afin de comprendre grosso modo de quoi il est question ou d’effectuer une catégorisation automatique ou manuelle de textes[1]
  • utilisation de la traduction automatique dans un domaine spécifique (restriction de la terminologie, de la variété des textes sources)
  • utilisation de la traduction automatique dans une application spécifique (textes sources au format invariable)
  • utilisation de la traduction automatique comme pré-traduction dans le cadre de la post-édition

Types de moteurs modifier

Pour l’instant, les méthodes de traduction automatique (hors moteurs conçus pour une application spécialisée) sont au nombre de trois (en.Wikipédia en liste d’autres mais ce sont des approches fondées sur l’un des trois modèles ci-dessous) :

  • grammaticales (analytiques), comme SYSTRAN (en tout cas traditionnellement), Joshua
  • statistiques, comme Moses, Google Translate, Bing Translate
  • hybrides (Promt, SDL BeGlobal ?, SDL LanguageWeaver ? le nouveau SYSTRAN ?)

Exemples modifier

Il y en a plein, y compris en logiciel libre (cf. fosmt.org, Wikipedia, Comparison of MT applications).

Apparemment, des développeurs de MediaWiki sont en train de s’attaquer à la TA (rule-based) en reprenant le développement d’W:Apertium. Pour certaines paires de langues, ça pourrait être prometteur comme pré-traduction pour une post-révision (c’est ce que propose le nouvel outil de traduction d’articles de Wikipédia).

Méthodes grammaticales modifier

Avec une méthode grammaticale (RBMT), les concepteurs formalisent la grammaire de la langue, puis programment pour chaque langue de départ un module d’analyse (qui lira le texte source et le transformera en une représentation interne sous forme d’arbre grammatical dont les feuilles seraient des représentations du "sens" des constituants, par exemple, ou des balises et marques permettant de préserver le formatage, les images et autres éléments non textuels) et pour chaque langue cible, un module de génération (qui, à partir de l’arbre grammatical, produit des phrases en langue cible).

Méthodes statistiques modifier

  Ce que j’ai écrit dans ce paragraphe est peut-être complètement faux.

Avec une méthode statistique (SMT) (il y a plusieurs approches mais je ne les connais pas toutes), les concepteurs créent un module d’apprentissage et un module de production pour chaque paire de langue (ou bien avec représentation interne comme précédemment ?). Le module d’apprentissage crée d’immenses tables de n-grammes (autrement dit, des combinaisons préférentielles) bilingues à partir de mémoires de traduction (des corpus de textes traduits et alignés par des professionnels humains) et des n-grammes de niveau supérieur (dont les éléments sont eux-mêmes des n-grammes). Ça peut aussi être des réseaux de neurones (plus efficaces au niveau optimisation des ressources matérielles ?)

À vrai dire, je ne suis pas sûr du tout que ce soit vraiment comme ça que ces moteurs fonctionnent parce que je n’écris ça que par ouï-dire. Je n’ai jamais ouvert le ventre de Moses pour voir comment c’était fait dans la réalité.

Potentiel d’amélioration modifier

  • Le croisement entre méthodes statistiques et analytiques ? Je n’en sais rien.
  • Autrement, les moteurs statistiques pourraient intégrer une fonction d’auto-évaluation pour identifier les parties du texte où les erreurs sont probablement le plus nombreuses.
  • Les moteurs pourraient utiliser les images du texte pour lever des ambiguïtés.
  • Les moteurs de pré-traduction pourraient fournir aux logiciels de TAO des propositions multiples.

À l’Université de Genève (mais pas seulement), des chercheurs travaillent à la création d’un préprocesseur[2] (autrement dit, un outil de pré-édition automatique) pour pouvoir appliquer la traduction automatique sur des forums d’entraide. En effet, sur ces forums, la syntaxe et l’orthographe sont souvent relâchées. Le préprocesseur est chargé de corriger automatiquement une partie de ces libertés et de formater le texte de façon à éviter que la TA (statistique) tombe dans certains de ses travers.

Potentiel de détérioration modifier

Avec les méthodes grammaticales, plus on affine les modèles grammaticaux, mieux ça marche[3]. Par contre, c’est une erreur de croire qu’avec les méthodes statistiques, plus le corpus traduits est grand, meilleurs sont les résultats : souvent, c’est l’inverse, et ce pour plusieurs raisons :

  • on finit par intégrer dans les corpus des textes qui n’ont pas été traduits par des professionnels (et en particulier des textes traduits automatiquement par son propre moteur ou par la concurrence) : potentiel de détérioration très fort[4]
    • À ce sujet, mon expérience sur Linguee montre que ce phénomène ne touche pas que la TA : il y a 2 ans, les TM de Linguee intégraient essentiellement des sources de bonne qualité. Aujourd’hui, il est fréquent de trouver des résultats provenant de sources traduites automatiquement, mais aussi des résultats traduits par des êtres humains mais pas dans des conditions professionnelles. Par exemple, mon propre site a été utilisé par Linguee comme source alors que les pages en question sont adaptées (pas traduites) et dans des langues vers lesquelles je ne traduis pas professionnellement (ce sont mes langues de départ, pas d’arrivée). Autrement dit, la taille du corpus de Linguee a été multipliée, mais la qualité moyenne des résultats s’est dégradée.
  • si les mauvaises utilisations de la TA se généralisent : un même moteur peut donner des résultats honorables (utilisables par les réviseurs) s’il se concentre sur un domaine unique (et qu’on lui donne donc un corpus traduit restreint à ce domaine) et des résultats très médiocres lorsque le corupus est large.

Problèmes éthiques modifier

Les moteurs statistiques utilisent, sans leur demander leur avis, le travail de traducteurs professionnels afin de les remplacer (ce qui n’est pas encore d’actualité, mais on ne sait jamais). D’un point de vue juridique, ça peut poser problème (car même si les corpus sont censés être "digérés" (donc pas d’infraction au droit d’auteur), certaines expériences suggèrent qu’il est possible de reconnaître la provenance de certaines phrases traduites à partir des résultats de traductions (par exemple, un terme utilisé uniquement par telle ou telle entreprise).

Les traducteurs ne le savent souvent pas, mais ils ont aussi des droits d’auteur (bien que pour des raisons pratiques évidentes, hors monde de l’édition, ils y renoncent tacitement lorsqu’ils remettent leur traduction à leur client : ce serait suicidaire pour un traducteur d’attaquer son client parce que ce dernier ne lui aurait pas attribué la paternité du texte traduit au même titre que l’auteur du texte original).

Je pense que les ambitions des utilisateurs de TA ne se valent pas toutes : par exemple, Google Traduction permet de se faire une vague idée de la teneur d’un texte, pourvu qu’il soit suffisamment long (la TA se vautre toujours sur les textes très courts car ces derniers nécessitent d’analyser le contexte). Par contre, utiliser Google Traduction pour traduire un texte à publier ou même pour essayer de comprendre le contenu d’un message peut être extrêmement dangereux (je ne pense pas seulement aux traductions ridicules, mais aux faux-sens et aux contresens qui, si l’utilisateur a confiance dans la traduction, peuvent créer des situations très ennuyeuses).


Intelligence modifier

La sémantique est étroitement liée à l’intelligence, j’en suis convaincu. Je pense qu’un système de traduction automatique ne peut produire de bonne traduction que si ce système est capable de raisonnement : les problèmes à résoudre en traduction ne se ressemblent pas. Il y en a qui se résolvent par pattern-matching, d’autres par analyse sémantique, d’autres pour lesquels on doit opter pour un pis-aller. Parfois, il est nécessaire de laisser une ambiguïté, parfois de la lever.

En traduction (humaine), un même énoncé ne se traduit pas de la même manière selon

  • le type de traduction demandée (assermentée par exemple)
  • les lecteurs à qui sont destinés la traduction (des patients, des étudiants en langues, des enfants, des touristes, etc.)

Dans certains cas, on privilégie la facilité de lecture (on traduira par exemple aircraft par avion plutôt qu’aéronef) et dans d’autres, la fidélité). Parfois, on garde volontairement une ambiguïté ou une erreur dans le texte cible (en particulier dans une traduction juridique assermentée, car l’ambiguïté d’une déclaration, d’un contrat ou autre peut représenter un argument pour l’une ou l’autre des parties). Parfois, au contraire, on traduit l’intention de l’auteur et on corrige les maladresses et les erreurs (par exemple, si on traduit un manuel ou une publicité pour le compte de son auteur, laisser une erreur peut faire tâche).

De même, quand des textes sont très liés à un contexte culturel, les traducteurs peuvent parfois transposer le message dans le contexte culturel cible (notamment dans les sous-titres de films : par exemple, dans les visiteurs, Steph de Monac (dans la réplique « Je chante pas plus mal que Steph de Monac » devient Madonna dans les sous-titres en anglais). Parfois, ils expliquent et commentent le contexte (en particulier en littérature). Parfois, ils traduisent sans expliquer (par exemple, le Conseil fédéral) ou empruntent (le Bundesrat).

Certains de ces choix pourraient (théoriquement) être effectués automatiquement par une machine bien informée (disposant d’une base de donnée culturelle importante) et en ajoutant des paramètres au moteur de TA, mais je suis persuadé que d’autres de ces choix ne peuvent pas être faits sans intelligence.

Machine intelligente modifier

Et si la machine devenait intelligente ? Là, je suis sûr qu’elle deviendrait vite meilleure que les traducteurs humains, mais pourrait-on vraiment parler de traduction automatique ? Automatique et intelligent me semblent antinomiques : la machine ne serait plus un simple automate, même si sa « physiologie » serait régie (comme la nôtre) par des déterminismes « automatiques ».

De toute manière, si la machine se mettait à penser, les traducteurs humains deviendraient, certes, superflus, mais ce serait le cas de tous les métiers exigeant uniquement une combinaison d’intelligence et d’automatismes. Il resterait peut-être des métiers où la biologie humaine est nécessaire (par exemple, des métiers du spectacle où le public humain est impressionné par la maîtrise d’un risque fou : dans un monde avec des machines intelligentes, un robot avaleur d’épées n’impressionnerait personne parce que l’œsophage du robot n’a pas la fragilité de celui de l’avaleur d’épées humain). Enfin, à partir de là, tout n’est que pure spéculation.

Exemples de pièges à TA modifier

Dans des textes de langage courant modifier

  • Partout où il y a besoin de créativité : pour certaines situations nécessitant de la créativité (comme la localisation de noms propres), un algorithme spécialisé pourrait être développé, mais sans algorithme spécifique (et sans "vraie" IA), la machine se plantera. En effet, les algorithmes actuels en SMT fonctionnent à partir de traductions déjà réalisées. Ils sont capables de recombiner des éléments, mais pas d’inventer une nouvelle manière de répondre à tel ou tel problème de traduction. Si ce problème n’a jamais été rencontré par le passé (ou s’il a été rencontré mais n’a jamais été bien traduit ou si la machine n’y a pas eu accès), la machine échouera.
  • Là où il y a besoin de changer de point de vue (sauf si ce changement de point de vue particulier a déjà été analysé par le passé – on en revient à la créativité)
  • Partout où le texte a été très mal rédigé et où le traducteur doit traduire l’intention et non la lettre. Là encore, des algorithmes spécialisés dans certains types de situations (cf. pré-édition pour forums en ligne) peuvent améliorer les choses jusqu’à un certain point. Ici, même les traducteurs humains arrivent parfois à leurs limites. Il arrive par exemple que des questions sur les mots du Wiktionnaire soient extrêmement confuses. Malgré ça, les contributeurs réussissent parfois à les comprendre jusqu’à un certain point. Si ces questions devaient être traduites (croyez-moi, ce genre de commandes existe), la meilleure TA (sauf à imaginer une vraie IA, encore une fois) donnerait un résultat totalement inexploitable dans la plupart des cas. Les traducteurs humains réussiraient dans une bonne partie des cas à en restituer la substantifique moëlle.

Dans des textes techniques modifier

  • Tout ce qui est du genre abréviations (ex : Ü-Faktor). Les abréviations ne sont pas standardisées et sont souvent inventées par le fabricant. Pourtant, il est possible de les traduire – même en l’absence totale du développé dans le texte – si l’on fait preuve d’assez d’intelligence (et si suffisamment de contexte est fourni). Ici, un logiciel de TA n’ira pas loin.
  • Plus généralement, tout ce qui demande une visualisation pour lever une ambiguïté (par exemple, Zähler dans le manuel d’une machine qui peut comporter des compteurs, mais qui présente également des équations : compteur ou dénominateur)? Pas toujours évident.
  • Tout ce qui exige une traduction aussi courte que l’original. Ici, je pense qu’un jour, même sans intelligence, les logiciels pourraient battre les humains – en tout cas pour certains types de segments –, mais personne (à ma connaissance) n’a encore intégré d’algorithme de concision dans des logiciels de TA.

Voir aussi modifier


<references>