André Guyon
(L'Actualité langagière, volume 7, numéro 3, 2010, page 30)

Pour cette première chronique de 2011, j’ai choisi de vulgariser la traduction automatique. Je ne m’attarderai pas à déboulonner les principaux mythes. Au bout du compte, j’en frapperai un seul en plein cœur : le remplacement des traducteurs par des machines.

Certes, les machines recyclent de mieux en mieux les traductions grâce aux mémoires de traduction et à la traduction automatique statistique. Oui, les prédateurs textuels en tout genre en profitent pour élargir des marges déjà honteuses. Oui, la confusion entre traducteur et logiciel de traduction grossit à la vitesse d’un cancer agressif.

Cependant, lorsqu’ils sont utilisés à la place des langagiers, les outils d’aide à la traduction font toujours plus de tort que de bien. J’y reviendrai en conclusion. Mais d’abord, pour vous aider à mieux comprendre, voici comment fonctionnent les différents systèmes de traduction automatique.

Les systèmes de traduction automatique statistique

Les systèmes de traduction automatique statistique (TAS) comportent trois principales composantes : le modèle de langue, le modèle de traduction et le décodeur. Examinons-les de plus près.

Le modèle de langue

Le modèle de langue est une série de suites de mots, extraites d’un nombre de textes aussi grand que possible. Actuellement, la puissance de calcul des ordinateurs permet d’obtenir des listes allant jusqu’à 8 mots, en plus de la liste des mots uniques. Les spécialistes appellent ces groupes ngrammes, comme dans unigramme, bigramme… jusqu’à octogramme.

À quoi sert-il?

Le modèle de langue permet de lever les ambigüités, c’est-à-dire de choisir le bon mot ou groupe de mots. Par exemple, en reconnaissance vocale, la phrase suivante présente deux ambigüités homophoniques pour un logiciel : « Je me dirige vers le mur. » Le logiciel, même s’il reconnaît parfaitement ma voix, devra décider s’il s’agit de « vert », « verre », « vair » ou « vers », puis s’il s’agit de « mur » ou de « mûre ».

Dans les listes du modèle de langue, il trouvera probablement que « vers le mur » est beaucoup plus fréquent que toutes les autres possibilités. À la limite, il trouvera certainement que « vers » est plus fréquent que ses homophones. Le modèle contient probablement aussi « le mur » mais pas « le mûre ».

Comment procède le logiciel pour créer ces listes?

Tout bêtement, le logiciel découpe à partir des espaces, ajoute les mots trouvés à une liste et compte leur fréquence. Le résultat : la table des mots uniques. Ensuite, il répète le processus pour les groupes de deux mots, ce qui donne la table des groupes de deux mots, et ainsi de suite jusqu’à un maximum de huit mots.

Le modèle de traduction

Aussi appelé « tables de traduction », le modèle de traduction est une série de tables de groupes de mots et de leurs équivalents. Par exemple, « What the Smurf is a Smurf? = Mais qu’est-ce qu’un Schtroumpf? ». Les tables sont créées à partir de corpus bilingues alignés.

À quoi sert-il?

Le modèle de traduction permet au moteur de traduction automatique de trouver les mots en langue source pour les remplacer en langue cible, en fonction de la fréquence répertoriée dans une série de textes. Le remplacement est aussi conditionné par d’autres paramètres.

Comment procède le logiciel pour créer ces tables?

Tout d’abord, il aligne les phrases ou il part de phrases déjà alignées (mises en correspondance, comme dans une mémoire de traduction). Ensuite, à partir des phrases alignées, il procède à un alignement de mots. Certains logiciels intègrent un aligneur, d’autres pas.

Le procédé statistique est tout simple. Il consiste à noter quels mots sont presque toujours présents en même temps quand on a une phrase source et une phrase cible. Par élimination, on arrive au bon mot ou au bon groupe de mots dans la quasi-totalité des cas. On trouve donc que « chat = cat », que « Canada = Canada », etc. On trouve aussi que certains mots se traduisent de plus d’une façon.

Ensuite, avec un algorithme à peine plus complexe, le logiciel fait la même chose pour les regroupements de 2, 3 jusqu’à 8 mots. Par exemple, même si « time = temps » et « flies = mouches », Google Traduction, un système de TAS, peut rendre « Time flies » par « Le temps passe vite ». Cependant, quand une expression est plus rare, le système peut produire une traduction à dormir debout.

Le décodeur

Le décodeur est la partie du logiciel qui prend le texte en langue source, fait des recherches pour trouver des segments, des plus longs aux plus courts, et applique le modèle de langue (langue cible). On l’appelle « décodeur » parce qu’en traduction automatique, les langues sont considérées comme des séries de codes qu’il faut décoder.

À quoi sert-il?

Le décodeur permet de produire une traduction automatique statistique plus ou moins grossière.

Comment fonctionne-t-il?

Grosso modo, le décodeur procède à une longue série d’opérations de recherche et remplacement par groupes de mots, des plus longs aux plus courts. Ainsi, on évite des traductions loufoques comme « mouches du temps » pour rendre « time flies », exemple bien connu des chercheurs en traduction automatique.

Cependant, il arrive qu’une expression présente dans la table ne sorte pas parce qu’elle n’est pas assez fréquente.

Jumelé aux remplacements globaux, le modèle de langue permet de redonner une forme plus normale à la sortie. La subtilité des différents logiciels réside en bonne partie dans l’allocation des priorités aux deux composantes en question (modèle de langue et modèle de traduction).

Les systèmes de traduction automatique à base de règles

Les systèmes fondés sur les règles linguistiques (ceux qu’on voyait avant sur le Web) associent un dictionnaire à un ensemble de règles linguistiques pour traduire. L’analyse du texte que font ces systèmes ressemble à celle des correcticiels comme Antidote ou Grammatik, fondés sur les mêmes théories linguistiques.

Imaginez deux tableaux, l’un pour le dictionnaire, l’autre pour les règles linguistiques. Le logiciel repère les mots ou groupes de mots correspondant à diverses catégories grammaticales, puis cherche dans le tableau des règles linguistiques celles qui se trouvent dans la phrase (verbe, sujet, complément, etc.). Ensuite, il va dans la colonne cible du dictionnaire et applique aux groupes de mots équivalents les règles équivalentes. Par exemple, « sit on something = siéger à quelque chose » quand le « quelque chose » n’est pas un objet.

Ces systèmes représentent l’univers par des relations, un peu comme le font les langages orientés objets en programmation informatique.

À la fin des années 1980, le Bureau de la traduction a fait des essais avec un système de traduction automatique à base de règles, le système LOGOS (maintenant offert en logiciel libre). Les utilisateurs pouvaient enrichir le dictionnaire et l’ensemble de règles, opération qui s’avérait toutefois très laborieuse.

Les rivaux des systèmes à base de règles, les systèmes de TAS, ont justement l’avantage de ne pas demander d’intervention humaine, mais l’inconvénient de nécessiter de grandes quantités de données.

Les systèmes à base de règles donnent généralement une meilleure sortie du point de vue de la syntaxe que les systèmes statistiques. Par exemple, les accords en genre et en nombre sont la plupart du temps corrects.

Les systèmes de traduction automatique hybrides

Les systèmes hybrides offrent, en principe, le meilleur des deux mondes. Ils enrichissent les dictionnaires automatiquement avec des corpus beaucoup plus petits que ceux dont ont besoin les systèmes de TAS. Cependant, selon les chercheurs, un système statistique qui a assez de données donne pour l’instant de meilleurs résultats qu’un système hybride. Il est permis de croire qu’à moyen terme, ça ne sera plus le cas.

Certains systèmes hybrides utilisent un moteur statistique pour vérifier quelles erreurs sont systématiquement corrigées par les langagiers dans les sorties du système à base de règles. Les chercheurs parlent alors de post-édition statistique (PES).

Récemment, des fournisseurs de systèmes à base de règles sont devenus des fournisseurs de systèmes hybrides (notamment Systran). Des vendeurs de logiciels de gestion de mémoires de traduction ont pour leur part décidé d’intégrer en tout ou en partie des moteurs statistiques dans leur logiciel.

Quelques réflexions en guise de conclusion

On peut dire sans se tromper que, dans quelques années, il n’y aura plus que des systèmes hybrides, qui auront fini par dépasser en qualité les systèmes statistiques purs.

Puisque les systèmes de TAS sont principalement des systèmes qui recyclent les expressions qui existent déjà, ils doivent être constamment alimentés en traductions pour demeurer utiles et efficaces. La création de nouvelles expressions n’a jamais arrêté!

Si les langagiers sont considérés comme de simples concurrents des machines, les plus talentueux feront autre chose. Donc, la matière première qui donne vie à la traduction automatique deviendra moins bonne, et on devra payer de plus en plus cher les gens qui savent écrire, traduire, interpréter, faire de la terminologie…

La traduction automatique est maintenant là pour rester. Pourquoi ne pas l’intégrer dans le coffre à outils du langagier?

Petit glossaire de la traduction automatique

Terme Définition

alignement de mots

(word alignment)

Procédé par lequel on trouve, pour chaque mot d’une phrase source, l’équivalent dans la phrase en langue cible. Par exemple, si à chaque occurrence de « Smurf » dans le texte source en anglais, on trouve « Schtroumpf » dans le texte cible en français, on peut croire que « Smurf = Schtroumpf ».

bitexte

(bitext)

Type de texte contenant à la fois la partie en langue source et la partie en langue cible. Contrairement à une mémoire de traduction, la séquence des segments est préservée.

corpus

(corpus)

Ensemble de textes.

corpus bilingue

(bilingual corpus)

Ensemble de textes qui existent à la fois en langue source et en langue cible.

corpus bilingue aligné

(aligned corpus)

Corpus bilingue où chaque segment (phrase ou groupe de phrases) du texte source correspond à un segment du texte cible.

décodeur

(decoder)

En traduction automatique, moteur de traduction proprement dit.

entraînement

(training)

Processus par lequel un système statistique se « crée ». Si l’on compare les sorties obtenues par rapport à une ou des traductions humaines, les paramètres varient.

langue d’arrivée, langue cible

(target language)

Langue vers laquelle on traduit. Quand un groupe ne comprend pas seulement des langagiers, les termes « langue source » et « langue cible » sont mieux assimilés que « langue de départ » et « langue d’arrivée ».

mémoire de traduction

(translation memory)

Ensemble de segments (phrases) et leur traduction, pas nécessairement en séquence contrairement au bitexte.

modèle de langue

(language model)

Liste de groupes de mots (ngrammes) et de leur fréquence dans un corpus.

modèle de traduction

(translation model)

Liste de fréquence des groupes de mots (ngrammes) par groupe de mots équivalents en langue cible.

postédition

(post-editing)

Traitement qui vise à améliorer une sortie machine pour la rendre acceptable.

segment

(segment)

En jargon des mémoires de traduction, le segment est l’unité qu’on traduit et qui correspond généralement à une phrase ou à une suite de mots; il est coupé par un retour ou une marque de ponctuation.

sortie machine

(MT output)

Traduction machine non retouchée.

traduction automatique à base de règles (TABR)

(rule-based machine translation [RBMT])

Traduction automatique classique qui comprend des règles faites par des linguistes dans des grammaires. Exemples de systèmes : Systran, Reverso, Prompt et LOGOS.

traduction automatique statistique (TAS)

(statistical machine translation [SMT])

Traduction automatique qui n’utilise que des statistiques, contrairement à la traduction à base de règles. Exemples de systèmes : LanguageWeaver, PORTAGE et MOSES.

traduction

(translation)

Transfert d’un message d’une culture vers une autre.

traduction automatique

(machine translation)

Traduction faite par une machine. La traduction automatique peut être à base de règles, statistique ou hybride.