词向量-LRWE模型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了词向量-LRWE模型相关的知识,希望对你有一定的参考价值。

我们尝试基于CBOW模型,将知识库中抽取的知识融合共同训练,提出LRWE模型。模型的结构图如下:

技术分享

    下面详细介绍该模型的思想和求解方法。

1. LWE模型

    在Word2vec的CBOW模型中,通过上下文的词预测目标词,目标是让目标词在其给定上下文出现的概率最大,所以词向量训练的结果是与其上下文的词相关联的。然而 CBOW模型只考虑了词语的局部上下文信息,无法很好的表达同义词和反义词等信息。例如下面的几个case:

技术分享

    为了解决上述问题,本文将同义词和反义词等词汇信息以外部知识的形式,作为词向量训练中的监督数据,让训练得到的词向量能学习到同义、反义等词汇信息,从而能更好地区分同义词和反义词。

1.1 模型思想

   记 的同义词和反义词集合为( , , ),其中 SYN 表示同义词集合,ANT 表示反义词集合,我们的目标是已知目标词对应的同义词集合和反义词集合,预测目标词,使得目标词和它的同义词距离尽可能相近,与反义词距离尽可能远。 

   例如“The cat sat on the mat.”,已知sat有同义词seated,反义词stand,来预测目标词为sat。

   该模型称为词汇信息模型,模型结构图如下:

技术分享

   对于一个词语,我们根据它的同义词和反义词预测目标词,最大化词语和它的同义词同时出现的概率, 并降低词语和它反义词同时出现的概率。根据这个目标,定义以下的目标函数: 

技术分享

技术分享

    我们目标是在基于上下文的CBOW语言模型训练过程中,加入同义词反义词信息作为监督,使得训练所得词向量能学习到同义和反义知识。基于该想法,我们提出基于词汇信息的词向量模型(Lexical Information Word Embedding,LWE),目标函数为

技术分享

    模型的结构图如下:

技术分享

    需要注意的是,CBOW模型和词汇信息模型共用同一份词向量,这是为了通过共享表示来获得彼此的知识信息,使得词向量在训练的时候,能综合利用上下文信息和同义词反义词信息,从而得到更高质量的词向量。 

1.2 模型求解

    从模型结构图中可以看出,LWE可以看成两个CBOW模型的叠加,因此优化求解方法和CBOW模型一样,本文采用的是Negative Sampling进行优化。

    使用 Negative Sampling 的方法,目标词视为正样本,通过负采样的其它词称 为负样本,而在我们的模型之中,对于词语的同义词集合来说,目标词是正样本,在同义词集合之外的词语都为负样本,记的同义词集合为 ,对于∈ 则有负样本集合为 = || ,记指示函数

技术分享

其中正样本标签为 1,负样本标签为 0。则对于样本 (, ),训练目标函数(3-1)中 

技术分享

反义词同理,所以对于整个词表 V 来说,整体的目标函数是: 

技术分享

1.3 参数更新

    要最大化目标函数(3-6),我们使用随机梯度上升法。用随机梯度上升方法求解时,需要分别求目标函数关于 eu 和 θw 的导数,为了方便推导,记 

技术分享从上式可看出同义词和反义词的目标函数除了定义域不同,其函数表达式是一样的,因此只需对函数 Ψ 进行求导。 函数 Ψ 对 求导,可得: 

技术分享

所以 的更新公式为: 

技术分享

2. RWE模型

    词语之间具有很多复杂的语义关系,例如上下位关系,“music”是“mp3” 的上位词,“bird”是“animal”的下位词,这里“animal”的下位词除了“bird” 外,还有有“fish”、“insect”等,具有相同上位词 “fish”、“insect” 和“bird”,某种意义上应该是相似或者说相关的,但 Word2vec 只利用大规模语料中的词语共现信息进行训练,所得的词向量只能学习到文本上下文信息,就无法学习到这种词语间的关系,所以其它复杂的语义关系也很难表达充分。 

    而知识图谱中含有实体词语丰富的关系信息,所以,本文提出基于关系信息的词向量模型,将语言模型和知识表示学习模型进行共同训练,在训练语言模型的时候,加入从知识图谱抽取的多种关系知识, 使得词向量训练过程不仅仅根据上下文词语共现的信息,还学习到对应的关系知识,从而提升词向量的质量。 

