反欺诈方法、电子装置及计算机可读存储介质与流程

文档序号:16754625发布日期:2019-01-29 17:14阅读:124来源:国知局
反欺诈方法、电子装置及计算机可读存储介质与流程

本发明涉及计算机学习算法领域,尤其涉及一种反欺诈方法、电子装置及计算机可读存储介质。



背景技术:

用户的操作行为,即用户对应用系统或应用软件的操作行为,本质上是用户为了达到某种目标,通过机器能够理解的语言指导机器去实现目的,是一种人机对话的方式。随着互联网金融的发展,越来越多的用户通过电脑、智能手机操作金融业务,如何对海量的用户操作行为进行有效分析以识别出欺诈行为,是当前互联网金融公司面临的一大挑战。现有技术中,有很多利用有监督学习算法,例如基于神经网络、贝叶斯分类、逻辑回归的评分卡模型、支持向量机模型等,通过建立正、负样本,利用正、负样本对模型进行训练,再应用训练后的模型对用户实时操作行为进行识别的方法。

这些有监督的学习算法,是由行业专家对已知数据进行提炼分成正常操作/正常用户(正例)和异常操作/欺诈用户(负例)样本,利用机器去学习正负样本特征,最后对每个用户做出概率上的打分。数据提炼过程本质是通过统计知识对数据信息量进行压缩,难以避免信息丢失。此外,实际情况中欺诈用户量相对正常用户是非常微小的,非均衡数据对有监督算法有效性的影响非常严重,而欺诈方式千变万化,传统的机器学习算法想要在正负样例如此悬殊的情况下学习到具有泛化能力的模型是非常困难的。并且,由于正负样本在统计上不可避免的“幸存者偏差”,传统模型的实际有效性大打折扣。最后,模型结构往往是一个概率值,不容易解释,一般还需要加上规则系统共同判定。基于以上原因,现在的反欺诈模型大多数都建立在理论上,实际运用效果较差。



技术实现要素:

有鉴于此,本发明提出一种反欺诈方法、电子装置及计算机可读存储介质,以解决至少一个上述技术问题。

首先,为实现上述目的,本发明提出一种反欺诈方法,该方法包括步骤:

读取第一时间内的用户日志数据,并对用户日志数据进行清洗;

解析清洗后的用户日志数据得到每个用户的一个或多个操作行为序列,过滤掉无效的操作行为序列,得到的有效操作行为序列为训练样本句子;

将所述训练样本句子转换为词袋向量,利用词频模型将所述训练样本句子的词袋向量转换为词频向量,对该词频向量进行降维得到第一向量形成的样本空间;

对所述第一句子向量进行第一聚类,得到该第一时间内用户操作日志数据的分类类别及各类别对应的主题标签;

读取第二时间内的用户日志数据,对数据进行清洗、解析得到该第二时间内的用户操作行为序列,将用户操作行为序列转换为词频向量后利用矩阵变换映射到样本空间,得到该第二时间对应的第二向量;

计算该第二时间内对应的第二向量与所述每个分类类别中的第一向量之间的欧氏距离,根据最小距离值确定该第二时间内对应的第二向量所属的分类类别并标注相应的主题标签;

在该第二时间对应的第二向量中加入时间维度,对每个类别中加入时间维度的第二向量进行第二聚类,根据第二聚类结果识别出每个类别中代表相似时间具有相似操作的第三向量;

结合所述第三向量相关联用户的基本信息,生成所述相关联用户的关系图,根据关系图中各用户与其他用户的关联关系判断各用户是否存在欺诈嫌疑。

优选地,将所述训练样本句子转换为词袋向量,利用词频模型将所述训练样本句子的词袋向量转换为第一向量,对该词频向量进行降维得到第一向量形成的样本空间的步骤包括:

通过词袋模型得到每个训练样本句子中各操作代码的出现次数;

