Annexe d'évaluation de la qualité de la traduction automatique 2017 

by Lilt Labs
16 Minute Read

Cet article est une annexe à notre article original publié le 10/01/2017 intitulé Évaluation de la qualité de la traduction automatique 2017.

Conception expérimentale

 Nous évaluons tous les systèmes de traduction automatique en anglais-français et anglais-allemand. Nous rapportons le code BLEU-4 [2] insensible aux majuscules, qui est calculé par le script de score mteval, de la boîte d'outils open source Phrasal de l'Université de Stanford. La segmentation du texte en unités lexicales de NIST a été appliquée à la fois aux résultats du système et aux traductions de référence. Nous simulons le scénario dans lequel le traducteur traduit les données d'évaluation séquentiellement du début à la fin. Nous supposons qu'elle utilise pleinement les ressources que les solutions correspondantes ont à proposer en tirant parti de la mémoire de traduction comme données d'adaptation et par l'adaptation incrémentale, où le système de traduction apprend de chaque segment confirmé.

Les résultats et les scripts du système pour télécharger et diviser automatiquement les données de test sont disponibles sur : https://github.com/lilt/labs.

Formation du système

Les clés API et les systèmes de production sont utilisés dans toutes les expériences. Étant donné que les systèmes commerciaux sont améliorés de temps à autre, nous enregistrons la date à laquelle les résultats du système ont été générés.

Lilt

Le système de référence de Lilt est disponible via l'API REST avec une clé d'API de production. Le système peut être reproduit avec la série d'appels d'API suivante :

  • POST /mem/create (créer une nouvelle mémoire vide)
  • Pour chaque segment source de l'ensemble du test :
  • GET /tr (un segment de test de traduction)

28/12/16 

Lilt adapté

Le système adaptatif de Lilt est disponible via l'API REST avec une clé d'API de production. Le système simule un scénario dans lequel un corpus existant de données source / cible est ajouté pour la formation avant de traduire l'ensemble de test. Le système peut être reproduit avec la série d'appels d'API suivante :

  • POST /mem/create (créer une nouvelle mémoire vide)
  • Pour chaque paire source / cible dans les données de TM :
  • POST /mem (mise à jour de la mémoire avec une paire de source / cible)
  • Pour chaque segment source de l'ensemble du test :
  • GET /tr (un segment de test de traduction)

06/01/2017 

Lilt interactif

Le système interactif de Lilt est disponible via l'API REST avec une clé d'API de production. Le système simule un scénario dans lequel un corpus existant de données source / cible est ajouté pour la formation avant de traduire l'ensemble de test. Pour simuler les retours d'un traducteur humain, chaque traduction de référence pour chaque phrase source dans l'ensemble de test est ajoutée à la mémoire après le décodage. Le système peut être reproduit avec la série d'appels d'API suivante :

  • POST /mem/create (créer une nouvelle mémoire vide)
  • Pour chaque paire source / cible dans les données de TM :
  • POST /mem (mise à jour de la mémoire avec une paire de source / cible)
  • Pour chaque segment source de l'ensemble du test :
  • GET /tr (un segment de test de traduction)
  • POST /mem (mise à jour de la mémoire avec une paire de source / cible)

04/01/2017 

Google

Le système de traduction automatique statistique basé sur les phrases de Google. Le système peut être reproduit en interrogeant l'API de traduction:

28/12/2017 

Google neuronal

Le système de traduction automatique neuronale de Google (GNMT). Le système peut être reproduit en interrogeant l'API Premium:

28/12/2016 

Microsoft

Le système de traduction automatique statistique de base de Microsoft. Le système peut être reproduit en interrogeant l'API de traduction de texte:

  • Pour chaque segment source de l'ensemble du test :
  • GET /Translate

28/12/2016 

Microsoft adapté

Le système de traduction automatique statistique de Microsoft. Le système simule un scénario dans lequel un corpus existant de données source / cible est ajouté pour la formation avant de traduire l'ensemble de test. Nous créons d'abord un nouveau projet de catégorie générale sur l’ Hub de traducteurs Microsoft, puis un nouveau système dans ce projet et nous chargeons la mémoire de traduction comme données de formation. Nous ne fournissons pas de données de réglage ou de test pour qu'elles soient sélectionnées automatiquement. Nous laissons le processus de formation se terminer et ensuite nous déployons le système (par exemple, avec l'identificateur de catégorie CATEGORY_ID). Nous décodons ensuite l'ensemble de test en interrogeant l'API de traduction de texte, en passant le déterminant du système déployé comme identificateur de la catégorie :

  • Pour chaque segment source de l'ensemble du test :
  • GET /Translate?category=CATEGORY_ID

