事件序列数据的处理方法、装置、电子设备与流程

专利2022-06-29  68


本申请涉及机器学习技术领域,尤其涉及事件序列数据的处理方法、装置、电子设备。



背景技术:

机器学习技术在过去十年中发生了显著的变化,从在实验室的纯粹的学术研究到广泛应用在各个生产领域,比如:金融行业、电商零售行业,it行业,医疗行业等。机器学习模型本质上就是一种算法,该算法试图从数据中学习潜在模式和关系,而不是通过代码构建一成不变的规则。

伴随互联网以及移动互联网的发展和普及,互联网以及移动互联网的各种应用(比如:app应用或web应用)也被广泛使用。用户可以通过在各种应用进行对应的业务操作。例如,用户可以通过支付宝应用,进行支付、转账、商户签约等业务对应的业务操作。



技术实现要素:

本申请提供一种事件序列数据的处理方法,所述方法包括:

为预设的事件集中包含的各事件分别生成对应的初始化特征向量;

从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;

将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;

基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

可选的,所述共现概率,为事件序列数据所包含的各目标事件,与所述各目标事件以外的各其它事件,在所述事件序列数据中共同出现的概率;

所述共现矩阵的行对应各目标事件,所述共现矩阵的列对应各目标事件以外的各其它事件;或者,所述共现矩阵的列对应各目标事件,所述共现矩阵的行对应各目标事件以外的各其它事件。

可选的,所述各目标事件包括,将预设大小的滑动窗口在所述事件序列数据中进行滑动时,所述滑动窗口的中心事件;

所述方法还包括:

将预设大小的滑动窗口在所述事件序列数据中进行滑动,并确定每次滑动时所述滑动窗口的中心事件;

依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率。

可选的,所述依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率,包括:

统计所述事件序列数据中包含的各中心事件以外的各其它事件,与所述中心事件的事件距离;

基于所述各其它事件与所述中心事件的事件距离,依次计算所述各其它事件与所述中心事件的共现概率。

可选的,利用所述各其它事件与所述中心事件的事件距离的倒数,表征所述各其它事件与所述中心事件的共现概率。

可选的,所述为预设的事件集中包含的各事件分别生成对应的初始化特征向量,包括:

为预设的事件集中包含的各事件分别随机生成对应的初始化特征向量。

可选的,所述将所述共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量,包括:

迭代执行以下训练步骤,直到得到与所述事件集中包含的各事件对应的输入特征向量:

将所述共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值;其中,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量,逼近所述共现概率的程度;

调整所述初始化特征向量,求解所述损失函数的输出值的最小值;

将求解出所述最小值时,输入至所述损失函数的调整后的所述初始化特征向量,确定为与所述共现概率相关的事件对应输入特征向量。

可选的,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量的内积,逼近所述共现概率的对数的程度;

所述将所述共现矩阵中包含的共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值,包括:

计算与所述共现概率相关的事件对应的初始化特征向量内积,并将计算出的所述内积输入至以所述共现概率的对数作为约束的损失函数,计算所述损失函数的输出值。

可选的,所述损失函数基于以下公式表征:

其中,j表示损失函数的输出值;i和j表示所述事件集中任意的两个事件;表示事件i与事件j分别对应的初始化特征向量的内积;c(i,j)表示事件i和j在所述共现矩阵中的共现概率;e的取值大小为m2;m表示所述事件集包含的各事件的类别总数;f(x)表示权重函数。

可选的,所述f(x)为以所述共现矩阵中包含的c(i,j)为变量的区间函数。

可选的,所述f(x)基于以下公式表征:

其中,d表示0或者趋于0的极小值;s表示与所述共现矩阵中包含的c(i,j)对应的阈值。

可选的,所述基于所述事件集所包含的事件对应的输入特征向量,对所述事件序列数据集合中的各事件序列数据进行编码,包括:

基于与所述事件集所包含的各事件对应的输入特征向量,按照所述事件序列数据中的各事件的排列顺序进行向量拼接,得到与所述事件序列数据对应的事件序列向量。

可选的,所述事件包括用户针对用户账户的操作行为事件;所述机器学习模型为针对用户账户进行风险识别的风险识别模型。

可选的,所述事件序列数据集合包括正常的事件序列数据集合和异常的事件序列数据集合;

相应的,所述共现矩阵包括与从正常的事件序列数据集合中读取到的事件序列数据对应的第一共现矩阵,和与从异常的事件序列数据集合中读取到的事件序列数据对应的第二共现矩阵;

所述为预设的事件集中包含的各事件分别生成对应的初始化特征向量,包括:

为预设的事件集中包含的事件,分别生成与第一共现矩阵对应的初始化特征向量、与第二共现矩阵对应的初始化特征向量。

可选的,所述将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量,包括:

基于预设的与所述第一共现矩阵对应的第一损失函数,以所述第一共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第一共现矩阵对应的所述事件集中包含的各事件对应的第一输入特征向量;

基于预设的与所述第二共现矩阵对应预设的第二损失函数,以所述第二共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第二共现矩阵对应的所述事件集中包含的各事件对应的第二输入特征向量;

将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量。

可选的,所述将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量,包括:

将第一输入特征向量和第二输入特征向量,纵向拼接生成与所述事件集中包含的各事件对应的输入特征向量。

本申请还提供一种事件序列数据的处理装置,所述装置包括:

生成模块,为预设的事件集中包含的各事件分别生成对应的初始化特征向量;

计算模块,从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;

训练模块,将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;

编码模块,基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

可选的,所述共现概率,为事件序列数据所包含的各目标事件,与所述各目标事件以外的各其它事件,在所述事件序列数据中共同出现的概率;

所述共现矩阵的行对应各目标事件,所述共现矩阵的列对应各目标事件以外的各其它事件;或者,所述共现矩阵的列对应各目标事件,所述共现矩阵的行对应各目标事件以外的各其它事件。

可选的,所述各目标事件包括,将预设大小的滑动窗口在所述事件序列数据中进行滑动时,所述滑动窗口的中心事件;

所述计算模块进一步:

将预设大小的滑动窗口在所述事件序列数据中进行滑动,并确定每次滑动时所述滑动窗口的中心事件;

依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率。

可选的,所述计算模块进一步:

统计所述事件序列数据中包含的各中心事件以外的各其它事件,与所述中心事件的事件距离;

基于所述各其它事件与所述中心事件的事件距离,依次计算所述各其它事件与所述中心事件的共现概率。

可选的,利用所述各其它事件与所述中心事件的事件距离的倒数,表征所述各其它事件与所述中心事件的共现概率。

可选的,所述生成模块进一步:

为预设的事件集中包含的各事件分别随机生成对应的初始化特征向量。

可选的,所述训练模块进一步:

迭代执行以下训练步骤,直到得到与所述事件集中包含的各事件对应的输入特征向量:

将所述共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值;其中,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量,逼近所述共现概率的程度;

调整所述初始化特征向量,求解所述损失函数的输出值的最小值;

将求解出所述最小值时,输入至所述损失函数的调整后的所述初始化特征向量,确定为与所述共现概率相关的事件对应输入特征向量。

可选的,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量的内积,逼近所述共现概率的对数的程度;

所述训练模块进一步:

计算与所述共现概率相关的事件对应的初始化特征向量内积,并将计算出的所述内积输入至以所述共现概率的对数作为约束的损失函数,计算所述损失函数的输出值。

可选的,所述损失函数基于以下公式表征:

其中,j表示损失函数的输出值;i和j表示所述事件集中任意的两个事件;表示事件i与事件j分别对应的初始化特征向量的内积;c(i,j)表示事件i和j在所述共现矩阵中的共现概率;e的取值大小为m2;m表示所述事件集包含的各事件的类别总数;f(x)表示权重函数。

可选的,所述f(x)为以所述共现矩阵中包含的c(i,j)为变量的区间函数。

可选的,所述f(x)基于以下公式表征:

其中,d表示0或者趋于0的极小值;s表示与所述共现矩阵中包含的c(i,j)对应的阈值。

可选的,所述编码模块进一步:

基于与所述事件集所包含的各事件对应的输入特征向量,按照所述事件序列数据中的各事件的排列顺序进行向量拼接,得到与所述事件序列数据对应的事件序列向量。

可选的,所述事件包括用户针对用户账户的操作行为事件;所述机器学习模型为针对用户账户进行风险识别的风险识别模型。

可选的,所述事件序列数据集合包括正常的事件序列数据集合和异常的事件序列数据集合;

相应的,所述共现矩阵包括与从正常的事件序列数据集合中读取到的事件序列数据对应的第一共现矩阵,和与从异常的事件序列数据集合中读取到的事件序列数据对应的第二共现矩阵;

