跨语言词向量笔记2. 跨语言词向量表示简史

本文介绍了跨语言词向量的早期方法,包括基于双语词典的表示和词对齐技术。这些方法依赖于共享的跨语言向量空间,以实现单词级别的联系。早期工作通过词聚类和翻译表学习,近年来的研究则利用表示学习,提高了效率和鲁棒性。
摘要由CSDN通过智能技术生成

本文完全来自于Anders Søgaard等人的著作[Søgaard2019] Søgaard, A., Vulić, I., Ruder, S., & Faruqui M. (2019). Cross-Lingual Word Embeddings

尽管原书讨论的是跨语言词向量的获得方法,但是在使用神经网络获得词向量的时代来临之前,学界就已经有类似工作开展,彼时的一些研究思路实际上也指导了现在的一些方法。本文简单介绍了这些“史前方法”。独立于语言的表示方法已经被学界研究了数十年,很多都依赖于正字法特征或抽象的语言学特征(如词性标注PoS),而非词法特征。这也是使用所谓去词汇化方法(delexicalized)来做跨语言模型迁移、单词聚类等工作的策略

在一个共享的、跨语言的向量空间中表示两种不同语言的词汇信息,还可以提供语言之间单词级别的细粒度联系,因此可以更好地做去词汇化的跨语言迁移。引入这种细粒度的跨语言词向量也可以看做是一种“再词汇化(relexicalization)”:不再求助于高层、粗粒度的抽象表示(如跨语言聚类),基于跨语言词向量的再词汇化模型直接操作跨语言的词级别特征。例如,跨语言文档分类或者依存分析问题,就可以这么解决:首先在资源充分,有足够标记数据的语言上训练一个模型,这个模型也被共享的跨语言嵌入空间中源语言所处的子空间所支持。然后,模型直接用在目标语言上,不过此时是把目标语言的嵌入子空间看做是特征集。

这样的流程常见于2016、2017年的工作,而2012年实际上已经有了类似的思路,只不过当时的工作是对跨语言的词类别做操作(跨语言词类别通常从单语语料和平行句对中学出)。跨语言的词类别,如字面意思所述(原文用的是英文clustering,意义更明显),就是要把两个不同语言中的单词聚类成若干个离散的簇,使得语义上相关的词可以被分在相似的簇中,这样可以应对语言模型建模时面对的数据稀疏性。这种聚类方法可以看做是词嵌入的一种朴素形式,区别在于可能有若干个词有相同的表示,每个词的表示方法是一个编号,而不是一个向量。跨语言单词的聚类方式通常有两种方法。其一是映射法,即先对源语言单词聚类,然后通过平行语料,得出双语单词相似度或词对齐信息,再将聚类结果投影到目标语言中。另一种是联合学习法,即最大化单语和双语聚类的联合目标函数,其中双语目标函数也编码了某些从平行语料中提取的单词相似度,可以看做是跨语言的正则项。这两种不同的方法与近几年表示学习中的一些方法也有异曲同工之妙

下图给出了使用跨语言词汇信息作为句法解析器特征的一个例子,来自于[Täckström2012]。在对英语和克罗地亚语做了单词聚类以后,可以将源语言(英语)每个句子的treebank通过把单词替换成类别号的方式来去词汇化,这样就得到了一个与语言无关的表示。这种去词汇化的句法分析器使用跨语言的单词类别信息就可以用来对目标语言做分析

使用跨语言词汇信息的句法分析器

使用双语词典的跨语言词向量表示

先来看一种传统方法,其试图从分布式语义中推演得到跨语言词向量空间。方法的基础是高维的、基于上下文计数的向量,向量的每一维度都编码了各个语言中与某个指定单词(加权的)共现信息。其背后的假设是,如果两个单词呈可互译的关系,那么它们各自的邻接词很可能也是有相似的语义。换句话说,每个词都被表示成一个高维向量,称为在特征向量空间(也就是语义空间)中的一个上下文向量,向量的每个维度都是它的一个上下文特征。在共享的语义空间中,两个单词的相似度就可以如下表示
s i m ( w 1 s , w 2 t ) = S M ( v e c ( w 1 s ) , v e c ( w 2 t ) ) {\rm sim}(w_1^s, w_2^t) = {\rm SM}({\rm vec}(w_1^s), {\rm vec}(w_2^t)) sim(w1s,w2t)=SM(vec(w1s),vec(w2t))
其中 w 1 s w_1^s w1s是来自源语言 L s L_s Ls词表 V s V^s Vs的单词, w 2 t w_2^t w2t是来自目标语言 L t L_t Lt词表 V t V^t Vt的单词, S M \rm SM SM是衡量两个系数向量相似度的一种手段(具体实现可以是余弦距离、欧几里得距离等), v e c \rm vec vec是一个 N N N维上下文向量,包含 N N N个上下文特征 c n c_n cn
v e c ( w 1 s ) = [ s c 1 s ( c 1 ) , … , s c 1 s ( c n ) , … , s c 1 s ( c N ) ] {\rm vec}(w_1^s) = [{\rm sc}_1^s(c_1), \ldots, {\rm sc}_1^s(c_n), \ldots, {\rm sc}_1^s(c_N)] vec(w1s)=[sc1s(c1),,sc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值