开始使用免费开始使用

使用 LSTM 进行文本预测

在接下来的练习中,您将构建一个玩具版的 LSTM 模型,用一个小型文本数据集来预测下一个单词。 该数据集包含清洗过的《The Lord of the Ring》电影台词。您可以在变量 text 中找到它们。

您将把这个 text 转换为长度为 4 的 sequences,并使用 Keras 的 Tokenizer 来为模型准备特征和标签!

Keras 的 Tokenizer 已为您导入。它会为每个唯一单词分配一个唯一编号,并将映射保存在字典中。这一点很重要,因为模型处理的是数字,而我们稍后需要将输出的数字再解码回单词。

本练习是课程的一部分

Keras 深度学习入门

查看课程

练习说明

  • 使用 .split() 将文本拆分为单词数组。
  • 以每次移动 1 个单词的方式,构造由 4 个单词组成的句子。
  • 实例化一个 Tokenizer(),并使用 .fit_on_texts() 在这些句子上进行拟合。
  • 调用 .texts_to_sequences()sentences 转换为数字序列。

交互式实操练习

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

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