词对齐任务:端到端模型

编程入门 行业动态 更新时间:2024-10-21 11:31:22

词对齐任务:<a href=https://www.elefans.com/category/jswz/34/1770622.html style=端到端模型"/>

词对齐任务:端到端模型

前情概括

词对齐任务分为三大实现方式,详情见词对齐任务概述,此为其一。


以为2013年的文章前提:线性映射即可在不同语言之间实现词对齐,求出此线性映射,就可以是直接求两词之间的mapping,就可以词对齐。

VecMap(ACL 2017)

方法是一个迭代方法,求两个语料之间的 W W W线性映射。

流程


文章想要找到一个 W W W,使得两个语种之间的映射后距离最小:

X X X是源语言的embedding, Y Y Y是目标语言的embedding,embedding是word2vec训得的, W W W 是要求的线性映射, D D D是词典,倘若原句 x i x_i xi​与 y i y_i yi​目标句的 是匹配的,则是1,不然是0.
要求解 ,文章还加了个条件,W是正交矩阵。经过一系列简化,简化到了 W W W 是能直接算出来的。

eval

这个eval是取XW与Z的dot分,也就是 ( X W ) T Z (XW)^TZ (XW)TZ,做两词的相关分数的。

数据集小得可怜! 只有5k组词。而且目标函数优化的就是XW和Z的距离,eval又用这个去取,额…
文章中的题目其实是Learning bilingual word embeddings with (almost) no bilingual data,看实验数据意思是即便是在pair极少的情况下,仍能有好效果。
给出了一种迭代更新的思想 ,并且延续了源词和目标词的线性映射这个假设。


MUSE(ICLR2018)

方法

先adversarial方法得到rough的映射关系(图中(B)),后用Procrustes精细求映射(图中(C))。

  • adversarial具体方式:A discriminator is trained to discriminate between elements randomly sampled from W X = ( W x 1 , . . . , W x n ) WX = (W _{x1}, ..., W_{ xn}) WX=(Wx1​,...,Wxn​) and Y Y Y.登到
    等到discriminator判别不出来了,就直接用此时的 W W W作为最初的映射了。接下来就进行refine(图中(C))步骤。

evaluation

自创距离 。由于直接使用cos sim会在KNN出现一个hubness的现象:有些向量(称作hubness,枢纽),是很多其他点的最近邻,而有些点(anti-hubness)则不是任何点的最近邻。因为最近邻是非对称的,y是x的最近邻不代表x是y的最近邻。所以作者使用了自创的cross-domain similarity local scaling(CSLS)。

  • word translation
    实现不同语言间单个单词的翻译。数据自建了100k word pairs 。
    使用CSLS做eval的。


可以看到如果不用refine步骤,只凭GAN还没有达到supervised的效果。

与其他baseline的比较:确有提高,不过最高仍不过90%.

  • Sentence translation retrieval. 实现句子级别的“翻译”。 采用了词袋的方法实现,一个句子被打包成词袋,通过根据idf权重相加得到句子embedding,然后还是通过句子embedding向量距离找句子embedding。idf的权重来自300k的语料,eval使用2k查询句embedding和200k个候选句。

小结

数据集大了;提出了使用CSLS;有监督 无监督;效果提升,但上限不算高;


MUVE(cvpr2020)

对于前两个工作来说,muve加入了图像信息进行词embedding的初始化(也就是仅仅对第一步做了改进,加入了图像信息)。idea是甭管语言是什么,有些词一张图就蕴含所有,我们可以利用这个现象。

改进的第一步流程


video端使用别人的工作I3D做encoder,text端直接使用预训练的embedding做feature。

因为有着相同图片的文字embedding应当尽可能相近,文章用图片做中间连接,希望拉进相关词的距离。优化目标是是:

f是X的encoder,g是y的encoder,h是video端的encoder。

根据优化目标,loss是对比学习常用的NCE。

随后也是使用Procrustes去迭代 ,提升效果.

如此图所示, Y \mathcal{Y} Y有一个AdaptLayer,这个layer就是个linear,MUVE把他的 W W W直接拿来做初始的 W W W了。其余的步骤是一样的。

eval

训练数据集是用HowToW,一个教人怎么做很多事情的教学视频:

另外词対词的数据集被人为分出了visual部分,因为有些词是可以用图片表达,但抽象词是无法的,两类在eval的时候会不一样。

  • 词对词翻译,数据集不超过3k 的词pair,词embedding的训练是在HowToW训练的。base model指不使用procrustes;video retrieval指直接用video的embedding取。
    与baselines:

● 文章提到MUVE比其他的方法更加鲁棒,意思是即便是少vocab size训embedding,我的性能也不下降,因为我还有图片的信息补上(个人推测)。

其他点

● 因为加入了video,文章还特意把text和image做了retrieval的case study:

不过这个看看就行,因为case study都是挑好的放出来的。
● 文章也做了短语sentence级别的retrieval,但是并没有说明是怎么检索的,并且短语级别的数据集特别小,只有444个query带标签,看case study的效果还可以:

● 文章retrieval的具体实现方式含糊不清,只是提了一嘴cos。
loss中加入正交约束对整个方法提升很大,就是在NCE loss中加入 限制 必须是正交矩阵,原文: We observe that this penalty was a key component for MUVE. Precisely, there is a 43.0% relative drop of performance for Recall@1 on the Dictionnary En-Fr

小结

延续了无监督,添加了图片信息,多模了;
提升了效果;
文章写作乱,极乱!


WALIP (arxiv2022.5.23)

MUVE是video和text结合,整个是image和text结合。

想法

流程

  • 对比前人工作,提出了robust procrustes;对第一步同样使用了image和text,但是是另一种实现(使用了clip的)。CLIP是一个能 同时吸收image和text信息抓取feature的工作,这个文章直接使用它做feature extractor,与前面的文章不同。
    ● 对比前人直接使用procrustes做refine,此文使用了另一个文章的robust procrustes;

对于Step#1来说,有些抽象的词是图片表达不出来的,所以此步骤里面的集合并不能全用,文章只选了sim(用CSLS)高的pair做最初集合,然后统计出a与b的映射 ,作为initial 进入下一步robust proscrustes。

eval

eval的数据集和MUVE的一模一样,也是 ,retrieval的距离是CSLS。

  • 词对词:wiki数据集预训练的embedding效果并不明显:
    他的各种变体版本就不看了,直接看完全版的和之前的比较,效果只提升了0.1%用HowToW预训练的embedding提升多一些:

小结

方法有效,传承无监督(但是原文并没有提到 CLIP那一步具体用的loss是什么);
image和text,又是多模,使用了CLIP统一的encoder,流程简洁了些;
文章提到的优势还有 计算量少、多语言鲁棒。

4篇工作总结

涉及的一系列都是分步走,先获得W ,再用(改进的)P方法迭代精修 。
retrieval的方法除了cos,可以用CSLS。
方法都是无监督的方法,但是效果有限,数据集也不算大。
embedding使用的都是word2vec而不是bert系列。

更多推荐

词对齐任务:端到端模型

本文发布于:2024-02-06 03:03:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745682.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:端到   模型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!