Previsão de texto com LSTMs
Nos próximos exercícios, você vai construir um modelo LSTM simples capaz de prever a próxima palavra usando um pequeno conjunto de dados de texto.
Este conjunto contém citações limpas dos filmes The Lord of the Ring. Você as encontra na variável text.
Você vai transformar esse text em sequences de comprimento 4 e usar o Tokenizer do Keras para preparar as features e os labels do seu modelo!
O Tokenizer do Keras já foi importado para você usar. Ele atribui um número exclusivo a cada palavra única e armazena os mapeamentos em um dicionário. Isso é importante porque o modelo lida com números, mas depois vamos querer decodificar os números de saída de volta em palavras.
Este exercício faz parte do curso
Introdução ao Deep Learning com Keras
Instruções do exercício
- Separe o texto em um array de palavras usando
.split(). - Monte frases de 4 palavras cada, avançando uma palavra por vez.
- Instancie um
Tokenizer(), depois ajuste-o nas frases com.fit_on_texts(). - Converta
sentencesem uma sequência de números chamando.texts_to_sequences().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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]))