知识图谱关系检错和知识补全方法研究*

2022-08-26 09:39王赫楠杨昕悦孙艳秋
计算机与数字工程 2022年7期
关键词:知识库卷积图谱

王赫楠 杨昕悦 孙艳秋

(1.辽宁中医药大学 沈阳 110000)(2.辽宁工程技术大学 阜新 123000)

1 引言

1.1 知识图谱

知识图谱[1]这一概念最初是由谷歌公司在2012 年提出,本质是一种由节点和边组成的语义网知识库。早在20 世纪下半叶的人工智能热潮中就有知识图谱的相似理论被提出,它脱胎于许多认知心理学家提出的语义网络的理论[2]。从1977 年到2012年这35年来,作为知识图谱的成长期,知识图谱经历了专家系统阶段及Web1.0,Web2.0 阶段。WordNet、Cyc、Hownet 等大规模的人工知识库也应运而生,知识工程成为人工智能的重要研究领域。

1.2 知识图谱补全

近年来一系列的知识图谱补全研究应运而生[3]。根据是否与知识图谱外的非结构化信息关联知识图谱补全可以分为两类:一种为静态知识图谱补全;第二种为动态知识图谱补全。目前,知识表示学习对静态知识图谱补全方法起到了重要的作用。

当前主流的知识表示方法是基于词向量的平移不变性原理,其中最具代表性的就是在2013 年被提出来的翻译模型TransE[4]。但TransE 并不适用于复杂的关系知识图谱,对“1-N”关系和“N-1”关系,TransE模型在这类复杂关系的知识图谱上表现不够理想;而后Wang 等提出了TransH[5]模型,它认为关系下的实体与实体应该有不同的表示;Lin提出TransR[6]模型则认为,实体与关系也不应该在同一空间下表示,所以TransR 模型将实体空间通过关系投影矩阵投影到相应的关系空间;Ji等提出的TransD[7]模型则更加细化了头实体和尾实体,认为两者之间的属性有较大的差异,所以需要不同的关系投影矩阵。虽然知识表示在知识图谱补全中占有着重要的位置[8],但数据的稀疏性问题和过拟合问题仍然是未来需要解决的问题。

针对上述问题,本文提出了一种基于知识嵌入的知识图谱关系检错和知识补全方法。该方法采用了逻辑规则、相似度计算、知识嵌入、卷积神经网络等方面的理论和相关算法。从而当得到一个更新后的三元组事实,预测哪些是过时需要更新的三元组,然后删除并补全整个知识库。

2 知识图谱自动关系检错方法

2.1 知识关系检错方法

1)逻辑规则判断

逻辑规则被广泛地用于概括当前的信息。例如,给定一个逻辑规则:“如果x 当前的队伍是y,而且z 也一样,然后x 和z 是队友”,如图1 所示。当确认<内马尔,队友,梅西>是过时的信息后,根据逆否命题,可以进一步推断出内马尔或者梅西已经离开了他们的团队。

图1 逻辑关系示例

因为在训练后续的二分类模型中,需要一些训练实例。但已知的知识库中并不知道哪些是正例哪些是负例,这时需要给定一个已知的最新事实<s,r,o>∈T。由它与最新知识库K 进行匹配,得到正例和负例。结果有两种可能,第一种是知识图谱已有对应的三元组信息,那么认为这个三元组为最新的三元组,知识图谱也是无需更新的。

但当匹配发现没有可以与之匹配的三元组的时候,需要在知识库K 中检测<s,r,*>,<*,r,o>,和<s,*,o>三种情况是否是过时信息,其中*是通配符,其中<s,r,*>和<*,r,o>型的三元组是通过关系r的对应关系来判断的。如果r 是一个一对多的关系,即一个主语可能对应很多的宾语,但一个宾语只对应一个主语。在这种情况下<*,r,o>即为过时信息。例如,一个公司的CEO 为A,他有许多公司成员,他的下属有很多,但他的下属只有这一个CEO,那么当有一条最新的消息说,这位CEO 离任后,那么他的所有下属信息都是过时的。对于<s,*,o>型的三元组,应该寻找在知识库K 中是否存在关系r′与r 是不相容的关系,意思是在两个实体之间关系r 和r′是否可以同时存在,即<s,r,o>和<s,r′,o>在知识库K 中能否在同一时间内成立。举个例子,知识库中A 是B的学生,即<A,老师,B>与B 是A 的学生,即<A,学生,B>不能同时存在。如果这种情况出现了,因为已经确定了新增的信息为更新后的事实三元组<s,r,o>,那么可以知道知识库中原来的三元组<s,r′,o>为过时信息。

