一种在线动态知识图谱嵌入方法、系统及存储介质与流程

文档序号:31677393发布日期:2022-09-28 02:51阅读:66来源:国知局
一种在线动态知识图谱嵌入方法、系统及存储介质与流程

1.本发明涉及数据挖掘技术领域,具体涉及一种在线动态知识图谱嵌入方法、系统及存储介质。


背景技术:

2.知识图谱技术近年来得到了国内学术界和工业界的极大关注,已经在金融、电商、健康、医疗等涉及国计民生的重要行业中展示出巨大的应用潜力,提供了一种从海量数据中挖掘和表达实体间关系的方法,是一种有效的知识表达形式,推动了一系列知识库的建立,例如dbpedia、yago、freebase等等,为语义搜索、人机问答、个性推荐、智能手机助理等应用提供了重要支撑。
3.尽管知识图谱技术取得了长足的发展,用于海量感知数据时存在动态性问题。在现有系统中,知识图谱以三元组的形式描述实体及其关系。为了克服知识图谱中关系描述的稀疏性和不完备性、提高知识图谱系统在链接预测、实体分类、问答等应用上的效率,现有系统普遍采用知识图谱嵌入技术来学习和提取实体和关系的向量表达。现实世界中的知识图谱一般是动态时变的,大多数现有的知识图谱嵌入模型侧重于在忽略动态更新的情况下学习静态知识图谱嵌入,一旦知识图谱发生变化,这些模型需要基于整个知识图谱进行重训练,时间成本过高,在知识图谱具有较高的更新频率时变得异常困难。
4.目前有很多动态图嵌入的方法能够支持图上节点的在线嵌入学习,但是这些方法不能直接应用于动态知识图谱嵌入,因为它们所支持的节点嵌入是基于结构性近邻,而无法描述语义层面的关系边缘信息。目前还有一些时间知识图谱模型也能够用于动态知识图谱,但他们的目标是从带有时间戳的知识图谱快照中挖掘不断发展的知识,用于链式预测和时间预测。因此,技术上这类模型支持的是对带有时间戳的知识图谱进行离线嵌入学习,并不具备完整意义上的动态知识图谱嵌入能力。
5.由于实际动态知识图谱中的时间信息分布不均匀,对时间段的划分也带来很多挑战。如果按照关系事件的数量划分,不同时间段包含相近数量的关系事件,会使得出现频率较低的时间戳所对应的不同关系事件划分到同一个时间段中,而出现频率较高的关系事件可能被划分到不同的时间段中,从而导致时间段的跨度差异。时间段的时间跨度对于动态知识图谱演化过程建模会有显著的影响。相对于一个时间跨度较小的时间段,大时间跨度的时间段对其后续时间段产生的影响较大。例如,前序知识图谱比较稳定的前提下,对后续时间段结构学习动态特性产生较大的影响;而前序知识图谱不稳定时,累积到当前的时间段结构,对后续时间段结构学习动态特性提供不了太多的先验信息。
6.因此,如何将动态知识图谱技术应用于海量异构感知数据的分析和知识挖掘,降低对时间段分布的敏感性,以更快的更新速度和更好的适应性,从动态数据中推导出趋势、模式、异常和未知关系,具有重要的实际意义和巨大的挑战性。


技术实现要素:

7.针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种在线动态知识图谱嵌入方法、系统及存储介质,以解决背景技术中所提出的技术问题。
8.为实现上述目的,第一方面,本发明实施例提供了一种在线动态知识图谱嵌入方法,包括:
9.均匀分割设定时长的时间获得第1至第t个时间段;均匀分割每个时间段获得第1至第n个时间片,t、n≥1;
10.获取第1至第t个时间段的时间段知识图谱g1至g
t
,获取每个时间段的时间段知识图谱g
τ
时,依次获取第1至第n个时间片的校正时间片知识图谱,且获取第i-1个时间片的校正时间片知识图谱之后,利用第i-1个时间片的校正时间片知识图谱校正第i个时间片的时间片知识图谱得到第i个时间片的校正时间片知识图谱2≤i≤n;直至得到第n个时间片的校正时间片知识图谱将第n个时间片的校正时间片知识图谱作为时间段知识图谱g
τ
,1≤τ≤t;
11.获取每个时间段的时间段知识图谱g
τ
的时序相关性,基于马尔可夫序列和贝叶斯条件概率,对动态知识图谱g进行概率推理,获取动态知识图谱g中所有事件的联合概率模型,其中,g=g1∪g2∪g3∪
···gτ
···
∪g
t