所述生成模块进一步:

为预设的事件集中包含的事件,分别生成与第一共现矩阵对应的初始化特征向量、与第二共现矩阵对应的初始化特征向量。

可选的,所述训练模块进一步:

基于预设的与所述第一共现矩阵对应的第一损失函数,以所述第一共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第一共现矩阵对应的所述事件集中包含的各事件对应的第一输入特征向量;

基于预设的与所述第二共现矩阵对应预设的第二损失函数,以所述第二共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第二共现矩阵对应的所述事件集中包含的各事件对应的第二输入特征向量;

将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量。

可选的,所述训练模块进一步:

将第一输入特征向量和第二输入特征向量,纵向拼接生成与所述事件集中包含的各事件对应的输入特征向量。

本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。

本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。

通过以上实施例,基于为预设的事件集中包含的各事件分别生成对应的初始化特征向量;从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算;一方面,提高了事件编码对用户正常行为和异常行为的双层表征的信息密度,并克服了稀疏编码带来的低信息密度和维度灾难;另一方面,仅需少量事件序列数据可以进行事件及事件序列数据的编码计算,提高了编码效率。

附图说明

图1是一示例性实施例提供的一种事件序列数据的处理方法的流程图;

图2是一示例性实施例提供的一种的一个事件序列数据的滑动窗口的示意图;

图3是一示例性实施例提供的一种电子设备的硬件结构图;

图4是一示例性实施例提供的一种事件序列数据的处理装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的事件序列数据的处理的相关技术,进行简要说明。

通常在实际应用中,在用户基于应用进行业务操作过程中,用户账户的操作行为事件(比如:登录支付宝应用、修改密码、提现等)可以被应用后台记录并保存,以使应用后台可以基于机器学习技术构建的风险识别模型,对用户进行风险识别。例如,基于搭载的机器学习模型作为对用户账户进行风险识别的风险识别模型,并进行模型训练,应用后台基于训练完成的风险识别模型进行风险识别,从而预测出操作行为异常的用户账户。

然而,用户账户的操作行为事件是一种基于人类语言的口头表达,在其应用于风险识别模型中进行训练和预测前,需要对该行为事件(后续简称“事件”)进行编码。

而目前最常用的一种编码方式为one-hot编码。one-hot编码是一种常用的、极度稀疏的高维度编码方式。

在实现时,在对事件进行one-hot编码时,得到与事件对应的事件编码的长度为所有事件类别的总数,对某一特定事件的编码为对应位置置1其余位置置0。

例如,在实际应用中,有n个类别事件(用户登陆、修改密码、提现、创建二维码、删除记录、...、退出登录),则基于one-hot编码输出的事件编码的长度为n,也即,事件编码的位数包括1、2、3、...n。定义“用户登陆”事件对应的事件编码的位数1的值对应为1,定义“修改密码”事件为对应的事件编码的位数2的值对应为1,以此类推。基于one-hot编码输出的n个类别事件(用户登陆、修改密码、提现、创建二维码、...、退出登录)分别对应的事件编码,请参见以下表1示例:

表1

如表1所示,[10…000]表征“用户登陆”事件,[01…000]表征“修改密码”事件,[001…00]表征“提现”事件,[0001…0]表征“创建二维码”事件,[00001…0]表征“删除记录”事件,...,[00000…1]表征“退出登录”事件。

基于以上示出的基于one-hot编码方式进行事件编码的过程可见,one-hot编码方式存在以下几个缺点:

1)维度灾难

由于要保证编码的区分性,one-hot编码的结果长度会和事件集合的总事件数的增加呈线性增长,也即,事件类别数目越多,事件编码的长度就越长,浪费的存储空间就越多,在后续计算中也会增大风险识别模型的输入层的复杂度。

2)信息密度低

从以上示出的one-hot编码过程可见,每一个编码的结果只有一个位置是为1,其余的位置都为0,在事件类别数量极大时,每个编码就只有一位是具有有效值,由此可见,one-hot编码的信息密度是相当低的;

3)无法表征事件关联语义

从以上示出的one-hot编码过程可见,由于one-hot的编码过程中并没有考虑到某单个事件在发生事件序列(事件序列,比如包括:用户登陆、修改密码、提现、创建二维码、删除记录、...、退出登录)中的上下文(该单个事件前后发生的其它事件),因此,基于one-hot编码方式的事件编码,无法表征某单个事件在事件序列中和其他事件的关联语义。

当然,除了one-hot编码进行事件编码外,通常还可以基于embedding(嵌入)编码方式进行事件编码。embedding编码方式,是一种把高维数据或离散数据转换至低维数据或连续数据的一种计算方法,其广泛应用在自然语言处理、生物信息学等领域中。embedding编码方式的核心本质为,一种利用机器学习的方法从序列中学习每一个序列元素的低维高密度特征的编码方法。具体基于embedding编码方式进行编码的原理过程,请参见embedding编码方式相关的技术文档,这里不再赘述。

通常基于embedding编码方式进行事件编码方时,通常需要基于真实的用户事件序列集合构建乱序随机的随机事件序列集合;然后,将用户事件序列集合及随机事件序列集合所分别包含的事件序列,以及,与事件序列分别对应的标签(标签指示事件序列是否为真实用户行为,比如:是真实用户行为的事件序列,则对应标签值为1,否则,对应标签值为0),作为训练样本输入到对应事件编码模型中,并以标签值作为约束进行训练,从而得到基于embedding编码的事件编码。基于以上描述的基于embedding编码的事件编码过程相比基于one-hot编码的事件编码过程可以较大地降低事件编码的维度以及提升事件编码的信息密度,然而存在仅基于用户正常行为对应的正常事件序列的进行采样及编码的缺点,无法表征用户异常行为对应的异常事件序列的特征及事件关联;以及,存在需要额外的机器学习模型进行间接学习输出事件编码的编码效率较低的问题。

基于此,而本说明书旨在提出一种,基于从事件序列数据集合中的读取到的事件序列数据和与该事件序列数据对应的计算得到的共现矩阵,对事件集中包含的事件对应的特征向量进行向量训练,并对事件序列数据进行编码的技术方案,以使编码完成的具有表征用户的正常及异常的双层行为特征的事件序列数据用于作为输入数据输入至机器学习模型进行快速计算。

在实现时,为预设的事件集中包含的各事件分别生成对应的初始化特征向量;从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵。

进一步地,将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;

进一步地,基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

在以上技术方案中,基于为预设的事件集中包含的各事件分别生成对应的初始化特征向量;从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算;一方面,提高了事件编码对用户正常行为和异常行为的双层表征的信息密度,并克服了稀疏编码带来的低信息密度和维度灾难;另一方面,仅需少量事件序列数据可以进行事件及事件序列数据的编码计算,提高了编码效率。

下面通过具体实施例并结合具体的应用场景对本说明书进行描述。

请参考图1,图1是本说明书一实施例提供的一种事件序列数据的处理方法的流程图,所述方法应用于事件序列数据处理端,上述方法执行以下步骤:

步骤102、为预设的事件集中包含的各事件分别生成对应的初始化特征向量。

步骤104、从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵。

步骤106、将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量。

步骤108、基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

在本说明书中,上述事件,可以包括任何事件类型的事件。

在示出的一种实施方式中,上述事件可以包括用户针对用户账户的操作行为事件。

例如,在实际应用中,上述事件可以包括用户针对用户账户的以下操作行为事件中的任何一种:用户登陆、修改密码、提现、创建二维码、删除记录、...、退出登录。

当然,在实际应用中,上述事件也可以包括用户无需登录用户账户进行的操作行为事件。上述事件的类型及操作场景,在本说明书中不作具体限定。

在本说明书中,上述事件集,是指包括事件类型不同的上述事件的集合。

例如,上述事件可以包括用户针对用户账户的以下操作行为事件中的任何一种:用户登陆、修改密码、提现、创建二维码、删除记录、...、退出登录,则上述事件集可以为{“用户登陆”、“修改密码”、“提现”、“创建二维码”、“删除记录”、...、“退出登录”}。

需要说明的是,上述事件集为预设的、上述事件对应的事件类型的全集,也即,上述事件集所包括的多个上述事件的事件类型不能重复。

在本说明书中,上述事件序列数据,为包括多个上述事件,按任意组合及数量所构建的事件序列。

例如,在实际应用中,当上述事件包括操作行为事件(比如:用户登陆ea、修改密码eb、提现ec、创建二维码ed、删除记录ee、...、退出登录en)中的任何一种时,上述事件序列数据可以包括多个上述事件,按任意组合及数量所构建的事件序列,比如:上述事件序列数据可以包括:[ea、eb]、[ea、eb、ec]、[eb、ec、ed、ee、en]、[ea、en]或者[ea、eb、ec、ed、ee、...、en]、[ea、ed、ec、ec、ee、ec、ee、ec、ee]中的任意一个。

需要说明的是,上述事件序列数据的序列长度(也即,构建上述事件序列数据的上述事件的数量)和序列内容(也即,构建上述事件序列数据的上述事件的排列组合),在本说明书中,不作具体限定。

在本说明书中,上述事件序列数据集合,为包括1个或多个上述事件序列数据的集合。

接着以上示例继续举例,上述事件序列数据可以为[ea、eb]、[ea、eb、ec]、[eb、ec、ed、ee、en]、[ea、en]、[ea、eb、ec、ed、ee、...、en]、[ea、ed、ec、ec、ee、ec、ee、ec、ee]中的任意一个,则上述事件序列数据集合可以为{[ea、eb]、[ea、eb、ec]、[eb、ec、ed、ee、en]、[ea、en]、[ea、eb、ec、ed、ee、...、en]、[ea、ed、ec、ec、ee、ec、ee、ec、ee]}或者任意数量的上述事件序列数据的集合。

需要说明的是,上述事件序列数据集合的集合元素个数(也即,构建上述事件序列数据集合的上述事件序列数据的数量)和每个集合元素内容(也即,上述事件序列数据集合中的每个上述事件序列数据的序列内容),在本说明书中,不作具体限定。

在示出的一种实施方式中,上述事件序列数据集合包括正常的事件序列数据集合和异常的事件序列数据集合;

其中,上述正常的事件序列数据集合是指,由与用户针对用户账户的正常操作行为对应的上述事件构建对应正常的上述事件序列数据,并由正常的上述事件序列数据构建对应正常的事件序列数据集合;

上述异常的事件序列数据集合是指,由与用户针对用户账户的异常操作行为对应的上述事件构建对应异常的上述事件序列数据,并由异常的上述事件序列数据构建对应异常的事件序列数据集合。

需要说明的是,上述正常的事件序列数据集合和上述异常的事件序列数据的集合的表现形式,与以上示例的事件序列数据集合类似,具体不再赘述。

在本说明书中,上述事件序列数据处理端,可以包括对上述事件序列数据集合进行事件序列数据的处理的机器或机器集群。

例如,在实际应用中,上述事件序列数据处理端可以为对上述事件序列数据集合进行事件序列数据的处理的、部署在本地或云端的机器或机器集群。

在本说明书中,上述事件序列数据处理端为上述事件集中包含的各事件分别生成对应的初始化特征向量;

其中,上述初始化特征向量,也即,与上述事件集中包含的各事件分别对应的事件编码。事件编码的具体概念,请参见前文描述,这里不再赘述。

例如,在实际应用中,上述事件集可以为{“用户登陆”、“修改密码”、“提现”、“创建二维码”、“删除记录”、...、“退出登录”},则与上述事件集中包含的事件分别对应的初始化特征向量,对应可以为{“用户登陆”对应的初始化特征向量ea_iv、“修改密码”对应的初始化特征向量eb_iv、“提现”对应的初始化特征向量ec_iv、“创建二维码”对应的初始化特征向量ed_iv、“删除记录”对应的初始化特征向量ee_iv、...、“退出登录”对应的初始化特征向量en_iv}。

需要说明的是,与上述事件集中包含的各事件分别对应的初始化特征向量的向量的长度,可以基于用户配置来设置,在本说明书中不作具体限定。

在示出的一种实施方式中,在为上述事件集中包含的各事件分别生成对应的初始化特征向量的过程中,上述事件序列数据处理端为上述事件集中包含的各事件分别随机生成对应的初始化特征向量。

在实现时,上述事件序列数据处理端为上述事件集中包含的各事件分别随机生成对应的初始化特征向量;其中,每个初始化特征向量的向量内容为随机值。

例如,在实际应用中,上述事件集可以为{“用户登陆”、“修改密码”、“提现”、“创建二维码”、“删除记录”、...、“退出登录”},则与上述事件集中包含的各事件分别对应的初始化特征向量,对应可以为{“用户登陆”对应的初始化特征向量ea_iv、“修改密码”对应的初始化特征向量eb_iv、“提现”对应的初始化特征向量ec_iv、“创建二维码”对应的初始化特征向量ed_iv、“删除记录”对应的初始化特征向量ee_iv、...、“退出登录”对应的初始化特征向量en_iv};其中,ea_iv、eb_iv、ec_iv、ed_iv、ee_iv、...、及ec_iv,分别对应的向量内容为随机值。

在本说明书中,上述共现概率,是指上述事件集中的任意两个上述事件,在上述事件序列数据集合中读取到的上述事件序列数据中,同时出现的概率。

例如,在实际应用中,上述事件集可以为{ea、eb、ec、ed、ee、...、en};其中,ea表征“用户登陆”事件、eb表征“修改密码”事件、ec表征“提现”事件、ed表征“创建二维码”事件、ee表征“删除记录”事件、...、en表征“退出登录”事件;上述事件序列数据集合中读取到的上述事件序列数据可以包括:{[ea、eb]、[ea、eb、ec]、[eb、ec、ed、ee、en]、[ea、en]、[ea、eb、ec、ed、ee、...、en]、[ea、ed、ec、ec、ee、ec、ee、ec、ee]};则上述共现概率为{ea、eb、ec、ed、ee、...、en}事件集中的任意两个事件,在事件序列数据集合中读取到的事件序列数据:{[ea、eb]、[ea、eb、ec]、[eb、ec、ed、ee、en]、[ea、en]、[ea、eb、ec、ed、ee、...、en]、[ea、ed、ec、ec、ee、ec、ee、ec、ee]}中,同时出现的概率。

在示出的一种实施方式中,上述共现概率,为上述事件序列数据所包含的各目标事件,与上述各目标事件以外的各其它事件,在上述事件序列数据中共同出现的概率。

在实现时,上述事件序列数据所包含的各目标事件可以为上述事件序列数据中的各事件a,与上述各目标事件以外的各其它事件可以为上述事件序列数据中的各事件a以外的各其它事件b,上述共现概率为各事件a与各其它事件b在上述事件序列数据中共同出现的概率。

以事件序列数据为{ea、ed、ec、ec、ee、ec、ee、ec、ee]}进行举例说明,上述事件序列数据所包含的各目标事件可以为该事件序列数据中的每个事件(ea、ed、ec、ec、ee、ec、ee、ec、ee),当目标事件为该事件序列数据中的最左侧的ea时,则该目标事件以外的各其它事件包括除ea以外的事件(ed、ec、ec、ee、ec、ee、ec、ee),该目标事件与该目标事件以外的各其它事件的共现概率为:“最左侧的ea”,分别与“ed、ec、ec、ee、ec、ee、ec、ee”中的每个事件同时出现的概率;

类似地,当目标事件为该事件序列数据中的最左侧的ed时,则该目标事件以外的各其它事件包括除ed以外的事件(ea、ec、ec、ee、ec、ee、ec、ee),该目标事件与该目标事件以外的各其它事件的共现概率为:“最左侧的ed”,分别与“ea、ec、ec、ee、ec、ee、ec、ee”中的每个事件同时出现的概率;

类似地,当目标事件为该事件序列数据中的最左侧的ec时,则该目标事件以外的各其它事件包括除该ec以外的事件(ea、ed、该事件序列数据中的从左数第二个ec、ee、该事件序列数据中的从左数第三个ec、ee、该事件序列数据中的从左数第四个ec、ee),该目标事件与该目标事件以外的各其它事件的共现概率为:“最左侧的ec”,分别与“ea、ed、该事件序列数据中的从左数第二个ec、ee、该事件序列数据中的从左数第三个ec、ee、该事件序列数据中的从左数第四个ec、ee”中的每个事件同时出现的概率。

需要说明的是,当目标事件可以为该事件序列数据中从左到右的各事件(ea、ed、ec、ec、ee、ec、ee、ec、ee),上述共现概率,为该事件序列数据所包含的各目标事件,与上述各目标事件以外的各其它事件,在该事件序列数据中共同出现的概率;具体过程与以上示例类似,不再赘述。

在本说明书中,上述共现矩阵,是指与上述事件序列数据集合中读取到的上述事件序列数据对应共享的,以上述共现概率作为矩阵元素的共现矩阵。

例如,以上述事件集为{ea、eb、ec、ed、ee、...、en},上述事件序列数据集合中读取到的多个上述事件序列数据multieventseqdata:{[ea、eb]、[ea、eb、ec]、[eb、ec、ed、ee、en]、[ea、en]、[ea、eb、ec、ed、ee、...、en]、[ea、ed、ec、ec、ee、ec、ee、ec、ee]}为基础的背景下进行示例,则上述共现矩阵,请参见如下表1所示示例:

表1

如表1所示,表1的行代表上述共现矩阵的行;表1的列代表上述共现矩阵的列。表1中的某行与某列交叉对应的单元格表征上述共现矩阵的某个事件与其它事件在multieventseqdata中同时出现的共现概率,例如:ea&ea共现概率,表征ea与ea在multieventseqdata中同时出现的共现概率,类似地,表1中具有“xx&xx共现概率”样式的其它单元格表征:上述事件集为{ea、eb、ec、ed、ee、...、en}中的任意两个事件,在multieventseqdata中同时出现的共现概率,具体不再赘述。

在本说明书中,在为上述事件集中包含的事件分别生成对应的初始化特征向量后,上述事件序列数据处理端从上述事件序列数据集合中依次读取上述事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵。

接着以上示例继续举例,上述事件序列数据处理端从上述事件序列数据集合中依次读取事件序列数据,并计算与读取到的事件序列数据multieventseqdat对应的如表1所示例的共现矩阵。

在示出的一种实施方式中,在计算生成上述共现矩阵的过程中,上述事件序列数据处理端可以以上述共现矩阵的行对应为读取到的事件序列数据所包含的各目标事件,上述共现矩阵的列对应为读取到的事件序列数据所包含的各目标事件以外的各其它事件。

接着以上示例继续举例,上述事件序列数据处理端可以以如表1所示的共现矩阵的行对应读取到的事件序列数据multieventseqdata中的每个事件序列数据的中心事件,如表1所示的共现矩阵的列对应读取到的事件序列数据multieventseqdata中的每个事件序列数据的中心事件以外的各其它事件,进行共现概率计算。

在示出的另一种实施方式中,在计算生成上述共现矩阵的过程中,上述事件序列数据处理端也可以以上述共现矩阵的列为读取到的事件序列数据所包含的各目标事件,上述共现矩阵的行对应为读取到的事件序列数据所包含的各目标事件以外的各其它事件,进行共现概率计算。

接着以上示例继续举例,上述事件序列数据处理端可以以如表1所示的共现矩阵的列对应为读取到的事件序列数据multieventseqdata中的每个事件序列数据的中心事件,如表1所示的共现矩阵的行对应为读取到的事件序列数据multieventseqdata中的每个事件序列数据的中心事件以外的各其它事件,进行共现概率计算。

需要说明的是,上述各目标事件,是指上述事件序列数据处理端读取到的事件序列数据所包含的每个事件序列数据的目标事件;上述各其它事件,是指上述事件序列数据处理端读取到的事件序列数据所包含的每个事件序列数据中的除目标事件以外的其它事件。重点关注的是,上述各其它事件与上述各目标事件的事件类型可以相同或不同。

在示出的一种实施方式中,上述各目标事件包括,将预设大小的滑动窗口在上述事件序列数据中进行滑动时,上述滑动窗口的中心事件。

接着以上示例描述,以上述读取到的上述事件序列数据为multieventseqdata,multieventseqdata中的一个事件序列数据eventseqdata1为[ea、ed、ec、ec、ee、ec、ee、ec、ee]为例进行说明,事件序列数据eventseqdata1中的目标事件,是指预设大小(比如:窗口长度为7)的滑动窗口在事件序列数据eventseqdata1进行滑动时,该滑动窗口的中心事件为:该滑动窗口长度为窗口中心位置所对应的事件。

为了更清楚地描述理解,事件序列数据eventseqdata1的滑动窗口和滑动窗口的中心事件,请参见以下图2所示。

图2是本说明书一实施例提供的一示例性实施例提供的一种的一个事件序列数据的滑动窗口的示意图。

如图2所示,事件序列数据eventseqdata1包括[ea、ed、ec、ec、ee、ec、ee、ec、ee];其中,eventseqdata1中的每个序列元素为具有用户操作上下文的事件;事件序列数据eventseqdata1的滑动窗口为如图2所示的虚线框所示,该滑动窗口的窗口长度为7,也即,该滑动窗口在滑动时对应事件序列数据eventseqdata1中的7个事件。

如图2所示的“滑动方向”,表征该滑动窗口从事件序列数据eventseqdata1的左侧到右侧进行滑动。当该滑动窗口滑动到如图2的滑动位置时,该滑动窗口的中间位置对应的事件序列数据eventseqdata1的事件ee为滑动窗口的中心事件(如图2中带斜线的ee)。

需要说明的是,上述滑动窗口在读取到的上述事件序列数据中的每个事件序列数据分别进行滑动时,上述滑动窗口的中心事件也在不断变化。

接着以上示例继续举例,当滑动窗口在事件序列数据eventseqdata1的滑动位置从如图2所示滑动位置向右滑动时,则如图2的滑动窗口的中心事件将由ee,变为紧挨ee右侧的ec。

需要说明的是,上述事件序列数据中包含的上述中心事件以外的各其它事件,是指在读取到的上述事件序列数据multieventseqdata中的每个序列数据中包含的滑动窗口的中心事件以外的各其它事件。比如:如图2所示,当事件序列数据eventseqdata1的滑动窗口的中心事件为ee(带斜线的ee)时,中心事件ee(带斜线的ee)以外的其它事件包括如图2所示滑动窗口中的除ee(带斜线的ee)外其它事件,具体包括:如图2所示滑动窗口中的ee(带斜线的ee)左侧的ed、ec、ec,如图2所示滑动窗口中的ee(带斜线的ee)右侧的ec、ee(不带斜线的ee)、ec。

在本说明书,进一步地,在计算计算与读取到的上述事件序列数据对应的共现矩阵的过程中,上述事件序列数据处理端将预设大小的滑动窗口在上述事件序列数据中的各事件序列数据中进行滑动,依次计算上述滑动窗口的中心事件,与上述事件序列数据中包含的上述中心事件以外的各其它事件,在上述事件序列数据中的共现概率。

接着以上示例继续举例,上述事件序列数据处理端将预设大小的滑动窗口在事件序列数据eventseqdata1进行滑动,并依次计算上述滑动窗口的中心事件,与各事件序列数据中包含的上述中心事件以外的各其它事件,在事件序列数据eventseqdata1中的共现概率。

需要说明的是,以上示例仅描述了,滑动窗口在读取到的上述事件序列数据中的一个事件序列数据进行滑动时的一个滑动位置上的,所包括的滑动窗口的中心事件与该中心事件以外的各其它事件,在该事件序列数据中的共现概率。

类似的,针对上述事件序列数据处理端读取到的上述事件序列数据中的每个事件序列数据都分别对应存在与事件序列数据eventseqdata1类似的滑动窗口、滑动窗口的中心事件、滑动窗口的中心事件以外的各其它事件。

在示出的一种实施方式中,在依次计算,上述滑动窗口的中心事件,与,上述事件序列数据中包含的,上述中心事件以外的各其它事件,在上述事件序列数据中的共现概率的过程中,上述事件序列数据处理端统计上述事件序列数据中包含的各中心事件以外的各其它事件,与上述中心事件的事件距离;基于上述各其它事件与上述中心事件的事件距离,依次计算上述各其它事件与上述中心事件的共现概率。

以读取到的上述事件序列数据为multieventseqdata,multieventseqdata中的一个事件序列数据eventseqdata1为[ea、ed、ec、ec、ee、ec、ee、ec、ee]为例继续说明,请参见图2,当滑动窗口在事件序列数据eventseqdata1进行从左到右的滑动的过程中,上述事件序列数据处理端在该滑动窗口每次滑动时确定该滑动窗口的中心事件;以及,与各事件序列数据中包含的上述中心事件以外的各其它事件;接着,统计该各其它事件与该中心事件的事件距离;然后,基于该其它事件与该中心事件的事件距离,分别计算该其它事件与该中心事件的共现概率。

与以上示例的事件序列数据eventseqdata1计算共现概率的过程类似,上述事件序列数据处理端对读取到的上述事件序列数据multieventseqdata中的每个事件序列数据也进行类似处理,统计每个事件序列数据中各自包含的中心事件以外的各其它事件,与中心事件的事件距离,基于各其它事件与中心事件的事件距离,分别依次计算各其它事件与中心事件的共现概率。

需要说明的是,上述事件距离,是指在读取到的上述事件序列数据的每个事件序列数据中,各其它事件与中心事件在每个事件序列数据中相隔的长度。

