知识图谱关键技术与应用

Posted 格格巫 MMQ!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识图谱关键技术与应用相关的知识,希望对你有一定的参考价值。

今天的演讲主题是“知识图谱关键技术与应用”。

分成几个环节:

一、知识图谱的相关概述;
二、知识图谱的基本概念;
三、知识图谱行业方面的应用和场景介绍,着重讲一下知识图谱构建的相关技术;
四、达观在知识图谱构建方面的经验、心得和相关案例,最后是与大家的Q&A互动环节。

一、知识图谱的概述

我们先直观的来看一下什么是知识图谱,下面有一张图,从这张图里可以看到,这个图里圆圈是节点,节点之间有一些带箭头的边来连成,这个节点实际上相当于知识图谱里的实体或者概念,边连线表示实体之间的关系。

知识图谱本质上是一种大型的语义网络,它旨在描述客观世界的概念实体事件以及及其之间的关系。以实体概念为节点,以关系为边,提供一种从关系的视角来看世界。


语义网络已经不是什么新鲜事,早在上个世纪就已经出现了,但为什么重新又提到知识图谱?

知识图谱本质上是一种语义网络,但是它最主要的特点是一个非常大规模的语义网络,之前的语义网络受限于我们处理的方法,更多是依赖于专家的经验规则去构建,在规模方面受限于特定领域的数据。

谷歌在2012年首先提出知识图谱的概念,在freebase的基础上扩展了大量来自互联网的实体数据和关系数据。据说目前实体的数据已经达到数十亿级,有达到千亿级的实例关系,规模是非常巨大的。


我们再看一下,知识图谱背后是怎么表示的,我们看到的是一个巨大的语义网,背后是怎么存储或者表示的呢?

首先,它是由三元组构成的,构成知识图谱的核心其实就是三元组,三元组是由实体、属性和关系组成的(由Entity、Attribute、Relation组成)。

具体表示方法为,实体1跟实体2之间有某种关系,或者是实体属性、属性词。

举个例子,“达观数据是一家人工智能公司”,其实就可以表示成这样的三元组:
<达观数据,is-a,人工智能公司>。

“人工智能公司是一种高科技公司”可以表示成:
<人工智能公司,subclass,高科技公司>。

“达观数据成立于2015年”,也可以把这个属性表示成一个三元组,就是:
<达观数据,start-time,2015年>。

基于已有的三元组,它可以推导出新的关系,这个对构建知识图谱来说是非常重要的。我们知道,知识图谱要有丰富的实体关系,才能真正达到它实用的价值。完全靠人工去做的话是不太现实的,所以内部一定有一个自动推理的机制,可以不断的去推理出新的关系数据出来,不断的丰富知识图谱。

来看一些具体的例子。

“人工智能公司是一种高科技公司”,subclass的关系。

还有一个三元组是谷歌是一家人工智能公司,<Google is-a人工智能公司>,可以由这两个三元组推导出谷歌是一家高科技公司,

<Google is-a高科技公司>。

因为subclass的实例之间是一种继承的关系。

<翅膀part-of鸟>,<麻雀kind-of鸟>,可以推导出<翅膀part-of麻雀>。

为什么要用三元组来描述知识图谱?

三元组是一个人和计算机都易于理解的结构,人是可以解读的,计算机也可以通过三元组去处理,所以它是一个既容易被人类解读,又容易被计算机来处理和加工的结构,而且它也足够的简单,如果说你扩充成四元组、五元组,它整个结构就会变得比较复杂,那是综合的一种复杂性和人的易理解性、和计算机的易出理性来综合的考虑,决定用三元组的结构来去作为它的一个存储。

那么,AI为什么需要知识图谱?

人工智能分为三个阶段,从机器智能到感知智能,再到认知智能。

机器智能更多强调这些机器的运算的能力,大规模的集群的处理能力,GPU的处理的能力。

