CN116431651A - 图数据处理方法、装置和计算机设备 - Google Patents
图数据处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN116431651A CN116431651A CN202310353646.7A CN202310353646A CN116431651A CN 116431651 A CN116431651 A CN 116431651A CN 202310353646 A CN202310353646 A CN 202310353646A CN 116431651 A CN116431651 A CN 116431651A
- Authority
- CN
- China
- Prior art keywords
- node
- characteristic information
- target node
- target
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000002776 aggregation Effects 0.000 claims description 17
- 238000004220 aggregation Methods 0.000 claims description 17
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 17
- 230000003993 interaction Effects 0.000 description 13
- 238000012549 training Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000006116 polymerization reaction Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种图数据处理方法、装置和计算机设备。所述方法应用于分布式系统中的第一节点设备,所述第一节点设备与图数据中的目标节点相匹配,所述方法包括:接收目标节点所对应邻居节点的特征信息;利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;根据目标节点的出边,发送目标节点更新后的特征信息;迭代执行以上步骤,直至满足设定条件;利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。本说明书实施例可以提高图数据的预测效率。
Description
技术领域
本说明书实施例涉及人工智能技术领域,特别涉及一种图数据处理方法、装置和计算机设备。
背景技术
图数据是一种数据结构,旨在描述真实世界中存在的各种实体及其关系。
近年来,由于图数据的强大表现力,基于图数据的预测越来越受到重视,在问题回答、信息检索、商品推荐等场景获得了广泛应用。因此,有必要提高图数据的预测效率。
发明内容
本说明书实施例提供一种图数据处理方法、装置和计算机设备,以提高图数据的预测效率。本说明书实施例的技术方案如下。
本说明书实施例的第一方面,提供了一种图数据处理方法,应用于分布式系统中的第一节点设备,所述第一节点设备与图数据中的目标节点相匹配,所述方法包括:
接收目标节点所对应邻居节点的特征信息;
利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;
根据目标节点的出边,发送目标节点更新后的特征信息;
迭代执行以上步骤,直至满足设定条件;
利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。
本说明书实施例的第二方面,提供了一种图数据处理装置,应用于分布式系统中的第一节点设备,所述第一节点设备与图数据中的目标节点相匹配,所述装置包括:
迭代单元,用于迭代执行以下步骤直至满足设定条件:接收目标节点所对应邻居节点的特征信息;利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;根据目标节点的出边,发送目标节点更新后的特征信息;
预测单元,用于利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。
本说明书实施例的第三方面,提供了一种计算机设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第一方面所述方法的指令。
本说明书实施例提供的技术方案,第一节点设备可以接收邻居节点的特征信息;可以利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;可以发送目标节点更新后的特征信息;在迭代结束后,可以利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。这样第一节点设备可以通过目标节点接收特征信息和发送特征信息,实现对目标节点的特征信息进行更新,从而获得了目标节点的预测结果。
第一节点设备通过目标节点与其他节点设备进行通信,以对目标节点进行预测。从而能够避免根据子图数据对目标节点进行预测时的冗余计算,降低了时间开销,提高了预测效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例的相关技术中图数据的示意图;
图2为本说明书实施例的相关技术中节点A的子图数据的示意图;
图3为本说明书实施例的相关技术中节点F的子图数据的示意图;
图4为本说明书实施例中图数据处理方法的流程图;
图5为本说明书实施例中特征信息发送示意图;
图6为本说明书实施例中特征信息发送示意图;
图7为本说明书实施例中特征信息发送示意图;
图8为本说明书实施例中图模型的训练过程示意图;
图9为本说明书中图数据处理装置的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。基于所描述的本公开的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。另外,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在真实世界中,存在各种实体(如公司、城市、用户、设备、商品、用户社交账户、图像、文本或音频数据等)。所述实体可以来自包括但不限于金融行业、保险行业、互联网行业、汽车行业、餐饮行业、电信行业、能源行业、娱乐行业、体育行业、物流行业、医疗行业、安全行业等。可以基于实体以及实体之间的关系构造图数据。所述图数据可以包括节点和边。所述节点用于表示实体,所述边用于表示实体之间的关系。若节点和边连接,则表示节点对应的实体和边对应的实体关系连通。若节点和边不连接,则表示节点对应的实体和边对应的实体关系不连通。所述图数据可以包括有向图数据和无向图数据。所述有向图数据中的边具有方向,所述无向图数据中的边没有方向。在实际应用中,根据实体类型的不同,所述图数据可以包括社交图(节点表示用户,边表示用户关系)、设备网络图(节点表示网络设备,边表示通信关系)、转账图(节点表示用户账户,边表示资金流向关系)等。
所述图数据可以包括属性图数据。在所述属性图数据中,节点可以具有属性信息。节点的属性信息可以包括节点所表示实体的属性信息。例如,节点表示的实体可以为用户,节点的属性信息可以包括用户的姓名、用户的出生日期等等。在所述属性图数据中,边也可以具有属性信息。边的属性信息可以包括边所表示关系的属性信息。例如,边表示的关系可以为用户之间的转账关系,边的属性信息可以包括转账金额、转账日期等等。
图模型可以包括图神经网络模型(Graph Neural Network,GNN)。当然,所述图模型还可以包括其他能够对图数据进行处理的模型。所述图模型可以包括多个中间层以及输出层。所述中间层用于确定节点和/或边的特征信息,所述输出层用于对节点的特征信息进行处理,得到节点的预测结果。需要说明的是,所述多个中间层的第1个中间层可以用作输入层。
所述特征信息可以包括属性信息。或者,所述特征信息还可以用于表示属性信息。例如,所述特征信息还可以包括属性信息的向量表示(Embedding)。含义相近的属性信息可以具有相似的向量表示。向量表示的相似程度可以通过向量表示之间的距离来表征。
分布式系统可以包括多个节点设备和控制设备。所述节点设备用于进行任务的处理,所述控制设备用于进行任务的分配和管理。分布式系统可以作为一个整体对外提供服务。
在批量预测场景下,需要对图数据中较多数量的节点进行预测。例如,在全图预测场景下,需要对图数据中的全部节点进行预测。为了便于描述,以下将图数据中需要进行预测的节点称为目标节点。在相关技术中,为了提高预测效率,可以通过分布式系统对图数据中的目标节点进行预测。具体的,控制设备可以将图模型分发给节点设备。另外,控制设备还可以从图数据中选取多个目标节点的子图数据;可以将多个目标节点的子图数据分配给节点设备。每个节点设备可以获得一个或多个目标节点的子图数据。每个节点设备可以通过图模型,对目标节点的子图数据进行处理,从而得到目标节点的预测结果。
上述相关技术中,通过利用目标节点的子图数据对目标节点进行预测。不同目标节点的子图数据之间有可能存在交叉,包含重叠部分。所述重叠部分可以包括重叠的节点、重叠的边等。这样在需要对较多数量的目标节点进行预测的时候,会对重叠部分进行重复计算,产生大量的冗余计算,降低了预测效率。尤其地,在图数据规模较大的时候,需要进行预测的目标节点数量较多,则冗余计算量会非常大,对预测速度和时效性会有显著的影响。
目标节点的K跳节点(K-hop)与目标节点之间最短路径上的边数为K,所述K可以为0、1、2等自然数。例如,目标节点的0跳节点可以为目标节点自身,目标节点的1跳节点与目标节点之间最短路径上的边数为1,目标节点的2跳节点与目标节点之间最短路径上的边数为2。
上述相关技术中,可以根据设定的跳数M,从图数据中选取目标节点的子图数据。使得,子图数据中包括目标节点的跳数小于或等于M的节点,M可以为0、1、2等自然数。即,目标节点的子图数据中包括目标节点、目标节点的1跳节点、……、目标节点的M跳节点。
具体的,例如,某一图数据可以如图1所示。所述图数据可以包括A、B、C、D、E、F等6个节点。设定的跳数M=2。那么,目标节点A的子图数据可以如图2所示。目标节点F的子图数据可以如图3所示。目标节点A的子图数据和目标节点F的子图数据存在交叉,包含重叠部分。所述重叠部分可以包括节点C、节点D、节点E、节点C和节点D之间的边、节点C和节点E之间的边、节点D和节点E之间的边等。这样基于图1所示的图数据,在对目标节点A和目标节点F进行预测的时候,会产生冗余计算,从而降低了预测效率。
另外,上述相关技术中,根据设定的跳数M,从图数据中选取目标节点的子图数据;通过图模型,对目标节点的子图数据进行处理,从而得到目标节点的预测结果。但是在真实世界中,一些实体有可能与多个其他实体具有关联关系,使得图数据中的一些节点具有较多数量的边,造成图数据存在倾斜的问题。在目标节点的边数特别多的情况下,会造成所选取子图数据的规模非常庞大。使得在对目标节点的子图数据进行处理的时候,不仅花费时间较长,还会消耗较多的计算机资源,甚至导致内存消耗殆尽(Out Of Memory,OOM)的问题。
本说明书实施例提供一种图数据处理方法,以避免冗余计算,提高预测效率。
所述图数据处理方法可以基于分布式系统实现。分布式系统中的节点设备可以获得图模型。在实际应用中,分布式系统中的控制设备可以获取图模型,将图模型分发给分布式系统中的节点设备。当然也可以由分布式系统中的任一节点设备将图模型分发给其他节点设备。
在批量预测场景下,需要对图数据中较多数量的节点进行预测。例如,在全图预测场景下,需要对图数据中的全部节点进行预测。为了便于描述,将图数据中需要进行预测的节点称为目标节点。可以根据分配规则将图数据中的目标节点分配给分布式系统中的节点设备。使得每个节点设备可以与图数据中的一个或多个目标节点相匹配。节点设备与图数据中的目标节点相匹配。便于节点设备通过目标节点与其他节点设备进行通信,实现目标节点的预测。避免根据子图数据对目标节点进行预测时的冗余计算,降低了时间开销,提高了预测效率。
图数据中的节点可以具有节点标识。所述节点标识用于标识节点。所述节点标识可以包括节点的编号等。可以根据节点标识,通过分配规则将图数据中的目标节点分配给分布式系统中的节点设备。所述分配规则可以包括:计算目标节点的节点标识与P的余数,将目标节点分配给与所述余数相匹配的节点设备,所述P可以为分布式系统中节点设备的数量。例如,某一目标节点的节点标识与所述P的余数为3,则可以将目标节点分配给分布式系统中与余数3相匹配的节点设备。当然,以上分配规则仅为示例,具体还可以为其他形式。
以图1所示的图数据为例,节点A、B、C、D、E、F的编号可以分别为1、2、3、4、5、6。分布式系统中节点设备的数量P=6。可以计算节点A的编号1与P的余数1,可以根据余数1将节点A分配给分布式系统中的节点设备1;可以计算节点B的编号2与P的余数2,可以根据余数2将节点B分配给分布式系统中的节点设备2;可以计算节点C的编号3与P的余数3,可以根据余数3将节点C分配给分布式系统中的节点设备3;可以计算节点D的编号4与P的余数4,可以根据余数4将节点D分配给分布式系统中的节点设备4;可以计算节点E的编号5与P的余数5,可以根据余数5将节点E分配给分布式系统中的节点设备5;可以计算节点F的编号6与P的余数0,可以根据余数0将节点F分配给分布式系统中的节点设备6。
可以由分布式系统中的控制设备根据分配规则,将图数据中的目标节点分配给节点设备。当然也可以由分布式系统中的任一节点设备根据分配规则,将图数据中的目标节点分配给节点设备。节点设备与目标节点相匹配,使得节点设备能够获得目标节点的以下至少之一:目标节点的节点标识、目标节点的特征信息、目标节点出边的特征信息、邻居节点的节点标识。
一条边可以对应2个节点。边的起点所对应的节点可以为起始节点,边的终点所对应的节点可以为终点节点。所述邻居节点可以包括目标节点的出边所对应的终点节点,还可以包括目标节点的入边所对应的起始节点。其中,目标节点的出边可以包括与目标节点相连、并且指向其他节点的边。目标节点的入边可以包括与目标节点相连、并且指向目标节点的边。需要说明的是,目标节点的出边和入边可以相同或者不同。在目标节点的出边和入边相同的条件下,目标节点的出边所对应终点节点与目标节点的入边所对应起始节点可以相同。另外,还需要说明的是,在一些应用场景下,节点设备还能够获得目标节点入边的特征信息。
仍以图1所示的图数据为例,节点设备1与节点A相匹配,则节点设备1可以获得以下至少之一:节点A的节点标识、节点A的特征信息、节点A出边的特征信息、节点B的节点标识、节点C的节点标识。
图数据中的节点可以具有属性信息,边可以具有属性信息。可以将节点的属性信息作为节点的特征信息,可以将边的属性信息作为边的特征信息。或者,还可以根据节点的属性信息生成节点的特征信息,还可以根据边的属性信息生成边的特征信息。例如,可以采用独热编码等算法,根据属性信息生成向量表示(Embedding)作为特征信息。在实际应用中,可以由分布式系统中的控制设备根据节点和/或边的属性信息,获取相应的特征信息。当然也可以由分布式系统中的任一节点设备根据节点和/或边的属性信息,获取相应的特征信息。
所述图数据处理方法可以应用于第一节点设备。所述第一节点设备可以为分布式系统中的任一节点设备。请参阅图4。所述图数据处理方法可以包括以下步骤。
步骤S40:接收目标节点所对应邻居节点的特征信息。
在一些实施例中,所述目标节点可以包括与第一节点设备相匹配的节点。所述目标节点可以根据分配规则分配给第一节点设备。所述分配规则用于对图数据中的节点进行分配。所述邻居节点可以包括目标节点的入边所对应的起始节点。所述邻居节点可以包括目标节点的1跳节点。当然,所述邻居节点还可以包括目标节点的其他跳节点。邻居节点的特征信息可以根据邻居节点的属性信息获得。例如,邻居节点的特征信息可以包括属性信息的向量表示。
需要说明的是,第一节点设备可以与至少一个目标节点相匹配。每个目标节点具有至少一个邻居节点。因此对于每个目标节点,可以接收至少一个邻居节点的特征信息。
在一些实施例中,可以接收第二节点设备发送的邻居节点的特征信息。第二节点设备为分布式系统中与邻居节点相匹配的节点设备。第二节点设备可以根据邻居节点的出边发送邻居节点的特征信息。具体的,第二节点设备与邻居节点相匹配,使得第二节点设备能够获得邻居节点的出边所指向节点的节点标识。邻居节点的出边包括目标节点的入边,邻居节点的出边所指向的节点包括目标节点。第二节点设备获得邻居节点的出边所指向节点的节点标识,也即获得了目标节点的节点标识;从而可以根据目标节点的节点标识,通过分配规则在分布式系统中选取第一节点设备;可以向第一节点设备发送邻居节点的特征信息。
仍以图1所示的图数据为例,节点设备1与节点A相匹配。节点设备1可以接收节点设备2发送的节点B的特征信息;可以接收节点设备3发送的节点C的特征信息。
步骤S42:利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新。
在一些实施例中,可以利用图模型的中间层,对邻居节点的特征信息进行聚合,得到第一聚合特征信息;可以利用图模型的中间层,根据第一聚合特征信息对目标节点的特征信息进行更新。例如,目标节点具有多个邻居节点。可以对多个邻居节点的特征信息进行聚合。一种聚合方式可以是:将中间层的模型参数作为权重,通过权重对多个邻居节点的特征信息进行加权聚合。具体的,例如,邻居节点的特征信息可以包括向量表示。可以将多个向量表示进行加权聚合。所述加权聚合可以包括加权求和、计算加权平均值等。当然,根据图模型结构的不同,也可以通过其他方式对多个邻居节点的特征信息进行聚合。
可以对第一聚合特征信息和目标节点的特征信息进行聚合,得到目标节点更新后的特征信息。一种聚合方式可以是:将中间层的模型参数作为权重,通过权重对第一聚合特征信息和目标节点的特征信息进行加权聚合。具体聚合过程可以参见前面的相关介绍。当然根据图模型结构的不同,也可以通过其他方式对第一聚合特征信息和目标节点的特征信息进行聚合。
需要说明的是,图模型的中间层可以包括多个模型参数。可以利用多个模型参数中的部分或者全部,对邻居节点的特征信息进行聚合。可以利用多个模型参数中的部分或者全部,对目标节点的特征信息进行更新。另外,对邻居节点的特征信息进行聚合时所使用的模型参数,以及对目标节点的特征信息进行更新时所使用的模型参数,可以相同或不同。
仍以图1所示的图数据为例,节点设备1与节点A相匹配。节点设备1可以接收节点B的特征信息和节点C的特征信息;可以对节点B的特征信息和节点C的特征信息进行聚合,得到第一聚合特征信息;可以根据第一聚合特征信息对节点A的特征信息进行更新。
在一些实施例中,可以利用图模型的第L个中间层,对目标节点的特征信息进行更新,L为当前迭代次数。这样对于每一次迭代过程,可以利用特定的中间层进行更新。
步骤S44:根据目标节点的出边,发送目标节点更新后的特征信息。
在一些实施例中,可以根据目标节点的出边,向第三节点设备发送目标节点更新后的特征信息。第三节点设备可以与目标节点的出边所指向的节点相匹配。
在实际应用中,第一节点设备与目标节点相匹配,使得第一节点设备能够获得目标节点的出边所指向节点的节点标识;从而可以根据该节点标识,通过分配规则在分布式系统中选取第三节点设备;可以向第三节点设备发送目标节点更新后的特征信息。
需要说明的是,第一节点设备可以与至少一个目标节点相匹配。每个目标节点具有至少一条出边。因此对于每个目标节点,可以发送至少一次目标节点更新后的特征信息。
仍以图1所示的图数据为例,节点设备1与节点A相匹配。节点设备1可以向节点设备2发送节点A更新后的特征信息;可以向节点设备3发送节点A更新后的特征信息。
在一些实施例中,可以迭代执行步骤S40、步骤S42、步骤S44,直至满足设定条件。
每一次迭代过程,可以利用一个中间层对目标节点的特征信息进行更新。在利用多个中间层对目标节点的特征信息进行多次更新时,前一个中间层输出的特征信息可以作为后一个中间层的输入。由于前一个中间层输出的目标节点特征信息融合了邻居节点的特征信息,并且邻居节点的特征信息又融合了该邻居节点所对应邻居节点的特征信息。因而在后一个中间层,可以利用目标节点所对应邻居节点的特征信息,对目标节点的特征信息进行更新。这样后一个中间层输出的目标节点特征信息,便融合了多跳节点的特征信息。通过多次迭代,能够将多跳节点的特征信息融合至目标节点的特征信息,达到了根据目标节点的多跳节点对目标节点进行更新的技术效果,避免了子图数据所带来的冗余计算。
所述设定条件包括:迭代次数等于图模型的中间层数量。这样目标节点特征信息的更新次数可以等于图模型的中间层数量。例如,图模型的中间层数量为M。通过M次迭代,能够将特定节点的特征信息融合至目标节点的特征信息。所述特定节点包括跳数小于或等于M的节点。跳数小于或等于M的节点包括:目标节点的1跳节点、……、目标节点的M跳节点等。
当然所述设定条件还可以包括其他能够用于结束迭代过程的条件。例如,所述设定条件还可以包括:迭代次数等于图模型中间层数量的N倍,所述N可以为2、3、4等自然数。
在一些实施例中,在迭代过程中还可以考虑图数据中边的特征信息,以使目标节点更新后的特征信息能够更加准确地表示目标节点的属性信息。具体的,可以接收目标节点所对应邻居节点的特征信息;可以接收目标节点入边的特征信息;可以对邻居节点的特征信息以及目标节点入边的特征信息进行聚合,得到第一聚合特征信息;可以根据第一聚合特征信息对目标节点的特征信息进行更新;可以根据目标节点更新后的特征信息,对目标节点出边的特征信息进行更新;可以发送目标节点更新后的特征信息以及目标节点出边更新后的特征信息。
需要说明的是,第一节点设备可以与至少一个目标节点相匹配。每个目标节点具有至少一条出边。因此对于每个目标节点,可以接收至少一条入边的特征信息。
可以接收第二节点设备发送的目标节点入边的特征信息。具体的,第二节点设备与邻居节点相匹配,使得第二节点设备能够获得邻居节点的出边所指向节点的节点标识。邻居节点的出边可以包括目标节点的入边,邻居节点的出边所指向的节点可以包括目标节点。第二节点设备获得邻居节点的出边所指向节点的节点标识,也即获得了目标节点的节点标识;从而可以根据目标节点的节点标识,通过分配规则选取第一节点设备;可以向第一节点设备发送目标节点入边的特征信息。
可以利用图模型的中间层,对邻居节点的特征信息以及目标节点入边的特征信息进行聚合,得到第一聚合特征信息;可以利用图模型的中间层,根据第一聚合特征信息对目标节点的特征信息进行更新;可以利用图模型的中间层,根据目标节点更新后的特征信息对目标节点出边的特征信息进行更新。具体的,可以将中间层的模型参数作为权重,通过权重对邻居节点的特征信息以及目标节点入边的特征信息进行加权聚合。可以将中间层的模型参数作为权重,通过权重对第一聚合特征信息和目标节点的特征信息进行加权聚合,得到目标节点更新后的特征信息。可以将中间层的模型参数作为权重,通过权重对目标节点更新后的特征信息和目标节点出边的特征信息进行加权聚合,得到目标节点出边更新后的特征信息。
图模型的中间层包括多个模型参数。对邻居节点的特征信息以及目标节点入边的特征信息进行聚合时所使用的模型参数,对目标节点的特征信息进行更新时所使用的模型参数,对目标节点出边的特征信息进行更新时所使用的模型参数,可以相同或不同。
可以根据目标节点的出边,发送目标节点出边更新后的特征信息。发送目标节点出边更新后的特征信息,与步骤S44中发送目标节点更新后的特征信息相类似。
步骤S46:利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。
在一些实施例中,可以将目标节点更新后的特征信息输入输出层,得到目标节点的预测结果。所述预测结果用于表示目标节点所表示实体的类别或者属于某一类别的概率等。例如,目标节点表示的实体为账户,所述预测结果用于表示账户是否为异常账户或者属于异常账户的概率。当然根据图模型作用的不同,所述预测结果还可以用于表示其他信息。
当然,也可以将目标节点更新后的特征信息以及其他节点更新后的特征信息输入输出层,得到预测结果。所述预测结果用于表示目标节点所表示实体与其他节点所表示实体之间具有关联关系的概率。例如,目标节点表示的实体为用户,其他节点表示的实体为资源,所述预测结果用于表示用户和资源之间具有交互关系的概率。所述资源可以包括商品、服务、网页等等。所述交互关系可以包括点击、浏览、交易、核销、添加购物车等等。
在一些实施例中,第一节点设备可以与多个目标节点相匹配。所述多个目标节点具有指向同一节点的多条出边。则所述同一节点具有较多数量的入边。图数据存在倾斜的问题。所述同一节点所匹配的节点设备可以为第三节点设备。若对于每个目标节点的出边,第一节点设备均向第三节点设备发送信息,例如均向第三节点设备发送目标节点更新后的特征信息。则对于多个目标节点的多条出边,第一节点设备需要向第三节点设备发送多次信息。造成第一节点设备与第三节点设备之间的通信次数较多,通信耗时较大,从而降低了预测效率。
第一节点设备可以检测多个目标节点是否具有指向同一节点的多条出边;若是,可以对多个目标节点更新后的特征信息进行聚合,得到第二聚合特征信息;可以根据所述多个目标节点的出边,向第三节点设备发送第二聚合特征信息。第三节点设备可以根据第二聚合特征信息对所述同一节点的特征信息进行更新。这样通过先聚合再发送,第一节点设备可以仅发送第二聚合特征信息,减少了第一节点设备的通信耗时,提高了预测效率。
第一节点设备可以根据目标节点的出边所指向节点的节点标识,检测多个目标节点是否具有指向同一节点的多条出边。多条出边所指向节点的节点标识相同,则多个目标节点具有指向同一节点的多条出边。另外,第一节点设备可以直接对多个目标节点更新后的特征信息进行聚合。或者,第一节点设备还可以判断多条出边的数量是否大于或等于某一设定阈值;若多条出边的数量大于或等于设定阈值,对多个目标节点更新后的特征信息进行聚合。
需要说明的是,本实施例中,多个目标节点具有指向同一节点的多条出边,可以理解为所述多个目标节点中的各个目标节点具有指向所述同一节点的出边。当然,本实施例也并不排除以下情况:多个目标节点中的部分或者全部还具有指向其他节点的其他出边。
需要说明的是,在考虑图数据中边的特征信息的条件下,第一节点设备可以对多条出边的特征信息进行聚合,得到第三聚合特征信息;可以发送第三聚合特征信息。第三节点设备可以根据第二聚合特征信息和第三聚合特征信息对所述同一节点的特征信息进行更新。
请参阅图5。节点设备1与3个目标节点相匹配,所述3个目标节点的3条出边指向同一节点。若对于3条出边中的每条出边,节点设备1均发送特征信息。则对于所述3个目标节点,节点设备1需要向节点设备3发送三次信息。节点设备1需要与节点设备3通信三次。
本实施例中,节点设备1可以对3个目标节点更新后的特征信息进行聚合,得到第二聚合特征信息;可以向节点设备3发送第二聚合特征信息。这样节点设备1与节点设备3通信一次。另外,节点设备2可以对2个目标节点更新后的特征信息进行聚合,得到第二聚合特征信息;可以向节点设备3发送第二聚合特征信息。这样节点设备2与节点设备3通信一次。
在一些实施例中,目标节点可以具有较多数量的出边。图数据存在倾斜的问题。目标节点的多条出边指向多个节点。所述多个节点可以与分布式系统的同一节点设备相匹配。
出边指向的节点即为出边所对应的终点节点,所述同一节点设备可以为多个终点节点所匹配的第三节点设备。若对于目标节点的每条出边,第一节点设备均向第三节点设备发送信息,例如均向第三节点设备发送目标节点更新后的特征信息。则对于目标节点的多条出边,第一节点设备需要向第三节点设备发送多次信息。造成第一节点设备与第三节点设备之间的通信次数较多,通信耗时较大,从而降低了预测效率。
第一节点设备可以检测多个终点节点是否与分布式系统的同一节点设备相匹配。若是,考虑到对于目标节点的多条出边,发往第三节点设备的信息相同。第一节点设备可以根据目标节点的多条出边,向第三节点设备发送一次目标节点更新后的特征信息。第三节点设备可以根据目标节点更新后的特征信息,对多个终点节点的特征信息进行更新。这样便减少了第一节点设备与第三节点设备之间的通信次数,减少了通信耗时,提高了预测效率。
第一节点设备与目标节点相匹配,使得第一节点设备能够获得目标节点的出边所对应终点节点的节点标识。第一节点设备可以根据出边所对应终点节点的节点标识,通过分配规则在分布式系统中选取节点设备。若对于目标节点的多条出边,选取了同一节点设备。第一节点设备便可以认为多个终点节点在分布式系统中匹配了同一节点设备。
在实际应用中,第一节点设备还可以判断多条出边的数量是否大于或等于某一设定阈值;在所述多条出边的数量大于或等于设定阈值的条件下,发送一次目标节点更新后的特征信息。另外,第一节点设备还可以根据目标节点的多条出边,向第三节点设备发送一次目标节点的节点标识以及目标节点更新后的特征信息。第三节点设备可以将目标节点的节点标识以及目标节点更新后的特征信息进行对应存储,例如将目标节点的节点标识以及目标节点更新后的特征信息对应存储在数据表中。需要时,第三节点设备可以根据目标节点的节点标识获取目标节点更新后的特征信息,根据目标节点更新后的特征信息对终点节点的特征信息进行更新。
需要说明的是,本实施例中,目标节点的多条出边指向多个节点,所述多个节点与分布式系统中的同一节点设备相匹配。当然,本实施例也并不排除以下情况:目标节点还具有指向其他节点的其他出边,所述其他出边与分布式系统中的其他节点设备相匹配。
需要说明的是,本实施例中,第一节点设备向第三节点设备发送一次目标节点更新后的特征信息。当然,本实施例也并不排除以下情况:第一节点设备还向其他节点设备发送了目标节点更新后的特征信息、以及第一节点设备还向第三节点设备发送了其他信息。
请参阅图6。节点设备1的目标节点具有6条出边,其中3条出边对应的终点节点与节点设备2相匹配,另外3条出边对应的终点节点与节点设备3相匹配。若对于目标节点的每条出边,节点设备1均发送目标节点更新后的特征信息。则节点设备1需要向节点设备2发送三次信息,需要向节点设备3发送三次信息。节点设备1需要分别与节点设备2和节点设备3通信三次。
本实施例中,节点设备1可以向节点设备2发送目标节点的节点标识和目标节点更新后的特征信息;可以向节点设备3发送目标节点的节点标识和目标节点更新后的特征信息。节点设备2可以将目标节点的节点标识和目标节点更新后的特征信息进行对应存储,在需要时可以根据目标节点的节点标识读取目标节点更新后的特征信息。节点设备3可以将目标节点的节点标识和目标节点更新后的特征信息进行对应存储,在需要时可以根据目标节点的节点标识读取目标节点更新后的特征信息。这样节点设备1与节点设备2和节点设备3分别通信一次。
在一些实施例中,在步骤S40之前,还可以从图数据中选取出度大于或等于设定阈值的节点作为原始节点;可以根据原始节点生成多个影子节点;可以将多个影子节点分配给分布式系统中的多个节点设备。这样第一节点设备所匹配的目标节点可以包括影子节点。第一节点设备可以通过图4所对应实施例的图数据处理方法,获得影子节点的预测结果。
出度可以为节点出边的数量。设定阈值可以为10、20等。原始节点的出度大于或等于设定阈值,表示原始节点的出边数量较多。图数据存在倾斜的问题。每个影子节点可以具有原始节点的部分出边。通过将多个影子节点分配给分布式系统中的多个节点设备,使得多个影子节点与多个节点设备相匹配。原始节点的多条出边对应多个通信任务。出边对应的通信任务可以包括:根据原始节点的出边,发送原始节点更新后的特征信息和/或出边更新后的特征信息。相较于由原始节点所匹配的节点设备独自执行所述多个通信任务,这样可以由所述多个节点设备共同执行所述多个通信任务,减少了原始节点所匹配节点设备的通信耗时。
可以将原始节点的多条出边平均分配给多个影子节点。当然,还可以按照其他方式将原始节点的多条出边分配给多个影子节点。每个影子节点具有原始节点的部分出边。不同影子节点的出边可以相同或不同。多个影子节点的出边数量之和可以等于原始节点的出边数量。
每个影子节点可以具有节点标识。可以根据影子节点的节点标识,通过分配规则将多个影子节点分配给多个节点设备。影子节点的节点标识可以根据原始节点的节点标识生成。
每个影子节点可以具有原始节点的全部入边。这样在迭代过程中,影子节点的特征信息与原始节点的特征信息相同。在迭代结束后,第一节点设备可以利用图模型的输出层,对影子节点更新后的特征信息进行处理,得到影子节点的预测结果,作为原始节点的预测结果。
选取原始节点的步骤、生成影子节点的步骤、分配影子节点的步骤,可以由分布式系统的控制设备执行。当然也可以由分布式系统的任一节点设备(例如第一节点设备)执行。
需要说明的是,本实施例可以适用于以下场景:不同出边对应的通信任务不同。例如,在考虑图数据中边的特征信息的条件下,出边对应的通信任务可以包括:根据原始节点的出边,发送原始节点更新后的特征信息和出边更新后的特征信息。由于不同出边更新后的特征信息不同,使得不同出边对应的通信任务不同。当然,本实施例还可以适用于另外的场景:不同出边对应的通信任务不同。例如,在不考虑图数据中边的特征信息的条件下,出边对应的通信任务可以包括:根据原始节点的出边,发送原始节点更新后的特征信息。
请参阅图7。原始节点A具有6条出边,其中3条出边对应的终点节点与节点设备2相匹配,另外3条出边对应的终点节点与节点设备3相匹配。若对于原始节点A的每条出边,节点设备1均发送原始节点更新后的特征信息。则节点设备1需要向节点设备2发送三次信息,需要向节点设备3发送三次信息。节点设备1需要分别与节点设备2和节点设备3通信三次。
本实施例中,可以根据原始节点A生成影子节点A1和影子节点A2。影子节点A1和影子节点A2具有原始节点A的全部出边。影子节点A1具有原始节点A的3条出边,影子节点A2具有原始节点A的另外3条出边。这样节点设备4可以与节点设备2进行两次通信,可以与节点设备3进行一次通信。节点设备5可以与节点设备2进行一次通信,可以与节点设备3进行两次通信。从而将节点设备1独自承担的6次通信,变为由节点设备4和节点设备5各承担三次通信。
在一些实施例中,请参阅图8。以下介绍本说明书实施例的图模型训练过程。图模型的训练过程可以包括:获取样本图数据中样本节点的子图数据;利用图模型的中间层,根据子图数据确定样本节点的特征信息;利用图模型的输出层,根据样本节点的特征信息确定样本节点的预测结果;根据样本节点的预测结果和样本节点的标签,确定图模型的模型参数。
样本图数据的规模可以较大。但在图模型训练过程中,可以选取少量的样本节点进行训练。使得,相较于图模型预测过程中的目标节点,不同样本节点的子图数据之间存在交叉的可能性较小,例如不包含重叠部分或者包含的重叠部分较少。因此可以利用样本节点的子图数据进行训练,以减少分布式系统中节点设备之间的通信消耗,从而提高图模型的训练效率。
图模型训练过程可以基于分布式系统实现。分布式系统中的节点设备可以持有待训练的图模型。具体的,分布式系统中的控制设备可以获取图模型,将图模型分发给分布式系统中的节点设备。当然也可以由分布式系统中的任一节点设备将图模型分发给其他节点设备。另外,分布式系统中的节点设备还可以获得一个或多个样本节点的子图数据。具体的,分布式系统中的控制设备可以从样本图数据中选取多个样本节点;可以从样本图数据中选取样本节点的子图数据;可以将多个样本节点的子图数据分配给节点设备。具体分配过程可以与目标节点的分配过程类似。例如,可以计算样本节点的节点标识与P的余数,将样本节点的子图数据分配给与所述余数相匹配的节点设备。当然也可以由分布式系统中的任一节点设备从样本图数据中选取样本节点以及样本节点的子图数据,将子图数据分配给节点设备。
分布式系统中的每个节点设备(例如前述第一节点设备)可以利用图模型的中间层,根据样本节点的子图数据确定样本节点的特征信息;可以利用图模型的输出层,根据样本节点的特征信息确定样本节点的预测结果;可以根据样本节点的预测结果和样本节点的标签,确定图模型的模型参数。分布式系统中的各个节点设备可以向控制设备发送模型参数。控制设备可以对来自多个节点设备的模型参数进行聚合,得到图模型的最终模型参数。例如,控制设备可以计算多个模型参数的平均值等,作为图模型的最终模型参数。
节点设备可以执行以下步骤:在子图数据中,获取样本节点所对应邻居节点的特征信息;利用图模型的中间层,根据邻居节点的特征信息对样本节点的特征信息进行更新;在子图数据中,根据样本节点的出边,发送样本节点更新后的特征信息。可以迭代执行以上步骤,直至满足设定条件。在迭代结束后,可以利用图模型的输出层,对样本节点更新后的特征信息进行处理,得到样本节点的预测结果。具体过程可以参见前面的相关介绍,这里不再赘述。
样本节点的标签可以用于表示样本节点所表示实体的类别。可以根据样本节点的预测结果和样本节点的标签,通过损失函数计算损失信息;可以根据损失信息确定模型参数。
在一些实施例中,本说明书实施例还提供一种图数据处理框架。
所述图数据处理框架可以包括:搜集步骤、加工步骤、节点更新步骤、出边更新步骤、发送步骤等。所述搜集步骤用于接收目标节点所对应邻居节点的特征信息以及目标节点入边的特征信息。所述加工步骤用于对邻居节点的特征信息以及目标节点入边的特征信息进行聚合处理。所述节点更新步骤用于根据聚合后的特征信息对目标节点的特征信息进行更新。所述出边更新步骤用于根据目标节点更新后的特征信息,对目标节点出边的特征信息进行更新。所述发送步骤用于根据发送目标节点更新后的特征信息以及目标节点出边更新后的特征信息。基于所述图数据处理框架,可以实现本说明书图4所对应实施例的图数据处理方法。
基于所述图数据处理框架,还可以实现本说明书实施例的图模型训练过程。在所述图模型训练过程中,所述搜集步骤可以由节点设备根据样本节点的子图数据在本地进行。所述发送步骤可以由节点设备根据样本节点的子图数据在本地进行。所述加工步骤、所述节点更新步骤、以及所述出边更新步骤,可以与图4所对应实施例中的相关步骤类似。这样基于所述图数据处理框架,可以将图模型的预测过程和训练过程统一起来。使得,可以通过图4所对应实施例进行预测,以避免冗余计算,还可以利用子图数据通过梯度下降法实现训练。所述梯度下降法可以包括小批量梯度下降法(mini batch gradient descent)等。
以下介绍本说明书实施例的一个场景示例。所述场景示例仅是为了更好地理解本说明书实施例的技术效果,并不构成对本说明书实施例的不当限定。
在一些场景中,需要定期的对大量账户进行风险检测。为此,可以构建交互图数据。在所述交互图数据中,节点用于表示账户,所述账户可以包括个人账户、企业账户、银行账户、社交账户等。节点的特征数据用于表示账户的属性数据,所述属性数据可以包括账户的余额、账户的等级、账户的积分、账户的开设时长等。在所述交互图数据中,边用于表示账户之间的交互关系。所述交互关系可以包括借贷关系、转账关系等交易关系,从而所述交互图数据可以为交易图数据。所述交互关系还可以包括消费关系、社交关系等其他交互关系,从而所述交互图数据还可以为其他交互图数据。边的特征数据用于表示边的属性数据,所述属性数据可以包括借贷金额、转账时间、转账金额、交互次数等。所述图模型可以包括风险检测模型。可以将图数据中需要进行风险检测的节点作为目标节点,可以通过图4所对应实施例获得一个或多个目标节点的预测结果。所述预测结果用于表示目标节点所表示账户是否为风险账户、或者为风险账户的概率。所述风险账户可以包括作弊账户、被盗用账户等。
本说明书实施例的图数据处理方法,第一节点设备可以接收邻居节点的特征信息;可以利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;可以发送目标节点更新后的特征信息;在迭代结束后,可以利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。这样第一节点设备可以通过目标节点接收特征信息和发送特征信息,实现对目标节点的特征信息进行更新,从而获得了目标节点的预测结果。
第一节点设备通过目标节点与其他节点设备进行通信,以对目标节点进行预测。从而能够避免根据子图数据对目标节点进行预测时的冗余计算,降低了时间开销,提高了预测效率。
请参阅图9。本说明书实施例还提供一种图数据处理装置,具体包括以下单元。
迭代单元90,用于迭代执行以下步骤直至满足设定条件:接收目标节点所对应邻居节点的特征信息;利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;根据目标节点的出边,发送目标节点更新后的特征信息;
预测单元92,用于利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。
本发明实施例提供一种计算机设备,包括存储器和处理器。所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现图4所对应的实施例。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现图4所对应的实施例。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现图4所对应的实施例。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例、计算机设备实施例、以及计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。计算机可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (12)
1.一种图数据处理方法,应用于分布式系统中的第一节点设备,所述第一节点设备与图数据中的目标节点相匹配,所述方法包括:
接收目标节点所对应邻居节点的特征信息;
利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;
根据目标节点的出边,发送目标节点更新后的特征信息;
迭代执行以上步骤,直至满足设定条件;
利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。
2.根据权利要求1所述的方法,所述目标节点包括根据分配规则分配给第一节点设备的节点,所述分配规则用于对图数据中的节点进行分配。
3.根据权利要求1所述的方法,在接收特征信息的步骤中包括:
接收分布式系统中第二节点设备发送的邻居节点的特征信息,所述第二节点设备与邻居节点相匹配,用于根据邻居节点的出边发送邻居节点的特征信息。
4.根据权利要求1所述的方法,所述方法还包括:
接收目标节点入边的特征信息;
在对特征信息进行更新的步骤中包括:
对邻居节点的特征信息以及目标节点入边的特征信息进行聚合,得到第一聚合特征信息;
根据第一聚合特征信息,对目标节点的特征信息进行更新;
根据目标节点更新后的特征信息,对目标节点出边的特征信息进行更新;
在发送特征信息的步骤中包括:
发送目标节点出边更新后的特征信息。
5.根据权利要求1所述的方法,在对特征信息进行更新的步骤中包括:
利用图模型的第L个中间层,对目标节点的特征信息进行更新,L为当前迭代次数;
所述设定条件包括:迭代次数等于图模型的中间层数量。
6.根据权利要求1所述的方法,在发送特征信息的步骤中包括:
根据目标节点的出边,向第三节点设备发送目标节点更新后的特征信息;
所述第三节点设备与目标节点的出边所指向的节点相匹配。
7.根据权利要求1所述的方法,所述第一节点设备与多个目标节点相匹配;
在发送特征信息的步骤中包括:
检测所述多个目标节点是否具有指向同一节点的多条出边;
若是,对所述多个目标节点更新后的特征信息进行聚合,得到第二聚合特征信息;
根据出边,发送第二聚合特征信息。
8.根据权利要求1所述的方法,所述目标节点具有指向多个节点的多条出边;
在发送特征信息的步骤中包括:
检测所述多个节点是否与分布式系统中的同一节点设备相匹配;
若是,根据所述目标节点的多条出边,发送一次目标节点更新后的特征信息。
9.根据权利要求1所述的方法,所述目标节点包括影子节点;
所述影子节点通过以下方式分配给所述第一节点设备:
从图数据中选取出度大于或等于设定阈值的节点作为原始节点;
根据原始节点生成多个影子节点,所述影子节点具有原始节点的部分出边;
将多个影子节点分配给分布式系统中的多个节点设备。
10.根据权利要求1所述的方法,所述图模型通过以下方式训练得到:
获取样本图数据中样本节点的子图数据;
利用图模型的中间层,根据子图数据确定样本节点的特征信息;
利用图模型的输出层,根据样本节点的特征信息确定样本节点的预测结果;
根据样本节点的预测结果和样本节点的标签,确定图模型的模型参数。
11.一种图数据处理装置,应用于分布式系统中的第一节点设备,所述第一节点设备与图数据中的目标节点相匹配,所述装置包括:
迭代单元,用于迭代执行以下步骤直至满足设定条件:接收目标节点所对应邻居节点的特征信息;利用图模型的中间层,根据邻居节点的特征信息对目标节点的特征信息进行更新;根据目标节点的出边,发送目标节点更新后的特征信息;
预测单元,用于利用图模型的输出层,对更新后的特征信息进行处理,得到目标节点的预测结果。
12.一种计算机设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行根据权利要求1-10中任一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310353646.7A CN116431651A (zh) | 2023-03-31 | 2023-03-31 | 图数据处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310353646.7A CN116431651A (zh) | 2023-03-31 | 2023-03-31 | 图数据处理方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431651A true CN116431651A (zh) | 2023-07-14 |
Family
ID=87083872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310353646.7A Pending CN116431651A (zh) | 2023-03-31 | 2023-03-31 | 图数据处理方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431651A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235032A (zh) * | 2023-11-08 | 2023-12-15 | 支付宝(杭州)信息技术有限公司 | 一种分布式链接预测方法及装置 |
-
2023
- 2023-03-31 CN CN202310353646.7A patent/CN116431651A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235032A (zh) * | 2023-11-08 | 2023-12-15 | 支付宝(杭州)信息技术有限公司 | 一种分布式链接预测方法及装置 |
CN117235032B (zh) * | 2023-11-08 | 2024-01-05 | 支付宝(杭州)信息技术有限公司 | 一种分布式链接预测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111080304B (zh) | 一种可信关系识别方法、装置及设备 | |
CN113361658B (zh) | 一种基于隐私保护的图模型训练方法、装置及设备 | |
CN110245787A (zh) | 一种目标群体预测方法、装置及设备 | |
CN109934697A (zh) | 一种基于图结构模型的信用风险控制方法、装置以及设备 | |
CN111639687B (zh) | 一种模型训练以及异常账号识别方法及装置 | |
CN112288572B (zh) | 业务数据处理方法及计算机设备 | |
CN110020427B (zh) | 策略确定方法和装置 | |
CN117235285B (zh) | 融合知识图谱数据的方法及装置 | |
CN116431651A (zh) | 图数据处理方法、装置和计算机设备 | |
CN114049529A (zh) | 用户行为预测方法、模型训练方法、电子设备及存储介质 | |
CN112491900A (zh) | 异常节点识别方法、装置、设备及介质 | |
CN109598513B (zh) | 一种风险识别方法和装置 | |
CN103678548A (zh) | 基于组合模式的失效服务替代推荐方法 | |
CN116308738B (zh) | 一种模型训练的方法、业务风控的方法及装置 | |
CN117291722A (zh) | 对象管理方法、相关设备及计算机可读介质 | |
CN112001649A (zh) | 一种风险数据挖掘方法、装置以及设备 | |
CN115564450B (zh) | 一种风控方法、装置、存储介质及设备 | |
CN111353001B (zh) | 对用户进行分类的方法和装置 | |
CN117151250A (zh) | 一种模型训练方法、装置、设备及可读存储介质 | |
KR102187832B1 (ko) | 유사 기업 추출 장치 및 이를 이용한 유사 기업 추출 방법 | |
CN116485391A (zh) | 支付推荐处理方法及装置 | |
CN113630476B (zh) | 应用于计算机集群的通信方法及通信装置 | |
CN113992429B (zh) | 一种事件的处理方法、装置及设备 | |
CN112967044B (zh) | 一种支付业务的处理方法及装置 | |
CN113988718A (zh) | 一种风险识别方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |