异常对象的识别方法、装置及设备
技术领域
本说明书一个或多个实施例涉及风控技术领域,尤其涉及一种异常对象的识别方法、装置及设备。
背景技术
近年来,随着信息技术的飞速发展,与之对立的黑色产业也在不断的进行技术更新,各种诈骗手法越来越隐蔽,攻防对抗也越来越激烈。在这样的大背景下,如何识别出各种各样的异常对象,以保证用户的安全就成为要解决的问题。
传统技术中,通常是基于用户的网上行为(如,交易行为)的行为信息,来统计一些静态数据,之后基于统计的静态数据,来识别异常用户或者异常行为。然而,上述静态数据通常不能对异常对象的特征进行准确刻画。
因此,需要提供一种更准确、更全面地异常对象识别方案。
发明内容
本说明书一个或多个实施例描述了一种异常对象的识别方法、装置及设备,可以实现异常对象的准确识别。
第一方面,提供了一种异常对象的识别方法,包括:
获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息;
根据所述存储信息,获取所述各个对象的静态的统计数据以及动态的存储行为序列;
根据预设的编码算法,对所述存储行为序列进行编码;
将编码后的存储行为序列与所述统计数据进行拼接,以得到各个对象的拼接后的数据;
将所述拼接后的数据输入分类器,以识别所述各个对象是否为异常对象。
第二方面,提供了一种异常对象的识别装置,包括:
获取单元,用于获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息;
所述获取单元,还用于根据所述存储信息,获取所述各个对象的静态的统计数据以及动态的存储行为序列;
编码单元,用于根据预设的编码算法,对所述获取单元获取的所述存储行为序列进行编码;
拼接单元,用于将所述编码单元编码后的存储行为序列与所述统计数据进行拼接,以得到各个对象的拼接后的数据;
识别单元,用于将所述拼接单元得到的所述拼接后的数据输入分类器,以识别所述各个对象是否为异常对象。
第三方面,提供了一种异常对象的识别设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息;
根据所述存储信息,获取所述各个对象的静态的统计数据以及动态的存储行为序列;
根据预设的编码算法,对所述存储行为序列进行编码;
将编码后的存储行为序列与所述统计数据进行拼接,以得到各个对象的拼接后的数据;
将所述拼接后的数据输入分类器,以识别所述各个对象是否为异常对象。
本说明书一个或多个实施例提供的异常对象识别方法、装置及设备,获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息。根据存储信息,获取各个对象的静态的统计数据以及动态的存储行为序列。根据预设的编码算法,对存储行为序列进行编码。将编码后的存储行为序列与统计数据进行拼接,以得到各个对象的拼接后的数据。将拼接后的数据输入分类器,以识别各个对象是否为异常对象。由此可以看出,本说明书提供的方案是基于两方面的数据:静态数据和动态数据,来进行异常对象的识别的,从而可以提高异常对象识别的准确性。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的异常对象的识别方法示意图;
图2为本说明书一个实施例提供的异常对象的识别方法流程图;
图3为本说明书提供的诈骗电话的识别方法流程图;
图4为本说明书一个实施例提供的异常对象的识别装置示意图;
图5为本说明书一个实施例提供的异常对象的识别设备示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在介绍说明书一个或多个实施例提供的异常对象的识别方法之前,先对该方法的发明构思进行描述。
首先,电话诈骗的识别和管控一直是风控领域的重点和难点。因此,本方案将对异常的电话号码进行识别。此外,还可以将与电话号码具有类似特性,且通常也能够对用户实施诈骗行为的网站网址以及app也进行识别。
其次,传统技术中通常是基于静态数据来进行异常对象识别。虽然这些静态数据可以刻画出异常对象在历史上的某种行为偏好或者行为在统计意义上的显著性,揭示行为潜在的风险。但是,这些静态数据通常是基于单个行为的统计。单独统计某个行为的次数这样的特征会带来比较大的打扰,因为用户在不同的环境或者场景下会有不同的行为动机。从而仅仅基于静态数据,来对异常对象进行识别通常是不准确的。
为提高异常对象识别的准确性,本方案尝试将所有的行为组合在一起,以识别行为组合所对应的行为动机和风险。而行为序列更好得结合了“上下文”,从用户所在的一系列行为出发。因此,本方案在识别异常对象时,将对象的行为序列作为相关的特征。
需要说明的是,行为序列是指将用户的操作行为历史按照时间发生顺序排列后组成的序列。其包含了行为事件本身以及某段时间窗口内行为事件发生的顺序信息等。例如,过去1小时内的行为序列可以表达为:“A->B->C->D”,其中,A-D可以用于表示不同用户针对某一对象所存储的备注名称。需要说明的是,虽然“B->C->A->D”与“A->B->C->D”都包含了同样的行为事件,但因发生顺序不同而成为两种完全不同的行为模式。
最后,由于本方案同时将行为序列作为输入特征,因此,在异常对象识别时,考虑采用用于刻画具有序列特性的输入特征的循环神经网络(Recurrent Neural Network,RNN)模型进行异常对象的分类。而由于行为序列中可能会包含对象的备注名称,无法直接输入计算机。因此,可以考虑对行为序列进行编码或者向量化。具体地,可以采用词向量化算法(如,word2vector或者cw2vec等)或者文本分类(fasttext)算法对行为序列进行编码或者向量化。
上述就是本说明书提供的方案的发明构思,基于该发明构思,就可以得到本说明书提供的方案。以下对本说明书提供的方案进行进一步地详细阐述:
图1为本说明书提供的异常对象的识别方法示意图。图1中,首先收集N个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息。这里的对象可以包括但不限于电话号码、网站网址以及app等。以对象为电话号码为例来说,对应的对象集合可以为通讯录。通讯录的内容是对现有风控数据的非常重要的补充。上述存储信息可以包括但不限于各个对象的备注名称以及存储时间等。之后,基于收集的存储信息,获取各个对象的静态的统计数据以及动态的存储行为序列。根据预设的编码算法,对存储行为序列进行编码。最后将编码后的存储行为序列与统计数据进行拼接后输入分类器,以识别各个对象是否为异常对象。
图2为本说明书一个实施例提供的异常对象的识别方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者***或者装置,如图2所示,所述方法具体可以包括:
步骤202,获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息。
这里的对象可以包括但不限于电话号码、网站网址以及app等。以对象为电话号码为例来说,对应的对象集合可以为通讯录。上述存储信息可以包括但不限于各个对象的备注名称以及存储时间等。可以理解的是,当对象为电话号码时,上述存储信息可以从通讯录中获取。也即首先获取多个用户的通讯录,再从多个用户各自的通讯录中获取各个电话号码的存储信息。再以对象为网站网址为例来说,可以从浏览器中获取对应的存储信息。
需要说明的是,除了上述存储信息,本方案还可以获取与其对应的设备标识(如,国际移动设备识别码(International Mobile Equipment Identification Number,IMEI))。此外,还可以记录用户、对象以及存储信息之间的对应关系。
以对象为电话号码为例来说,上述对应关系可以如表1所示。
表1
应理解,表1的内容只是示意性地,本说明书实施例提供的对应关系不限于如上所述。例如,表1中还可以包括设备标识等,本说明书对此不作限定。
需要说明的是,上述步骤202可以是周期性执行的。以便于将同一用户的前后两个周期的存储信息进行对比之后,确定该用户是否针对某一对象执行了删除操作等等。
步骤204,根据存储信息,获取各个对象的静态的统计数据以及动态的存储行为序列。
这里的静态的统计数据通常是通过统计和数据挖掘的方式得到的,其可以包括以下一种或多种:对象在过去若干天被多少个用户存储、对象在过去若干天被存储天数、对象在过去若干天是否被存储为目标名称(如,骗子等)以及对象在过去若干天被删除次数等等。
以对象为电话号码为例来说,可以基于表1的内容,来获取上述静态的统计数据。其中,电话号码在过去若干天被删除次数可以通过对比各个用户前后两个周期的通讯录来得到。
由于仅仅通过静态的统计数据不能充分刻画异常对象的特征,因此,本方案还进一步获取各个对象的动态的存储行为序列,以提高异常对象的识别的准确率和覆盖率。存储行为序列可以更加精准地刻画出异常对象的某种行为组合构成的模式,比使用单个行为的统计特征更加精确。
在一种实现方式中,上述根据存储信息,获取各个对象的动态的存储行为序列可以包括:
对各个对象中的每个对象,从各个对象的备注名称以及存储时间中筛选出该对象的备注名称以及存储时间。根据该对象的存储时间,对该对象的备注名称进行排序。根据排序后的备注名称,生成该对象的存储行为序列。
举例来说,假设电话号码:186××××××××被三个不同的用户存储到各自的通讯录中,其中,用户A于2017年9月1日存储了该电话号码,且其备注名称为:骗子;用户B于2017年9月10日存储了该电话号码,且其备注名称为:欺诈者;用户C于2017年9月22日存储了该电话号码,且其备注名称为:欺骗者。那么根据上述存储时间,可以将对应的备注名称排序为:骗子,欺诈者,欺诈者。根据该排序结果,就可以生成上述电话号码的存储行为序列:骗子->欺诈者->欺骗者。
由此可以看出,本方案中的存储行为序列既反映了对象被用户存储的顺序信息,又反映了内容信息,从而可以更准确地对对象的特征进行刻画。
可以理解的是,上述例子是从用户的维度来生成对象的存储行为序列。当然,在实际应用中,也可以从其它维度(如,设备的维度)来生成上述存储行为序列,本说明书对此不作限定。当从设备的维度来生成对象的存储行为序列时,则可以在获取存储信息的同时获取设备标识,该维度的存储行为序列的生成方式可以同上所述,在此不复赘述。
步骤206,根据预设的编码算法,对存储行为序列进行编码。
这里的预设的编码算法可以包括但不限于词向量化算法(如,如,word2vector或者cw2vec等)以及文本分类算法(fasttext)等。
以上述生成的存储行为序列:骗子->欺诈者->欺骗者为例来说,该存储序列中的各个备注名称本质上为字符串,因此,可以通过上述预设的编码算法,将各个字符串转化为对应的向量。之后,将各个向量相互拼接,就可以得到编码后的存储行为序列。
步骤208,将编码后的存储行为序列与统计数据进行拼接,以得到各个对象的拼接后的数据。
由于静态的统计数据通常为一些数字,如,存储次数以及删除次数之类的,其可以直接输入分类器。因此,可以直接将编码后的存储行为序列与统计数据进行拼接,从而得到拼接后的数据。可以理解的是,这里的拼接后的数据为多维度向量。
步骤210,将拼接后的数据输入分类器,以识别各个对象是否为异常对象。
在一种实现方式中,该分类器可以为RNN模型或者长短期记忆网络(Long Short-Term Memory,LSTM)模型等。具体地,在将拼接后的数据输入分类器之后,可以输出各个对象为异常对象的概率以及不为异常对象的概率。基于该两个概率,可以识别各个对象是否为异常对象。
综上,本方案旨在提出一种结合对象的存储行为序列,来识别异常对象的方法。存储行为序列直观地反映了欺诈者的作案手法,可辅助策略分析师方便地分析案件欺诈行为手法,提高工作效率。此外,本方案将对象被存储的行为序列整体(包括行为的先后顺序信息等)作为研究对象,刻画异常对象的行为特征。从而丰富了风控***中欺诈行为体系,为特征刻画提供了更多的有效信息。具体地,在电话诈骗过程中引入电话号码的存储行为序列特征,可以显著地提升诈骗电话识别的准确率和覆盖率。
本说明书一个或多个实施例提供的异常对象的识别方法,先获取对象的两方面的数据:静态数据和动态数据,将动态数据和静态数据进行了融合和特征处理,更加精准地刻画出异常对象的某种行为组合构成的模式,比使用单个行为的统计特征更加精确。
以下以对象为电话号码为例,对其识别过程进行说明。需要说明的是,由于通讯录中通常会包括多方面的信息,因此,以下以通讯录的内容为基础,来具体说明诈骗电话的识别过程。
图3为本说明书提供的诈骗电话的识别方法流程图。如图3所示,所述方法可以包括如下步骤:
步骤302,获取多个用户的通讯录。
其中,通讯录中可以包括联系人的电话号码、备注名称以及存储时间等信息。其中,备注名称以及存储时间可以统称为与电话号码对应的存储信息。
在获取到多个用户的通讯录之后,可以建立如表1所示的对应关系。此外,表1中还可以包括设备标识等,本说明书对此不作限定。
需要说明的是,上述步骤302可以是周期性执行的。以便于将同一用户的前后两个周期的通讯录进行对比之后,确定该用户是否针对某一电话号码执行了删除操作等等。
步骤304,根据通讯录的内容,获取各个电话号码的静态的统计数据以及动态的存储行为序列。
这里的静态的统计数据通常是通过统计和数据挖掘的方式得到的,其可以包括以下一种或多种:电话号码在过去若干天被多少个用户存储、电话号码在过去若干天被存储天数、电话号码在过去若干天被删除次数以及电话号码在过去若干天是否被存储为“骗子”等等。具体地,可以基于表1的内容,来获取上述静态的统计数据。其中,电话号码在过去若干天被删除次数可以通过对比各个用户前后两个周期的通讯录来得到。
由于仅仅获取静态的统计数据并没有充分利用通讯录的内容,所以本实施例还获取了电话号码的动态的存储行为序列。存储行为序列更好得结合了“上下文”,从用户所在的一系列行为出发,综合考虑所有的行为组合在一起所对应的行为动机和风险。该存储行为序列与上述统计数据相比,都可以刻画出诈骗电话在历史上的某种行为偏好或者行为在统计意义上的显著性,揭示行为潜在的风险。不同之处在于存储行为序列可以更加精准地刻画出诈骗电话的某种行为组合构成的模式,比使用单个行为的统计特征更加精确。
在一种实现方式中,上述根据通讯录的内容,获取1个电话号码的动态的存储行为序列可以包括:
从多个用户的通讯录中筛选出该电话号码的备注名称以及存储时间。根据该电话号码的存储时间,对该电话号码的备注名称进行排序。根据排序后的备注名称,生成该电话号码的存储行为序列。
可以理解的是,参照上述获取方法,可以获取到多个用户的通讯录中各个电话号码的动态的存储行为序列。
举例来说,假设电话号码:186××××××××被三个不同的用户存储到各自的通讯录中,其中,用户A于2017年9月1日存储了该电话号码,且其备注名称为:骗子;用户B于2017年9月10日存储了该电话号码,且其备注名称为:欺诈者;用户C于2017年9月22日存储了该电话号码,且其备注名称为:欺骗者。那么根据上述存储时间,可以将对应的备注名称排序为:骗子,欺诈者,欺诈者。根据该排序结果,就可以生成上述电话号码的存储行为序列:骗子->欺诈者->欺骗者。
可以理解的是,本方案中是从用户的维度来生成电话号码的存储行为序列。当然,在实际应用中,也可以从其它维度(如,设备的维度)来生成上述存储行为序列,本说明书对此不作限定。当从设备的维度来生成电话号码的存储行为序列时,则可以在获取通讯录的同时获取设备标识,该维度的存储行为序列的生成方式可以同上所述,在此不复赘述。
步骤306,根据预设的编码算法,对存储行为序列进行编码。
这里的预设的编码算法可以包括但不限于词向量化算法(如,word2vector或者cw2vec等)以及文本分类算法(fasttext)等。
以上述生成的存储行为序列:骗子->欺诈者->欺骗者为例来说,该存储序列中的各个备注名称本质上为字符串,因此,可以通过上述预设的编码算法,将各个字符串转化为对应的向量。之后,将各个向量相互拼接,就可以得到编码后的存储行为序列。
步骤308,将编码后的存储行为序列与统计数据进行拼接,以得到各个电话号码的拼接后的数据。
由于静态的统计数据通常为一些数字,如,存储次数以及删除次数之类的,其可以直接输入分类器。因此,可以直接将编码后的存储行为序列与统计数据进行拼接,从而得到拼接后的数据。可以理解的是,这里的拼接后的数据为多维度向量。
步骤310,将拼接后的数据输入分类器,以识别各个电话号码是否为诈骗电话。
在一种实现方式中,该分类器可以为RNN模型或者长短期记忆网络(Long Short-Term Memory,LSTM)模型等。具体地,在将拼接后的数据输入分类器之后,可以输出各个电话号码为诈骗电话的概率以及不为诈骗电话的概率。基于该两个概率,可以识别各个电话号码是否为诈骗电话。
本说明书实施例旨在提出一种根据用户存储电话号码的行为序列作为特征来识别诈骗电话的方法。主要特点在于将电话号码被存储的行为序列整体(包括行为的先后顺序信息等)作为研究对象,刻画诈骗者的行为特征。通过该方法,可以显著地提升诈骗电话识别的准确率和覆盖率。
与上述异常对象的识别方法对应地,本说明书一个实施例还提供的一种异常对象的识别装置,如图4所示,该装置可以包括:
获取单元402,用于获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息。
这里的对象可以包括以下任一种:电话号码、网站地址以及app等。
获取单元402,还用于根据存储信息,获取各个对象的静态的统计数据以及动态的存储行为序列。
这里的静态的统计数据可以包括以下一种或多种:对象在过去若干天被多少个用户存储、对象在过去若干天被存储天数、对象在过去若干天是否被存储为目标名称以及对象在过去若干天被删除次数。
上述存储信息可以包括各个对象的备注名称以及存储时间。
获取单元402具体可以用于:
对各个对象中的每个对象,从各个对象的备注名称以及存储时间中筛选出对象的备注名称以及存储时间。
根据对象的存储时间,对对象的备注名称进行排序。
根据排序后的备注名称,生成对象的存储行为序列。
编码单元404,用于根据预设的编码算法,对获取单元402获取的存储行为序列进行编码。
预设的编码算法可以包括以下任一种:词向量化算法以及文本分类算法等。
拼接单元406,用于将编码单元404编码后的存储行为序列与统计数据进行拼接,以得到各个对象的拼接后的数据。
识别单元408,用于将拼接单元406得到的拼接后的数据输入分类器,以识别各个对象是否为异常对象。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的异常对象的识别装置,获取单元402获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息。获取单元402根据存储信息,获取各个对象的静态的统计数据以及动态的存储行为序列。编码单元404根据预设的编码算法,对存储行为序列进行编码。拼接单元406将编码后的存储行为序列与统计数据进行拼接,以得到各个对象的拼接后的数据。识别单元408将拼接后的数据输入分类器,以识别各个对象是否为异常对象。由此,可以提高异常对象识别的准确性。
与上述异常对象的识别方法对应地,本说明书实施例还提供了一种异常对象的识别设备,如图5所示,该设备可以包括:存储器502、一个或多个处理器504以及一个或多个程序。其中,该一个或多个程序存储在存储器502中,并且被配置成由一个或多个处理器504执行,该程序被处理器504执行时实现以下步骤:
获取多个用户针对各自对象集合中的各个对象执行存储行为时所产生的存储信息。
根据存储信息,获取各个对象的静态的统计数据以及动态的存储行为序列。
根据预设的编码算法,对存储行为序列进行编码。
将编码后的存储行为序列与统计数据进行拼接,以得到各个对象的拼接后的数据。
将拼接后的数据输入分类器,以识别各个对象是否为异常对象。
本说明书一个实施例提供的异常对象的识别设备,可以提高异常对象识别的准确性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。