CN111291138A - 更新关系网络的方法及装置 - Google Patents
更新关系网络的方法及装置 Download PDFInfo
- Publication number
- CN111291138A CN111291138A CN202010108787.9A CN202010108787A CN111291138A CN 111291138 A CN111291138 A CN 111291138A CN 202010108787 A CN202010108787 A CN 202010108787A CN 111291138 A CN111291138 A CN 111291138A
- Authority
- CN
- China
- Prior art keywords
- node
- order neighbor
- sampling
- nodes
- connecting edge
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000005070 sampling Methods 0.000 claims abstract description 141
- 230000000875 corresponding effect Effects 0.000 claims description 121
- 230000002596 correlated effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 16
- 238000012545 processing Methods 0.000 abstract description 13
- 238000010801 machine learning Methods 0.000 abstract description 6
- 230000000750 progressive effect Effects 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 description 15
- 238000005295 random walk Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 239000000523 sample Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004900 laundering Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 238000012549 training Methods 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- 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/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种更新关系网络的方法和装置,可以基于当前节点与其一阶邻居节点之间的连接边的权重,通过采样方式选择节点,并以递进方式一阶一阶向当前节点的高阶邻居节点进行采样,从而采样出可信的与当前节点相关联的高阶邻居节点,并将它们确定为当前节点的一阶邻居节点,以更新当前关系网络。如此,可以使得在通过图神经网络等机器学习方式处理关系网络时,充分利用节点之间的高阶关系,提升关系网络针对当前节点的表达能力,获取更有效的处理结果。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及通过计算机更新关系网络的方法和装置。
背景技术
关系网络是用来描述真实世界中存在的各种实体和概念,以及他们之间的关联关系的一种图结构,具有很强的数据描述能力。其初衷是为了提高搜索引擎的能力,改善用户的搜索质量以及搜索体验。随着人工智能的技术发展和应用,关系网络可以作为关键技术之一,被广泛应用于智能搜索、智能问答、个性化推荐、内容分发等领域。特别是,与机器学习模型相结合,增强模型的预测能力。例如,在客服机器人问答系统中,可以通过引入与产品服务的问题和答案语义相关的关系网络,帮助意图识别模型对用户使用自然语言提出的问题进行语义分析和意图识别,之后在关系网络中查询答案推送给用户。
目前基于针对关系网络的处理,通常采用图神经网络算法一类的机器学习算法,它通常是一个具有预定层数(如2-3层)的图神经网络结构,每个节点的下一层表征是由该节点的上一层表征和该节点的邻居节点的上一层表征共同聚合而成,模型的最后一层会根据具体的任务对节点的向量表征进行约束来定义损失函数,从而实现一个端到端的图模型的搭建。在每一层表征的学习中,如何定义邻居是个比较重要的问题。常规的方法往往要将节点的预定阶数内的节点,如一阶邻居节点、二阶邻居节点定义为该节点的邻居,在机器学习模型处理过程中予以考虑,一些方式还在邻居中做一定的采样。这种方式通过预定阶数进行切断,然而,节点的高阶关系也是刻画网络结构十分重要的一个方面,如何使得图神经网络可以对节点的高阶关系进行建模,以进一步提高图神经网络的准确度,是一个重要的问题。
发明内容
本说明书一个或多个实施例描述了一种更新关系网络的方法及装置,挖掘关系网络中的高阶实体关系,从而使得图神经网络在处理关系网络时,充分利用原关系网络中的高阶关系,得到更有效的处理结果。
根据第一方面,提供了一种更新关系网络的方法,所述关系网络包括多个节点,并通过连接边描述节点之间的关联关系,各个节点分别对应各个实体,各个连接边分别对应有各个连接边权重,所述方法包括:针对当前关系网络中的第一节点,确定若干个一阶邻居节点,所述第一节点的一阶邻居节点与所述第一节点通过连接边连接;基于所述第一节点的若干个一阶邻居节点分别对应的各个连接边权重,确定各个一阶邻居节点分别对应的各个采样概率;按照各个采样概率对所述第一节点的一阶邻居节点进行采样,得到第二节点;从所述第二节点的一阶邻居节点中采样得到第三节点,从所述第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点,k为预先设定的自然数;在所述第一节点与以下节点之间分别添加连接边,从而更新所述当前关系网络:所述第三节点、所述第四节点,直至所述第k+1节点。
在一个实施例中,所述第一节点的一阶邻居节点包括节点i,节点i对应的采样概率通过以下的一种方式确定:节点i对应的连接边权重与所述第一节点的各个一阶邻居节点分别对应的连接边权重之和的比值;节点i对应的连接边权重与所述第一节点的一阶邻居节点数量之比;节点i对应的连接边权重与所述第一节点所指向的一阶邻居节点数量之比。
在一个实施例中,所述按照各个采样概率对所述若干个一阶邻居节点进行采样,得到第二节点包括:生成预定区间内的随机数,其中,所述预定区间包括分别对应于所述第一节点的各个一阶邻居节点的子区间,各个子区间的长度分别与相应采样概率正相关;将所述随机数所在的子区间对应的一阶邻居节点采样为所述第二节点。
在一个实施例中,所述按照各个采样概率对所述若干个一阶邻居节点进行采样,得到第二节点包括:随机从多个预定的离散数值中指定第一数值,所述多个预定的离散数值包括,分别与所述第一节点的各个一阶邻居节点对应的至少一个离散数值,单个一阶邻居节点对应的离散数值数量与相应采样概率正相关;将所述第一数值对应的一阶邻居节点采样为所述第二节点。
在一个实施例中,所述第二节点、所述第三节点、所述第四节点至所述第k节点中包括节点q和节点t,节点q是在节点t的一阶邻居节点中采样得到的节点;所述从所述第二节点的一阶邻居节点中采样得到第三节点,从所述第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点包括:针对节点p,确定除节点t之外的其他一阶邻居节点;基于节点p的其他一阶邻居节点分别对应的各个连接边权重,确定各个其他一阶邻居节点分别对应的各个采样概率;按照各个采样概率对节点p的其他一阶邻居节点进行采样,得到从节点p采样的下一节点。
在一个实施例中,所述方法还包括:针对所添加的各个连接边,通过以下方式之一添加连接边权重:将各个连接边的权重设定为预定权重;将相应节点与所述第一节点之间添加连接边之前,所经过的各个连接边的权重的乘积作为所添加的连接边对应的连接边权重。
根据第二方面,提供了一种更新关系网络的装置,所述关系网络包括多个节点,并通过连接边描述节点之间的关联关系,各个节点分别对应各个实体,各个连接边分别对应有各个连接边权重,所述装置包括:
邻居节点获取单元,配置为针对当前关系网络中的第一节点,确定若干个一阶邻居节点,所述第一节点的一阶邻居节点与所述第一节点通过连接边连接;
采样概率确定单元,配置为基于所述第一节点的若干个一阶邻居节点分别对应的各个连接边权重,确定各个一阶邻居节点分别对应的各个采样概率;
第一采样单元,配置为按照各个采样概率对所述第一节点的一阶邻居节点进行采样,得到第二节点;
第二采样单元,配置为从所述第二节点的一阶邻居节点中采样得到第三节点,从所述第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点,k为预先设定的自然数;
更新单元,配置为在所述第一节点与以下节点之间分别添加连接边,从而更新所述当前关系网络:所述第三节点、所述第四节点,直至所述第k+1节点。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的更新关系网络的方法及装置,可以基于当前节点与其一阶邻居节点之间的连接边的权重,通过采样方式选择节点,并以递进方式一阶一阶向当前节点的高阶邻居节点进行采样,从而采样出可信的与当前节点相关联的高阶邻居节点,并将它们确定为当前节点的一阶邻居节点,以更新当前关系网络。如此,可以使得在通过图神经网络等机器学习方式处理关系网络时,充分、合理地利用节点间的高阶关系,提升关系网络针对当前节点的表达能力,获取更有效的处理结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的更新关系网络的的方法流程图;
图3示出针对一个具体关系网络的一个具体节点的采样及更新过程示意图;
图4示出根据一个实施例的更新关系网络的的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
为了便于说明,结合图1示出的本说明书实施例的一个具体适用场景进行描述。图1示出的是一个描述实体之间的某种关联关系的关系网络的示意图。如图1所示,该关系网络中可以包含多个用户实体(或概念),例如,张三,李四,王五,赵六,等等,每个用户实体对应关系网络中的一个节点。节点之间根据金融资源往来,对应有关联关系。该关联关系例如是用户之间的转账频次。具有关联关系的节点之间通过连接边连接。特别地,图1示出的连接边为有向连接边,用于表明资金流向,例如从李四通过有向连接边指向张小三,表明资金从李四转向张小三。
作为图结构的一种,关系网络可以采用常规图结构记录方式,例如邻接矩阵之类,记录其拓扑结构。
在一些实现中,基于关系网络本身的特点,在本领域中还可以采用(头节点h,关系r,尾节点t)三元组的方式来记录。可以理解,一个三元组可以记录关系网络中一条连接边所对应的实体关系,其中头节点h(head)可以为该连接边出发的节点,尾节点t(tail)可以为该连接边指向的节点,关系r(relation)可以表示该连接边对应的连接关系权重等。例如,图1中虚线圈出区域的实体关系可以表示为三元组(张三,5,张小三)。
通常,借鉴神经网络的思想,关系网络可以通过图神经网络进行处理。为了表征关系网络,可以将关系网络中的实体关系的向量表示作为表征学习的目标。常规技术中,通常将节点的邻居节点,例如选择预定阶数内的邻居节点,或者从邻居节点中选择权重较高的节点,来作为对图数据的处理思路。
在本说明书的技术构思下,可以对关系网络本身的结构进行改变,从而使得图神经网络在处理关系网络时,对节点的表征与高阶节点相关联。下面详细描述本说明书的技术构思。
图2示出一个实施例的更新关系网络的流程。该方法的执行主体可以是任何具有计算、处理能力的系统、设备、装置、平台或服务器。该方法适用于描述各种实体的关系网络,例如,描述用户之间的转账关系的关系网络等等。特别地,本说明书实施例中的方法尤其适用于实体之间具有单一连接关系类型(例如都是转账频次关系)的关系网络。
图2示出的流程基于连接边的权重,在节点与高阶邻居之间添加新的连接边,从而使得高阶邻居成为节点的低阶邻居,在使用图神经网络处理关系网络的图数据时,可以便利地将高阶邻居对当前节点的影响表征出来。
为了便于描述,如图2所示,以当前所针对的节点为第一节点为例,该更新关系网络的方法可以包括以下步骤:步骤201,针对当前关系网络中的第一节点,确定若干个一阶邻居节点,第一节点的一阶邻居节点是与第一节点通过连接边连接的节点;步骤202,基于第一节点的若干个一阶邻居节点分别对应的各个连接边权重,确定各个一阶邻居节点分别对应的各个采样概率;步骤203,按照各个采样概率对第一节点的一阶邻居节点进行采样,得到第二节点;步骤204,从第二节点的一阶邻居节点中采样出第三节点,从第三节点的一阶邻居节点中采样出第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点,k为预先设定的自然数;步骤205,在第一节点与以下节点之间分别添加连接边,从而更新当前关系网络:第三节点、第四节点,直至第k+1节点。
首先,在步骤201中,针对当前关系网络中的第一节点,确定若干个一阶邻居节点。可以理解,第一节点的一阶邻居节点是与第一节点之间通过连接边直接相连的节点。
例如,图1中,描述某个金融平台的用户之间的资源转移关系的关系网络中,各个节点分别对应该金融平台的各个用户,存在直接资源转移关系的用户之间通过连接边连接,一个节点的邻居节点对应的就是与该节点相应的用户之间具有资源转移关系的其他用户。如“李四”对应的节点的一阶邻居节点包括“王五”、“张小三”等对应的节点。
在可选的实现方式中,节点之间的连接边还可以是有向连接边。连接边的方向可以描述节点之间的包含关系(例如文档和关键词之间的包含关系)、节点之间的相互作用关系(例如资源转移方向)等等。可选地,当两个节点对应的实体之间具有相互作用,连接边的方向还可以是双向的。例如在图1示出的金融关系的关系网络中,当两个用户之间具有相互的资金转移行为时,相应节点之间的连接边还可以是双向的连接边。
因此,通过当前关系网络,可以直接确定出各个节点的一阶邻居节点,对于当前的第一节点来说,可以确定出其当前的一阶邻居节点。在可选的实施例中,关系网络可以通过三元组来描述,此时,还可以检测出所有包含第一节点的三元组,从而通过所有包含当前的第一节点的三元组来确定其一阶邻居节点。
接着,在步骤202中,基于第一节点的各个一阶邻居节点分别对应的各个连接边权重,确定针对第一节点的各个一阶邻居节点的各个采样概率。
在本说明书的技术构思下,每个连接边可以根据所连接的两个节点之间的关联强度,对应有连接边权重。连接边权重根据关系网络所表达的连接关系和/或基于对关系网络的处理所依据的业务属性确定。
作为示例,在表达实体隶属关系的关系网络中,可以根据隶属关系的程度确定连接边权重。例如在文档和关键词的隶属关系网络中,可以根据文档之间词汇重复程度、文档中出现关键词次数等确定连接边的权重。如,连接文档和关键词之间的连接边的权重与关键词在文档中出现的频次正相关。再例如,在描述金融平台用户之间的资金往来关系的关系网络中,可以按照相互的转账频次、转账金额等确定连接边权重。如,转账频次越大,权重越大,转账金额越大,权重越大。如图1中,张三向张小三转账频次最大,可以具有最大的权重。
连接边权重可以作为连接边属性进行记录。可选地,在关系网络通过三元组形式表示时,连接边权重可以通过三元组中首元素、尾元素之间的连接关系元素的值(或关系向量)进行记录。如此,在确定一阶邻居节点的同时,或之后,可以获取相应的连接边权重。
连接边权重描述了一阶邻居节点和当前的第一节点的关联程度,而本说明书技术构思的目的是挖掘高阶邻居节点对当前节点的影响,因此,可以基于各个连接边权重,进一步确定各个一阶邻居节点的采样概率。采样概率可以用于描述在多次采样中采样到各个一阶邻居节点的概率。例如,随机采样N次,采样到一个具体的一阶邻居节点的次数为n,该一阶邻居节点的采样概率为n/N。换句话说,在一次具体的采样过程中,采样到该一阶邻居节点的采样概率为n/N。针对第一节点的这若干个一阶邻居节点的采样概率构成关于第一节点的采样概率分布。
在根据连接边权重确定各个一阶邻居节点的采样概率时,采样概率可以和连接边权重正相关,从而使得连接边权重越大,相应一阶邻居节点被采样到的概率越大。
在可选的实现方式中,可以对这若干个一阶邻居节点分别对应的各个连接边权重进行归一化处理,针对每个连接边权重得到的归一化结果为相应的采样概率。归一化处理的归一化系数例如可以是各个连接边权重之和的倒数。例如第一节点的一阶邻居节点数量为s,针对一个具体的一阶邻居节点i,连接边权重为mi,其对应的采样概率为:mi/(m1+m2+…+ms)。也就是说,节点i对应的采样概率为,节点i对应的连接边权重与第一节点的各个一阶邻居节点分别对应的连接边权重之和的比值。
在另一个可选的实现方式中,可以将第一节点的度作为调节因子,确定其各个一阶邻居节点的采样概率。其中,节点的度通常可以是一阶邻居节点数量或者连接边数量。例如第一节点的一阶邻居节点数量为s,针对一个具体的一阶邻居节点i,连接边权重为mi,其对应的采样概率为:mi/s。
在有一个可选的实现方式中,关系网络中的连接边为有向连接边,在遍历节点时可以沿连接边方向进行,为了避免重复,还可以只考虑连接边为“出向”的邻居节点。其中,连接边为“出向”的邻居节点可以用于表示从当前的第一节点通过连接边所指向的节点。“出向”的邻居节点数量也可以称为出度。此时,可以将出度作为调整因子,连接边权重与出度之比作为相应一阶邻居节点对应的采样概率。例如第一节点所指向的一阶邻居节点数量为s',针对一个具体的一阶邻居节点i,连接边权重为mi,其对应的采样概率为:mi/s'。
在更多实现方式中,还可以通过各种合理的方式确定各个一阶邻居节点的采样概率,在此不再赘述。
然后,通过步骤203,按照各个采样概率对第一节点的一阶邻居节点进行采样,得到第二节点。可以理解,为了挖掘高阶节点对当前的第一节点的影响,需要从其一阶邻居节点开始,一阶一阶地进行采样,直到采样到第一节点的高阶节点。
由于采样概率描述的是多次随机采样得到相应结果的概率,或者一次具体的采样过程中采样到相应结果的概率,因此,对上述的若干一阶邻居节点的采样可以采用随机采样方式进行,使得采样结果满足这若干一阶邻居节点的采样概率分布。
在一个实施例中,可以用预定数量的离散数值作为采样参考值,这预定数量的离散数值包括,分别与第一节点的各个一阶邻居节点对应的至少一个离散数值。也就是说,每个一阶邻居节点对应至少一个数值,第一节点的全部一阶邻居节点对应的数值组合在一起就是这预定数量的离散数值。其中,对应各个一阶邻居节点的离散数值的数量与相应邻居节点的采样概率正相关,例如是成正比的。举例而言,假设预定数量为1000个,即离散数值的总数量为1000个,采样概率为0.4的一阶邻居节点对应的离散随机数数量可以是400个。随机从这1000个随机数中取一个数值(如称为第一数值),其对应到的一阶邻居节点可以作为采样到的第二节点。可以理解的是,这预定数量的离散数值可以是连续排列的自然数,也可以是按照一定规则(如偶数)确定的其他数值,在此不作限定。
在另一个实施例中,可以用预定区间的数值作为参考采样值,采样第二节点。这里,预定区间可以包括分别对应于第一节点的各个一阶邻居节点的子区间,各个子区间的长度分别与相应采样概率正相关。例如,预定区间为0-1的半开半闭区间,即[0,1),各个一阶邻居节点分别对应该闭合区间上长度与采样概率一致的子区间,如采样概率为0.4的一阶邻居节点m对应的子区间为[0.2,0.6)。采样时,随机生成该预定区间的一个数值,即预定区间上的随机数,将随机数所在的子区间对应的一阶邻居节点采样为第二节点。如随机生成[0,1)区间上的一个数值0.35,将该数值落入的区间[0.2,0.6)对应到的一阶邻居节点m采样为第二节点。
在更多具体示例中,可以通过更多方式采样到第二节点。总之,使得针对这若干个一阶邻居节点的采样满足步骤202中得到的采样概率分布。
进一步地,在步骤204中,从第二节点的一阶邻居节点中采样出第三节点,从第三节点的一阶邻居节点中采样出第四节点,直至采样到作为第一节点的第k阶邻居节点的第k+1节点。
可以理解,与第一节点之间经由两条连接边相连的节点,可以称为第一节点的二阶邻居节点。第二节点的除第一节点外的其他一阶邻居节点,是第一节点的二阶邻居节点。
按照与步骤201、步骤202、步骤203类似的方法,可以从第二节点的一阶邻居节点中采样到第三节点。与采样第二节点区别的是,采样第三节点时,可以把第一节点排除在外。具体实施时,可以在采样第三节点时先将第一节点排除点,只考虑第二节点的其他一阶邻居节点,也可以在采样到的节点为第一节点的情况下,重新采样,在此不作限定。
以此类推,可以依据相似的方式从第三节点的一阶邻居节点(第一节点的三阶邻居节点)中采样到第四节点,直至从第k节点的一阶邻居节点(第一节点的k阶邻居节点)中采样到第k+1节点。其中,k可以控制采样深度,即最高采样到第一节点的哪一阶邻居节点。k可以是预先设定的数,也可以是第一节点最高的邻居节点阶数。由于本说明书构思下,需要考虑的是高阶邻居节点的影响,因此,k可以是一个大于预定阈值(如3)的自然数。
总之,假设第二节点、第三节点、第四节点……第k节点中包括节点q和节点t,节点q是在节点t的一阶邻居节点中采样得到的节点,那么:针对节点p,确定除节点t之外的其他一阶邻居节点,基于节点p的其他一阶邻居节点分别对应的各个连接边权重,确定各个其他一阶邻居节点分别对应的各个采样概率,按照各个采样概率对节点p的其他一阶邻居节点进行采样,得到从节点p采样的下一节点。
如此,可以得到一条随机游走的路径,由第一节点、第二节点、第三节点……第k+1节点构成。如图3所示,假设采样深度k取4,关系网络中作为当前节点的第一节点为节点X9,采样到的第二节点为节点X7、采样到的第三节点为节点X6、采样到的第四节点为节点X5、采样到的第五节点为节点X3,则从节点X9开始,依次经过节点X7、X6、X5、X3构成一条随机游走路径。
可以理解,在以上采样过程中,对每个节点的采样都依据基于连接边权重(与节点之间的关联程度正相关)确定的采样概率,因此采样得到的各个节点可以认为是第一节点的可信的关联节点。因此,在步骤205中,在第一节点与以下节点之间分别添加连接边,从而更新当前关系网络:第三节点至第k+1节点之间的各个节点。也就是说,认为上述随机游走路径上的各个节点都和第一节点之间具有连接边。
如图3所示,第一节点X9与第二节点X7互为一阶邻居节点,它们之间已经通过连接边相连接,对于后续的各个节点X6、X5、X3,与第一节点都没有直接相连。为了使得图神经网络在利用关系网络进行业务处理时,能够考虑后续各个节点(第一节点的高阶邻居节点)对第一节点的影响,可以在第一节点与节点X6、X5、X3(对应第三节点、第四节点……第k节点)之间分别添加连接边,将这些节点变成第一节点X9的一阶邻居节点。
如此,相当于对关系网络的结构进行了更新。这样,在利用更新后的关系网络训练图神经网络时,可以通过第一节点的高阶邻居节点对第一节点进行表征。在使用已经训练好的图神经网络处理关系网络时,扩充了第一节点的一阶邻居节点,从而可以利用第一节点的高阶邻居节点确定第一节点的表征。
进一步地,在一个可能的设计中,对于步骤205中添加的连接边,还可以按照预定方式为其设置权重。例如,将所添加的连接边的权重都设定为预定值(如与转账频次1对应的权重)。再例如,将所添加的连接边的权重设定为,相应节点与第一节点在本次针对第一节点更新前的关系网络中的连接路径上的各个连接边权重的乘积。如图3中第四节点X5与第一节点X9之间添加的连接边,其权重为第一节点X9与第二节点X7之间的连接边、第二节点X7与第三节点X6之间的连接边、第三节点X6与第四节点X5之间的连接边分别对应的权重连续相乘得到的积。
在一个实施方式中,可以针对第一节点确定预定数量(如5)的随机游走路径,避免单条路径的采样结果对第一节点的表征产生负面影响。每条随机游走路径按照图2使出的方法执行,在此不再赘述。
在具体实施时,可以遍历关系网络中的各个节点,即针对各个节点分别确定随机游走路径,从而针对各个节点都可以考虑高阶邻居节点的影响。
可选地,在节点之间的连接边为有向连接边的情况下,可以按照连接边的方向遍历各个节点。针对一个具体的节点u,在确定随机游走路径时,可以仅考虑下游节点,即从该具体的节点u出发的连接边指向的节点。此时,各个一阶邻居节点的采样概率确定时可以仅和节点u所指向的一阶邻居节点有关,在此不再赘述。
回顾以上过程,利用连接边权重,针对第一节点通过随机游走的方式采样得到随机游走路径,并将随机游走上的各个节点作为第一节点的可信一阶邻居节点。可以理解的是,由于从关系网络进行根源性的更新,已训练好的图神经网络仍可以正常使用。这样,可以使得通过机器学习方式基于关系网络进行业务处理时,充分考虑原高阶邻居对当前节点的影响,丰富对当前节点的表征,挖掘出节点对应的实体的更深层节点的潜在关系,得到有效的业务处理结果。举例而言,例如通过金融平台的用户转账关系网络,挖据出多层隐蔽的洗钱案件,等等。
根据另一方面的实施例,还提供一种更新关系网络的装置。图4示出根据一个实施例的更新关系网络的装置的示意性框图。这里所指的关系网络可以包括多个节点,并通过连接边描述节点之间的关联关系,各个节点分别对应各个实体,各个连接边分别对应有各个连接边权重。
如图4所示,更新关系网络的装置400包括:邻居节点获取单元41,配置为针对当前关系网络中的第一节点,确定若干个一阶邻居节点,第一节点的一阶邻居节点与第一节点通过连接边连接;采样概率确定单元42,配置为基于第一节点的若干个一阶邻居节点分别对应的各个连接边权重,确定各个一阶邻居节点分别对应的各个采样概率;第一采样单元43,配置为按照各个采样概率对第一节点的一阶邻居节点进行采样,得到第二节点;第二采样单元44,配置为从第二节点的一阶邻居节点中采样得到第三节点,从第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点,k为预先设定的自然数;更新单元45,配置为在第一节点与以下节点之间分别添加连接边,从而更新当前关系网络:第三节点、第四节点,直至第k+1节点。
在一个实施例中,第一节点的一阶邻居节点包括节点i,节点i对应的采样概率通过以下的一种方式确定:
节点i对应的连接边权重与第一节点的各个一阶邻居节点分别对应的连接边权重之和的比值;
节点i对应的连接边权重与第一节点的一阶邻居节点数量之比;
节点i对应的连接边权重与第一节点所指向的一阶邻居节点数量之比。
根据一方面的实施方式,第一采样单元43进一步可以配置为:
生成预定区间内的随机数,其中,预定区间包括分别对应于第一节点的各个一阶邻居节点的子区间,各个子区间的长度分别与相应采样概率正相关;
将随机数所在的子区间对应的一阶邻居节点采样为第二节点。
根据一方面的实施方式,第一采样单元43进一步可以配置为:
随机从多个预定的离散数值中指定第一数值,多个预定的离散数值包括,分别与第一节点的各个一阶邻居节点对应的至少一个离散数值,单个一阶邻居节点对应的离散数值数量与相应采样概率正相关;
将第一数值对应的一阶邻居节点采样为第二节点。
假设第二节点、第三节点、第四节点至第k节点中包括节点q和节点t,节点q是在节点t的一阶邻居节点中采样得到的节点,根据一个可能的设计,第二采样单元44进一步可以配置为:
针对节点p,确定除节点t之外的其他一阶邻居节点;
基于节点p的其他一阶邻居节点分别对应的各个连接边权重,确定各个其他一阶邻居节点分别对应的各个采样概率;
按照各个采样概率对节点p的其他一阶邻居节点进行采样,得到从节点p采样的下一节点。
在一个实现方式中,更新单元45还可以配置为:
针对所添加的各个连接边,通过以下方式之一添加连接边权重:
将各个连接边的权重设定为预定权重;
将相应节点与第一节点之间添加连接边之前,所经过的各个连接边的权重的乘积作为所添加的连接边对应的连接边权重。
值得说明的是,图4所示的装置400是与图2示出的方法实施例相对应的装置实施例,图2示出的方法实施例中的相应描述同样适用于装置400,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (14)
1.一种更新关系网络的方法,所述关系网络包括多个节点,并通过连接边描述节点之间的关联关系,各个节点分别对应各个实体,各个连接边分别对应有各个连接边权重,所述方法包括:
针对当前关系网络中的第一节点,确定若干个一阶邻居节点,所述第一节点的一阶邻居节点与所述第一节点通过连接边连接;
基于所述第一节点的若干个一阶邻居节点分别对应的各个连接边权重,确定各个一阶邻居节点分别对应的各个采样概率;
按照各个采样概率对所述第一节点的一阶邻居节点进行采样,得到第二节点;
从所述第二节点的一阶邻居节点中采样得到第三节点,从所述第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点,k为预先设定的自然数;
在所述第一节点与以下节点之间分别添加连接边,从而更新所述当前关系网络:所述第三节点、所述第四节点,直至所述第k+1节点。
2.根据权利要求1所述的方法,其中,所述第一节点的一阶邻居节点包括节点i,节点i对应的采样概率通过以下的一种方式确定:
节点i对应的连接边权重与所述第一节点的各个一阶邻居节点分别对应的连接边权重之和的比值;
节点i对应的连接边权重与所述第一节点的一阶邻居节点数量之比;
节点i对应的连接边权重与所述第一节点所指向的一阶邻居节点数量之比。
3.根据权利要求1所述的方法,其中,所述按照各个采样概率对所述若干个一阶邻居节点进行采样,得到第二节点包括:
生成预定区间内的随机数,其中,所述预定区间包括分别对应于所述第一节点的各个一阶邻居节点的子区间,各个子区间的长度分别与相应采样概率正相关;
将所述随机数所在的子区间对应的一阶邻居节点采样为所述第二节点。
4.根据权利要求1所述的方法,其中,所述按照各个采样概率对所述若干个一阶邻居节点进行采样,得到第二节点包括:
随机从多个预定的离散数值中指定第一数值,所述多个预定的离散数值包括,分别与所述第一节点的各个一阶邻居节点对应的至少一个离散数值,单个一阶邻居节点对应的离散数值数量与相应采样概率正相关;
将所述第一数值对应的一阶邻居节点采样为所述第二节点。
5.根据权利要求1所述的方法,其中,所述第二节点、所述第三节点、所述第四节点至所述第k节点中包括节点q和节点t,节点q是在节点t的一阶邻居节点中采样得到的节点;
所述从所述第二节点的一阶邻居节点中采样得到第三节点,从所述第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点包括:
针对节点p,确定除节点t之外的其他一阶邻居节点;
基于节点p的其他一阶邻居节点分别对应的各个连接边权重,确定各个其他一阶邻居节点分别对应的各个采样概率;
按照各个采样概率对节点p的其他一阶邻居节点进行采样,得到从节点p采样的下一节点。
6.根据权利要求1所述的方法,其中,所述方法还包括:
针对所添加的各个连接边,通过以下方式之一添加连接边权重:
将各个连接边的权重设定为预定权重;
将相应节点与所述第一节点之间添加连接边之前,所经过的各个连接边的权重的乘积作为所添加的连接边对应的连接边权重。
7.一种更新关系网络的装置,所述关系网络包括多个节点,并通过连接边描述节点之间的关联关系,各个节点分别对应各个实体,各个连接边分别对应有各个连接边权重,所述装置包括:
邻居节点获取单元,配置为针对当前关系网络中的第一节点,确定若干个一阶邻居节点,所述第一节点的一阶邻居节点与所述第一节点通过连接边连接;
采样概率确定单元,配置为基于所述第一节点的若干个一阶邻居节点分别对应的各个连接边权重,确定各个一阶邻居节点分别对应的各个采样概率;
第一采样单元,配置为按照各个采样概率对所述第一节点的一阶邻居节点进行采样,得到第二节点;
第二采样单元,配置为从所述第二节点的一阶邻居节点中采样得到第三节点,从所述第三节点的一阶邻居节点中采样得到第四节点,直至从第k节点的一阶邻居节点中采样得到第k+1节点,k为预先设定的自然数;
更新单元,配置为在所述第一节点与以下节点之间分别添加连接边,从而更新所述当前关系网络:所述第三节点、所述第四节点,直至所述第k+1节点。
8.根据权利要求7所述的装置,其中,所述第一节点的一阶邻居节点包括节点i,节点i对应的采样概率通过以下的一种方式确定:
节点i对应的连接边权重与所述第一节点的各个一阶邻居节点分别对应的连接边权重之和的比值;
节点i对应的连接边权重与所述第一节点的一阶邻居节点数量之比;
节点i对应的连接边权重与所述第一节点所指向的一阶邻居节点数量之比。
9.根据权利要求7所述的装置,其中,所述第一采样单元进一步配置为:
生成预定区间内的随机数,其中,所述预定区间包括分别对应于所述第一节点的各个一阶邻居节点的子区间,各个子区间的长度分别与相应采样概率正相关;
将所述随机数所在的子区间对应的一阶邻居节点采样为所述第二节点。
10.根据权利要求7所述的装置,其中,所述第一采样单元进一步配置为:
随机从多个预定的离散数值中指定第一数值,所述多个预定的离散数值包括,分别与所述第一节点的各个一阶邻居节点对应的至少一个离散数值,单个一阶邻居节点对应的离散数值数量与相应采样概率正相关;
将所述第一数值对应的一阶邻居节点采样为所述第二节点。
11.根据权利要求7所述的装置,其中,所述第二节点、所述第三节点、所述第四节点至所述第k节点中包括节点q和节点t,节点q是在节点t的一阶邻居节点中采样得到的节点;
所述第二采样单元进一步配置为:
针对节点p,确定除节点t之外的其他一阶邻居节点;
基于节点p的其他一阶邻居节点分别对应的各个连接边权重,确定各个其他一阶邻居节点分别对应的各个采样概率;
按照各个采样概率对节点p的其他一阶邻居节点进行采样,得到从节点p采样的下一节点。
12.根据权利要求7所述的装置,其中,所述更新单元还配置为:
针对所添加的各个连接边,通过以下方式之一添加连接边权重:
将各个连接边的权重设定为预定权重;
将相应节点与所述第一节点之间添加连接边之前,所经过的各个连接边的权重的乘积作为所添加的连接边对应的连接边权重。
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-6中任一项的所述的方法。
14.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108787.9A CN111291138B (zh) | 2020-02-21 | 2020-02-21 | 更新关系网络的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108787.9A CN111291138B (zh) | 2020-02-21 | 2020-02-21 | 更新关系网络的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291138A true CN111291138A (zh) | 2020-06-16 |
CN111291138B CN111291138B (zh) | 2023-07-18 |
Family
ID=71029303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010108787.9A Active CN111291138B (zh) | 2020-02-21 | 2020-02-21 | 更新关系网络的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291138B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085172A (zh) * | 2020-09-16 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN113298116A (zh) * | 2021-04-26 | 2021-08-24 | 上海淇玥信息技术有限公司 | 基于注意力权重的图嵌入特征提取方法、装置及电子设备 |
CN113886721A (zh) * | 2021-12-06 | 2022-01-04 | 湖南工商大学 | 个性化兴趣点推荐方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009071783A1 (fr) * | 2007-11-19 | 2009-06-11 | France Telecom | Determination des coordonnees d'un noeud dans un reseau de noeuds |
US20130295915A1 (en) * | 2010-08-08 | 2013-11-07 | Nokia Siemens Networks Oy | Network Nodes and Methods Configured for Updating Neighbor Cell Information in a Radio Communications System Comprising at Least One Radio Access Technology Network |
CN109194707A (zh) * | 2018-07-24 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 分布式图嵌入的方法及装置 |
CN109992700A (zh) * | 2019-01-22 | 2019-07-09 | 阿里巴巴集团控股有限公司 | 获取关系网络图中节点的嵌入向量的方法和装置 |
CN110032603A (zh) * | 2019-01-22 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种对关系网络图中的节点进行聚类的方法及装置 |
US10430464B1 (en) * | 2014-11-03 | 2019-10-01 | Google Llc | Scalable graph propagation for knowledge expansion |
CN112119412A (zh) * | 2018-05-18 | 2020-12-22 | 伯耐沃伦人工智能科技有限公司 | 具有注意力的图神经网络 |
-
2020
- 2020-02-21 CN CN202010108787.9A patent/CN111291138B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009071783A1 (fr) * | 2007-11-19 | 2009-06-11 | France Telecom | Determination des coordonnees d'un noeud dans un reseau de noeuds |
US20130295915A1 (en) * | 2010-08-08 | 2013-11-07 | Nokia Siemens Networks Oy | Network Nodes and Methods Configured for Updating Neighbor Cell Information in a Radio Communications System Comprising at Least One Radio Access Technology Network |
US10430464B1 (en) * | 2014-11-03 | 2019-10-01 | Google Llc | Scalable graph propagation for knowledge expansion |
CN112119412A (zh) * | 2018-05-18 | 2020-12-22 | 伯耐沃伦人工智能科技有限公司 | 具有注意力的图神经网络 |
CN109194707A (zh) * | 2018-07-24 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 分布式图嵌入的方法及装置 |
CN109992700A (zh) * | 2019-01-22 | 2019-07-09 | 阿里巴巴集团控股有限公司 | 获取关系网络图中节点的嵌入向量的方法和装置 |
CN110032603A (zh) * | 2019-01-22 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种对关系网络图中的节点进行聚类的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085172A (zh) * | 2020-09-16 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN112085172B (zh) * | 2020-09-16 | 2022-09-16 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN113298116A (zh) * | 2021-04-26 | 2021-08-24 | 上海淇玥信息技术有限公司 | 基于注意力权重的图嵌入特征提取方法、装置及电子设备 |
CN113298116B (zh) * | 2021-04-26 | 2024-04-02 | 上海淇玥信息技术有限公司 | 基于注意力权重的图嵌入特征提取方法、装置及电子设备 |
CN113886721A (zh) * | 2021-12-06 | 2022-01-04 | 湖南工商大学 | 个性化兴趣点推荐方法、装置、计算机设备及存储介质 |
CN113886721B (zh) * | 2021-12-06 | 2022-02-18 | 湖南工商大学 | 个性化兴趣点推荐方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111291138B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111475637B (zh) | 用于推送知识点的数据处理、训练方法及装置 | |
US20200279001A1 (en) | Systems and methods for adaptive question answering | |
US8126891B2 (en) | Future data event prediction using a generative model | |
CN111291138B (zh) | 更新关系网络的方法及装置 | |
Wei et al. | Measuring temporal patterns in dynamic social networks | |
EP3855320A1 (en) | Systems and methods for adaptive question answering related applications | |
CN113783874A (zh) | 基于安全知识图谱的网络安全态势评估方法及系统 | |
CN117112744B (zh) | 大语言模型的评估方法、装置及电子设备 | |
CN115757804A (zh) | 一种基于多层路径感知的知识图谱外推方法及系统 | |
CN114637911A (zh) | 一种注意力融合感知网络的下一个兴趣点推荐方法 | |
CN115131058A (zh) | 账号识别方法、装置、设备及存储介质 | |
Chen et al. | Prompting or Fine-tuning? A Comparative Study of Large Language Models for Taxonomy Construction | |
CN117194771B (zh) | 一种图模型表征学习的动态知识图谱服务推荐方法 | |
Jain et al. | Controlling federated learning for covertness | |
CN112015890A (zh) | 电影剧本摘要的生成方法和装置 | |
CN116385059A (zh) | 行为数据预测模型的更新方法、装置、设备及存储介质 | |
CN115545960A (zh) | 一种电子信息数据交互系统及方法 | |
CN114925681A (zh) | 知识图谱问答问句实体链接方法、装置、设备及介质 | |
CN114861004A (zh) | 一种社交事件检测方法、装置及系统 | |
CN109902831B (zh) | 业务决策处理方法以及装置 | |
CN113239272A (zh) | 一种网络管控系统的意图预测方法和意图预测装置 | |
CN110895567A (zh) | 一种实体嵌入方法及装置 | |
CN111428118B (zh) | 一种检测事件可靠性的方法及电子设备 | |
ChongYong et al. | Comparison of Scoring Functions on Greedy Search Bayesian Network Learning Algorithms. | |
Wu et al. | Clipping Loops for Sample-Efficient Dialogue Policy Optimisation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |