基于两步式框架的有向超图链式预测方法

文档序号:32403795发布日期:2022-12-02 19:54阅读:116来源:国知局
基于两步式框架的有向超图链式预测方法

1.本发明属于人工智能技术领域,尤其涉及基于两步式框架的有向超图链式预测方法。


背景技术:

2.链式预测有助于放大图结构数据中的关系,受到学术界和工业界的广泛关注。现有的研究主要集中在简单图的链式预测上,用一条边来表示两个节点之间的关系,这在处理现实世界的实际情况时可能不够。在现实世界中一个关系(即边)可能涉及两个以上的实体(即节点),例如化学反应、共同作者关系和社会网络等等。换句话说,这些是典型的高阶关系。图1(a)显示了一个玩具化学反应网络的例子。从图中可以看出,一个完整的反应由cuo、h2so4、h2o、cuso4等几个化合物组成,且化合物之间存在高阶关系,这种高阶关系定义了如下反应:
3.cuo+h2so4→
h2o+cuso44.因此,最近的一种研究趋势是将高阶关系建模为超边,从而产生超图。可以看出,一个超边可以覆盖多个节点,如图1(a)中反应i的5个节点和反应ii的4个节点。经过这样的扩展,图模型能够自适应地处理包含多个节点的高阶关系,而不仅仅是三元组的关系。
5.传统的面向简单图的链式预测方法无法捕捉到这种高阶关系,与简单图相比,它具有更大的挑战性。首先,链接中每个节点的表示对超链接的预测都有影响。因此,在进行预测时,一个好的表示模型需要考虑到一个链接中涉及的所有单个节点的表示。其次,由于对超图的人工标注大多数都十分复杂,因此很多情况下对超图的预测缺乏足够的训练数据,这就导致数据量不足以很好地训练大量的可学习参数。
6.针对这一问题,目前的研究主要分为两类:(1)基于转移的模型将简单图中的转移约束(即h+r≈t)推广到高阶,以m-transh和rae为代表。由于这些模型建立在转移约束的基础上,一次只能考虑两个节点,因此无法捕捉超链接中节点的全局特征。(2)基于神经网络的模型利用超图的结构信息进行建模,典型的方法有nalp、hgnn、hypergcn和hypersagnn。由于神经网络中参数较多,这类模型由于训练数据的缺乏,容易出现过拟合现象。
7.此外,现有的方法主要关注无向超图预测,忽略了有价值的链接方向信息。例如,在图1(a)的reaction ii中,只是对于cuo、h2so4、h2o和cuso4之间是否存在超边进行预测是不够的,还需要借助方向信息来区分反应的反应物和生成物。当像图1(b)那样推断方向时,可以很容易地构造出化学反应方程。该任务称为有向超图链式预测。
8.动机:对于一个有向超边,可以根据超边的方向将超边中的节点分为头和尾两部分。这两个部分的顺序对于判断有向超边的方向很重要,相比之下,每个部分的具体顺序是无关紧要的。例如cuo和h2so4应该在h2o和cuso4前面,但是cuo和h2so4(或h2o和cuso4)之间的位置无关紧要。然而,现有的解决方案还没有体现出这一特性。
9.具体来说,最先进的能够处理有向超图模型nhp采用了两步方法,其性能并不是最优的。nhp采用gcn更新节点表示,gcn的训练是一个需要较大数据量的过程,超图的数据不
足容易导致模型过拟合。此外,它使用超边中节点表示的平均值来代表整个超边的表示向量,并通过两部分的乘积来计算一个分数来推断超边的方向。这可能是不够的,因为它忽略了节点语义和位置等信息。更重要的是,目前的平均嵌入方法对超边中的节点数量不敏感。这和四节点超边的意义与五节点超边的意义本质上不同的事实相矛盾。
10.二元图上的链式预测:大多数二元图上的链式预测方法可以分为两类,一类是通过分解三阶表示张量的线性数学方法,另一类是利用非线性卷积模型,如conve和hyper。近年来出现了许多线性数学的链接预测方法,如rescal、distmult、complex、simple。基于张量分解的rescal通过模型的潜在分量进行集体学习,提供了一种高效的分解计算算法。dismult是rescal的一种特殊情况,它通过对角矩阵的关系来减少过拟合,而complex将dismult扩展到复域。simple基于canonical polyadic(cp)分解,其中同一实体的主语和宾语实体嵌入是独立的。tucker是基于tucker分解的一个简单而强大的模型;将核心张量视为参数张量,取实体嵌入向量、关系嵌入向量与核心张量之间的模积来定义评分函数。由于使用高阶张量来定义参数大大减少了计算过程中的信息损失,tucker被证明是处理二元图上链式预测任务性能最好的模型。然而,它仅限于简单图,而不适用于超图。
11.无向超图的链式预测:无向超边预测的研究可以分为三种,即基于转移的方法、基于神经网络的方法和基于节点邻接矩阵的方法。基于转移的方法的代表模型是m-trnash和rae。m-transh将transh推广到n阶关系情形,将实体投影到特定关系的超平面上,并将评分函数定义为投影结果的加权和。rae考虑了n阶关系中实体之间共同出现的可能性,通过mlp建立关联模型,并在评分函数中反映出来。由于这些模型是由二元模型扩展而来的,对n阶关系的表示也进行了限制。nalp、hypergcn和hyper-sagnn是三种基于神经网络的方法。hgnn是一种基于超图卷积运算的通用超图神经网络框架,能够整合多模态数据和复杂的数据相关性。hypergcn提出了一种利用超图谱理论中的工具训练超图gcn的新方法,并将该方法应用于真实世界超图的ssl(基于超图的半监督学习)和组合优化问题。hyper-sagnn开发了一种新的基于自注意的图神经网络,适用于具有可变超边大小的同质和异构超图。对于基于节点邻接矩阵的方法,坐标矩阵最小化(cmm)算法在超网络节点邻接空间中交替进行非负矩阵分解和最小二乘匹配。cmm使用期望最大化算法对超边预测任务进行优化,例如预测有机体代谢网络的缺失反应。c3mm改进了cmm预测任意大小和多个域的超边,该预测基于他们制定和测试的团闭假设(clique-closure hypothesis,cch)。
12.有向超图的链式预测:有向超图上的链接预测研究还不是很成熟,大多数方法都倾向于在预测完超边中包含的节点后再预测超边的方向。nhp模型基于gcn模板建立了两个评分函数来预测超边及其方向,将一个超边划分为两个子超边,并利用它们的嵌入向量来计算方向评分函数。但是,由于超边的嵌入向量来源于节点嵌入向量的平均值,从而丢失了节点及其位置的信息,使得模型的性能难以令人满意。


