Architecture encodeur-décodeur

Traduction automatique avec Keras

Thushan Ganegedara

Data Scientist and Author

Modèle encodeur-décodeur

Modèle de traduction automatique

Traduction automatique avec Keras

Encodeur

Encodeur

Traduction automatique avec Keras

Encodeur et décodeur

Encodeur-décodeur

Traduction automatique avec Keras

Analogie : architecture encodeur-décodeur

Analogie de l'encodeur

Analogie du décodeur

Traduction automatique avec Keras

Inverser des phrases – modèle encodeur-décodeur

Texte inversé encodeur-décodeur

Traduction automatique avec Keras

Écrire l'encodeur

def words2onehot(word_list, word2index):
  word_ids = [word2index[w] for w in word_list]
  onehot = to_categorical(word_ids, 3)
  return onehot
def encoder(onehot):
  word_ids = np.argmax(onehot, axis=1)
  return word_ids
Traduction automatique avec Keras

Écrire l'encodeur

onehot = words2onehot(["I", "like", "cats"], word2index)
context = encoder(onehot)
print(context)
[0, 1, 2]
Traduction automatique avec Keras

Écrire le décodeur

  • Décodeur : IDs de mots → inverser les IDs → vecteurs one-hot
def decoder(context_vector):
  word_ids_rev = context_vector[::-1]
  onehot_rev = to_categorical(word_ids_rev, 3)
  return onehot_rev
  • Fonction utilitaire : convertir des vecteurs one-hot en mots lisibles
def onehot2words(onehot, index2word):
  ids = np.argmax(onehot, axis=1)
  return [index2word[id] for id in ids]
Traduction automatique avec Keras

Écrire le décodeur

onehot_rev = decoder(context)
reversed_words = onehot2words(onehot_rev, index2word)

print(reversed_words)
['cats', 'like', 'I']
Traduction automatique avec Keras

Passons à la pratique !

Traduction automatique avec Keras

Preparing Video For Download...