CommencezCommencez gratuitement

Préparer les données pour l'entraînement

Dans cet exercice, vous allez poursuivre la préparation des données pour entraîner le modèle. Après avoir créé les tableaux des phrases et des caractères suivants, vous devez les convertir en valeurs numériques utilisables par le modèle.

Cette étape est nécessaire, car les modèles RNN ne prennent que des nombres, pas des chaînes de caractères. Vous allez créer des tableaux numériques contenant des zéros ou des uns aux positions représentant les caractères présents dans les phrases. Les uns (ou True) indiquent que le caractère correspondant est présent, tandis que les zéros (ou False) indiquent son absence à cette position dans la phrase.

Les variables sentences, next_char, n_vocab, chars_window, num_seqs (nombre de phrases dans les données d'entraînement) sont déjà chargées dans l'environnement, de même que numpy sous le nom np.

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

  • Instanciez un np.array() rempli de zéros et de forme (nombre de phrases, fenêtre de caractères, taille du vocabulaire).
  • Utilisez le dictionnaire char_to_index pour positionner le caractère courant à 1.
  • Placez le prochain caractère courant à 1.
  • Affichez la première position de chaque tableau.

Exercice interactif pratique

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

# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)

# Loop for every sentence
for i, sentence in enumerate(sentences):
  # Loop for every character in sentence
  for t, char in enumerate(sentence):
    # Set position of the character to 1
    numerical_sentences[i, t, ____] = ____
    # Set next character to 1
    ____[i, char_to_index[next_chars[i]]] = 1

# Print the first position of each
print(____, ____, sep="\n")
Modifier et exécuter le code