利用词频-逆词频算法计算得到每个训练样本句子中各操作代码的出现次数对应的词频;

基于计算得到的词频,将所有样本句子构成m行、n列的样本矩阵,m代表样本句子的总数,n代表每个样本句子包含的操作代码的总数,矩阵中每一行的数值为样本句子各操作代码的词频,其中,m、n为正整数;

利用奇异值分解算法对所述样本矩阵进行分解,得到每个样本句子降维后的第一向量形成的样本空间。

优选地,对所述第一向量进行的第一聚类的步骤包括:

视第一时间降维后得到的第一向量集合中的每个向量为一个点,利用局部异常点检查算法标注出集合中的正常点及异常点;

利用层次聚类算法对正常点进行分类,得到正常点的分类类别及主题标签;

计算异常点与正常点之间的欧氏距离,根据最小距离值将异常点划分到正常点所属的分类类别并标注相应的主题标签。

此外,为实现上述目的,本发明还提供一种电子装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的反欺诈程序,所述反欺诈程序被所述处理器执行时实现如下步骤:

读取第一时间内的用户日志数据,并对用户日志数据进行清洗;

解析清洗后的用户日志数据得到每个用户的一个或多个操作行为序列,过滤掉无效的操作行为序列,得到的有效操作行为序列为训练样本句子;

将所述训练样本句子转换为词袋向量,利用词频模型将所述训练样本句子的词袋向量转换为词频向量,对该词频向量进行降维得到第一向量形成的样本空间;

对所述第一句子向量进行第一聚类,得到该第一时间内用户操作日志数据的分类类别及各类别对应的主题标签;

读取第二时间内的用户日志数据,对数据进行清洗、解析得到该第二时间内的用户操作行为序列,将用户操作行为序列转换为词频向量后利用矩阵变换映射到样本空间,得到该第二时间对应的第二向量;

计算该第二时间内对应的第二向量与所述每个分类类别中的第一向量之间的欧氏距离,根据最小距离值确定该第二时间内对应的第二向量所属的分类类别并标注相应的主题标签;

在该第二时间对应的第二向量中加入时间维度,对每个类别中加入时间维度的第二向量进行第二聚类,根据第二聚类结果识别出每个类别中代表相似时间具有相似操作的第三向量;

结合所述第三向量相关联用户的基本信息,生成所述相关联用户的关系图,根据关系图中各用户与其他用户的关联关系判断各用户是否存在欺诈嫌疑。

优选地,将所述训练样本句子转换为词袋向量,利用词频模型将所述训练样本句子的词袋向量转换为第一向量,对该词频向量进行降维得到第一向量形成的样本空间的步骤包括:

通过词袋模型得到每个训练样本句子中各操作代码的出现次数;

利用词频-逆词频算法计算得到每个训练样本句子中各操作代码的出现次数对应的词频;

基于计算得到的词频,将所有样本句子构成m行、n列的样本矩阵,m代表样本句子的总数,n代表每个样本句子包含的操作代码的总数,矩阵中每一行的数值为样本句子各操作代码的词频,其中,m、n为正整数;

利用奇异值分解算法对所述样本矩阵进行分解,得到每个样本句子降维后的第一向量形成的样本空间。

优选地,对所述第一向量进行的第一聚类的步骤包括:

视第一时间降维后得到的第一向量集合中的每个向量为一个点,利用局部异常点检查算法标注出集合中的正常点及异常点;

利用层次聚类算法对正常点进行分类,得到正常点的分类类别及主题标签;

计算异常点与正常点之间的欧氏距离,根据最小距离值将异常点划分到正常点所属的分类类别并标注相应的主题标签。

进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有反欺诈程序,所述反欺诈程序可被至少一个处理器执行,以使所述至少一个处理器执行所述的反欺诈方法的步骤。