在这个基础之上会有感知智能,感知智能就是语音识别、图像识别,从图片里面识别出一个猫,识别人脸,是感知智能。感知智能并非人类所特有,动物也会有这样的一些感知智能。

再往上一层的认知智能,是人类所特有的,是建立在思考的基础之上的,认知的建立是需要思考的能力,而思考是建立在知识的基础之上,必须有知识的基础、有一些常识,才能建立一些思考,形成一个推理机制。


AI需要从感知智能迈向认知智能,本质上知识是一个基础,然后基于知识的推理,刚好知识图谱其实是具备这样的一个属性。

知识图谱其实是富含有实体、属性、概念、事件和关系等信息,它能够基于一定的推理。且比较关键的是,它能够基于一定的推理为AI的可解释性,带来全新的一个视角。

可解释性已被一些领域AI大规模使用。

医疗领域,AI进行癌症的诊断的结果,如果没有给出一个合理的一个理由,或者是给出一个解释的一个方法,医生是不敢贸然的用AI给出的癌症诊断的结果去给病人直接做下一步的措施。

金融领域也一样,AI如果给投资人推荐了一个投资的方案,但是没有给出任何的一个解释跟说明的话,也会存在巨大的一个风险。

同样,在司法领域也是一样,用AI进行判案,AI给一个案件判定一个结果,
但是没有给出任何的一个解释,也是不能作为结果来采用的,因为司法强调的就是一种可解释性,对法律的解释性、可推理性。

为什么说知识图谱可以做这样一个可解释性呢?

举个例子,我们问

“C罗为什么那么牛?”

C罗为什么那么牛?

这个是一个问题。

要解释回答这个问题,人通常是怎么样去回答这样的问题呢?

通过知识图谱的简单的推理,就可以回答这样一个问题。

因为C罗获得过金球奖,C罗跟金球奖之间的关系是获得奖项的一个关系,金球奖跟影响力最大的足球评选奖项之一有这样一个地位的关系,它具有非常高的地位,C罗又获得过这个奖项,所以可以得出,C罗是很牛的。

这是一种知识图谱来解释、来回答这样一个“为什么”的一个问题。

同样还有一些问题,比如

“鳄鱼为什么那么可怕?”

人类是有这样的常识,所有的大型的食肉动物都是很可怕,这是个常识。

鳄鱼是一种大型的食薄动物,鳄鱼跟大型食肉动物概念之间是一种instance的关系。通过这样的一个常识和概念之间的关系,可以推导出鳄鱼是很可怕的。

同样的,

“鸟儿为什么会飞?”

因为它有翅膀,鸟儿这个实体它的属性是有翅膀,利用一个实体跟属性之间的关系,可以做这样一个推理。

之前微博上关晓彤跟鹿晗非常的火,经常被刷屏,这是为什么?

因为关晓彤跟鹿晗之间是男女朋友这样的关系,明星之间的男女朋友的关系就最容易被大家追捧,也最容易被刷屏。

这个就是通过关系也好,通过实体的属性也好,通过实体的概念也好,可以去解释、去回答一些问题。

这些是知识图谱在AI在可解释性方面的一些具体的例子。

深度学习的可解释性非常差的,深度学习里面内部的语义表达、向量的表达都是一些浮点数,人类是非常难以理解的。深度学习出来的结果,它的可解释性也是非常少的。

尽管我们现在在研究可视化的技术,把中间的它的结果呈现出来、可视化出来,但是真正能达到对人有效的解释性进展还是比较缓慢的。

知识图谱实际上是有望能够消除人类的自然语言跟深度学习黑盒之间的语义鸿沟。也就是深度学习的底层的特征空间和上层的人的自然语言空间这种巨大的语义鸿沟,通过深度学习跟知识图谱结合起来,有望能够消除。

这也是为什么AI要结合知识图谱的一个原因。


来看具体的例子,通过知识图谱怎么样来理解自然语言?

