赞
踩
接下来介绍另外一个方向是如何更好的利用知识图库里关系路径的信息进行关系抽取。
有一个非常直观的例子介绍关系路径的好处,如电影阿甘正传(上图),我们如果想要知道阿甘正传的语言是什么,可以通它的电影导演是某一个人,导演本身的母语是什么? 它可以帮助我们猜测阿甘正传使用什么语言来拍摄的,这是一个非常直观的例子,它告诉我们可以利用知识图谱里面关系路径预测任意两个实体之间的关系,这也说明这些关系路径蕴含了非常丰富的语义信息,可以帮助我们进行这种关系的抽取。
在利用关系路径进行关系抽取方面,很多年前就有一位著名的华人学者劳逆就研制了非常多基于关系路径的方法,其中最有名的一个方法叫path ranking algorithm,它基本思想是
当你预测任意两个实体之间的关系,就可以看两个实体之间都出现了哪些关系路径,把每一种不同的关系看成是一个特征,就可以为这两个实体去构建出一个非常长的关系路径的特征向量。这个向量里面的每一维反映了一种不同类型的关系路径。然后可以利用这种特征向量为任意两个实体进行关系抽取或者关系分类。
这种方法在一些比较小的比较简单的数据上取得了非常好的效果。但是当你的知识图谱变得非常的大的时候,比如说当relation有几千甚至上万的时候,你可以想象任意两个实体之间的关系路径的数量或者这种类型可能变得非常非常大,
那么就可能会有几万甚至上千万的维度,去构建任意两个实体之间关系的特征向量,那么一方面维度特别高,另一个方面向量非常的稀疏,这样的话其实极大影响这种方法在大数据上使用的效率和效果。
我们的基本思想是能不能把这种关系路径也能够学习到表示的低维向量中去,过去transe直接看任意两个实体之间的关系,然后学习h+t。现在我们比如两个实体之间的关系路径r1和r2(下图右上),
有没有可能为h和t之间的关系路径学习一个向量,这样就直接用h+(r1 o r2) = t ,这样就可以建立起更多的三元组来进行学习,那么实际上它就相当于给我们提供了关于这个空间里面有更多的语义信息。
这里面有一个非常重要的问题是如何学习每一个关系路径的向量表示,这涉及到自然语言处理里非常重要的概念semantic composition组合,它的基本思想是如何利用关系路径里的每一个关系的向量组合成路径本身的向量。这个过程很简单,其实最简单或者最有效的做法是要把关系路径里每一个关系的向量直接相加来得到路径的向量;或者把三个关系按位进行相乘得到路径的向量;第3种方法,采用循环神经网络得到路径的向量。
总之通过语义的组合,根据这些关系得到路径的表示,那么就可以建立h+r=t的三元组,得到一个优化的目标。
我们用transe去预测任意两个实体的关系,它的准确率差不多是在84.3%左右(上图),如果把关系路径考虑进来,最好的效果能达到94, 然后呢,我们可以看到最好的效果能达到94.0%,那么可以看到这个提升非常明显。
这说明利用关系路径可以非常有效的提高知识表示学习的分辨能力。可以得到一个更好的关系抽取的效果。这就是考虑关系路径的意义所在。
上图是利用ptranse的方法的样例,可以看出我们可以很好的建立起在空间里的关联关系,如place_of_birth,和country是第2个关系这个地点所在的国家,那么实际上这两个关系组合起来就形成了nationality(上图第二列中的第三行)关系。
ptranse类似的例子,下图
contains(第二列第一行)和contains(第二列第二行)组合起来还是contains(第二列第三行),那么它反映了这种包含的关系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。