本发明基于原始用户日志数据,利用无监督算法对用户的操作行为进行分析、聚类,确定用户操作的类别及主题标签,并在聚类的类别中加入用户操作的时间维度信息,识别出每个类别中代表相似时间具有相似操作的相似用户行为。针对所述相似用户行为,结合相关联用户的基础信息,生成所述相关联用户的关系图,根据关系图中各用户与其他用户的关联关系判断反欺诈是否存在欺诈嫌疑。

本发明不需要把高维的原始数据提炼成多个统计指标,避免了数据提炼过程中的信息丢失,也不需要行业专家的介入、避免了人工干预。基于非监督学习算法建模的方式,不需要让模型去认识正负样本特点,避免了非均衡数据对模型学习的影响,也避免了统计上的“幸存者偏差”,提高了分析的效率及准确性。此外,在聚类的类别中加入用户操作的时间维度信息,识别出每个类别中代表相似时间具有相似操作的相似用户行为。针对所述相似用户行为,结合相关联用户的基础信息,生成所述相关联用户的关系图,根据关系图中各用户与其他用户的关联关系判断反欺诈是否存在欺诈嫌疑,可以有效识别犯罪团伙的群体欺诈。另外,本发明以关系图的方式输出欺诈识别结果,可供用户直观地知悉相关联的欺诈。

附图说明

图1是本发明电子装置一实施例的示意图;

图2是图1中反欺诈程序的程序模块图;

图3是以表格形式示出了本发明实施例中的一个有效的用户操作行为序列;

图4是以表格形式示出了本发明实施例中的训练样本句子经过词袋模型计算后的格式;

图5是以表格形式示出了本发明实施例中的训练样本句子各操作代码的出现次数经过tf-idf模型转换后得到的词频向量。

图6是本发明反欺诈方法一实施例的流程图;

图7是图6中步骤s30的细化流程图;

图8是图6中步骤s40的细化流程图;

图9是以表格形式示意本发明实施例中的操作日期和时间作为时间维度值的句子向量;

图10是示意本发明反欺诈方法一实施例生成的用户关系图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

参阅图1所示,是本发明电子装置1一实施例的示意图。

在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、个人电脑、便携计算机以及其它具有运算功能的电子设备。

所述电子装置1包括:存储器11、处理器12以及网络接口13。存储器11至少包括一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储单元,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

在本实施例中,所述存储器11可以用于存储安装于所述电子装置1的应用软件及各类数据,例如反欺诈程序10的程序代码及其运行过程中产生的相关数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、微处理器或其它数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。

网络接口13可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。

图1仅示出了具有组件11-13以及反欺诈程序10的电子装置1,但是应理解的是,图1并未示出电子装置1的所有组件,可以替代实施更多或者更少的组件。

在图1所示的电子装置1实施例中,存储器11中存储有反欺诈程序10,处理器12执行存储器11中存储的反欺诈程序10时实现本发明方法的步骤,细化过程将在程序模块图和方法流程图中介绍。

参照图2所示,为图1中反欺诈程序10的程序模块图。在本实施例中,反欺诈程序10被分割为多个模块,该多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。

所述反欺诈程序10可以被分割为:预处理模块110、第一分析模块120、第一聚类模块130、第二分析模块140、第二聚类模块150及判断模块160。

预处理模块110,用于读取第一时间内(例如,1周内)的用户日志数据并对用户日志数据进行清洗。每条用户日志包括用户的一个或多个操作行为及代表每个操作行为的操作代码(每个操作代码由若干个数字组成),此外还包括用户请求和回执信息。用户请求包括用户请求执行何种操作,回执信息是指被用户操作的业务系统应请求返回给用户的信息。对用户日志数据进行清洗包括剔除重复、过滤空值等操作。

