前情概括
词对齐工作分为三大实现形式,详情见词对齐工作概述,此为其一。
NMT附丽下的word alignment
说道机翻显然就想到transformer,其encoder-decoder构造其实即使是在应用了lstm等模型上也是这样的,附丽在NMT的word alignment工作就能够间接应用seq2seq的输入对输出的词attention(动图https://www.bilibili.com/vide...,36:00)来表征word alignment。
词互信息(PMI)直算
这个是很intuitive的办法,我不应用任何模型,间接用概率统计的办法,算出两词间的互信息值,很多文章里叫PMI(pointwise mutual information),间接用这个值作为根据,填出词相关矩阵。
互信息是什么?这个场景下的互信息怎么算?见https://blog.csdn.net/index20...。
附丽NMT的词对齐
这种模式的word alignment的最终解决形式是求得word的相关矩阵,用分数示意各个词的相关度,文章中名词叫做soft align。
经典seq2seq+att的模型和transformer based模型会在decoder阶段失去以后输入词与原sentence的词的attention,利用此能够组成相关矩阵。
对于老式的seq2seq+att来说,
对于transformer来说,
值得注意的一点是,只管bert是在transformer的根底上倒退来的,只取了transformer的encoder,在文字了解、浏览等工作有宽泛应用和很好成绩,然而在机器翻译这一工作上bert encoder的体现 很个别 ,甚至不如lstm等老牌rnn,连带的word alignment也不算好(ACL 2019)。
MT和词对齐都做得好 (EMNLP 2019)
文章简介挑明,只管机翻工作NMT完爆SMT,然而词对齐工作概率统计办法依然是下风
on the closely related task of word alignment, traditional statistical word alignment models often remain the go-to solution.
也就是只管深度学习fancy一点,在词对齐工作上还是打不过概率统计模型。
本文提出既能很好的机翻,又能很好的词对齐的模型。
办法
在原有的transformer根底上,减少词对齐loss(文章标识为multi-task),和扩增了attention的范畴(文章标识full-context)。
- 减少词对齐loss:新设立一个相关矩阵$G$,拿transformer的倒数第二层的att做$G$的label,用KL散度做词对齐的loss。
- 扩增attention:transformer原型decoder阶段只计算后方的att,但词对齐是不论先后的,此文扩增了att的范畴,叫做full context。
eval
giza++做baseline,在应用了giza++做训练信息后的模型能力在词对齐工作上战胜giza++。
MarianNMT
自身是一个汇合了很多seq2seq和transformer的机器翻译的工具箱,word alignment能够依附于机器翻译,应用src的word embedding与target embedding计算词汇的相关矩阵。
从可解释性角度进行word align (ACL 2019)
前言
文章借鉴了LRP删除法判断重要性的办法(ACL 2016)。
LRP最先在cv畛域提出。具体来说,对于cv来说,删掉某一部分使得模型错判,则阐明此局部对于后果是重要的。
在nlp中,上文提出间接把word embedding全0示意来“删除”这个word。
LRP能给出每个word对后果的相干值。
·
文章首先摸索了应用bert的att的办法也不咋地,应用transformer做word alignment工作的话有些甚至不如用互信息(PMI)直算:
文章一共比拟了
- 互信息直算(PMI)
- 用transformer attention
他的两种model agnostic的办法,一个叫PD,一个叫EAM
PD(prediction difference)办法
其办法如下,对于一个填词问题来说,把原sentence的某一个word $x$替换成全0embedding,把替换前后的模型输入词$y$的差值作为x与y的“相关度”。
不同于直算或者attention办法的word alignment,本篇文章间接应用删除word对后果的差别大小来作为两个语言相关矩阵的值。
EAM(Explicit Alignment Model)办法
对于一个曾经训练好的NMT模型,源语言的word x和目标语言的word y是这样算的:
而后归一化一下
这个$W$是要训练的。
后果
fast align是IBM mode 2的一个实现,就是纯概率统计模型的词对齐模型。AER是越小越好,这表只能看出,作者的EAM和PD比应用transformer的attention做词对齐好,然而比不上IBM model 2.
其实这个后果看了挺悲观的,原本就是以词对齐为工作向导,后果搞了一顿这个办法还不如经典概率统计的后果……
然而看完还是有意义的,这篇文章给出了在训练好NMT模型后,想要附加一个词对齐的工作该如何下手。
小结
这篇文章从可解释性角度找了model agnostic的办法进行word alignment,而不是间接给出端到端的模型。
然而不论是EAM还是PD,都首先要有一个齐全训练实现的NMT模型,对于EAM办法来说,还要再训一个$W$。
能够这么说,文章的角度是机器翻译工作附带了词对齐工作,算个add on的加分项。