12.使用lstm序列描述所述联合概率模型,得到动态知识图谱g中头实体预测交叉熵损失、尾实体预测交叉熵损失和关系预测交叉熵损失,通过最小化三者的联合损失函数得到动态知识图谱g中头实体的概率、尾实体的概率和关系的概率。
13.可选的,获取第i个时间片的时间片知识图谱包括:
14.获取第i个时间片内的所有事件,构建时间片知识图谱其中,所述时间片知识图谱中的事件以四元组(hi,ri,ti,ti)的形式进行表示,其中,头实体hi、尾实体ti、关系ri、时间戳ti。
15.可选的,所述利用第i-1个时间片的校正时间片知识图谱校正第i个时间片的时间片知识图谱得到第i个时间片的校正时间片知识图谱包括:
16.根据第i个时间片的时间片知识图谱相对于第i-1个时间片的校正时间片知识图谱的结构变化获取需要更新的目标,所述目标包括头实体、尾实体或者关系;
17.根据需要更新的目标在线局部更新中的头实体、尾实体和关系,得到所述第i个时间片的校正时间片知识图谱
18.可选的,所述需要更新的目标包括消失的目标、新出现的目标、与新出现的目标相关的目标。
19.可选的,所述方法还包括:
20.基于动态知识图谱g中头实体的概率、尾实体的概率和关系的概率,对事件进行预测,将满足预设条件的事件更新至知识库。
21.第二方面,本实施例还提供了一种在线动态知识图谱嵌入系统,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
22.第三方面,本实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
23.本发明的方法至少具有如下有益的技术效果:
24.1、本发明提供的基于不同时间粒度的在线动态知识图谱嵌入方法,克服实际动态知识图谱中的时间信息分布不均匀问题;
25.2、本发明在线学习每个时间段知识图谱,在保留绝大部分现有嵌入空间向量表达的前提下,在较少的范围内重新学习嵌入,提高计算效率,节省了计算资源,适合海量异构数据知识的描述;
26.3、本发明基于马尔可夫假设和贝叶斯条件概率,构建整个动态知识图谱的事件联合概率推断模型,可实现图谱的补全和知识推理,挖掘隐含知识。
附图说明
27.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
28.图1是本发明实施例提供的一种在线动态知识图谱嵌入方法的流程示意图;
29.图2a是本发明实施例提供的实体与关系一种结构示意图;
30.图2b是图2a中实体e1的上下文结构的子图的结构示意图;
31.图2c是图2a中关系r1与关系路径p1和p2的结构示意图;
32.图3是本发明实施例提供的一种在线动态知识图谱嵌入系统的结构示意图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
35.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
36.还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
37.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被
解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0038]
需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
[0039]
如图1所示,其示出了一种在线动态知识图谱嵌入方法的流程图,该方法可以包括:
[0040]
s100:均匀分割设定时长的时间获得第1至第t个时间段;均匀分割每个时间段获得第1至第n个时间片,t、n≥1。
[0041]
将设定时长的时间均匀分割为t个时间段,将每个时间段均匀分割为n个时间片,使后续以时间维度构建对应的知识图谱具有不同的时间粒度。
[0042]
s200:获取第1至第t个时间段的时间段知识图谱g1至g
t
,获取每个时间段的时间段知识图谱g
τ
时,依次获取第1至第n个时间片的校正时间片知识图谱,且获取第i-1个时间片的校正时间片知识图谱之后,利用第i-1个时间片的校正时间片知识图谱校正第i个时间片的时间片知识图谱得到第i个时间片的校正时间片知识图谱2≤i≤n;直至得到第n个时间片的校正时间片知识图谱将第n个时间片的校正时间片知识图谱作为时间段知识图谱g
τ
,1≤τ≤t。
[0043]
本实施例中,获取第i个时间片的时间片知识图谱包括:获取第i个时间片内的所有事件,构建时间片知识图谱其中,所述时间片知识图谱中的事件以四元组(hi,ri,ti,ti)的形式进行表示,其中,头实体hi、尾实体ti、关系ri、时间戳ti。
[0044]
本实施例中,所述利用第i-1个时间片的校正时间片知识图谱校正第i个时间片的时间片知识图谱得到第i个时间片的校正时间片知识图谱包括:
[0045]
根据第i个时间片的时间片知识图谱相对于第i-1个时间片的校正时间片知识图谱的结构变化获取需要更新的目标,所述目标包括头实体、尾实体或者关系;
[0046]
根据需要更新的目标在线局部更新中的头实体、尾实体和关系,得到所述第i个时间片的校正时间片知识图谱
[0047]
具体的,对对应时间段的动态特性采用在线学习的方式得到图上实体和关系的嵌入表示。在线学习的思路是通过区分发生变化了的实体和关系,在保留绝大部分现有嵌入空间向量表达的前提下,在较少的范围内重新学习嵌入,从而达到更好的在线更新效率。
[0048]
随着时间演进,事件被添加和删除,时间片知识图谱结构发生变化,将子图节点的嵌入表示采用在线学习,局部更新的方式完成。
[0049]
为了区分实体和关系发生了变化的局部结构,我们认为实体和关系最直观的结构上下文是它们的语义邻居实体。为了保留给定实体及其相邻实体之间的结构信息,选择一跳邻居实体来构建每个给定实体的上下文,然后将每个实体的上下文定义为由其相邻实体
和自身组成的无向子图。例如,对于图2a所示的实体与关系中,实体e1的上下文结构的子图(sub-graph)sg(e1)仅包含一跳邻居实体e2,e3,e5,e6和e1本身,如图2b所示。
[0050]
在关系方面,对于图2a所示的实体与关系,关系r1和关系路径p1=(r1,r2)用于连接实体e1到e5,关系r1和关系路径p2=(r5,r4)用于连接实体e1和e2。所以关系路径p1和p2是关系r1的子图sg(r1)中的两个邻接顶点,如图2c所示。因此,定义以下三种嵌入场景:
[0051]
·
知识元素嵌入:关于目标o(实体e或者关系r)的嵌入;
[0052]
·
上下文元素嵌入:当一个目标o是其他目标o的上下文结构元素时,该目标o的嵌入被称为上下文元素嵌入;
[0053]
·
上下文子图嵌入:当一个目标o的上下文是一个关于目标o的子图,其向量表达由子图中元素的加权平均构成。对上下文子图采用图卷积模型得到其中各个元素的权重αi,此时上下文子图嵌入的具体计算如下:
[0054][0055]
在学习上下文子图嵌入过程中,需要分别学习知识元素嵌入和上下文元素嵌入的图卷积模型。
[0056]
上述三种嵌入和整合方式如下:给定和其上下文子图{vi}
i=1,