第一分析模块120,用于解析清洗后的用户日志数据得到每个用户的一个或多个操作行为序列,并过滤掉无效的操作行为序列,将得到的有效操作行为序列视为训练样本句子。每个有效的操作行为序列包括依操作时间顺序排列的多个操作代码。一个用户操作行为序列,是对用户的对话流进行分割、截取出的基于单一目的用户操作行为。截取操作可以基于客户、渠道和时间三个维度。例如,某用户a在某一渠道下两段对话流之间停顿的时间间隔作为对话流分割的指标,停顿时间超过一阈值将意味着用户的某一目的已经到达或终止实施,而当两个完全一样的操作间隔时间极小时(例如小于一预设阈值5秒)将其合并为一个操作。过滤无效的操作行为序列包括过滤掉操作行为过少、或不完整的对话流。图3为一个有效的用户操作行为序列。

第一分析模块120将所述训练样本句子转换为词袋向量,利用词频-逆词频(termfrequency-inversedocumentfrequency,tf-idf)模型将所述训练样本句子的词袋向量转换为词频向量,对该词频向量进行降维得到第一向量形成的样本空间。

通过词袋(bagofwords,bow)模型得到每个训练样本句子中各操作代码的出现次数。

一个训练样本句子经过bow模型计算后得到图4所示的格式表示,表格中第二行的数字代表该训练样本句子中各操作代码的出现次数。

之后,第一分析模块120利用tf-idf算法计算得到每个训练样本句子中各操作代码的出现次数对应的词频。例如,训练样本句子各操作代码的出现次数经过tf-idf模型转换后,得到图5所示的词频向量。

类似的,通过tf-idf模型,所有样本句子构成m行n列的样本矩阵,m代表样本句子的总数,n代表每个样本句子包含的操作代码的总数,矩阵中每一行的数值为样本句子各操作代码的词频,其中,m、n为正整数。

利用奇异值分解(singularvaluedecomposition,svd)算法对所述样本矩阵am×n进行分解,得到每个样本句子降维后的第一向量。

对于任意矩阵:

奇异值分解都存在如下分解方式:

am×n=um×m∑m×nvn×n

其中:

该矩阵为对角矩阵,{σi|i∈1,...,k}为奇异值,奇异值从左上角向右下降序排列,代表各维度的重要性依次减小,因此可以选择排名靠前的前r个奇异值(r为正整数)和其对应的维度来近似矩阵am×n的结果:

am×n≈um×r∑r×rvr×n

基于上述词频向量,列字段的操作代码为词,行字段的句子id为行索引,经过svd的上述分解方式分解后,得到的u为句子向量,v为词向量。根据需求选择重要维度得到降维后的第一向量。

为了降维后的句子向量形成的样本空间足够大,用作训练的用户操作日志可以选择较大时间范围(例如1周),矩阵分解的时候用到的是全量数据(例如1周内的全部日志数据),训练得到样本空间后,有新的训练样本句子加入或有待测试的句子时,无需重新计算全量数据,而是基于训练出的样本空间把的训练样本句子或待测试的句子映射到训练出的样本空间。

第一聚类模块130,用于对所述降维后的第一向量进行第一聚类,得到该第一时间内用户操作日志数据的分类类别及各类别对应的主题标签。

在本实施例中,第一聚类模块130视第一时间对应的所述降维后得到的第一向量集合中的每个向量为一个点,利用局部异常点检查(localoutlierfactor,lof)算法标注出集合中的正常点及异常点。

之后,第一聚类模块130利用层次聚类算法对正常点进行分类,得到正常点的分类类别及主题标签。在本实施例中,是基于最小描述长度(minimumdescriptionlength,mdl)算法确定分类类别的数量:首先对句子向量空间进行多次层次聚类,对每次第一聚类结果进行统计,然后把一次第一聚类结果中的所有分类按元素个数进行排序,最后根据各分类元素个数与阈值p的大小关系将这些分类分成两种:主要类和次要类,再由mdl的计算公式计算得到每一个主要类和次要类的编码值之和,选择其中最小的编码值之和所对应的阈值p为最优分界点,主要类个数则为此次层次聚类的最优个数,而多次层次聚类获得的多次最优个数的稳定值作为最终分类类别的数目,其中,主要类指的是元素多的类,次要类指的是元素少的类,元素多少根据阈值p判断,元素数量超过阈值p的类为主要类,元素数量低于阈值p的类为次要类。

