论文 Non-Parametric Adaptation for Neural Machine Translation阅读笔记

这篇论文参考了Encoding Gated Translation Memory into Neural Machine
Translation。建议先阅读这篇论文之后再阅读本论文。

传统的NMT(Neural machine translation)模型的泛化能力很强,但是对于专业领域的翻译或者罕见词汇的翻译就不那么准确了。如何解决这个问题?本文作者是这样做的,在decoder阶段加入一些具有专业领域或者罕见词的知识,这些知识可以用来影响NMT的句子的生成,从而提高专业领域的翻译的准确性。这样的模型本文作者称之为半监督模型(Semi-parametric NMT )。

Semi-parametric NMT的目标

NMT模型依赖于seq2seq框架,也就是给定一个源句子 X = ( x 1 x 2 , , , , x T ) X = (x_{1},x_{2},,,,x_{T}) 和目标句子 Y = ( y 1 , y 2 , , , , y T ) Y = (y_{1}, y_{2}, ,,,y_{T}) ,NMT的目标是建模概率分布 p ( y t X , y 1 , y 2 , , , y t 1 ) p(y_{t}| X, y_{1}, y_{2},,, y_{t-1})

那么Semi-parametric NMT的目标就是建模概率分布 p ( y t X , y 1 , y 2 , , , y t 1 , Φ X ) p(y_{t}| X, y_{1}, y_{2},,, y_{t-1}, \Phi_{X}) 。其中 Φ X \Phi_{X} 就是前面提到的外部知识, Φ X = [ ( X 1 , Y 1 ) , ( X 2 , Y 2 ) , , , , , ( X N , Y N ) ] \Phi_{X} = [(X^{1}, Y^{1}), (X^{2}, Y^{2}),,,,,(X^{N}, Y^{N})] 。其中, X i Y i X^{i}是源句子,Y^{i}目标句子 X i X^{i} 是通过某种相似度度量从训练集中检索出的句子。

检索的方式
基于IDF的句子检索

对于token t t ,其IDF(逆文档频率) f t = l o g C n t f_{t}=log {||C|| \over n_{t}} ,其中, C C 是训练集中句子对的个数, n t n_{t} 是token t出现的次数。对于语料中的两个句子对 ( X i , Y i ) ( X j , Y j ) (X^{i}, Y^{i})和(X^{j}, Y^{j}) ,其相似性度量公式是:
s i m ( X i , X j ) = 2 t ( X i X j ) f t t ( X i X j ) f t (1) \tag{1} sim(X^{i}, X^{j}) = 2\sum_{t \in(X^{i} \cap X^{j})}f_{t} - \sum_{t \in(X^{i} \cup X^{j})}f_{t}
对于语料中的每个句子,都会为其检索出N个最相似的句子对,对于句子 X X ,其 Φ X \Phi_{X} 通过公式(1)得到。

基于N-Gram的检索方式

在这种检索方式中,每个句子都被它的n-gram集合代替,设句子 X = ( t 1 , , , t T ) X= (t_{1},,,t_{T}) , 它的n-gram集合记为 S X n = [ ( t i , , , t i + n ) , 1 < = i < = T ] S_{X}^{n} = [(t_{i},,,t_{i+n}), 1<=i<=T] S X n S_{X}^{n} 中包含很多冗余的n-gram,所以要按照一定的方式去除一部分,去除之后的集合记为 S ^ X n = [ ( t i , , , t i + n ) , 1 < = i < = T , i % n 2 = 1 ] \hat{S}_{X}^{n} = [(t_{i},,,t_{i+n}), 1<=i<=T, i \% {n \over 2 }= 1]

对于 S ^ X n \hat{S}_{X}^{n} 中的每一个n-gram,我们通过(1)式在训练集中检索出最相似的,对于每一个被检索出的n-gram,找到相应的句子对加入 Φ X \Phi_{X} 集合。若有多个句子,则随机选择一个。

基于N-gram的稠密向量检索方式

使用预训练好的Transformer对句子编码,然后每一个n-gram被表示成其组员的向量的平均。然后使用L2距离度量相似性。值得注意的是,这里每个单词都被表示成sub-words的形式。

本文的NMT模型
Conditional Source Target Memory

在这里插入图片描述
注意信息流动是从最右边的cell编码后逐渐流入最左边的cell,所以最后编码source sentence的时候是融入了retrieved sentence(包括源和目标句子)的信息。

对于 Φ \Phi 中的targets 的编码 [ Y i , 1 < = i < = N ] [Y^{i}, 1<=i <= N] ,将所有的target的编码按照时间序列拼接在一起就是Conditional Source Target Memory。

Gated Multi-Source Attention

在这里插入图片描述
在这里插入图片描述