是什么

在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的统计概率的计算形式,并且提供了数据集。