,n
,其邻接矩阵a∈rn×n,初始化特征矩阵h
(0)
∈rn×d,其中h
(0)
的每一行表示为vi。这样,如果o是一个实体,vi表示一个实体而vi就是其知识元素嵌入;如果o是一个关系,vi表示一个关系而vi就是其上下文元素嵌入;当vi表示含有两个关系的关系路径,vi就是这两个关系的上下文元素嵌入之和。在最终整合这些嵌入时,采取以下策略:
[0057]o*
=g

ok+(1-g)

sg(o)
ꢀꢀꢀꢀ
(2)
[0058]
其中ok是o的知识元素的嵌入,sg(o)是其上下文子图嵌入,g是一个门变量,

表示元素点乘运算。
[0059]
通过上述的划分,在线学习过程中,下列参数可以保持不改变;
[0060]
(1)学习上下文子图嵌入时针对知识元素嵌入和上下文元素嵌入的图卷积模型不需要改变;(2)相应的门变量不需要改变;(3)现有目标(实体或者关系)的上下文元素嵌入不需要改变。
[0061]
在线学习的过程仅需要更新与出现变化的目标有关的嵌入,包括:消失的目标、新出现的目标、与新出现的目标相关的目标。对于消失的目标,在公式(1)的整合计算中去掉这些目标的嵌入;对新出现的目标本身,以及与新出现的目标有关的目标,学习新的知识元素嵌入和上下文元素嵌入,这种方式极大地减少了训练的体量,不需要从头开始训练。
[0062]
训练过程中,在τi时刻,对于新出现目标有关的嵌入学习的参数初始化,采用均匀分布对于已有目标的知识元素嵌入和上下文元素嵌入,采用τ
i-1
时刻的值进行计算。
[0063]
采用上述方案,根据相对于上个时刻的结构变化获取需要更新的目标,然后在线局部更新的实体和关系表示得到通过这种在线更新方法依次更新所有时间片知识图谱直到得到校正时间片知识图谱最终得到时间段知识图g
τ
的表示。
通过在单个时间段内进行在线学习,可以快速的更新嵌入参数,同时在整体结构上与别的时间段保持一致,从而支持后续的概率推理计算。
[0064]
s300:获取每个时间段的时间段知识图谱g
τ
的时序相关性,基于马尔可夫序列和贝叶斯条件概率,对动态知识图谱g进行概率推理,获取动态知识图谱g中所有事件的联合概率模型,其中,g=g1∪g2∪g3∪
···gτ
···
∪g
t

