用户风险预测方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种用户风险预测方法、装置、电子设备及存储介质。
背景技术
用户风险识别,又称风险预测或逾期预测,是指对用户在未来时刻的还款能力进行预测。
当前用户风险识别大多采用基于逻辑回归(Logistics Regression,LR)、随机森林(Random Forest,RF)、支持向量机(Support Vector Machine,SVM)等机器学习方法,或者是基于深度神经网络的预测方法。
但是,无论是机器学习方法还是基于深度神经网络的预测方法,均是基于用户自身的信息来预测用户的风险,其预测不准确。
发明内容
本申请实施例提供一种用户风险预测方法、装置、电子设备及存储介质,用于准确预测用户的逾期风险。
第一方面,本申请实施例提供一种用户风险预测方法,包括:
获取待预测的第一用户的用户信息;
根据所述第一用户的用户信息对已有的第一异构图进行更改,获得第二异构图,所述第二异构图包括所述第一用户对应的第一节点,以及第二用户对应的第二节点,所述第二用户与所述第一用户具有预设关系;
将所述第二异构图输入风险预测模型中,对所述第一用户进行风险预测,所述风险预测模型为使用所述第一异构图训练后的模型。
在第一方面的一种可能的实现方式中,所述根据所述第一用户的用户信息对第一异构图进行更改,包括:
在检查到所述第一异构图中不存在所述第一节点时,根据所述第一用户的用户信息,在所述第一异构图中创建所述第一节点;
或者,
在检查到所述第一异构图中存在所述第一节点时,根据所述第一用户的用户信息,更新所述第一节点的信息。
在第一方面的一种可能的实现方式中,还包括:
获取训练数据,并使用所述训练数据构建所述第一异构图;
获取预设的M种元路径,并在所述第一异构图中,获取中心用户节点关于每一种元路径的邻居节点集合,所述M为大于或等于1的正整数,所述中心用户节点为所述第一异构图中的任意一个用户节点;
根据每一种元路径的邻居节点集合中各邻居节点的特征信息,对所述风险预测模型进行训练。
在第一方面的一种可能的实现方式中,所述根据每一种元路径的邻居节点集合中各邻居节点的特征信息,对所述风险预测模型进行训练,包括:
根据每一种元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定每一种元路径对所述中心用户节点的影响值;
根据每一种元路径对所述中心用户节点的影响值,确定所述中心用户节点的风险预测值;
根据所述中心用户节点的风险预测值和风险真值之间的偏差,对所述风险预测模型中的参数进行调整。
在第一方面的一种可能的实现方式中,所述根据每一种元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定每一种元路径对所述中心用户节点的影响值,包括:
针对每一种元路径,根据该元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值;
根据该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值,确定该邻居节点集合对所述中心用户节点的影响值。
在第一方面的一种可能的实现方式中,所述根据该元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值,包括:
根据该邻居节点集合中每一个邻居节点的特征信息,确定该邻居节点集合中每一个邻居节点的第一特征向量;
根据所述中心用户节点的特征信息,确定所述中心用户节点的第一特征向量;
根据该邻居节点集合中每一个邻居节点的第一特征向量和所述中心用户节点的第一特征向量,确定该邻居节点集合中每一个邻居节点对所述中心用户节点的影响值。
在第一方面的一种可能的实现方式中,所述根据该邻居节点集合中每一个邻居节点的特征信息,确定该邻居节点集合中每一个邻居节点的第一特征向量,包括:
针对该邻居节点集合中每一个邻居节点,根据所述邻居节点的特征信息确定所述邻居节点的数值组合特征和文本属性特征;
对所述邻居节点的数值组合特征和文本属性特征进行融合,确定所述邻居节点的第一特性向量;和/或,
所述根据所述中心用户节点的特征信息,确定所述中心用户节点的第一特征向量,包括:
根据所述中心用户节点的特征信息,确定所述中心用户节点的数值组合特征和文本属性特征;
对所述中心用户节点的数值组合特征和文本属性特征进行融合,确定所述中心用户节点的第一特性向量。
第二方面,本申请实施例提供一种用户风险预测装置,包括:
第一获取模块,用于获取待预测的第一用户的用户信息;
更改模块,用于根据所述第一用户的用户信息对已有的第一异构图进行更改,获得第二异构图,所述第二异构图包括所述第一用户对应的第一节点,以及第二用户对应的第二节点,所述第二用户与所述第一用户具有预设关系;
预测模块,用于将所述第二异构图输入风险预测模型中,对所述第一用户进行风险预测,所述风险预测模型为使用所述第一异构图训练后的模型。
在第二方面的一种可能的实现方式中,所述更改模块,具体用于在检查到所述第一异构图中不存在所述第一节点时,根据所述第一用户的用户信息,在所述第一异构图中创建所述第一节点;或者,在检查到所述第一异构图中存在所述第一节点时,根据所述第一用户的用户信息,更新所述第一节点的信息。
在第二方面的一种可能的实现方式中,还装置包括:
第二获取模块,用于获取训练数据,并使用所述训练数据构建所述第一异构图;
第三获取模块,用于获取预设的M种元路径,并在所述第一异构图中,获取中心用户节点关于每一种元路径的邻居节点集合,所述M为大于或等于1的正整数,所述中心用户节点为所述第一异构图中的任意一个用户节点;
训练模块,用于根据每一种元路径的邻居节点集合中各邻居节点的特征信息,对所述风险预测模型进行训练。
在第二方面的一种可能的实现方式中,所述训练模块包括确定单元和调整单元;
所述确定单元,用于根据每一种元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定每一种元路径对所述中心用户节点的影响值;并根据每一种元路径对所述中心用户节点的影响值,确定所述中心用户节点的风险预测值;
所述调整单元,用于根据所述中心用户节点的风险预测值和风险真值之间的偏差,对所述风险预测模型中的参数进行调整。
在第二方面的一种可能的实现方式中,所述确定单元,具体用于针对每一种元路径,根据该元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值;根据该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值,确定该邻居节点集合对所述中心用户节点的影响值。
在第二方面的一种可能的实现方式中,所述确定单元,具体用于根据该邻居节点集合中每一个邻居节点的特征信息,确定该邻居节点集合中每一个邻居节点的第一特征向量;根据所述中心用户节点的特征信息,确定所述中心用户节点的第一特征向量;根据该邻居节点集合中每一个邻居节点的第一特征向量和所述中心用户节点的第一特征向量,确定该邻居节点集合中每一个邻居节点对所述中心用户节点的影响值。
在第二方面的一种可能的实现方式中,所述确定单元,具体用于针对该邻居节点集合中每一个邻居节点,根据所述邻居节点的特征信息确定所述邻居节点的数值组合特征和文本属性特征;对所述邻居节点的数值组合特征和文本属性特征进行融合,确定所述邻居节点的第一特性向量;和/或,
具体用于根据所述中心用户节点的特征信息,确定所述中心用户节点的数值组合特征和文本属性特征;对所述中心用户节点的数值组合特征和文本属性特征进行融合,确定所述中心用户节点的第一特性向量。
第三方面,本申请实施例还提供一种电子设备,包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,以实现上述第一方面任一项所述的用户风险预测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括计算机指令,当所述指令被计算机执行时,使得所述计算机实现如第一方面任一项所述的用户风险预测方法。
第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,计算机的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得计算机实施第一方面任一项所述的用户风险预测方法。
本申请实施例提供的用户风险预测方法、装置、电子设备及存储介质,在对第一用户进行风险预测时,首先获取该第一用户的用户信息,并根据该第一用户的用户信息对已有的第一异构图进行更改,获得第二异构图,将该第二异构图输入训练好的风险预测模型中,对第一用户进行风险预测。本申请实施例,由于风险预测模型是基于丰富邻居节点的特征信息进行训练的,使得风险预测模型不仅学习待预测用户的信息还学习该用户的邻居信息,这样使用该风险预测模型预测第一用户的风险时考虑第一用户的邻居对第一用户的影响,进而提高了第一用户风险预测的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例涉及的一种应用场景示意图;
图2为本申请实施例涉及的风险预测模型的训练流程示意图;
图3为本申请实施例涉及的一种异构图的示意图;
图4为本申请实施例涉及各节点的关系示意图;
图5为本申请实施例涉及的第一异构图的一种示例图;
图6为本申请实施例涉及的风险预测模型的训练流程示意图;
图7为本申请实施例涉及的采用两层Attention机制的确定影响值的示意图;
图8为本申请实施例涉及的风险预测模型的训练流程示意图;
图9为本申请实施例确定第一异构图中节点的第一特征向量的示意图;
图10为本申请实施例提供的用户风险预测方法流程示意图;
图11为本申请实施例提供的一种用户风险预测装置的一种结构示意图;
图12为本申请实施例提供的一种用户风险预测装置的另一种结构示意图;
图13为本申请实施例涉及的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应理解,在本发明实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
信贷业务中,需要准确预测用户的逾期风险,以避免坏账,对金融机构造成损失,因此,在借贷前,需要对用户的风险进行预测。但是,目前的用户风险预测方法,均是基于用户自身的信息来预测的,存在预测不准确的问题。
为了解决该技术问题,本申请实施例提出一种用户风险预测方法,在预测第一用户的风险时,考虑了与第一用户具有预设关系的第二用户的风险,进而实现对第一用户的风险的准确预测。
为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
异构图:通常包含多个类型的边或多个类型的顶点的图,形式化定义为图中的边类型数量+图中的顶点类型数量>2的图,比如购物图中含有用户和物品两种类型的顶点。
元路径:根据复合关系产生的路径,用户-关系1-用户-关系2-用户即为一条元路径。
逻辑回归(Logistics Regression,LR):广义的线性回归方法,一般用于分类任务,如判断用户是不是逾期的分类任务。
随机森林(Random Forest,RF):是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定,即多棵树投票,获得票数最多的类别为最终类别。
支持向量机(Support Vector Machine,SVM):对数据进行二分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面。
深度学习:深度学习是学习样本数据的内在规律和表示层次,它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习通常指利用多层次的网络结构进行预测的方法。
BP(Back Propagation)神经网络、卷积神经网络:是深度学习神经网络的两种具体结构。
WIFI:无线网络。
Skip-gram:是用上下文来预测中心词向量的方法,比如输入一句话:“我爱中国”,skip-gram生成“爱”的表示时,通过“我”和“中国”的上下文预测“爱”。
LSTM:长短期记忆网络(Long Short-Term Memory,LSTM)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。
图1为本申请实施例涉及的一种应用场景示意图,包括:用户设备101、数据采集设备102、训练设备103、执行设备104、数据库105和内容库106。
其中,数据采集设备102用于从内容库106中读取训练数据,并将读取的训练数据存储至数据库105中。
用户设备101用于对数据库105中的训练数据进行标注操作。
训练设备103基于数据库105中维护的训练数据,对风险预测模型进行训练,使得训练后的风险预测模型可以准确预测出用户的风险。训练设备103得到的风险预测模型可以应用到不同的系统或设备中。
在附图1中,执行设备104配置有I/O接口107,与外部设备进行数据交互。比如通过I/O接口接收用户设备101发送的待预测的第一用户的用户信息。执行设备104中的计算模块109使用训练好的风险预测模型对输入的第一用户的用户信息进行处理,输出第一用户的风险预测值,并通过I/O接口将第一用户的风险预测值发送至用户设备101。
值得注意的,附图1仅是本申请实施例提供的一种应用场景的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。在一些实施例中,上述数据采集设备102与用户设备101、训练设备103和执行设备104可以为同一个设备。上述数据库105可以分布在一个服务器上也可以分布在多个服务器上,上述的内容库106可以分布在一个服务器上也可以分布在多个服务器上。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
首先对风险预测模型的训练过程进行详细描述。
图2为本申请实施例涉及的风险预测模型的训练流程示意图,如图2所示,风险预测模型的训练过程包括:
S201、获取训练数据,并使用训练数据构建第一异构图。
如图1所示,内容库中包括用户的基本信息表、用户存款相关信息表、用户贷款相关信息表、用户信用卡相关信息、用户上网信息表等,对这些信息表进行关联后,获得预设数量条(例如十万条)用户信息数据。
可选的,从获取的用户信息数据中可以剔除掉隐私数据和无效数据,构成训练数据。
其中训练数据包括用户的相关字段的信息,例如用户的性别、用户的住宅小区、用户的公司名称、用户的职业、用户的收入、用户的年龄、用户存款余额、贷款总额、证件号码、经常链接的WIFI名称、经常浏览的网页等相关字段信息。需要说明的是,上述相关字段可以根据实际情况自行设定。
由于原始的训练数据大多是非结构数据,需要从非结构数据中抽取实体和关系,以及对应的特征信息。
其中,需要提取的实体类型可以进行设定。例如,设定待提取的实体类型为用户、小区、公司、WIFI和网页,这样,如图3所示,针对训练数据中每条用户信息,提取用户信息中的各实体,每个实体构成异构图中的一个节点,根据各实体之间的关系,连接成如图3右侧所述的异构图。需要说明的是,图3示出了异构图的一个示例,其中包括的实体个数较少。本申请实施例的第一异构图可以理解包括由图3右侧所述的多个小的异构图连接而成。
不同的实体对应的特征信息可以不同,例如,用户实体的特征信息可以包括用户的职业、用户的收入、用户的年龄、用户存款余额、贷款总额、证件号码等,公司实体的特征信息可以包括公司的地址、公司的性质等,小区实体的特征信息可以包括小区地址、小区的大小、小区的房价等,网页实体的特征信息可以包括网页的网址、网络的浏览量等,WIFI实体的特征信息可以包括WIFI名称、WIFI的性质(例如是家庭WIFI,还是公共场所WIFI)等。
需要说明的是,用户实体的特征信息可以包括文本信息(例如职业、性别等)和数值信息(例如年龄、收入等)。
由于上述抽取的实体或实体的特征信息可能存在重复或缺失等情况,需要对实体或特征进行规范化处理。
不同的用户实体之间具有预设关系,例如,如图4所示,用户1和用户2使用同一个WIFI,用户2与用户3是同一个公司的同事,用户1和用户4是一个公司的同事,用户4和用户5住在同一个小区,用户1和用户6浏览同一个网页,用户6和用户7链接同一个WIFI,这样根据各用户实体之间的关系,对各实体进行连接,形成图5所示的第一异构图,即上述每一个实体构成第一异构图中的一个节点。需要说明的是,图5只是第一异构图的一种示例,本申请实施例涉及的第一异构图不局限于图5。可选的,将具有预设关系的用户可以称为邻居用户,例如,用户4是用户5的邻居用户,用户1是用户4的邻居用户。
可选的,在上述第一异构图的构建过程中,可以过滤低质量的实体,尽可能避免噪声实体的引入。
S202、获取预设的M种元路径,并在第一异构图中,获取中心用户节点关于每一种元路径的邻居节点集合。
其中,M为大于或等于1的正整数,中心用户节点为第一异构图中的任意一个用户节点,用户节点为用户实体在异构图中对应的节点。
本申请实施例对元路径的类型不做限制,具体根据实际需要进行设定。
示例性的,元路径:用户-公司-用户,表示用户在相同公司。
示例性的,元路径:用户-WIFI-用户,表示用户链接了相同的WIFI。
示例性的,元路径:用户-公司-用户-WIFI-用户,这样可以找到间接的邻居,即高阶邻居。
可选的,为了提高训练速度,则还需要设定每一种元路径所产生的路径个数N,以及路径长度L,其中N为大于等于1的正整数。
这样,根据上述各种不同类型的元路径,在第一异构图中进行游走,可以获得每一种元路径对应的邻居节点集合。举例说明,假设中心用户节点为第一异构图中的用户节点1,元路径为:用户-公司-用户,在第一异构图中游走可以产生N条路径,例如得到路径1:用户1-公司1-用户2,表示用户节点2是用户节点1的邻居节点,以及路径2:用户1-公司1-用户2-公司2-用户3,表示用户节点2和用户节点3均为用户节点1的邻居节点。依次类推,可以获得用户节点1关于元路径:用户-公司-用户的邻居节点集合为{用户节点2,用户节点3…}。
参照上述方法,可以获得中心用户节点关于每一种元路径的邻居节点集合。
需要说明的是,本申请实施例可以将第一异构图中的每一个用户节点作为中心用户节点,参照上述方法可以获得第一异构图中每一个用户节点的邻居节点集合。
本申请实施例通过设置多种类型的元路径,能够从第一异构图中获取更丰富的邻居信息,使用这些邻居信息对风险预测模型进行训练,使得风险预测模型学习丰富的邻居信息,这样在后期使用训练好的风险预测模型进行用户风险预测时,可以提高预测的准确性。
S203、根据每一种元路径的邻居节点集合中各邻居节点的特征信息,对风险预测模型进行训练。
需要说明的是,本实施例中所述的节点的特征信息可以理解为该节点对应的实体的特征信息。
现有技术是基于用户的特征信息对风险预测模型进行训练,训练过程中忽视了用户的邻居带来的影响,比如当一个用户周围存在大量逾期用户时,这个用户的逾期风险可能非常高。而本申请实施例,使用邻居节点的特征信息,对风险预测模型进行训练,进而使得风险预测模型不仅对中心用户的信息进行学习,还对邻居的信息进行学习,这样使用训练后的风险预测模型进行风险预测时,可以提高风险预测的准确性。
另外,现有技术对用户的预测往往是依赖于用户之前的交易信息,当用户为新用户,其交易信息较少或者没有交易信息时,现有技术无法准确预测该用户的逾期风险。但是,本申请实施例,使用用户的邻居信息对模型进行训练,当用户的交易信息缺失时,仍然可以根据模型学习到的邻居信息来准确预测该用户的逾期风险。
在一些实施例中,本申请实施例可以使用已有的模型训练方法,根据不同的邻居节点集合中各邻居节点的特征信息,对风险预测模型进行训练。
在一些实施例中,本申请实施例可以使用已有的模型训练方法,根据不同的邻居节点集合中各邻居节点的特征信息和中心用户节点的特征信息,对风险预测模型进行训练。
在一些实施例中,如图6所示,上述S203可以包括如下步骤S2031至S2033:
S2031、根据每一种元路径的邻居节点集合中每一个邻居节点的特征信息和中心用户节点的特征信息,确定每一种元路径对中心用户节点的影响值。
同类型元路径产生的邻居具有相似特征,不同类型的元路径产生的邻居具有特征。
如图7所示,三种类型元路径产生了三组邻居节点集合,例如,元路径类型1产生的邻居节点集合{n11,n12,…,n1T},元路径类型2产生的邻居节点集合{n21,n22,…,n2T},元路径类型3产生的邻居节点集合{n31,n32,…,n3T},每个邻居节点集合均包括T个邻居节点。不同类型邻居节点集合对中心用户节点(即un)产生的影响具有差异,例如,同一公司的邻居节点集合和统一小区的邻居节点集合可能对中心用户节点的影响也是不同的。因此,本申请实施例根据每一种元路径的邻居节点集合中每一个邻居节点的特征信息和中心用户节点的特征信息,确定每一种元路径对中心用户节点的影响值。
在一些实施例中,针对每一种元路径,根据该元路径的邻居节点集合中各邻居节点的特征信息,确定邻居节点集合的特征信息,例如,将邻居节点集合中各邻居节点的特征信息进行相加或相乘等操作,获得该邻居节点集合的特征信息。接着,根据该元路径的邻居节点集合的特征信息与中心用户节点的特征信息,确定该元路径对中心用户节点的影响值,例如,确定邻居节点集合的特征信息与中心用户节点的特征信息的相似度,将该相似度确定为该元路径对中心用户节点的影响值。
在一些实施例中,如图8所示,上述S2031可以包括如下步骤:
S20311、针对每一种元路径,根据该元路径的邻居节点集合中每一个邻居节点的特征信息和中心用户节点的特征信息,确定该元路径的邻居节点集合中每一个邻居节点对中心用户节点的影响值。
继续参照图7所示,同种类型邻居节点对中心用户节点的影响有所差异,比如都是同一个公司的邻居,但可能熟悉程度不同。
需要说明的是,本步骤中计算每一种元路径对中心用户节点的影响值的方式一致,因此,以一种元路径为例进行说明。
具体是,该类型的元路径对应一个邻居节点集合,该邻居节点集合包括多个邻居节点,每个邻居节点具有特征信息,针对每个邻居节点,根据该邻居节点的特征信息和中心用户节点的特征信息,确定该邻居节点对中心用户节点的影响值,例如,将邻居节点的特征信息与中心用户节点的特征信息进行比对,计算邻居节点的特征信息与中心用户节点的特征信息的相似度,将该相似度作为该邻居节点对中心用户节点的影响值。
可选的,邻居节点和中心用户节点的特征信息均包括多个具体特征,例如年龄、性别、职业等。计算邻居节点的特征信息与中心用户节点的特征信息的相似度,可以是计算两者的具体特征之间的相似度,例如,邻居节点的性别特征为男,中心用户节点的性别特征为女,则两者的性别特征的相似度为0,再例如,邻居节点的年龄特征为30岁,中心用户节点的年龄特征也为30岁,则两者的年龄特征的相似度为1,以此类推,可以计算出两者的每个具体特征的相似度,进而得到一个多维向量,将该向量作为该邻居节点对中心用户节点的影响值。
可选的,为了便于特性信息之间的比对,还可以将特性信息进行数字表示,例如,将职业进行标号,可选的职业越相似,其标号越相近等,例如表1所示:
表1
将上述的特征信息中的各特征用上述表1中的数值进行表示后,可以简化计算邻居节点对中心用户节点的影响值的过程。需要说明的是,上述表1只是一种示例,本申请实施例涉及的将特征数值表示不局限于表1。
在一些实施例中,上述S20311可以包括如下步骤A1至步骤A3:
步骤A1、根据该邻居节点集合中每一个邻居节点的特征信息,确定该邻居节点集合中每一个邻居节点的第一特征向量。
在一些实施例中,由上述表1可知,邻居节点的特征信息可以转换为数字表示,这样可以将邻居节点的特征信息作为该邻居节点的第一特性向量,或者,对邻居节点的特征信息进行归一化等处理,将处理后的特征信息作为该邻居节点的第一特征向量。
在一些实施例中,上述步骤A1包括如下步骤A11和步骤A12:
步骤A11、根据邻居节点的特征信息确定邻居节点的数值组合特征和文本属性特征;
步骤A12、对邻居节点的数值组合特征和文本属性特征进行融合,确定邻居节点的第一特性向量。
具体的,邻居节点的特征信息包括数值信息和文本信息,对邻居节点的数值信息进行学习,获得邻居节点的数值组合特征,对邻居节点的文本信息进行学习,获得邻居节点的文本属性特征。
在一种示例中,将第一异构图输入数值组合特征获取模块中,该模块对邻居节点的数值信息进行数值特征表示学习,获得邻居节点的数值组合特征。例如图9所示,该模块可以包括DNN模型,该DNN是包含多个隐含层结构的深度神经网络,每一层之间是全连接的。示例性的,如图9所示的DNN网络,这个DNN网络包含了两层结构,两层之间的神经元是全连接的,即第一层中的第一个神经元和第二层中的所有神经元都有连接。使用深度学习网络结构对数值特征进行学习,深层网络结构能够实现对不同数值特征的组合,使用深层网络结构组合减少了人工特征组合的工作量,比如性别+年龄组合,可以生成男性_30岁的数值组合特征。
可选的,深层网络结构对输入数据进行随机删除,从而增强模型的泛化能力,对缺失一个或几个特征的样本仍能够预测,即对于新用户没有用户的交易信息时,可以通过小区名称、公司名称等预测。
在另一种示例中,还可以使用其他DNN衍生模型对数值特征进行学习,可选的,还可以增加FM方式进行特征组合后再进行DNN学习。
在一些实施例中,将第一异构图输入文本属性特征获取模块中,该模块对邻居节点的文本信息进行文本特征表示学习,获得邻居节点的文本属性特征。可选的,如图9所示,该文本属性特征获取模块可以包括BiLSTM模型。其中,BiLSTM为一种LSTM模型,而LSTM是循环神经网络模型,是深度神经网络的一种,相对DNN等模型能够学习文本的顺序特征,即一句话的顺序信息,如“我是中国人”,“是”在“我”后面这样的顺序信息。BiLSTM在包含了正向和反向的LSTM结构,既能学习语句的正向的语句顺序,也能学习反向顺序,如图9中,使用了两层的BiLSTM对公司地址和小区名称等文本信息进行学习。
可选的,还可以使用Bert模型,以及Bert衍生模型,对文本信息进行学习,获得文本属性特征。
根据上述方法获得邻居节点的数值组合特征和文本属性特征,对邻居节点的数值组合特征和文本属性特征进行融合,确定邻居节点的第一特性向量。其中对邻居节点的数值组合特征和文本属性特征进行融合的方式包括但不限于如下几种:
方式一,拼接法,即对邻居节点的数值组合特征和文本属性特征进行直接拼接操作,得到第一特性向量,例如数值组合特征为维度为10的向量C1,文本属性特征为维度为8的向量C2,将向量C1和向量C2进行拼接,得到向量C={C1,C2}或C={C2,C1},向量C的维度为18,该向量C为该邻居节点的第一特征向量。
方式二,叠加法,该方法需要数值组合特征和文本属性特征的维度相同,例如数值组合特征为维度为10的向量C3,文本属性特征为维度为10的向量C4,将向量C3和向量C4中对应位进行相加,得到向量C,向量C的维度为10,该向量C为邻居节点的第一特征向量。
参照上述方法,可以确定出每一个邻居集合中每一个邻居节点的第一特征向量。
步骤A2、根据中心用户节点的特征信息,确定中心用户节点的第一特征向量。
在一些实施例中,由上述表1可知,中心用户节点的特征信息可以转换为数字表示,这样可以将中心用户节点的特征信息作为该中心用户节点的第一特性向量,或者,对中心用户节点的特征信息进行归一化等处理,将处理后的特征信息作为该中心用户节点的第一特征向量。
在一些实施例中,上述步骤A2包括如下步骤A21和步骤A22:
步骤A21、根据中心用户节点的特征信息确定中心用户节点的数值组合特征和文本属性特征。
步骤A22、对中心用户节点的数值组合特征和文本属性特征进行融合,确定中心用户节点的第一特性向量。
具体的,中心用户节点的特征信息包括数值信息和文本信息,对中心用户节点的数值信息进行学习,获得中心用户节点的数值组合特征,对中心用户节点的文本信息进行学习,获得中心用户节点的文本属性特征。其中确定中心用户节点的数值组合特征与上述确定邻居节点的数值组合特征一致,确定中心用户节点的文本属性特征与上述确定邻居节点的文本属性特征一致,参照上述描述,在此不再赘述。
参照上述方式一,对中心用户节点的数值组合特征和文本属性特征进行拼接,获得中心用户节点的第一特征向量。或者,参照上述方式二,对中心用户节点的数值组合特征和文本属性特征进行叠加,获得中心用户节点的第一特征向量。
本申请实施例,通过DNN对邻居节点和中心用户节点的数值信息进行学习,获得各邻居节点和中心用户节点的数值组合特征,同时使用BiLSTM对各邻居节点的文本信息进行学习,获得邻居节点和中心用户节点的文本属性特征,并将邻居节点或中心用户节点的数值组合特征和文本属性特征进行融合,生成邻居节点或中心用户节点的第一特性向量。即本申请实施例,既能够学习组合特征表示也能够实现对非结构文本表示学习,进而提取丰富特征,基于该提取的丰富特征进行风险预测模型的训练,可以提高模型训练的准确性。
步骤A3、根据该邻居节点集合中每一个邻居节点的第一特征向量和中心用户节点的第一特征向量,确定该邻居节点集合中每一个邻居节点对中心用户节点的影响值。
需要说明的是,每个邻居节点对中心用户节点的影响值的确定过程一种,为了便于描述,下面以一个邻居节点为例进行说明。
由上述描述可知,同一个邻居节点集合中不同邻居节点对中心用户节点的影响可能不同,因此,本步骤根据上述步骤获得的邻居节点的第一特征向量和中心用户节点的第一特征向量,确定该邻居节点对中心用户节点的影响值。
在一些实施例中,将邻居节点的第一特征向量与中心用户节点的第一特征向量进行对比,计算邻居节点的第一特征向量与中心用户节点的第一特征向量之间的相似度,将该相似度确定为该邻居节点对中心用户节点的影响值。需要说明的是,本申请实施例对计算计算邻居节点的第一特征向量与中心用户节点的第一特征向量之间的相似度的方法不限制,可以采用已有的任意一种相似度计算方法。
在一些实施例中,本步骤还可以采用Attention机制,根据邻居节点的第一特征向量与中心用户节点的第一特征向量,确定该邻居节点对中心用户节点的影响值,具体参照如下描述:
根据公式(1)确定邻居节点对中心用户节点的影响:
eij=a(Wun,Wnij) (1)
其中,un是第n个中心用户节点,nij是第i种元路径下产生的第j个邻居节点,两者都通过W参数映射到相同维度,eij是邻居节点nij对中心用户节点un的影响值,a表示Attention机制,通常有两种attention机制如下:
第一种是加法方式:eij=LearkyRelu(Wun+Wnij)
第二种是乘法方式:eij=Wun·Wnij
其中,LearkyRelu为一种运算方式。
可选的,为了确保不同邻居之间可比性,本申请实施例采用softmax函数进行对公式(1)产生的结果进行归一化处理,具体参照如下公式(2):
其中,Ni是第i种元路径所产生的邻居节点个数,也就是第i种元路径的邻居节点集合中所包括的邻居节点个数;aij为归一化后的邻居节点nij对中心用户节点un的影响值。
参照上述方法可以获得每一个邻居节点集合中的每一个邻居节点对中心用户节点的影响值。具体的如图7所示,第一层Attention融合同一种类型元路径的邻居节点,体现同一种类型元路径的邻居对中心用户的重要性,例如,元路径类型1产生的邻居节点集合n11到n1T,下标第一个数字代表第1种元路径类型,下标第二个数字代表第几个邻居,通过Attention可以体现了同一个公司不同同事对中心用户的影响。
S20312、根据该元路径的邻居节点集合中每一个邻居节点对中心用户节点的影响值,确定该元路径对中心用户节点的影响值。
具体的,如图7所示,根据上述步骤,获得每个元路径的邻居节点集合中各邻居节点对中心用户节点的影响值aij,接着,根据元路径的邻居节点集合中各邻居节点对对中心用户节点的影响值,确定元路径对中心用户节点的影响值。
在一些实施例中,针对每个元路径的邻居节点集合,将该邻居节点集合中每个邻居节点对中心用户节点的影响值进行叠加等处理,将处理后的影响值作为该元路径对中心用户节点的影响值。
在一些实施例中,采用Attention机制,根据该元路径的邻居节点集合中每一个邻居节点对中心用户节点的影响值,确定该元路径对中心用户节点的影响值,具体参照如下描述:
首先,为了保证模型的稳定性,采用multi head attention(多头注意力机制)方式,根据元路径的邻居节点集合中各邻居节点对中心用户节点的影响值,确定该元路径的表示。
示例性的,根据如下公式(3),确定元路径的表示:
其中,K是head的个数,ci是第i种元路径的表示,例如图7所示,c1是第一种元路径学习得到的表示。c2是第二种元路径学习得到的表示,c3是第三种元路径学习得到的表示。
接着,如图7所示,采用第二层Attention来捕获不同元路径对中心用户的影响,具体参照如下公式(4):
ez=a(Wuu,Wcz) (4)
其中,cz第z种元路径的表示,z是第z种元路径,ez表示第z种元路径对中心用户节点的影响值,a是attention机制。
可选的,为了使不同元路径模式之间可比,使用softmax对上述公式(4)获得影响值归一化处理,具体参照如下公式(5):
其中,M为元路径个数,az表示归一化后的第z种类元路径对中心用户节点的影响值。
如图7所示,本申请实施例采用两层Attention,第一层Attention融合同一种类型元路径的邻居节点集合中每一个邻居节点对中心用户节点的影响。第二层Attention融合不同元路径类型邻居节点集合,体现不同类型的元路径对中心用户的影响。
S2032、根据每一种元路径对中心用户节点的影响值,确定中心用户节点的风险预测值。
在一些实施例中,采用预设激活函数对每一种元路径对中心用户节点的影响值进行处理,得到一个数值,将该数值作为中心用户节点的风险预测值。
在一些实施例中,采用预设激活函数对每一种元路径对中心用户节点的影响值(即az)和各元路径学习得到的表示(即上述cz)进行处理,得到一个数值,将该数值作为中心用户节点的风险预测值。
例如,采用如下公式(6)确定中心用户节点的风险预测值vn:
其中,σ表示激活(sigmoid)函数。
S2033、根据中心用户节点的风险预测值和风险真值之间的偏差,对风险预测模型中的参数进行调整。
根据上述步骤获得中心用户节点的风险预测值vn后,构建损失函数,确定中心用户节点的风险预测值和风险真值之间的偏差,进行端到端学习。
其中,端到端模型就是将可以多步骤/模块解决的任务使用单个模型来建模解决,减少了工程的复杂度,提高模型的训练速度。
具体的,根据预设的损失函数,例如交叉熵损失,确定中心用户节点的风险预测值和风险真值之间的偏差,通过BP反向传播算法更新风险预测模型中的参数,直到达到预设的模型训练停止条件为止。其中,模型训练停止的条件可以是训练次数达到了预设次数,或者,预测值与真值之间的偏差达到预设值等。
本申请实施例提供的风险预测模型的训练方法,基于不同元路径的随机游走产生不同类型的邻居节点集合,获得多样性的邻居信息,进而使用多样性的邻居信息对风险预测模型进行训练,使得训练后的风险预测模型可以准确预测出用户的逾期风险。
需要说明的,上述公式(1)至公式(6)只是一种示例,对上述各公式的等价变形也属于本申请实施例的保护范围。
上述实施例对风险预测模型的训练过程进行了详细描述,基于上述训练好的风险预测模型,下面对使用该风险预测模型进行用户风险预测的过程进行详细描述。
图10为本申请实施例提供的用户风险预测方法流程示意图,本申请实施例涉及的是使用上述训练好的风险预测模型对第一用户进行风险预测。如图10所示,本申请实施例的方法包括:
S301、获取待预测的第一用户的用户信息。
上述第一用户的用户信息可以包括:用户的性别、用户的年龄、用户的职业、用户的居住小区以及小区地址等小区相关信息、用户的公司名称以及公司性质等公司相关信息、用户的贷款总额、用户的资源总额等。
S302、根据第一用户的用户信息对已有的第一异构图进行更改,获得第二异构图。
其中,根据第一用户的用户信息对已有的第一异构图进行更改的情况包括但不限于如下几种:
情况一,在检查到第一异构图中不存在第一节点时,根据第一用户的用户信息,在第一异构图中创建第一节点。
需要说明的是,本实施例所述的第一异构图为上述步骤S201生成的异构图,也就是说上述训练风险预测模型是使用第一异构图训练过测模型。
具体的,将第一用户作为一个用户实体,将其在异构图中对应的节点记为第一节点。首先在第一异构图中查找是否存在第一用户对应的第一节点,若第一异构图中不存在第一节点,则根据第一用户与第一异构图中其他实体之间的关系,在第一异构图中创建第一节点。例如,在第一异构图中存在第一用户的公司对应的节点,则在第一异构图中创建第一节点,将第一节点与第一用户的公司对应的节点建立连接,形成第二异构图。
进一步的,从第一用户的用户信息中提取出第一用户的特征信息,其提取过程参照上述S201的具体描述。将提取出的第一用户的特征信息作为第一节点的特征信息,保存在第二异构图中。
情况二,在检查到第一异构图中存在第一节点时,根据第一用户的用户信息,更新第一节点的信息。
具体的,若在第一异构图中查找到存在第一用户对应的第一节点时,从第一用户的用户信息中提取出第一用户的特征信息,并使用第一用户的特征信息更新第一节点原先保存的信息,使得更新后的第一节点保存第一用户最新的特征信息。本申请实施例,将更新后的第一异构图记为第二异构图。
本申请实施例的第二异构图还包括至少一个第二用户对应的第二节点,第二用户与第一用户具有预设关系,例如第二用户与第一用户为同一个公司的同事,或者第二用户与第一用户同住在一个小区等。该第二用户可以理解为第一用户的邻居,对应的第二节点为第一节点的邻居节点。
S303、将第二异构图输入风险预测模型中,对第一用户进行风险预测。
通过上述步骤处理,使得第二异构图包括了第一用户的特征信息,以及第一用户的多个邻居用户的特征信息。接着,将第二异构图输入训练好的风险预测模型中,可以准确预测出第一用户的逾期风险。
本申请实施例提供的用户风险预测方法,在对第一用户进行风险预测时,首先获取该第一用户的用户信息,并根据该第一用户的用户信息对已有的第一异构图进行更改,获得第二异构图,将该第二异构图输入训练好的风险预测模型中,对第一用户进行风险预测。本申请实施例,由于风险预测模型是基于丰富邻居节点的特征信息进行训练的,使得风险预测模型不仅学习待预测用户的信息还学习该用户的邻居信息,这样使用该风险预测模型预测第一用户的风险时考虑第一用户的邻居对第一用户的影响,进而提高了第一用户风险预测的准确性。
图11为本申请实施例提供的一种用户风险预测装置的一种结构示意图。该用户风险预测装置300用于执行上述方式实施例的技术方案。如图11所示,该用户风险预测装置300可以包括:第一获取模块310、更改模块320和预测模块330。
第一获取模块310,用于获取待预测的第一用户的用户信息;
更改模块320,用于根据所述第一用户的用户信息对已有的第一异构图进行更改,获得第二异构图,所述第二异构图包括所述第一用户对应的第一节点,以及第二用户对应的第二节点,所述第二用户与所述第一用户具有预设关系;
预测模块330,用于将所述第二异构图输入风险预测模型中,对所述第一用户进行风险预测,所述风险预测模型为使用所述第一异构图训练后的模型。
在一些实施例中,上述更改模块320,具体用于在检查到所述第一异构图中不存在所述第一节点时,根据所述第一用户的用户信息,在所述第一异构图中创建所述第一节点;或者,在检查到所述第一异构图中存在所述第一节点时,根据所述第一用户的用户信息,更新所述第一节点的信息。
图12为本申请实施例提供的一种用户风险预测装置的另一种结构示意图。该用户风险预测装置300还包括:第二获取模块340、第三获取模块350和训练模块360。
其中,第二获取模块340,用于获取训练数据,并使用所述训练数据构建所述第一异构图;
第三获取模块350,用于获取预设的M种元路径,并在所述第一异构图中,获取中心用户节点关于每一种元路径的邻居节点集合,所述M为大于或等于1的正整数,所述中心用户节点为所述第一异构图中的任意一个用户节点;
训练模块360,用于根据每一种元路径的邻居节点集合中各邻居节点的特征信息,对所述风险预测模型进行训练。
在一些实施例总,所述训练模块360包括确定单元361和调整单元362;
所述确定单元361,用于根据每一种元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定每一种元路径对所述中心用户节点的影响值;并根据每一种元路径对所述中心用户节点的影响值,确定所述中心用户节点的风险预测值;
所述调整单元362,用于根据所述中心用户节点的风险预测值和风险真值之间的偏差,对所述风险预测模型中的参数进行调整。
在一些实施例中,上述确定单元361,具体用于针对每一种元路径,根据该元路径的邻居节点集合中每一个邻居节点的特征信息和所述中心用户节点的特征信息,确定该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值;根据该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值,确定该邻居节点集合对所述中心用户节点的影响值。
在一些实施例中,上述确定单元361,具体用于根据该邻居节点集合中每一个邻居节点的特征信息,确定该邻居节点集合中每一个邻居节点的第一特征向量;根据所述中心用户节点的特征信息,确定所述中心用户节点的第一特征向量;根据该邻居节点集合中每一个邻居节点的第一特征向量和所述中心用户节点的第一特征向量,确定该元路径的邻居节点集合中每一个邻居节点对所述中心用户节点的影响值。
在一些实施例中,上述确定单元361,具体用于针对该邻居节点集合中每一个邻居节点,根据所述邻居节点的特征信息确定所述邻居节点的数值组合特征和文本属性特征;对所述邻居节点的数值组合特征和文本属性特征进行融合,确定所述邻居节点的第一特性向量;和/或,
具体用于根据所述中心用户节点的特征信息,确定所述中心用户节点的数值组合特征和文本属性特征;对所述中心用户节点的数值组合特征和文本属性特征进行融合,确定所述中心用户节点的第一特性向量。
本申请实施例的用户风险预测装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图13为本申请实施例涉及的电子设备的结构示意图。该电子设备用于执行上述实施例所述的用户风险预测方法,具体参见上述方法实施例中的说明。
图13所示的电子设备400包括存储器401、处理器402、通信接口403。存储器401、处理器402、通信接口403之间彼此通信连接。例如,存储器401、处理器402、通信接口403之间可以采用网络连接的方式,实现通信连接。或者,上述电子设备400还可以包括总线404。存储器401、处理器402、通信接口403通过总线404实现彼此之间的通信连接。图13是以存储器401、处理器402、通信接口403通过总线404实现彼此之间的通信连接的电子设备400。
存储器401可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器401可以存储程序,当存储器401中存储的程序被处理器402执行时,处理器402和通信接口403用于执行上述方法。
处理器402可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。
处理器402还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的方法可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器402还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器402读取存储器401中的信息,结合其硬件完成本申请实施例的方法。
通信接口403使用例如但不限于收发器一类的收发模块,来实现电子设备400与其他设备或通信网络之间的通信。
当上述电子设备400包括总线404时,总线404可包括在电子设备400各个部件(例如,存储器401、处理器402、通信接口403)之间传送信息的通路。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。另外,各个方法实施例之间、各个装置实施例之间也可以互相参考,在不同实施例中的相同或对应内容可以互相引用,不做赘述。