在问答研究当中,理解自然语言来回答问题,是非常困难的。因为人对人的自然语言的表达方式丰富多样,然后同样的语义的问题的表达方式也是多样的。

比如,问上海有多少人口

“what is the population of Shanghai?”

和图上是两种不同的问法,但实际上都是在问同样的问题。

看上去问法不一样,但表达的语义一样。

也有它的问法比较相近,但表达的语义完全不一样的。

比如

“狗咬人了吗?”
“人咬狗了吗?”

字仅仅颠倒的位置,语义就完全不同了。

当这个问题的答案来自知识库时,这一类的问题,我们通常称它为叫KBQA,叫“面向知识库的自然语言问答”。

KBQAI的核心步骤就是建立从自然语言的问答到知识图谱、知识库的三元组的位置映射的关系。

上面那两个人口的相关的问题,都可以映射到知识库当中的位置,叫“ population”。

通常比较简单的方法,就是记住这些所有的位置的映射的规则,记住这种句式,然后来套这样一个模板。但实际上这种做法是非常不灵活的,用同样的问法问北京、上海甚至其它任意一个城市的人口,这种方法就要去列举、去穷举,一种暴力式的记忆。

如果换一种方法,比如说我们有这样的叫

“How many people are there in City”

我们做抽象,就是把上海、南京、北京上升到概念的程度,这个概念对应就是城市,城市有人口这样的属性,只要这个实例是属于城市的,实际上都可以去回答这个这样的问题。

因为“shanghai is_a city,beijing is_a city,nanjing is_a city”,它都是一个城市,所以它都可以依照上面的模概念模板,来回答它的城市对应的人口。

充分的利用知识图谱的概念和对实体的表示、概念的表示,然后再利用概念的属性,就可以比较好的能回答这一类的自然语言的语义问题。
我们再来看一下通用知识图谱和行业知识图谱,它们这两个之间的区别。

通用知识图谱实际上是谷歌或者百度这样的大型的互联网公司在构建的,它主最主要是用于它的搜索引擎,它面向的是通用领域,它的用户是全部的互联网的用户,它构建是常识性的知识为主,包括结构化的百科知识,它强调的更多的是一种知识的广度,对知识的深度方面不做更多的要求,它的使用者也是普通的用户。

对于行业知识图谱来讲的话,它的整个定位就不一样,它首先是面向一个特定的领域,它的数据来源是来源于特定行业的语料,它是基于行业的数据来构建,而且要有一定的行业的深度,它强调的是更多的是深度,而不是广度,能够解决行业人员的问题,它的使用者也是这个行业内的从业人员,或者是这个领域里面的专业人员来使用。

通用知识图谱和行业知识图谱,个并不是说完全互相独立的,是具有互相互补性的关系。

一方面,通用知识图谱会不断的吸纳行业或者领域知识图谱的知识,来扩充它的知识面,然后增加它的知识的广度。

同时我们在构建一个行业知识图谱或者领域知识图谱的时候,实际上也并不是说只局限在这个领域的基本的数据,我们同时还要去通用知识图谱里面去吸纳更多的常识性的知识来作为补充,只有这样才能构成一个非常完整的行业知识图谱。

上面第一部分就讲完了,大概讲了一下知识图谱的概念,包括AI为什么需要知识图谱,以及举了相关的例子。第二部分我想更着重的讲一下知识图谱在行业里面的具体的应用。

三、如何构建知识图谱

构建知识图谱是包括这样的生命周期或这样的部分,包括定义、知识的抽取、知识的融合、存储、知识的推理、知识的应用,这样的循环迭代的过程。