例如,在事件序列数据eventseqdata1中,当滑动窗口滑动到如图2所示的滑动位置时,中心事件为ee(带斜线的ee),各其它事件包括:如图2所示滑动窗口中的ee(带斜线的ee)左侧的ed、ec(带斜线的ee左侧的最左侧ec)、ec(带斜线的ee左侧的左侧紧挨着的ec),如图2所示滑动窗口中的ee(带斜线的ee)右侧的ec(带斜线的ee右侧的紧挨着的ec)、ee(不带斜线的ee)、ec(带斜线的ee右侧的最右侧ec)。

如图2所示滑动窗口中的ee(带斜线的ee)左侧的ed、ec(带斜线的ee左侧的最左侧ec)、ec(带斜线的ee左侧的左侧紧挨着的ec),与中心事件(带斜线的ee)的事件距离分别为3、2、1。如图2所示滑动窗口中的ee(带斜线的ee)右侧的ec(带斜线的ee右侧的紧挨着的ec)、ee(不带斜线的ee)、ec(带斜线的ee右侧的最右侧ec),与中心事件(带斜线的ee)的事件距离分别为1、2、3。

在示出的一种实施方式中,在统计上述事件序列数据中包含的各中心事件以外的各其它事件,与上述中心事件的共现概率的过程中,上述事件序列数据处理端,可以利用上述其它事件与上述中心事件的事件距离的倒数,表征上述其它事件与上述中心事件的共现概率。

接着以上示例继续举例说明,如图2所示滑动窗口中的ee(带斜线的ee)左侧的ed、ec(带斜线的ee左侧的最左侧ec)、ec(带斜线的ee左侧的左侧紧挨着的ec),与中心事件(带斜线的ee)的事件距离分别为3、2、1,则对应的事件距离的倒数分别为1/3、1/2、1。

如图2所示滑动窗口中的ee(带斜线的ee)右侧的ec(带斜线的ee右侧的紧挨着的ec)、ee(不带斜线的ee)、ec(带斜线的ee右侧的最右侧ec),与中心事件(带斜线的ee)的事件距离分别为1、2、3,则对应的事件距离的倒数分别为1、1/2、1/3。

需要说明的是,在统计上述事件序列数据中包含的各中心事件以外的各其它事件,与上述中心事件的事件距离;以及,基于各其它事件与上述中心事件的事件距离,分别计算上述各其它事件与上述中心事件的共现概率的过程中,上述事件序列数据处理端可以以上述各其它事件与上述中心事件的事件距离的倒数之和,作为在上述滑动窗口的一个滑动位置上的上述各其它事件与上述中心事件的共现概率。

例如:针对事件序列数据eventseqdata1,滑动窗口在如图2所述的位置时,中心事件(带斜线的ee)与ec(包括:滑动窗口中的所有4个ec)的共现概率为:ec(包括:滑动窗口中的所有4个ec)分别与中心事件(带斜线的ee)的事件距离的倒数之和(1 1/2 1 1/3=2.83),也即,中心事件(带斜线的ee)与ec(包括:滑动窗口中的所有4个ec)的共现概率为2.83。

类似地,中心事件(带斜线的ee)与ed(包括:滑动窗口中的所有ed)的共现概率为:ed(包括:滑动窗口中的所有ed)分别与中心事件(带斜线的ee)的事件距离的倒数之和(1/3=0.33),也即,中心事件(带斜线的ee)与ed(包括:滑动窗口中的所有1个ed)的共现概率为0.33。

类似地,中心事件(带斜线的ee)与ee(包括:滑动窗口中的除带斜线的ee外的所有ee)的共现概率为:ee(包括:滑动窗口中的除带斜线的ee外的所有ee)分别与中心事件(带斜线的ee)的事件距离的倒数之和(1/2=0.5),也即,中心事件(带斜线的ee)与ee(包括:滑动窗口中的除带斜线的ee外的所有1个ee)的共现概率为0.5。

需要说明的是,由于滑动窗口在上述事件序列数据进行滑动时,会不断切换滑动窗口的中心事件,及与滑动窗口的中心事件对应的其它各事件,所以,上述事件序列数据处理端需要将滑动窗口滑动时计算得到的读取到的上述事件序列数据中的每个事件序列数据中所有滑动窗口滑动位置的事件i与事件j的计算得到的共现概率相加求和,得到每个事件序列数据的事件i与事件j的共现概率1、共现概率2、...、共现概率n;以及,进一步地,将读取到的上述事件序列数据中的每个事件序列数据,计算得到每个事件序列数据的事件i与事件j的所有共现概率(包括共现概率1、共现概率2、...、共现概率n)进行相加,得到事件i与事件j在读取到的上述事件序列数据中的共现概率;其中,事件i与事件j为属于上述事件集的任意事件;进一步地,上述事件序列数据处理端基于计算出的事件i与事件j的共现概率生成与读取到的上述事件序列数据对应的共现矩阵(上述共现矩阵,比如请参见如表1所示)。

在本说明书中,在计算生成与读取到的上述事件序列数据对应的上述共现矩阵后,上述事件序列数据处理端将上述共现矩阵中包含的共现概率作为约束,对上述事件集中包含的与上述共现概率相关的事件对应的初始化特征向量进行训练,得到与上述事件集中包含的各事件对应的输入特征向量。

在本说明书中,上述损失函数,是指上述事件序列数据处理端预先构建的、以上述共现矩阵中包含的共现概率作为约束,对上述事件集中包含的与上述共现概率相关的事件对应的初始化特征向量进行训练的损失函数;

其中,上述损失函数表征上述共现矩阵中包含的共现概率相关的事件对应初始化特征向量,逼近上述共现矩阵中包含的共现概率的程度。

在示出的一种实施方式中,上述损失函数表征上述共现概率相关的事件对应初始化特征向量的内积,逼近上述共现概率的对数的程度。

例如,上述损失函数可以基于以下公式表征:

其中,j表示损失函数的输出值;i和j表示上述事件集中任意的两个事件;表示事件i与事件j分别对应的初始化特征向量的内积;c(i,j)表示事件i和j在上述共现矩阵(比如:如表1所示的共现矩阵)中的共现概率;e的取值大小为m2;m表示上述事件集包含的各事件的类别总数;f(x)表示以c(i,j)作为参数x的权重函数;

其中,上述f(x)为以上述共现矩阵中包含的c(i,j)的数量为变量的区间函数。

例如,上述f(x)可以基于以下公式表征:

其中,d表示0或者趋于0的极小值;s表示与上述共现矩阵中包含的c(i,j)的值对应的阈值。比如:s可以为100,当c(i,j)的值小于100时,f(c(i,j))=d;当c(i,j)的值大于或等于100时,f(c(i,j))=1。

需要说明的是,上述权重函数f(x)中的d、s在本说明书中不作具体限定,可以由用户预设设置,通过上述权重函数,可以防止上述共现矩阵中的共现概率的值为较大的事件对,掩盖了共现概率的值为较小的事件对,提高了对上述事件集中包含的共现概率相关的事件对应的初始化特征向量进行训练得到上述事件集中包含的各事件对应的输入特征向量的信息密度。

另外需要说明的是,上述损失函数除了基于以上上述共现矩阵中包含的共现概率相关的事件对应初始化特征向量的内积,逼近上述共现矩阵中包含的共现概率的对数的程度,也即,上述损失函数的公式除了基于以上示出的表征外,还可以以上上述共现矩阵中包含的共现概率相关的事件对应初始化特征向量的内积,逼近上述共现矩阵中包含的共现概率的除对数函数外的其它函数的程度。

在示出的一种实施方式中,在将上述共现矩阵中包含的共现概率作为约束,对上述事件集中包含的与上述共现概率相关的事件对应的初始化特征向量进行训练,得到与上述事件集中包含的各事件对应的输入特征向量的过程中,上述事件序列数据处理端迭代执行以下训练步骤,直到得到与上述事件集中包含的各事件对应的输入特征向量:

训练步骤a.上述事件序列数据处理端将上述共现矩阵中包含的共现概率相关的事件对应初始化特征向量,输入至以上述损失函数中,计算上述损失函数的输出值。

以上述损失函数为表征共现矩阵中包含的共现概率相关的事件对应初始化特征向量的内积,逼近上述共现矩阵中包含的共现概率的对数的程度进行示例说明,也即,当上述损失函数比如为以上描述公式对应的损失函数j时,上述事件序列数据处理端计算上述将共现矩阵中包含的共现概率相关的事件对应初始化特征向量内积,并将计算出的该内积输入至以上述共现矩阵中包含的共现概率的对数作为约束的损失函数j,计算损失函数j的输出值。

训练步骤b.上述事件序列数据处理端调整上述初始化特征向量,求解上述损失函数的最小值。

训练步骤c.将求解出上述损失函数的最小值时,输入至上述损失函数的调整后的上述初始化特征向量,确定为上述共现矩阵中包含的共现概率相关的事件对应输入特征向量。