将上述过时的三元组信息作为负例,没过时的三元组事实作为正例,放入二分类模型中进行分类判断为过时的可能性是多少,这里使用了神经网络进行学习。但需要针对过时三元组自定义其特征,这里强调在讨论的所有三元组事实f:<s,r,o>都是基于当前需要检错的知识库K 中。前三个特征用于确定实体s 是否为活跃的实体,即s 的属性是否会发生变化。第四个特征是确定关系r是否为主动关系,第五个特征是确定整个事实,最后一个特征是估量训练三元组与已知最新的事实三元组之间的相关度。在这里将特征分别为δ1,δ2,δ3,δ4,δ5,δ6,下面给出具体定义和计算方法。

δ1计算实体s的属性完备性,它是实体s的属性数与同类型实体之间的最大属性数之比。

其中pf为待判断三元组f:<s,r,o>的属性数,pmax为数据库中与是事实f同类型实体的最大属性。

δ2特征为实体s的历史更新频率。它统计实体s被添加到知识库后被更新的次数。

δ3特征为从其他实体到实体s 的链接,即实体s的入度。因为知识图谱的结构是一个关系对应一个节点,所以也可以说是计算指向s 的实体的数量。更具体地说,如果存在三元组<s′,r,s>,则s′指向s。

δ4特征为<s,r,*>历史更新频率,它测量的是在s 被加入知识图谱中后实体s 对应的r 关系的更新次数,这可以反映关系r的稳定性。

δ5特征为事实f:<s,r,o>在存在于知识库中的时间,它用于量化事实f在知识库中存在的时间。

δ6特征为待测三元组f:<s,r,o>与已知最新更新的三元组f*:<s*,r*,o*>之间的关系相似度。这里引出一个计算关系相似度的理论。

因为与大量的描述信息的实体不同,知识库K中的关系之间几乎没有上下文可以捕获其予以相关性,所以前人的研究一般只考虑实体之间的相似性,对于关系与关系之间的研究仍然有欠缺。

为了解决上述问题,采用点态互信息(Pointwise Mutual Information,PMI)[9]方法,该方法可以通过三元组之间的共同元素,即主语和宾语实体,来计算两个关系的相关性,即在本文中计算r和r*的相关性。这里认为,当两个关系的主语和宾语高度保持一致时两个关系是相似的,当此关系的头节点和尾节点在所有头节点和尾节点中占的概率越大,那么这两个关系之间的相似度越高,从概率方向可以计算出两个关系之间的相关度。

例如,在图2 中所示中关系“工作于”,“生活于”,“定居于”因为三个关系的主语和宾语高度一致,在很多三元组中都有体现,那么可以说这三个相关性很高,但如果像关系“学生”与“老师”这种在知识库中主语和宾语不可能一致的两个关系,可以认为两个关系之间的相关性很低。

图2 计算关系相关性思维图

首先定义一个概率相关函数P(r,r*)来衡量两个关系的相关性,即P(r,r*)的值,其中r 和r*分别为带判断三元组和已知最新三元组事实。计算关系r 作为主体的概率PS(r) 和r 作为客体的概率PO(r)分别如下:

其中S(r) 是知识库中关系r 的主语实体的集合,O(r)为关系r 的宾语实体的集合,N 是知识库中事实的总数。

则关系r和r*共同主语的概率PS(r∩r*),关系r和r*共同宾语的概率PO(r∩r*)如式(3)所示:

因此可以得出r和r*的PMI得分为

为了方便后续的计算将PMI 评分进行归一化处理,处理后的NPMI的值域为[-1,+1]:

因为知道关系r和关系r*之间因为每对r和r*至少有0 个公共的事实三元组,所以不可能存在负相关关系,所以定义的P(r,r*)的相关函数如下:

所以可以得到特征值δ6为P(r,r*)。

2)神经网络二分类模型

将每个训练三元组构造为一个标签数据:<<δ1(f),δ2(f),δ3(f),δ4(f),δ5(f),δ6(f)>,y(f)>,其中每个δi( )f都是关于事实f 的特征之一,如果f 过时了,y(f)=1 否则,y(f)=0。这些标签训练数据被进一步输入分类器来预测事实为过时的概率。分类器将为每个三元组返回一个[0,1]的值作为过时的可能性。

通过神经网络的预测得到了一个值域为[0,1]的预测值,通过Top-k 排序,设定阈值,高于阈值的三元组为过时的三元组信息。

使用图3对整体模型进行概括。

图3 知识图谱关系检错流程图

2.2 基于2D卷积的知识图谱补全方法

1)2D卷积模型应用于知识图谱

知识图谱是一个能够提供高质量结构化数据的知识库,已经广泛的应用于人工智能的各种领域,例如智能搜索,问答系统,推荐等。所以知识图谱的完备性和准确性在各领域中都很重要。但如今大部分开放知识图谱,大都是人工或者半自动的方式构建起来的,这些图谱通常比较稀疏,很多隐藏的关系并没有被挖掘出来。例如,在Freebase 和DBpedia 中,超过66%的person 条目丢失了一个出生地[10]。知识图谱补全[11]的目的在于将三元组缺失的部分预测出来,从而将知识图谱更加完整。