得到正常点的分类类别后,同一个类别中的操作行为具有相同的特征(例如相同的操作代码),第一聚类模块130根据这些相同特征可以确定该类别对应的主题标签。例如主题标签可以包括新股申购、基金交易、股票买卖等。

第一聚类模块130计算异常点与正常点之间的欧氏距离,根据最小距离值将异常点划分到正常点所属的分类类别并标注相应的主题标签。例如,聚类模块130计算得到一个异常点p1与每个正常点之间的欧氏距离d1、d2、d3,…dn(n为正整数),从d1、d2、d3,…dn中取最小值dmin,将异常点p1划分到该最小值dmin对应的正常点所属的分类类别,并将该最小值dmin对应的正常点的主题标签赋给异常点p1。

最后,第一聚类模块130筛选并输出被标注有分类、主题标签及是否异常的全部向量。

第二分析模块140,用于读取第二时间内(例如当前2小时内)的用户日志数据,对数据进行清洗、解析得到该第二时间内的用户操作行为序列,将用户操作行为序列转换为词频向量后利用矩阵变换映射到样本空间,得到该第二时间对应的第二向量。

假设所有训练样本句子所形成的空间为φ,且有r为实数空间。只要训练样本的数据足够丰富,可以认为φ涵盖了所有的情况,从而把φ映射到向量空间ψ,且有当矩阵am×n中的n=r时,方程am×n=um×m∑m×nvn×n,可以写成如下形式:

am×r=um×r∑r×rvr×r

且∑r×r和vr×r都可逆,则以上方程可以写成如下形式:

um×r=am×r(vr×r)-1(∑r×r)-1

对于任意向量b1×r∈,由于已经假设φ涵盖了所有情况,所以认为都存在以下变换:

其中,则是向量b1×r∈φ通过变换(vr×r)-1(∑r×r)-1在新空间的像,且由于这两个矩阵是可逆方阵,所以这个映射方式是唯一的,及一一对应。根据这个原理,第二时间内的每个用户操作行为序列都可以映射到第一向量形成的样本空间中的一个降维后的向量

综上,第二分析模块140根据svd分解得到的矩阵∑r×r和vr×r及其逆矩阵能将一个新的句子映射到训练样本所构成的空间,训练过程和测试过程的句子映射分成两个流程,训练结束后有新的样本加入或测试过程中无需再重构空间,既满足了空间上的一致性,又提高了模型的运算效率。

最后,第二分析模块140计算第二时间内对应的第二向量与所述每个分类类别中的第一向量之间的欧氏距离,根据最小距离值确定第二时间内对应的第二向量所属的分类类别并标注相应的主题标签,以及对应的lof值。例如,第二分析模块140以与第二时间内对应的第二向量a欧式距离最近(即距离值最小)的第一向量b的lof值,作为第二向量a的lof值。

第二聚类模块150,用于在该第二时间对应的第二向量中加入时间维度,对每个类别中加入时间维度的第二向量进行第二聚类,根据第二聚类结果识别出每个类别中代表相似时间具有相似操作的第三向量。例如,对第二分析模块140输出的第二向量,可以以第二向量的操作日期和时间作为时间维度值。图9是以操作日期和时间作为时间维度值的第二向量。

之后,第二聚类模块150对加入时间维度的第二向量进行第二聚类分析。在本实施例中,是利用具有噪声的基于密度的聚类(density-basedspatialclusteringofapplicationswithnoise,dbscan)算法执行第二聚类。

在本实施例中,每个加入时间维度的句子向量可以视为一个点,利用dbscan算法进行第二次聚类,被dbscan算法聚为同一类的句子向量视为相似时间具有相似操作的第三向量。

