上一节,我们介 绍利用文本和知识库融合训练词向量的方法,如何更 好的融合这些结构化知识呢?使得训 练得到的词向量更具有泛化能力,能有效 识别同义词反义词,又能学 习到上下文信息还有不同级别的语义信息。

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

1. LWE模型

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

1.1 模型思想

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

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

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

    模型的结构图如下:

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

1.2 模型求解

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

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

1.3 参数更新

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训从上式 可看出同义词和反义词的目标函数除了定义域不同,其函数 表达式是一样的,因此只需对函数 Ψ 进行求导。 函数 Ψ 对 ????求导,可得: 

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

所以 ???? 的更新公式为: 

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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, ??, ???? ),投影层做了恒等投影,输出层 是在字典中预测目标词。 

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训    模型结构图如下:两个模 型共享同一套词向量,同时本 文为三元组中的关系设置分配新的向量空间,也就是 说关系向量和词向量独立表示,原因是 为了避免与词向量产生冲突。

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

2.2 求解方法

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

2.3 参数更新

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

θu 的更新公式为:

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

 3. LRWE模型

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

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

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

    模型的结构图如下:

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训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 模型较复杂,但在线 性时间内能学习到更多的语义信息,使得词 向量表达更充分。 

 4. 实验结果

    这一节 我们设计实现一系列实验任务,来验证 和评估本文所提出模型的合理性和有效性,实验包括语义相关性、反义词 同义词识别等自然语言处理任务,并给出 实验结果与分析。

4.1 训练语料

    文本语 料来自维基百科前十亿字节,同义词 和反义词语料是从WordNet中抽取,三元组语料从Freebase中抽取。具体条目如下:

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

4.2 实验任务及结果

   (1)wordsim任务

    该任务 主要评估词向量的语义相似性和语义相关性,数据集包括Wordsim353(2002) ,MEN3000(2012) ,SIMLEX999(2014), 评估方 法是皮尔逊相关系数。实验结果如下

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

    (2)反义词 同义词识别任务

    该任务由Roth[1]等人提出,包含600个形容词词对,700个名词词对,800个动词词对,其中同 义词词对和反义词词对各占一半。评估方法是)    

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

    此外,我们还 在单词类比推理,同义词检测,文本分 类等任务上进行实验,下面是经PCA降维后的部分词向量,如图:

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

电脑培训,计算机培训,平面设计培训,网页设计培训,美工培训,Web培训,Web前端开发培训

    整体来说,LWE模型能 更好的识别同义词和反义词,RWE模型能 学习到一定的关系信息,但受限于freebase数据,因为本 文主要训练的是词向量,在freebase中的覆盖率相对较少,相关的 三元组的关系类型不多。

    因此有 兴趣的同学可以尝试LWE模型,加入同 义词和反义词信息,使得训 练所得的词向量能更好识别反义词和同义词。

github: 

参考:

[1] Roth M, Walde S S I. . ACL 2014.

[2] Liu Q, Jiang H, Wei S, et al. . ACL 2015.

[3] Nguyen K A, Walde S S I, Vu N T. . ACL 2016.

分类: 

http://www.cnblogs.com/chenbjin/p/7106139.html