异常组织的识别方法、装置、电子设备和介质与流程

文档序号:31544471发布日期:2022-09-17 00:47阅读:60来源:国知局
异常组织的识别方法、装置、电子设备和介质与流程

1.本公开涉及人工智能技术领域,更具体地,涉及一种异常组织的识别方法、装置、电子设备和介质。


背景技术:

2.随着网络技术的发展,通过技术手段进行身份伪装的不正当交易行为与普通客户正常交易行为相差不大,隐秘性极强,难以发现。现有技术中,一种方法可以通过历史的不正当行为数据,总结出多套规则,根据规则识别出不正当行为。另一种方法可以通过分析资金流向关系的方法,通过金融机构提供的特殊账户信息,然后手工筛查交易网络的交易。


技术实现要素:

3.有鉴于此,本公开提供了一种全面、准确、高效和节约资源的异常组织的识别方法、装置、电子设备和计算机可读存储介质。
4.本公开的一个方面提供了一种异常组织的识别方法,包括:根据获取的历史时段的交易数据构建知识图谱,所述交易数据包括账户信息和账户信息之间的交易信息,所述知识图谱的节点是根据所述账户信息构建的,所述节点与节点之间的边是根据所述交易信息构建的;根据所述节点的关联程度对所述知识图谱的节点进行划分,生成m个社群,m为大于等于1的整数;根据异常账户信息从所述知识图谱的m个社群中确定异常交易链路,所述异常交易链路中的节点所在的社群数小于等于2,所述异常账户信息是基于预设规则获取的;获取所述异常交易链路的每个节点的数据特征,根据所述数据特征计算每个社群的平均异常度;以及将所述平均异常度满足设定阈值的社群确定为异常组织。
5.根据本公开实施例的异常组织的识别方法,基于知识图谱,通过从m个社群中确定异常交易链路,获取异常交易链路的每个节点的数据特征,根据数据特征计算每个社群的平均异常度,将平均异常度满足设定阈值的社群确定为异常组织,使得可以简便地实现从海量的交易数据中挖掘出异常交易链路,进而识别出异常组织,本公开的识别方法覆盖全面,可以高效和准确地找到隐秘性强的异常组织,本公开的异常交易链路中的节点所在的社群数小于等于2,也即异常交易链路的确定方法不允许跨越社群可以防止关联无效群组,进一步提高对异常组织识别的准确性,同时节约计算资源。
6.在一些实施例中,所述根据所述节点的关联程度对所述知识图谱的节点进行划分,生成m个社群,包括:将知识图谱中的每个节点确定为一个群组;遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度;当亲密度满足亲密度阈值时,根据所述亲密度对该群组和与其具有边关系的群组进行合并;将合并后的群组作为一个新群组,重复执行所述遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度;当亲密度不满足亲密度阈值时,停止将该群组和与其具有边关系的群组进行合并;以及当每两个群组之间的亲密度均不满足亲密度阈值时,将当前的m个群组作为m个社群。
7.在一些实施例中,所述根据所述亲密度对该群组和与其具有边关系的群组进行合
并,包括:将所述亲密度根据数值大小进行排序;以及根据排序结果,将亲密度排序第一或者倒数第一的两个群组进行合并。
8.在一些实施例中,所述根据异常账户信息从所述知识图谱的m个社群中确定异常交易链路,包括:根据所述预设规则确定所述知识图谱中的第一异常节点;根据所述第一异常节点,确定所述知识图谱中的所述第一异常节点所在的有向连通链路,其中,所述有向连通链路为节点之间通过有向边连接形成的链路;以及将所述有向连通链路的存在于相邻两个所述社群中的节点构成的至少部分链路作为异常交易链路,其中,所述异常交易链路包括所述第一异常节点。
9.在一些实施例中,所述获取所述异常交易链路的每个节点的数据特征,包括:确定所述异常交易链路的每个节点的节点属性;以及根据所述节点属性获取数据特征。
10.在一些实施例中,所述根据所述数据特征计算每个社群的平均异常度,包括:根据所述数据特征,构建特征向量;根据所述特征向量,确定点异常度;以及根据所述点异常度,计算每个社群的平均异常度。
11.在一些实施例中,所述根据所述特征向量,确定点异常度,包括:根据所述特征向量和预先设置的标准向量计算欧式距离,其中,欧式距离用于衡量所述特征向量和所述标准向量之间的相似度;以及根据所述欧式距离,确定点异常度,其中,所述点异常度与所述相似度成正比。
12.在一些实施例中,所述根据所述点异常度,计算每个社群的平均异常度,包括:计算所述每个社群中所包含所述异常交易链路中的节点的点异常度的平均值;以及将所述平均值作为该社群的平均异常度。
13.本公开的另一个方面提供了一种异常组织的识别装置,包括:构建模块,所述构建模块用于执行根据获取的历史时段的交易数据构建知识图谱,所述交易数据包括账户信息和账户信息之间的交易信息,所述知识图谱的节点是根据所述账户信息构建的,所述节点与节点之间的边是根据所述交易信息构建的;生成模块,所述生成模块用于执行根据所述节点的关联程度对所述知识图谱的节点进行划分,生成m个社群,m为大于等于1的整数;第一确定模块,所述第一确定模块用于执行根据异常账户信息从所述知识图谱的m个社群中确定异常交易链路,所述异常交易链路中的节点所在的社群数小于等于2,所述异常账户信息是基于预设规则获取的;计算模块,所述计算模块用于执行获取所述异常交易链路的每个节点的数据特征,根据所述数据特征计算每个社群的平均异常度;以及第二确定模块,所述第二确定模块用于执行将所述平均异常度满足设定阈值的社群确定为异常组织。
14.本公开的另一方面提供了一种电子设备,包括一个或多个处理器以及一个或多个存储器,其中,所述存储器用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现如上所述方法。
15.本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
16.通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
17.图1示意性示出了根据本公开实施例的可以应用方法、装置的示例性系统架构;
18.图2示意性示出了根据本公开实施例的异常组织的识别方法的流程图;
19.图3示意性示出了根据本公开实施例的根据节点的关联程度对知识图谱的节点进行划分,生成m个社群的流程图;
20.图4示意性示出了根据本公开实施例的知识图谱的示意图;
21.图5示意性示出了根据本公开实施例的根据亲密度对该群组和与其具有边关系的群组进行合并的流程图;
22.图6示意性示出了根据本公开实施例的根据异常账户信息从知识图谱的m个社群中确定异常交易链路的流程图;
23.图7示意性示出了根据本公开实施例的获取异常交易链路的每个节点的数据特征的流程图;
24.图8示意性示出了根据本公开实施例的根据数据特征计算每个社群的平均异常度的流程图;
25.图9示意性示出了根据本公开实施例的根据特征向量,确定点异常度的流程图;
26.图10示意性示出了根据本公开实施例的根据点异常度,计算每个社群的平均异常度的流程图;
27.图11示意性示出了根据本公开实施例的账户资金流向示意图;
28.图12示意性示出了根据本公开实施例的异常组织的识别方法的流程图;
29.图13示意性示出了根据本公开实施例的两个账户以及边属性的示意图;
30.图14示意性示出了根据本公开实施例的知识图谱的示意图;
31.图15示意性示出了根据本公开实施例的异常组织的识别装置的结构框图;
32.图16示意性示出了根据本公开实施例的生成模块的结构框图;
33.图17示意性示出了根据本公开实施例的合并单元的结构框图;
34.图18示意性示出了根据本公开实施例的第一确定模块的结构框图;
35.图19示意性示出了根据本公开实施例的计算模块的结构框图;
36.图20示意性示出了根据本公开实施例的计算模块的结构框图;
37.图21示意性示出了根据本公开实施例的第八确定单元的结构框图;
38.图22示意性示出了根据本公开实施例的计算单元的结构框图;
39.图23示意性示出了根据本公开实施例的电子设备的方框图。
具体实施方式
40.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
41.在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,对数据的获取、收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规
的规定,采取了必要保密措施,且不违背公序良俗。
42.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
43.在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。
44.随着网络技术的发展,通过技术手段进行身份伪装的不正当交易行为与普通客户正常交易行为相差不大,隐秘性极强,难以发现。现有技术中,一种方法可以通过历史的不正当行为数据,总结出多套规则,根据规则识别出不正当行为。另一种方法可以通过分析资金流向关系的方法,通过金融机构提供的特殊账户信息,然后手工筛查交易网络的交易。
45.但是根据规则识别不正当行为,规则对客户比较难刻画,在团体行为中覆盖面不全,无法找到隐秘性强的团体成员;而手工分析资金流向方法,交易关系复杂,数据庞大,容易出现错漏与效率低下等问题。
46.本公开的实施例提供了一种异常组织的识别方法、装置、电子设备、计算机可读存储介质和计算机程序产品。异常组织的识别方法包括:根据获取的历史时段的交易数据构建知识图谱,交易数据包括账户信息和账户信息之间的交易信息,知识图谱的节点是根据账户信息构建的,节点与节点之间的边是根据交易信息构建的;根据节点的关联程度对知识图谱的节点进行划分,生成m个社群,m为大于等于1的整数;根据异常账户信息从知识图谱的m个社群中确定异常交易链路,异常交易链路中的节点所在的社群数小于等于2,异常账户信息是基于预设规则获取的;获取异常交易链路的每个节点的数据特征,根据数据特征计算每个社群的平均异常度;以及将平均异常度满足设定阈值的社群确定为异常组织。
47.需要说明的是,本公开的异常组织的识别方法、装置、电子设备、计算机可读存储介质和计算机程序产品可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,例如金融领域,这里对本公开的领域不做限定。
48.图1示意性示出了根据本公开实施例的可以应用异常组织的识别方法、装置、电子设备、计算机可读存储介质和计算机程序产品的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
49.如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
50.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
51.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包
括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
52.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
53.需要说明的是,本公开实施例所提供的异常组织的识别方法一般可以由服务器105执行。相应地,本公开实施例所提供的异常组织的识别装置一般可以设置于服务器105中。本公开实施例所提供的异常组织的识别方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的异常组织的识别装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
54.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
55.以下将基于图1描述的场景,通过图2~图10对本公开实施例的异常组织的识别方法进行详细描述。
56.图2示意性示出了根据本公开实施例的异常组织的识别方法的流程图。
57.如图2所示,该实施例的异常组织的识别方法包括操作s210~操作s250。
58.在操作s210,根据获取的历史时段的交易数据构建知识图谱,交易数据包括账户信息和账户信息之间的交易信息,知识图谱的节点是根据账户信息构建的,节点与节点之间的边是根据交易信息构建的。
59.可以理解的是,可以在业务数据系统获取到历史时段的交易数据,交易数据包括账户信息,其中,账户信息可以包括账户名;交易信息可以包括交易起始方账户名和交易接收方账户名。可以根据账户名构建知识图谱的节点,根据交易信息中的交易起始方账户名和交易接收方账户名之间的关系构建知识图谱的边。
60.在操作s220,根据节点的关联程度对知识图谱的节点进行划分,生成m个社群,m为大于等于1的整数。
61.作为一种可实施的方式,如图3所示,操作s220根据节点的关联程度对知识图谱的节点进行划分,生成m个社群,包括操作s221~操作s226。
62.在操作s221,将知识图谱中的每个节点确定为一个群组,由此可以对知识图谱进行初始化。
63.在操作s222,遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度,结合图4,例如知识图谱中有12个节点,分别为节点a、b、c、d、e、f、g、h、i、j、k和l。将知识图谱初始化时,可以将a、b、c、d、e、f、g、h、i、j、k和l分别作为一个群组,下面以群组a为例,对遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度进行说明,与群组a具有边关系的为群组b、c和d,因此,可以分别计算a与b之间的亲密度,a与c之间的亲密度和a与d之间的亲密度。
64.在操作s223,当亲密度满足亲密度阈值时,根据亲密度对该群组和与其具有边关系的群组进行合并,其中,亲密度阈值为根据需要设定的标准阈值。
65.在一些具体的示例中,如图5所示,操作s223根据亲密度对该群组和与其具有边关
系的群组进行合并,包括操作s2231和操作s2232。
66.在操作s2231,将亲密度根据数值大小进行排序。
67.在操作s2232,根据排序结果,将亲密度排序第一或者倒数第一的两个群组进行合并。需要说明的是,将亲密度根据数值大小进行排序可以为将亲密度进行升序排序,也可以为将亲密度进行降序排序。当将亲密度进行升序排序时,将亲密度排序倒数第一的两个群组进行合并;当将亲密度进行降序排序时,将亲密度排序第一的两个群组进行合并。
68.例如,通过操作s222,计算a与b之间的亲密度为k1,a与c之间的亲密度为k2,a与d之间的亲密度为k3,当排序为k1<k2<k3时,将排序倒数第一的k3对应的群组a与d进行合并;当排序为k3>k2>k1时,将排序第一的k3对应的群组a与d进行合并。通过操作s2231和操作s2232可以便于实现根据亲密度对该群组和与其具有边关系的群组进行合并。
69.在操作s224,将合并后的群组作为一个新群组,重复执行遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度。
70.在操作s225,当亲密度不满足亲密度阈值时,停止将该群组和与其具有边关系的群组进行合并。例如,可以设置亲密度阈值为正数,当亲密度为负数时,此时亲密度不满足亲密度阈值,则停止将该群组和与其具有边关系的群组进行合并。
71.在操作s226,当每两个群组之间的亲密度均不满足亲密度阈值时,将当前的m个群组作为m个社群。可以理解的是,当知识图谱的全部群组中每两个群组均不能够进行合并时,则社群的生成完毕,此时可以将当前的m个群组作为m个社群。
72.其中,亲密度可以用q表示,通过公式(1)可以求得亲密度的值。
[0073][0074]
其中,m表示正在遍历的群组与其它群组之间的边的数量,ki,in表示正在遍历的群组入射到目标群组的边的权重之和,∑
tot
表示入射到目标群组的边的总权重,ki表示正在遍历的群组的边的总权重。
[0075]
由此,通过操作s221~操作s226可以便于实现根据节点的关联程度对知识图谱的节点进行划分,生成m个社群。
[0076]
在操作s230,根据异常账户信息从知识图谱的m个社群中确定异常交易链路,异常交易链路中的节点所在的社群数小于等于2,异常账户信息是基于预设规则获取的。
[0077]
可以理解的是,由于实施不正当金融行为的成员之间在资金上会有关联,相互之间转账频繁,他们的资金流向主要由三个部分组成,具体为上游,中游和下游,其中,上游主要是用来吸收资金,在短周期内多个账户分散转入,分散转出或大额转出,基本不留余额,归集资金特征明显;中游主要是将上游资金进行转移,这种交易的中介特性比较强,有快进快出,多进多出的特点,且时间比较集中;下游主要是通过中游资金拆分成各种小额资金。
[0078]
因此,可以将吸收资金,在短周期内多个账户分散转入,分散转出或大额转出,基本不留余额,归集资金特征明显作为判断账户信息为异常账户信息的预设规则,将满足该异常账户信息的账户作为异常交易链路上的上游节点;可以将对上游资金进行转移,中介特性比较强,有快进快出,多进多出的特点,且时间比较集中作为判断账户信息为异常账户信息的预设规则,将满足该异常账户信息的账户作为异常交易链路上的中游节点;可以将通过中游资金拆分成各种小额资金作为判断账户信息为异常账户信息的预设规则,将满足
该异常账户信息的账户作为异常交易链路上的下游节点。
[0079]
作为一种可能实现的方式,如图6所示,操作s230根据异常账户信息从知识图谱的m个社群中确定异常交易链路,包括操作s231~操作s233。
[0080]
在操作s231,根据预设规则确定知识图谱中的第一异常节点。可以理解的是,例如可以根据吸收资金,在短周期内多个账户分散转入,分散转出或大额转出,基本不留余额,归集资金特征明显的预设规则,确定异常账户信息,将满足该异常账户信息的账户作为知识图谱的第一异常节点;可以根据将对上游资金进行转移,中介特性比较强,有快进快出,多进多出的特点,且时间比较集中的预设规则,确定异常账户信息,将满足该异常账户信息的账户作为知识图谱的第一异常节点;可以根据将通过中游资金拆分成各种小额资金的预设规则,确定异常账户信息,将满足该异常账户信息的账户作为知识图谱的第一异常节点。
[0081]
在操作s232,根据第一异常节点,确定知识图谱中的第一异常节点所在的有向连通链路,其中,有向连通链路为节点之间通过有向边连接形成的链路。结合图4,假设通过操作s231将节点a确定为第一异常节点,节点a所在的通过有向边连接的有向连通链路有6条,分别为:a-d-f-e;a-d-f-g-1-k-i;a-d-f-g-l-k-j;a-d-f-g-l-i;a-b;a-c-i-h-j。
[0082]
在操作s233,将有向连通链路的存在于相邻两个社群中的节点构成的至少部分链路作为异常交易链路,异常交易链路包括第一异常节点。其中,在有向连通链路a-d-f-e中,节点a和d存在于社群a,节点f和e存在于社群b。社群a和社群b之间具有边关系,因此社群a和社群b为相邻的两个社群,进而可以将链路a-d-f-e作为异常交易链路。
[0083]
在有向连通链路a-d-f-g-l-k-i中,节点a和d存在于社群a,节点f和g存在于社群b,节点l、k和i存在于社群c。第一异常节点a存在于社群a,社群a和社群b之间具有边关系,因此社群a和社群b为相邻的两个社群,不允许再跨到社群c,进而可以将链路a-d-f-g作为异常交易链路。在有向连通链路a-d-f-g-l-k-j;a-d-f-g-l-i;a-b和a-c-i-h-j中确定异常交易链路的方法同理,这里不再赘述。
[0084]
上述不允许再跨越社群确定异常交易链路的方法可以防止关联无效群组,提高对异常组织识别的准确性,同时节约计算资源。
[0085]
通过操作s231~操作s233可以便于实现根据异常账户信息从知识图谱的m个社群中确定异常交易链路。
[0086]
在操作s240,获取异常交易链路的每个节点的数据特征,根据数据特征计算每个社群的平均异常度。
[0087]
作为一种可能实现的方式,如图7所示,操作s240获取异常交易链路的每个节点的数据特征,包括操作s241和操作s242。
[0088]
在操作s241,确定异常交易链路的每个节点的节点属性。可以理解的是,交易数据包括账户信息,作为一种可能实现的方式,账户信息还可以包括卡号、开户人、开户代理人、开户时间、开户网点、是否异地开户、是否开通网上银行和开户金额中的至少一个;交易信息还可以包括交易起始方卡号、交易金额、交易时间、交易接收方卡号、交易方式和交易地址中的至少一个。
[0089]
其中,可以将账户信息中的卡号、开户人、开户代理人、开户时间、开户网点、是否异地开户、是否开通网上银行和开户金额中的至少一个作为节点的属性;将交易信息中的交易起始方卡号、交易金额、交易时间、交易接收方卡号、交易方式和交易地址中的至少一
个作为边的属性。在确定异常交易链路后,再确定异常交易链路的每个节点的节点属性可以无需获取知识图谱中的全部节点的账户信息,只需获取异常交易链路上的节点的账户信息即可,由此可以节约计算资源,加快数据处理速度。
[0090]
在操作s242,根据节点属性获取数据特征。例如,根据节点的属性和边的属性可以分析得出资金是否分散转入、资金是否分散转出、资金是否快进快出、开户后是否进入沉睡期、账户是否频繁跨地区、是否跨银行交易、多张银行卡开户时间、地点、网点是否比较集中和是否异地开户等数据特征。当然,数据特征并不限于此,这里仅以举例说明,并不能理解为对本公开的限制。通过操作s241和操作s242可以便于实现获取异常交易链路的每个节点的数据特征。
[0091]
作为一种可能实现的方式,如图8所示,操作s240根据数据特征计算每个社群的平均异常度,包括操作s243~操作s245。
[0092]
在操作s243,根据数据特征,构建特征向量。以资金是否分散转入、资金是否分散转出、资金是否快进快出、开户后是否进入沉睡期、账户是否频繁跨地区、是否跨银行交易、多张银行卡开户时间、地点、网点是否比较集中和是否异地开户这些数据特征举例说明,将上述数据特征用结构化形式表示,满足条件表示1,否则表示0。
[0093]
假设节点a的数据特征为资金分散转入、资金分散转出、资金快进快出、开户后没有进入沉睡期、账户没有频繁跨地区、没有跨银行交易、多张银行卡开户时间、地点、网点不集中和没有异地开户,资金分散转入、资金分散转出和资金快进快出满足条件,用1表示,开户后没有进入沉睡期、账户没有频繁跨地区、没有跨银行交易、多张银行卡开户时间、地点、网点不集中和没有异地开户不满足条件,用0表示,因此构建节点a的特征向量θ(1,1,1,0,0,0,0,0,0,0)。
[0094]
在操作s244,根据特征向量,确定点异常度。
[0095]
作为一种可实现的方式,如图9所示,操作s244根据特征向量,确定点异常度,包括操作s2441和操作s2442。
[0096]
在操作s2441,根据特征向量和预先设置的标准向量计算欧式距离,其中,欧式距离用于衡量特征向量和标准向量之间的相似度。可以理解的是,可以将上述数据特征均满足条件时构建的向量作为标准向量,得到标准向量β(1,1,1,1,1,1,1,1,1,1)。将欧式距离用d表示,通过公式(2)可以计算求得欧式距离。
[0097][0098]
其中,i表示异常交易链路中的节点的编号。
[0099]
在操作s2442,根据欧式距离,确定点异常度,其中,点异常度与相似度成正比。假设设定比例系数为c,则点异常度可以为cd。通过操作s2441和操作s2442可以便于实现根据特征向量,确定点异常度。
[0100]
在操作s245,根据点异常度,计算每个社群的平均异常度。
[0101]
作为一种可实现的方式,如图10所示,操作s245根据点异常度,计算每个社群的平均异常度,包括操作s2451和操作s2452。
[0102]
在操作s2451,计算每个社群中所包含异常交易链路中的节点的点异常度的平均值。
[0103]
在操作s2452,将平均值作为该社群的平均异常度。
[0104]
可以理解的是,每个社群中可能包含多个异常交易链路上的节点,参考图4,结合操作s233确定的异常交易链路:a-d-f-e;a-d-f-g;a-b和a-c-i-h-j,可以得到社群a中包括异常交易链路中的节点a、b、c和d,因此社群a的平均异常度即为求节点a、b、c和d的点异常度的平均值;可以得到社群b中包括异常交易链路中的节点f、e和g,因此社群b的平均异常度即为求节点f、e和g的点异常度的平均值;可以得到社群c中包括异常交易链路中的节点i、h和j,因此社群c的平均异常度即为求节点i、h和j的点异常度的平均值。
[0105]
通过操作s2451和操作s2452可以便于实现根据点异常度,计算每个社群的平均异常度。通过操作s243~操作s245可以便于实现根据数据特征计算每个社群的平均异常度。
[0106]
在操作s250,将平均异常度满足设定阈值的社群确定为异常组织。
[0107]
根据本公开实施例的异常组织的识别方法,基于知识图谱,通过从m个社群中确定异常交易链路,获取异常交易链路的每个节点的数据特征,根据数据特征计算每个社群的平均异常度,将平均异常度满足设定阈值的社群确定为异常组织,使得可以简便地实现从海量的交易数据中挖掘出异常交易链路,进而识别出异常组织,本公开的识别方法覆盖全面,可以高效和准确地找到隐秘性强的异常组织,本公开的异常交易链路中的节点所在的社群数小于等于2,也即异常交易链路的确定方法不允许跨越社群可以防止关联无效群组,进一步提高对异常组织识别的准确性,同时节约计算资源。
[0108]
下面参照图11-图14详细描述根据本公开实施例的异常组织的识别方法。值得理解的是,下述描述仅是示例性说明,而不是对本公开的具体限制。
[0109]
本公开提出一种基于知识图谱的异常组织的识别方法,适用于发现异常的银行交易资金转移。由于异常账户之间有关联,在资金上也会有关联,账户群组成关系比较复杂,相互之间转账频繁,利用这些已知的资金流向可以精准识别异常组织。资金流向主要由3部分组成,上游,中游,下游,如图11所示。其中,上游资金主要是用来吸收资金,在短周期内多个账户分散转入,分散转出或大额转出,基本不留余额,归集资金特征明显;中游资金,主要是将上游资金进行转移,这种交易的中介特性比较强,有快进快出,多进多出特点,时间比较集中;下游资金,主要是通过中游资金拆分成各种小额资金。
[0110]
鉴于以上思路,本公开通过资金链流向找到个体异常账户进而找到异常组织:首先,用对一段时间窗口内的交易流水数据预处理,构建资金流向知识图谱;然后通过louvian算法对账户群进行划分关系密切的群组,接着根据历史规则找到异常账户,标注为重要可疑节点,通过交易群组发现算法找到与之关系密切的上下游异常账户集,对异常账户集根据可疑程度判别是否为异常。
[0111]
本公开的基于知识图谱的异常组织的识别方法包括:
[0112]
(1)构建资金流向知识图谱:将银行流水数据处理后,根据账户之间的交易关系与资金流向构建知识图谱,用来对资金流向分析。
[0113]
(2)构建交易群组:采用louvian社区发现算法对账户群划分,根据资金流向找到关联关系密切的账户群。louvian社区发现算法是基于模块度社区发现算法,能够发现层次性的社区结构,使得社区内节点联系密切,社区间节点尽可能少,而模块度是评估一个社区网络划分好坏的度量方法。
[0114]
(3)异常交易链路识别:通过历史规则找到异常节点,在知识图谱中找出上、中、下
游关联的账户节点,形成完整的交易链路,为了避免关联所有的交易群组,在构建交易链路时最多允许跨一层群组。
[0115]
(4)异常账户识别:对异常账户集分析,对群组中的各个账户计算其可疑度,并统计群组间的平均可疑度,并从高到低排序选取可以程度高的群组。
[0116]
异常组织的识别方法的流程图如图12所示。
[0117]
1.数据采集:获取一定时间窗口内的银行流水交易数据,对数据进行结构化处理,其中包括账户名、卡号、交易金额、交易时间、对方户名、对方卡号、交易方式、ip地址、mac地址、交易网点,记为原始数据,具体如表1所示。
[0118]
表1
[0119][0120]
2.数据清理:清理脏数据,过滤掉无效的、信息不完整的、转账失败的交易数据。
[0121]
3.构建资金流向知识图谱:
[0122]
1)将交易数据导入到图数据库中,交易账号和对方交易账号为节点,交易关系为边,资金流向为边的方向。
[0123]
2)图谱边属性构造,两个账户之间存在多笔交易记录,因此将“交易次数、交易金额、时间、方式、网点、ip地址、mac地址”组成的特征数组构造为边的属性,如图13所示为d、f两个账户以及边属性。
[0124]
4.交易群组构建:知识图谱构建完后,如图14所示,采用louvian算法对图中的各节点按关联程度划分为不同的群组,这对异常组织的识别非常有帮助,群组划分的步骤如下:
[0125]
1)初始化,将图14中的每个节点看成一个独立的群组,群组的数目与节点个数相同,且所有边的权重都视为相同。
[0126]
2)开始对群组间的节点转移,对每个节点i,依次尝试把节点i分配到其每个邻居节点所在的群组,计算分配前与分配后的模块度变化,计算公式如下:
[0127][0128]
其中,m表示网络中边的数量,ki,in代表由节点i入射群组c的权重之和,∑
tot
表示入射群组c的总权重,ki表示入射节点i的总权重。
[0129]
3)重复2),继续进行群组间节点转移评估,直到所有节点的所属群组不再变化,即群组间的节点转移结束。
[0130]
4)对图进行重构,将所有在同一个群组的节点重构成一个新群组,群组内节点之间的边的权重更新为新节点的环的权重,群组间的边权重更新为新节点间的边权重。
[0131]
5)重复2),直到整个图的模块度不再发生变化,模块度的计算公式如下:
[0132][0133]
其中,∑in表示群组c内的边的权重之和,∑tot表示与群组c内节点相连的所有边的权重之和;构建完的群组如图14所示,每个圈构成一个群组,群组和群组之间可能还存在关联。
[0134]
5.异常交易链路识别:
[0135]
1)根据历史规则在原始数据中找到异常账号信息。
[0136]
2)通过异常交易记录、异常交易账户,在知识图谱中找到对应的节点,标注为重要异常节点。
[0137]
3)根据异常节点,出上、中、下游相在知识图谱中找关联的账户节点,构建成交易链节点。交易链节点发现算法具体步骤如下:
[0138]
a.初始化所有节点,对每个节点都视为一个单独的交易链。
[0139]
b.根据异常节点,找到其汇入节点和汇出节点,根据上游资金的特点,使用规则判断其是否是上游节点,并标记为上游节点;遇到无风险账户时剔除,把其汇入节点与汇出节点加入这个交易链。
[0140]
c.对新的交易链节点重复步骤3)的b操作,如果是上游节点,则不再追踪其汇入节点,只加入其汇出节点,直至找不到新节点的汇入汇出节点。
[0141]
d.如果和异常节点直接关联的上、下游节点不在同一个群组,算法只允许跨一层群组,比如异常节点a在a群组,b、c在b群组,d在d群组,存在a-b-c-d的交易关系,那么a的交易链路为a-b-c,不允许再跨到d群组,防止关联无效群组。
[0142]
6.账户数据获取:
[0143]
1)针对步骤5中的异常交易链路中的节点,获取账户的开户数据,包括:开户人、开户代理人、开户时间、开户网点、是否异地开户、是否开通网上银行、开户金额。
[0144]
2)将开户数据作为每个账户节点的标签,附属到知识图谱的节点上,便于对数据进行分析。
[0145]
7.诈骗账户识别:
[0146]
1)根据知识图谱上发现交易链路节点、节点属性、边、边属性,分析出相关数据特征,包括:
[0147]
a.账户交易行为特征:资金是否分散转入、资金是否分散转出、资金是否快进快出。
[0148]
b.账户行为特征:开户后是否进入沉睡期、账户是否频繁跨地区、跨银行交易。
[0149]
c.账户间关联特征:多张银行卡开户时间、地点、网点是否比较集中,是否异地开户。
[0150]
2)诈骗账户异常程度计算:
[0151]
a.选取账户以上9个特征组成一个特征向量,并把这些特征用结构化形式表示,满足条件即表示1,否则表示0,设定一个标准的特征向量β(1,1,1,1,1,1,1,1,1,1);比如,现
有一异常账户a,在一定时期内的行为数据是,具有以下异常行为,资金分散转入,分散转出、快进快出的特点,其特征向量为θ(1,1,1,0,0,0,0,0,0,0),账户a的异常度为向量β与θ的欧氏距离值,计算公式如下:
[0152][0153]
其中,i表示异常交易链路中的节点的编号。
[0154]
b.采用欧氏距离公式计算每个账户的特征向量与标准特征向量的相似度,相似度越高的节点异常度越高,然后计算各个群组节点的平均异常度。
[0155]
c.从高到低排序选取前n个异常程度较高的群体节点,最后通过知识图谱把异常群组节点可视化展示。
[0156]
本公开的识别方法通过资金链流向可从隐匿行为中识别到异常的团队行为,相较于单一个体的不正当行为,挖掘异常组织能够更加全面挖掘整个异常链,可以有效增强识别金融活动未知风险,提高金融机构的风控管理能力。另外,本公开将复杂的交易关系通过知识图谱可视化展示,能够更加直观供工作人员进行风险分析,提高工作效率。
[0157]
基于上述异常组织的识别方法,本公开还提供了一种异常组织的识别装置10。以下将结合图15-图22对异常组织的识别装置10进行详细描述。
[0158]
图15示意性示出了根据本公开实施例的异常组织的识别装置10的结构框图。
[0159]
异常组织的识别装置10包括构建模块1、生成模块2、第一确定模块3、计算模块4和第二确定模块5。
[0160]
构建模块1,构建模块1用于执行操作s210:根据获取的历史时段的交易数据构建知识图谱,交易数据包括账户信息和账户信息之间的交易信息,知识图谱的节点是根据账户信息构建的,节点与节点之间的边是根据交易信息构建的。
[0161]
生成模块2,生成模块2用于执行操作s220:根据节点的关联程度对知识图谱的节点进行划分,生成m个社群,m为大于等于1的整数。
[0162]
第一确定模块3,第一确定模块3用于执行操作s230:根据异常账户信息从知识图谱的m个社群中确定异常交易链路,异常交易链路中的节点所在的社群数小于等于2,异常账户信息是基于预设规则获取的。
[0163]
计算模块4,计算模块4用于执行操作s240:获取异常交易链路的每个节点的数据特征,根据数据特征计算每个社群的平均异常度。
[0164]
第二确定模块5,第二确定模块5用于执行操作s250:将平均异常度满足设定阈值的社群确定为异常组织。
[0165]
图16示意性示出了根据本公开实施例的生成模块2的结构框图。生成模块2包括第一确定单元21、第二确定单元22、合并单元23、重复执行单元24、终止单元25和第三确定单元26。
[0166]
第一确定单元21,第一确定单元21用于执行将知识图谱中的每个节点确定为一个群组。
[0167]
第二确定单元22,第二确定单元22用于执行遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度。
[0168]
合并单元23,合并单元23用于执行当亲密度满足亲密度阈值时,根据亲密度对该
群组和与其具有边关系的群组进行合并。
[0169]
重复执行单元24,重复执行单元24用于执行将合并后的群组作为一个新群组,重复执行遍历每个群组,确定该群组和与其具有边关系的每个群组之间的亲密度。
[0170]
终止单元25,终止单元25用于执行当亲密度不满足亲密度阈值时,停止将该群组和与其具有边关系的群组进行合并。
[0171]
第三确定单元26,第三确定单元26用于执行当每两个群组之间的亲密度均不满足亲密度阈值时,将当前的m个群组作为m个社群。
[0172]
图17示意性示出了根据本公开实施例的合并单元23的结构框图。合并单元23包括排序元件231和合并元件232。
[0173]
排序元件231,排序元件231用于执行将亲密度根据数值大小进行排序。
[0174]
合并元件232,合并元件232用于执行根据排序结果,将亲密度排序第一或者倒数第一的两个群组进行合并。
[0175]
图18示意性示出了根据本公开实施例的第一确定模块3的结构框图。第一确定模块3包括第四确定单元31、第五确定单元32和第六确定单元33。
[0176]
第四确定单元31,第四确定单元31用于执行根据预设规则确定知识图谱中的第一异常节点。
[0177]
第五确定单元32,第五确定单元32用于执行根据第一异常节点,确定知识图谱中的第一异常节点所在的有向连通链路,其中,有向连通链路为节点之间通过有向边连接形成的链路。
[0178]
第六确定单元33,第六确定单元33用于执行将有向连通链路的存在于相邻两个社群中的节点构成的至少部分链路作为异常交易链路,其中,异常交易链路包括第一异常节点。
[0179]
图19示意性示出了根据本公开实施例的计算模块4的结构框图。计算模块4包括第七确定单元41和获取单元42。
[0180]
第七确定单元41,第七确定单元41用于执行确定异常交易链路的每个节点的节点属性。
[0181]
获取单元42,获取单元42用于执行根据节点属性获取数据特征。
[0182]
图20示意性示出了根据本公开实施例的计算模块4的结构框图。计算模块4包括构建单元43、第八确定单元44和计算单元45。
[0183]
构建单元43,构建单元43用于执行根据数据特征,构建特征向量。
[0184]
第八确定单元44,第八确定单元44用于执行根据特征向量,确定点异常度。
[0185]
计算单元45,计算单元45用于执行根据点异常度,计算每个社群的平均异常度。
[0186]
图21示意性示出了根据本公开实施例的第八确定单元44的结构框图。第八确定单元44包括第一计算元件441和第一确定元件442。
[0187]
第一计算元件441,第一计算元件441用于执行根据特征向量和预先设置的标准向量计算欧式距离,其中,欧式距离用于衡量特征向量和标准向量之间的相似度。
[0188]
第一确定元件442,第一确定元件442用于执行根据欧式距离,确定点异常度,其中,点异常度与相似度成正比。
[0189]
图22示意性示出了根据本公开实施例的计算单元45的结构框图。计算单元45包括
第二计算元件451和第二确定元件452。
[0190]
第二计算元件451,第二计算元件451用于执行计算每个社群中所包含异常交易链路中的节点的点异常度的平均值。
[0191]
第二确定元件452,第二确定元件452用于执行将平均值作为该社群的平均异常度。
[0192]
根据本公开实施例的异常组织的识别装置10,基于知识图谱,通过从m个社群中确定异常交易链路,获取异常交易链路的每个节点的数据特征,根据数据特征计算每个社群的平均异常度,将平均异常度满足设定阈值的社群确定为异常组织,使得可以简便地实现从海量的交易数据中挖掘出异常交易链路,进而识别出异常组织,本公开的识别方法覆盖全面,可以高效和准确地找到隐秘性强的异常组织,本公开的异常交易链路中的节点所在的社群数小于等于2,也即异常交易链路的确定方法不允许跨越社群可以防止关联无效群组,进一步提高对异常组织识别的准确性,同时节约计算资源。
[0193]
另外,根据本公开的实施例,构建模块1、生成模块2、第一确定模块3、计算模块4和第二确定模块5中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
[0194]
根据本公开的实施例,构建模块1、生成模块2、第一确定模块3、计算模块4和第二确定模块5中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。
[0195]
或者,构建模块1、生成模块2、第一确定模块3、计算模块4和第二确定模块5中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0196]
图23示意性示出了根据本公开实施例的适于实现上述方法的电子设备的方框图。
[0197]
如图23所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0198]
在ram 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、rom 902以及ram 903通过总线904彼此相连。处理器901通过执行rom 902和/或ram 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 902和ram 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0199]
根据本公开的实施例,电子设备900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。电子设备900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示
器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至输入/输出(i/o)接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
[0200]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0201]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 902和/或ram 903和/或rom 902和ram 903以外的一个或多个存储器。
[0202]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例的方法。
[0203]
在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0204]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0205]
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0206]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0207]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0208]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0209]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1