我们先来理解一下本体的概念,本体是用于描述事物的本质的,维基百科里面对于计算机科学领域当中的本体给出的定义是这样的,就是:对于特定领域真实存在的实体的类型、属性,以及它们之间的相互关系的一种定义。
我们再来看看知识图谱和本体的关系,下面这张图,我们看到有两个层,就下面是本体层,上面是事实层,那本体层是基于特定领域的概念的定义,包括概念的属性,概念之间的关系,一般概念之间的关系是一种父子关系,也有叫做上下位的关系。事实层是具体的真实存在的实体,包括实体的属性以及实体之间的关系,每个实体都会映射到本体层相应的概念。面向对面大家都比较熟悉,给大家举例说明一下大家可能就比较易于理解,本体层的概念就好比面向对象里面的类的概念,然后事实层的实体就好比面向对象里面的对象,对象是从类当中派生出来的,同时继承了类的一些属性和关系。这就是本体的概念。
为什么要讲本体的概念?一个更直观的例子,就是要对知识图谱来进行模式或者Schema的定义。这里 domian是科技,我们要确定泰姬陵领域是科技领域,在这科技领域下面我们划分的若干个主题,比如说互联网主题、通讯主题、手机主题,在每个主题下面又有若干的概念,就是下面的概念层,比如互联网里面有深度学习、人工智能等等这些概念,然后通讯里面有智能手机这些概念。在概念下面就是具体的事实层面,就是实体层,比如说特斯拉modelS、苹果iPhone7、华为P10等等,这些都是具体的实体,然后实体之间有关系,它继承的概念之间的关系。最下面一层是事件层,就是实体之间的事件的关联,这就是整个本体层的例子。
给大家介绍比较好的开源本体的编辑工具,叫Protégé。这个工具是斯坦福大学开源的,它的功能是非常强大,也是目前最流行的本地的编辑工具,有网页版和桌面版,桌面版是免安装的,大家直接下载下来就可以试用。它的好处是什么?它屏蔽的具体的本体描述语言,用户只需要在概念层次上面进行本体的模型构建,同时也比较灵活,能够支持各种插件来扩展特定的功能。比如说推理的功能可以基于插件来扩展。因为它是斯坦福大学出版的,所以它天然的对中文的支持不是很友好,据说现在也有中文的插件,但是我也没有具体用过,这个效果不知道怎么样,大家也可以去试用一下。
下面一个非常重要的关键的步骤就是知识的抽取,这个里面首先抽取的实体,然后抽取的实体的属性,然后是实体之间的关系。我们看一下MER实体的抽取,我们知道MER可以转化为序列标注的问题,传统的机器学习的方法,CRF等都可以做,而且CFR做的效果还是不错的。CRF通常只能学习到相邻词位置比较近的上下文的特征,它无法获取整个句子甚至更长的上下文的特征。目前业界比较主流的,包括学术界比较主流的一种做法是什么?是深度循环神经网络加上结合CrF,这样的做法更多的是双向的循环神经网络,它可以分别从前往后以及从后往前这两个方向来去学习上下文的特征,然后进行序列信号的记忆和传递,这个是一种比较常见的做法。


比如这个例子,华为发布了新一代的麒麟处理,通过从前往后就可以推理出后面的那个字,然后从后往前也可以推理出向朝鲜和美国进行签订了新一轮的战略谅解协议备忘录。第一个字“朝”实际上是从后往前去进行预测推理。顶层用CRF对循环神经网络的结果进行约束就可以,把结果控制的会更好,把这个得到更好的控制。然后输入层通常是词向量或者字向量,embedding能可以把单个字或者词转化为低维的稠密的语义向量。这样相对传统高维编码的好处,这里不再赘述。
下面讲一下关系抽取的技术。它有几种方法,第一种是基于有监督的方法,就是把关系抽取当做分类问题来看待,就根据训练数据设计有效的特征,来学习各种分类模型,就是传统的分类。这个方法需要它的不好的地方,就是需要大量的人工标注的训练语料,但我们知道语料的标注是非常的耗时耗力的。所以在有监督的基础上,又提出了一种半监督的方式,半监督的方式主要采用方式进行关系的抽取,具体来说就是要对于要抽取的关系,首先基于手工设定若干的种子的实例,然后迭代性的从数据当中抽取关系对应的关系模板和更多的实例,通过不断迭代的方式来抽取越来越多的这些实例。

