知识图谱算法:一文详解知识图谱关键技术与应用
知识图谱算法:一文详解知识图谱关键技术与应用后来提出了TransR的模型了,TransR实际上是解决了上面提到的一对多或者多对一、多对多的问题,它分别将实体和关系投射到不同的空间里面。一个实体的空间和一个关系的空间,然后在实体空间和关系空间来构建实体和关系的嵌入,就对于每个元组<h r t>首先将实体空间中实体通过Mr向关系空间进行投影得到hr和Tr,然后Hr加上r是不是约等于或者近似的等于Tr,通过它们在关系空间里面的距离,来判断在实体空间里面,H和T之间是不是具有这样的关系?还有是基于分布式的知识语义表示的方法,比如像Trans系列的模型,在这个模型基础上进行语义的推理。TransE这个模型的思想也比较直观,它是将每个词表示成向量,然后向量之间保持一种类比的关系。比如上面这个图里面的北京中国,然后类比巴黎法国,就是北京加上首都的关系就等于中国,然后巴黎加上capital的关系等于France。所以它是无限的接近于伪实
再看一下知识推理,知识推理这边有几种方法,首先是基于符号推理,我们上面说的三元组的结构,比如左边的RDF,有概念,然后基于概念符号进行推理。
这个是基于OWL进行本体推理的例子,这个背后是基于OWL本体的推理,最常见的OWL推理工具是Jena Jena 2支持基于规则的简单推理,它的推理机制支持将推理器(inference reasoners)导入Jena,创建模型时将推理器与模型关联以实现推理。
还有一种是基于图(PRA)的推理的方法,更直观的一种方法,思想是比较简单的,就是以连接两个实体的已有路径作为特征构建分类器,来预测它们之间可能存在的潜在关系。
比如左边这个图里面Charlotte Bronte,我们要预测他的职业是不是作家。在这个图里面已知存在关系是什么呢?他写过一篇小说,它写过一篇小说Jane Eyre,然后双城记也是一部小说,狄更斯是写了双城记这部小说,狄更斯是作家,同时它下面还有他的父亲职业也是作家,所以基于这样图之间的关系,就可以较大概率的推理出Charlotte Bronte的职业很有可能就是作家,这就是基于图之间的关系的特征构建分类器来进行预测的。 PRA提取特征的方法主要有随机游走、广度优先和深度优先遍历,特征值计算方法有随机游走probability,路径出现/不出现的二值特征以及路径的出现频次等。PRA方法的优点是直观、解释性好,但缺点也很明显,有三个主要缺点:首先,很难处理关系稀疏的数据,其次,很难处理低连通度的图,最后,是路径特征提取的效率低且耗时。
还有是基于分布式的知识语义表示的方法,比如像Trans系列的模型,在这个模型基础上进行语义的推理。TransE这个模型的思想也比较直观,它是将每个词表示成向量,然后向量之间保持一种类比的关系。比如上面这个图里面的北京中国,然后类比巴黎法国,就是北京加上首都的关系就等于中国,然后巴黎加上capital的关系等于France。所以它是无限的接近于伪实体的embed]ding。这个模型的特点是比较简单的,但是它只能处理实体之间一对一的关系,它不能处理多对一与多对多的关系。
后来提出了TransR的模型了,TransR实际上是解决了上面提到的一对多或者多对一、多对多的问题,它分别将实体和关系投射到不同的空间里面。一个实体的空间和一个关系的空间,然后在实体空间和关系空间来构建实体和关系的嵌入,就对于每个元组<h r t>首先将实体空间中实体通过Mr向关系空间进行投影得到hr和Tr,然后Hr加上r是不是约等于或者近似的等于Tr,通过它们在关系空间里面的距离,来判断在实体空间里面,H和T之间是不是具有这样的关系?
除了TransE、TransR,还有更多的Trans系列的,像TransH、TransN、TransG等等这些模型。清华大学的自然语言处理实验室发布了一款这个叫openKE的平台,openKE它是开源的知识表示学习的平台,是基于Tanserflow的工具包来开发的。它整合了Trans系列的很多算法,提供统一的接口。它也是面向了预训练的数据来表示模型的。