开始使用免费开始使用

创建句子和下一个字符的向量

本练习旨在进一步强调数据准备的重要性。您将把《生活大爆炸》角色 Sheldon 的台词文本作为输入,创建句子索引向量和相应的下一个字符向量,这些都是在构建文本生成模型之前所需的步骤。

文本保存在变量 sheldon 中,词表(字符集)保存在变量 vocabulary 中,超参数 chars_windowstep 已定义为 203。这表示将使用长度为 20 个字符的序列来预测下一个字符,并且滑动窗口在每次迭代时右移 3 个字符。

此外,已在环境中加载 pandas 包并命名为 pd

本练习是课程的一部分

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

查看课程

练习说明

  • 按换行符拆分文本,以便按句子进行循环。
  • 循环到句子末尾减去 chars_window 为止。
  • 将当前包含 chars_window 个字符的句子片段追加到变量 sentences,并将其后的下一个字符追加到变量 next_chars
  • 使用得到的向量创建一个 pd.DataFrame(),并打印其前几行。

交互式实操练习

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

# Instantiate the vectors
sentences = []
next_chars = []
# Loop for every sentence
for sentence in sheldon.____:
    # Get 20 previous chars and next char; then shift by step
    for i in range(0, len(sentence) - ____, step):
        sentences.append(sentence[i:i + ____])
        next_chars.append(sentence[____ + chars_window])

# Define a Data Frame with the vectors
df = pd.DataFrame({'sentence': ____, 'next_char': ____})

# Print the initial rows
print(df.head())
编辑并运行代码