针对训练步骤b及训练步骤c,接着以上示例继续举例说明,上述事件序列数据处理端可以通过最速下降法、牛顿法、拟牛顿法等最优化算法中的任意一种,来迭代调整上述初始化特征向量求解损失函数j的最小值,并将求解出损失函数j的最小值时,输入至损失函数j的迭代调整后的初始化特征向量,确定为上述共现矩阵中包含的共现概率相关的事件对应输入特征向量。

在本说明书中,上述机器学习模型,是指基于训练完成得到的上述事件集中包含的各事件对应的输入特征向量,针对用户账户的操作行为事件进行风险识别的风险识别模型。

例如,在实际应用中,上述机器学习模型可以包括淘宝、天猫、支付宝、阿里云等业务系统搭载的针对用户账户的操作行为事件进行风险识别的风险识别模型。

在本说明书中,在训练得到与上述事件集中包含的各事件对应的输入特征向量后,上述事件序列数据处理端基于上述事件集所包含的事件对应的输入特征向量,对上述事件序列数据进行编码;其中,编码完成的上述事件序列数据用于作为输入数据输入至上述机器学习模型进行计算。

接着以上示例继续举例,上述事件序列数据处理端基于训练完成得到的上述事件集所包含的事件对应的输入特征向量,对从上述事件序列数据集合中的读取到的上述事件序列数据进行编码;将编码完成的事件序列数据用于作为输入数据输入至上述机器学习模型进行风险预测及评估,输出与目标用户的对应风险评分或分类,以使业务系统进行进一步分析和决策,比如:禁止目标用户作为支付宝业务系统的商户签约支付宝;或者,限制目标用户作为支付宝业务系统的签约商户的支付宝商户的相关权限等。

在示出的一种实施方式中,在基于上述事件集所包含的事件对应的输入特征向量,对上述事件序列数据进行编码的过程中,上述事件序列数据处理端将基于与上述事件集所包含的各事件对应的输入特征向量,按照上述事件序列数据中的各事件的排列顺序进行向量拼接,得到与上述事件序列数据对应的事件序列向量。

接着以上示例继续举例,上述事件集所包含的事件{ea、eb、ec、ed、ee、...、en}分别一一对应的输入特征向量为{wea_vector、web_vector、wec_vector、wed_vector、wee_vector、…、wen_vector),则读取到的事件序列数据multieventseqdata中的一个事件序列数据eventseqdata1为:

[ea、ed、ec、ec、ee、ec、ee、ec、ee]时,上述事件序列数据处理端按ea->ed->ec->ec->ee->ec->ee->ec->ee的事件排列顺序,进行向量拼接,得到与事件序列数据eventseqdata1对应的事件序列向量,也即,该事件序列向量的编码为以下向量的顺序拼接(用“ ”表示):

wea_vector wed_vector wec_vector wec_vector wee_vector wec_vector wee_vector wec_vector wee_vector。

与以上示例的序列数据eventseqdata1对应的过程类似,上述事件序列数据处理端将从上述事件序列数据集合中的读取到的每个事件序列数据中的各事件对应的输入特征向量,按照每个事件序列数据中的各事件的排列顺序,进行向量拼接,得到与读取到的所有事件序列数据中的每个事件序列数据分别对应的事件序列向量。

需要说明的是,以上描述及示例的技术方案,是以上述事件序列数据集合包括的事件序列数据,对应为一种用户行为类型进行描述的。在实际应用中,上述事件序列数据集合还可以包括多种用户行为类型分别对应的多个事件序列数据集合。

在本说明书中,上述事件序列数据集合还可以包括以正常用户行为对应上述事件构建的正常的事件序列数据集合、与异常用户行为对应上述事件构建的异常的事件序列数据集合;

其中,正常用户行为是指,用户针对用户账户的正常操作行为;异常用户行为是指,用户针对用户账户的异常操作行为。

例如,以支付宝为例,用户a的针对支付宝账户的一个正常操作行为可以包括:“登录支付宝”->“给用户b单次转账”->“退出支付”;用户的针对支付宝账户的一个异常操作行为可以包括:“反复登录支付宝”->“给100个用户在预设时间内多次转账”->“退出支付”。

需要说明的是,上述正常的事件序列数据集合和上述异常的事件序列数据集合,分别所包括的事件序列数据的个数、事件序列数据的事件及组合,在本说明书中,不作具体限定。

在示出的一种实施方式中,当上述事件序列数据集合包括上述正常的事件序列数据集合和上述异常的事件序列数据集合时,相应的,上述共现矩阵包括与从上述正常的事件序列数据集合中读取到的事件序列数据集合对应的第一共现矩阵,和与从上述异常的事件序列数据集合中读取到的事件序列数据集合对应的第二共现矩阵。

在本说明书中,进一步地,在为上述事件集中包含的事件分别生成对应的初始化特征向量时,上述事件序列数据处理端可以分别为上述事件集中包含的事件,分别生成与第一共现矩阵对应的初始化特征向量和与第二共现矩阵对应的初始化特征向量。

需要的是,上述第一共现矩阵和上述第二共现矩阵,与以上描述的如表1所示的上述共现矩阵类似,这里不作赘述。

在本说明书中,进一步地,在将上述共现矩阵中包含的共现概率作为约束,对上述事件集中包含的与上述共现概率相关的事件对应的初始化特征向量进行训练,得到与上述事件集中包含的各事件对应的输入特征向量时,上述事件序列数据处理端可以基于预设的与上述第一共现矩阵对应的第一损失函数,以上述第一共现矩阵中包含的共现概率作为约束,对上述事件集中包含的与上述共现概率相关的事件对应的初始化特征向量进行训练,得到与上述第一共现矩阵对应的上述事件集中包含的各事件对应的第一输入特征向量;

以及,上述事件序列数据处理端可以基于预设的与上述第二共现矩阵对应预设的第二损失函数,以上述第二共现矩阵中包含的共现概率作为约束,对上述事件集中包含的与上述共现概率相关的事件对应的初始化特征向量进行训练,得到与上述第二共现矩阵对应的上述事件集中包含的各事件对应的第二输入特征向量。

需要说明的是,上述第一损失函数j1和上述第二损失函数j2,与以上描述的损失函数j类似,这里不作赘述。上述第一输入特征向量和上述第二输入特征向量,分别与以上描述的上述事件集中包含的各事件对应的输入特征向量(比如,请参见以上示例描述的上述事件集所包含的事件{ea、eb、ec、ed、ee、...、en}分别一一对应的输入特征向量为{wea_vector、web_vector、wec_vector、wed_vector、wee_vector、…、wen_vector})类似,这里不再赘述。

在本说明书中,进一步地,上述事件序列数据处理端将上述第一输入特征向量和上述第二输入特征向量,拼接生成与上述事件集中包含的各事件对应的输入特征向量。

在示出的一种实施方式中,在将上述第一输入特征向量和上述第二输入特征向量,拼接生成与上述事件集中包含的各事件对应的输入特征向量的过程中,上述事件序列数据处理端将上述第一输入特征向量和上述第二输入特征向量,纵向拼接生成与上述事件集中包含的各事件对应的输入特征向量。

接着以上示例继续举例,上述事件序列数据处理端获得的与上述事件集的包含的各事件对应的第一输入特征向量为:

以及,与上述事件集的包含的各事件对应的第二输入特征向量为:

为了方便理解和描述,上述事件序列数据处理端获得的与上述事件集的包含的各事件对应的第一输入特征向量,使用以下公式1表征:

公式1:

其中,i表示上述事件集中的各事件,w的上标n表示是与上述第一共享矩阵为约束对应训练得到的第一输入特征向量。

上述事件序列数据处理端获得的与上述事件集的包含的各事件对应的第二输入特征向量,使用以下公式2表征:

公式2:

其中,i表示上述事件集中的各事件,w的上标a表示是与上述第二共享矩阵为约束对应训练得到的第二输入特征向量。

进一步地,上述事件序列数据处理端将该第一输入特征向量和该第二输入特征向量,纵向拼接生成与上述事件集中包含的各事件对应的输入特征向量;其中,纵向拼接生成的与上述事件集中包含的各事件对应的输入特征向量,使用以下公式3表征:

公式3:

其中,i表示上述事件集中的各事件,带上标n的w表示是与上述事件集中包含的各事件对应的第一输入特征向量,带上标a的w表示是与上述事件集中包含的各事件对应的第二输入特征向量。

如公式3所示,上述事件序列数据处理端最终输出的与上述事件集中包含的各事件对应的最终的输入特征向量wi为各事件对应的第一输入特征向量与第二输入特征向量的纵向拼接向量。

需要说明的是,在实际应用中,上述事件序列数据处理端最终输出的与上述事件集中包含的各事件对应的输入特征向量,也可以是上述事件序列数据处理端将上述第一输入特征向量和上述第二输入特征向量横向拼接生成。

在本说明书中,在将上述第一输入特征向量和上述第二输入特征向量,拼接生成与上述事件集中包含的各事件对应的输入特征向量后,基于上述事件集所包含的事件对应的该输入特征向量,对上述事件序列数据集合中的各事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至上述机器学习模型进行计算。

需要说明是,基于上述第一输入特征向量和上述第二输入特征向量得到上述事件集所包含的事件对应的该输入特征向量,对上述事件序列数据集合中的各事件序列数据进行编码过程,与以上描述的读取到的事件序列数据multieventseqdata仅对应一个共现矩阵进行编码的过程类似,具体不再赘述。

需要说明的是,通过直接拟合正常用户行为事件及异常用户行为事件各自对应的共现矩阵(上述第一共现矩阵、上述第二共现矩阵),充分地利用事件序列集合中的统计信息,避免使用真伪序列判别的方式来间接学习行为事件的共现特征表达,从而只需要少量序列数据就能达到预期的效果,提高了事件序列数据的编码效率。

在以上技术方案中,基于为预设的事件集中包含的各事件分别生成对应的初始化特征向量;从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算;一方面,提高了事件编码对用户正常行为和异常行为的双层表征的信息密度,并克服了稀疏编码带来的低信息密度和维度灾难;另一方面,仅需少量事件序列数据可以进行事件及事件序列数据的编码计算,提高了编码效率。

与上述方法实施例相对应,本申请还提供了事件序列数据的处理装置的实施例。

与上述方法实施例相对应,本说明书还提供了一种事件序列数据的处理装置的实施例。本说明书的事件序列数据的处理装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书的事件序列数据的处理装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

图4是本说明书一示例性实施例示出的一种事件序列数据的处理装置的框图。

请参考图4,所述事件序列数据的处理装置40可以应用在前述图3所示的电子设备中,所述装置包括:

生成模块401,为预设的事件集中包含的各事件分别生成对应的初始化特征向量;

计算模块402,从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;

训练模块403,将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;

编码模块404,基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

在本实施例中,所述共现概率,为事件序列数据所包含的各目标事件,与所述各目标事件以外的各其它事件,在所述事件序列数据中共同出现的概率;

所述共现矩阵的行对应各目标事件,所述共现矩阵的列对应各目标事件以外的各其它事件;或者,所述共现矩阵的列对应各目标事件,所述共现矩阵的行对应各目标事件以外的各其它事件。

在本实施例中,所述各目标事件包括,将预设大小的滑动窗口在所述事件序列数据中进行滑动时,所述滑动窗口的中心事件;

所述计算模块402进一步:

将预设大小的滑动窗口在所述事件序列数据中进行滑动,并确定每次滑动时所述滑动窗口的中心事件;

依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率。

在本实施例中,所述计算模块402进一步:

统计所述事件序列数据中包含的各中心事件以外的各其它事件,与所述中心事件的事件距离;

基于所述各其它事件与所述中心事件的事件距离,依次计算所述各其它事件与所述中心事件的共现概率。

在本实施例中,利用所述各其它事件与所述中心事件的事件距离的倒数,表征所述各其它事件与所述中心事件的共现概率。

在本实施例中,所述生成模块401进一步:

为预设的事件集中包含的各事件分别随机生成对应的初始化特征向量。

在本实施例中,所述训练模块403进一步:

迭代执行以下训练步骤,直到得到与所述事件集中包含的各事件对应的输入特征向量:

将所述共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值;其中,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量,逼近所述共现概率的程度;

调整所述初始化特征向量,求解所述损失函数的输出值的最小值;

将求解出所述最小值时,输入至所述损失函数的调整后的所述初始化特征向量,确定为与所述共现概率相关的事件对应输入特征向量。

在本实施例中,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量的内积,逼近所述共现概率的对数的程度;

所述训练模块403进一步:

计算与所述共现概率相关的事件对应的初始化特征向量内积,并将计算出的所述内积输入至以所述共现概率的对数作为约束的损失函数,计算所述损失函数的输出值。

在本实施例中,所述损失函数基于以下公式表征:

其中,j表示损失函数的输出值;i和j表示所述事件集中任意的两个事件;表示事件i与事件j分别对应的初始化特征向量的内积;c(i,j)表示事件i和j在所述共现矩阵中的共现概率;e的取值大小为m2;m表示所述事件集包含的各事件的类别总数;f(x)表示权重函数。

在本实施例中,所述f(x)为以所述共现矩阵中包含的c(i,j)为变量的区间函数。

在本实施例中,所述f(x)基于以下公式表征:

其中,d表示0或者趋于0的极小值;s表示与所述共现矩阵中包含的c(i,j)对应的阈值。

在本实施例中,所述编码模块404进一步:

基于与所述事件集所包含的各事件对应的输入特征向量,按照所述事件序列数据中的各事件的排列顺序进行向量拼接,得到与所述事件序列数据对应的事件序列向量。

在本实施例中,所述事件包括用户针对用户账户的操作行为事件;所述机器学习模型为针对用户账户进行风险识别的风险识别模型。

在本实施例中,所述事件序列数据集合包括正常的事件序列数据集合和异常的事件序列数据集合;

相应的,所述共现矩阵包括与从正常的事件序列数据集合中读取到的事件序列数据对应的第一共现矩阵,和与从异常的事件序列数据集合中读取到的事件序列数据对应的第二共现矩阵;

所述生成模块401进一步:

为预设的事件集中包含的事件,分别生成与第一共现矩阵对应的初始化特征向量、与第二共现矩阵对应的初始化特征向量。

在本实施例中,所述训练模块403进一步:

基于预设的与所述第一共现矩阵对应的第一损失函数,以所述第一共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第一共现矩阵对应的所述事件集中包含的各事件对应的第一输入特征向量;

基于预设的与所述第二共现矩阵对应预设的第二损失函数,以所述第二共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第二共现矩阵对应的所述事件集中包含的各事件对应的第二输入特征向量;

将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量。

在本实施例中,所述训练模块403进一步:

将第一输入特征向量和第二输入特征向量,纵向拼接生成与所述事件集中包含的各事件对应的输入特征向量。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的装置、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。该电子设备,通过读取并执行所述存储器存储的与上述方法实施例对应的事件序列数据的处理的控制逻辑对应的机器可执行指令,所述处理器被促使执行该机器可执行指令。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。


技术特征:

1.一种事件序列数据的处理方法,所述方法包括:

为预设的事件集中包含的各事件分别生成对应的初始化特征向量;

从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;

将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;

基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

2.根据权利要求1所述的方法,所述共现概率,为事件序列数据所包含的各目标事件,与所述各目标事件以外的各其它事件,在所述事件序列数据中共同出现的概率;

所述共现矩阵的行对应各目标事件,所述共现矩阵的列对应各目标事件以外的各其它事件;或者,所述共现矩阵的列对应各目标事件,所述共现矩阵的行对应各目标事件以外的各其它事件。

3.根据权利要求2所述的方法,所述各目标事件包括,将预设大小的滑动窗口在所述事件序列数据中进行滑动时,所述滑动窗口的中心事件;

所述方法还包括:

将预设大小的滑动窗口在所述事件序列数据中进行滑动,并确定每次滑动时所述滑动窗口的中心事件;

依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率。

4.根据权利要求3所述的方法,所述依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率,包括:

统计所述事件序列数据中包含的各中心事件以外的各其它事件,与所述中心事件的事件距离;

基于所述各其它事件与所述中心事件的事件距离,依次计算所述各其它事件与所述中心事件的共现概率。

5.根据权利要求4所述的方法,利用所述各其它事件与所述中心事件的事件距离的倒数,表征所述各其它事件与所述中心事件的共现概率。

6.根据权利要求1所述的方法,所述为预设的事件集中包含的各事件分别生成对应的初始化特征向量,包括:

为预设的事件集中包含的各事件分别随机生成对应的初始化特征向量。

7.根据权利要求1所述的方法,所述将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量,包括:

迭代执行以下训练步骤,直到得到与所述事件集中包含的各事件对应的输入特征向量:

将所述共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值;其中,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量,逼近所述共现概率的程度;

调整所述初始化特征向量,求解所述损失函数的输出值的最小值;将求解出所述最小值时,输入至所述损失函数的调整后的所述初始化特征向量,确定为与所述共现概率相关的事件对应输入特征向量。

8.根据权利要求7所述的方法,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量的内积,逼近所述共现概率的对数的程度;

