III- MODÈLES NEURONAUX DE TRADUCTION
AUTOMATIQUE
Les modèles classiques de Deep Learning (ConvNet,
RNN...) ne pouvant alors être utilisés pour des tâches comme
la traduction automatique, le résumé de texte et le sous-titrage
d'images puisque leurs sorties sont de taille fixe, l'on assiste à
l'apparition de certains modèles beaucoup plus adaptés à
la résolu des problèmes sus cités.
1. Méthodologie
L'idée fondamentale d'un système NMT est de
prédire une séquence de mots Y=( y 1 ,...,
yt) dans la langue cible pour une phrase donnée de la langue
source
X=( x 1 ,..., x s ) . Cette
distribution de probabilité conditionnelle est modélisée
à l'aide de l'architecture encoder-decoder basée sur les RNN.
L'encodeur prend la phrase de langue source de longueur
variable et la convertit en un vecteur de longueur fixe. Ce vecteur de longueur
fixe contient la signification de la phrase d'entrée.
Le décodeur prend ensuite cet encastrement de phrase
(vecteur) comme entrée et commence à prédire les mots de
sortie en prenant en considération le contexte de chaque mot.
Mathématiquement, cette pensée peut être
représentée comme : log P ( y | x )=?
tk=1 log P ( yk | yk-1 , ... y 1 ,
x , c) (1)
où P ( y | x ) est la
probabilité d'obtenir un mot de la langue cible y pour un mot
donné de la langue source x , et c : le contexte de ce
mot particulier.
2. Le modèle sequence-to-sequence
Un modèle sequence-to-sequence(Seq2Seq) est un
modèle qui prend une séquence d'éléments (mots,
lettres, caractéristiques d'une image...etc) et qui produit une autre
séquence d'éléments en sortie. En traduction automatique
neurale, une séquence est une série de mots, traités les
uns après les autres. La sortie est, elle aussi, une série de
mots. [ 11 ]
Figure 13 : Représentation fermée d'un
modèle sequence-to-sequence
De quoi est composé le modèle sequence-to-sequence
?
Le modèle est composé d'un encodeur(encoder) et
d'un décodeur(decoder) tous deux réseaux de neurones
récurrents (RNN, LSTM ou GRU).
Figure 14 : Représentation ouverte d'un
modèle sequence-to-sequence
a- Description du fonctionnement
Pour une bonne compréhension du modèle
Sequence-to-sequence, nous prenons le cas d'usage consistant à traduire
par un modèle Sequence-to-sequence la phrase en anglais :
Excuse me vers le lingala : limbisa
ngaï
Nous résumons sur la figure ci-dessous les
différentes étapes de la traduction :
Figure 15 : Représentation détaillée
d'un seq2seq pour une traduction anglais vers lingala
Master Data Science - Big Data 25
Master Data Science - Big Data 26
Le principe général est le suivant :
4
a. Vectorisation des tokens de la séquence
entrée par l'utilisateur;
b. Lecture des vecteurs de mots :
- À t=0, la forme vectorielle de «Excuse» est
lu par le réseau de neurones; - À t=1, la forme vectorielle de
«me» est lu par le réseau de neurones;
c. Traitement des vecteurs de mots (word vector) par
l'encodeur qui va fournir en sortie un vecteur d'état appelé
vecteur de contexte(hidden state or context vector) de taille fixe (hidden_size
: 256, 512 ou 1024 à définir lors de la construction du
modèle);
e. Le vecteur de contexte contient donc toutes les
informations décrivant la séquence la séquence
initiale;
f. Il est alors mis en entrée d'un décodeur (un
autre RNN) qui va générer au fur et à mesure les
éléments constituant la séquence de sortie.
|