[En anglais] How does Neural Machine Translation work?

La représentation du sens dans la traduction automatique neuronale, basée sur des règles et basée sur des phrases

Dans ce numéro d'articles pas à pas, nous expliquons comment la traduction automatique neuronale (NMT) fonctionne et le compare aux technologies existantes : moteurs basés sur des règles (RBMT) et moteurs à base de phrases (PBMT, le plus populaire étant la traduction automatique statistique ? SMT).

Les résultats obtenus à partir de la traduction automatique neuronale sont étonnants, en particulier, la paraphrase du réseau neuronal. On dirait presque que le réseau neuronal comprend vraiment la phrase à traduire. Dans ce premier article, nous nous intéressons à la signification, qui donne une idée du type de connaissance sémantique que les réseaux neuronaux utilisent pour traduire.

Commençons par un aperçu du fonctionnement des 3 technologies, des différentes étapes de chaque processus de traduction et des ressources que chaque technologie utilise pour traduire. Ensuite, nous examinerons quelques exemples et comparerons ce que chaque technologie doit faire pour les traduire correctement.

Une représentation très simple mais toujours utile de tout processus de traduction automatique est le triangle suivant, introduit par le chercheur français B. Vauquois en 1968[1].

Le triangle représente le processus de transformation de la phrase source en la phrase cible en 3 étapes différentes.
Le côté gauche du triangle caractérise la langue source, le côté droit la langue cible. Les différents niveaux à l'intérieur du triangle représentent la profondeur de l'analyse de la phrase source, par example l'analyse syntaxique ou sémantique. Nous savons maintenant que nous ne pouvons pas séparer l'analyse syntaxique et sémantique d'une phrase donnée, mais la théorie reste que vous pouvez creuser de plus en plus profondément dans l'analyse d'une phrase donnée. La première flèche rouge représente l'analyse de la phrase dans la langue source. A partir de la phrase elle-même, qui n'est qu'une séquence de mots, nous pouvons construire une représentation interne correspondant à la profondeur avec laquelle nous pouvons analyser la phrase.
Par exemple, à un niveau, nous pouvons déterminer les parties de la parole de chaque mot (nom, verbe, etc.), et à un autre, nous pouvons relier les mots : par exemple, quelle phrase de nom est le sujet de quel verbe.

Lorsque l'analyse est terminée, la phrase est « transférée » par un second processus dans une représentation de profondeur égale ou légèrement inférieure dans la langue cible. Ensuite, un troisième processus appelé « génération ? » génère la phrase cible réelle à partir de cette représentation interne, c'est-à-dire une séquence significative de mots dans la langue cible. L'idée d'utiliser un triangle est que plus vous analysez le langage source en profondeur, plus la phase de transfert est petite/simple. En fin de compte, si nous pouvions convertir une langue source en une représentation universelle ? interlingua ? au cours de cette analyse, alors nous n'aurions pas besoin d'effectuer de transfert du tout ? et nous aurions seulement besoin d'un analyseur et d'un générateur pour chaque langue pour traduire de n'importe quelle langue vers n'importe quelle langue.

C'est l'idée générale et explique la représentation intermédiaire, s'il en existe, et les mécanismes impliqués pour passer d'une étape à l'autre. Plus important encore, ce modèle décrit la nature des ressources que ce mécanisme utilise. Illustrons comment cette idée fonctionne pour les 3 technologies différentes en utilisant une phrase très simple : ?La souris intelligente joue du violon.?

Traduction automatique basée sur des règles

La traduction automatique basée sur des règles est la plus ancienne approche et couvre une grande variété de technologies différentes. Cependant, tous les moteurs basés sur des règles partagent généralement les caractéristiques suivantes :

  • Le processus suit strictement le triangle de Vauquois et le côté analyse est souvent très avancé, tandis que la partie génération est parfois réduite au minimum ;
  • Les 3 étapes du processus utilisent une base de données de règles et d'éléments lexicaux auxquels les règles s'appliquent ;
  • Ces règles et éléments lexicaux sont « lisibles » et peuvent être modifiés par le linguiste/lexicographe.

Par exemple, la représentation interne de notre phrase peut être la suivante :

 

Nous observons quelques niveaux d'analyse différents :

  • Partie du balisage vocal : chaque mot est assigné à une « partie de la parole » qui est une catégorie grammaticale
  • Analyse morphologique : ?play ? est reconnu comme troisième personne infléchie présente la forme du verbe ?play ?
  • Analyse sémantique : certains mots se voient attribuer une catégorie sémantique ? par exemple ? violon ? est un instrument
  • Analyse des constituants : certains mots sont regroupés en constituants ? ?la souris intelligente ? est une expression de nom
  • Analyse des dépendances : les mots et les phrases sont liés à ?links ?, ici nous identifions le sujet et l'objet du verbe principal ?play ?

