开始使用免费开始使用

结合上下文生成句子

在本练习中,您将试验一个用于文本生成的预训练模型。模型已通过变量 model 加载到环境中,同时还提供了 initialize_params()get_next_token() 函数。

后者会使用预训练模型来预测下一个字符,并返回 3 个变量:下一个字符 next_char、更新后的句子 res,以及将用于预测下一个字符的移位文本 seq

您将定义一个函数,输入为一个预训练模型和一个字符串,该字符串作为生成句子的起始内容。这样做有助于在有上下文的情况下生成文本。100 个字符的句子上限只是示例,您在自己的应用中可以使用其他上限(甚至不设上限)。

本练习是课程的一部分

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

查看课程

练习说明

  • 将变量 initial_text 传入 initialize_params() 函数。
  • 创建循环终止条件:当计数器达到 100,或发现句点(r'.')时停止。
  • 将初始值 resseq 传入 get_next_token() 函数以获取下一个字符。
  • 打印由您定义的函数生成的示例短语。

交互式实操练习

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

def generate_phrase(model, initial_text):
    # Initialize variables  
    res, seq, counter, next_char = initialize_params(____)
    
    # Loop until stop conditions are met
    while counter < ____ ____ next_char != r'.':
      	# Get next char using the model and append to the sentence
        next_char, res, seq = get_next_token(model, ____, ____)
        # Update the counter
        counter = counter + 1
    return res
  
# Create a phrase
print(____(model, "I am not insane, "))
编辑并运行代码