传统的神经方法不能处理OOV以及解码时的重复问题。这篇文章提出point网络用来解决OOV问题coverage用来解决重复问题。
解码时用到的vocabulary是这个batch里的词组成且是频率从高到低的N-Size个词,这个batch里的其他词不放入vocabulary里比如超低频词。
注意这里P玳表的是一个soft switch 而不是一个hard switch由公式(7)可知,解码生成某个词的概率由两部分组成第一个是生成模式生成这个词的概率;第二个是从源句子裏抽取某个词的概率。公式七里有几个要解释的点:
- i:wi=w 表示源句子中和词w相同的位置
如果w是个OOV词则Pvoc(w)就等于0;如果w没有出现在源文档中,则公式7左边的第二个components就等于0
两个向量相应位置处的元素取最小值然后在向量上求和。上面公式里的a(i,t)代表解码第i个词时对应的attention soce用他来和C做仳较。the final loss function(下面公式单个step的loss):