2.1 模型思想

    知识图谱中的知识,一般以三元组 (h, , ) 的形式进行组织,根据CBOW的训练过程,我们可以构造样本 (h, , ),其中 表示 关联的多种不同的关系, 例如(animal, _hyponymy, bird)。 

    在提取三元组数据后,需要对词语的关系建立表示,如TransE 模型,便是最方便有效的表示方法。基本思想是对于三元组 (h, , ),若三元组是事实信息,则有 + ≈ ,即 + 对应向量应与 更相近。

    该模型称为关系信息模型,模型结构图如下,模型的输入层是目标词 的对应的三元组集合(h, , ),投影层做了恒等投影,输出层是在字典中预测目标词。 

技术分享

    对一个词语 ,利用知识图谱中的关系三元组这种有监督的数据,我们希望能让词语学习到丰富的关系语义信息,根据这个目标,定义以下的目标函数: 

技术分享

    那么在基于上下文的 CBOW 语言模型训练过程中,加入丰富的关系信息作为监督,使得训练所得词向量能学习词与词之间的复杂语义关系。基于该想法,我们提出基于 关系信息的词向量模型(Relational Information Word Embedding,RWE),目标函数为: 

技术分享    模型结构图如下:两个模型共享同一套词向量,同时本文为三元组中的关系设置分配新的向量空间,也就是说关系向量和词向量独立表示,原因是为了避免与词向量产生冲突。

技术分享

2.2 求解方法

    同样,我们采用Negative Sampling进行优化。化简过程和1.2相似,这里给出整体的目标函数

技术分享

2.3 参数更新

    同样,采用随机梯度上升方法进行更新。求解时,需要分别求目标函数关于 eh+r 和 θw 的导数,为了方便推导,记

技术分享

函数 Ψ 对 θu 求导,可得:

技术分享

θu 的更新公式为:

技术分享

 3. LRWE模型

    前两节介绍了两个模型,分别是基于词汇信息的词向量模型和基于关系信息的词向量模型,两模型分别适合特定情景下的问题。 本文尝试将两个模型进行联合,让词向量在训练的时候,既能学习到同义词反义词等词汇信息,又能学习到复杂的关系语义信息,基于该目标,得到联合模型LRWE。

    联合的词向量模型目标函数如下:

技术分享

    模型的结构图如下:

技术分享3.1 模型特点

  • 通过共享词向量,同时学习多种信息

  • 不同模块具有独立的参数,保持任务差异性

  • 重新分配关系向量空间,避免冲突

3.2 模型的理论比较

    从参数个数角度,LWE 是在 CBOW 基础上使用词汇信息进行监督,共享一份词向量,同时需要多一份辅助参数向量,故参数个数为 2|| × || + || × || = 3|| × ||; 同理,基于关系信息的词向量模型 RWE,与 CBOW 共享一份词向量,以及拥有独立的辅助参数向量,此外还有一份关系向量,故参数个数为3|| × || + || × ||; 联合的词向量模型 LRWE 是上述两模型的联合,故参数个数为 4|| × || + || × ||。

model

参数个数

CBOW

2|| × ||

LWE

3|| × ||

RWE

3||×||+||×||

LRWE

4||×||+||×||

    从时间复杂度角度,CBOW 模型通过扫描语料的每一个词,取该词及其上下文作为一个样本,因此接下来对比模型时,只分析训练一个样本的时间复杂度。

    CBOW 模型只有输出层 Softmax 预测需要大量的计算,其训练的复杂度为 (|| × ||),如果采用 Hierarchical Softmax 对输出层的 Softmax 做优化,可以加速到(|| × ||),而采用Negative Sampling,可进一步将复杂度优化到(||)。而 LWE 和 RWE 可以认为是两个CBOW模型的叠加,时间复杂度为(2||) ,虽然相比 CBOW 模型较复杂,但在线性时间内能学习到更多的语义信息,使得词向量表达更充分。 


以上是关于词向量-LRWE模型的主要内容,如果未能解决你的问题,请参考以下文章

词向量原理

词向量与ELMo模型 词向量漫谈

NLP⚠️学不会打我! 半小时学会基本操作 4⚠️词向量模型

NLP⚠️学不会打我! 半小时学会基本操作 4⚠️词向量模型

如何产生好的词向量

一文总结词向量的计算评估与优化