还有一种是无监督的方法,它本质上是一种聚类的方法,用拥有相同语义关系的实体,它拥有相似上下文的信息是它的假设,因此它可以利用每个实体的上下文的信息来代表实体的语义关系,对实体进行语义关系的聚类。

这三种方法当中,有监督的方法能够抽取出有效的特征,然后在准确率和召回率方面是更有优势的,半监督和无监督的方法一般情况下它的效果都不是特别的好,所以业界现在用的比较多的还是有监督的学习的方法。我们刚刚提到有监督学习方法,比较困难的地方就是怎么样获取大量分类的训练样本,完全通过人工去标注的方式显然不是比较好的方式。

这有什么样好的处理的方法?就是远程监督的一种方法,典型的工具叫Deepdive,也是斯坦福大学InfoLab实验室开源的知识抽取的系统,通过弱监督学习的方法,从非结构化的文本当中可以抽取出结构化的关系的数据。它比较好的地方就是开发者不需要理解它里面的具体的算法,只要在概念层次进行思考基本的特征就可以了,然后也可以使用已有的领域知识进行推理,然后也能够对用户的反馈进行处理,可以进行实时反馈的一种机制,这样能够提高整个预测的质量。背后用的是也是一种远程监督的技术,只要少量的运训练的数据就可以了。

接下来我们来具体来看一下它是怎么样来做这样一件事情的。首先,下面看到Mention的句子就是“奥巴马和米歇尔结婚”,它是句子,但Mention就是这些词的标记,奥巴马米歇尔都是Mention,然后我们要推测它之间是不是配偶的关系。这个时候要对Mention奥巴马和米歇尔这个Mention分别到知图谱里面去,然后去对应到知识图谱里面具体的实体,奥巴马和米歇尔就对应的实体,然后看一下这两个实体在知识图谱里面是不是存在着这样配偶的关系?如果是的话,我就把它拿过来作为正的训练样本,如果只图里面不是的话,它就是负的样本。我们的前提假设就是知识图谱里面的它的实体之间的关系都是正确的,以这个为依据去做样本的标注。
目前进行实体关系抽取有两大类方法,前面有一类是基于流水线式的抽取,就输入一个句子,首先抽取这实体,再对实体进行两两组合,然后再进行分类,最后识别出实体之间的关系。这种做法是有缺点的,第一,它容易造成错误的传播,比如在第一步的时候,实体如果识别错误了,后面的关系肯定也是错误的。第二,会产生没有必要冗余的信息,因为要对实体进行两两的配对,然后再进行关系的分类,很多配对之间实际上就没有这样的关系,就是它会带来了这样非常多的冗余的信息,错误率也会被放大、被提升。

现在用的比较多的另一种方法是联合学习的方法,就是输入一个句子,然后通过实体识别和关系抽取的联合模型,可以直接得到有效的三元组。通常我们是基于神经网络的联合标注的学习的方法,它这里面涉及到两个关键的工作,一个是模型的参数共享的问题,还有一个就是标注策略,怎么样进行有效的标注。模型共享是指的是在实体训练的时候能够进行实体识别和关系分类这两个任务,都会通过反向传播来匹配来进行关系的分类,所以仍然会产生没有关系的时候。然后同时来实现这两个参数之间的依赖,两个子任务之间的依赖。参数共享的方法,它本质上还是两个子任务,只是说它们这两个任务之间通过参数共享有了交互,而且在训练的时候还要预先进行MER,MER之后再根据MER的预测信息进行两两匹配,来进行关系的分类,所以仍然会产生没有关系时候冗余的信息存在。
现在我们新提出了一种端到端序列标注的策略,它是把原来涉及到序列标注和分类的两个任务变成了完全的端到端的序列标注的问题,然后通过端到端的神经网络模型,就可以直接得到关系的三元组,就是实体关系的三元组。新的标注策略是像下面这张图里面有三个部分来组成的,第一部分是实体中的词的位置,比如说b是表示开始,i表示是在实体的内部,e表示是实体的结尾,s表示是单个的实体。第二部分就是关系类型的信息,预定义的关系类型的编码,比如说里面的CP、CF,CP是国家总统,CF是公司创立者,这样两种的关系。然后还有实体的角色的信息,它表示是实体1还是实体2?实体跟关系之外的其它的这些字符都用O来表示,这样就进行了实体的标注。


