这篇论文参考了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}) X=(x1,x2,,,,xT)和目标句子 Y = ( y 1 , y 2 , , , , y T ) Y = (y_{1}, y_{2}, ,,,y_{T}) Y=(y1,y2,,,,yT),NMT的目标是建模概率分布 p ( y t ∣ X , y 1 , y 2 , , , y t − 1 ) p(y_{t}| X, y_{1}, y_{2},,, y_{t-1}) p(yt∣X,y1,y2,,,yt−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}) p(yt∣X,y1,y2,,,yt−1,ΦX)。其中 Φ X \Phi_{X} Φ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=[(X1,Y1),(X2,Y2),,,,,(XN,YN)]。其中, X i 是 源 句 子 , Y i 目 标 句 子 X^{i}是源句子,Y^{i}目标句子 Xi是源句子,Yi目标句子, X i X^{i} Xi是通过某种相似度度量从训练集中检索出的句子。
检索的方式
基于IDF的句子检索
对于token
t
t
t,其IDF(逆文档频率)
f
t
=
l
o
g
∣
∣
C
∣
∣
n
t
f_{t}=log {||C|| \over n_{t}}
ft=lognt∣∣C∣∣,其中,
C
C
C是训练集中句子对的个数,
n
t
n_{t}
nt是token t出现的次数。对于语料中的两个句子对
(
X
i
,
Y
i
)
和
(
X
j
,
Y
j
)
(X^{i}, Y^{i})和(X^{j}, Y^{j})
(Xi,Yi)和(Xj,Yj),其相似性度量公式是:
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}
sim(Xi,Xj)=2t∈(Xi∩Xj)∑ft−t∈(Xi∪Xj)∑ft(1)
对于语料中的每个句子,都会为其检索出N个最相似的句子对,对于句子
X
X
X,其
Φ
X
\Phi_{X}
ΦX通过公式(1)得到。
基于N-Gram的检索方式
在这种检索方式中,每个句子都被它的n-gram集合代替,设句子 X = ( t 1 , , , t T ) X= (t_{1},,,t_{T}) X=(t1,,,tT), 它的n-gram集合记为 S X n = [ ( t i , , , t i + n ) , 1 < = i < = T ] S_{X}^{n} = [(t_{i},,,t_{i+n}), 1<=i<=T] SXn=[(ti,,,ti+n),1<=i<=T], S X n S_{X}^{n} SXn中包含很多冗余的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^Xn=[(ti,,,ti+n),1<=i<=T,i%2n=1]。
对于 S ^ X n \hat{S}_{X}^{n} S^Xn中的每一个n-gram,我们通过(1)式在训练集中检索出最相似的,对于每一个被检索出的n-gram,找到相应的句子对加入 Φ X \Phi_{X} Φ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] [Yi,1<=i<=N],将所有的target的编码按照时间序列拼接在一起就是Conditional Source Target Memory。
Gated Multi-Source Attention