Par Loréna Abate, étudiante M2 TSM
De nos jours, la traduction machine occupe une place très importante sur le marché de la traduction, et fait couler beaucoup d’encre. Si vous êtes intéressés par le secteur de la traduction machine, il se peut même que vous ayez déjà entendu parler des métriques d’évaluation permettant d’évaluer la qualité des traductions machine. Classer les différents systèmes ou métriques d’évaluation peut donc s’avérer pertinent. Alors, qu’en est-il de ces systèmes d’évaluation ? Eh bien, il en existe une multitude. En effet, on trouve sur le marché les métriques BLEU, ROUGE, METEOR, NIST, WER, etc.
Pour ne pas finir par rédiger un mémoire de 120 pages, il fallait donc faire un choix. Dans ce billet, nous ferons un focus sur l’algorithme BLEU. Pourquoi BLEU, me direz-vous ? Car cette métrique, élaborée et développée en 2002 par Kishore Papineni pour la société IBM, est aujourd’hui l’une des métriques automatisées les plus populaires et les moins coûteuses.
BLEU permet d’attribuer un score à une traduction machine grâce à un système de mesure reposant sur des morceaux de phrases. Ces parties sont appelées « N-grammes », et leur fréquence est également évaluée à l’aide d’une comparaison entre un texte source et un texte cible. Je vous ai perdus ? Accrochez-vous, la suite de l’article arrive.
Pas évident de dénicher une image agréable à regarder sur un sujet si théorique… Vous vous contenterez donc de ce joli bleu roi.
Dis-moi Jamy, qu’est-ce que BLEU ?
BLEU, acronyme pour Bilingual Evaluation Understudy, est en fait une mesure des différences entre une traduction machine et une ou plusieurs traductions de référence créées par l’humain pour une même phrase source. BLEU part donc du postulat que plus une traduction machine se rapprochera d’une traduction humaine et professionnelle, plus elle sera qualitative.
Une fois ces comparaisons réalisées, un score est attribué pour chaque phrase traduite. Puis, une moyenne est calculée sur l’ensemble du corpus afin d’estimer la qualité globale du texte traduit.
Le score BLEU se définit par un nombre compris entre 0 et 1 qui indique la similitude du texte dit « candidat » par rapport aux textes de « référence ». Tout se joue au niveau du nombre de correspondances. En effet, plus le score se rapproche de 1, plus les textes sont similaires. Une valeur égale à 0 indiquerait que la traduction automatique ne correspond en rien à la traduction de référence et serait donc de mauvaise qualité, tandis qu’un score égal à 1 signalerait une correspondance parfaite avec les traductions de référence et serait ainsi de bonne qualité.
Intéressant comme outil, comment ça fonctionne ?
Formation littéraire oblige, nous n’avons pas revu les exponentielles depuis le lycée (et j’en fais encore des cauchemars…) je vous épargne donc les explications de sa formule mathématique qui n’est pas des plus simples :
… vous voyez, l’image bleue du début n’était pas si mal.
Bref, voici quelques éléments nécessaires à la génération d’un score BLEU :
- Une ou plusieurs traductions de référence humaine, qui devraient être inconnues du développeur du système de TA
- Un texte d’au moins 1 000 phrases dans le but d’obtenir une mesure plus pertinente,
- Si le texte candidat est jugé trop court par rapport à la référence, une pénalité de concision est appliquée sur la traduction,
- La correspondance de « n-grammes », qui consiste à compter le nombre d’unigrammes (mot unique), de bigrammes (paire de mots), de trigrammes et de quadrigrammes (i = 1,…, 4) qui correspondent à leur équivalent de n-grammes au sein des traductions de référence. Les unigrammes permettent de calculer l’exactitude, tandis que les n-grammes plus longs rendent compte de la fluidité de la traduction.
En pratique, il est impossible d’obtenir un score parfait de 1, et ce, même pour un traducteur humain (à moins d’avoir une traduction mot pour mot identique à la traduction de référence). À titre d’exemple, sur un corpus d’environ 500 phrases, un traducteur humain a obtenu une note de 0,346 8 contre quatre références et de 0,257 1 contre deux références.
Un exemple, peut-être ?
Si l’on prend cette phrase simple : « Le renard brun et rapide sauta sur le chien paresseux », comment l’auriez-vous traduite ?
- The quick brown fox jumped over the lazy dog
- The fast brown fox jumped over the lazy dog
- The fast brown fox jumped over the sleepy dog
Si je vous dis que la traduction de référence est « The quick brown fox jumped over the lazy dog », voyons voir votre score BLEU :
- On obtient alors un score de… ? Oui, c’est bien ça, 1,0. Vous voyez, ce n’est pas si compliqué !
- En remplaçant le mot « quick » par le mot « fast », votre score chute alors à 0,750.
- Cette fois-ci, deux mots sont différents… Désolée, mais vous n’obtenez que 0,48.
Avec cet exemple simple, vous avez d’ores et déjà un aperçu du système de notation. Voici un deuxième cas de figure :
- Si tous les mots sont différents sur le texte candidat, on obtient le pire score possible: 0,0.
- Si le texte candidat comporte moins de mots que le texte de référence, mais que les mots sont tous corrects, le score est alors très semblable au score obtenu avec un seul mot différent, à savoir : 0,751.
- Et avec deux mots de plus que le texte de référence ? À nouveau, nous pouvons voir que notre intuition était la bonne et que le score est équivalent à celui qui comporte deux mots erronés, à savoir: 0,786.
- Enfin, prenons l’exemple d’une phrase qui serait trop courte en comportant seulement deux mots. L’exécution de cet exemple entraînerait d’abord l’apparition d’un message d’avertissement indiquant que l’évaluation portant sur les trigrammes et quadrigrammes ne peut pas être effectuée, puisque nous n’avons que les bigrammes avec lesquels travailler pour le candidat. Au-delà de cela, nous risquerions d’obtenir un score très bas : 0,030.
Est-ce pour autant suffisant pour évaluer la qualité ?
« Most of us would agree that competent human evaluation is the best way to understand the output quality implications of different MT systems. However, human evaluation is generally slower, less objective and more expensive, and thus may not be viable in many production use scenarios, where multiple comparisons need to be made on a constant and ongoing basis. » (Kirti Vashee, 2019, Understanding MT Quality)
La traduction automatique est un défi particulièrement difficile pour l’IA. Les ordinateurs sont amateurs de résultats binaires. Vous savez tout autant que moi que la traduction, c’est tout l’inverse. Quel choix de traduction serait plus correct qu’un autre ? Difficile à dire. En effet, il peut y avoir autant de traductions correctes qu’il y a de traducteurs et, par conséquent, l’utilisation d’une seule référence humaine pour mesurer la qualité d’une solution de traduction automatisée pose problème.
Vous l’aurez compris, on en revient au même problème que pour la traduction neuronale, mais ici cela devient encore plus complexe, car c’est une machine qui juge une machine. Une vraie machineception.
Le problème avec BLEU…
Les scores BLEU ne reflètent en effet que les performances d’un système sur un ensemble spécifique de phrases sources et les traductions de référence sélectionnées pour l’évaluation. Puisque le texte de référence pour chaque segment n’est évidemment pas la seule traduction correcte et « de qualité », il arrive fréquemment de mal noter (« scorer ») de bonnes traductions. On peut donc dire que ces scores ne reflètent pas systématiquement le rendement potentiel réel d’un système.
Bien que l’objectif de BLEU soit de mesurer la qualité globale de la traduction, le résultat que l’on obtient est plutôt une mesure de la similitude entre deux chaînes de caractères dans un texte. Considérée par certains comme une mesure fiable de la qualité, la majeure partie des experts considèrent que les scores BLEU seraient plus précis si les comparaisons étaient faites au niveau du corpus entier plutôt qu’à chaque phrase. Ainsi, on remet en question la performance de cet outil qui n’a en réalité aucune « intelligence » linguistique qui lui permettrait d’évaluer la qualité d’une traduction machine.
Un système critiqué, et pour cause !
BLEU ne prend pas en compte le sens
Texte original : J’ai mangé la pomme.
Traduction de référence : I ate the apple.
Si l’on en croit BLEU, les trois traductions suivantes, ayant obtenu le même score, seraient aussi mauvaises les unes que les autres :
- I consumed the apple.
- I ate an apple.
- I ate the potato.
Pourtant, la troisième traduction n’a rien à voir avec le sens du texte original, à savoir J’ai mangé la pomme.
BLEU ne prend pas en compte la structure des phrases
Une phrase complètement absurde, avec des mots « corrects », mais simplement placés dans un ordre aléatoire est susceptible d’obtenir un score élevé !
BLEU gère mal les langues « riches » morphologiquement
La métrique BLEU ne fait pas la distinction entre le contenu et les mots-outils. Par exemple, la pénalité liée à l’omission d’un mot-outil tel que « un » est identique à la pénalité appliquée en cas de remplacement du terme « NASA » par « ESA ».
BLEU ne correspond finalement pas tant à une évaluation humaine
Avant le calcul du score BLEU, les traductions de référence et les traductions automatiques doivent être normalisées et « tokenisées », ce qui affecte considérablement le score BLEU final.
En bref…
Le score BLEU, quoiqu’imparfait, offre certains avantages : rapide et peu coûteux à calculer, facile à comprendre *hum hum*, indépendant de la langue, très proche d’une évaluation humaine, cette métrique a largement été adoptée ces vingt dernières années.
Malgré ses imperfections, BLEU est un outil utile et prometteur, et demeure encore aujourd’hui une mesure de référence pour tous les développeurs de traduction automatique. Pour preuve, dans son concours annuel des outils de TA, le NIST (National Institute of Standards & Technology) a choisi d’utiliser BLEU comme indicateur approximatif de la qualité.
Le BLEU « idéal » serait un système dans lequel seraient prises en considération toutes les propriétés linguistiques fondamentales, telles que la structure de la langue, la cohérence, le style d’écriture, le contenu, l’organisation, l’exactitude des propos… À l’heure actuelle, le seul moyen d’obtenir d’excellents résultats est d’associer les métriques automatiques à une évaluation humaine et unilingue.
Sources
Sources en anglais
- Papineni et al 2002 : BLEU: a Method for Automatic Evaluation of Machine Translation
- Reiter 2018: A Structured Review of the Validity of BLEU
- Evaluating Text Output in NLP: BLEU at your own risk
- A Gentle Introduction to Calculating the BLEU Score for Text in Python
Une réflexion sur “BLEU, un algorithme qui calcule la qualité des traductions machine”