当知识库检错后很可能造成知识库中关系的缺失,所以通过知识补全方法来完善的知识库,使数据源更加完备可靠。本章引用了一个基于2D卷积神经网络的模型ConvE[12],并将模型融入的方法中。

在知识图谱补全中引用了一个神经链接预测器,ConvE[12],模型的灵感来源于计算机视觉,使用二维卷积的嵌入来预测知识图中的新链接,在空间层次上直接作用于嵌入,在嵌入中引入了像素级的空间结构。虽然像其他链接预测一样大部分的模型参数仍然在关系和实体嵌入上,但利用卷积体重共享机制,只使用一个额外的72 参数提取更多一层的非线性特性,然后投射回嵌入空间得分。因此,有一个高度参数效率,可扩展的架构,它可以很好地推广和而且与其他常用的链路预测模型相比,使用很少额外的参数。

ConvE 模型比起TransE 等其他知识嵌入模型有独特的优势,首先卷积神经网络可以学习多层非线性特征,同时通过权值共享减少参数的数量,由于一系列正则化技术[13],也可以有效地防止过度参数化导致的过拟合,其次模型不仅仅可以解决1-1的问题还可以解决1-N的复杂关系,这与上节叙述的检错模型相匹配,模型同时预测所有链接的能力远高于其他模型。

ConvE模型的优势如下。

Toutanova 和Chen[14]之前的工作指出,FB15k和WN18 包含许多冗余的、可逆的关系,但他们没有调查这个问题的严重性。ConvE 模型通过设计一个简单的基于反转规则的模型来演示其严重性,反转规则在WN18 和FB15k 上实现了最先进的结果,这表明模型可能会学习这个规则,而不学习知识图谱本身。提出了一个新的版本的WN18,它是按照FB15k-237的相同的建造流程,从而缓解这个问题。

2)ConvE 模型

ConvE 模型中提出了一个神经连接预测模型,其中输入的实体和关系之间是由全连接层和卷积层建模进行交互的。ConvE 模型的主要特征是对二维形状嵌入的卷积。图4 总结了该体系结构。

如图4 所示,图中步骤1、2 为ConvE 模型中的实体和关系嵌入的重塑和连接过程;步骤3 中,由重塑后产生的矩阵作为一个输入,输入到卷积层;步骤4、步骤3中,特征图张量被量化和映射到一个k 维的空间;并在步骤5 中与所有候选对象嵌入相连。

图4 ConvE模型结构图

评分函数的正式定义如下:

前馈过程中,模型对两个嵌入矩阵进行行向量查找操作,一个是实体,记作E|ε|×k,一个是关系,记R|R|×k′,其中k和k′分别是实体和关系的嵌入维数,|ε|和 |R|表示实体数和关系数。这个模型然后连接代表和代表,并使用它作为一个带卷积核ω的二维卷积的输入。这样一个层返回一个特征图张量Τ ∈Rc×m×n,其中c 为二维卷积核的个数,m和n 为所提取的特征图的维数。然后将张量T 在vec(T)∈Rcmn向量中进行重塑,然后将其通过矩阵W∈Rcmn×k参数化的线性变换投影到k 维空间中,并通过点积与嵌入对象eo 匹配。卷积核和矩阵W是共享参数,与输入实体s和o以及关系r无关。

为了训练模型参数,采用逻辑sigmod 激活函数,将(s,r,o)三元组的分数的对数化并且最小化下面二元交叉熵损失:

其中p是标预测,t是标签。

使用已矫正的线性单元作为非线性f,以更快地训练,并在每层后进行批量归一化,以稳定、规范地提高训练收敛的速度。使用dropout 对模型进行正则化,可以分为以下几个阶段:去掉嵌入,去掉卷积后的特征映射,去掉全连接层后的隐藏单元。使用Adam 作为优化器[15],并使用标签平滑来减少由于标签的输出非线性饱和而导致的过拟合。

3 结语

本文提出了一种基于知识嵌入的知识图谱关系检错和知识补全的方法,该方法分为关系检错和知识补全两个阶段。在关系检错阶段,根据最新更新过的事实三元组,通过逻辑规则找出训练二分类模型的训练数据。自行定义六个特征作为标签输入模型,这里为体现关系之间的作用,采用了PMI方法计算了两个关系之间的相似度。通过二分类模型训练预测三元组为过时信息的概率,与阈值比较判断三元组是否为过时三元组。在知识补全方面,采用ConvE 知识图谱补全算法,将检错后的知识图谱补全,得到更加完整的知识库,为后续研究与应用提供更有保障的数据源。

猜你喜欢
知识库卷积图谱
基于全卷积神经网络的猪背膘厚快速准确测定
“植物界大熊猫”完整基因组图谱首次发布
基于伪谱法的水下航行体快速操舵变深图谱研究
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
图表
卷积神经网络概述
我国联合虚拟参考咨询系统知识库现状研究*
——基于与QuestionPoint的对比
基于Lucene搜索引擎的研究
位置与方向测试题