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

本文完全来自于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通过把单词替换成类别号的方式来去词汇化,这样就得到了一个与语言无关的表示。这种去词汇化的句法分析器使用跨语言的单词类别信息就可以用来对目标语言做分析

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

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

先来看一种传统方法,其试图从分布式语义中推演得到跨语言词向量空间。方法的基础是高维的、基于上下文计数的向量,向量的每一维度都编码了各个语言中与某个指定单词(加权的)共现信息。其背后的假设是,如果两个单词呈可互译的关系,那么它们各自的邻接词很可能也是有相似的语义。换句话说,每个词都被表示成一个高维向量,称为在特征向量空间(也就是语义空间)中的一个上下文向量,向量的每个维度都是它的一个上下文特征。在共享的语义空间中,两个单词的相似度就可以如下表示
sim(w1s,w2t)=SM(vec(w1s),vec(w2t)) {\rm sim}(w_1^s, w_2^t) = {\rm SM}({\rm vec}(w_1^s), {\rm vec}(w_2^t))
其中w1sw_1^s是来自源语言LsL_s词表VsV^s的单词,w2tw_2^t是来自目标语言LtL_t词表VtV^t的单词,SM\rm SM是衡量两个系数向量相似度的一种手段(具体实现可以是余弦距离、欧几里得距离等),vec\rm vec是一个NN维上下文向量,包含NN个上下文特征cnc_n
vec(w1s)=[sc1s(c1),,sc1s(cn),,sc1s(cN)] {\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)]
其中sc1s(cn){\rm sc}_1^s(c_n)表示单词w1sw_1^s与上下文特征cnc_n相关的共现权重/得分,常见的有如下几类计算方式

  • 直接使用共现次数C(w1s,cn)C(w_1^s, c_n)
  • 条件概率P(cnw1s)P(c_n|w_1^s)
  • 带权重的启发式算法,例如TF-IDF
  • 逐点互信息(PMI)
  • 基于假设检验的方法,例如对数似然比

为了构建共享的跨语言语义空间,两个语言的词向量必须使用同样的特征。标准方法是使用一个双语的种子词典,即cnc_n是词对(cns,cnt)(c_n^s, c_n^t),其中cnsc_n^s是源语言单词,cntc_n^t是目标语言单词,两者必须表达同样的概念。例如英语-西语可以是(dog, perro), (bone, bueso), (blue, azul)等等。对源语言词表VsV^s中的每个单词,求出其与种子词表中每个词的共现得分scs(cn){\rm sc}^s(c_n)(当然要给定窗口大小)。这可以看做是将单语词向量映射到一个跨语言词向量空间的过程:通过mm个源语言上下文单词的共现信息和pp个目标语言上下文单词的共现信息,可以初始化mm维和pp维单语言词向量。然后,两个词向量各自通过投影矩阵Ms\boldsymbol{M}_sMt\boldsymbol{M}_t被映射到一个由NN个跨语言上下文特征(cns,cnt)(c_n^s, c_n^t)张成的子空间。更具体的几何解释可以参见下图(来自[Gaussier2004])。

由于这部分工作可以看做是跨语言词向量模型一个很重要的前处理工作,而双语种子词典的质量对这部分工作起着决定性的影响,因此有一些研究工作尝试使用自助迭代技术(bootstrapping iterative technique)来不断扩张种子词典,例如[Peirsman2010][Vulić2013]。核心思想是检查到一对单词能通过某些可靠性验证(如两个单词有互译关系,或者相似度的分超过某个阈值)就将其加入种子词典。这方面工作对近期基于映射的无监督或弱监督方法也很重要。不过有一点不同:传统方法在加入新的词对以后,种子词典张成的子空间维度会增加;而基于映射的方法在加入新词对后不会让维度发生变化

跨语言词嵌入与词对齐

跨语言词向量也可以与统计机器翻译(SMT)里的词对齐相关联,实际上一些嵌入模型也直接依赖于词对齐。简单说,词对齐这一任务的目的是在句子对齐的平行预料中找出词法单元(通常是单词)之间的翻译关系,其最终产品是一个源文本和目标文本之间的二部图,当且仅当某一组单词互为对方的翻译时,这两个单词有边相连

