CommencerCommencer gratuitement

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

Dans cet exercice, vous allez continuer à préparer les données pour entraîner le modèle. Après avoir créé les tableaux de phrases et de caractères suivants, vous devez les transformer en valeurs numériques utilisables par le modèle.

Cette étape est nécessaire, car les modèles RNN n’acceptent que des nombres et non 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 de 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, ainsi que numpy sous le nom np.

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

  • Instanciez un np.array() rempli de zéros avec la 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.
  • Positionnez le caractère suivant courant à 1.
  • Affichez la première position de chaque tableau.

Exercice interactif pratique

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

# 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