技术实现要素:

13.为了更好地完成这一任务,本发明提出了一个简单而有效的模型,有向超图预测的两步式框架,即tf-dhp。它提出了一个由两个特定模块组成的模型:基于tucker分解的超边预测模块和基于bilstm的方向推理模块。为了预测超边,本发明利用tucker分解对超边进行建模,本发明对二元关系应用三阶tucker分解,并把高阶tucker分解运用于超图。
tucker分解产生了一个核心张量,用来表示节点之间的相互作用程度。然后,利用张量与每个节点表示的模积设计了一个评分函数,用于评估超边的存在的可能性。本发明在理论上证明了节点的模积顺序对得分函数的最终得分具有不变性,尽管每个超边都有一个方向。此外,tucker分解得到的核心张量通常具有很高的阶数,这导致了较高的计算复杂度。为了解决这一问题,本发明进一步引入张量环分解(tensor ring,tr),将高阶张量分解为几个三阶张量的模积,有效地降低了计算量。
14.为了判断超边的方向,首先回顾图1(a)中的例子。一旦确定生成物为cuso4和h2o,则会反过来暗示反应物中的物质;如果其中一个生成物发生了变化,反应物就会不同。因此,对于模型来说,向前和向后两部分之间的信息传递是非常重要的。这促使本发明设计一个双向工作的模型。在此基础上,使用bilstm作为基础模型。此外,节点在头(或尾)部分的位置是不重要的,因此,有必要训练模型只关注头(或尾)部分的顺序。为此,本发明设计了一种数据增强策略,该策略保持两部分的顺序,但对每一部分内的节点进行随机洗牌。这样一来,数据集规模也得到了提高,缓解了数据的不足。
15.具体的,本发明的基于两步式框架的有向超图链式预测方法,包括以下步骤:
16.获取具有多个实体间关系的有向超图,其中超图的一条边涉及两个以上的实体;
17.将有向超图输入神经网络模型进行两个阶段的训练,其中第一阶段的训练以节点的初始嵌入向量及其标签为输入,获取节点集中每个节点的嵌入向量后,利用基于tucker分解的评分函数获得两种评分来评估超边是否存在,并使用二元交叉熵损失函数以最大限度地提高两者的差距,模型训练的目标是使已有超边的得分大于不存在超边的节点集的得分;如果超边存在,根据每个节点的方向标签将节点集分成两组,将有向超边中的节点根据标签分为头尾两部分,并按照特定的顺序输入到bilstm层中使用bilstm模型来计算组间的方向进行第二阶段的训练;
18.在第一阶段的模型训练完成后,获取更新后的核心张量和嵌入向量,并利用这些嵌入量初始化第二阶段的bilstm模型,bilstm模型包括两组端到端但方向相反的lstm隐藏层,在正向隐藏层组的隐藏层中,逐个计算超边中的节点嵌入向量的状态,同时在下一隐含层中计算前一隐含层的状态,并将隐藏层状态馈入相应隐藏层的节点嵌入向量的计算中;计算出所有隐藏层之后,生成一个包含所有顺序信息的嵌入向量;同样的过程发生在反向隐藏层组中,得到两个不同的嵌入向量;将两个嵌入向量连接成一个向量,得到超边表示,然后将其发送到softmax层以获得方向分数;
19.正确方向的分数和错误方向的分数;
20.基于bilstm的模型使用梯度下降法更新模型参数以及节点和关系的嵌入。
21.进一步的,所述有向超图是一个有序对h=(v,e),其中v={v1,

,v
l
}为节点集合,l为节点个数,e包括一组有指向的超边:
22.e={(h1,t1),(h2,t2),...,(hm,tm)}
23.e中的每个元素分成两个分量,其中hm为第m个元素的头,tm为第m个元素的尾,超边的方向是从头到尾;有向超边预测的目标是根据给定节点的相关性预测缺失超边的存在性和关联方向。
24.进一步的,根据每组节点的顺序不影响方向的特点,对每组节点随机排序,增加训练数据;
25.保持两个组分的顺序,并随机洗牌同一个组分中的节点;生成的实例数量取决于每个组件拥有的节点数量;
26.给所有生成的数据实例一个正确的标签,以强制bilstm利用方向的特性。
27.进一步的,所述tucker分解将高阶张量分解为一个核心张量和几个因子矩阵,具体形式表示如下:
28.x=(ω,u
(1)
,u
(2)
,...,u
(k)
)=ω
×iu
(1)
×2u
(2)
...
×ku
(k)
29.其中,x表示原始张量,ω表示核心张量,k表示x的模态数,(u
(1)


,u
(1)
)表示因子矩阵集合,数学符号k表示沿第k阶模的张量积,核心张量的维数每一阶都比原始张量的维数小,因此将核张量视为原始张量的降维表示。
30.进一步的,存在一个节点数最多为n的超图,将其定义为(n+1)阶张量y,将y分解为一个核心张量和几个矩阵的模积:
31.y=z
×1r
×
2v1
×
3v2
...
×
n+1vn
32.其中n为超边中的节点数,为核心张量,dr为关系嵌入向量的维数,dv为节点嵌入向量的维数,矩阵v1,...,vn为节点嵌入矩阵且其中v表示超图中所有节点表示向量拼接得到的矩阵,nr和nv为超图中的关系数和节点数,矩阵是由超图中所有关系嵌入组成的关系嵌入矩阵。
33.进一步的,如果一个超边包含m个节点,首先选择对应的节点和关系嵌入;然后,将参数张量设计为包含节点和关系共享信息的可学习参数的核心张量,使用评分函数优化这些参数,以充分利用节点之间的相关性和基于节点嵌入的关联关系,将模型的复杂性控制在可接受的范围内;所述评分函数为:
34.φ(r,v1|,v2,...,vn)=tr(z1,z2,...,zn)
×1r
×2v1×3...
×
n+1
vn35.其中tr表示矩阵乘积的迹运算,v1,v2,