判断模块160,用于结合所述第三向量相关联用户的基本信息,生成所述相关联用户的关系图(如图10所示),根据关系图中各用户与其他用户的关联关系判断各用户是否存在欺诈嫌疑。例如,图10中以“xxx***xx”形式表示用户,“***xxxx***”形式表示用户的基本信息,可以发现,在图10的中间区域,用户与基础信息形成了一个复杂的网状结构,这种复杂的网状表明存在欺诈的可能性非常高;而周围的用户和基本信息几乎都是简单的“树”结构,是正常用户的特征。在本实施例中,是通过用户关系图10中各用户与其他用户的关联关系的复杂程度判定用户是否存在欺诈嫌疑。

本实施例所使用图论的知识主要基于图论的连通图理论,根据关系图中各用户与其他用户的关联关系的复杂程度判定是否欺诈,对识别犯罪团伙的群体欺诈行为有很好的效果。犯罪团伙也很难通过只改变欺诈流程而规避被识别到的风险,其需要同时大量改变操作行为、大量改变操作时间间隔和大量改变基本信息,才可能规避反欺诈,且这样做增加了犯罪难度、犯罪时间成本和犯罪风险。

参阅图6所示,是本方案提供的反欺诈方法一实施例的流程示意图。在本实施例中,根据不同的需求,图6所示的流程图步骤的执行顺序可以改变,某些步骤可以省略。

步骤s10,预处理模块110读取第一时间内(例如,1周内)的用户日志数据并对用户日志数据进行清洗。每条用户日志包括用户的一个或多个操作行为及每个操作行为对应的操作代码,此外还包括用户请求和回执信息。用户请求包括用户请求执行何种操作,回执信息包括被用户操作的业务系统应请求返回给用户的信息,对用户日志数据进行清洗包括剔除重复、过滤空值等操作。

步骤s20,第一分析模块120解析清洗后的用户日志数据得到每个用户的一个或多个操作行为序列,并过滤掉无效的操作行为序列,将得到的有效操作行为序列视为训练样本句子。每个有效的操作行为序列包括依操作时间顺序排列多个操作代码。一个用户操作行为序列,是对用户的对话流进行分割、截取出的基于单一目的用户操作行为。截取操作可以基于客户、渠道和时间三个维度。例如,某用户a在某一渠道下两段对话流之间停顿的时间间隔作为对话流分割的指标,停顿时间超过一阈值将意味着用户的某一目的已经到达或终止实施,而当两个完全一样的操作间隔时间极小时(例如小于一预设阈值5秒)将其合并为一个操作。过滤无效的操作行为序列包括过滤掉操作行为过少、或不完整的对话流。图3为一个有效的用户操作行为序列。

步骤s30,第一分析模块120将所述训练样本句子转换为词袋向量,利用词频模型将所述训练样本句子的词袋向量转换为词频向量,对该词频向量进行降维得到降维后的第一向量形成的样本空间。步骤30的细化步骤将在图7介绍。

步骤s40,第一聚类模块130对所述降维后的第一向量进行第一聚类,得到该第一时间内用户操作日志数据的分类类别及各类别对应的主题标签。步骤40的细化步骤将在图8介绍。

步骤s50,第二分析模块140读取第二时间内(例如当前2小时内)的用户日志数据,对数据进行清洗、解析得到该第二时间内的用户操作行为序列,将用户操作行为序列转换为词频向量后利用矩阵变换映射到样本空间,得到该第二时间对应的第二向量。

假设步骤s30中所有训练样本句子所形成的空间为φ,且有r为实数空间。只要训练样本的数据足够丰富,可以认为φ涵盖了所有的情况,从而把φ映射到向量空间ψ,且有当矩阵am×n中的n=r时,方程am×n=um×m∑m×nvn×n,可以写成如下形式:

am×r=um×r∑r×rvr×r

且∑r×r和vr×r都可逆,则以上方程可以写成如下形式:

um×r=am×r(vr×r)-1(∑r×r)-1

对于任意向量b1×r∈,由于已经假设φ涵盖了所有情况,所以认为都存在以下变换:

其中,则是向量b1×r∈φ通过变换(vr×r)-1(∑r×r)-1在新空间的像,且由于这两个矩阵是可逆方阵,所以这个映射方式是唯一的,及和b1×r一一对应。根据这个原理,第二时间内的每个用户操作行为序列都可以映射到对应第一时间的向量样本空间中的一个降维后的第一向量

综上,根据svd分解得到的矩阵∑r×r和vr×r及其逆矩阵能将一个新的句子映射到训练样本所构成的空间,训练过程和测试过程的句子映射分成两个流程,训练结束后有新的样本加入或测试过程中无需再重构空间,既满足了空间上的一致性,又提高了模型的运算效率。

步骤s60,第二分析模块140计算该第二时间内对应的第二向量与所述每个分类类别中的第一向量之间的欧氏距离,根据最小距离值确定该第二时间内对应的向量所属的分类类别并标注相应的主题标签,以及对应lof值。例如,第二分析模块140以与第二时间内对应的第二向量a欧式距离最近(即距离值最小)的第一向量b的lof值,作为第二向量a的lof值。

步骤s70,第二聚类模块150在该第二时间对应的第二向量中加入时间维度,对每个类别中加入时间维度的第二向量进行第二聚类,根据第二聚类结果识别出每个类别中代表相似时间具有相似操作的第三向量。例如,对第二分析模块140输出的第二向量,可以以第二向量的操作日期和时间作为时间维度值。图9是以操作日期和时间作为时间维度值的第二向量。

之后,第二聚类模块150对加入时间维度的第二向量进行第二聚类分析。在本实施例中,是利用dbscan聚类算法执行第二聚类。

在本实施例中,每个加入时间维度的第二向量可以视为一个点,利用dbscan算法进行第二次聚类,被dbscan算法聚为同一类的句子向量视为相似时间具有相似操作的第三向量。

步骤s80,判断模块160结合所述第三向量相关联用户的基本信息,生成所述相关联用户的关系图(如图10所示),根据关系图中各用户与其他用户的关联关系判断各用户是否存在欺诈嫌疑。例如,图10中以“xxx***xx”形式表示用户,“***xxxx***”形式表示用户的基本信息,可以发现,在图的中间区域,用户与基础信息形成了一个复杂的网状结构,这种复杂的网状表明存在欺诈的可能性非常高;而周围的用户和基本信息几乎都是简单的“树”结构,是正常用户的特征。在本实施例中,是通过关系图10中各用户与其他用户的关联关系的复杂程度判定用户是否存在欺诈嫌疑。

本实施例所使用图论的知识主要基于图论的连通图理论,根据关系图中各用户与其他用户的关联关系的复杂程度判定是否欺诈,对识别犯罪团伙的群体欺诈行为有很好的效果。犯罪团伙也很难通过只改变欺诈流程而规避被识别到的风险,其需要同时大量改变操作行为、大量改变操作时间间隔和大量改变基本信息,才可能规避反欺诈,且这样做增加了犯罪难度、犯罪时间成本和犯罪风险。

参阅图7所示,是图6中步骤s30的细化流程图。

步骤s310,第一分析模块120通过bow模型得到每个训练样本句子中各操作代码的出现次数。

一个训练样本句子经过词袋后得到图4所示的格式表示,表格中第二行的数字代表所述训练样本句子中各操作代码的出现次数。

步骤s320,第一分析模块120利用tf-idf算法计算得到每个训练样本句子中各操作代码的出现次数对应的词频。例如图4中训练样本句子各操作代码的出现次数经过tf-idf模型转换后得到的词频向量如图5的表格所示。

