Préparation des données pour la formation
Dans cet exercice, vous allez poursuivre la préparation des données nécessaires à l'entraînement du modèle. Après avoir créé les tableaux de phrases et de caractères suivants, vous devez les transformer en valeurs numériques pouvant être utilisées dans 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 correspondant aux caractères présents dans les phrases. Les uns (ou l'True
) représentent la présence du caractère correspondant, tandis que les zéros (ou l'False
) représentent l'absence du caractère à 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, tout comme numpy
et np
.
Cet exercice fait partie du cours
Réseaux neuronaux récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- Instanciez un tableau de type «
np.array()
» avec des valeurs nulles et une forme «(number of sentences, characters window, vocabulary size)
». - Veuillez utiliser le dictionnaire
char_to_index
pour définir la position du caractère actuel sur1
. - Définissez le caractère suivant actuel sur «
1
». - Imprimez 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")