30/12/2016 (après la migration de Microsoft Translator vers le portail d'Azure)

Microsoft neuronal

Le système de traduction automatique neuronale de Microsoft. Le système peut être reproduit en interrogeant l'API de traduction de texte avec l'identifiant de la catégorie "generalnn":

  • Pour chaque segment source de l'ensemble du test :
  • GET /Translate?category=generalnn

Systran neuronal

Le système de traduction automatique neuronale « Pure Neural » de Systran. Le système peut être reproduit via le site Web de démonstration. Nous copions et collons manuellement la source dans le site Web par lots de 2000 caractères maximum. Nous avons vérifié que les sauts de ligne étaient respectés et que le lot n'avait pas d'impact sur le résultat de la traduction. Cela comprenait un effort manuel considérable et a été effectué sur plusieurs jours.

Date(s) : en-de : 2016-12-29-2016-12-30 ; en-fr: 2016-12-30-2017-01-02

SDL

Le système de traduction automatique Language Cloud de SDL. Le système peut être reproduit par une tâche de prétraduction de lot dans Trados Studio 2017.

03/01/2017

SDL adapté

Le système de traduction automatique « AdaptiveMT » de SDL, accessible sur Trados Studio 2017. Le système peut être reproduit en créant d'abord un nouveau moteur AdaptiveMT spécifique à un nouveau projet et prétraduire l'ensemble de test. Le nouveau projet est initialisé avec les données de TM. Nous supposons que les données de TM locales sont propagées au moteur AdaptiveMT pour la formation en ligne. La tâche de prétraduction du lot est utilisée pour générer des traductions pour toutes les correspondances non exactes. L'adaptation est effectuée sur le contenu de la TM. Dans les expériences basées sur l'adaptation, nous n'avons pas confirmé chaque segment avec une traduction de référence en raison de la quantité de travail manuel qui aurait été nécessaire dans Trados Studio 2017.

Les systèmes Lilt adapté, Microsoft adapté et SDL adapté sont les plus comparables car ils étaient adaptés en mode lots, à savoir en téléchargeant toutes les données de TM, permettant à la formation de se terminer et ensuite de décoder l'ensemble de test. Bien sûr, d'autres facteurs essentiels mais non modifiables par l'utilisateur, tels que le corpus de référence, les procédures d'optimisation et les critères d'optimisation peuvent être différents et diffèrent probablement.

Corpus du test

Nous avons défini quatre exigences pour le corpus du test :

  1. Il est représentatif du travail de traduction payé typique
  2. Il n'est pas utilisé dans les données de formation pour l'un des systèmes de traduction concurrents
  3. Les traductions de référence n'ont pas été produites par la post-édition d'une des solutions de traduction automatique concurrentes
  4. Il est suffisamment grand pour permettre l'adaptation du modèle

 

Étant donné que tous les systèmes de l'évaluation sont des systèmes de production commerciale, nous ne pouvions pas appliquer une condition de données commune ni garantir l'exclusion des données de test du corpus de référence comme dans l'exigence (2). Néanmoins, dans la pratique, il est relativement facile de détecter l'inclusion des données de test dans le corpus de formation d'un système avec la procédure suivante :

  1. Sélectionner un ensemble de données test candidat
  2. Décoder l'ensemble du test avec tous les systèmes inadaptés et un score avec BLEU
  3. Identifier les systèmes qui s'écartent considérablement de la moyenne (dans notre cas, par deux écarts standard)
  4. Si un système existe dans (3) :
  5. Échantillonner un sous-ensemble de phrases et comparer le produit de traduction automatique aux références.
  6. Si des traductions de référence sont présentes,
  7. Éliminer l'ensemble des données test candidat et allez à (1)
  8. Accepter l'ensemble des données test candidat

 

À partir de novembre 2016, nous avons évalué les huit ensembles de données publics décrits dans l'annexe en ce qui concerne ces critères. Le neuvième corpus que nous avons essayé était SwissAdmin, qui a à la fois satisfait nos exigences et a réussi notre procédure de sélection des données.

SwissAdmin est une collection multilingue de communiqués de presse du gouvernement suisse de 1997 à 2013. Nous avons utilisé les derniers communiqués de presse. Nous avons divisé les données chronologiquement, en réservant les 1300 derniers segments des articles de 2013 comme données de test anglais-allemand et les 1320 derniers segments comme ensemble de test anglais-français. Les segments chronologiques sont standard dans la recherche de traduction automatique pour tenir compte des changements dans l'utilisation de la langue au fil du temps. Les ensembles de test ont en outre été filtrés pour supprimer un segment unique qui contenait plus de 200 jetons. Le reste des articles de 2011 à 2013 était réservé comme données dans le domaine pour l'adaptation du système.

SwissAdminen-deen-frTMtestTMtest#segments18,6211,29918,1631,319#words548,435 / 482,69239,196 / 34,797543,815 / 600,58540,139 / 44,874

Résultats

(Mis à jour avec Microsoft MT neuronal)

Annexe : ensembles de données des candidats

Les ensembles de données suivants ont été évalués et rejetés en fonction de la procédure spécifiée dans la section corpus de test :

  • JRC-Acquis
  • Plateforme PANACEA anglais-français
  • Corpus technique espagnol-anglais d'IULA
  • Corpus bilingue de MuchMore Springer
  • Tâche biomédicale de WMT
  • Corpus de post-édition d'Autodesk
  • PatTR
  • Données de domaine de voyage (de booking.com et ailleurs) explorées par Lilt

1 Nous n'avons pas été en mesure de produire un système interactif SDL comparable à Lilt interactif. Nous avons d'abord essayé de confirmer les traductions de référence dans Trados Studio. Cependant, nous avons constaté que ce modèle se met souvent à jour ce qui nécessite une minute ou plus de traitement. Supposons que coller la référence dans l'interface utilisateur nécessite 15 secondes et que la mise à jour du modèle nécessite 60 secondes. Pour anglais-allemand, 1299 × 75 / 3600 = 27,1 heures qui auraient été nécessaires pour traduire l'ensemble de test. Nous avons ensuite tenté d'écrire des macros d'interface pour automatiser la traduction et la confirmation de segments dans l'IU, mais la variabilité des mises à jour du modèle et d'autres facteurs d'interface comme le défilement empêchaient l'automatisation réussie du processus. L'absence d'une API de traduction a empêché l'achèvement de la tâche avec Amazon Mechanical Turk.