CommencerCommencer gratuitement

Remplir des phrases

sents2seqs() Vous allez maintenant implémenter une fonction appelée « sents2seqs() » que vous utiliserez plus tard pour transformer facilement les données au format accepté par le modèle de traduction automatique neuronale (NMT). « » accepte une liste de chaînes de phrases et,

  • Convertit les phrases en une liste de séquences d'identifiants.
  • Remplissez les phrases afin qu'elles aient toutes la même longueur et,
  • Vous pouvez également convertir les identifiants en vecteurs onehot.

Vous avez reçu en_tok, un modèle d'Tokenizer déjà formé sur des données. Il est également important de noter que lors de l'implémentation de la fonction « sents2seqs() », vous verrez un argument inutilisé appelé « input_type ». input_type Par la suite, ces informations seront utilisées pour modifier les paramètres dépendants de la langue, tels que la longueur de la séquence et la taille du vocabulaire.

Cet exercice fait partie du cours

Traduction automatique avec Keras

Afficher le cours

Instructions

  • Convertissez l'sentences en séquences à l'aide du tokenizer en_tok.
  • Pad séquences à une longueur d'en_len e fixe avec un type de remplissage spécifié de pad_type et utilisez post-truncating.
  • Convertissez les identifiants de mots de l'preproc_text en vecteurs onehot de longueur en_vocab à l'aide de la fonction to_categorical().
  • Convertissez l'sentence en une séquence rembourrée à l'aide de la méthode sents2seqs() en utilisant pre-padding.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.utils import to_categorical

def sents2seqs(input_type, sentences, onehot=False, pad_type='post'):
	# Convert sentences to sequences      
    encoded_text = ____.____(sentences)
    # Pad sentences to en_len
    preproc_text = ____(____, padding=____, truncating=____, maxlen=____)
    if onehot:
		# Convert the word IDs to onehot vectors
        preproc_text = ____(____, num_classes=____)
    return preproc_text
sentence = 'she likes grapefruit , peaches , and lemons .'  
# Convert a sentence to sequence by pre-padding the sentence
pad_seq = sents2seqs('source', [____], pad_type=____)
Modifier et exécuter le code