IBM系列模型(IBM模型1-6)是NMT时代到来之前,SMT系统的重要部分。而其中最简单的IBM模型1的思想在众多跨语言词嵌入算法中都有体现。该方法的核心思想是仅做基於单词的对齐,最关键的参数称为翻译表(translation table),该表存储概率得分P(wtws)P(w^t|w^s),即源语言单词wsw^s翻译成目标语言单词wtw^t的概率。IBM模型1的核心假设简单说是所有可能的(ns+1)nt(n_s + 1)^{n_t}种词对齐都是等可能的,其中nsn_sntn_t分别是已对齐句子对中源语言和目标语言的句子长度,模型在这个假设基础上根据对齐句子的单词共现信息使用EM算法学出翻译表

[Levy2017]认为无论是这种由IBM对齐模型学出的带概率得分的翻译表,还是以及其他类似的词对齐模型,或者其它简单的单词共现信息统计指标,都可以代替余弦距离,作为前文提到的跨语言语义相似度衡量方法sim(ws,wt){\rm sim}(w^s, w^t)的一种。这种翻译表也可以再用来引入双语词典,构建种子对应关系,为后面的工作(例如基于映射的嵌入方法)所使用

当前大部分跨语言词向量对齐的方法都会试着把源语言句子中的单词与目标语言句子中与之最相似的单词对齐,这个过程也正是IBM模型1中实现的贪心解码算法,不过单纯的对齐算法不会显式学出单词的向量表示vec(w){\rm vec}(w)。后面讨论的若干方法会提出一种联合目标函数,即将两个单语言目标函数和一个跨语言正则项相结合,而这种方法也蕴含了IBM模型1的基础假设。例如[Gouws2015]提出的跨语言正则项是对两个嵌入空间中单词的欧几里德距离做惩罚,惩罚项正比于两个单词的对齐频率。这项工作没有直接在平行预料上运行对齐算法,而是假设有一个“均匀对齐模型”,和IBM模型1异曲同工。[Hermann2014]也做了类似假设

基于隐式/显式跨语言概念的表示

除去从种子双语词典中得到的单词之间的一对一翻译,还可以使用其它一些跨语言特征来张成共享的跨语言语义空间。最典型的方法是从词对齐/句子对齐/文档对齐的双语数据之中直接推出一个隐藏的(latent)、跨语言共享的特征,例如通过双语概率主题建模(bilingual probabilistic topic modeling)得出它([Vulić2015])

双语概率主题建模的目标是抽出NN个隐藏的、共享的跨语言概念(也就是跨语言主题){z1,,zN}\{z_1, \ldots, z_N\},使得这些概念可以最好地描述手头数据。具体实现时,要学习两组概率分布

  • 首先,对每个隐藏主题znz_n、源语言单词wsVsw^s \in V^s和目标语言单词wtVtw^t \in V^t,算出条件概率P(wszn)P(w^s|z_n)P(wtzn)P(w^t|z_n)。这个分布可以看做是语言无关的隐藏主题在不同语言上的表示(语言无关概念的语言相关表示)
  • 其次,算出每个文档的主题分布P(znd)P(z_n|d),其中dd是任意语言写成的文档。这个分布可以看做是对文档本身的一种表示,表示形式是NN个隐藏跨语言主题的混合

也就是说,每个隐藏的主题znz_n都有一定概率在某个文档中被找到,这个主题在每个语言中也有一个与该语言相关的表示方法

由于每个主题此时都有一个与词(无论是wsVsw^s \in V^s还是wtVtw^t \in V^t)相关的表示方法,反过来,也可以通过不同主题给每个词一个表示方法,得到一个NN维向量(NN是主题数),向量的每个维度都是一个条件分布

vec(ws)=[P(z1ws),,P(znws),,P(zNws)] {\rm vec}(w^s) = [P(z_1|w^s) , \ldots, P(z_n|w^s) , \ldots, P(z_N|w^s)]

