[仅个人学习用] 知识图谱 刘知远老师 TransE

ML = representation + objective + optimization

1.representation

表示学习的基本思想是提出一种所谓的Distributed Representation,或者是Embedding,用一个低维的向量空间,把每个词都表示到空间里面的某一个位置。这样,我们就可以利用词和词之间在这个空间中的距离来衡量词与词之间的语义关系,这就是表示学习的基本目标。

我们现实世界是一个离散的世界,这个世界里面每个物体相互之间都是独立的,有比较明确的界限,因此可以称为离散的世界。但是人脑表示这些物体的时候,都是表示为很多神经元上抑制和激活的状态。也就是说,我们用神经元上不同的抑制和激活状态来表示不同的物体。因此,虽然现实世界是离散的世界,但是在人脑的认知世界中,都被表示到连续的空间中。从这个角度来看,我们刚才所说的那种低维向量表示,其中每一维都可以看成是人脑的神经元。

现实世界带有非常强的层次性,比如人有头、四肢和躯体,头又可以分成头发、眉毛、五官等等。在认知世界里面也会对应存在这种层次性,即神经网络的层次结构。现在非常流行的深度学习技术就是由于引入了“深度”的层次性结构,带来了很多任务性能的革命性提升。
在这里插入图片描述

所以,人脑的这两个特点,对应到表示学习的两个特点,这两个特点就是:第一,采用分布式表示来表征现实世界的对象,即采用连续的空间表示对象。第二,采用深度的多层神经网络实现对现实世界的层次性建模,这也是表示学习的重要思想。

可以说,表示学习有非常强的认知基础。而同时,对于自然语言处理而言,也有着非常重要的现实意义,主要体现在两个方面,第一个方面,大规模自然语言处理面临非常强的数据稀疏难题,传统方法无法很好解决。而通过构建低维向量表示空间,我们把所有对象映射到这个空间里面,就可以利用这个空间的连续性较好地处理数据稀疏问题。另外一个好处是,可以实现不同领域以及不同对象之间的知识迁移。在自然语言处理中,我们关心的对象非常多,从最基础的词到句子,到文档,以及知识,我们如何更好地计算它们之间的语义关联呢?比如说给你一个句子、一个文档,怎么判断他们之间的语义关系?对传统的自然语言处理而言,这是非常难的事情。通过将这些对象映射到统一的空间中,我们将能够非常容易地计算它们之间的语义关系。因此,我们认为对于自然语言处理来讲,表示学习是非常重要的技术,也是近年来自然语言处理领域非常关心的方向。

在这里插入图片描述
知识图谱是一种特殊网络,其中每个节点代表现实世界中的实体,而节点间的边表示实体之间的关系。知识图谱一般用三元组形式组织知识,每个三元组包括一个头实体、一个尾实体以及它们之间的关系。这是知识图谱的基本表示形式。有两种代表性的知识图谱,一个是语言知识图谱WordNet,包含了英语中词与词之间的同义、反义、上下位等关系。Wordnet是自然语言处理常用的语言知识库。另外一种知识图谱Freebace是世界知识图谱,包含了现实世界中人、地点、机构等实体以及它们之间的关系,例如,乔布斯是苹果公司的创始人等。
在这里插入图片描述
在这个模型中,每个实体和关系都表示成低维向量。那么如何怎么学习这些低维向量呢?我们需要设计一个学习目标,这个目标就是,给定任何一个三元组,我们都将中间的relation看成是从head到tail的一个翻译过程,也就是说把head的向量加上relation的向量,要让它尽可能地等于tail向量。在学习过程中,通过不断调整、更新实体和关系向量的取值,使这些等式尽可能实现。
在这里插入图片描述
TransE面临的若干挑战
在这里插入图片描述
很多情况下TransE关于h + r = t的假设其实本身并不符合实际。为什么呢?假如头实体是美国,关系是总统,而美国总统其实有非常多,我们拿出任意两个实体来,比如奥巴马和布什,这两个人都可以跟USA构成同样的关系。在这种情况下,对这两个三元组学习TransE模型,就会发现,它倾向于让奥巴马和布什在空间中变得非常接近。而这其实不太符合常理,因为奥巴马和布什虽然都是美国总统,但是在其他方面有千差万别。这其实就是涉及到复杂关系的处理问题,即所谓的1对N,N对1、N对N这些关系。刚才例子就是典型的1对N关系,就是一个USA可能会对应多个tail entity。为了解决TransE在处理复杂关系时的不足,研究者提出很多扩展模型,基本思想是,首先把实体按照关系进行映射,然后与该关系构建翻译等式。
在这里插入图片描述
在这里插入图片描述
TransH和TransR均为代表扩展模型之一,其中TransH由MSRA研究者提出,TransR由我们实验室提出。可以看到,TransE在实体预测任务能够达到47.1的准确率,而采用TransH和TransR,特别是TransR可以达到20%的提升。对于知识图谱复杂关系的处理,还有很多工作需要做。这里只是简介了一些初步尝试。

结合知识图谱

过去就有人利用关系路径判断两个实体之间的关系,取得了非常好的效果。我们现在想说,在知识表示学习中,不只考虑直接的关联关系,还应当考虑两个实体之间的关系路径。这里有个重要问题,任给两个实体,如何把它们之间的关系路径也表示成向量,这就涉及到组合语义问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们提出利用相加、相乘、循环神经网络的形式来实现组合语义,利用关系路径中每个关系的表示,得到关系路径的表示。这样我们就得到一个扩展的TransE模型,把关系路径表示成向量,然后构建h + r = t等式。

在这里插入图片描述
在这里插入图片描述
可以看一下扩展版TransE的性能。通过这些表格我们可以看到,考虑关系路径的模型在实体预测有超过35%的提升,这个提升是非常显著的。而在关系预测上,也有10%的提升,这个提升也非常明显。
在这里插入图片描述
如果我们能够很好地考虑关系路径,任给两个关系,假如它们形成一个路径的话,我们可以得到这个路径对应的关系,比如说某个关系路径是:“出生地点”和“地点所在国家”,通过模型可以推测出这个路径对应着关系“国籍”。
在这里插入图片描述
https://github.com/thunlp/KB2E

https://github.com/thunlp/OpenKE

http://www.cbdio.com/BigData/2016-03/03/content_4675344.htm

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值