开始使用免费开始使用

预测下一个字符

在本练习中,您将编写函数来在已训练模型的基础上预测下一个字符。模型将使用过去 20 个字符来预测下一个字符。如何训练模型会在下一课中讲解,因为这是开始训练前的关键步骤。

这是为生成句子、段落、短文本或其他文本块建立规则的起点。

变量 n_vocabchars_window 和字典 index_to_char 已在环境中加载。同时,下面这些函数也已为您创建:

  • initialize_X():将文本输入转换为具有正确形状的索引序列。
  • predict_next_char():使用模型类的 .predict() 方法和 index_to_char 字典获取下一个字符。

本练习是课程的一部分

使用 Keras 构建语言建模的循环神经网络(RNN)

查看课程

练习说明

  • 定义函数 get_next_char(),并添加参数 initial_textchars_window,不设默认值。
  • 使用 initialize_X() 函数并传入变量 char_to_index,得到用于预测的全零向量。
  • 使用 predict_next_char() 函数获取预测结果,并将其保存到变量 next_char 中。
  • 对给定的 initial_text 调用您定义的函数,并打印预测得到的字符。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)))
编辑并运行代码