在我的文本生成数据集中,我已经将所有不常见的词转换成了标记(未知词),这是大多数文本生成文献所建议的做法。
然而,当我训练一个RNN网络以输入句子的部分内容并预测剩余的句子时,我不确定如何阻止网络生成标记。当网络在训练集中遇到一个未知(不常见)的词时,它的输出应该是什么?
示例:
句子:I went to the mall and bought a <ukn> and some groceries
网络输入:I went to the mall and bought a
当前网络输出:<unk> and some groceries
期望的网络输出:??? and some groceries
除了<unk>
之外,它应该输出什么?
我不希望构建一个输出未知词的生成器。
回答:
RNN会给你提供在文本中最可能出现的下一个标记的样本。在你的代码中,你选择了概率最高的标记,在这种情况下是「unk」。
在这种情况下,你可以省略「ukn」标记,只需选择RNN根据其输出的概率值建议的下一个最可能的标记即可。