Predicción de texto con LSTMs
Durante los siguientes ejercicios construirá un modelo de juguete LSTM capaz de predecir la siguiente palabra utilizando un pequeño conjunto de datos de texto.
Este conjunto de datos consta de citas depuradas de las películas de El Señor de los Anillos. Puede encontrarlos en la variable text
.
Convertirás este text
en sequences
de longitud 4 y harás uso de Keras Tokenizer
para preparar las características y etiquetas para tu modelo.
Keras Tokenizer
ya está importado para que lo utilices. Asigna un número único a cada palabra única y almacena las correspondencias en un diccionario. Esto es importante ya que el modelo trata con números pero más tarde querremos decodificar los números de salida en palabras.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con Keras
Instrucciones de ejercicio
- Divida el texto en una matriz de palabras utilizando
.split()
. - Haz frases de 4 palabras cada una, moviendo una palabra cada vez.
- Instancie un
Tokenizer()
, y luego ajústelo a las sentencias con.fit_on_texts()
. - Convierte
sentences
en una secuencia de números llamada.texts_to_sequences()
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Split text into an array of words
words = ____.____
# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
sentences.append(' '.join(words[i-____:i]))
# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)
# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))