共计 2340 个字符,预计需要花费 6 分钟才能阅读完成。
前情概括
词对齐工作分为三大实现形式,详情见词对齐工作概述,此为其一。
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 的加分项。