,vn为超边所包含节点的嵌入向量;r是超边的嵌入向量,z1,

,zn是经过张量tr分解后得到的一系列三阶张量。
36.进一步的,所述评分函数的张量形式如下:
[0037][0038]
其中zi(αk,α
k+1
)表示与张量指标对应的向量,符号
°
表示向量的外积,r1,...,rn对应于张量的一阶到n阶维数,上式中的矩阵迹运算和输入输出相同维度保证了圆维置换的不变性,从而评分函数具有顺序不变性。
[0039]
进一步的,在tucker分解中张量积的顺序对结果没有影响,所述张量积的元素形式如下:
[0040][0041]
索引j1,

,jn为整数自变量集,f1(j1),f2(j2),

,fn(jn)表示函数,g(j1,j2,

,jn)为一个多元函数,函数的值表示核张量对应位置上的参数;对于多重定积分∫∫∫
···
∫dg(j1,j2,

,jn)dj1dj2···
djn,各阶积分的极限是有限常数,j1,j2,

,jn的顺序对函数没
有影响,改变积分顺序并不改变定积分的值。
[0042]
进一步的,得到两个不同的嵌入向量,将它们连接成一个向量,然后将其发送到softmax层以获得方向分数,该过程的具体表达式如下:
[0043][0044][0045][0046]
p=softmax(h
t
)
[0047]
其中,h
t
表示序列表示的拼接嵌入,和由两个相反方向的隐藏层计算,ω
t
表示第t个节点的嵌入,符号表示拼接操作。
[0048]
进一步的,所述二元交叉熵损失函数的具体表达式如下:
[0049][0050]
其中f
mean
为平均函数,σ为sigmoid函数,为每个负超链接的得分,为每个正超链接的得分。
[0051]
与现有技术相比,本发明的有益效果如下:
[0052]
对于超边预测,本发明首先提出了将tucker分解推广到高维,引入张量环分解算法来降低模型的复杂度。本发明从理论上证明了为超边评分的模积结果与参与计算的节点顺序无关。
[0053]
对于方向推断,本发明构想了一个基于bilstm的模型,该模型可以考虑关于超边的前向和后向的信息。进一步引入数据增强的策略,使模型忽略头(或尾)部分的节点位置,而关注头(或尾)部分之间的顺序。
[0054]
本发明的模型tf-dhp是一个流水线模型,它不仅可以灵活地处理有向超图,而且可以处理无向超图。
[0055]
这些模块构成了一种新的预测有向超边的模型,即tf-dhp模型。通过在几个真实数据集上的实验,本发明确认了tf-dhp优于最先进的模型。
附图说明
[0056]
图1两种超图的示意图,其中椭圆表示超边,箭头表示有向超边的方向;
[0057]
图2本发明的有向超图链式预测模型示意图;
[0058]
图3本发明基于bilstm的超边方向预测模型示意图;
[0059]
图4nalp和tf-dhp的mrr结果在wikipeople上进行了评估图;
[0060]
图5在wikipeople和reverb15k上对不同嵌入维度的无向超边预测模型和有向超边预测模型的mrr的评估对比图;
[0061]
图6无向超边预测模型在不同训练次数下的mrr,在wikipeople数据集上的评估结果图。
具体实施方式
[0062]
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
[0063]
本部分对本发明有向超图链式预测的任务进行了形式化描述,并介绍所提出的方法,包括框架和模块细节。
[0064]
本发明的任务描述:
[0065]
有向超图是一个有序对h=(v,e),其中v={v1,

,v
l
}为节点集合,l为节点个数。e包括一组有指向的超边:
[0066]
e={(h1,t1),(h2,t2),...,(hm,tm)}
ꢀꢀꢀ
(1)
[0067]
e中的每个元素都可以分成两个分量,其中h(t)作为头(尾),超边的方向是从头到尾。
[0068]
有向超边预测的目标是根据给定节点的相关性预测缺失超边的存在性和关联方向。以图1(b)中的化学反应图为例。化学物质构成v,而它们的实际反应构成有指向的超边e。数据集中的每个样本将包含不确定数量的物质。本发明必须确定它们是否能够组成正确的化学反应,以及每个节点属于哪一种成分。
[0069]
本发明由基于tucker分解的超图链式预测模型和基于bilstm的方向预测模型组成,用于预测有向超图中节点集之间的有向超边。然后通过一个排序目标对其进行优化,其中现有超边的得分高于不存在的节点子集的得分,正向方向的得分高于负向方向的得分。
[0070]
参考图2的本发明有向超图链式预测模型。将待预测节点集的嵌入情况输入tucker分解层计算得分。模型训练的目标是使已有超边的得分大于不存在超边的节点集的得分。然后将现有超边中节点的嵌入情况发送到bilstm层,计算方向得分。模型训练的目标是使正方向的得分大于负方向的得分。本发明将tucker推广到高维,并将其作为评分函数。本发明在获取节点集中每个节点的嵌入向量后,使用评分函数来评估超边是否存在。如果超边存在,本发明根据每个节点的方向标签将节点集分成两组,然后使用bilstm模型来计算组间的方向,可以将组间的方向定义为超边的方向。同时,本发明还根据每组节点的顺序不影响方向的特点,对每组节点随机排序,增加训练数据。
[0071]
基于tucker分解的超边预测模块
[0072]
为了预测节点集的超边,本发明提出了一个基于tucker分解的评分函数,并提供了结果其与输入顺序无关的数学证明。
[0073]
基于tucker分解的评分函数
[0074]
tucker分解是一种张量分解算法,它将高阶张量分解为一个核心张量和几个因子矩阵,核心张量反映了不同因子矩阵之间的相互作用程度。具体形式表示如下:
[0075]
x=(ω,u
(1)
,u
(2)
,...,u
(k)
)=ω
×1u
(1)
×2u
(2)
...
×ku
(k)
ꢀꢀꢀ
(2)
[0076]
其中,x表示原始张量,ω表示核心张量,k表示x的模态数,(u
(1)


,u
(1)
)表示因子矩阵集合,数学符号k表示沿第k阶模的张量积。核心张量的维数每一阶都比原始张量的维数小,因此可以将核张量视为原始张量的降维表示。
[0077]
假设存在一个节点数最多为n的超图,本发明将其定义为(n+1)阶张量y。根据公式2,y可以分解为一个核心张量和几个矩阵的模积:
[0078]
y=z
×1r
×
2v1
×
3v2
...
×
n+1vn
ꢀꢀꢀ
(3)
[0079]
其中n为超边中的节点数,为核心张量,dr为关系嵌入向量的维数,dv为节点嵌入向量的维数。矩阵v1,...,vn为节点嵌入矩阵且其中v表示超图中所有节点表示向量拼接得到的矩阵。nr和nv为超图中的关系数和节点数。矩阵是由超图中所有关系嵌入组成的关系嵌入矩阵。在nhp的基础上,本发明也使用包含在同一超边中的节点的平均嵌入作为其关系嵌入。
[0080]
在超图表示张量分解的基础上,本发明设计了评分函数,对每个超边进行评分。具体来说,如果一个超边包含m个节点,本发明首先选择对应的节点和关系嵌入。然后,将参数张量设计为包含节点和关系共享信息的可学习参数的核心张量;本发明的目标是优化这些参数,以充分利用节点之间的相关性和基于节点嵌入的关联关系。评分函数可以表示为:
[0081]
φ(r,v1,v2,...,vm)=z
×1r
×2v1×3...
×
m+1
vmꢀꢀꢀ
(4)
[0082]
其中m随超边中包含的节点数而变化,张量z的阶数等于1加上节点数。r表示待预测超边的关系嵌入向量,v1,v2,

,vm为超边所包含节点的嵌入向量。由于一个张量与一个向量的张量积会将其相应阶次的维数减少1,所以本发明可以重复这个过程m+1次来得到一个实数。这个实数就被认为是这个超边存在的得分。
[0083]
由于关系嵌入向量和超边中的每个节点的嵌入向量都是同时计算的,因此公式(4)减少了信息损失。然而,由于高阶张量积的内部计算,计算复杂度随着节点数的增加而变得巨大。为了解决这个问题,本发明采用了张量环(tr)[27]分解算法。它用一个三阶张量序列循环相乘来表示一个高阶张量,
[0084][0085]
其中,t为维度为n1×
n2×
···
×
nd的原始张量,zk为维数为rk×
nk×rk+1
的一组三阶张量,ik为张量的二阶第ik层矩阵,tr为矩阵乘积的迹运算。张量环分解使最后一个分解张量的第三维与第一个分解张量的第一维相同。其优点是当本发明对分解后的张量做圆维置换时,结果因为矩阵迹运算不会发生改变。张量环分解通过将高阶张量分解为三阶张量的乘积,大大减少了模型在张量阶较大时的计算量。
[0086]
随着核心张量阶数的增加,计算复杂度急剧增加,因此本发明对核心张量使用tr分解,将高阶张量分解为几个循环相乘的三阶张量。根据tr分解的定义,可以通过矩阵乘积的迹来计算核张量中的每一个参数。它可以用张量形式表示为:
[0087][0088]
其中zi(αk,α
k+1
)表示与张量指标对应的向量,符号
°
表示向量的外积,r1,...,rn对应于张量的一阶到n阶维数。本发明使用简化形式z=tr(z1,z2,

,zn)表示核张量的分解。结合等式(4),本发明可以将评分函数改写为:
[0089]
φ(r,v1|,v2,...,vn)=tr(z1,z2,...,zn)
×1r
×2v1×3...
×
n+1
vnꢀꢀꢀ
(7)
[0090]
r是超边的嵌入向量,z1,

,zn是经过张量tr分解后得到的一系列三阶张量。
[0091]
这个评分函数不仅考虑了超边中包含的所有节点和关系信息,而且还将模型的复
杂性控制在可接受的范围内。
[0092]
序列独立性的证明:
[0093]
如上所示,tucker分解是按顺序处理输入的,而一个超边中包含的节点的顺序并不影响超边的存在性,这就需要本发明的评分函数具有顺序不变性。本发明证明了张量积中节点和关系嵌入的顺序对结果没有影响。本发明首先把评分函数写成张量形式:
[0094][0095]
在上述tr分解中,矩阵迹运算和输入输出相同维度保证了圆维置换的不变性。而对于超图,可以将节点和关系的维数设为一个固定值,使得每个节点之间不仅在圆维置换上拥有不变性,而且在顺序变化上也拥有不变性。这意味着乘积顺序的改变不会改变结果。所以本发明只需要证明在tucker分解中张量积的顺序对结果没有影响。张量积的元素形式如下:
[0096][0097]
在方程的右边,本发明把索引j1,

,jn视为整数自变量集,其变化范围为1~j1,
…jn
,可以看作是这些自变量的函数,函数值的含义是自变量所索引的节点嵌入向量中对应位置的元素的值。本发明使用式(10)中的f1(j1),f2(j2),

,fn(jn)表示函数。表达式可以看作是一个多元函数,其形式为g(j1,j2,

,jn),函数的值表示核张量对应位置上的参数。
[0098]
然后可以发现,如果让自变量取从1到jn的所有实数的值,而不是整数,把方程9转化为一个多重定积分
[0099]
∫∫∫...∫dg(j1,j2,...,jn)f1(j1)f2(j2)...fn(jn)dj1dj2...djnꢀꢀꢀ
(10)
[0100]
这个多重积分的积分域d是一个n阶张量,它和核心张量大小相同。改变g(j1,j2,

,jn)不改变相应的参数,因此j1,j2,

,jn的顺序不会影响函数g(j1,j2,

,jn)f1(j1)f2(j2)
…fn
(jn)的值。
[0101]
由于函数f1(j1),f2(j2),

,fn(jn)均为一元函数,积分可以改写为:
[0102][0103]
对于多重定积分∫∫∫
···
∫dg(j1,j2,

,jn)dj1dj2···
djn,各阶积分的极限是有限常数,j1,j2,