[0065]
动态知识图谱本质上是由带时间序列的事件构成,事件前后之间具有很强的时间依赖性。动态图谱的推理完全可以基于事件的时间关联性,即利用时间的动态性预测即将发生的事件。
[0066]
步骤s200已经描述了每个时间仓g
τ
的表示方式,为了构建事件前后的关联性,我们把整个图谱g看成时序事件序列。对于g=g1∪g2∪
···gτ
···
∪g
t
,其中g
τ
={(h,r,t,i)∈g|i=τ},表示在第τ时间段内发生的事件集合。
[0067]
整个图谱的联合概率模型可表示为:
[0068][0069]
可以假定事件集合g
τ
遵循马尔科夫假设,只与过去的m个时刻发生事件相关,并且假定过去m个事件集合中,同一时间段τ下发生的事件相互独立,则可将τ时间段下的条件概率表示为:
[0070][0071]eτ
=(h
τ
,r
τ
,t
τ
)表示τ时间段内的头实体h
τ
、关系r
τ
、尾实体t
τ
,上式可展开为:
[0072]
p(e
τ
|g
τ-1
,g
τ-2
,

,g
τ-m-1
)=p(t
τ
|h
τ
,r
τ
,g
τ-1
,g
τ-2
,

,g
τ-m-1
)p(h
τ
,r
τ
|g
τ-1
,g
τ-2
,

,g
τ-m-1
);
[0073]
可以假设(h
τ
,r
τ
)与集合g
τ-1
,g
τ-2
,

,g
τ-m-1
无关,根据贝叶斯规则有:
[0074]
p(e
τ
|g
τ-1
,g
τ-2
,

,g
τ-m-1
)

p(t
τ
|h
τ
,r
τ
,g
τ-1
,g
τ-2
,

,g
τ-m-1
);
[0075]
为了进一步简化表达,基于马尔科夫假设,实体h
τ
相关的事件概率建只与其邻域特征f(h,τ)有关,则:
[0076]
p(e
τ
|g
τ-1
,g
τ-2
,

,g
τ-m-1
)