接下来我们讲一下实体的融合,这里最主要就是实体的对齐。首先是实体对齐,也叫实体规划,是把具有不同的标识的实体,但是在现实世界当中可能是表达同样意思的,把它做规划。比如说中华人民共和国、中国和China,这个三个指的是同实体,尽管它的表述方式不一样,就把它规定为具有全局唯一标识的实例对象,然后添加到知识图谱当中去。

现在实体对齐普遍采用的还是一种聚类的方法,关键在于定义合适的相似度的阈值,一般从三个维度来依次来考察的,首先会从字符的相似度的维度,基于的假设是具有相同描述的实体更有可能代表同实体。第二个维度,是从属性的相似度的维度来看的,就是具有相同属性的和以及属性词的这些实体,有可能会代表是相同的对象。第三个维度,是从结构相似度的维度来看,基于的假设是具有相同邻居的实体更有可能指向同对象。

进行融合的时候要考虑各个数据源的数据的可靠性,以及在各个不同数据源当中出现的频度来综合决定选用哪个类别或者哪个属性词。还有一种方法就是是用来自LD,LD是很多人工标记好的数据,是非常准确的,里面有叫sans,它表示前后两个是同实体的,利用这个作为训练数据来发现更多相同的实体对,是比较好的方法。最后要说的是,无论用哪种方法,都不能保证百分之百的准确率,所以最后也要有人工审核和过滤。
我们再看一下知识存储,就是如何选择数据库,从选择层面,我们有图数据库,有NoSQL的数据库,也有关系的,数据库有很多选择。具体什么样的情况下选择什么样的数据库?通常是如果说知识图谱的关系结构非常的复杂、关系非常的多,这时候建议使用这个图数据库,比如Neo4J这样的数据库。另外一种就是它的关系并不是很复杂,关系可能也就是1度、2度之多到3度的关系,更多的它是有非常多的属性的数据,这个时候可以考虑关系式数据库,或者是ES这样的存储。如果要考虑到知识图谱的性能、可扩展性、可分布式,是可以结合NoSQL的数据库,比如说Hbase等等。根据实际的情况,一般是综合起来使用的,就是根据我们的经验,我们会结合Neo4J和ES来综合来使用,同时还结合这关系型数据库mysql等等,根据不同的数据的特点来进行选型,而不是说一味的追求图数据库。
我们来看一下目前主流的几款图数据库,Titan、Graph、Neo4J这个三个分别都是开源的,然后Titan是阿帕奇下面的,Graph是MIT,Neo4J是开源的一种商业的,既有商业版,也有也有开源免费版。然后它们的平台,像Titan是Linux,Graph是windows。而数据的支撑量级,像Titan是后端存储,基于callcenter,Hbase的分布式存储引擎,可以支持更大的数据量,千亿级的数据量级;Neo4J商业版也可以支持到百亿级的,但是它的非商业版在数据量级比较大的时候,就是一般是在几千万级的时候就可能会出现一些问题。
我们再看一下知识推理,知识推理这边有几种方法,首先是基于符号推理,我们上面说的三元组的结构,比如说左边的RDF,有概念,就是实例的结合,然后基于概念进行推理。我在最开始讲的 Google 的例子就是基于符号三元组形成的简单推理。
这个是基于OWL进行本体推理的例子,OWL有特有的语法,我们来看一下右边的例子,苹果由富达和黑石投资,可以表示成苹果,然后它有这样的左项的符号,它存在一个BeinvestedBy,就是富达且苹果,这样的一个表达式。然后借助富达投资公司都是创新企业,然后借助黑石投资的公司都是创新企业,有一个投资即是帮助融资这样的基本事实,就可以推导出苹果由富达投资,苹果由黑石投资,苹果是一家创新企业。


