Predicción de texto con LSTMs
En los siguientes ejercicios vas a construir un modelo LSTM sencillo capaz de predecir la siguiente palabra usando un pequeño conjunto de datos de texto.
Este conjunto contiene citas depuradas de las películas de The Lord of the Rings. Puedes encontrarlas en la variable text.
Convertirás este text en sequences de longitud 4 y usarás el Tokenizer de Keras para preparar las características y las etiquetas de tu modelo.
El Tokenizer de Keras ya está importado para que lo uses. Asigna un número único a cada palabra única y guarda las correspondencias en un diccionario. Esto es importante porque el modelo trabaja con números, pero luego querremos decodificar los números de salida de vuelta a palabras.
Este ejercicio forma parte del curso
Introducción al Deep Learning con Keras
Instrucciones del ejercicio
- Divide el texto en un array de palabras usando
.split(). - Crea oraciones de 4 palabras, avanzando una palabra cada vez.
- Instancia un
Tokenizer(), luego ajústalo sobre las oraciones con.fit_on_texts(). - Convierte
sentencesen una secuencia de números llamando a.texts_to_sequences().
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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]))