Adivinhar o próximo caractere
Neste exercício, você vai programar a função para prever o próximo caractere usando um modelo treinado. Você vai usar os últimos 20 caracteres pra adivinhar o próximo. Você vai aprender a treinar o modelo na próxima aula, já que essa etapa é essencial antes do treinamento do modelo.
Esse é o primeiro passo pra criar regras pra gerar frases, parágrafos, textos curtos ou outros blocos de texto, conforme necessário.
As variáveis n_vocab, chars_window e o dicionário index_to_char já estão carregados no ambiente. Além disso, as funções abaixo já estão prontas pra você usar:
initialize_X(): Transforma o texto que você digita em uma sequência de números de índice com o formato certo.predict_next_char(): Pega o próximo caractere usando o método “.predict()” da classe modelo e o dicionário “index_to_char”.
Este exercício faz parte do curso
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
Instruções do exercício
- Defina a função
get_next_char()e adicione os parâmetrosinitial_textechars_windowsem valores padrão. - Use a funçã
initialize_X()e passe a variávelchar_to_indexpra pegar um vetor de zeros que vai ser usado pra previsão. - Use a função “
predict_next_char()” pra pegar a previsão e guardar na variável “next_char”. - Imprima o caractere previsto aplicando a função definida no
initial_textfornecido.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def ____(model, ____, ____, char_to_index, index_to_char):
# Initialize the X vector with zeros
X = ____(initial_text, chars_window, ____)
# Get next character using the model
____ = predict_next_char(model, X, ____)
return next_char
# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))