CommencezCommencez gratuitement

Préparer des données textuelles pour l'entrée du modèle

Vous avez déjà appris à créer des dictionnaires d'index vers mots et l'inverse. Dans cet exercice, vous allez segmenter le texte caractère par caractère et continuer de préparer les données pour l'apprentissage supervisé.

Diviser les textes en caractères peut sembler étrange, mais c'est souvent utilisé pour la génération de texte. Le processus de préparation des données reste le même; seule la façon de segmenter les textes change.

Vous allez créer les données d'entraînement comprenant une liste de textes de longueur fixe et leurs étiquettes, qui sont les caractères suivants correspondants.

Vous continuerez d'utiliser l'ensemble de données contenant des citations de Sheldon (The Big Bang Theory), disponible dans la variable sheldon_quotes.

La fonction print_examples() affiche les paires pour que vous puissiez voir comment les données ont été transformées. Utilisez help() pour les détails.

Cette activité fait partie du cours

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Voir le cours

Instructions de l’exercice

  • Définissez step à 2 et chars_window à 10.
  • Ajoutez la phrase suivante à la variable sentences.
  • Ajoutez la position correcte du texte sheldon à la variable next_chars.
  • Utilisez la fonction print_examples() pour afficher 10 phrases et leurs caractères suivants.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create lists to keep the sentences and the next character
sentences = []   # ~ Training data
next_chars = []  # ~ Training labels

# Define hyperparameters
step = ____          # ~ Step to take when reading the texts in characters
chars_window = ____ # ~ Number of characters to use to predict the next one  

# Loop over the text: length `chars_window` per time with step equal to `step`
for i in range(0, len(sheldon_quotes) - chars_window, step):
    sentences.____(sheldon_quotes[i:i + chars_window])
    next_chars.append(sheldon_quotes[____])

# Print 10 pairs
print_examples(____, ____, 10)
Modifier et exécuter le code