ComenzarEmpieza gratis

Preparación de los datos para el entrenamiento

En este ejercicio, continuarás preparando los datos para entrenar el modelo. Después de crear los arreglos de oraciones y caracteres siguientes, debes transformarlos en valores numéricos que puedan utilizarse en el modelo.

Este paso es necesario porque los modelos RNN solo admiten números, no cadenas de caracteres. Crearás arreglos numéricos que tienen ceros o unos en las posiciones que representan los caracteres presentes en las oraciones. Los unos (o « True ») representan que el carácter correspondiente está presente, mientras que los ceros (o « False ») representan la ausencia del carácter en esa posición de la frase.

Las variables sentences, next_char, n_vocab, chars_window, num_seqs (número de frases en los datos de entrenamiento) ya están cargadas en el entorno, así como numpy como np.

Este ejercicio forma parte del curso

Redes neuronales recurrentes (RNN) para el modelado del lenguaje con Keras

Ver curso

Instrucciones del ejercicio

  • Instancia un objeto de tipo « np.array() » con valores cero y forma « (number of sentences, characters window, vocabulary size) ».
  • Utiliza el diccionario char_to_index para establecer la posición del carácter actual en 1.
  • Establece el siguiente carácter actual en 1.
  • Imprime la primera posición de cada arreglo.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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")
Editar y ejecutar código