为什么我们在NLP任务中填充?

时间:2017-06-16 00:52:44

标签: nlp deep-learning

在NLP任务中,人们使用SOC(句子的开头)和EOC(句子的结尾)来注释句子是很常见的。他们为什么这样做?

这是一项依赖任务的表现吗?例如,你在NER问题中填充的原因与你为翻译问题填充的原因不同吗?在NER问题中,你做填充以从上下文中提取更多有用的功能,但是在翻译问题中,你会使用填充来识别句子的结尾,因为解码器是逐句训练的。

1 个答案:

答案 0 :(得分:0)

为什么NLP中有输出填充结束?

假设我们想要使用RNN(递归神经网络)为我们完成一个句子。让我们给它句子“如果一开始你没有成功”。我们希望输出“再试一次”,然后知道停止。这是重要的一站。如果我们只使用句号,那么我们就不能使用相同的RNN来输出多句话的响应。

如果我们使用RNN来回答问题,那么答案可能有多个句子。

为什么NLP中输出填充的开始?

假设我们在诗歌上训练RNN,我们希望它以我们训练它的方式制作原创诗歌。我们必须给它第一个开始诗歌的标记。我们可以给它第一个字,...... 我们可以说开始。如果我们将RNN训练为始终从唯一令牌(如输出令牌的开头)开始,则RNN可以选择要使用的第一个词。

摘要

事情的开始和结束对我们来说是如此直观,我认为很容易忘记,在某一点上我们必须学习足够的时间(结束令牌)以及何时或如何开始(开始令牌) ,但这些都是RNN必须学习的东西。

相关问题