一种自动搜索时序知识图谱补全模型的方法
1.本发明涉及人工智能领域中的时序知识图谱的补全技术,具体涉及一种自动搜索时序知识图谱补全模型的方法。
背景技术:
2.近年来,时序知识图谱因其对现实世界的合理建模而受到研究者的广泛关注,时序知识图谱是富含许多时间敏感的关系事实的图结构数据,如图1所示。其中人物a、人物b、国别是图中的节点,节点之间的关系是图中的边。
3.时序知识图谱将知识描述为(头实体,关系,尾实体,时间戳) 的四元组形式,如(人物a,当选某职位,国别,2016年11月x日), (人物a,公开指责,人物b,2022年4月x日)等。时间戳信息可以帮助确定知识成立的时间,使得知识图谱中的知识事实更加可信,这也促进了时序知识图谱在问答系统、推荐系统等领域的一系列应用研究。但绝大多数时序知识图谱都存在着不完整的问题,存在着大量的知识缺失,这会严重影响其应用在下游任务中的性能。为了补全其内部缺失的知识,时序知识图谱补全任务由此产生,时序知识图谱补全任务是时序知识图谱领域的基础问题,旨在预测图谱中的缺失知识。
4.目前流行的时序知识图谱补全方法主要分为两类,一类是基于嵌入的方法,该类方法直接构造时间感知的时序知识图谱评分函数,来评估候选四元组是否属于图谱中的缺失知识,其中的代表性工作有ttranse,hyte, de-simple,tntcomplex等。基于嵌入的方法可以很好地捕捉时序知识图谱中的语义信息,但此类模型忽略了时序知识图谱中丰富的拓扑信息。另一类方法是基于图神经网络的模型,此类模型利用图神经网络捕捉时序知识图谱中的拓扑信息与时序信息,能够更加全面的挖掘时序知识图谱的隐含知识,代表工作如temp,t-gap等,以temp为例,该方法是将一个时序知识图谱按照不同时间戳划分为多个静态知识图谱切片,使用多关系图卷积网络(rgcn)捕捉静态知识图谱中的拓扑信息,获得融合拓扑信息的实体表示,利用门控循环单元(gru)或是时序自注意力机制(sa)捕捉不同时间戳上实体表示的动态演化规律,获得融合时序信息的时间感知实体表示。大量的实证性实验验证了基于图神经网络的模型在时序知识图谱补全问题上可以取得更优的性能。
5.然而现有技术多采用手工设计的单一网络结构去处理不同的时序知识图谱,手工设计时序知识图谱补全模型成本高昂,且不同的网络结构模型在不同性质的数据上的效果千差万别;而使用固定的图神经网络架构处理不同的时序知识图谱,很难捕捉不同类型的时序知识图谱中多样的拓扑与时序信息。
技术实现要素:
6.针对现有技术存在的上述不足,本发明的目的在于提供一种自动搜索时序知识图谱补全模型的方法,针对不同性质的时序知识图谱数据,自动搜索出适应数据性质的时序知识图谱补全模型结构,使得在不同数据下搜索出的模型在对应数据上的时序知识图谱补全任务都能取得优异的性能。
7.为实现以上目的,本发明采用如下技术方案:
8.一种自动搜索时序知识图谱补全模型的方法,包括以下步骤:
9.步骤1:将待补全的时序知识图谱按照不同时间戳划分为若干个静态知识图谱切片;
10.步骤2:定义搜索空间,基于定义好的搜索空间构建超网络;
11.步骤3:使用单路径采样策略优化超网络的参数,得到训练好的超网络;
12.步骤4:对超网络进行一次架构采样,并使所述架构继承超网络的对应参数,利用所述架构在验证集上进行推理,得到验证性能;
13.步骤5:实施若干次步骤4,得到对应验证性能最优的架构,将此架构作为搜索出的对应该时序知识图谱的最优网络结构,用于时序知识图谱补全任务。
14.进一步地,步骤1中,针对数据集,构造一个实体词典,一个关系词典和一个时间戳词典,使用给定的数字id表示数据集中的四元组,即头实体,关系,尾实体和时间戳。
15.进一步地,将数据集划分为训练集、验证集和测试集,再按照不同的表示时间戳的数字id将训练集、验证集和测试集中的四元组均划分成n个集合,得到n个静态知识图谱切片。
16.进一步地,步骤2中,对于神经网络结构搜索,首先定义一个搜索空间,搜索空间包括4个部分:拓扑结构编码器、时序信息编码器、层间连接模块和层间聚合模块,其中拓扑结构编码器的候选操作包括:rgcn基于多关系的图卷积网络、rgat基于多关系注意力的图卷积网络和 compgcn基于组合操作的多关系图卷积网络,所述时序信息编码器的候选操作包括:gru门控循环单元、self-attention自注意力机制和 identity将输入值作为输出值的运算;所述层间连接模块的候选操作包括:lc_concat对向量进行合并的运算、lc_sum求和的运算和lc_skip 不采取层间连接的运算;所述层间聚合模块的候选操作包括:lf_concat 将输入值作为输出值的运算、lf_max求最大值的运算、lf_mean求平均值的运算和lf_skip不采取层间融合的运算。
17.在本发明的一种优选实施方式中,定义一个两层的搜索空间,其中第一层拓扑结构编码器接受静态知识图谱切片与实体s的初始化嵌入向量作为输入,产生中间实体表示中间实体表示代表第一层拓扑结构编码器的运行函数;层间连接模块作为拓扑结构编码器之间的模块,用于融合前一个拓扑结构编码器的输入表示与输出表示产生连接模块的输出作为下一层拓扑结构编码器的输入,f
lc
代表层间连接模块的运行函数;第二层拓扑结构编码器接受静态知识图谱切片与实体s的中间嵌入表示作为输入,产生中间实体表示类似的,可分别利用静态知识图谱切片得到实体s在不同时间戳下由第i层拓扑结构编码器生成对应的中间表示第一层时序信息编码器将前面τ个时间步,第一层的拓扑结构编码器的输出作为输入,产生融合了多个时间步信息的动态表示融合了多个时间步信息的动态表示代表第一层时序信息编码器的运行函数,同理,第二层时序信息编码器产生动态表示
层间融合模块融合所有时序信息编码器的输出表示,获得最终的实体表示表示,获得最终的实体表示f
lf
代表层间融合模块的运行函数。
18.进一步地,构建的超网络中包括了搜索空间中的所有候选操作。
19.进一步地,构建好超网络后,使用单路径采样策略训练超网络,具体步骤如下:在超网络训练阶段,针对训练集中每个小的数据子集,使用均匀采样,从搜索空间中采样出一条单路径,与此条单路径相关的模型权重将会被激活,对于数据子集,模型将计算损失函数,并基于损失函数使用梯度下降算法对相关模型权重进更新;进行若干次上次操作,最终得到训练好的超网络权重。
20.进一步地,对于训练好的超网络权重,利用均匀采样,从搜索空间中采样出一条单路径,该单路径对应的网络结构即为一个候选架构,所述候选架构继承超网络中对应训练好的模型权重,在验证集上进行模型推理,获得在验证集上的任务性能。
21.与现有技术相比,本发明具有以下有益效果:
22.(1)本发明方法在三个公开的基准数据集上,可以搜索出比手工设计模型补全性能更优的网络模型;采用自动搜索的方式对网络模型进行自动设计,相比于手工设计的模型,减少了手工设计成本,同时使用自动搜索策略,可以针对不同的数据集搜索出不同的网络结构,提升了模型结构的灵活性与数据适应性。
23.(2)本发明在超网络训练阶段,利用单路径超网络训练策略,可以充分训练构建的超网络,在架构采样阶段,利用随机搜索对架构进行采样,选择验证性能最高的架构,即可搜索出适应数据集的时序知识图谱补全模型结构。
附图说明
24.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
25.图1为一个时序知识图谱的示例;
26.图2为本发明方法流程图;
27.图3为两层搜索空间的示意图;
28.图4为超网络示意图;
29.图5为单路径训练策略示意图。
具体实施方式
30.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
31.对于时序知识图谱,其实体集合、关系集合与时间戳集合分别通过ε,和表示,时序知识图谱中的四元组由(s,r,o,t)来表示,其中,s和o分别是主体实体与客体实体,r是关系,t是时间戳。|ε|代表时序知识图谱中实体元素的数量,代表时序知识图谱中关系
元素的数量,代表时序知识图谱中时间戳元素的数量,时序知识图谱可以表示为代表时序知识图谱中时间戳元素的数量,时序知识图谱可以表示为这样的形式。
32.嵌入向量由对应参数的粗体形式表示,例如表示实体s对应的嵌入向量,de代表实体嵌入维度,表示实体s在时间戳t下由第i层拓扑结构编码器生成对应的中间表示(i》0)。
33.本发明的流程图如图2所示。下面介绍具体实施例。
34.步骤1:将待补全的时序知识图谱按照不同时间戳划分为若干个静态知识图谱切片;
35.数据预处理:本实施例使用的示例数据集是icews14,其中包含7128 种实体,230种关系,时间戳数量为365个,其中训练集包含72826个四元组,验证集包含8941个四元组,测试集包含8963个四元组。针对此数据集,构造一个实体词典,一个关系词典,一个时间戳词典,遍历其中所有的四元组:对于实体元素,如果四元组中的主体实体或客体实体没有在实体词典当中,就将该主体实体或客体实体放入实体词典中,并从0开始给予其一个数字id表示;对于关系元素,如果四元组中的关系没有在关系词典当中,就将该关系放入关系词典中,并从0开始给予其一个数字id表示;对于时间戳元素,如果四元组中的时间戳没有在时间戳词典当中,就将该时间戳放入时间戳词典中,并从0开始给予其一个数字id表示。根据以上做法,就可以使用给定的数字id表示数据集中的四元组,例如:s1,o1实体在实体词典中分别以22,66表示,r1关系在关系词典中以88表示,t1时间戳在时间戳词典中以99表示。那么(s1,r1,o1,t1)四元组就可以用 (22,88,66,99)这样的四元组来等价表示。
36.上述操作后,按照不同的时间id将训练集、验证集和测试集中的四元组均划分成365个集合(一般按照数据集中不同时间戳的个数,来决定的划分的集合的个数。)。其中,以训练集为例,时间id为t的集合可以表示为这样的形式,本发明称为在时间t下的静态知识图谱切片。
37.经过预处理后,获得了训练集、验证集与测试集,各365个静态知识图谱切片,其时间id从0开始,一直到364,这些静态知识图谱切片将作为本发明的输入数据。
38.对于这7128个实体,本发明利用实体嵌入层生成维度为7128
×de
的实体表示矩阵,对于230种关系,利用关系嵌入层生成维度为230
×dr
的关系表示矩阵,并对实体表示矩阵与关系表示矩阵同时进行随机初始化,实体表示矩阵的第i行,代表的是id为i的实体初始表示向量,关系表示矩阵的第j行,代表的是id为j的关系初始表示向量。
39.步骤2:定义搜索空间,基于定义好的搜索空间构建超网络;
40.对于神经网络结构搜索,本发明首先定义了一个搜索空间,搜索空间包括4个部分,拓扑结构编码器、时序信息编码器、层间连接模块、层间聚合模块,每个部分的候选操作如表1所示。一个两层的搜索空间如图3 所示。以图3为例,具体而言,第一层拓扑结构编码器接受静态知识图谱切片与实体s的初始化嵌入作为输入,产生中间实体表示作为输入,产生中间实体表示代表第一层拓扑结构编码器的运行函数;层间连接模块作为拓扑结构编码器之间的模块,用于融合前一个拓扑结构编码器的输入表示与输出
表示产生连接模块的输出产生连接模块的输出作为下一层拓扑结构编码器的输入,f
lc
代表层间连接模块的运行函数;第二层拓扑结构编码器接受静态知识图谱切片与实体s的中间嵌入表示作为输入,产生中间实体表示类似的,可分别利用静态知识图谱切片得到实体s在不同时间戳下由第i层拓扑结构编码器生成对应的中间表示下由第i层拓扑结构编码器生成对应的中间表示第一层时序信息编码器将前面τ个时间步,第一层的拓扑结构编码器的输出作为输入,产生融合了多个时间步信息的动态表示为输入,产生融合了多个时间步信息的动态表示为输入,产生融合了多个时间步信息的动态表示代表第一层时序信息编码器的运行函数,同理,第二层时序信息编码器产生动态表示层间融合模块融合所有时序信息编码器的输出表示,获得最终的实体表示f
lf
代表层间融合模块的运行函数。
41.表1搜索空间
[0042][0043]
本发明构建了一个超网络,超网络中包括了搜索空间中的所有候选操作,如图4所示。具体而言,对于超网络第i层的拓扑结构编码器部分,其中代表拓扑结构编码器操作候选集合,代表第i层拓扑结构编码器在超网络训
练过程中是否采样到了操作,值为1为已被采样,0为未被采样;对于超网络的层间连接模块部分,其中代表层间连接模块操作候选集合,代表第i个层间连接模块在超网络训练过程中是否采样到了操作,值为1为已被采样,0为未被采样;对于超网络的第i层的时序信息编码器部分,其中代表时序信息编码器操作候选集合,代表第i层时序信息编码器在超网络训练过程中是否采样到了操作,值为1为已被采样,0为未被采样;对于超网络的层间融合模块部分,其中代表层间融合模块操作候选集合,代表层间融合模块在超网络训练过程中是否采样到了f
lf
操作,值为1为已被采样,0为未被采样。
[0044]
步骤3:使用单路径采样策略优化超网络的参数,得到训练好的超网络;
[0045]
构建好超网络后,本发明使用单路径策略训练该超网络,具体步骤如下:在超网络训练阶段,针对训练集中每个小的数据子集,使用均匀采样,从搜索空间中采样出一条单路径(例如从3层的拓扑结构编码器搜索空间中分别采样到rgcn,rgat,rgcn,从3层的时序信息编码器搜索空间中分别采样到gru,sa,gru,从2个层间连接模块搜索空间中分别采样到 lc_concat,lc_skip,从层间融合模块搜索空间中采样到lf_mean,构成了一条单路径rgcn||gru||lc_concat||rgat||sa||lc_skip||rgcn|| gru||lf_mean),单路径在超网络中的表示如下图5所示。其中的实线箭头表示一条单路径,与此条单路径相关的模型权重将会被激活,对于数据子集,模型将计算损失函数,并基于损失函数使用梯度下降算法对相关模型权重进更新。进行若干次上次操作,最终得到训练好的超网络权重。
[0046]
步骤4:对超网络进行一次架构采样,并使所述架构继承超网络的对应参数,利用所述架构在验证集上进行推理,得到验证性能;
[0047]
对于训练好的超网络权重,本发明利用均匀采样,从搜索空间中采样出一条单路径(如上所述),该单路径对应的网络结构即为一个候选架构,该候选架构继承超网络中对应训练好的模型权重,在验证集上进行模型推理,获得在验证集上的任务性能。
[0048]
步骤5:实施若干次步骤4,得到验证任务性能最高的架构,将此架构作为本发明方法在icews14数据集上搜索出的时序知识图谱补全模型架构。
[0049]
本方法在三个公开的基准数据集上,可以搜索出比手工设计模型补全性能更优的网络模型,将本发明方法与现有方法相比,性能比较如表2所示。
[0050]
表2在不同基准数据集上,不同方法的性能对比
[0051][0052]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
