对操作事件进行风险评估的神经网络系统、方法及装置
技术领域
本说明书一个或多个实施例涉及人工智能和机器学习领域,尤其涉及利用神经网络系统评估用户操作事件的风险度的方法和装置。
背景技术
随着计算机网络的快速发展,网络安全问题日益突出。存在多种高风险操作行为,例如盗取账户、流量攻击、欺诈交易等等,有可能威胁网络安全或用户信息安全。出于网络安全和风险防控的考虑,在许多场景下,需要对用户操作行为或操作事件进行分析和处理,评估用户操作行为的风险程度,以便进行风险防控。
为了评估某项操作行为的风险度,可以基于该项操作行为本身的特征进行分析。进一步地,还可以更全面地考虑用户的行为序列。行为序列是用户在日常操作使用中产生的一系列点击、访问、购买等事件的发生过程,可表示为事件集合的时间序列,它蕴含了用户的细粒度习惯偏好等特点,便于更全面地分析用户的操作历史和操作模式。然而,不管是操作事件还是行为序列数据,都面临特征表征和特征刻画的问题,也就是,要从巨大的特征空间中抽取出有代表性的聚集性特征,用于刻画操作事件的风险度。特征抽取的工作往往由业务人员根据经验来进行。然而,可以理解,人工特征工程耗费极大的人力和时间,且效果严重依赖于人工的业务经验和效率。当业务经验不够完善的时候,人工特征工程中选取的特征很可能不够全面或不够具有代表性,使得基于特征的事件分析准确性不够高。并且,人工特征工程存在安全性泄露的风险。一旦选取特征的方式被泄露,恶意使用者就会采取相应的规避策略,有意避开选取的特征进行其他方式的攻击。
因此,希望能有改进的方案,更为准确有效地对用户操作事件进行风险度分析,以便于进行风险防控。
发明内容
本说明书一个或多个实施例描述了对用户操作事件进行风险评估的神经网络系统、方法和装置,可以更有效地对操作事件进行特征提取和刻画,从而更准确地评估操作事件的风险。
根据第一方面,提供了一种用于对用户操作事件进行风险评估的神经网络系统,包括:
第一输入层,用于获取第一事件序列,所述第一事件序列包括按照时间顺序依次排列的第一用户的多个操作事件,所述多个操作事件包括有待评估的当前操作事件,以及至少一个历史操作事件,每个操作事件具有对应的多项属性信息;
第一嵌入层,包括编码层和第一组合层,所述编码层用于针对所述多个操作事件中的各个操作事件,将该操作事件的多项属性信息转换为对应的多个特征向量;所述第一组合层用于对所述多个特征向量进行第一向量组合,得到该操作事件对应的第一嵌入向量,其中所述第一向量组合包括,涉及N个特征向量相乘的N阶向量间组合运算,其中N>=2;
第二嵌入层,用于对所述多个操作事件对应的多个第一嵌入向量进行第二向量组合,得到所述第一事件序列对应的第二嵌入向量;
全连接处理层,用于对所述第二嵌入向量进行处理,得到处理向量;
输出层,用于至少根据所述处理向量,确定所述当前操作事件的风险评估结果。
在一个实施例中,所述至少一个历史操作事件是从所述当前操作事件向前回溯预定范围中的历史操作事件,所述预定范围包括预定时间范围和/或预定事件数量。
根据不同实施例,所述多项属性信息包括以下中的多项:用户操作行为的行为类型,行为时间,用户操作所使用的设备信息,浏览器类型,app版本,交易行为的涉及金额,付款渠道,交易对象。
在一个实施例中,各个历史操作事件的多项属性信息还包括,历史操作事件的操作结果。
根据一个实施例,所述多项属性信息包括第一属性信息,所述第一属性信息的属性取值为有限多个;所述编码层具体用于:采用独热one-hot编码,将所述第一属性信息编码为对应的特征向量。
根据另一实施例,所述多项属性信息包括第二属性信息,所述第二属性信息包括描述属性的文字;所述编码层包括卷积神经网络CNN或循环神经网络RNN,用于对所述第二属性信息进行词嵌入,得到对应的特征向量。
根据一种实施方式,所述第一组合层具体用于:
对所述多个特征向量进行线性组合运算,以及进行N阶之内的向量间组合运算;将各组合运算的结果求和,作为所述第一嵌入向量。
在一个实施例中,所述第二嵌入层包括基于时序的神经网络,用于依次迭代处理所述多个操作事件对应的多个第一嵌入向量,得到所述第二嵌入向量。
在另一实施例中,所述第二嵌入层具体用于:对所述多个第一嵌入向量进行线性组合运算,以及进行M阶之内的向量间组合运算,基于各组合运算的求和,得到所述第二嵌入向量,其中M>=2。
根据一种实施方式,所述第二嵌入层包括:
第三组合层,用于对所述至少一个历史操作事件对应的至少一个第一嵌入向量进行第三向量组合,得到第三嵌入向量;
第四组合层,用于将所述第三嵌入向量与所述当前操作事件对应的第一嵌入向量进行第四向量组合,得到所述第二嵌入向量。
在上述实施方式的一个实施例中,所述第三组合层包括基于时序的神经网络,用于依次迭代处理所述至少一个第一嵌入向量,得到所述第三嵌入向量。
在上述实施方式的另一个实施例中,所述第三组合层具体用于:
对所述至少一个第一嵌入向量进行线性组合运算,以及M阶之内的向量间组合运算,基于各组合运算的求和,得到所述第三嵌入向量,其中M>=2。
在上述实施方式的一个实施例中,所述第四向量组合包括,向量拼接,或向量线性组合。
根据一个实施方式,所述神经网络系统还包括:
第二输入层,用于获取与所述第一用户有关的综合特征信息,并将所述综合特征信息表示为第四嵌入向量;
所述输出层具体用于:根据所述处理向量以及所述第四嵌入向量,确定所述当前操作事件的评估结果。
在一个进一步的实施例中,所述综合特征信息包括,所述第一用户的属性特征,以及所述第一用户的历史操作事件的统计特征。
根据第二方面,提供了一种通过神经网络系统对用户操作事件进行风险评估的方法,所述方法包括:
获取第一事件序列,所述第一事件序列包括按照时间顺序依次排列的第一用户的多个操作事件,所述多个操作事件包括有待评估的当前操作事件,以及至少一个历史操作事件,每个操作事件具有对应的多项属性信息;
对于所述多个操作事件中各个操作事件,将该操作事件的多项属性信息转换为对应的多个特征向量,对所述多个特征向量进行第一向量组合,得到该操作事件对应的第一嵌入向量,其中所述第一向量组合包括,涉及N个特征向量相乘的N阶向量间组合运算,其中N>=2;
对所述多个操作事件对应的多个第一嵌入向量进行第二向量组合,得到所述第一事件序列对应的第二嵌入向量;
对所述第二嵌入向量进行处理,得到处理向量;
至少根据所述处理向量,确定所述当前操作事件的风险评估结果。
根据第三方面,提供了一种对用户操作事件进行风险评估的装置,所述装置包括:
序列获取单元,配置为获取第一事件序列,所述第一事件序列包括按照时间顺序依次排列的第一用户的多个操作事件,所述多个操作事件包括有待评估的当前操作事件,以及至少一个历史操作事件,每个操作事件具有对应的多项属性信息;
第一嵌入单元,配置为对于所述多个操作事件中各个操作事件,将该操作事件的多项属性信息转换为对应的多个特征向量,对所述多个特征向量进行第一向量组合,得到该操作事件对应的第一嵌入向量,其中所述第一向量组合包括,涉及N个特征向量相乘的N阶向量间组合运算,其中N>=2;
第二嵌入单元,配置为对所述多个操作事件对应的多个第一嵌入向量进行第二向量组合,得到所述第一事件序列对应的第二嵌入向量;
处理单元,配置为对所述第二嵌入向量进行处理,得到处理向量;
确定单元,配置为至少根据所述处理向量,确定所述当前操作事件的风险评估结果。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面的方法。
根据第五方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面的方法。
根据本说明书实施例提供的神经网络系统和方法,通过神经网络系统,基于事件序列中各个事件的全面的属性信息自动地进行特征提取和组合,并基于组合后的向量对当前操作事件进行风险度评估。特别是,通过神经网络系统中的两个嵌入层,对事件序列中各事件的属性信息进行了分层次的特征提取和组合,并在其中引入了高阶向量间组合运算,使得得到的嵌入向量可以更好地刻画事件和事件序列的特点,提高风险评估准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的神经网络系统的结构示意图;
图3示出在一个实施例中第二嵌入层的结构示意图;
图4示出根据一个实施例的神经网络系统的结构示意图;
图5示出根据一个实施例的用户操作事件评估的流程图;
图6示出根据一个实施例的风险评估装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,为了对当前操作事件进行风险评估,将该待评估的当前操作事件和历史操作事件构成一个事件序列,获取事件序列中各个事件的全面的属性信息。
然后,将事件序列中各个事件的属性信息输入预先训练的神经网络模型。该神经网络模型基于输入的属性信息进行特征提取和特征组合,得到特征表示向量,并基于特征表示向量得到对当前操作事件的风险评估结果。以上过程中,将尽可能全面的属性信息输入到神经网络模型,由神经网络模型进行特征提取和组合,以此取代人工特征工程中特征选取的主观性和片面性。
并且,上述神经网络模型被设计为进行分层次的、高阶的特征组合。具体而言,神经网络模型可以首先将单个事件的多项属性对应的多个特征向量进行组合,得到事件级特征向量;然后,将行为序列中各个事件对应的特征向量进行组合,得到序列级特征向量,如此进行分层次的特征组合。并且,在每一层次的特征组合中,除了常规的线性特征组合之外,还允许多个特征向量相乘的高阶特征组合,如此更全面地考虑特征之间依赖关系的因素。
如此,通过神经网络模型进行全面的特征提取和组合,得到更有利于刻画事件特点的特征向量,由此使得对操作事件的风险评估更加准确而高效。
下面描述以上构思的具体实现方式。
图2示出根据一个实施例的神经网络系统的结构示意图,该神经网络系统可以是一种计算系统,其上运行用于进行事件风险评估的神经网络模型。可以理解,该神经网络系统可以通过任何具有计算、处理能力的设备、装置、平台、设备集群来实现,例如图1所示的计算平台。如图2所示,神经网络系统包括,第一输入层20,第一嵌入层21,第二嵌入层22,全连接处理层23以及输出层24,这些网络层构成一个深度神经网络,用于对用户操作事件进行风险评估。下面结合一个具体的事件序列,描述以上各个层的实现方式。
如前所述,为了对某个用户的当前操作事件进行评估,以该用户的包含当前操作事件的事件序列为分析数据源,输入到神经网络系统中。简单起见,将上述用户称为第一用户,该第一用户的事件序列称为第一事件序列。
由此,第一输入层20获取到或接收到上述第一事件序列,所述第一事件序列可以表示为<E1,E2,…,Et>,其中包括按照时间顺序依次排列的多个操作事件E1,E2,…,Et,这多个操作事件均为第一用户进行的操作事件。并且,第一事件序列中包括有待评估的当前操作事件Et,其余操作事件为该第一用户的历史操作事件。
历史操作事件可以是从当前操作事件Et向前回溯预定范围得到的操作事件,其中预定范围可以是预定时间范围,预定事件数量,等等。例如,在一个示例中,可以设定预定时间范围,比如为2h,12h等等,对于有待评估的当前操作事件,从当前操作事件的发生时刻起,向前回溯上述预定时间范围,将该预定时间范围中发生的历史操作事件包含在上述第一事件序列中。在另一个示例中,可以设定预定事件数量,比如为10件,20件等等;对于有待评估的当前操作事件,从当前操作事件向前回溯上述预定数量的事件作为历史操作事件,包含在上述第一事件序列中。在其他示例中,历史操作事件还可以有更多选取方式,例如预定时间范围内预定数量的事件,或者预定数量的特定类型(例如仅选取登录类事件,或交易类事件)的事件,等等。因此,历史操作事件的数量可能从一个到多个并不确定。工程实践中,可以通过填补(padding)的方式,将第一事件序列调整为预定长度。
第一事件序列中的每个操作事件具有多项与事件有关的属性信息。为了风险评估的全面性,在此可以获取各个事件的细粒度的全面的属性信息以供后续处理。这些属性信息可以包括,用户操作行为的行为类型(例如,登录操作,充值操作,支付操作,交易操作等),行为时间,用户操作所使用的设备信息(例如设备型号、MAC地址,IP地址等等),所使用的软件方面的信息,例如浏览器类型,app版本,等等。如果操作行为是交易行为,属性信息还可以包括交易行为的涉及金额,付款渠道,交易对象,等等。
此外,对于历史操作事件而言,对应的属性信息还可以包括,历史操作事件的操作结果,例如操作成功,失败,超时,等等。而当前操作事件是风险度有待评估的事件,一般是尚未产生操作结果的事件。通常来说,对当前操作事件进行风险度评估,正是用于决定是否允许本次操作,也就是决定其操作结果。
简单起见,如图2所示,用Xi表示操作事件Ei的多项属性信息的属性集。如此,第一输入层20在接收到第一事件序列<E1,E2,…,Et>后,将各个操作事件的属性集X1,X2,…,Xt传递给第一嵌入层21。
第一嵌入层21包括编码层211和第一组合层212,其中,对于任意操作事件Ei,编码层211用于将该操作事件的属性集Xi中的多项属性信息转换为对应的多个特征向量;第一组合层212用于对该多个特征向量进行第一向量组合,得到该操作事件Ei对应的第一嵌入向量Ai,其中第一向量组合包括,涉及N个特征向量相乘的N阶向量间组合运算,其中N>=2。下面分别进行具体描述。
编码层211用于根据属性集中的每一项属性的属性值,将该项属性编码为一个特征向量。因此,如果操作事件Ei的属性集中包含n项属性,则编码得到n个特征向量。
编码层211可以采用多种编码方式进行编码。
在一个实施例中,在编码层211中预先构造一个映射表或查找表,其中记录各个属性下不同属性值与特征向量的映射关系。对于输入事件的属性集Xi中的各项属性,根据具体的属性值查找该映射表,得到对应的特征向量。
在一个实施例中,编码层211可以采用独热one-hot编码方式将一项属性信息编码为一个特征向量。One-hot编码方式适合于属性值为有限多个的属性信息。例如,在一个例子中,属性信息包括行为类型,而行为类型一共有预设的H种。那么,可以采用one-hot编码,将该项属性信息编码为H维特征向量。如果输入事件中该项属性信息的取值为第k种操作行为,那么在对应得到的H维向量中,第k个位置的元素为1,其他位置的元素均为0。
在一个实施例中,编码层211还可以采用更为复杂的神经网络进行词嵌入,以得到属性信息对应的特征向量。这样的方式适合于属性值中包含描述文字的情况。例如,在一个例子中,属性信息包括交易对象,而交易对象往往通过文字进行描述,例如“杭州西溪Z空间xxx餐厅”。在这样的情况下,编码层211可以包括卷积神经网络CNN或循环神经网络RNN,用于对属性信息中的文字部分进行词嵌入,得到对应的特征向量。词嵌入的算法可以采用各种已知或将来采用的算法,在此不做限定。
可以理解,对于属性集中的多项属性,编码层211可以根据需要将以上多种实施方式进行综合,针对不同属性信息采用不同编码方式,最终将各项属性信息转换为对应的特征向量。于是,在事件Ei的属性集Xi中包含n项属性的情况下,编码层211针对该事件编码得到n个特征向量,记为f1,f2,…,fn。如果n个特征向量维度不一致,则可以采用工程上的方式,例如padding,将其处理为同样的维度。
接着,第一组合层212对该n个特征向量f1,f2,…,fn进行第一向量组合,其中包括N阶向量间组合运算,从而得到该操作事件Ei对应的第一嵌入向量Ai。
可以理解,常规神经网络中对特征向量的组合一般是采用线性组合的方式。然而,在操作事件包含多项属性信息的情况下,属性信息之间有时候并非完全独立,而是存在一定的依赖关系或关联关系,而简单的线性组合却不足以发现和处理这样的关联关系。因此,在一个实施例中,借鉴FM(Factorization Machine)因子分解机的框架,在第一组合层212中引入高阶向量间组合运算。
具体的,不同于线性运算中多个向量的线性相加,N阶向量间组合运算涉及N个特征向量的相乘运算,从而可以表征N个特征向量之间的关联关系。其中,阶数N为预设的超参数,例如,可以设置为2,或3,或4。
一般地,特征向量的线性组合仍然是特征的基础表征方式。因此,在一个实施例中,第一组合层212可以在线性组合运算的基础上,加入N阶向量间组合运算。具体的,第一组合层212可以对编码层输出的n个特征向量进行线性组合运算,以及进行N阶之内的向量间组合运算,将各组合运算的结果求和,基于求和结果得到第一嵌入向量。
更具体的,在N=3的情况下,第一组合层212在线性组合的基础上,还包括2阶向量组合和3阶向量组合,如以下公式(1)所示。
在以上公式(1)中,
为n个特征向量的线性组合,
为2阶向量间组合运算,其中涉及2个特征向量的相乘,
为3阶向量组合运算,其中涉及3个特征向量的相乘。高阶运算中特征向量的相乘可以采取按位相乘的方式进行,其结果仍然是一个向量。并且,需要理解,以上公式(1)中的各项权重系数,包括线性权重系数w
i,2阶权重系数w
ij,3阶权重系数w
ijk,均通过神经网络的训练而确定。
以上公式(1)具体给出了N=3情况下第一向量组合的运算方式。在N=2的情况下,可以略去公式(1)中的3阶向量间运算;在N为更高阶的情况下,可以在公式(1)基础上,添加更高阶的向量间运算,从而扩展到N为其他值的情况。
在一个实施例中,还可以对以上例如公式(1)示出的第一向量组合方式进行修改,例如省略其中的线性组合项,或者省略其中的部分高阶向量间组合项,得到第一向量组合方式的更多变换实施方案。
通过以上各种方式,第一组合层212将编码层211输出的n个特征向量进行组合,得到操作事件Ei对应的第一嵌入向量Ai。如此,第一嵌入层21基于操作事件Ei对应的属性集Xi,得到操作事件Ei对应的第一嵌入向量Ai。可以看到,在以上过程中,第一嵌入层21通过对同一事件的各个属性进行组合,得到该事件的第一嵌入向量,因此,第一嵌入向量是对相应事件的全面表征,是事件级表达向量。
可以理解,以上操作事件Ei是第一事件序列中的任意操作事件。因此,对于前述的第一事件序列<E1,E2,…,Et>,第一嵌入层21可以分别得到序列中各个事件E1,E2,…,Et对应的各个第一嵌入向量A1,A2,…,At,将各个第一嵌入向量输入到第二嵌入层22,进行进一步处理。
第二嵌入层22用于对各个操作事件E1,E2,…,Et对应的各个第一嵌入向量A1,A2,…,At进行第二向量组合,得到第一事件序列对应的第二嵌入向量Y。
在一个实施例中,第二嵌入层22采用线性组合的方式,对各个第一嵌入向量A1,A2,…,At进行线性加权叠加,得到第一事件序列对应的第二嵌入向量Y。
在另一个实施例中,第二嵌入层22采用基于时序的神经网络,对各个第一嵌入向量进行时序处理。具体的,上述基于时序的神经网络可以是,循环神经网络RNN,或者长短期记忆神经网络LSTM。于是,可以将上述各个第一嵌入向量A1,A2,…,At按照事件发生时间的先后顺序,依次输入RNN或LSTM。RNN或LSTM神经网络于是依次迭代处理该多个第一嵌入向量构成的向量序列,得到第二嵌入向量。更具体的,RNN或LSTM可以将处理完最后一个第一嵌入向量时得到的隐含向量,作为第二嵌入向量。
在又一实施例中,第二嵌入层22也可以对输入的多个第一嵌入向量A1,A2,…,At进行组合运算,其中包括线性组合和高阶向量间组合,由此得到第二嵌入向量。具体地,可以预设第二嵌入层22中高阶组合运算的阶数M,其中M>=2,该阶数M与第一嵌入层21中的阶数N是互相独立的超参数,可以相同,也可以不同。于是,在第二嵌入层22中,可以对上述多个第一嵌入向量A1,A2,…,At进行线性组合运算,以及进行M阶之内的向量间组合运算,基于各组合运算的求和,得到第二嵌入向量Y。具体运算过程与前述对第一组合层212的描述相似,不再赘述。
如此,第二嵌入层22对各个操作事件对应的各个第一嵌入向量直接进行组合,得到第二嵌入向量Y。
如前所述,在第一事件序列<E1,E2,…,Et>中,包含有待评估的当前操作事件Et和其余的历史操作事件,其中历史操作事件的属性信息中包含有操作结果信息,而当前操作事件并不包含该项属性信息。这使得,基于当前操作事件Et的属性集Xt得到的第一嵌入向量At与各历史操作事件对应的第一嵌入向量A1,A2,…,At-1,在多个方面具有明显的不同。因此,根据一种实施方案,在第二嵌入层22中,考虑对当前操作事件和历史操作事件以不同的处理方式进行组合。
图3示出在一个实施例中第二嵌入层的结构示意图。在图3的示例中,第二嵌入层22进一步包括第三组合层221和第四组合层222,其中,第三组合层221用于对历史操作事件对应的第一嵌入向量A1,A2,…,At-1进行第三向量组合,得到第三嵌入向量Z;第四组合层222,用于将该第三嵌入向量Z与当前操作事件对应的第一嵌入向量At进行第四向量组合,得到第二嵌入向量。
第三组合层221采用的第三向量组合方式,可以与前一实施方式中第二向量组合方式相似,只是处理的第一嵌入向量中缺少当前操作事件对应的第一嵌入向量At。
具体的,在一个实施例中,第三组合层221可以包括基于时序的神经网络,该基于时序的神经网络可以是,循环神经网络RNN,或者长短期记忆神经网络LSTM。于是,可以将各个历史操作事件对应的第一嵌入向量A1,A2,…,At-1按照事件发生时间的先后顺序,依次输入RNN或LSTM。RNN或LSTM神经网络依次迭代处理该多个第一嵌入向量A1,A2,…,At-1,得到第三嵌入向量Z。
在另一实施例中,第三组合层221对各历史操作事件对应的第一嵌入向量A1,A2,…,At-1进行线性组合运算,以及M阶之内的向量间组合运算,基于各组合运算的求和,得到第三嵌入向量Z,其中M>=2。
然后,第四组合层222将第三组合层221输出的第三嵌入向量Z与当前操作事件对应的第一嵌入向量At进行第四向量组合,得到第二嵌入向量Y。其中,在一个实施例中,第四组合层222可以对第三嵌入向量Z和第一嵌入向量At进行拼接,得到第二嵌入向量;在另一实施例中,第四组合层222将第三嵌入向量Z和第一嵌入向量At进行线性组合,得到第二嵌入向量Y。在其他实施例中,第四组合层222还可以采用其他组合方式。
于是,在图3的实施例中,第二嵌入层22对当前操作事件的第一嵌入向量和历史操作事件的第一嵌入向量以不同的处理方式进行组合,得到第二嵌入向量Y。
如上所述,第二嵌入层22可以通过多种方式,对第一事件序列中各个操作事件对应的第一嵌入向量A1,A2,…,At进行组合,得到第二嵌入向量Y。如此得到的第二嵌入向量Y,是对整个事件序列的全面表征,是序列级向量表达。
接着,将该第二嵌入向量Y输入全连接处理层23,进行进一步全连接处理,得到处理向量P。需要理解,该全连接处理层23可以是包含多个网络层的全连接神经网络,其中每个网络层的每个神经元,都与前一网络层的所有神经元全连接,从而进行全连接处理。
最后,以上的处理向量P被输入到输出层24,该输出层24可以根据处理向量P,确定并输出对当前操作事件的风险评估结果。具体地,输出层24可以对处理向量P施加线性变换,或施加特定函数,例如softmax函数,得到输出结果。输出的风险评估结果可以是回归结果,例如风险度打分,也可以是分类结果,例如高风险、低风险的类别预测。
由此,图2的多个网络层所构成的深度神经网络,可以基于全面的属性信息自动地进行特征提取和组合,并基于组合后的向量对当前操作事件进行风险度评估。特别是,通过其中的第一嵌入层21和第二嵌入层22,对事件序列中各事件的属性信息进行了分层次的特征提取和组合,并在其中引入了高阶向量间组合运算,使得得到的嵌入向量可以更好地刻画事件和事件序列的特点,提高风险评估准确性。
为了进一步优化特征的刻画和风险评估的结果,在一个实施例中,在图2的深度神经网络的基础上,添加宽度部分,形成宽度和深度相结合(Wide and Deep)的神经网络结构。具体结构如图4所示。
图4示出根据一个实施例的神经网络系统的结构示意图。可以看到,在图4的神经网络系统中,将图2的神经网络作为整个神经网络系统的深度部分,在深度部分之外还包括第二输入层41作为宽度部分,其中第二输入层41用于获取与第一用户有关的综合特征信息,并将该综合特征信息表示为第四嵌入向量Q。
不同于各个事件的细粒度的事件属性信息Xi,作为宽度部分的第二输入层获得的综合特征信息可以是一些累积特征、统计特征或用户特征。具体的,上述综合特征信息可以包括,第一用户的属性特征,例如年龄,性别,注册时长,人群标签,等等,以及该第一用户的历史操作事件的统计特征,例如更换设备的次数,在最近设备上的累计使用时间,所进行的操作行为的种类总数,等等。
第二输入层41可以将这样的综合特征信息整理为向量的形式,作为第四嵌入向量Q。或者,第二输入层41也可以采用一定的编码算法或嵌入算法,对上述综合特征信息进行形式上的变换,从而表示为第四嵌入向量Q。
与深度部分中多层网络处理不同的,该第四嵌入向量Q被直接输入到输出层24。在该实施例中,输出层24根据深度部分得到的处理向量P以及宽度部分得到的第四嵌入向量Q,确定当前操作事件的评估结果。具体地,输出层24可以首先对处理向量P和第四嵌入向量Q进行组合,包括拼接、线性组合等,然后基于组合得到的向量进行线性变换或函数变换,从而得到对当前操作事件的评估结果。
通过图4中宽度和深度相结合的神经网络结构,可以进一步提升风险度评估的准确性。
根据另一方面的实施例,还提供一种通过神经网络系统对用户操作事件进行风险评估的方法。图5示出根据一个实施例的用户操作事件评估的流程图。该方法可以由任何具有计算、处理能力的设备、装置、平台、设备集群来实现,例如图1所示的计算平台。如图5所示,该方法包括以下步骤:
在步骤51,获取第一事件序列,所述第一事件序列包括按照时间顺序依次排列的第一用户的多个操作事件,所述多个操作事件包括有待评估的当前操作事件,以及至少一个历史操作事件,每个操作事件具有对应的多项属性信息;
在步骤52,对于所述多个操作事件中各个操作事件,将该操作事件的多项属性信息转换为对应的多个特征向量,对所述多个特征向量进行第一向量组合,得到该操作事件对应的第一嵌入向量,其中所述第一向量组合包括,涉及N个特征向量相乘的N阶向量间组合运算,其中N>=2;
在步骤53,对所述多个操作事件对应的多个第一嵌入向量进行第二向量组合,得到所述第一事件序列对应的第二嵌入向量;
在步骤54,对所述第二嵌入向量进行处理,得到处理向量;
在步骤55,至少根据所述处理向量,确定所述当前操作事件的风险评估结果。
在一个实施例中,所述第一事件序列中的至少一个历史操作事件是从所述当前操作事件向前回溯预定范围中的历史操作事件,所述预定范围包括预定时间范围和/或预定事件数量。
在一个实施例中,所述多项属性信息可以包括以下中的多项:用户操作行为的行为类型,行为时间,用户操作所使用的设备信息,浏览器类型,app版本,交易行为的涉及金额,付款渠道,交易对象。
进一步的,各个历史操作事件的多项属性信息还可以包括,历史操作事件的操作结果。
根据一个实施例,多项属性信息中可以包括第一属性信息,所述第一属性信息的属性取值为有限多个。在这样的情况下,步骤52中将操作事件的多项属性信息转换为对应的多个特征向量可以包括,采用独热one-hot编码,将所述第一属性信息编码为对应的特征向量。
根据一个实施例,多项属性信息中可以包括第二属性信息,所述第二属性信息包括描述属性的文字。在这样的情况下,步骤52中将操作事件的多项属性信息转换为对应的多个特征向量包括:通过卷积神经网络CNN或循环神经网络RNN对所述第二属性信息进行词嵌入,得到对应的特征向量。
根据一种实施方式,步骤52中对多个特征向量进行第一向量组合,得到该操作事件对应的第一嵌入向量,可以包括:
对所述多个特征向量进行线性组合运算,以及进行N阶之内的向量间组合运算;
将各组合运算的结果求和,作为所述第一嵌入向量。
根据一种实施方式,步骤53中进行的第二向量组合可以包括:利用基于时序的神经网络,依次迭代处理所述多个操作事件对应的多个第一嵌入向量,得到所述第二嵌入向量。
根据另一种实施方式,步骤53中进行的第二向量组合可以包括:
对所述多个第一嵌入向量进行线性组合运算,以及进行M阶之内的向量间组合运算,基于各组合运算的求和,得到所述第二嵌入向量,其中M>=2。
根据又一种实施方式,步骤53中进行的第二向量组合可以包括:
对所述至少一个历史操作事件对应的至少一个第一嵌入向量进行第三向量组合,得到第三嵌入向量;
将所述第三嵌入向量与所述当前操作事件对应的第一嵌入向量进行第四向量组合,得到所述第二嵌入向量。
在一个进一步的实施例中,上述第三组合可以包括:利用基于时序的神经网络,依次迭代处理所述至少一个第一嵌入向量,得到所述第三嵌入向量。
在另一个进一步的实施例中,上述第三组合可以包括:对所述至少一个第一嵌入向量进行线性组合运算,以及M阶之内的向量间组合运算,基于各组合运算的求和,得到所述第三嵌入向量,其中M>=2。
在一个实施例中,所述第四向量组合包括,向量拼接,或向量线性组合。
根据一种实施方式,上述方法还包括:获取与所述第一用户有关的综合特征信息,并将所述综合特征信息表示为第四嵌入向量。在这样的情况下,前述的确定评估结果的步骤55可以实现为,根据所述处理向量以及所述第四嵌入向量,确定所述当前操作事件的评估结果。
根据一个实施例,所述综合特征信息包括,所述第一用户的属性特征,以及所述第一用户的历史操作事件的统计特征。
通过以上方法,可以基于事件序列中各个事件的全面的属性信息进行分层次地特征提取和组合,其中引入有高阶向量间组合运算,从而使得组合后的向量更好地表征事件和事件序列的特点,基于这样的向量进行风险评估可以得到更有效的评估结果。
根据另一方面的实施例,提供了一种对用户操作事件进行风险评估的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图6示出根据一个实施例的风险评估装置的示意性框图。如图6所示,该装置600包括:
序列获取单元61,配置为获取第一事件序列,所述第一事件序列包括按照时间顺序依次排列的第一用户的多个操作事件,所述多个操作事件包括有待评估的当前操作事件,以及至少一个历史操作事件,每个操作事件具有对应的多项属性信息;
第一嵌入单元62,配置为对于所述多个操作事件中各个操作事件,将该操作事件的多项属性信息转换为对应的多个特征向量,对所述多个特征向量进行第一向量组合,得到该操作事件对应的第一嵌入向量,其中所述第一向量组合包括,涉及N个特征向量相乘的N阶向量间组合运算,其中N>=2;
第二嵌入单元63,配置为对所述多个操作事件对应的多个第一嵌入向量进行第二向量组合,得到所述第一事件序列对应的第二嵌入向量;
处理单元64,配置为对所述第二嵌入向量进行处理,得到处理向量;
确定单元65,配置为至少根据所述处理向量,确定所述当前操作事件的风险评估结果。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图5所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。