还有一种是基于图(PRA)的推理的方法,更直观的一种方法,思想是比较简单的,就是连接两个实体的路径作为特征,来预测它们之间可能存在的关系。比如说左边这个图里面Charlotte Bronte,我们要预测他的职业是不是作家,是作家,在这个图里面已知存在关系是什么呢?他写过一篇小说,它写过一篇小说Jane Eyre,然后双城记也是一部小说,狄更斯是写了双城记这部小说,狄更斯是作家,同时它下面还有他的父亲职业也是作家,所以基于这样图之间的关系,就可以较大概率的推理出Charlotte Bronte的职业很有可能就是作家,这就是基于图之间的关系的特征来进行预测的。
还有是基于分布式的知识语义表示的方法,比如说像Trans系列的模型,然后再这个模型基础上进行语义的推理。首先是看一下TransE,Trans就是翻译的意思,其实这跟翻译关系并不是特别的大,但这里面叫Trans。Trans这个模型的思想也比较直观,它是讲每个词表示成向量,然后向量之间保持一种类比的关系。比如说上面这个图里面的北京中国,然后类比巴黎法国,就是北京加上首都的关系就等于中国,然后巴黎加上capital的关系等于France。所以它是无限的接近于伪实体的embed]ding。这个模型的特点是比较简单的,但是它只能处理实体之间一对一的关系,它不能处理多对一与多对多的关系。
后来提出了TransR的模型了,TransR实际上是解决了上面提到的一对多或者多对一、多对多的问题,它分别将实体和关系投射到不同的空间里面。一个实体的空间和一个关系的空间,然后在实体空间和关系空间来构建实体和关系的嵌入,就对于每个元组HRT首先将实体空间中实体通过Mr向关系空间进行投影得到hr和Tr,然后Hr加上r是不是约等于或者近似的等于Tr,通过它们在关系空间里面的距离,来判断在实体空间里面,H和T之间是不是具有这样的关系?

除了TransE、TransR,还有更多的Trans系列的,像TransH、TransN、TransG等等这些模型。清华大学的自然语言处理实验室发布了一款这个叫openKE的平台,openKE它是开源的知识表示学习的平台,就基于Tanserflow的工具包来开发的。它整合了Trans系列的很多算法,提供统一的接口。然后它也是面向了预训练的数据来表示模型的。大家有兴趣可以去看一下openKE,一个表示知识学习的平台。
还有一种是基于深度学习的推理,这里的一个例子是利用了卷积神经网络对实体进行关系的分类的,它不一样的地方是什么?是它把依存树作为输入,就是将词在树中的不同的位置的嵌入式的表示拼接到这个词向量当中来学习,同时对面相树结构设计了独特的卷积盒。这种方法在实体分类的任务上,相较于未使用位置关系的信息,效果会有一定的提升,这也是其中一种方法。

以上是关于知识图谱关键技术与应用的主要内容,如果未能解决你的问题,请参考以下文章

知识图谱陈华钧:知识图谱与深度学习优势互补,将破解更多金融科技难题

资源推荐自然语言处理知识图谱相关语料大列表

知识图谱研究进展

知识图谱的最新进展关键技术和挑战

Nlpir大数据知识图谱的落地指南

「AI专题实训通知」自然语言处理与知识图谱构建