本申请涉及机器学习领域,具体而言,涉及一种用于数据挖掘的实体关系计算方法、装置及存储介质。
背景技术:
图结构的数据属于非结构化的数据,存在比较难以挖掘和使用的特点。
相关技术中的图结构数据的挖掘方法有pagerank(网页级别)、trustrank(信任指数)、graphembedding(图嵌入)等算法,pagerank算法是谷歌排名运算法则(排名公式)的一部分,是谷歌用于根据网站的外部链接和内部链接的数量和质量来衡量网站的价值/等级/重要性的一种方法。trustrank算法采用人工和机器连接分析相结合的方式,通过人工方式可以先确定一批站点的trustrank值,再通过机器的连接结构分析来确定互联网上其他站点trustrank值,然后以trustrank值的高低来做为网页排名的一个重要依据。
发明人发现,相关技术中图结构数据的挖掘方法主要是基于边上权重固定或预定义权重之后进行计算,无法动态学习到点与点之间的关系权重。
针对相关技术中图结构数据的挖掘方法无法动态学习到实体之间的关系权重的问题,目前尚未提出有效的解决方案。
技术实现要素:
本申请的主要目的在于提供一种用于数据挖掘的实体关系计算方法以及装置、存储介质,以解决相关技术中图结构数据的挖掘方法无法动态学习到实体之间的关系权重问题。
为了实现上述目的,根据本申请的第一方面,提供了一种用于数据挖掘的实体关系计算方法。
根据本申请的用于数据挖掘的实体关系计算方法包括:基于实体之间的关系向量和关系权重构建所述实体之间的关系矩阵;将所述关系矩阵输入预设图传播模型进行训练;通过梯度提升动态更新所述关系权重;将更新后的所述关系权重输入所述预设图传播模型,最终得到所述预设图传播模型的输出结果。
进一步地,将所述关系矩阵输入预设图传播模型进行训练之前还包括:确定用于训练所述预设图传播模型的样本集;按照预设规则对所述样本集进行赋值;将赋值后的所述样本集输入预设图传播模型进行训练。
进一步地,所述预设图传播模型采用如下公式计算:
其中,
进一步地,通过梯度提升动态更新所述关系权重包括:构建auc函数的等价函数w,所述等价函数w采用如下公式计算:
进一步地,所述实体之间的关系矩阵采用如下公式计算:eij=w*xij,其中,eij代表实体i与实体j之间的关系矩阵值,w为关系权重向量,xij为实体i与实体j之间的关系向量;通过梯度提升动态更新所述关系权重还包括:将所述auc函数对所述关系权重向量w中的第p个值求导,求导函数采用如下公式计算:
进一步地,所述求导函数中的
进一步地,所述通过梯度提升动态更新所述关系权重采用如下公式计算:
进一步地,在通过梯度提升动态更新所述关系权重之后还包括:当
为了实现上述目的,根据本申请的第二方面,提供了一种用于数据挖掘的实体关系计算装置。
根据本申请的用于数据挖掘的实体关系计算装置包括:构建模块,用于基于实体之间的关系向量和关系权重构建所述实体之间的关系矩阵;训练模块,用于将所述关系矩阵输入预设图传播模型进行训练;更新模块,用于通过梯度提升动态更新所述关系权重;输出模块,用于将更新后的所述关系权重输入所述预设图传播模型,最终得到所述预设图传播模型的输出结果。
为了实现上述目的,根据本申请的第三方面,提供了一种计算机可读存储介质。
根据本申请的计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现如上任一项所述方法的步骤。
在本申请实施例中,采用基于实体之间的关系向量和关系权重构建所述实体之间的关系矩阵的方式,通过将所述关系矩阵输入预设图传播模型进行训练,并通过梯度提升动态更新所述关系权重,将更新后的所述关系权重输入所述预设图传播模型,最终得到所述预设图传播模型的输出结果,达到了动态更新关系权重的目的,从而实现了精确计算实体之间的关系的技术效果,进而解决了相关技术中图结构数据的挖掘方法由于无法动态学习到实体之间的关系权重造成的实体关系计算不精确的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的用于数据挖掘的实体关系计算方法的流程示意图;
图2是根据本申请第二实施例的用于数据挖掘的实体关系计算方法的流程示意图;
图3是根据本申请第一实施例的用于数据挖掘的实体关系计算装置的组成结构示意图;以及
图4是根据本申请第二实施例的用于数据挖掘的实体关系计算装置的组成结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本发明实施例,提供了一种用于数据挖掘的实体关系计算方法,如图1所示,该方法包括如下的步骤s101至步骤s104:
步骤s101,基于实体之间的关系向量和关系权重构建所述实体之间的关系矩阵。
具体实施时,本申请实施例中的实体可以是用户,也可以是其他实体如设备、城市等,任何具有id的实体都在本申请的保护范围之内,在此不做具体限定。例如当实体为用户时,在人际关系图谱中,每个用户将作为顶点,用户之间的社交关系将作为边。用户之间可以抽象出关系向量及对应的关系权重,通过定义关系向量及关系权重之间的关系构建出用户之间的关系矩阵。
步骤s102,将所述关系矩阵输入预设图传播模型进行训练。
具体实施时,本申请实施例中的预设图传播模型可以是pagerank算法或trustrank算法等,优选地,采用trustrank算法作为本申请的预设图传播模型,将上述基于实体之间的关系向量和关系权重构建得到的实体之间的关系矩阵输入trustrank模型进行训练。
步骤s103,通过梯度提升动态更新所述关系权重。
具体实施时,相关技术中的一些图传播方法,如pagerank、trustrank、graphembedding等都是基于边上权重固定或预定义权重之后,进行关系计算,无法动态学习到点与点之间的关系权重,因此本申请优选采用梯度提升(gradientboosting)的方式对实体之间的关系权重进行动态更新,更加准确地计算实体之间的关系权重。
步骤s104,将更新后的所述关系权重输入所述预设图传播模型,最终得到所述预设图传播模型的输出结果。
具体实施时,将上述通过梯度提升方式动态更新后的关系权重重新输入到预设的图传播模型如trustrank模型中,进而得到trustrank算法最终的输出结果。
作为本申请实施例的一种优选实施方式,如图2所示,步骤s102将所述关系矩阵输入预设图传播模型进行训练之前还包括如下的步骤s201至步骤s203:
步骤s201,确定用于训练所述预设图传播模型的样本集。
具体实施时,本申请实施例可以应用到不同场景中,例如金融领域用户借款逾期风险的预测,基于现有的金融风险标签确定用于训练trustrank模型的样本集,优选地,可以将有逾期风险的用户按一定比例分为基础数据集、训练数据集以及测试数据集。
步骤s202,按照预设规则对所述样本集进行赋值。
具体实施时,对上述样本集中的不同数据集按照预设规则进行赋值,所述预设规则可以是将基础集风险权重赋值为1,训练集风险权重赋值为0,从而得到所有用户的初始风险分数向量。
步骤s203,将赋值后的所述样本集输入预设图传播模型进行训练。
具体实施时,基于用户之间的关系向量与关系权重构建的关系矩阵,将赋值后的上述样本集输入trustrank算法中进行t轮迭代,其中上述关系权重进行随机初始化,进而计算得到所有用户的风险评分。
作为本申请实施例的一种优选实施方式,所述预设图传播模型采用如下公式计算:
其中,
具体实施时,采用trustrank算法作为本申请的预设图传播模型,用来计算第t+1轮迭代后各个实体的评分向量,上述公式是trustrank算法的基本计算公式,本领域技术人员能够知晓其含义,在此不做赘述。
作为本申请实施例的一种优选实施方式,通过梯度提升动态更新所述关系权重包括如下的步骤s301至步骤s303:
步骤s301,构建auc函数的等价函数w,所述等价函数w采用如下公式计算:
其中,
其中,所述样本集包括正样本和负样本,xi为所述正样本的图传播模型评分,m为正样本的数量,yj为所述负样本的图传播模型评分,n为负样本的数量。
具体实施时,通过auc目标函数实现对关系权重的动态更新,由于auc函数无法直接计算,故使用auc的等价函数wilcoxon-mann-whitneystatistic(简称“w”)表示,上述公式是wilcoxon-mann-whitney的基本计算公式,本领域技术人员能够知晓其含义,在此不做赘述。
步骤s302,将所述分段函数i替换为s型函数,所述s型函数采用如下公式计算:
具体实施时,由于上述等价函数w中的函数i为分段函数不可导,优选地,将上述分段函数i替换为s型函数(sigmoidfunction),s型函数也称为s型生长曲线,在信息科学中,由于其单增以及反函数单增等性质,s型函数常被用作神经网络的阈值函数,将变量映射到0-1之间。上述公式是s型函数的基本计算公式,本领域技术人员能够知晓其含义,在此不做赘述。
步骤s303,根据所述等价函数w和所述s型函数推导得出所述auc函数,所述auc函数采用如下公式计算:
具体实施时,将auc函数和上述等价函数w进行等价计算,并将上述等价函数w中的分段函数i替换为s型函数即推导出了auc函数的计算公式。
作为本申请实施例的一种优选实施方式,所述实体之间的关系矩阵采用如下公式计算:
eij=w*xij,
其中,eij代表实体i与实体j之间的关系矩阵值,w为关系权重向量,xij为实体i与实体j之间的关系向量。
具体实施时,实体之间的关系权重与关系向量的计算可以采用w*xij的线性关系进行定义,但不限于这种线性定义方式,任何其他可进行求导的计算方式均涵盖本申请的保护范围内,在此不做具体限定。
优选地,通过梯度提升动态更新所述关系权重还包括:将所述auc函数对所述关系权重向量w中的第p个值求导,求导函数采用如下公式计算:
其中,所述求导函数中的
其中,xki(p)代表第k个实体和第i个实体之间的关系向量x的第p个值,
xkj(p)代表第k个实体和第j个实体之间的关系向量x的第p个值。
具体实施时,在通过上述auc函数的等价函数w和s型函数得到auc函数的计算公式后,通过将上述auc函数对所述关系权重向量w中的第p个值进行求导,以考察任一用户的任一关系权重向量的变化量对auc函数值变化量的影响大小。
优选地,根据所述求导函数的求导结果对所述关系权重向量w进行动态更新,具体地可以采用如下公式计算:
其中,wp'代表更新后的关系权重,η为大于0的常数。
具体实施时,基于上述auc函数对关系权重向量w中的第p个值求导的结果,将求导结果
作为本申请实施例的一种优选实施方式,在通过梯度提升动态更新所述关系权重之后还包括如下的步骤s401至步骤s403:
步骤s401,当
具体实施时,所述预设阈值可以根据实际情况进行灵活设置,例如当
步骤s402,将停止更新后的所述关系权重wp'输入所述预设图传播模型。
步骤s403,根据所述预设图传播模型的输出结果得到所述实体的评分向量。
具体实施时,将最终得到的更新后的所述关系权重wp'再次输入trustrank模型进行计算以得到各个用户的风险评分向量。
从以上的描述中,可以看出,本发明实现了如下技术效果:采用基于实体之间的关系向量和关系权重构建所述实体之间的关系矩阵的方式,通过将所述关系矩阵输入预设图传播模型进行训练,并通过梯度提升动态更新所述关系权重,将更新后的所述关系权重输入所述预设图传播模型,最终得到所述预设图传播模型的输出结果,达到了动态更新关系权重的目的,从而实现了精确计算实体之间关系的技术效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,还提供了一种用于实施上述用于数据挖掘的实体关系计算方法的计算装置,如图3所示,该装置包括:构建模块1、训练模块2、更新模块3及输出模块4。
本申请实施例的构建模块1,用于基于实体之间的关系向量和关系权重构建所述实体之间的关系矩阵。
具体实施时,本申请实施例中的实体可以是用户,也可以是其他实体如设备、城市等,任何具有id的实体都在本申请的保护范围之内,在此不做具体限定。例如当实体为用户时,在人际关系图谱中,每个用户将作为顶点,用户之间的社交关系将作为边。用户之间可以抽象出关系向量及对应的关系权重,通过构建模块1定义关系向量及关系权重之间的关系构建出用户之间的关系矩阵。
本申请实施例的训练模块2,用于将所述关系矩阵输入预设图传播模型进行训练。
具体实施时,本申请实施例中的预设图传播模型可以是pagerank算法或trustrank算法等,优选地,采用trustrank算法作为本申请的预设图传播模型,通过训练模块2将上述基于实体之间的关系向量和关系权重构建得到的实体之间的关系矩阵输入trustrank模型进行训练。
本申请实施例的更新模块3,用于通过梯度提升动态更新所述关系权重。
具体实施时,相关技术中的一些图传播方法,如pagerank、trustrank、graphembedding等都是基于边上权重固定或预定义权重之后,进行关系计算,无法动态学习到点与点之间的关系权重,因此本申请优选通过更新模块3采用梯度提升(gradientboosting)的方式对实体之间的关系权重进行动态更新,更加准确地计算实体之间的关系权重。
本申请实施例的输出模块4,用于将更新后的所述关系权重输入所述预设图传播模型,最终得到所述预设图传播模型的输出结果。
具体实施时,将上述通过梯度提升方式动态更新后的关系权重重新输入到预设的图传播模型如trustrank模型中,进而通过输出模块4得到trustrank算法最终的输出结果。
作为本申请实施例的一种优选实施方式,如图4所示,该装置还包括:确定模块5、赋值模块6及第一输入模块7。
本申请实施例的确定模块5,用于训练所述预设图传播模型的样本集,优选地,所述预设图传播模型采用如下公式计算:
其中,
具体实施时,本申请实施例可以应用到不同场景中,例如金融领域用户借款逾期风险的预测,基于现有的金融风险标签确定用于训练trustrank模型的样本集,优选地,可以通过确定模块5将有逾期风险的用户按一定比例分为基础数据集、训练数据集以及测试数据集。
本申请实施例的赋值模块6,按照预设规则对所述样本集进行赋值。
具体实施时,通过赋值模块6对上述样本集中的不同数据集按照预设规则进行赋值,所述预设规则可以是将基础集风险权重赋值为1,训练集风险权重赋值为0,从而得到所有用户的初始风险分数向量。
本申请实施例的输入模块7,将赋值后的所述样本集输入预设图传播模型进行训练。
具体实施时,基于用户之间的关系向量与关系权重构建的关系矩阵,通过输入模块7将赋值后的上述样本集输入trustrank算法中进行t轮迭代,其中上述关系权重进行随机初始化,进而计算得到所有用户的风险评分。
作为本申请实施例的一种优选实施方式,所述更新模块3包括:构建单元、替换单元及推导单元。
本申请实施例的构建单元,用于构建auc函数的等价函数w,所述等价函数w采用如下公式计算:
其中,
其中,所述样本集包括正样本和负样本,xi为所述正样本的图传播模型评分,m为正样本的数量,yj为所述负样本的图传播模型评分,n为负样本的数量。
具体实施时,通过auc目标函数实现对关系权重的动态更新,由于auc函数无法直接计算,故使用auc的等价函数wilcoxon-mann-whitneystatistic(简称“w”)表示。
由于i为分段函数不可导,本申请实施例的替换单元,用于将所述分段函数i替换为s型函数,所述s型函数采用如下公式计算:
具体实施时,由于上述等价函数w中的函数i为分段函数不可导,优选地,通过替换单元将上述分段函数i替换为s型函数(sigmoidfunction)。
本申请实施例的推导单元,用于根据所述等价函数w和所述s型函数推导得出所述auc函数,所述auc函数采用如下公式计算:
具体实施时,通过推导单元将auc函数和上述等价函数w进行等价计算,并将上述等价函数w中的分段函数i替换为s型函数即推导出了auc函数的计算公式。
作为本申请实施例的一种优选实施方式,所述实体之间的关系矩阵采用如下公式计算:
eij=w*xij,
其中,eij代表实体i与实体j之间的关系矩阵值,w为关系权重向量,xij为实体i与实体j之间的关系向量。
具体实施时,实体之间的关系权重与关系向量的计算可以采用w*xij的线性关系进行定义,但不限于这种线性定义方式,任何其他可进行求导的计算方式均涵盖本申请的保护范围内,在此不做具体限定。
所述更新模块3还包括:求导单元和更新单元。
本申请实施例的求导单元,用于将所述auc函数对所述关系权重向量w中的第p个值求导,求导函数采用如下公式计算:
其中,所述求导函数中的
其中,xki(p)代表第k个实体和第i个实体之间的关系向量x的第p个值,xkj(p)代表第k个实体和第j个实体之间的关系向量x的第p个值。
具体实施时,在通过上述auc函数的等价函数w和s型函数得到auc函数的计算公式后,通过求导单元将上述auc函数对所述关系权重向量w中的第p个值进行求导,以考察任一用户的任一关系权重向量的变化量对auc函数值变化量的影响大小。
本申请实施例的更新单元,用于根据所述求导函数的求导结果对所述关系权重向量w进行动态更新,优选地,采用如下公式计算:
其中,wp'代表更新后的关系权重,η为大于0的常数。
具体实施时,基于上述auc函数对关系权重向量w中的第p个值求导的结果,通过更新单元将求导结果
作为本申请实施例的一种优选实施方式,所述装置还包括:判断模块、第二输入模块以及评分模块。
本申请实施例的判断模块,用于当
具体实施时,所述预设阈值可以根据实际情况进行灵活设置,例如当判断模块判断出
本申请实施例的第二输入模块,用于将停止更新后的所述关系权重wp'输入所述预设图传播模型。本申请实施例的评分模块,用于根据所述预设图传播模型的输出结果得到所述实体的评分向量。
具体实施时,通过第二输入模块将最终得到的更新后的所述关系权重wp'再次输入trustrank模型进行计算,最后通过评分模块得到各个用户的风险评分向量。
根据本申请实施例,还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现如上任一项所述用于数据挖掘的实体关系计算方法的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。