,jn的顺序对函数没有影响,改变积分顺序并不改变定积分的值。因此,整个积分具有不变性。由于方程9是方程10的特例,从而证明了积分函数具有不变性。
[0104]
基于bilstm的方向预测模块
[0105]
参考图3的一种基于bilstm的超边方向预测模型的框架,将有向超边中的节点根据标签分为头尾两部分,并按照特定的顺序输入到bilstm层中。通过对bilstm层各个方向的表示向量进行拼接,得到超边表示。最后通过softmax层得到方向分数。
[0106]
在有向超边预测问题中,每个节点的嵌入进一步决定了超边的存在及其方向。但是,与存在性预测不同的是,超边的方向强调节点的顺序。例如,在cuo+h2so4=cuso4+h2o的化学反应中,方向是从cuo和h2so4(即反应物)到cuso4和h2o(即生成物)。一旦一种物质被放置在错误的成分中,反应甚至可能不存在。此外,两组分之间的相互作用,如y元素守恒,表明模型不能单独确定各组分。因此,本发明在模块中使用bilstm对所有节点依次进行编码,实现信息的正向和后向传递。
[0107]
bilstm由几个lstm隐藏层组成,这些隐藏层分为两组,端到端但是方向相反。在对应位置的隐藏层中,逐个计算超边中的节点嵌入向量的状态。同时在下一隐含层中计算前一隐含层的状态,并将隐藏层状态馈入相应隐藏层的节点嵌入向量的计算中。在计算出所有隐藏层之后,生成一个包含所有顺序信息的嵌入。同样的过程也发生在反向隐藏层组中,这意味着本发明可以得到两个不同的嵌入向量。本发明将它们连接成一个向量,然后将其发送到softmax层以获得方向分数。该过程的具体表达式如下:
[0108][0109][0110][0111]
p=softmax(h
t
)
ꢀꢀꢀ
(15)
[0112]
其中,h
t
表示序列表示的拼接嵌入,和由两个相反方向的隐藏层计算,ω
t
表示第t个节点的嵌入,符号表示拼接操作。
[0113]
由于单一组分中节点的内部顺序不会改变元素的性质,所以对方向也没有影响,如cuo+h2so4=cuso4+h2o和h2so4+cuo=h2o+cuso4反应是同一反应。但是,当将它们输入仅关注特定序列的bilstm时,可以将它们视为两个不同的数据实例。换句话说,如果cuo+h2so4=cuso4+h2o被注解为正实例,在没有其他指导的情况下,bilstm自然无法直接判断cuo+h2so4=cuso4+h2o的正确性。因此,本发明通过一种数据增强策略,启发bilstm关注两个组分的顺序,忽略同一个组分中各节点的顺序。具体来说,本发明保持两个组分的顺序,并随机洗牌同一个组分中的节点。生成的实例数量取决于每个组件拥有的节点数量。对于h2so4+cuo=h2o+cuso4,有2
×
2=4个不同的序列。然后,本发明给所有生成的数据实例一个正确的标签,以强制bilstm利用方向的特性。显然,该策略可以在不引入外部人工的情况下扩大数据规模,这也有助于解决数据量不足的问题。
[0114]
训练:
[0115]
本发明的tf-dhp是一种分布式模型,即本发明在第一阶段预测超边的存在性,在第二阶段判断超边的方向。利用无向超图的数据训练模型的第一阶段,可以得到一个可以对无向超图进行链式预测的模型。如果将整个模型训练在有向超图的数据上,训练后的模型具有预测有向超边的能力。
[0116]
tf-dhp分为两个阶段进行训练,这两个阶段与框架的两个部分对应。第一阶段的训练目标是为存在的超边提供更高的分数,同时减少不能组成超边的节点集的分数。以节点的初始嵌入向量及其标签为输入,利用基于tucker分解的评分函数获得两种评分,并设
计一个二元交叉熵损失函数以最大限度地提高两者的差距。
[0117]
在第一阶段的模型训练完成后,本发明获取更新后的核心张量和嵌入向量,并利用这些嵌入量初始化第二阶段的模型。在bilstm中计算两种分数。一个是正确方向的分数,另一个是错误方向的分数。损失函数的具体表达式如下:
[0118][0119]
其中f
mean
为平均函数,σ为sigmoid函数,为每个负超链接的得分,为每个正超链接的得分。最后,基于bilstm的模型使用梯度下降法更新模型参数以及节点和关系的嵌入。
[0120]
下面介绍本发明采用的数据集、评估指标、参数和基准模型。本发明在实验中使用两个表示公共关系的数据集进行无向超图链式预测,并使用一个开放的数据库规范化数据集进行有向超图链式预测。本发明在下面简要介绍这些数据集。
[0121]
wikipeople:wikipeople是一个公开的多元关系数据集,涉及从维基百科中提取的关于人的类型的实体。wikipeople是一个不完整的超图,存在许多超边缺失。在wikipeople中,每一组实体都对应一种关系。本发明使用这个数据集来训练无向超图链式预测模型。
[0122]
jf17k:jf17k是一个公开的多元关系数据集,它具有高质量的事实。它是从freebase中过滤出来的,同时保留了多重关系结构。与wikipeople一样,每一组实体都对应一种关系,本发明使用这个数据集来训练无向超图链式预测模型。
[0123]
reverb15k:reverb45k是一个开放数据库规范化数据集。在原始数据集的三元组中,可能存在具有相同含义的不同主语或宾语。基于freebase实体链接信息,本发明将主语或宾语的同义词聚合在一个集合中,并使用每个集合来表示新的主语或宾语。通过这种方法,可以得到规范化的有向超图数据集。由于它包含大约15k的超边,本发明将其称为reverb15k。处理过的主语实体表示头部子超边,处理过的宾语实体表示相应的尾部子超边,方向是从头到尾。
[0124]
指标和参数
[0125]
本发明从两个方面对模型的有效性进行了检验。一个是基于tucker分解的无向超边预测模型,另一个是有向超边预测的整体框架。数据集中的总超边数据分为三个部分:20%用于训练,10%用于验证,70%用于测试。本发明通过两个标准指标来评估链式预测性能:mrr和hits@k(k是最高等级)。mrr是所有考试事实中排名倒数的平均值,而hits@k衡量的是排名前k的比例。训练的目标是达到高mrr和hits@k。
[0126]
报告结果最好的一组超参数评估每个模型的验证集,网格搜索以下值:嵌入大小∈{15 20 25 30 35},学习速率∈{1,0.6,0.06,0.006},trranks∈{5、10、20、30、40},其中tr-ranks是tr张量分解得到的张量的大小。
[0127]
本发明将tf-dhp与以下n元超边预测基准模型进行比较。
[0128]
rae:rae是一种平移转移模型,它考虑了n阶关系中实体之间共同出现的可能性,通过mlp建立相关模型,并将其反映在评分函数中。
[0129]
nalp:nalp是一种神经网络模型,它实现了最先进的n元超图链式预测性能。
[0130]
hgnn:这是一个通用的超图神经网络框架,用于基于超图卷积操作的数据表示学
习,可以整合多模态数据和复杂的数据相关性。本发明使用maxmin
+
函数作为评分层,使用方向评分函数进行hgnn有向链式预测。
[0131]
hypergcn:这是一种利用超图谱理论中的工具训练超图gcn的新方法。由于它不是直接用于超边预测,所以本发明使用与hgnn相同的评分层。
[0132]
nhp-u-mean and nhp-u-maxmin:这两种方法都基于gcn层。nhp-u-mean使用mean函数作为评分层,而nhp-u-maxmin使用maxmin
+
作为评分层来预测超边。这两种方法被提出用于无向超边预测。
[0133]
nhp-d-mean and nhp-d-maxmin:这两种方法都在nhp-u-mean和nhp-u-maxmin上使用了方向评分函数来预测有向超边。
[0134]
无向超图实验:
[0135]
表1
[0136]
模型mrrhits@10hits@3hits@1hgnn0.1320.2850.1520.077hypergcn0.1370.2890.1580.083nhp-u-mean0.1220.2830.1470.053nhp-u-maxmin0.1430.3020.1440.079rae0.1530.2730.1520.086nalp0.3320.5370.4030.234本发明0.3620.5740.4400.238
[0137]
表2
[0138][0139][0140]
表1和表2给出了两个数据集上的无向超边预测结果。可以发现本发明提出的tf-dhp可以在各种测量标准下始终达到最佳效果。对于这两种数据集,结合mean或maxmin
+
评分函数的图神经网络nhp在链式预测问题上不能具有较好的性能。例如,在wikipeople数据集上,与本发明提出的tf-dhp模型相比,前四种方法的mrr只能达到大约三分之一,而hits@10达到大约一半。tf-dhp结果的巨大进步可以有力地证明,mean或maxmin
+
等评分函数在很大程度上忽略了超边中每个节点的表示对预测结果的影响,这也反映了基于tucker分解的模型将每个节点嵌入到计算中所具有的优势。
[0141]
对于平移转移模型rae,虽然rae的结果比四种方法略好,但其结果仍不令人满意。在wikipeople上,tf-dhp将mrr提高了0.21,将hits@1提高了0.15,这是一个相当大的改进。对平移转移模型,关系的限制是导致rae性能不理想的主要原因。这种约束在基于tucker分
解的模型中不存在。tucker分解通过其充分的表达性,能够准确地表示一组实体中存在的任何种类的关系。
[0142]
nalp方法由于模型参数较多,其性能明显优于上述方法。该算法利用神经网络极大地减少了平移转移模型中存在的关系限制。然而,由于参数太多,尤其在训练数据集不够大的情况下,容易出现过拟合。根据nalp的网络结构和评分函数,可计算nalp的模型复杂度为o(n
ede
+nn
rdr
),ne和de分别表示实体的数量和维度。n是一个关系中实体的数量。nr和dr分别代表关系的数量和维数。而tf-dhp第一阶段的模型复杂度仅为其中d
max
为tr分解中三阶张量的最大维数。由于超图中关系的个数远大于分解张量的维数,nalp的模型复杂度明显大于tf-dhp。如图4所示,随着训练次数的增加,nalp比tf-dhp需要更多的训练次数才能达到最优效果。此外,由于nalp参数过多导致过拟合问题,当训练次数大于100时,结果有所下降。但是由于tf-dhp的参数相对较少,在训练过程中达到最优结果后,其结果相对稳定。
[0143]
有向超图实验:
[0144]
表3显示了几种有向超边预测模型的结果。现有技术中很少有模型处理有向超图中的超边预测问题。如表3所示,tf-dhp与其他方法相比有较大的提高。例如,对于最佳基准模型nhp-d-maxmin,tf-dhp提高mrr 0.056,hits@10提高0.026。
[0145]
本发明认为tf-dhp在有向超图上具有更好的预测性能主要有两个原因。首先,当测试有向超图预测模型,本发明把两个阶段模型得分的加权平均作为最终的分数,这意味着本发明把有向超边方向判定结果正确的前提是一个节点集存在超边判定正确。因此,模型第一阶段的精度必然会影响到整个模型的性能。其次,表3中的nhp-d-maxmin等方法采用节点嵌入向量的平均值来表示超边的嵌入,并将超边头部和尾部嵌入向量的乘积作为评分函数。如上所述,这些方法忽略了每个节点嵌入对超边方向和节点与其相邻节点之间关系的影响。实验结果的改进证明,分别考虑每个节点的表示信息和相邻节点(从前向向后)的信息可以提高有向超图链式预测的准确性。
[0146]
表3
[0147][0148][0149]
参数分析:
[0150]
嵌入向量维度大小是超边预测模型的一个重要因素,在很大程度上决定了模型的性能。因此,本发明分析模型在不同嵌入向量维度下获得的结果,以研究其影响。
[0151]
首先,根据图5(a),tf-dhp在每种嵌入维度上都优于其他方法。tf-dhp的mrr随嵌入维度的增加而急剧增加,嵌入维度增加到15后mrr趋于平稳。nalp的mrr从一开始与tf-dhp的mrr几乎相同,但由于参数较多,当嵌入维度增大时,不能像tf-dhp那样保持平滑。当嵌入维度增加到一定程度后,nalp的mrr会降低。对于其他方法,由于参数较少,嵌入维度的
变化对实验结果的影响较小。
[0152]
图5(b)显示了嵌入维度对有向超边预测的影响。与无向超边预测一样,tf-dhp总是优于其他方法。随着bilstm的加入,模型的最优嵌入维度增加到25,之后mrr的增加变得平滑。在其他方法中,方向评分函数的加入也增加了最优参数的维度,与tf-dhp的趋势相似。
[0153]
该结果证明了tf-dhp在嵌入维度选择上的稳定性。当其他模型的性能会随着维数的增加而下降,存在过拟合问题时,tf-dhp参数的合理数量使其更加稳定。
[0154]
消融实验:
[0155]
由于在有向超图数据集上的实验证明了bilstm模型的有效性,本发明设计了一个消融研究来证明tr分解对tucker分解的影响。本发明在tf-dhp的wikipeople数据集上设计了一个变形模型,它在tucker分解上不使用tr分解,本发明称之为n-tucker。如图6所示,如果不进行tr分解,模型的计算复杂度会大大增加,从而导致过拟合问题。与nalp相似但更好的是,n-tucker的mrr达到了最优值,然后由于过拟合问题逐渐降低。这种实验不仅证明了基于tucker分解的模型的优越性,也证明了tr分解的必要性。
[0156]
与现有技术相比,本发明的有益效果如下:
[0157]
对于超边预测,本发明首先提出了将tucker分解推广到高维,引入张量环分解算法处理无向部分,降低模型的复杂度。本发明从理论上证明了为超边评分的模积结果与参与计算的节点顺序无关。
[0158]
对于方向推断,本发明构想了一个基于bilstm的模型,该模型可以考虑关于超边的前向和后向的信息。进一步引入数据增强的策略,使模型忽略头(或尾)部分的节点位置,而关注头(或尾)部分之间的顺序。
[0159]
本发明的模型tf-dhp是一个流水线模型,它不仅可以灵活地处理有向超图,而且可以处理无向超图。
[0160]
这些模块构成了一种新的预测有向超边的模型,即tf-dhp模型。通过在几个真实数据集上的实验,本发明确认了tf-dhp优于最先进的模型。
[0161]
本文所使用的词语“优选的”意指用作实例、示例或例证。本文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本技术中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“x使用a或b”意指自然包括排列的任意一个。即,如果x使用a;x使用b;或x使用a和b二者,则“x使用a或b”在前述任一示例中得到满足。
[0162]
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方
式包括。
[0163]
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
[0164]
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1