p(t
τ
|h
τ
,r
τ
,f(h,τ),f(h,τ-1),

,f(h,τ-m-1));
[0077]
以上式对时间段τ发生的事件进行联合概率表达为基础,在整个时间域上图谱的联合概率可表示为:
[0078][0079]
这样,通过对整个动态知识图谱g的联合概率进行建模,可以捕捉动态知识图谱g中所有事件在时间上的相关性,从而获取所有事件的联合概率模型。
[0080]
s400:使用lstm序列描述所述联合概率模型,得到动态知识图谱g中头实体预测交叉熵损失、尾实体预测交叉熵损失和关系预测交叉熵损失,通过最小化三者的联合损失函数得到动态知识图谱g中头实体的概率、尾实体的概率和关系的概率。
[0081]
基于lstm序列描述联合概率模型,分别得到头实体的预测交叉熵损失、尾实体的预测交叉熵损失、关系的预测交叉熵损失,通过最小化三者的联合损失函数对目标进行优
化,得到任意时间段τ下事件对应的头实体的概率、尾实体的概率、关系的概率。
[0082]
本实施例中,头实体预测损失函数为:
[0083][0084]
其中,d为全部训练集的四元组,m为全部实体的个数,yc为被预测头实体的真实标签,p(h=c|t,r)为被预测头实体h为c类的概率。
[0085]
本实施例中,尾实体预测损失函数为:
[0086][0087]
其中,d为全部训练集的四元组,m为全部实体的个数,yc为被预测尾实体的真实标签,p(t=c|h,r)为被预测尾实体t为c类的概率。
[0088]
本实施例中,关系预测损失函数如下:
[0089][0090]
其中,d为全部训练集的四元组,r为全部关系的个数,yc为被预测关系的真实标签,p(r=c|h,t)为被预测关系h为c类的概率。
[0091]
通过最小化联合损失函数l求解模型参数:
[0092][0093]
其中,β、γ为模型的超参数,l
t
表示尾实体预测损失函数,lh表示头实体预测损失函数,lr表示关系预测损失函数。
[0094]
优化以上联合损失函数,最终得到动态知识图谱g中头实体的概率、尾实体的概率和关系的概率。
[0095]
可选的,本方法还可以包括:
[0096]
s500:基于动态知识图谱g中头实体的概率、尾实体的概率和关系的概率,对事件进行预测,将满足预设条件的事件更新至知识库。
[0097]
例如,将动态知识图谱g中头实体的概率、尾实体的概率和关系的概率均大于0.8的事件判定为“真事件”,将该事件更新只知识库中。
[0098]
基于相同的发明构思,本发明实施例还提供了一种在线动态知识图谱嵌入系统。如图3所示,该系统可以包括:一个或多个处理器101、一个或多个输入设备102、一个或多个输出设备103和存储器104,上述处理器101、输入设备102、输出设备103和存储器104通过总线105相互连接。存储器104用于存储计算机程序,所述计算机程序包括程序指令,所述处理器101被配置用于调用所述程序指令执行上述在线动态知识图谱嵌入方法实施例部分的方法。
[0099]
应当理解,在本发明实施例中,所称处理器101可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0100]
输入设备102可以包括键盘等,输出设备103可以包括显示器(lcd等)、扬声器等。
[0101]
该存储器104可以包括只读存储器和随机存取存储器,并向处理器101提供指令和数据。存储器104的一部分还可以包括非易失性随机存取存储器。例如,存储器104还可以存储设备类型的信息。
[0102]
具体实现中,本发明实施例中所描述的处理器101、输入设备102、输出设备103可执行本发明实施例提供的在线动态知识图谱嵌入方法的实施例中所描述的实现方式,在此不再赘述。
[0103]
需要说明的是,关于在线动态知识图谱嵌入系统的具体工作流程,可参考前述方法实施例部分,在此不再赘述。
[0104]
进一步地,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:上述在线动态知识图谱嵌入方法。
[0105]
所述计算机可读存储介质可以是前述实施例所述的后台服务器的内部存储单元,例如系统的硬盘或内存。所述计算机可读存储介质也可以是所述系统的外部存储设备,例如所述系统上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述计算机可读存储介质还可以既包括所述系统的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述系统所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0106]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0107]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1