所述将所述共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值,包括:

计算与所述共现概率相关的事件对应的初始化特征向量内积,并将计算出的所述内积输入至以所述共现概率的对数作为约束的损失函数,计算所述损失函数的输出值。

9.根据权利要求8所述的方法,所述损失函数基于以下公式表征:

其中,j表示损失函数的输出值;i和j表示所述事件集中任意的两个事件;表示事件i与事件j分别对应的初始化特征向量的内积;c(i,j)表示事件i和j在所述共现矩阵中的共现概率;e的取值大小为m2;m表示所述事件集包含的各事件的类别总数;f(x)表示权重函数。

10.根据权利要求9所述的方法,所述f(x)为以所述共现矩阵中包含的c(i,j)为变量的区间函数。

11.根据权利要求10所述的方法,所述f(x)基于以下公式表征:

其中,d表示0或者趋于0的极小值;s表示与所述共现矩阵中包含的c(i,j)对应的阈值。

12.根据权利要求1所述的方法,所述基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码,包括:

基于与所述事件集所包含的各事件对应的输入特征向量,按照所述事件序列数据中的各事件的排列顺序进行向量拼接,得到与所述事件序列数据对应的事件序列向量。

13.根据权利要求1所述的方法,所述事件包括用户针对用户账户的操作行为事件;所述机器学习模型为针对用户账户进行风险识别的风险识别模型。

14.根据权利要求1所述的方法,所述事件序列数据集合包括正常的事件序列数据集合和异常的事件序列数据集合;

相应的,所述共现矩阵包括与从正常的事件序列数据集合中读取到的事件序列数据对应的第一共现矩阵,和与从异常的事件序列数据集合中读取到的事件序列数据对应的第二共现矩阵;

所述为预设的事件集中包含的各事件分别生成对应的初始化特征向量,包括:

为预设的事件集中包含的事件,分别生成与第一共现矩阵对应的初始化特征向量、与第二共现矩阵对应的初始化特征向量。

15.根据权利要求14所述的方法,所述将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量,包括:

基于预设的与所述第一共现矩阵对应的第一损失函数,以所述第一共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第一共现矩阵对应的所述事件集中包含的各事件对应的第一输入特征向量;

基于预设的与所述第二共现矩阵对应预设的第二损失函数,以所述第二共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第二共现矩阵对应的所述事件集中包含的各事件对应的第二输入特征向量;

将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量。

16.根据权利要求15所述的方法,所述将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量,包括:

将第一输入特征向量和第二输入特征向量,纵向拼接生成与所述事件集中包含的各事件对应的输入特征向量。

17.一种事件序列数据的处理装置,所述装置包括:

生成模块,为预设的事件集中包含的各事件分别生成对应的初始化特征向量;

计算模块,从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;

训练模块,将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;

编码模块,基于与所述事件集所包含的各事件对应的输入特征向量,对所述事件序列数据进行编码;其中,编码完成的事件序列数据用于作为输入数据输入至机器学习模型进行计算。

18.根据权利要求17所述的装置,所述共现概率,为事件序列数据所包含的各目标事件,与所述各目标事件以外的各其它事件,在所述事件序列数据中共同出现的概率;

所述共现矩阵的行对应各目标事件,所述共现矩阵的列对应各目标事件以外的各其它事件;或者,所述共现矩阵的列对应各目标事件,所述共现矩阵的行对应各目标事件以外的各其它事件。

19.根据权利要求18所述的装置,所述各目标事件包括,将预设大小的滑动窗口在所述事件序列数据中进行滑动时,所述滑动窗口的中心事件;

所述计算模块进一步:

将预设大小的滑动窗口在所述事件序列数据中进行滑动,并确定每次滑动时所述滑动窗口的中心事件;

依次计算所述滑动窗口的中心事件,与所述事件序列数据中包含的所述中心事件以外的各其它事件,在所述事件序列数据中的共现概率。

20.根据权利要求19所述的装置,所述计算模块进一步:

统计所述事件序列数据中包含的各中心事件以外的各其它事件,与所述中心事件的事件距离;

基于所述各其它事件与所述中心事件的事件距离,依次计算所述各其它事件与所述中心事件的共现概率。

21.根据权利要求20所述的装置,利用所述各其它事件与所述中心事件的事件距离的倒数,表征所述各其它事件与所述中心事件的共现概率。

22.根据权利要求17所述的装置,所述生成模块进一步:

为预设的事件集中包含的各事件分别随机生成对应的初始化特征向量。

23.根据权利要求17所述的装置,所述训练模块进一步:

迭代执行以下训练步骤,直到得到与所述事件集中包含的各事件对应的输入特征向量:

将所述共现概率相关的事件对应的初始化特征向量,输入至以所述共现概率作为约束的损失函数,计算所述损失函数的输出值;其中,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量,逼近所述共现概率的程度;

调整所述初始化特征向量,求解所述损失函数的输出值的最小值;

将求解出所述最小值时,输入至所述损失函数的调整后的所述初始化特征向量,确定为与所述共现概率相关的事件对应输入特征向量。

24.根据权利要求23所述的装置,所述损失函数表征,与所述共现概率相关的事件对应初始化特征向量的内积,逼近所述共现概率的对数的程度;

所述训练模块进一步:

计算与所述共现概率相关的事件对应的初始化特征向量内积,并将计算出的所述内积输入至以所述共现概率的对数作为约束的损失函数,计算所述损失函数的输出值。

25.根据权利要求24所述的装置,所述损失函数基于以下公式表征:

其中,j表示损失函数的输出值;i和j表示所述事件集中任意的两个事件;表示事件i与事件j分别对应的初始化特征向量的内积;c(i,j)表示事件i和j在所述共现矩阵中的共现概率;e的取值大小为m2;m表示所述事件集包含的各事件的类别总数;f(x)表示权重函数。

26.根据权利要求25所述的装置,所述f(x)为以所述共现矩阵中包含的c(i,j)为变量的区间函数。

27.根据权利要求25所述的装置,所述f(x)基于以下公式表征:

其中,d表示0或者趋于0的极小值;s表示与所述共现矩阵中包含的c(i,j)对应的阈值。

28.根据权利要求17所述的装置,所述编码模块进一步:

基于与所述事件集所包含的各事件对应的输入特征向量,按照所述事件序列数据中的各事件的排列顺序进行向量拼接,得到与所述事件序列数据对应的事件序列向量。

29.根据权利要求17所述的装置,所述事件包括用户针对用户账户的操作行为事件;所述机器学习模型为针对用户账户进行风险识别的风险识别模型。

30.根据权利要求17所述的装置,所述事件序列数据集合包括正常的事件序列数据集合和异常的事件序列数据集合;

相应的,所述共现矩阵包括与从正常的事件序列数据集合中读取到的事件序列数据对应的第一共现矩阵,和与从异常的事件序列数据集合中读取到的事件序列数据对应的第二共现矩阵;

所述生成模块进一步:

为预设的事件集中包含的事件,分别生成与第一共现矩阵对应的初始化特征向量、与第二共现矩阵对应的初始化特征向量。

31.根据权利要求30所述的装置,所述训练模块进一步:

基于预设的与所述第一共现矩阵对应的第一损失函数,以所述第一共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第一共现矩阵对应的所述事件集中包含的各事件对应的第一输入特征向量;

基于预设的与所述第二共现矩阵对应预设的第二损失函数,以所述第二共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述第二共现矩阵对应的所述事件集中包含的各事件对应的第二输入特征向量;

将第一输入特征向量和第二输入特征向量,拼接生成与所述事件集中包含的各事件对应的输入特征向量。

32.根据权利要求31所述的装置,所述训练模块进一步:

将第一输入特征向量和第二输入特征向量,纵向拼接生成与所述事件集中包含的各事件对应的输入特征向量。

33.一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至16任一项所述的方法。

技术总结
公开一种事件序列数据的处理方法。该方法包括:为预设的事件集中包含的各事件分别生成对应的初始化特征向量;从事件序列数据集合中依次读取事件序列数据,并计算与读取到的所述事件序列数据对应的共现矩阵;其中,所述共现矩阵为基于所述事件序列数据中包含的各事件之间的共现概率生成的矩阵;将所述共现矩阵中包含的共现概率作为约束,对所述事件集中包含的与所述共现概率相关的事件对应的初始化特征向量进行训练,得到与所述事件集中包含的各事件对应的输入特征向量;基于所述事件集所包含的事件对应的输入特征向量,对所述事件序列数据集合中的各事件序列数据进行编码。

技术研发人员:赖清泉;侯宪龙;徐莎;贾佳;方俊;陈侃;陈知己;曾小英;冯力国
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.01.06
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-52514.html

最新回复(0)