共计 4012 个字符,预计需要花费 11 分钟才能阅读完成。
是什么
在 machine translation 中的词对齐问题。算是机器翻译的子衍生问题吧,感觉利用面不是很广。一篇文文献里的自述:Word Alignment is the task of finding the correspondence between source and target words in a pair of sentences that are translations of each other.
个别这种对应关系会被示意成这样子的相关矩阵,谁分数高就示意谁与谁对齐,我就把他叫做 词相关矩阵 了(不晓得其他人是不是这么叫的):
掂量
最常见的是 AER(https://zhuanlan.zhihu.com/p/…),当然还有 recall precision(见 https://arxiv.org/pdf/2103.17…)。
如何实现此指标
因为是机器翻译外面的问题,其实现依存于机器翻译模型,英文 MT(machine translation)。MT 分为两大支流实现形式:NMT(nueral MT)和 SMT(statistical MT)。
- SMT 算是比拟早支流的了,经典的统计办法模型,IBM 模型 1 2 3 代等等。
- NMT 是因为深度学习崛起大部分人在深挖其与本工作的联合形式,大部分应用 LSTM、RNN、CNN 等支流组件去实现。
- 互信息直算
实现此指标,换句话说是如何求出第一局部那个词与词的矩阵。
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)。
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 的加分项。
繁多词对齐为指标的相干文章
以下纯从工程师落地角度对待
纯实现不同语言间的 word alignment繁多指标,没有依附于机器翻译,单纯就是词(组)找词(组)。以下工作都是为了找到不同语言间 word 的线性映射 $W$。独特特点是无监督,不须要对齐的语料做训练。
VecMap(ACL 2017)
提出线性映射即可在不同语言之间实现词翻译,
提出了 self supervised 办法,不须要平行语料进行训练
流程
办法是一个迭代办法,求两个语料之间的 $W$ 线性映射。
缺点
双语对应一个 $W$,多语种间接 $A_n^2$,不不便。
MUSE(ICLR2018)
办法
先 adversarial 办法失去 rough 的映射关系(图中(B)),后用 Procrustes 精密求映射(图中(C))。
adversarial 具体形式:A discriminator is trained to discriminate between elements randomly sampled from $WX = (W _{x1}, …, W_{xn})$ and $Y$. 登到
等到 discriminator 判断不进去了,就间接用此时的 $W$ 作为最后的映射了。接下来就进行 refine(图中 (C)) 步骤。evaluation
因为间接应用 cos sim 会呈现导致一个 hubness 的景象:有些向量(称作 hubness,枢纽),是很多其余点的最近邻,而有些点(anti-hubness)则不是任何点的最近邻。因为最近邻是非对称的,y 是 x 的最近邻不代表 x 是 y 的最近邻。所以作者应用了借鉴的cross-domain similarity local scaling(CSLS)。
- word translation
实现不同语言间单个单词的翻译。
最根本的想法 cosine 类似度来选取最近邻词。但这会导致 hubness 景象:有些词 (称为 hubness) 是很多词的最近邻点,而有些词(anti-hubness)却不是任何点的最近邻点。为了惩办这些 hubness,作者定义了 CSLS 间隔,之后的后果都是应用 CSLS 做 eval 的。 Sentence translation retrieval
实现句子级别的“翻译”。采纳了词袋的办法实现,一个句子被打包成词袋,而后还是通过词汇合向量间隔找词汇合。
MUVE(cvpr2020)
对于前两个工作来说,muve 退出了图像信息进行词 embedding 的初始化(也就是仅仅对第一步做了改良,退出了图像信息)。
改良的第一步流程
如此图所示,$\mathcal{Y}$ 有一个 AdaptLayer,这个 layer 就是个 linear,MUVE 把他的 $W$ 间接拿来做初始的 $W$ 了。其余的步骤是一样的。
此步骤的训练 objective 是:
对于 X 和 Z 来说,就是 NCE loss,Y 和 Z 也相似。NCE 具体是:
eval
- 词对词翻译
- 短语级别的翻译(在 how to world 数据集上)
WALIP (arxiv2022.5.23)
想法
流程
比照前人工作,提出了 robust procrustes;对第一步同样应用了 image 和 text,然而是另一种实现(应用了 clip 的)
eval
- 词对词
exp 的后果比拟和其余 baseline 其实相差不大。
4 篇工作总结
- 根本遵循 2 个步骤,step1 初始化单词映射汇合,step2 迭代求得所有单词映射,都是双语之间的办法。区别在于 step1 是否应用视觉信息,step2 是否有 robust 改良。
- evaluation 的办法都波及了词对词翻译和词袋级别的翻译,应用办法都是 cos sim 和改良的 CSLS。
数据集
- Dictionary、Dictionary(visual):纯单词
Simple Words、Simple Words(visual):纯单词
- Human Query:短语
HowToW:教你如何干货色的视频,video 和 text 都有,video 是 video,text 是字幕。
杂项
杂项
● word2word(ACL 2020),一个多语种点对点词典
也提出了一种叫 CPE 的统计概率的计算形式,并且提供了数据集。