图网络中节点属性的预测方法和装置与流程

文档序号:31196002发布日期:2022-08-20 00:35阅读:194来源:国知局
图网络中节点属性的预测方法和装置与流程

1.本说明书一个或多个实施例涉及计算机技术领域,尤其涉及图网络中节点属性的预测方法和装置。


背景技术:

2.基于图网络,对图网络中节点的属性进行预测是常用的预测手段。比如,在金融领域中,随着传统的金融欺诈、虚假宣传活动等从线下逐渐转移至线上,风险隐蔽性较高的金融账户对金融风控产生了重大影响。因此,根据金融账户之间的网络关系对风险账户进行预测,有助于实现对风险账户的挖掘。
3.然而,目前基于图网络进行属性预测的准确性较低。


技术实现要素:

4.本说明书一个或多个实施例描述了图网络中节点属性的预测方法和装置,能够提高节点属性的预测结果的准确性。
5.根据第一方面,提供了图网络中节点属性的预测方法,包括:
6.根据所述图网络,确定至少两个子网络;其中,每一个子网络中均包括待进行属性预测的第一节点,以及与作为该第一节点邻居的第二节点,且任意两个子网络中的第二节点的类型不同;
7.针对每个子网络,根据该子网络中第二节点与第一节点的关联性确定该子网络的时序表征;
8.将各个子网络所得到的时序表征进行融合,得到所述第一节点的融合表征;
9.利用所述第一节点的融合表征,对所述图网络中第一节点的属性进行预测。
10.在一种可能的实现方式中,所述根据所述图网络确定至少两个子网络,包括:
11.根据所述图网络中节点类型的差异,将所述图网络拆分成至少两个第一网络;其中,任意一个第一网络中均包含第一节点,且所包含的节点的类型不大于2种;
12.针对每一个所述第一网络,确定该第一网络中与第一节点的属性相关联的第二节点,并利用该第一网络中的第一节点和第二节点生成对应该第一网络的子网络。
13.在一种可能的实现方式中,所述确定该第一网络中与第一节点的属性相关联的第二节点,包括:
14.计算所述第一节点与第一网络中每个第三节点的模块度;其中,所述第三节点用于表征除所述第一节点之外的节点,所述模块度用于表征所述第一节点与所述第三节点的聚集程度;
15.将所述模块度大于预设阈值的各个第三节点确定为与所述第一节点的属性相关联的第二节点。
16.在一种可能的实现方式中,当所述第三节点与所述第一节点的节点类型均相同时,所述计算所述第一节点与第一网络中每个第三节点的模块度,包括:
17.利用如下计算式,计算所述模块度:
[0018][0019]
其中,qi用于表征第一节点与第i个第三节点的模块度,m用于表征第一节点与各个第三节点之间连接的总边数,ai用于表征第一节点和第i个第三节点之间的邻接矩阵,k和ki分别用于表征第一节点的入度和第i个第三节点的出度,δ(ci)用于表征第一节点和第三节点之间是否有连边,δ(c)的值在有连边时为1,没有连边时为0。
[0020]
在一种可能的实现方式中,当所述第三节点包括与所述第一节点的节点类型不相同的节点时,所述计算所述第一节点与第一网络中每个第三节点的模块度,包括:
[0021]
利用如下计算式,计算所述模块度:
[0022][0023]
其中,qj用于表征第一节点与第j个第三节点的模块度,f用于表征第一节点及与该第一节点类型不相同的第三节点之间连接的总边数,bj用于表征第一节点及与该第一节点类型不相同的第j个第三节点之间的邻接矩阵,q用于表征第一节点的入度,qj用于表征与所述第一节点类型不相同的第j个第三节点的出度,δ(cj)用于表征与第一节点类型不相同的第j个第三节点与该第一节点之间是否有连边,δ(cj)的值在有连边时为1,没有连边时为0。
[0024]
在一种可能的实现方式中,所述根据该子网络中第二节点与第一节点的关联性确定该子网络的网络表征,包括:
[0025]
获取所述第一节点的第一时序表征,以及作为该第一节点邻居的第二节点的第二时序表征;其中,所述第一时序表征和所述第二时序表征均为能够对所述第一节点的属性产生影响的特征;
[0026]
将所述第二节点的第二时序表征聚合到所述第一节点的第一时序表征中,得到所述融合表征。
[0027]
在一种可能的实现方式中,所述将所述第二节点的第二时序表征聚合到所述第一节点的第一时序表征中得到所述融合表征,包括:
[0028]
利用如下计算式,计算得到所述网络表征:
[0029]
f(h
l
)=δ(e
·hl-1
·wl-1
)
[0030]
其中,f(h
l
)用于表征经过l层迭代后得到的所述网络表征,e用于表征所述第二时序表征,h
l-1
用于表征第l-1层的隐藏层的状态矩阵,且h0为所述第一时序表征,w用于表征第l-1层的隐藏层的权重参数,δ为激活函数。
[0031]
在一种可能的实现方式中,所述将各个子网络所得到的时序表征进行融合得到所述第一节点的融合表征,包括:
[0032]
针对每一个子网络,均执行:
[0033]
利用当前子网络的时序表征,确定该当前子网络所对应的注意力机制中的权重矩阵;
[0034]
根据所述当前子网络所对应的注意力机制中的权重矩阵,确定该当前子网络对所述第一节点的属性进行预测时的贡献表征;
[0035]
根据所述当前子网络的贡献表征,确定该当前子网络对所述第一节点的属性进行预测时的贡献量;
[0036]
根据各子网络对应的权重矩阵和贡献量,确定所述融合表征。
[0037]
在一种可能的实现方式中,所述权重矩阵包括q、k、v权重矩阵;
[0038]
所述利用当前子网络的时序表征确定该当前子网络所对应的注意力机制中的权重矩阵,包括:
[0039]
利用如下计算式组计算所述权重矩阵:
[0040][0041]
其中,q、k、v分别用于表征当前子网络对应的注意力机制中的q、k、v权重矩阵,l1、l2、l3分别用于表征计算当前子网络对应的q、k、v权重矩阵时的卷积核对应的矩阵,d用于表征所述当前子网络的时序表征。
[0042]
在一种可能的实现方式中,所述根据所述当前子网络所对应的注意力机制中的权重矩阵确定该当前子网络对所述第一节点的属性进行预测时的贡献表征,包括:
[0043]
利用如下计算式,计算所述当前子网络的贡献表征:
[0044]
g(q,k)=q
tk[0045]
其中,g(q,k)用于表征所述当前子网络的贡献表征,q
t
用于表征所述权重矩阵中的q权重矩阵的转置矩阵,k用于表征所述权重矩阵中的k权重矩阵。
[0046]
在一种可能的实现方式中,所述根据所述当前子网络的贡献表征确定该当前子网络对所述第一节点的属性进行预测时的贡献量,包括:
[0047]
利用如下计算式,计算所述当前子网络的贡献量:
[0048][0049]
其中,a用于表征所述当前子网络的贡献量,g(q,k)用于表征所述当前子网络的贡献表征,n用于表征各个子网络的权重矩阵中k权重矩阵的集合,g(q,k

)用于表征各个子网络的k权重矩阵的集合的贡献表征。
[0050]
在一种可能的实现方式中,所述根据各子网络对应的权重矩阵和贡献量确定所述融合表征,包括:
[0051]
针对每一个子网络,计算该子网络所对应的注意力机制中的k权重矩阵与该子网络所对应的贡献量的乘积,得到对应该子网络的第一融合表征;
[0052]
将各个子网络的第一融合表征进行求和,得到所述融合表征。
[0053]
在一种可能的实现方式中,所述利用所述第一节点的融合表征对所述图网络中第一节点的属性进行预测,包括:
[0054]
将所述第一节点的融合表征输入到预先训练的属性预测模型中,得到该第一节点的属性预测值;其中,所述属性预测模型的训练方法包括:利用至少一组样本训练集合训练得到;每一组样本训练集合中包括一个第一节点的样本融合表征和一个第一节点的属性的样本预测值。
[0055]
根据第二方面,提供了图网络中节点属性的预测装置,包括:子网络确定模块、时序表征确定模块、时序表征融合模块和属性预测模块;
[0056]
所述子网络确定模块,配置为根据所述图网络,确定至少两个子网络;其中,每一个子网络中均包括待进行属性预测的第一节点,以及与作为该第一节点邻居的第二节点,且任意两个子网络中的第二节点的类型不同;
[0057]
所述时序表征确定模块,配置为针对所述子网络确定模块确定的每个子网络,根据该子网络中第二节点与第一节点的关联性确定该子网络的时序表征;
[0058]
所述时序表征融合模块,配置为将所述时序表征确定模块针对各个子网络所得到的时序表征进行融合,得到所述第一节点的融合表征;
[0059]
所述属性预测模块,配置为利用所述时序表征融合模块得到的所述第一节点的融合表征,对所述图网络中第一节点的属性进行预测。
[0060]
根据第三方面,提供了一种计算设备,包括:存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述第一方面中任一项所述的方法。
[0061]
根据本说明书实施例提供的方法和装置,在对图网络中节点的属性进行预测时,首先可以根据图网络中的节点类型确定出至少两个子网络。然后针对每个子网络确定该子网络的时序表征,并将各个子网络得到的时序表征进行融合得到第一节点的融合表征。进而,利用该第一节点的融合表征即可实现对第一节点的属性预测。在本说明书实施例中,不同子网络中第二节点的类型是不同的,如此通过将各子网络中不同类型的数据进行融合来用于对第一节点的属性进行判断,增加了进行属性判断的信息量,从而能够提高对第一节点的属性进行判断的准确性。
附图说明
[0062]
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0063]
图1是本说明书一个实施例提供的一种图网络示意图;
[0064]
图2是本说明书一个实施例提供的一种图网络中节点属性的预测方法的流程图;
[0065]
图3是本说明书一个实施例提供的一种确定子网络的方法的流程图;
[0066]
图4是本说明书一个实施例提供的一种确定第二节点的方法的流程图;
[0067]
图5是本说明书一个实施例提供的一种确定时序表征的方法的流程图;
[0068]
图6是本说明书一个实施例提供的一种时序表征融合方法的流程图;
[0069]
图7是本说明书一个实施例提供的一种图网络中节点属性的预测装置的示意图。
具体实施方式
[0070]
如图1所示的一个图网络示意图,任意一个节点都不是独立存在的,其都和其他节点之间存在或多或少的关联。因此,在基于图网络对节点的属性进行预测时,需要考虑其他节点和待预测节点的关联性,从而得到较为准确的预测结果。
[0071]
然而,在基于图网络进行属性预测时,图网络中的节点类型经常不是单一的,会存在大量的与待预测节点类型不同的异质节点。比如,金融风控领域中,金融交易数据不仅发生在金融账户和金融账户之间(参见图1中的圆与圆之间的连接),还可能发生在金融账户和金融设备之间(参见图1中的圆与三角形之间的连接)、还可能金融账户和银行卡(参见图1中的圆与矩形之间的连接)等其他介质之间。因此,在构建图网络关系时,图网络中的节点不仅可以包括金融账户这一待预测节点,还可能包括与金融账户类型不同的介质,即图网络中所包含的节点类型种类可能会有多种。如果只考虑图网络中与待预测节点具有相同类型的节点之间的关联,那么会丢失大量的信息,从而导致预测结果的准确性较低。而如果只考虑图网络中异质节点与待预测节点之间的关联,则同样会由于丢失大量的信息而导致预测结果的准确性较低。也就是说,根据单一类型的节点数据进行属性预测很难得到较为准确的预测结果。
[0072]
基于此,本方案考虑在对节点的属性进行预测时,将不同类型的节点的表征进行聚合,根据聚合后的表征对节点的属性进行预测。如此充分考虑了多种类型节点的表征,不会丢失不同节点所要表征的信息,从而能够提高预测结果的准确性。
[0073]
如图2所示,本说明实施例提供了图网络中节点属性的预测方法,该方法可以包括如下步骤:
[0074]
步骤201:根据图网络,确定至少两个子网络;其中,每一个子网络中均包括待进行属性预测的第一节点,以及与作为该第一节点邻居的第二节点,且任意两个子网络中的第二节点的类型不同;
[0075]
步骤203:针对每个子网络,根据该子网络中第二节点与第一节点的关联性确定该子网络的时序表征;
[0076]
步骤205:将各个子网络所得到的时序表征进行融合,得到第一节点的融合表征;
[0077]
步骤207:利用第一节点的融合表征,对图网络中第一节点的属性进行预测。
[0078]
本说明书实施例中,在对图网络中节点的属性进行预测时,首先可以根据图网络中的节点类型确定出至少两个子网络。然后针对每个子网络确定该子网络的时序表征,并将各个子网络得到的时序表征进行融合得到第一节点的融合表征。进而,利用该第一节点的融合表征即可实现对第一节点的属性预测。在本说明书实施例中,不同子网络中第二节点的类型是不同的,如此通过将各子网络中不同类型的数据进行融合来用于对第一节点的属性进行判断,增加了进行属性判断的信息量,从而能够提高对第一节点的属性进行判断的准确性。
[0079]
下面结合具体的实施例对附图2中的各个步骤进行说明。
[0080]
首先在步骤201中,根据图网络,确定至少两个子网络;其中,每一个子网络中均包括待进行属性预测的第一节点,以及与作为该第一节点邻居的第二节点,且任意两个子网络中的第二节点的类型不同。
[0081]
对于图网络,可以是根据用于进行属性预测的历史数据所构建的图网络。比如,在判断某一个账户是否为风险账户时,图网络可以是利用与该账户相关的历史交易数据构建的网络。如:该图网络中可以包括该账户和其他账户之间的交易联系、与该账户相关联的设备、与该账户相关联的银行卡等。图网络中待进行预测的属性则为风险账户的概率,而图网络中的各个节点可以包括涉及金融交易的账户、金融设备、银行卡等。
[0082]
对于子网络,可以是根据历史交易数据构建的网络拆分得到的。子网络中的第一节点即为需要进行属性预测的节点。比如,第一节点可以是对进行风险账户预测的待风险预测账户。子网络中的第二节点即为与第一节点相连的节点。比如,需要进行属性预测的账户为a,即子网络中的第一节点对应账户a;如果账户a与账户b发生过交易,那么账户b则为与第一节点相连接的第二节点。再比如,账户a与金融设备umid具有关联,那么金融设备umid则为与第一节点相连接的第二节点。
[0083]
再比如,图网络还可以是根据商家的经营数据所构建的网络。比如,在预测某一个商家的是否为优质商家时,图网络可以是利用该商家的经营数据以及信用评价信息所构建的网络。图网络中的节点可以包括当前待预测的商家、不同的商家、官方等,而图网络中待进行预测的属性则为商家的为优质商家的概率。
[0084]
对于子网络,可以是根据商家的经营数据和信用评价信息构建的图网络拆分得到的,子网络中的第一节点可以为待进行预测是否为优质商家的商家。而对于不同的子网络中,比如,子网络a中第二节点可以为不同的商家,该子网络可以由其他商家对当前待预测商家的经营数据和信用评价数据得到;再比如,子网络b中的第二节点还可以是当前待预测商家本身,该子网络可以由当前待预测商家根据自身的经营数据和自我信用评估数据得到;又比如,子网络中c的第二节点还可以为官方,该子网络由官方给出的系统可查的信用评估报告和经营数据得到。
[0085]
下面以风险账户预测为例进行说明。
[0086]
每一个确定的子网络中均包括待进行属性预测的第一节点,以及与该第一节点相连接的第二节点,且任意两个子网络中的第二节点的类型不同。也就是说,当第一节点为待风险预测账户,第二节点为非待风险预测账户、以及金融设备、银行卡等介质时,每一个子网络中均包括该待风险预测账户的第一节点,以及非待风险预测账户、金融设备、银行卡等中的至少一个的第二节点。而且,不同的子网络中的第二节点类型是不同的。比如,子网络1包括的第一节点和第二节点分别为待风险预测账户和非待风险预测账户;子网络2包括的第一节点和第二节点分别为待风险预测账户和金融设备umid;子网络3包括的第一节点和第二节点分别为待风险预测账户和银行卡。
[0087]
在一种可能的实现方式中,如图3所示,步骤201在根据图网络确定至少两个子网络时,可以通过如下步骤实现:
[0088]
步骤301:根据图网络中节点类型的差异,将图网络拆分成至少两个第一网络;其中,任意一个第一网络中均包含第一节点,且所包含的节点的类型不大于2种;
[0089]
步骤303:针对每一个第一网络,确定该第一网络中与第一节点的属性相关联的第二节点,并利用该第一网络中的第一节点和第二节点生成对应该第一网络的子网络。
[0090]
在本说明书实施例中,在确定子网络时,首先根据图网络中节点类型的差异将图网络拆分为多个第一网络。然后再针对每个第一网络确定该第一网络中与第一节点的属性相关联的第二节点,并进一步用该第一网络中的第一节点和第二节点生成对应该第一网络的子网络。由此可见,本方案在进行子网络的拆分时,是根据节点类型的差异进行拆分的,得到的子网络也是具有不同维度的,比如账户维度、使用设备的维度、以及涉及的银行卡等介质维度。如此,基于该不同维度的子网络进行第一节点的属性预测,能够基于更多的数据信息进行预测,从而能够提高预测结果的准确性。
[0091]
需要指出的是,步骤301中拆分成的第一网络中,由于需要对第一节点的属性进行预测,因此任意一个第一网络中均应包括第一节点。而且,任意一个第一网络中所包含的节点的类型不大于两种。也就是说,任意一个第一网络中至多包括一种与第一节点的类型不相同的节点。即第一网络中可以是由第一节点,以及与该第一节点的节点类型相同的节点所构成的。比如,第一网络中第一节点为待预测风险账户,那么其他节点也为账户类型的节点。第一网络还可以是由第一节点,以及与该第一节点的节点类型不相同的节点所构成的。比如,第一网络中第一节点为待预测风险账户,那么其他节点可以为使用的设备、银行卡等非账户类型的节点,当然第一网络中最多只包含一种非账户类型的节点。
[0092]
步骤303在确定第一网络中与第一节点的属性相关联的第二节点时,可以考虑通过计算节点之间的聚集程度来确定。比如,如图4所示,可以通过如下步骤确定第二节点:
[0093]
步骤401:计算第一节点与第一网络中每个第三节点的模块度;其中,第三节点用于表征除第一节点之外的节点,模块度用于表征第一节点与第三节点的聚集程度;
[0094]
步骤403:将模块度大于预设阈值的各个第三节点确定为与第一节点的属性相关联的第二节点。
[0095]
本实施例中,在确定第一网络中与第一节点的属性相关联的第二节点时,首先可以计算第一节点与每个除第一节点之外的第三节点的模块度。然后,即可将模块度大于预设阈值的各个第三节点确定为与第一节点的属性相关联的第二节点。也就是说,通过模块度能够充分考虑其他节点与第一节点的聚集程度,即也充分考虑了其他节点与第一节点的关联程度。进一步,通过将模块度大于预设阈值的节点确定为相关联的第二节点,能够使得确定出的第二节点与第一节点在属性上具有较高的关联程度,进而也有助于利用更有效的数据对第一节点的属性进行预测。
[0096]
如前,第一网络中除待进行属性预测的第一节点之外的其他节点,可能是与第一节点的类型相同的节点,也可能是与第一节点的类型不相同的节点。基于此,当表征除第一节点之外的节点的第三节点与第一节点的节点类型均相同时,步骤401在计算第一节点与第一网络中每个第三节点的模块度时,可以利用如下计算式计算得到:
[0097][0098]
其中,qi用于表征第一节点与第i个第三节点的模块度,m用于表征第一节点与各个第三节点之间连接的总边数,ai用于表征第一节点和第i个第三节点之间的邻接矩阵,k和ki分别用于表征第一节点的入度和第i个第三节点的出度,δ(ci)用于表征第一节点和第三节点之间是否有连边,δ(c)的值在有连边时为1,没有连边时为0。
[0099]
利用上述计算式,可以准确地计算出第一节点与每个第三节点的模块度,从而确定出各个第三节点与第一节点在属性上的相关联程度。也就是说,利用上述模块度的计算式,能够准确地挖掘出与第一节点相关联的节点信息,从而能够利用更多的信息对第一节点的属性进行预测。
[0100]
需要指出的是,ai用于表征第一节点和第i个第三节点之间的邻接矩阵,该邻接矩阵可以是由第一节点的表征和第i个第三节点的表征所构成的矩阵。比如,可以是由包含第一节点表征的矩阵与第i个第三节点表征的矩阵拼接而成。k和ki分别用于表征第一节点的入度和第i个第三节点的出度。即在子网络中,当考虑第i个第三节点对第一节点是否有影
响时,该网络中的连接指向为第i个第三节点指向第一节点。此时,第一节点的入度为1,出度为0,而第i个第三节点的入度为0,出度为1。
[0101]
而在另一种可能的实现方式中,当表征除第一节点之外的节点的第三节点包括与第一节点的节点类型不相同的节点时,步骤401在计算第一节点与第一网络中每个第三节点的模块度时,可以利用如下计算式计算得到:
[0102][0103]
其中,qj用于表征第一节点与第j个第三节点的模块度,f用于表征第一节点及与该第一节点类型不相同的第三节点之间连接的总边数,bj用于表征第一节点及与该第一节点类型不相同的第j个第三节点之间的邻接矩阵,q用于表征第一节点的入度,qj用于表征与第一节点类型不相同的第j个第三节点的出度,δ(cj)用于表征与第一节点类型不相同的第j个第三节点与该第一节点之间是否有连边,δ(cj)的值在有连边时为1,没有连边时为0。
[0104]
需要指出的是,上个实施例中,第三节点的节点类型与第一节点的节点类型均相同,因此考虑确定第一节点与其他具有相同节点类型的第三节点之间的连边关系。而当第三节点包括与第一节点的节点类型不相同的节点时,为了从不同节点类型的维度去获取属性预测信息,此时与第一节点的节点类型相同的节点与第一节点之间应是没有连边关系的。与第一节点的节点类型相同的节点应划分为单独的一个子网络,利用上个实施例中模块度的计算方式进行模块度计算。因此,此时f表征的是第一节点及与该第一节点类型不相同的第三节点之间连接的总边数,bj表征的是第一节点及与该第一节点类型不相同的第j个第三节点之间的邻接矩阵,qj表征的是与第一节点类型不相同的第j个第三节点的出度,δ(cj)表征的是与第一节点类型不相同的第j个第三节点与该第一节点之间是否有连边。
[0105]
由此可见,在确定与第一节点的属性相关联的第二节点时,通过对数据中的节点进行扫描,遍历第一节点之外的所有第三节点。然后衡量把该第三节点作为其邻居节点时所带来的模块度的收益,并选择出模块度的收益大于一定预设阈值的第三节点作为第一节点邻居的第二节点。如此能够准确地确定出与第一节点在属性上具有关联性的第二节点。而且,通过调节预设阈值的大小,可以确定出关联程度不同的第二节点,以适应不同的应用场景。
[0106]
然后在步骤203中,针对每个子网络,根据该子网络中第二节点与第一节点的关联性确定该子网络的时序表征。
[0107]
当将图网络拆分成不同维度的子网络之后,考虑根据每个子网络中第二节点与第一节点的关联性确定对应各个子网络的时序表征。比如,如图5所示,步骤203可以通过如下步骤实现:
[0108]
步骤501:获取第一节点的第一时序表征,以及作为该第一节点邻居的第二节点的第二时序表征;其中,第一时序表征和第二时序表征均为能够对第一节点的属性产生影响的特征;
[0109]
步骤503:将第二节点的第二时序表征聚合到第一节点的第一时序表征中,得到融合表征。
[0110]
本实施例中,在根据第二节点与第一节点的关联性确定对应各个子网络的时序表征时,首先可以获取第一节点的第一时序表征和作为该第一节点的邻居的第二节点的第二
时序表征。然后将第二节点的第二时序表征聚合到第一节点的第一时序表征中即可得到融合表征。第一时序表征和第二时序表征都是能够对第一节点的属性产生影响的特征,如此通过将第一节点和第二节点的时序表征融合后用于第一节点的属性预测,能够增加属性预测的信息量,进而提高预测结果的准确性。
[0111]
步骤501在获取第一节点的第一时序表征和第二节点的第二时序表征时,可以从历史数据中进行获取。比如,对于某历史交易数据,可以从该历史交易数据中获取“张三”的相应交易数据作为第一时序表征。而第二时序表征可以为与“张三”进行过交易的“李四”、“王五”等人对应的交易数据;第二时序表征还可以为其他介质上的交易数据。比如,“张三”进行交易时使用的金融设备上的交易数据,与“张三”进行交易的银行卡上的交易数据等。
[0112]
当获取到第一时序表征和第二时序表征之后,考虑将第二时序表征与第一时序表征进行聚合。比如,在一种可能的实现方式中,步骤503可以通过如下计算式,实现将第二节点的第二时序表征聚合到第一节点的第一时序表征中得到融合表征:
[0113]
f(h
l
)=δ(e
·hl-1
·wl-1
)
[0114]
其中,f(h
l
)用于表征经过l层迭代后得到的网络表征,e用于表征第二时序表征,h
l-1
用于表征第l-1层的隐藏层的状态矩阵,且h0为第一时序表征,w用于表征第l-1层的隐藏层的权重参数,δ为激活函数。
[0115]
本实施例中,可以预先考虑设置隐藏层的层数,即通过多层的挖掘,可以挖掘出更多的与第一节点的属性预测相关的数据。比如,通过第一层挖掘,可以挖掘出作为第一节点的邻居的第二节点的数据,并将该数据聚合到第一节点的数据中;通过第二层挖掘,可以进一步将第二节点的邻居节点的数据聚合到第一节点的数据中;进一步,通过第三层可以挖掘出第二节点的邻居的邻居节点数据聚合到第一节点的数据中。以此类推,通过设置隐藏层的层数,决定挖掘的深度,从而能够得到不同深度层次的融合表征用于进行属性预测。
[0116]
进一步在步骤205中,将各个子网络所得到的时序表征进行融合,得到第一节点的融合表征。
[0117]
在步骤203中得到了对应各个子网络的时序表征,本步骤中考虑将得到的各个子网络对应的时序表征进行融合,得到第一节点的融合表征。如此,该融合表征中可以包括不同类型的节点对第一节点的属性的影响,即实现了利用多个维度的数据对第一节点的属性进行预测。而在实现时序表征的融合时,如图6所示,步骤205可以包括如下步骤:
[0118]
针对每一个子网络,均执行步骤601、步骤603和步骤605:
[0119]
步骤601:利用当前子网络的时序表征,确定该当前子网络所对应的注意力机制中的权重矩阵;
[0120]
步骤603:根据当前子网络所对应的注意力机制中的权重矩阵,确定该当前子网络对第一节点的属性进行预测时的贡献表征;
[0121]
步骤605:根据当前子网络的贡献表征,确定该当前子网络对第一节点的属性进行预测时的贡献量;
[0122]
步骤607:根据各子网络对应的权重矩阵和贡献量,确定融合表征。
[0123]
本实施例中,在将各个子网络所得到的时序表征进行融合得到第一节点的融合表征时,首先可以针对每一个子网,利用当前子网络的时序表征确定该当前子网络所对应的注意力机制中的权重矩阵。然后根据当前子网络所对应的注意力机制中的权重矩阵确定该
当前子网络对第一节点的属性进行预测时的贡献表征。进一步根据当前子网络的贡献表征可以确定出该当前子网络对第一节点进行属性预测时的贡献量。如此当得到各个子网络对应的的权重矩阵和贡献量时,即可确定出第一节点的融合表征。
[0124]
在将各个子网络的时序表征进行融合时,充分考虑了各个子网络中的时序表征对第一节点的属性进行预测时的贡献,并依据各个子网络对第一节点的属性预测的贡献差异进行融合。如此得到的融合表征更加合理,不会将贡献量大的子网络中的信息弱化,也不会将贡献量小的子网络中的信息强化。
[0125]
对步骤601进行说明。
[0126]
步骤601在利用当前子网络的时序表征确定该当前子网络所对应的注意力机制中的权重矩阵时,可以通过如下计算式,计算注意力机制中的q、k、v权重矩阵得到:
[0127][0128]
其中,q、k、v分别用于表征当前子网络对应的注意力机制中的q、k、v权重矩阵,l1、l2、l3分别用于表征计算当前子网络对应的q、k、v权重矩阵时的卷积核对应的矩阵,d用于表征当前子网络的时序表征。
[0129]
在注意力机制中,q权重矩阵通常是偏向于查询目标的,k权重矩阵通常是偏向于接收查找的,而v权重矩阵是具体的提取内容。因此通过注意力机制中的q、k、v三个权重矩阵分别作用于时序表征,能够提取出该子网络中与对第一节点的属性预测关联程度更高的数据。
[0130]
对步骤603进行说明。
[0131]
在步骤601中计算出当前子网络对应的注意力机制中的q、k、v权重矩阵之后,可以根据该当前子网络对应的注意力机制中的权重矩阵确定该当前子网络对第一节点的属性进行预测时的贡献表征。比如,在一种可能的实现方式中,步骤603可以利用如下计算式计算当前子网络的贡献表征:
[0132]
g(q,k)=q
tk[0133]
其中,g(q,k)用于表征当前子网络的贡献表征,q
t
用于表征权重矩阵中的q权重矩阵的转置矩阵,k用于表征权重矩阵中的k权重矩阵。
[0134]
针对每个子网络,利用上述计算式可以准确地计算得到每个子网络对第一节点的属性进行预测时的贡献表征。即可以利用上述计算式提取出每个子网络中能够对第一节点的属性进行预测时提供依据的特征,从而进一步基于该贡献表征进行第一节点的属性预测时,能够使预测结果更加可靠。
[0135]
对步骤605进行说明。
[0136]
步骤603在根据各子网络所对应的注意力机制中的权重矩阵确定出各子网络对第一节点的属性进行预测时的贡献表征后,进一步基于该贡献表征计算各个子网络对第一节点的属性进行预测时的贡献量。比如,在一种可能的实现方式中,步骤605可以通过如下计算式计算子网络的贡献量:
[0137][0138]
其中,a用于表征当前子网络的贡献量,g(q,k)用于表征当前子网络的贡献表征,n用于表征各个子网络的权重矩阵中k权重矩阵的集合,g(q,k

)用于表征各个子网络的k权重矩阵的集合的贡献表征。
[0139]
本实施例中,通过计算当前子网络的贡献表征与所有子网络的贡献表征的比值,能够计算出当前子网络的贡献表征在对第一节点的属性进行预测时所占的比重。从而当预测出第一节点的属性后,通过各个子网络对应的贡献量的大小,可以判断出各个子网络对第一节点的属性贡献分别是多少,哪个的贡献最大等,进而有利于后续对各个子网络施加以不同的关注程度。
[0140]
比如,在一个风险账户预测实例中,对于三个子网络,其分别为“账户-账户”子网络、“账户-金融设备”子网络、“账户-银行卡”子网络。在一个实施例中,通过上述计算式得到其分别对应的贡献量为0.15、0.8、0.05,即“账户-金融设备”子网络对确定待预测账户为风险账户的贡献量为0.15,“账户-金融设备”子网络对确定待预测账户为风险账户的贡献量为0.8,而“账户-银行卡”子网络对确定预测账户为风险账户的贡献量为0.05。那么在后续可以多关注该风险账户所使用的金融设备,以进行更具针对性的风控措施。
[0141]
对步骤607进行说明。
[0142]
在步骤605确定了各个子网络所对应的贡献量后,可以利用各个子网络的贡献量和各个子网络的权重矩阵确定出第一节点的融合表征。比如,在一种可能的实现方式中,首先可以针对每一个子网络,计算该子网络所对应的注意力机制中的k权重矩阵与该子网络所对应的贡献量的乘积,得到对应该子网络的第一融合表征。然后将各个子网络的第一融合表征进行求和,即可得到第一节点的融合表征。
[0143]
比如,步骤607可以通过如下计算式计算得到:
[0144][0145]
其中,attention用于表征融合表征,ai用于表征第i个子网络的贡献量,vi用于表征第i个子网络对应的v权重矩阵,m用于表征子网络的总个数。
[0146]
如此,通过将多个网络的表征进行带权融合,能够打通多种信息的数据壁垒,为节点的属性预测能够提供更多的预测依据,从而能够提高预测结果的准确性。
[0147]
最后在步骤207中,利用第一节点的融合表征,对图网络中第一节点的属性进行预测。
[0148]
本步骤中,当得到第一节点的融合表征时,可以利用融合表征对第一节点的属性进行预测。比如,可以将第一节点的融合表征输入到预先训练的属性预测模型中得到该第一节点的属性预测值;其中,属性预测模型的训练方法包括:利用至少一组样本训练集合训练得到;每一组样本训练集合中包括一个第一节点的样本融合表征和一个第一节点的属性的样本预测值。如可以利用均方差作为损失函数对属性预测模型进行训练。
[0149]
如图7所示,本说明书实施例提供了一种图网络中节点属性的预测装置,包括:子网络确定模块701、时序表征确定模块702、时序表征融合模块703和属性预测模块704;
[0150]
子网络确定模块701,配置为根据图网络,确定至少两个子网络;其中,每一个子网络中均包括待进行属性预测的第一节点,以及与作为该第一节点邻居的第二节点,且任意两个子网络中的第二节点的类型不同;
[0151]
时序表征确定模块702,配置为针对子网络确定模块701确定的每个子网络,根据该子网络中第二节点与第一节点的关联性确定该子网络的时序表征;
[0152]
时序表征融合模块703,配置为将时序表征确定模块702针对各个子网络所得到的时序表征进行融合,得到第一节点的融合表征;
[0153]
属性预测模块704,配置为利用时序表征融合模块703得到的第一节点的融合表征,对图网络中第一节点的属性进行预测。
[0154]
在一种可能的实现方式中,子网络确定模块701在根据图网络确定至少两个子网络时,配置成执行如下操作:
[0155]
根据图网络中节点类型的差异,将图网络拆分成至少两个第一网络;其中,任意一个第一网络中均包含第一节点,且所包含的节点的类型不大于2种;
[0156]
针对每一个第一网络,确定该第一网络中与第一节点的属性相关联的第二节点,并利用该第一网络中的第一节点和第二节点生成对应该第一网络的子网络。
[0157]
在一种可能的实现方式中,子网络确定模块701在确定该第一网络中与第一节点的属性相关联的第二节点时,配置成执行如下操作:
[0158]
计算第一节点与第一网络中每个第三节点的模块度;其中,第三节点用于表征除第一节点之外的节点,模块度用于表征第一节点与第三节点的聚集程度;
[0159]
将模块度大于预设阈值的各个第三节点确定为与第一节点的属性相关联的第二节点。
[0160]
在一种可能的实现方式中,子网络确定模块701在当第三节点与第一节点的节点类型均相同,计算第一节点与第一网络中每个第三节点的模块度时,配置成执行如下操作:
[0161]
利用如下计算式,计算模块度:
[0162][0163]
其中,qi用于表征第一节点与第i个第三节点的模块度,m用于表征第一节点与各个第三节点之间连接的总边数,ai用于表征第一节点和第i个第三节点之间的邻接矩阵,k和ki分别用于表征第一节点的入度和第i个第三节点的出度,δ(ci)用于表征第一节点和第三节点之间是否有连边,δ(c)的值在有连边时为1,没有连边时为0。
[0164]
在一种可能的实现方式中,子网络确定模块701在当第三节点包括与第一节点的节点类型不相同的节点,计算第一节点与第一网络中每个第三节点的模块度时,配置成执行如下操作:
[0165]
利用如下计算式,计算模块度:
[0166][0167]
其中,qj用于表征第一节点与第j个第三节点的模块度,f用于表征第一节点及与该第一节点类型不相同的第三节点之间连接的总边数,bj用于表征第一节点及与该第一节点类型不相同的第j个第三节点之间的邻接矩阵,q用于表征第一节点的入度,qj用于表征
与第一节点类型不相同的第j个第三节点的出度,δ(cj)用于表征与第一节点类型不相同的第j个第三节点与该第一节点之间是否有连边,δ(cj)的值在有连边时为1,没有连边时为0。
[0168]
在一种可能的实现方式中,时序表征确定模块702在根据该子网络中第二节点与第一节点的关联性确定该子网络的网络表征时,配置成执行如下操作:
[0169]
获取第一节点的第一时序表征,以及作为该第一节点邻居的第二节点的第二时序表征;其中,第一时序表征和第二时序表征均为能够对第一节点的属性产生影响的特征;
[0170]
将第二节点的第二时序表征聚合到第一节点的第一时序表征中,得到融合表征。
[0171]
在一种可能的实现方式中,时序表征确定模块702在将第二节点的第二时序表征聚合到第一节点的第一时序表征中得到融合表征时,配置成执行如下操作:
[0172]
利用如下计算式,计算得到网络表征:
[0173]
f(h
l
)=δ(e
·hl-1
·wl-1
)
[0174]
其中,f(h
l
)用于表征经过l层迭代后得到的网络表征,e用于表征第二时序表征,h
l-1
用于表征第l-1层的隐藏层的状态矩阵,且h0为第一时序表征,w用于表征第l-1层的隐藏层的权重参数,δ为激活函数。
[0175]
在一种可能的实现方式中,时序表征融合模块703在将各个子网络所得到的时序表征进行融合得到第一节点的融合表征时,配置成执行如下操作:
[0176]
针对每一个子网络,
[0177]
利用当前子网络的时序表征,确定该当前子网络所对应的注意力机制中的权重矩阵;
[0178]
根据当前子网络所对应的注意力机制中的权重矩阵,确定该当前子网络对第一节点的属性进行预测时的贡献表征;
[0179]
根据当前子网络的贡献表征,确定该当前子网络对第一节点的属性进行预测时的贡献量;
[0180]
根据各子网络对应的权重矩阵和贡献量,确定融合表征。
[0181]
在一种可能的实现方式中,权重矩阵包括q、k、v权重矩阵;时序表征融合模块703在利用当前子网络的时序表征确定该当前子网络所对应的注意力机制中的权重矩阵时,配置成执行如下操作:
[0182]
利用如下计算式组计算权重矩阵:
[0183][0184]
其中,q、k、v分别用于表征当前子网络对应的注意力机制中的q、k、v权重矩阵,l1、l2、l3分别用于表征计算当前子网络对应的q、k、v权重矩阵时的卷积核对应的矩阵,d用于表征当前子网络的时序表征。
[0185]
在一种可能的实现方式中,时序表征融合模块703在根据当前子网络所对应的注意力机制中的权重矩阵确定该当前子网络对第一节点的属性进行预测时的贡献表征时,配置成执行如下操作:
[0186]
利用如下计算式,计算当前子网络的贡献表征:
[0187]
g(q,k)=q
tk[0188]
其中,g(q,k)用于表征当前子网络的贡献表征,q
t
用于表征权重矩阵中的q权重矩阵的转置矩阵,k用于表征权重矩阵中的k权重矩阵。
[0189]
在一种可能的实现方式中,时序表征融合模块703在根据当前子网络的贡献表征确定该当前子网络对第一节点的属性进行预测时的贡献量,时,配置成执行如下操作:
[0190]
利用如下计算式,计算当前子网络的贡献量:
[0191][0192]
其中,a用于表征当前子网络的贡献量,g(q,k)用于表征当前子网络的贡献表征,n用于表征各个子网络的权重矩阵中k权重矩阵的集合,g(q,k

)用于表征各个子网络的k权重矩阵的集合的贡献表征。
[0193]
在一种可能的实现方式中,时序表征融合模块703在根据各子网络对应的权重矩阵和贡献量确定融合表征时,配置成执行如下操作:
[0194]
针对每一个子网络,计算该子网络所对应的注意力机制中的k权重矩阵与该子网络所对应的贡献量的乘积,得到对应该子网络的第一融合表征;
[0195]
将各个子网络的第一融合表征进行求和,得到融合表征。
[0196]
在一种可能的实现方式中,属性预测模块704在利用第一节点的融合表征对图网络中第一节点的属性进行预测时,配置成执行如下操作:
[0197]
将第一节点的融合表征输入到预先训练的属性预测模型中,得到该第一节点的属性预测值;其中,属性预测模型的训练方法包括:利用至少一组样本训练集合训练得到;每一组样本训练集合中包括一个第一节点的样本融合表征和一个第一节点的属性的样本预测值。
[0198]
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
[0199]
本说明书还提供了一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现说明书中任一个实施例中的方法。
[0200]
可以理解的是,本说明书实施例示意的结构并不构成对图网络中节点属性的预测装置的具体限定。在说明书的另一些实施例中,图网络中节点属性的预测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
[0201]
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
[0202]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0203]
以上所述的具体实施方式,对本说明书描述的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进
等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1