用户风险确定方法和装置
技术领域
本申请涉及数据处理技术领域,更具体的说是涉及一种用户风险确定方法和装置。
背景技术
随着金融业的不断发展,用户所涉及到的金融业务的种类也日益增多。而金融借贷业务可能是大部分用户都会接触到的金融业务,如,金融借贷业务可以包括信用卡借贷、房贷、车贷以及消费贷等等。
在用户向银行或者网络借贷平台等金融机构申请借贷的情况下,金融机构为了保证资金安全,会审核该用户是否具备借贷条件。然而,目前尚无法较为可靠的识别出申请借贷的用户是否存在信贷逾期的风险,从而使得金融机构的借贷业务存在较高风险。
发明内容
有鉴于此,本申请提供了一种用户风险确定方法和装置,以识别出用户存在借贷逾期的风险。
为实现上述目的,本申请提供如下技术方案:
一方面,本申请提供了一种用户风险确定方法,包括:
获得待分析的用户的历史征信序列,所述历史征信序列包括:所述用户的多份具有先后顺序的历史征信记录;
将所述历史征信序列输入到已训练出的风险识别模型,所述风险识别模型依次包括:编码层、循环神经网络RNN组、注意力层和分类层,所述RNN组包括至少一层RNN;
通过所述编码层转换出所述历史征信序列中各历史征信记录的向量;
通过所述RNN组处理所述历史征信序列中各历史征信记录的向量,并将处理得到的所述历史征信序列中各历史征信记录各自对应的输出向量,并将所述历史征信序列中最后一个历史征信记录对应的隐态向量输入到所述注意力层和所述分类层;
通过所述注意力层基于所述历史征信序列中各历史征信记录对应的输出向量以及所述最后一个历史征信记录对应的隐态向量,确定所述历史征信序列对应的上下文向量;
通过所述分类层基于所述最后一个历史征信记录对应的隐态向量以及所述上下文向量,确定出所述用户存在借贷逾期风险的风险值。
优选的,所述风险识别模型中的分类层包括:全连接网络层和归一化模型层;
所述通过所述分类层基于所述最后一个历史征信记录对应的隐态向量以及所述上下文向量,确定出所述用户存在借贷逾期风险的风险值,包括:
通过所述全连接网络层基于所述最后一个历史征信记录对应的隐态向量以及所述上下文向量,确定表征所述用户存在借贷预期风险的预估向量;
通过所述归一化模型层对所述预估向量进行归一化,得到所述用户存在借贷逾期风险的概率。
优选的,在得到所述用户存在借贷逾期风险的概率之后,还包括:
如所述用户存在借贷逾期风险的概率超过设定阈值,则确认所述用户属于存在借贷逾期风险的用户。
优选的,所述历史征信序列为包括所述用户对应的多个月份的历史征信记录的历史征信时间序列,且所述历史征信时间序列中所述多个月份的历史征信记录按照月份的先后顺序的排序。
优选的,所述风险识别模型中的RNN组包括:多层RNN模型,所述多层RNN模型至少包括处于最底层的首层RNN模型和处于最高层的顶层RNN模型;
所述通过所述RNN组处理所述历史征信序列中各历史征信记录的向量,并将处理得到的所述历史征信序列中各历史征信记录各自对应的输出向量,并将所述历史征信序列中最后一个历史征信记录对应的隐态向量输入到所述注意力层和所述分类层,包括:
通过所述首层RNN模型处理所述历史征信序列中各历史征信记录的向量,并将处理得到的所述各历史征信记录各自对应的输出向量输入到所述首层RNN模型之后的下一层RNN模型;
对于所述RNN组中所述首层RNN模型和顶层RNN模型之外的任意一层RNN模型,通过所述RNN模型处理输入到所述RNN模型的所述各历史征信记录各自对应的输出向量,并将所述RNN模型处理得到的所述各历史征信记录各自对应的输出向量输入到所述RNN模型之后的下一层RNN模型;
通过所述顶层RNN模型处理输入的所述各历史征信记录各自对应的输出向量,将处理得到的各历史征信记录各自对应的输出向量输入到所述注意力层,并将所述历史征信序列中最后一个历史征信记录对应的隐态向量输入到所述注意力层和分类层。
又一方面,本申请还提供了一种用户风险确定装置,包括:
序列获得单元,用于获得待分析的用户的历史征信序列,所述历史征信序列包括:所述用户的多份具有先后顺序的历史征信记录;
序列输入单元,用于将所述历史征信序列输入到已训练出的风险识别模型,所述风险识别模型依次包括:编码层、循环神经网络RNN组、注意力层和分类层,所述RNN组包括至少一层RNN;
第一模型处理单元,用于通过所述编码层转换出所述历史征信序列中各历史征信记录的向量;
第二模型处理单元,用于通过所述RNN组处理所述历史征信序列中各历史征信记录的向量,并将处理得到的所述历史征信序列中各历史征信记录各自对应的输出向量,并将所述历史征信序列中最后一个历史征信记录对应的隐态向量输入到所述注意力层和所述分类层;
第三模型处理单元,用于通过所述注意力层基于所述历史征信序列中各历史征信记录对应的输出向量以及所述最后一个历史征信记录对应的隐态向量,确定所述历史征信序列对应的上下文向量;
第四模型处理单元,用于通过所述分类层基于所述最后一个历史征信记录对应的隐态向量以及所述上下文向量,确定出所述用户存在借贷逾期风险的风险值。
优选的,所述序列输入单元中输入历史征信序列的风险识别模型中的分类层包括:全连接网络层和归一化模型层;
所述第四模型处理单元,包括:
全连接处理单元,用于通过所述全连接网络层基于所述最后一个历史征信记录对应的隐态向量以及所述上下文向量,确定表征所述用户存在借贷预期风险的预估向量;
归一化处理单元,用于通过所述归一化模型层对所述预估向量进行归一化,得到所述用户存在借贷逾期风险的概率。
优选的,还包括:
逾期用户确定单元,用于在所述归一化单元得到所述用户存在借贷逾期风险的概率之后,如所述用户存在借贷逾期风险的概率超过设定阈值,确认所述用户属于存在借贷逾期风险的用户。
优选的,所述序列获得单元获得的所述历史征信序列为包括所述用户对应的多个月份的历史征信记录的历史征信时间序列,且所述历史征信时间序列中所述多个月份的历史征信记录按照月份的先后顺序的排序。
优选的,所述序列输入单元涉及到的所述风险识别模型中的RNN组包括:多层RNN模型,所述多层RNN模型至少包括处于最底层的首层RNN模型和处于最高层的顶层RNN模型;
所述第二模型处理单元,包括:
首层循环处理单元,用于通过所述首层RNN模型处理所述历史征信序列中各历史征信记录的向量,并将处理得到的所述各历史征信记录各自对应的输出向量输入到所述首层RNN模型之后的下一层RNN模型;
中间循环处理单元,用于对于所述RNN组中所述首层RNN模型和顶层RNN模型之外的任意一层RNN模型,通过所述RNN模型处理输入到所述RNN模型的所述各历史征信记录各自对应的输出向量,并将所述RNN模型处理得到的所述各历史征信记录各自对应的输出向量输入到所述RNN模型之后的下一层RNN模型;
顶层循环处理单元,用于通过所述顶层RNN模型处理输入的所述各历史征信记录各自对应的输出向量,将处理得到的各历史征信记录各自对应的输出向量输入到所述注意力层,并将所述历史征信序列中最后一个历史征信记录对应的隐态向量输入到所述注意力
本申请中会预先训练出风险识别模型,该风险识别模型依次包括编码层、RNN组、注意力层和分类层。在将用户对应的历史征信序列输入到风险识别模型之后,RNN组内的各RNN模型会结合中多份历史征信记录之间的前后关联特征,确定出各个历史征信记录所表征的风险特征并输入到注意力层;同时,RNN组内会最终得到的该历史征信序列中最后一个历史征信记录的隐态向量输入到注意力层和分类层;通过注意力层确定各个历史征信记录对应的风险特征的重要程度也会输出给分类层;
基于此可知,风险识别模型的分类层不仅考虑到各历史特征记录之间的前后关联关系,也考虑到各历史特征记录的风险特征对于分类的影响程度,还考虑了叠加有各个历史征信记录之间关联特征的该隐态向量,从而能够更加准确的确定出用户存在借贷逾期风险的概率,综合确定分类结果,叠加有各个历史征信记录的关联特征的隐态向量,从而到达了识别出用户存在借贷逾期的风险这一目的,有利于金融借贷机构基于分类结果合理确定借贷业务,降低了借贷预期的风险。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请一种用户风险确定方法一个实施例的流程示意图;
图2示出了本申请一种风险识别模型的组成架构的一种示意图;
图3示出了本申请一种风险识别模型的RNN组的数据处理流程示意图;
图4示出了本申请一种用户风险确定方法又一个实施例的流程示意图;
图5示出了本申请一种用户风险确定装置的一种组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,其示出了本申请一种用户风险确定方法一个实施例的流程示意图,本实施例的方法可以应用于任意具备数据处理能力的计算机设备,如个人计算机,服务器等,还可以应用于由多台计算机设备组成的分布式系统或者集群等等。本实施例的方法可以包括:
S101,获得待分析的用户的历史征信序列。
其中,该历史征信序列包括:用户的多份具有先后顺序的历史征信记录。
该历史征信记录可以包括:用户涉及的至少一种借贷业务的逾期信息。当然,该历史征信记录还可以包括:贷款审批查询次数以及信用卡审批查询次数等等。
其中,用户的每份历史征信记录可以为一个单位时间段(每个月、每三个月、每六个月或者每年等)内的历史征信记录。作为一个可选方式,每份历史征信记录为用户一个月的历史征信记录。
其中,信贷业务的种类可以分为信用卡、消费贷款、经营性贷款、房贷以及车贷等多个种类。相应的,用户的历史征信记录可以包括用户在这多种借贷业务各自对应的逾期信息。
其中,借贷业务的逾期信息至少可以包括借贷业务的逾期金额,其中,如果借贷业务未逾期,则逾期金额为0。当然,还可以包括借贷业务的逾期天数等等。可以理解的是,如果用户未申请过某个借贷业务,则可以该用户在该项借贷业务的数据可以为零,也可以是将借贷业务的逾期金额和逾期天数设置为零。
其中,每个历史征信记录的具体形式可以有多种可能,本申请对具体形式不加限制。
举例说明,以每个月对应一份历史征信记录为例。如,参见如下表1,其示出了每个月的历史征信记录的结构形式:
表1
在表1中,借贷业务的还款标识用于表征该种借贷业务,相应的,借贷业务的逾期金额表示用户在该种借贷业务中超期还款或者超期仍未还款的金额。如,信用卡还款标识用于表示信用卡这一借贷业务的标识;而信用卡逾期金额是指用户的信用卡存在逾期的金融。
在实际应用中,用户可能会在同一种借贷业务申请了多次借贷,如,用户可能申请了多张信用卡,或者申请过多次房贷等,在该种情况下,可以将同一种借贷业务在同一个月产生的逾期金额进行合并。如,用户办理了两张信用卡,且某个月这两张信用卡中一张信用卡逾期金额为1000元,而另一张信用卡逾期金额为1500元,则在信用卡这一借贷业务上,该用户在该月的逾期金额为2500元。
贷款审批查询次数可以将贷款相关的借贷业务涉及到的查询次数求和,该信用卡审批查询次数也类似。
S102,将历史征信序列输入到已训练出的风险识别模型。
在本申请中,该风险识别模型依次包括:编码层、循环神经网络(RecurrentNeural Network,RNN)组、注意力层和分类层。
其中,该分类层可以为全连接网络,也可以是包括全连接网络和归一化模型层,该归一化模型层中包括softmax函数。
其中,RNN组包括至少一层RNN模型,该至少一层按照顺序排列。如,RNN组可以包括至少两层RNN模型。
该注意力层为一个注意力模型。
可以理解的是,在历史征信序列输入到该风险识别模型之后,会依次经过编码层、RNN组、注意力层和分类层进行处理。如图2所示,其示出了本申请的风险识别模型的一种组成结构示意图。在图2中以分类层包括全连接网络层和归一化模型层为例,由图2可以看出,该风险识别模型由下到上依次包括编码层,两层RNN模型、注意力层、全连接网络层和归一化层(即归一化模型层)。
在本申请实施例中,该风险识别模型为利用多个标注有风险类别的用户各自对应的历史征信序列样本训练得到,该历史征信序列样本包括多份具有先后顺序的历史征信记录样本。
S103,通过该编码层转换出该历史征信序列中各历史征信记录的向量。
其中,编码层也称为嵌入(Embedding)层。该编码层可以将历史征信序列中每个历史征信记录转换为向量,也即是将历史征信记录映射到统一的空间,得到能够体现历史征信记录中各数据信息的本质的向量。
如,编码层可以将每个历史征信记录通过线性/非线性变换映射到一个d维实数空间的点,即d维向量。该层的可学习参数集是一个k*d维的浮点数矩阵,k是输入记录的维数,例如,本申请中k可以设为14;d是输出向量的维数,本申请中可以设为64。
S104,通过该RNN组处理历史征信序列中各历史征信记录的向量,将处理得到的该历史征信序列中各历史征信记录各自对应的输出向量,并将处理得到的该历史征信序列中最后一个历史征信记录对应的隐态向量输入到注意力层和分类层。
其中,RNN组处理该各历史征信记录的向量实际上就是经过RNN组中各层RNN模型逐层处于各历史征信记录的向量。可以理解的是,在每一层RNN模型中都会考虑各历史征信记录之间的前后关系,来确定出每个历史征信记录的输出向量,并将各个历史征信记录的输出向量输入给该RNN模型的下一层RNN模型。
其中,RNN组处理得到的各历史征信记录对应的输出向量可以为该RNN组中处于最后一层的RNN模型所得到的各历史征信记录的输出向量。相应的,该历史征信序列中最后一个历史征信记录对应的隐态向量也为该RNN组中处于最后一层的RNN模型确定出的该最后一个历史征信记录对应的隐态向量。其中,历史征信序列中最后一个历史征信记录为顺序处于最后的历史征信记录。
在本申请中RNN组中的RNN模型可以为门控循环单元(Gated Recurrent Unit,GRU)或长短记忆网络(Long Short-Term Memory,LSTM)。
可以理解的是,RNN组中RNN模型的层数越多,整体的拟合能力越强。在本申请中输入到RNN模型的向量以及RNN模型输出的向量的维数可以根据需要设定,可选的,RNN模型的输入、输出的向量(包括输出向量和隐态向量)的维数可以均设为64。
S105,通过注意力层基于历史征信序列中各历史征信记录对应的输出向量以及该最后一个历史征信记录对应的隐态向量,确定历史征信序列对应的上下文向量。
可以理解的是,注意力层挖掘的是各历史征信序列的重要程度,因此,该上下文向量是历史征信序列的加权信息,比如,对于某个用户而言,注意力层识别出最近三个月的历史征信记录需要特别关注,则相对于其他历史征信记录,最近三个月的历史征信记录会给予较高的权重。
在本申请实施例中,注意力(Attention)层的作用是根据RNN隐藏层最终输出的隐态向量以及各个历史征信记录对应的输出向量,动态调整各个历史征信记录的权值,使得该注意力层输出的上下文向量能够“聚焦”在对预测目标最有帮助的信息上。如,注意力层中输入维数可以为128,即隐态向量和各个输出向量的维度之和,注意力层的输出维数可以为64。
S106,通过该分类层基于最后一个历史征信记录对应的隐态向量以及该上下文向量,确定出用户存在借贷逾期风险的风险值。
其中,该风险值表示出用户是否存在借贷逾期风险的风险程度。
可以理解的是,如果分类层仅仅包括全连接网络层,则该最后一个历史征信记录对应的隐态向量以及该上下文向量经过该分类层处理之后,可以得到用户存在借贷预期风险的第一评估值,以及用户不存在借贷预期风险的第二评估值。在该种情况下评估值是一个数值,通过比较这两个风险值可以确定出用户是否属于存在借贷逾期风险的用户。如,如果第一评估值大于第一评估值,则可以认为该用户存在借贷逾期风险。
可以理解的是,如果风险识别模型输出的第一评估值和第二评估值,则无法较为直观的确定出用户是否存在借贷风险。基于此,本申请的分类层可以包括:全连接网络层和归一化模型层。
相应的,通过该全连接网络层基于该最后一个历史征信记录对应的隐态向量以及该上下文向量,确定表征该用户存在借贷预期风险的预估向量。其中,该预估向量中可以表示出表征用户存在借贷预期风险的第一评估值以及表征用户不存在借贷预期风险的第二评估值。然后,通过该归一化模型层对该预估向量进行归一化,得到该用户存在借贷逾期风险的概率。其中,该概率为小于等于1的数值。
在该种情况下,本申请还可以在该用户存在借贷逾期风险的概率超过设定阈值,则确认该用户属于存在借贷逾期风险的用户。如,假设该阈值为0.6,如果该用户存在借贷逾期风险的概率大于0.6,则认为该用户存在借贷逾期的风险,从而可以为是否向批准该用户的借贷申请提供依据。
本申请中会预先训练出风险识别模型,该风险识别模型依次包括编码层、RNN组、注意力层和分类层。在将用户对应的历史征信序列输入到风险识别模型之后,RNN组内的各RNN模型会结合中多份历史征信记录之间的前后关联特征,确定出各个历史征信记录所表征的风险特征并输入到注意力层;同时,RNN组内会最终得到的该历史征信序列中最后一个历史征信记录的隐态向量输入到注意力层和分类层;通过注意力层确定各个历史征信记录对应的风险特征的重要程度也会输出给分类层;
基于此可知,风险识别模型的分类层不仅考虑到各历史特征记录之间的前后关联关系,也考虑到各历史特征记录的风险特征对于分类的影响程度,还考虑了叠加有各个历史征信记录之间关联特征的该隐态向量,从而能够更加准确的确定出用户存在借贷逾期风险的概率,综合确定分类结果,叠加有各个历史征信记录的关联特征的隐态向量,从而到达了识别出用户存在借贷逾期的风险这一目的,有利于金融借贷机构基于分类结果合理确定借贷业务,降低了借贷预期的风险。
为了便于理解RNN组的数据处理过程,下面结合图2以一种实现方式为例说明。如图3所示,其示出了本申请的风险识别模型中RNN组处理数据的一种流程示意图。
在图3中以RNN组包括多层RNN模型,在此基础上,该多层RNN模型至少包括处于最底层的首层RNN模型和处于最高层的顶层RNN模型。如图2,在图2中示出了RNN组包括两层RNN模型的情况,在该种情况下,处于下方的RNN模型为首层RNN模型,而处于上方的RNN模型为顶层RNN模型。
本流程可以包括:
S301,通过该首层RNN模型处理历史征信序列中各历史征信记录的向量,并将处理得到的各历史征信记录各自对应的输出向量输入到该首层RNN模型之后的下一层RNN模型。
由图2可以看出,编码层将各个历史征信记录的向量输入到首层RNN模型之后,该首层RNN模型会按照历史征信序列中多个历史征信记录的顺序,依次处理各个历史征信记录的向量。
其中,针对每个历史征信记录,该首层RNN模型会基于该历史征信记录的向量以及该首层RNN模型处理该历史征信记录之前最近一个历史征信记录所得到的隐态向量,来确定该历史征信记录对应的输出向量以及隐态向量;并将该历史征信记录的输出向量输入给该首层RNN模型之后的下一层RNN模型。可见,每个历史征信记录对应的输出向量和隐态向量不仅与该历史征信记录的向量有关,还与该历史征信记录之前各历史征信记录与该历史征信记录之间的关联关系有关。
其中,在本申请实施例中RNN模型的下一层RNN模型为从首层RNN模型到顶层RNN模型的方向上,位于该RNN模型之后最近的一层RNN模型。如,假设RNN组依次包括首层RNN模型,第二层RNN模型、第三层RNN模型和顶层RNN模型,那么首层RNN模型的下一层RNN模型为第二层RNN模型,类似的,第二层RNN模型的下一层RNN模型为第三层RNN模型,依此类推。
特别的,如果历史征信记录为历史征信序列中的首个历史征信记录,则可以为该历史征信记录分配一个初始隐态向量,并根据该历史征信记录的向量以及该初始隐态向量确定该历史征信记录对应的输出向量和隐态向量。
其中,RNN模型依次处理各个历史征信序列的向量的过程的具体过程不加限制,在此不再赘述。
S302,对于RNN组中该首层RNN模型和顶层RNN模型之外的任意一层RNN模型,通过该RNN模型处理输入到该RNN模型的各历史征信记录各自对应的输出向量,并将该RNN模型处理得到的各历史征信记录各自对应的输出向量输入到RNN模型之后的下一层RNN模型。
其中,RNN组中除了首层RNN模型之外的其他RNN模型的输入均为该RNN模型的上一层RNN模型确定出的历史征信序列中各历史征信记录的输出向量。除了输入的向量会有所差别外,RNN模型处于输入的向量的过程与首层RNN模型的过程相似,在此不再赘述。
S303,通过顶层RNN模型处理输入的各历史征信记录各自对应的输出向量,将处理得到的各历史征信记录各自对应的输出向量以及该历史征信序列中最后一个历史征信记录对应的隐态向量输入到该注意力层,并将该最后一个历史征信记录对应的隐态向量输入到该分类层。
其中,顶层RNN模型最终得到的历史征信记录中各个历史征信记录对应的输出向量会被输入到注意力层,同时,顶层RNN模型中处理得到的该历史征信记录中最后一个历史征信记录所得到的隐态向量会被输入到注意层以及分类。如图2所示,最上面的RNN模型输出的各个输出向量会被输入到注意力层,同时,最上面的RNN模型最右侧输出的该最后一个历史征信记录所对应的隐态向量会被同时输入到注意力层和分类层的全连接网络层。
可以理解的是,在本申请以上实施例中,为了能够更为合理的分析用户存在借贷逾期的风险,本申请中历史征信记录可以为用户各个月份的历史征信记录。
可选的,考虑到距离当前时刻越近的月份的历史征信记录越能够表征用户存在借贷逾期风险的情况,因此,本申请的历史征信序列中用户的多个月份的历史征信记录按照月份的先后顺序的排序。因此,该历史征信序列为历史征信时间序列,其中,月份越靠后的历史征信记录在该历史征信时间序列中的顺序越靠后。
在一种可能的实现方式中,本申请可以获取该用户历史上最近至少一个月的历史征信记录,并构建出该历史征信序列。
如,可以获取用户在当前时刻(如当前月份)之前最近的设定数量个历史月份的历史征信记录,例如,设定数量为60,则获取该用户历史上最近60个月的历史征信记录。如,用户的历史征信记录不足设定数量个月份,则可以将相应月份的历史征信记录标记为空,例如,假设需要获取用户当前月份之前最近3个月的历史征信记录,但是该用户只有最近两个月的历史征信记录,则当前月份之前3个月的历史征信记录可以表示为空。
在获得用户对应的至少一个历史月份的历史征信记录之后,可以按照这至少一个历史月份的时间先后顺序,将该至少一个历史月份的历史征信记录构成历史征信序列。因此,该历史征信序列中各个历史征信记录是按照距离当前时刻的时长从远到近的排序。
在一种可能的实现方式中,为了便于风险识别模型中的RNN模型识别出历史征信序列中起始的历史征信记录和最后的历史征信记录,本申请还可以为历史征信序列中各个历史征信记录中添加类别标识,使得每个历史征信记录均具有相应的类别标识,该类别标识可以表示该历史征信记录在该历史序列中的排序。
如,类别标识可以分包括:序列开始标识、序列结束标识和序列中间标识。其中,序列开始标识表示历史征信记录为历史征信序列中的首个历史征信记录;序列结束标识表示历史征信记录为历史征信序列中最后一个历史征信记录;历史中间表示表示历史征信记录为历史征信序列中处于首个历史征信记录和最后一个历史征信记录之间的历史征信记录。
可以理解的是,通过历史征信序列中各个历史征信记录中的类别标识可以识别出历史征信序列的开始和结束。相应的,在将历史征信记录转换为向量之后,向量中也存在表示该历史征信记录对应的类别标识的信息,基于向量中相应的类别标识的信息,可以使得风险识别模型中的RNN模型确定出是否已处理到历史征信序列中最后一个历史征信记录。
在一种可选方式中,本申请以上实施例中构建的该历史征信序列还包括构建出的序列开始记录和序列结束记录。其中,序列开始记录为该历史征信时间序列中的首个记录,其表示历史征信时间序列的开始;而序列结束记录为该历史征信时间序列的最后一个记录,以用于表征历史征信时间序列的结束。相应的,在该历史征信序列的该序列开始记录和序列结束记录之间为按照历史月份的时间先后顺序排序的该至少一个历史月份的历史征信记录。
在又一种实现方式中,历史征信序列中的记录还可以划分为四类,为了便于区分,本申请还可以为每类历史征信记录分配一个记录类别,其中,一类为序列开始记录,可以称为第一类记录类别,如,记录类别表示可以表示为“SOH”。第二类为序列结束记录,可以称为第二类记录类别,如记录类别可以表示为“EOH”;第三类为历史征信记录不为空的历史月份对应的历史征信记录,该记录类别为第三类记录类别,可以表示为“INF”。第四类为历史征信记录为空的历史月份对应的历史征信记录,该记录类别称为第四类记录类别,并可以表示为“PAD”。
为了便于理解,以针对每个用户需要获取该用户当前月份之前最近60个月的历史征信记录为例说明。
获取用户最近的60条历史月份的历史征信记录,这60个历史月份分别为距离当前月份60个月的历史月份1、距离当前月份59个月的历史月份2,距离当前月份58个月的历史月份3,以此类推,直至距离当前月份一个月的历史月份60。
在此基础上,构建出一个序列开始记录和一个序列结束记录。相应的,将开始记录与该60个历史月份的历史征信记录以及该最终构建出的历史征信时间序列依次包括:序列开始记录,历史月份1的历史征信记录,历史月份2的历史征信记录,历史月份3的历史征信记录,······历史月份60的历史征信记录,序列结束记录。
假设历史月份20中的历史征信记录为空,则序列开始记录的记录类别可以标记为“SOH”,序列结束记录的类别可以标记为“EOH”;除了历史月份20之外的历史月份的记录类别可以标记为“INF”;而历史月份20的记录类别可以标记为“PAD”。
如,本申请可以通过如下表2的格式记录该历史征信时间序列中各个记录:
表2
由表2可见,每条记录均对应有记录类别。其中表2内的距今时长是指历史月份距离当前的月数。当前征信记录为该距今时长相应历史月份的历史征信记录。
如图2所示,输入到风险识别模型的历史征信记录实际上是60个月份的征信记录以及构建的起始记录和结束记录。
下面以图2所示的风险识别模型的结构为例,对本申请的用户风险确定方法进行介绍。如图4所示,其示出了本申请一种用户风险识别方法又一个实施例的流程示意图,本实施例的方法可以包括:
S401,获得待分析的用户的历史征信时间序列。
其中,该历史征信时间序列包括:用户的多个月份的历史征信记录,且该多个月份的历史征信记录按照月份的先后顺序排序。
其中,历史征信时间序列中的多个月份的历史征信记录中包括:顺序处于首位的历史征信记录,为了便于区分称为序列开始记录;以及,排序顺序处于最后的历史征信记录,为了便于区分称为序列结束记录。其中,序列开始记录和序列结束记录可以为实际获取到的用户的历史征信记录,也可以是构建出的用于表示序列开始的序列开始记录以及表示序列结束的序列结束记录。
作为一种可选方式,历史征信记录中具有表征该历史征信记录在该历史征信时间序列中所处位置范围的标识,该标识可以为前面的类别标识,也可以是记录标识。
S402,将历史征信序列输入到已训练出的风险识别模型。
其中,风险识别模型依次包括:编码层、第一RNN模型、第二RNN模型、注意力层、全连接网络层和归一化网络层。
S403,通过编码层将历史征信时间序列中各个历史征信记录分别转换为征信向量,得到征信向量时间序列。
其中,所述征信向量时间序列依次包括所述历史征信时间序列中各个历史征信记录的征信向量。其中,各个历史征信记录的记录向量在该征信向量时间序列中的排序顺序与各个历史征信记录在该历史征信时间序列中的排序顺序相同。
如,历史征信时间序列依次包括历史征信记录1、历史征信记录2和历史征信记录3,而该征信向量时间序列则依次包括历史征信记录1的征信向量、历史征信记录2的征信向量以及历史征信记录3的征信向量。
其中,为了便于区分和描述,将历史征信记录转换出的向量称为征信向量。
S404,通过第一RNN模型按照该征信向量时间序列中各个征信向量的先后顺序,从征信向量时间序列中尚未被处理的征信向量中确定待处理的目标征信向量。
需要说明的是,该步骤S404实际上是依次处理各个征信向量的过程,在第一RNN模型中会依次将各个征信向量作为目标征信向量并执行后续S405到S407的操作。
S405,如目标征信向量为序列开始记录的征信向量,第一RNN模型获取设定的第一初始隐态向量,基于该第一初始隐态向量以及该目标征信向量,确定该序列开始记录对应的第一输出向量和第一隐态向量,将该序列开始记录的第一输出向量传递给第二RNN模型,并将序列开始记录的第一隐态向量作为序列开始记录之后最近一个历史征信记录的第一隐态递归向量。
其中,该第一初始隐态向量可以为预先设定在该第一RNN模型中的,也可以是由计算机设备在需要时输入给该第一RNN模型的,后续的第二初始隐态向量同样可以是预设在第一RNN模型中或者由计算机设备输入该第二RNN模型的。
其中,RNN模型可以根据对历史征信序列中各个历史征信记录的征信向量的处理顺序,来确定当前处理的为哪个历史征信记录的征信向量。在历史征信记录中包含类别标识或者记录标识时,则可以通过征信向量中表示类别标识或者记录标识中相应数据来确定该征信向量是否为序列开始记录或者序列结束记录的征信向量。
S406,如目标征信向量为序列中间记录的征信向量,第一RNN模型基于该序列中间记录的第一隐态递归向量以及该目标征信向量,确定该序列中间记录的第一输出向量和第一隐态向量,并将该序列中间记录的第一输出向量传递给第二RNN模型,将该序列中间记录的第一隐态向量确定为该序列中间记录之后最近一个历史征信记录的第一隐态递归向量。
其中,序列中间记录为历史征信序列中不属于序列开始记录和序列结束记录的任意一个历史征信记录。
在RNN模型中,针对每个历史征信记录计算出的隐态向量都会递归到下一个历史征信记录对应的输出向量和隐态向量的计算过程中,如图2,每个第一隐态向量实际上会输入到该RNN模型中下一级计算单元中。
S407,如目标征信向量为序列结束记录的征信向量,该第一RNN模型基于该序列结束记录的第一隐态递归向量以及该目标征信向量,确定序列结束记录对应的第一输出向量并传递给第二RNN模型。
S408,通过第二RNN模型按照各个第一输出向量对应的时间先后顺序,从尚未处理的第一输出向量中确定待处理的目标第一输出向量。
S409,如目标第一输出向量为序列开始记录的第一输出向量,第二RNN模型获得第二初始隐态向量,基于该第二初始隐态向量及该目标第一输出向量,确定该序列开始记录对应的第二输出向量和第二隐态向量,并将该序列开始记录的第二输出向量传递给注意力层,将序列开始记录的第二隐态向量作为序列开始记录之后最近一个历史征信记录的第二隐态递归向量。
S410,如目标第一输出向量为序列中间记录的第一输出向量,第二RNN模型基于该序列中间记录的第二隐态递归向量及该目标第一输出向量,确定该序列中间记录对应的第二输出向量和第二隐态向量,并将该序列中间记录的第二输出向量传递给注意力层,将该序列中间记录的第二隐态向量确定为该序列中间记录之后最近一个历史征信记录的第二隐态递归向量。
S411,如目标第一输出向量为序列结束记录的第一输出向量,第二RNN模型基于该序列结束记录的第二隐态递归向量及该目标第一输出向量,确定序列结束记录的第二隐态向量和第二输出向量,将该序列结束记录的第二输出向量传递给注意力模型,并将序列结束记录对应的第二隐态向量作为该历史征信时间序列对应的最终隐态向量输出到注意力层和全连接网络层。
需要说明的是,以上是为了便于理解以每层RNN模型逐个确定需要处理的目标征信向量和目标第一输出向量为例说明,但是可以理解的是,在实际应用中,编码层每转换出一个历史征信记录的征信向量便可以输入给RNN层,则RNN模型便可以按照顺序依次处理各个征信向量。
S412,通过注意力模型基于历史征信时间序列中各个历史征信记录对应的第二输出向量以及历史征信时间序列的最终隐态向量确定上下文向量,并将该上下文向量输出到该全连接网络层。
S413,通过全连接网络层基于该历史征信时间序列对应的最终隐态向量以及该上下文向量,确定表征用户存在借贷逾期风险的预估向量。
其中,该预估向量可以包括表示用户存在借贷逾期风险的第一取值以及表示用户不存在借贷逾期风险的第二取值。由于该第一取值和第二取值无法直观反映出用户存在借贷逾期风险的概率较大,还是不存在借贷逾期风险的概率大,所以后续可以对这两个取值进行归一化,从而可以直接得到表示用户存在借贷逾期风险的概率。
其中,全连接网络层可以是若干层感知机(perceptron)的叠加,作用是对输入进行若干次线性变换,以便靠近目标输出。例如,该全连接网络层可以叠加感知机的层数为3层,前2层对应的输入和输出的维数均设为128;最后一层的输入维数为128,输出维数设为2。
S414,利用归一化模型对该预估向量进行归一化,得到表征用户存在借贷逾期风险的风险概率。
其中,如果用户存在借贷逾期风险的风险概率大于设定阈值,则可以判定用户存在借贷逾期风险的用户。
可以理解的是,对于本申请以上任意一个实施例中的风险识别模型,训练该风险识别模型的过程相似。如,可以获取多个标注有逾期类别(也可以称为风险类别或者逾期风险类别等)的用户的历史征信序列样本,逾期类别可以分为:存在逾期风险的用户;不存在逾期风险的用户。
其中,具体训练该风险识别模型的过程可以有多种,本申请不加限制。
举例说明:
在训练过程中,可以将每个用户的历史征信序列样本中各个历史征信记录样本输入到风险识别模型,并基于风险识别模型预测出的该用户的风险值,确定该用户的逾期类别,基于每个用户预测出的预期类别与实际标注的逾期类别做交叉熵计算该风险识别模型损失函数值。将风险识别模型针对各个用户预测所对应的损失函数值求平均,基于平均值确定风险识别模型的预测精准度不高,则可以通过反向传播算法依次更新风险识别模型各个层或者模型部件的参数值,然后重新训练该风险识别模型,如此循环,直到损失函数值收敛。
对应本申请的一种用户风险确定方法,本申请还提供了一种用户风险确定装置。如图5所示,其示出了本申请一种用户风险确定装置一个实施例的组成结构示意图,本实施例的装置可以包括:
序列获得单元501,用于获得待分析的用户的历史征信序列,该历史征信序列包括:该用户的多份具有先后顺序的历史征信记录;
序列输入单元502,用于将该历史征信序列输入到已训练出的风险识别模型,该风险识别模型依次包括:编码层、循环神经网络RNN组、注意力层和分类层,该RNN组包括至少一层RNN;
第一模型处理单元503,用于通过该编码层转换出该历史征信序列中各历史征信记录的向量;
第二模型处理单元504,用于通过该RNN组处理该历史征信序列中各历史征信记录的向量,并将处理得到的该历史征信序列中各历史征信记录各自对应的输出向量,并将该历史征信序列中最后一个历史征信记录对应的隐态向量输入到该注意力层和该分类层;
第三模型处理单元505,用于通过该注意力层基于该历史征信序列中各历史征信记录对应的输出向量以及该最后一个历史征信记录对应的隐态向量,确定该历史征信序列对应的上下文向量;
第四模型处理单元506,用于通过该分类层基于该最后一个历史征信记录对应的隐态向量以及该上下文向量,确定出该用户存在借贷逾期风险的风险值。
在一种可能的实现方式中,该序列输入单元中输入历史征信序列的风险识别模型中的分类层包括:全连接网络层和归一化模型层;
该第四模型处理单元,包括:
全连接处理单元,用于通过该全连接网络层基于该最后一个历史征信记录对应的隐态向量以及该上下文向量,确定表征该用户存在借贷预期风险的预估向量;
归一化处理单元,用于通过该归一化模型层对该预估向量进行归一化,得到该用户存在借贷逾期风险的概率。
作为一种可选方式,该装置还可以包括:
逾期用户确定单元,用于在该归一化单元得到该用户存在借贷逾期风险的概率之后,如该用户存在借贷逾期风险的概率超过设定阈值,确认该用户属于存在借贷逾期风险的用户。
在又一种可能的实现方式中,该序列获得单元获得的该历史征信序列为包括该用户对应的多个月份的历史征信记录的历史征信时间序列,且该历史征信时间序列中该多个月份的历史征信记录按照月份的先后顺序的排序。
在又一种可能的实现方式中,该序列输入单元涉及到的该风险识别模型中的RNN组包括:多层RNN模型,该多层RNN模型至少包括处于最底层的首层RNN模型和处于最高层的顶层RNN模型;
相应的,该第二模型处理单元,包括:
首层循环处理单元,用于通过该首层RNN模型处理该历史征信序列中各历史征信记录的向量,并将处理得到的该各历史征信记录各自对应的输出向量输入到该首层RNN模型之后的下一层RNN模型;
中间循环处理单元,用于对于该RNN组中该首层RNN模型和顶层RNN模型之外的任意一层RNN模型,通过该RNN模型处理输入到该RNN模型的该各历史征信记录各自对应的输出向量,并将该RNN模型处理得到的该各历史征信记录各自对应的输出向量输入到该RNN模型之后的下一层RNN模型;
顶层循环处理单元,用于通过该顶层RNN模型处理输入的该各历史征信记录各自对应的输出向量,将处理得到的各历史征信记录各自对应的输出向量输入到该注意力层,并将该历史征信序列中最后一个历史征信记录对应的隐态向量输入到该注意力层和分类层。
对于装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。