Le transfert d'une telle structure utilisera des règles et des transformations lexicales telles que :

 

L'application de ces règles à l'exemple précédent générera la représentation de la phrase dans la langue cible:

Ensuite, les règles de génération françaises définiront :

  • L'adjectif dans une expression de nom suit les noms ? avec quelques exceptions listées
  • Un déterminant s'accorde en nombre et en genre avec le nom qu'il modifie
  • Un adjectif correspond en nombre et en genre au nom qu'il modifie
  • Le verbe est d'accord avec le sujet

Dans l'idéal, cette analyse produirait la traduction suivante :

 

Traduction Automatique Basée Sur Des Phrases

La traduction automatique basée sur des phrases est la version la plus simple et la plus populaire de la traduction automatique statistique. Aujourd'hui, c'est toujours le paradigme principal utilisé par les principaux services de traduction en ligne.

Techniquement parlant, la traduction automatique par phrases ne suit pas le processus défini par Vauquois. Non seulement il n'y a pas d'analyse ou de génération, mais surtout la partie transfert n'est pas déterministe. C'est-à-dire que le moteur peut générer plusieurs traductions pour une phrase source, et la force de l'approche réside dans sa capacité à sélectionner la meilleure.

Pour cela, le modèle est basé sur 3 ressources principales :

  • Une table de phrases qui produit une option de traduction et leurs probabilités pour les phrases ? (séquences de mots) dans la langue source
  • Tableau de réorganisation indiquant comment les mots peuvent être réorganisés lorsqu'ils sont transférés d'une langue source à une langue cible
  • Modèle de langage qui donne une probabilité pour chaque séquence de mots possible dans la langue cible

Par conséquent, à partir de la phrase source, le tableau suivant sera construit (en réalité, il y aurait beaucoup plus d'options associées à chaque mot) :

 

A partir de la table, des milliers de traductions possibles de la phrase sont générées, telles que :

 

Cependant, grâce à des calculs de probabilité intelligents et à des algorithmes de recherche plus intelligents, seule la traduction la plus probable sera explorée et la meilleure sera conservée.

Dans cette approche, le modèle de langue cible est très important, et nous pouvons avoir une idée simplement en faisant une recherche en ligne :

Intuitivement, les algorithmes de recherche préfèrent utiliser des séquences de mots qui sont des traductions probables des mots sources, avec un schéma de réordonnancement probable, et générer des séquences de mots dans la langue cible avec une probabilité élevée.

Dans cette approche, il n'y a pas de connaissance linguistique ou sémantique implicite ou explicite. De nombreuses variantes ont été proposées et certaines montrent des améliorations, mais à notre connaissance et de ce que nous pouvons observer, les principaux moteurs de traduction en ligne utilisent le mécanisme de base.

Traduction automatique neuronale

L'approche de la traduction automatique neuronale est radicalement différente des précédentes, mais peut être classée comme suit en utilisant le triangle de Vauquois :

Avec les spécificités suivantes :

  • L'analyse ? est appelée encodage et le résultat de l'analyse est une mystérieuse séquence de vecteurs
  • Le mot ? transfer ? est appelé décodage et génère directement la forme cible sans aucune phase de génération. Il ne s'agit pas d'une contrainte stricte, qui pourrait éventuellement évoluer, mais c'est ainsi que la technologie de base fonctionne.

Pour décomposer le processus, il y a 2 phases séparées. Dans le premier, chaque mot de la phrase source passe par le ?encodeur ? et génère ce que nous appelons un ?contexte source ? en utilisant le mot courant et le contexte source précédent :

 

La séquence des contextes sources (ContextS 1, ? ContextS5) est la représentation interne de la phrase source sur le triangle de Vauquois et comme mentionné ci-dessus il s'agit d'une séquence de nombres float (typiquement 1000 nombres float associés à chaque mot source). Pour l'instant, nous ne discuterons pas de la façon dont cette transformation est effectuée et comment fonctionne le codeur, mais nous aimerions souligner que ce qui est particulièrement intéressant est la transformation initiale des mots dans le vecteur des flotteurs.

Il s'agit en fait d'un bloc de construction de la technologie, et comme c'est le cas dans un système basé sur des règles où chaque mot est d'abord recherché dans un dictionnaire monolingue, la première étape du codeur est de rechercher chaque mot source dans une table d'incorporation de mots. Une partie de la façon dont les significations sont représentées dans la traduction automatique neuronale se trouve dans l'incorporation de mots.

Imaginez que vous devez représenter différents objets avec une variation de formes et de couleurs sur un espace bidimensionnel et que les objets qui sont placés les plus proches les uns des autres doivent être les plus similaires. Voici une possibilité :

L'axe horizontal représente la forme, et nous essayons de placer les formes les plus similaires les plus proches les unes des autres (nous devrions spécifier ce qui rend une forme similaire, mais pour cet exemple, cela semble intuitivement satisfaisant). L'axe vertical représente la couleur ? vert comprise entre le jaune et le bleu. Si nous avions des tailles différentes, nous pourrions ajouter une troisième dimension comme suit :

Si nous ajoutons plus de couleurs ou de formes, nous pouvons également ajouter plus de cotes de sorte qu'un point donné puisse représenter des objets différents et des distances entre deux objets qui reflètent leur similarité.

L'idée sous-jacente est la même avec l'incorporation de mots. Au lieu d'objets il y a des mots, l'espace est beaucoup plus grand ? par exemple, nous utilisons 800 dimensions ? mais l'idée est que les mots peuvent être représentés dans un tel espace avec les mêmes propriétés.

Par conséquent, les mots ayant une propriété commune seront proches d'une dimension de cet espace. Par exemple, on peut imaginer que la partie du discours des mots est une dimension, leur sexe s'il y en a une, une autre, le fait qu'ils sont des mots négatifs ou positifs une autre, et ainsi de suite.

Nous ne savons pas exactement comment l'incorporation de mots est constituée. Un autre article analysera plus en détail les incorporations de mots, mais l'idée est aussi simple que d'organiser des objets dans l'espace.

Pour en revenir au processus de traduction, la deuxième étape est représentée comme suit :

Maintenant la séquence complète de ?Contexte source ? est générée, et un par un, les mots cibles sont générés en utilisant :

  • Le contexte cible généré avec le mot précédent, et qui représente quelques informations sur l'état de la traduction ;
  • Un contexte source pondéré ? qui est un mélange des différents contextes sources par un modèle spécifique appelé Modèle d'attention ? nous discuterons des modèles d'attention dans un autre article. Essentiellement, les modèles d'attention sélectionnent le mot source à traduire à n'importe quelle étape du processus ;
  • Le mot traduit précédemment en utilisant un mot incorporant pour convertir le mot réel en un vecteur que le décodeur peut réellement gérer.

La traduction se terminera lorsque le décodeur ?décidera ? de générer un mot spécial de fin de phrase.

Le processus complet est indéniablement mystérieux, et nous aurons besoin de plusieurs articles pour creuser dans les différentes composantes. Le point clé à retenir est que le processus de traduction d'un moteur de traduction automatique neuronale suit la même séquence d'opérations qu'un moteur basé sur des règles, cependant, la nature des opérations et les objets manipulés sont complètement différents ? et le point de départ de la conversion des mots en vecteurs est le mot intégration ? et cela suffit pour avoir une idée de la façon dont les exemples suivants fonctionnent.

Exemples comparatifs de traduction

Examinons quelques exemples de traduction et discutons de ce que nous avons souligné aujourd'hui sur pourquoi/comment certains exemples ne fonctionnent pas pour les différentes technologies. Nous avons sélectionné plusieurs verbes polysémiques en anglais et nous recherchons des traductions anglais-français.

Ce que nous pouvons voir, c'est que PBMT interprète principalement ?render ? comme un sens ? à l'exception de la très idiomatique assistance ?render ?. Ceci s'explique aisément ? le choix de la signification dépend soit d'une vérification à distance de la structure de la phrase, soit de la catégorie sémantique de l'objet.

Pour NMT, le fait qu'il traite correctement ?help ? et ?assistance ? d'une manière similaire montre un certain avantage de l'incorporation de mots, plus la capacité apparente d'obtenir des informations syntaxiques longue distance que nous aborderons dans un autre article.

Là encore, le fait que le moteur NMT distingue sémantiquement les deux types d'objets (essentiellement humains ou non) semble être un avantage direct du mot « incorporation ».
Cependant, notons qu'il ne traduit pas correctement les ?ronds, ? qui dans cet exemple signifie ?bullet. ? Nous expliquerons ce type d'interprétation dans un autre article sur la façon dont les formations enseignent au réseau neuronal une signification spécifique pour chaque mot. En ce qui concerne le moteur basé sur des règles, seuls les 3rouge la signification du verbe est reconnue, ce qui est plus approprié pour une fusée que pour une balle.

Ci-dessus est un autre exemple intéressant dans lequel la différence de sens du verbe provient de l'objet (crime ou destination) qui est encore une connaissance directe du mot enrobage.

Les variantes de l'autre type de crime donnent-elles le même résultat?

Les autres moteurs ne sont pas faux, car ils utilisent le même verbe, ce qui est acceptable dans les deux contextes.

[1] B. Vauquois, « A Survey of Formal Grammars and Algorithms for Recognition and Translation », 1968

En savoir plus sur Neural la traduction automatique

Auteur
fleuri
Temps
Lecture : 9 min.
S'inscrire à la newsletter
Retrouvez toute l'actu et les dernières technos. Un magazine conçu par SYSTRAN