这样形成的语义空间有一个比较直观的解释:词向量的每个维度都与某个主题相关联,那么两个在所有隐藏主题上有相似分布的单词,其语义也应该是相似的。这种相似度可以用概率分布的相似度来度量,例如KL散度

具体做法取决于不同的监督信号。有的工作需要对齐的文档,然后在文档上使用LSI或者LDA等主题模型;有的依赖于双语种子词典来获得相似的文档分布,有的则是在文档级别引入共享的主题空间

另一种方法则是从外部资源显式引入主题信息。以维基百科为例,假如收集到了NN组相同概念,用两种语言写成的文档(例如“狗”的英文页面和德文页面)c1=(c1s,c1t),,cn=(cns,cnt),,cN=(cNs,cNt)c_1 = (c_1^s, c_1^t), \ldots, c_n = (c_n^s, c_n^t), \ldots, c_N = (c_N^s, c_N^t),记函数i(ws,cns)i(w^s, c_n^s)是单词wsw^s在文档cnsc_n^s中是否出现,则该单词的一个向量表示是

vec(ws)=[i(ws,c1s),,i(ws,cns),,i(ws,cNs)] {\rm vec}(w^s) = [i(w^s, c_1^s), \ldots , i(w^s, c_n^s), \ldots, i(w^s, c_N^s)]

这个稀疏向量再通过维度缩减方法(例如PCA或者SVD),就可以得到稠密向量

结语

所有这些“上古”方法都是使用跨语言空间中的一些指标来计算跨语言单词相似度,这些指标包括但不限于KL散度或者向量内积。这些方法通常也是从相同的数据中学习,使用相同的双语监督信号,因此不同的方法之间存在一定可转换性。近期的工作虽然和这些古老的工作之间有着共同的目标和理论假设,但是它们进一步利用了近期表示学习领域取得的成果,因此更简单、更有效、更适用于大数据,在也能更鲁棒地适用于不同领域

参考文献

  • [Gaussier2004]: Gaussier, E., Renders, J. M., Matveeva, I., Goutte, C., & Déjean, H. (2004). A geometric view on bilingual lexicon extraction from comparable corpora. In Proceedings of the 42nd Annual Meeting of the Association for Computational Linguistics (ACL 2004) (pp. 526-533).
  • [Täckström2012]: Oscar Täckström, Ryan McDonald, and Jakob Uszkoreit. 2012. Cross-lingual word clusters for direct transfer of linguistic structure. In Proc. of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT 2012), pages 477–487.
  • [Peirsman2010]: Peirsman, Y., & Padó, S. (2010, June). Cross-lingual induction of selectional preferences with bilingual vector spaces. In Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics (NAACL-HLT 2010) (pp. 921-929). Association for Computational Linguistics.
  • [Vulić2013]: Vulić, I., & Moens, M. F. (2013, October). A study on bootstrapping bilingual vector spaces from non-parallel data (and nothing else). In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing (EMNLP 2013) (pp. 1613-1624).
  • [Levy2017]: Omer Levy, Anders Søgaard, and Yoav Goldberg. 2017. A strong baseline for learning cross-lingual word embeddings from sentence alignments. In Proc. of the 15th Conference of the European Chapter of the Association for Computational Linguistics (Volume 1: Long Papers) (EACL 2017).
  • [Gouws2015]: Stephan Gouws, Yoshua Bengio, and Greg Corrado. 2015. BilBOWA: Fast bilingual distributed representations without word alignments. In Proc. of International Conference on Machine Learning (ICML 2015).
  • [Hermann2014]: Karl Moritz Hermann and Phil Blunsom. 2014. Multilingual models for compositional distributed semantics. In Proc. of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (ACL 2014), pages 58–68.
  • [Vulić2015]: Ivan Vulić, Wim De Smet, Jie Tang, and Marie-Francine Moens. 2015. Probabilistic topic modeling in multilingual settings: An overview of its methodology and applications. Information Processing and Management, 51(1), pages 111–147.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章