步骤s330,类似的,第一分析模块120通过tf-idf模型,所有样本句子构成m行n列的样本矩阵am×n,m代表样本句子的总数,n代表每个样本句子包含的操作代码的总数,矩阵中每一行的数值为样本句子各操作代码的词频,其中,m、n为正整数。

步骤s340,第一分析模块120利用svd算法对所述样本矩阵am×n进行分解,得到每个样本句子降维后的向量。

对于任意矩阵:

svd都存在如下分解方式:

am×n=um×m∑m×nvn×n

其中:

该矩阵是对角矩阵,{σi|i∈1,...,k}为奇异值,奇异值从左上角向右下降序排列,代表各维度的重要性依次减小,因此可以选择排名靠前的前r个奇异值和其对应的维度来近似矩阵am×n的结果:

am×n≈um×r∑r×rvr×n。

基于上述词频向量,列字段的操作代码为词,行字段的句子id为行索引,经过svd的上述分解方式分解后,得到的u为句子向量,v为词向量。根据需求选择重要维度得到降维后的第一向量。

为了降维后的第一向量形成的样本空间足够大,用作训练的用户操作日志可以选择较大时间范围(例如1周),矩阵分解的时候用到的是全量数据(例如1周内的全部日志数据),训练得到样本空间后,有新的训练样本句子加入或有待测试的句子时,无需重新计算全量数据,而是基于训练出的样本空间把的训练样本句子或待测试的句子映射到训练出的样本空间,可以参考图8中步骤s40。

参阅图8所示,是图6中步骤s40的细化流程图。

步骤s410,第一聚类模块130视第一时间对应的所述降维后得到的第一向量集合中的每个向量为一个点,利用lof算法标注出集合中的正常点及异常点。

步骤s420,第一聚类模块130利用层次聚类算法对正常点进行分类,得到正常点的分类类别及主题标签。在本实施例中,是基于mdl算法确定分类类别的数量:首先对句子向量空间进行多次层次聚类,对每次第一聚类结果进行统计,然后把一次第一聚类结果中的所有分类按元素个数进行排序,最后根据各分类元素个数与阈值p的大小关系将这些分类分成两种:主要类和次要类,再由mdl的计算公式计算得到每一个主要类和次要类的编码值之和,选择其中最小的编码值之和所对应的阈值p为最优分界点,主要类个数则为此次层次聚类的最优个数,而多次层次聚类获得的多次最优个数的稳定值作为最终分类类别的数目,其中,主要类指的是元素多的类,次要类指的是元素少的类,元素多少根据阈值p判断,元素数量超过阈值p的类为主要类,元素数量低于阈值p的类为次要类。

第一分析模块120得到正常点的分类类别后,同一个类别中的操作行为具有相同的特征(例如相同的操作代码),根据这些相同特征可以确定该类别对应的主题标签。例如主题标签可以包括新股申购、基金交易、股票买卖等。

步骤s430,第一聚类模块130计算异常点与正常点之间的欧氏距离,根据最小距离值将异常点划分到正常点所属的分类类别并标注相应的主题标签。例如,聚类模块130计算得到一个异常点p1与每个正常点之间的欧氏距离d1、d2、d3,…dn(n为正整数),从d1、d2、d3,…dn中取最小值dmin,将异常点p1划分到该最小值dmin对应的正常点所属的分类类别,并将该最小值dmin对应的正常点的主题标签赋给异常点p1。

最后,第一聚类模块130筛选并输出被标注有分类、主题标签及是否异常的全部第一向量。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有反欺诈程序10,所述反欺诈程序10可被至少一个处理器执行,以使所述至少一个处理器执行如上述的反欺诈方法的步骤。

本发明计算机可读存储介质具体实施方式与上述反欺诈方法和电子装置各实施例基本相同,在此不作累述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台客户端(可以是手机,计算机,电子装置或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1