开始使用免费开始使用

准备输入文本

您已经在视频中看到如何准备输入文本和输出文本。本练习将演示一种常见做法:使用句子的最大长度对所有句子进行填充,这样就不会丢失信息。

由于 RNN 模型要求输入具有相同的尺寸,这是一种对所有句子进行填充的方法:对较短的句子补零,而不截断较长的句子。

此外,您将使用词而不是字符来表示标记,这在 NMT(神经机器翻译)模型中很常见。

葡萄牙语文本已加载到变量 pt_sentences,已拟合好的分词器(tokenizer)在变量 input_tokenizer 中。

本练习是课程的一部分

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

查看课程

练习说明

  • 对每个句子使用 .split() 方法按空白字符拆分,并得到该句子的单词数量。
  • 使用 .texts_to_sequences() 方法将文本转换为索引序列。
  • 使用获得的最大句子长度对序列进行填充。
  • 打印第一个转换后的句子。

交互式实操练习

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

# Get maximum length of the sentences
pt_length = max([len(sentence.____) for sentence in pt_sentences])

# Transform text to sequence of numerical indexes
X = input_tokenizer.____(pt_sentences)

# Pad the sequences
X = pad_sequences(X, maxlen=____, padding='post')

# Print first sentence
print(pt_sentences[0])

# Print transformed sentence
print(____)
编辑并运行代码