具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请实施例中提及的技术方案,下面先对本申请中涉及的若干技术术语进行简要说明。
PageRank算法:PageRank为Google创始人设立的网站排名方法,用于评价网页的重要性。PageRank的计算基于以下两个基本假设:(1)一个页面(节点)接收到的网页指向数量越多,那么这个页面越重要,即PageRank值(以下称PR值)越高;(2)PR值高的页面会通过链接把重要性传导到它指向的页面,即,指向页面A的页面重要性越高,则页面A越重要。
PageRank算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个页面节点的PR值,直到得分稳定为止。一个页面的PageRank值可以由下式表示:
其中,p1,p2,…,pN是被研究的页面,M(pi)是的链入到页面pi的页面的集合,L(pj)是页面pj的链出页面的数量,N是页面总数。d是阻尼系数(damping factor),控制PageRank算法的收敛速度,一般取值为0.85,表示在任意时刻用户到达某页面后并继续向后浏览的概率。1-d,通常为0.15,为用户停止点击,随机跳到新URL的概率。通常,给每个网页设定一个初始PR值(通常取1),由公式递归计算各网页的PR值,直至各网页的PR值趋于稳定,最终得到各网页的真实PR值。
Ego-Net:即,EgocentricNetwork Study Software,称为自我中心网络。在网络中,每一个节点一度关联后,形成的小型社区,称为这个节点的Ego-Net。这个小社区的变量,可作为这个节点的属性变量。
转账网络:从业务上来看,转账是从一个账户把钱转给另一个账户,即,从转出账户把钱转到转入账户。从构图来看,转账网络是一个有向图,其中,账户为节点,转账交易为边,边的方向为转出账户到转入账户。
在转账网络中,除了正常用户使用转账功能满足常规交易需求外,转账也成了一些黑产和不良用户的资金流通渠道。例如,在作弊场景下,为了将新账户优惠券套现,黑产会注册多个虚假小号,在小号领取新人券后,黑产通过一个有资金的大号,向虚假小号转账,给予小号启动资金,小号可用启动资金去完成虚假交易,从而将新账户优惠券套现。在这种情况下,转账网络就会出现异常的从大账号出发的发散型的扇形资金网络。再例如,在另一作弊场景下,为了将非法所得合法化,黑产会通过虚假交易将非法资金转入一些虚假账户使其合法化,再将虚假账户中的资金转入到真实的大账号,从而完成洗钱。在这种情况下,转账网络就会出现异常的向大账号汇集的反向发散的扇形资金网络。
本申请提供了用于识别转账网络中的异常账户网络和异常账户集合的方法、装置及设备。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的识别异常账户集合的方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图1所示,该流程可以包括以下步骤:
S110:获取多个账户的转账数据。
所述多个账户以及所述多个账户之间的转账关系构成转账网络,其中,账户为转账网络中的节点,转账关系为转账网络中的边。转账网络为有向图,其中边的方向从转出账户指向转入账户。
根据实施例,所述转账数据至少包括转出账户信息、转入账户信息,还可以包括转账信息等其他信息,诸如转账时间、转账金额等。可以基于转出账户信息和转入账户信息来建立转账关系。
S120:根据所述转账数据,确定风险值大于第一预设值的第一异常账户。
具体地,可以提取转账数据中包含的转账信息,例如,可以得知每个账户被转入的数量和转出的数量。可以基于上述信息来计算风险值。
可以理解的是,此步骤中确定风险值可以是根据预定规则来确定。具体地,预定规则可以根据待识别的异常账户的特性来设定。例如,若待识别账户为进行营销资金套现的账户时,可以根据其在转账网络中处于扇形起始中心点的特点,基于其转出账户的数量和重要性等属性,来评估其风险值。又如,若待识别账户为进行洗钱的网络社群中的账户时,可以根据其在转账网络中处于扇形终点中心点的特点,基于向其转账的账户的数量和重要性等属性,来评估其风险值。
另外,用于评估风险值的预定规则不是一成不变的。实际上,本发明的实施例的技术方案可以通过智能学习来更新评估标准和规则,即,可以根据设定的参数和历史信息,来形成新的风险值评估规则。
可选地,预定规则中可以考虑账户的历史风险值等属性,来进行风险值的评估。其中,账户的历史风险值可以包含在账户信息中,例如,当一个账户曾经被标识为异常账户或者高风险账户,则认为其历史风险值较高。在可选的实施例中,如果与目标账户发生转账关系的账户的历史风险值比较高,则在计算其对目标账户的风险值的贡献时,可以增大该账户的贡献值的权重。
根据实施例,第一预设值可以根据实际需求来设定。具体地,可以根据预计挖掘的异常网络的预计复杂程度并且综合考虑计算的复杂程度来确定,既满足可以充分地挖掘异常网络,同时也可以有效地降低计算的复杂度。
S130:基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络。
根据实施例,根据S120获得至少一个第一异常账户,在S130中,可以以该至少一个第一异常账户为中心,并行地进行异常账户子网络的挖掘。也就是说,根据S130,可以同时获得至少一个异常账户子网络。
根据实施例,各个异常账户子网络中可以具有彼此相同的节点,即,一个节点可以同时在两个或更多个异常账户子网络中,一个节点也可以只在一个异常账户子网络中。或者,一个节点可以不在任何异常账户子网络中,这种情况下,该节点将不被考虑为异常账户集合中的账户。
S130中,基于第一异常点的异常账户子网络的挖掘可以使用任何已知的算法来实现。例如,可以基于转账数据来获取与第一异常点发生转账关系的账户,再基于发现的账户来进一步获取与所述发现的账户有转账关系的账户。其中,当基于单向转账关系来挖掘时,即,仅考虑转出账户或仅考虑转入账户时,可以获得扇形结构的异常网络。
根据实施例,在S130中,针对第一异常账户,挖掘得到异常账户子网络,具体地,挖掘得到浅层的异常账户子网络。尽管如此,并不会截断大型深层网络,根据实施例,可以通过S140来获得多层、深层的异常网络。
S140:将所述异常账户子网络合并得到异常账户网络。
根据实施例,可以采用最大连通图算法,将已经获得的浅层扇形网络合并为深层扇形网络,即,将异常账户子网络合并为异常账户网络。
可以理解的是,对于一个待发现的多层深层扇形网络,从最中心的异常节点出发,可以先关联例如一度或两度,如果一度或两度关联中的节点也是异常节点,则其也会被关联例如一度或两度,如此,扇形可以不断向深处延伸,直至扇形的末梢,则可以发现该多层深层扇形网络。基于这样的思想,可以通过简单的最大连通图算法,将局部社群合并为大社群,即,可以将异常账户子网络合并为异常账户网络。
根据实施例,对于每个异常节点进行不大于设定度数的关联计算得到浅层异常扇形子网络,再将浅层异常扇形子网络合并来得到异常账户网络的方法,可以显著减少计算的复杂度。
通过S110至S140的方法,可以识别到至少一个异常账户网络。实际上,可以通过对异常账户网络的监控来发现异常转账活动,例如,可以通过对异常账户扇形网络的监控来发现诸如洗钱、营销资金套现等的作弊行为。
S150:将所述异常账户网络中的各个账户确定为异常账户集合中的账户。
具体地,S150可以将所述至少一个异常账户网络中的所有账户确定为异常账户,这些异常账户构成异常账户集合。在应用场景中,可以根据实际需要来针对异常账户集合中的账户进行操作,例如,可以对异常账户集合中的账户进行重点监控,可以对所述账户进行频繁转账活动的限制,可以对于该账户发生转账关系的账户进行潜在风险提示等等。
除了应用于转账网络外,本发明的实施例的上述识别异常账户集合的方法也可以适用于对设备网络、消费网络等其他网络中异常网络以及异常主体的识别。
在现有技术中,通常采用联通子图法、Louvain等社群发现算法来识别异常社群,其发现异常社群的思路基本为:先将所有的节点构图,然后通过算法切割社群,再识别社群是否异常,最后定义异常社群中节点的性质。Louvain算法等社区发现算法可以找到聚集的紧密的社区,但是转账网络是发散的,从图上看,转账网络是一个连接范围很广的大图,很难进行分割,Louvain等社区发现算法对于识别转账网络中的异常扇形网络存在局限性。
本发明的技术方案的基本思路为:先发现异常节点;然后以异常节点作为中心点,挖掘得到异常局部网络;再将异常局部网络合并为大的异常网络。本发明采取了从点到面的异常网络挖掘方法,即,从异常节点扩展得到异常网络的方法,一方面,可以显著减少参与子网络挖掘运算的节点数(例如,可以显著减少参与笛卡尔积计算的节点数),降低计算复杂度,减少了计算量;另一方面,从多个异常点出发来并行地挖掘子网络,提高了计算效率;再一方面,通过上述方法可以有效地、快速地发现多层、深层异常扇形网络。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
下面将对上述实施例的S120进行详细描述。
在有向网络中,边的方向对于节点的重要性不容忽略,因此,在计算有向网络中节点的重要性时,除了应考虑节点的关联度,还应考虑节点的中心度。基于此,有向网络的节点重要性计算算法包括PageRank算法、HITS算法、LeaderRank算法等。
本申请采用PageRank算法来实现“根据所述转账数据,确定风险值大于第一预设值的第一异常账户”(S120)。
在作弊场景下,通常由一个账户(大号)向多个账户(小号)提供启动资金;也可能由一个账户(大号)经由多个中间账户(中号)转账再向多个账号(小号)转账,其中,中间账户(中号)用于分散资金,以规避风控规则。因此,首先需要对PageRank算法进行针对风控场景的改良,具体地,针对转账网络进行改良。
基于上述作弊场景,将转账方向定义为与PageRank方向相反的方向,即,逆PageRank方向。具体地,(1)若一个账户向多个账户转账,则该转出账户比较异常,Risk-PageRank(以下称为Risk-PR)分数相对较高;(2)若一个账号向高Risk-PR分数的账号转账,则该转出账户的Risk-PR分数由此而相应地提高。
根据实施例,具体地,根据所述转账数据,使用PageRank算法,计算所述多个账户的Risk-PR值;将Risk-PR值大于第一预设值的账户识别为第一异常账户。
根据实施例,可以根据下式计算账户的Risk-PR值:
其中,p1,p2,…,pN是转账网络中的账户,M(pi)是由账户pi向外转账到的账户的集合,L(pj)是向账户pj转账的账户的数量,N为账户总数,d为阻尼系数。
可选地,可以将阻尼系数d设为0.6~0.85。可选地,可以将阻尼系数d设为0.7。对该阻尼系数的选取值,在保证准确率的情况下,增大了衰减速度,提高了计算效率。
可选地,PageRank运算的迭代次数可以设置为不大于10,例如,可以设置为4。由于在转账网络中,距离目标账户越远的账户,对目标账户的风险值的贡献越小,计算中可以主要考虑对目标账户的风险值贡献达到一定程度的账户,而可以不考虑收敛,因此可以适当减小迭代次数,从而提高计算效率。另外,根据非限制性实施例,在异常扇形转账网络中,扇形的层数通常不超过10层,其中,大部分异常扇形网络的层数不超过4层,因此,可以将迭代次数设置为例如4,以在满足计算要求的同时,最大程度地提高计算效率、减少计算耗时。
在本申请中,采用PageRank算法来计算转账网络中各账户的风险值,具有以下优势:(1)从全局角度考虑目标账户的风险值,计算结果更全面、更能够反映目标账户在全局中的重要性;(2)采用全局结构的迭代算法,计算效率高,减少计算时间。
下面对上述实施例的S130进行详细描述。
根据实施例,所述基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络(S130),具体包括:
S131:以所述第一异常账户为中心,计算所述第一异常账户的风险值和所述第一异常账户的转出账户的风险值的平均风险值,或者,所述第一异常账户的风险值和所述第一异常账户的转入账户的风险值的平均风险值;
S132:依据所述平均风险值,挖掘异常账户子网络,其中,所述异常账户子网络的层数与所述平均风险值对应。
根据实施例,第一异常账户的Risk-PR值可以从全局来量化一个账户所在网络中有多少与它相关的净流出账户。但是,第一异常账户中具有高Risk-PR值的账户所在的网络可以呈现多种形态,而第一异常账户中具有相对低Risk-PR值的账户所在的网络也可能会存在异常。
根据实施例,可以采用Ego-Net的思路,同时考虑第一异常账户以及其附近的点的Risk-PR值,基于以第一异常账户为中心节点的Ego-Net的属性,来对第一异常账户进行再分类。其中,Ego-Net指的是与第一异常账户一度关联的账户与所述第一异常账户共同组成的网络。
为了更清楚地如何根据Ego-Net的属性来判断第一异常账户的属性,下面参照图2来举例说明。图2为两种不同的异常账户子网络的示意图,其中,实心圆节点表示第一异常账户。参照图2,两个实心圆节点的Risk-PR值相近,但是,它们所处在的扇形网络的形状不一样。Ego-Net为节点一度关联后的网络,从实心圆节点一度关联的节点的Risk-PR平均值来看,左边实心圆节点的Ego-Net的平均Risk-PR很低,而右边实心圆节点的Ego-Net的平均Risk-PR较高。也就是说,即使是相同的Risk-PR值的节点,其所在的局部网络的属性也可能不同,进而导致相同的Risk-PR值的节点的属性上的差异。可以结合节点的Ego-Net的属性,来对节点进行进一步分类。
根据实施例,首先,可以例如计算第一异常账户的Risk-PR值和第一异常账户的转出账户(即,第一异常账户向其转账的账户)的Risk-PR值的平均Risk-PR值,这种情况对应与对套取营销资金的异常网络的识别;或者,可以例如计算第一异常账户的Risk-PR值和第一异常账户的转入账户(即,向第一异常账户转账的账户)的Risk-PR值的平均Risk-PR值,这种情况对应于洗钱的异常网络的识别。其中,平均Risk-PR值反映的是以第一异常账户为中心节点的Ego-Net的属性,也间接反映所述第一异常账户的属性。
然后,可以基于Ego-Net的属性和其反映的第一异常账户的属性,来分别挖掘对应的第一异常账户的异常账户子网络,其中,挖掘的异常账户子网络的层数与相应的第一异常账户所在的Ego-Net的属性相关,具体地,挖掘的异常账户子网络的层数对应于Ego-Net的平均Risk-PR值。例如,若第一异常账户所在的Ego-Net的平均Risk-PR值较高,则挖掘更多层的异常账户子网络。
其中,可选地,平均Risk-PR值的计算可以是使用简单的算数平均法对目标范围内的数值进行平均,即,将Ego-Net内的所有节点的Risk-PR值的总和除以Ego-Net内的节点数目,以得到Ego-Net的平均Risk-PR值。可选地,也可以进行其他复杂的平均法来计算,例如,可以采用加权平均法,以突出Ego-Net中标记节点(有历史不良记录的账户)的重要性。
根据实施例,所述依据所述平均风险值,挖掘异常账户子网络(S132),具体包括:判断所述平均风险值是否大于第二预设值;若所述平均风险值不大于所述第二预设值,基于所述第一异常账户,构建第一类扇形子网络,作为第一类异常账户子网络;若所述平均风险值大于所述第二预设值,基于所述第一异常账户,构建第二类扇形子网络,作为第二类异常账户子网络;其中,所述第一类扇形子网络的层数不大于所述第二类扇形子网络的层数。
具体地,将第一异常账户所在Ego-Net的平均风险值与第二预设值进行比较,以对第一异常账户进行分类,再根据分类结果进行区别处理。其中,对于平均风险值高于第二预设值的Ego-Net所对应的第一异常账户,基于该第一异常账户构建相对多层的子网络。这是由于,当Ego-Net的平均风险值较大(例如,大于第二预设值)时,说明基于对应的第一异常账户构建的Ego-Net中的末端账户的风险值也较高,那么,就有必要对当前末端账户进行进一步关联,从而将与该末端账户相关联的账户也纳入异常账户子网络。
可选地,所述第一类扇形子网络为一层扇形子网络,所述第二类扇形子网络为二层扇形子网络。即,可选地,可以对平均风险值不大于第二预设值的Ego-Net对应的第一异常账户进行一度关联以获取一层扇形子网络,可以对平均风险值大于第二预设值的Ego-Net对应的第一异常账户进行二度关联以获取二层扇形子网络。
根据实施例,可以采用笛卡尔积来构建扇形子网络。所述基于所述第一异常账户,构建第一类扇形子网络,作为第一类异常账户子网络,具体包括:计算包含所述第一异常账户的转账数据的信息表与包含所有账户的转账信息的信息表的笛卡尔积,得到一度关联的一层扇形子网络,作为第一类异常账户子网络。所述基于所述第一异常账户,构建第二类扇形子网络,作为第二类异常账户子网络,具体包括:计算包含所述第一异常账户的转账数据的信息表与包含所有账户的转账信息的信息表的笛卡尔积,得到一度关联的一层扇形子网络,将所述一层扇形子网络中的除所述第一异常账户之外的账户作为第二异常账户,计算包含所述第二异常账户的转账数据的信息表与包含所有账户的转账信息的信息表的笛卡尔积,在所述一层扇形子网络的基础上得到二度关联的二层扇形子网络,作为第二类异常账户子网络。
其中,一个账户的信息表中包含该账户的转入账户信息和转出账户信息等,换句话说,包括转账方信息和收款方信息。
根据上述步骤,针对第一异常账户进行一度或二度关联,有效地减少了参加笛卡尔积计算的账户的数目,从而降低计算复杂度、提高计算效率。
下面对上述实施例的S140进行详细描述。
根据实施例,可以采用连通算法,基于所述异常账户子网络来得到至少一个最大连通子图,作为异常账户网络。
其中,生成最大连通子图的方式,本说明书实施例不做具体限定。例如,可以采用各种现有的连通算法来得到异常账户子网络的最大连通子图。例如,连通算法可以包括Kosaraju算法、Tarjan算法或Gabow算法等。
再如,可以采用如下方式来生成最大连通子图:以异常账户子网络中的任意一个账户作为元素,生成新集合;如果所述账户是某个已有集合中的元素,则将所述已有集合并入并更新所述新集合(该已有集合因并入新集合而不再存在);遍历所有已有集合,并将符合条件的已有集合并入并更新所述新集合;遍历异常账户子网络中的所有账户,以得到最终更新的新集合作为最大连通子图中的节点。
为了便于说明,图3为将两个异常账户子网络合并为异常网路的示例的示意图。
参照图3,左上图为高Risk-PR值的异常账户A进行二度关联得到的异常账户子网络,其中,该异常账户子网络中包括账户B;右上图为高Risk-PR值的异常账户B进行一度关联后得到的异常账户子网络。在实际应用中,上述挖掘两个异常账户子网络的过程可以并行计算。然后,再通过最大连通图算法,来得到图3中下侧的最大连通子图。需要说明的是,上述两个异常账户子网络中的其他账户也可能是任意其他异常账户子网络中的账户,在这种情况下,从图上看,则可以将相同的账户节点合并,以得到更新的最大连通子图。
根据上述实施例,在具体应用场景中,例如,可以设转账网络中的账户总数为N,其中,基于账户的风险值而被确定为第一异常账户的账户数量为M(M<N);基于以第一异常账户为中心的Ego-Net的平均风险值,对平均风险值不大于第二预设值的Ego-Net所对应的M1(M1≤M)个第一异常账户进行一度关联来获得第一类异常账户子网络(即,一层扇形子网络),其计算的复杂度为O(M1*N);对平均风险值大于第二预设值的Ego-Net所对应的M2(M1+M2=M)个账户进行二度关联来获得第二类异常账户子网络(即,二层扇形子网络),具体地,先采用笛卡尔积来寻找与M2关联的例如P(显然,P<N)个第二异常账户,再采用笛卡尔积来寻找与P个第二异常账户关联的账户,从而基于两次关联结果来构建第二类异常账户子网络(即,二层扇形子网络),其计算的复杂度为O(M2*N)+O(P*N);最后,在进行最多二度关联计算得到的异常账户子网络的基础上,可以通过最大连通子图法来获得最终的异常账户网络。
在现有技术中,可以直接利用笛卡尔积来计算并寻找扇形网络。如果对转账网络中的数据进行二度关联,则其计算的复杂度为O(N*N*N);如果要发掘更深层次的扇形网络,就需要进行更大复杂度的计算。显然,直接利用笛卡尔积来识别扇形网络的计算复杂度显著大于本发明实施例的识别扇形网络的计算复杂度,提高了计算效率,节省计算资源和计算时间。
根据前述实施例,可以识别异常转账网络以及异常账户集合。但是,在没有其他强证据的情况下,无法将该异常转账网络/异常账户直接定性为风险网络/风险账户。从异常社群中定义风险社群,一直是一个难题,其困难在于,需要多样且有力的证据来举证社群成员确实在以群体的方式,做可定性为风险的行为。
本申请的可选实施例提供了一种可以基于异常网络/异常账户集合来识别风险网络/风险账户集合的方法,具体描述如下。
图4为本说明书的实施例提供的识别风险账户集合的方法的流程示意图。具体地,所述方法包括:
S210:获取多个账户的转账数据;
S220:根据所述转账数据,确定风险值大于第一预设值的第一异常账户;
S230:基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络;
S240:将所述异常账户子网络合并得到异常账户网络;
S250:根据所述异常账户网络与另外的异常网络的重合度,判断所述异常账户网络是否为风险网络;
S260:将所述风险网络中的各个账户确定为风险账户集合中的账户。
其中,该实施例的S210至S240与图1的实施例的S110至S140相同,S260与图1的实施例的S150相应,S250为新增步骤。下面将主要对S250进行详细说明。
具体地,S250表示通过彼此独立的一个异常账户网络与另外的异常网络相互举证,来确定所述异常网络是否为风险网络,同时,也可以确定所述另外的网络是否为风险网络。这是由于,如果一个异常网络与另外的与其他异常网络的重合高,则可以认为该异常网络有更多的证据被定性为风险网络。
根据实施例,所述另外的异常网络可以包括一个异常网络,也可以包括两个或更多个异常网络。可以通过异常网络的相互举证的方法,来交叉获取和考量网络成员进行作弊行为的手段、动机等信息。
可选地,对于另外的异常网络,可以根据实际需求和对风险的了解来选取不同的网络进行重合度统计,例如,可以选取异常设备网络、异常消费网络等。其中,异常设备网络指的是,以设备为节点构成的异常网络。其中,异常消费网络是指,以消费主体为节点构成的异常网络。
例如,如果一个异常账户网络中的账户,同时对应于一个设备网络中的设备,并且/或者,同时在一个消费网络,即,异常账户网络与设备网络和/或消费网络具有一定的重合度,则该异常账户网络以及其中的账户的风险值较高。
根据实施例,所述根据所述异常账户网络与另外的异常网络的重合度,判断所述异常账户网络是否为风险网络具体包括:计算所述异常账户网络与所述另外的异常网络的重合度;判断所述重合度是否大于第三预设值;若是,则识别所述异常账户网络为风险网络。
根据实施例,可以使用Jaccard算法来计算所述异常账户网络与所述另外的异常网络的重合度,使用Jaccard相似系数来表示所述重合度,
Jaccard相似系数=|X∩Y|/|X∪Y|,即,两个集合的交集中的元素的个数与两个集合的并集中的元素的个数的比。
其中,X可以表示所述异常网络的特征的集合,Y可以表示所述另外的异常网络的特征的集合。
其中,Jaccard相似系数越大,表明重合度越高,则参与计算的异常扇形网络的风险值越高,若该值大于第三预设值,则将该异常扇形网络定性为风险网络。
根据上述实施例,通过采用交叉举证的方法来确定风险网络(风险社群),为风险网络(风险社群)和风险账户的定性提供了有效的证据。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。
图5为本说明书实施例提供的对应于图1的识别异常账户集合的装置的结构示意图。如图5所示,该装置可以包括:
数据获取模块410,用于获取多个账户的转账数据;
异常账户识别模块420,用于将风险值大于第一预设值的账户识别为第一异常账户;
异常子网络挖掘模块430,基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络;
整合模块440,将所述异常账户子网络合并得到异常账户网络,将所述异常账户网络中的各个账户确定为异常账户集合中的账户。
根据实施例,异常账户识别模块420,具体用于:根据所述转账数据,使用PageRank算法,计算所述多个账户的Risk-PR值;将Risk-PR值大于第一预设值的账户识别为第一异常账户。
根据实施例,异常子网络挖掘模块430包括计算单元、判断单元和挖掘单元。
计算单元具体用于,以所述第一异常账户为中心,计算所述第一异常账户的风险值和所述第一异常账户的转出账户的风险值的平均风险值,或者,所述第一异常账户的风险值和所述第一异常账户的转入账户的风险值的平均风险值。
判断单元具体用于,判断所述平均风险值是否大于第二预设值。
挖掘单元具体用于,依据所述平均风险值,挖掘异常账户子网络,其中,所述异常账户子网络的层数与所述平均风险值对应。更具体地,所述挖掘单元用于,若所述平均风险值不大于所述第二预设值,基于所述第一异常账户,构建第一类扇形子网络,作为第一类异常账户子网络;若所述平均风险值大于所述第二预设值,基于所述第一异常账户,构建第二类扇形子网络,作为第二类异常账户子网络;其中,所述第一类扇形子网络的层数不大于所述第二类扇形子网络的层数。
可选地,第一类扇形子网络为一层扇形子网络,第二类扇形子网络为二层扇形子网络。
可选地,挖掘单元具体用于,计算包含所述第一异常账户的转账数据的信息表与包含所有账户的转账信息的信息表的笛卡尔积,得到一度关联的一层扇形子网络,作为第一类异常账户子网络;以及,计算包含所述第一异常账户的转账数据的信息表与包含所有账户的转账信息的信息表的笛卡尔积,得到一度关联的一层扇形子网络,将所述一层扇形子网络中的除所述第一异常账户之外的账户作为第二异常账户,计算包含所述第二异常账户的转账数据的信息表与包含所有账户的转账信息的信息表的笛卡尔积,在所述一层扇形子网络的基础上得到二度关联的二层扇形子网络,作为第二类异常账户子网络。
根据实施例,所述整合模块440,具体用于:采用连通算法,基于所述第一类异常账户子网络和/或所述第二类异常账户子网络得到至少一个最大连通子图,作为异常账户网络。
图6为本说明书实施例提供的对应于图4的识别风险账户集合的装置的结构示意图。如图6所示,该装置可以包括:
数据获取模块510,用于获取多个账户的转账数据;
异常账户识别模块520,用于将风险值大于第一预设值的账户识别为第一异常账户;
异常子网络挖掘模块530,基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络;
整合模块540,将所述异常账户子网络合并得到异常账户网络;
判断模块550,用于根据所述异常账户网络与另外的异常网络的重合度,判断所述异常账户网络是否为风险网络,将所述风险网络中的各个账户确定为风险账户集合中的账户。
其中,数据获取模块510、异常账户识别模块520、异常子网络挖掘模块530与上述图5示出的装置的数据获取模块410、异常账户识别模块420、异常子网络挖掘模块430相同。整合模块540与上述图5示出的装置的整合模块440对应。
根据实施例,判断模块550具体用于,计算所述异常账户网络与所述另外的异常网络的重合度;判断所述重合度是否大于第三预设值;若是,则识别所述异常账户网络为风险网络。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图7为本说明书实施例提供的对应于图1和/或图4的识别异常账户集合和/或识别风险账户集合的设备的结构示意图。如图7所示,设备600可以包括:
至少一个处理器610;以及,
与所述至少一个处理器通信连接的存储器630;其中,
所述存储器630存储有可被所述至少一个处理器610执行的指令620,所述指令被所述至少一个处理器610执行,以使所述至少一个处理器610能够:
获取多个账户的转账数据;
根据所述转账数据,确定风险值大于第一预设值的第一异常账户;
基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络;
将所述异常账户子网络合并得到异常账户网络;
将所述异常账户网络中的各个账户确定为异常账户集合中的账户。
可选地,所述至少一个处理器610能够:
获取多个账户的转账数据;
根据所述转账数据,确定风险值大于第一预设值的第一异常账户;
基于所述第一异常账户,挖掘得到异常账户子网络,所述异常账户子网络为扇形网络;
将所述异常账户子网络合并得到异常账户网络;
根据所述异常账户网络与另外的异常网络的重合度,判断所述异常账户网络是否为风险网络;
将所述风险网络中的各个账户确定为风险账户集合中的账户。
上述对本说明书特定实施例进行了描述,在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备与方法是对应的,因此,装置、设备也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。