copy net 和 pointer softmax network都是在ACL 2016上提出的,目的是为了解决OOV的问题,本篇主要是想借此总结一下copy机制的原理。
论文阅读
Incorporating Copying Mechanism in Sequence-to-Sequence Learning
Jiatao Gu, Zhengdong Lu
The University of Hong Kong & Huawei Noah’s Ark Lab
ACL 2016
这篇提出了copynet的思路,同时结合了generative和copy两种方式,对OOV词采用直接copy的方式。attention中包含了两个部分,第一个部分是词表,用one hot向量表示的,第二个部分是encoder的隐藏状态,即输入的句子,之所以用隐藏状态是因为其包含有位置信息,这个对生成很重要。建模是通过两者的叠加,例子中就是Prob(“Jebara”) = Prob(“Jebara”, g) + Prob(“Jebara”, c)。

M是输入隐藏层状态的集合, ct c t 是attention score, st s t 是输出的隐藏状态,g代表生成,c代表复制。
生成还是复制基于概率最大来选择,加了一个简单的限制规则,如果 yt y t 在输入中没出现,那么肯定不会是copy, p(yt,c|∗)=0 p ( y t , c | ∗ ) = 0 ;如果

这篇博客主要介绍了如何在seq2seq学习中引入copy机制,以解决OOV问题。CopyNet结合了生成和复制两种方式,通过attention机制中的词表和隐藏状态进行建模。Pointer Softmax Network进一步解决了复制或生成以及复制位置的问题,用一个参数来决定point或generate,并使用location softmax确定复制位置。Pointer Network则预测输出对应输入的哪个词。

1万+

被折叠的 条评论
为什么被折叠?



