基于区块链的异常交易检测方法、装置、设备及存储介质
技术领域
本申请涉及互联网技术领域,特别是涉及一种基于区块链的异常数据检测方法、装置、设备及存储介质。
背景技术
随着互联网技术的不断发展,银行也逐步开始与互联网技术相融合,衍生出了银行的数字业务,使人们能够使用电子银行查询余额、转账、购物支付等等。而在数字业务面向的用户中存在一些恶意用户,恶意用户利用数字业务中存在的漏洞进行一些欺诈行为,谋取私利,给银行带来经济损失,因此,银行的系统通常会对用户的行为进行识别,检测出用户发生的异常交易,及时进行告警。
相关技术中,银行的欺诈行为检测系统是对用户已经发生的行为信息进行欺诈检测,判断用户当前的行为是欺诈行为的概率。当概率超出概率阈值时,将用户当前的行为确定为欺诈行为,并采取一定的告警、拦截措施;而当概率未超出概率阈值时,将用户当前的行为确定为正常行为,正常放行即可。
在实现本申请的过程中,申请人发现相关技术至少存在以下问题:
银行的欺诈行为检测系统仅能够对明显的欺诈行为进行识别,对于一些包装的较为隐蔽的欺诈行为来说,系统计算得出的欺诈行为的概率可能并未达到概率阈值,造成行为的误判,使得银行系统对于交易的反欺诈检测不够智能和准确,导致异常交易检测准确率低。
发明内容
有鉴于此,本申请提供了一种基于区块链的异常交易检测方法、装置、设备及存储介质,主要目的在于解决目前对于一些包装的较为隐蔽的欺诈行为来说,系统计算得出的欺诈行为的概率可能并未达到概率阈值,造成行为的误判,使得银行系统对于交易的反欺诈检测不够智能和准确,导致异常交易检测准确率低的问题。
依据本申请第一方面,提供了一种基于区块链的异常交易检测方法,该方法包括:
获取多个样本交易信息,所述多个样本交易信息是通过对来源于银行多个渠道业务系统的多个账户信息进行信息清洗后得到的;
基于孤立森林算法,对所述多个样本交易信息进行训练,得到异常交易检测模型;
确定待识别账户的待识别交易信息,将所述待识别交易信息输入至所述异常交易检测模型,获取所述异常交易检测模型输出的异常交易信息和所述异常交易信息对应的异常分数;
提取所述待识别账户的摘要信息,将所述摘要信息和所述异常分数对应存储至区块链账本,所述摘要信息包括指示所述待识别账户的身份的信息。
可选地,所述获取多个样本交易信息,包括:
获取所述多个渠道业务系统上传的所述多个账户信息;
对所述多个账户信息进行编号,在所述多个账户信息中选取目标编号对应的账户信息作为多个样本账户信息,所述目标编号的取值为任意值;
基于自然语言处理技术,为所述多个样本账户信息中每个样本账户信息确定可剔除信息,所述可剔除信息是样本账户信息中与交易无关的信息;
将所述每个样本账户信息的可剔除信息进行清洗删除,将清洗删除后的所述多个样本账户信息作为所述多个样本交易信息。
可选地,所述基于孤立森林算法,对所述多个样本交易信息进行训练,得到异常交易检测模型,包括:
在所述多个样本交易信息中提取多个目标样本交易信息,采用所述孤立森林算法,为所述多个目标样本交易信息创建第一预设数目的样本孤立树,所述多个目标样本交易信息是所述多个样本交易信息中任意的多个样本交易信息;
对于所述多个样本交易信息中每个样本交易信息,对所述每个样本交易信息在所述第一预设数目的样本孤立树中每个样本孤立树的路径长度进行整理生成样本路径长度组,得到所述多个样本交易信息的多个样本路径长度组;
计算所述多个样本路径长度组中每个样本路径长度组的长度均值,得到多个长度均值;
对于所述多个长度均值中每个长度均值,计算所述样本孤立树的预设长度阈值与所述每个长度均值的样本比值,并对所述样本比值进行指数运算,得到所述样本比值的样本指数值,将所述样本指数值作为所述每个长度均值对应的样本交易信息的样本异常分数,得到多个样本异常分数;
基于所述样本异常分数,在所述多个样本交易信息中提取多个异常样本交易信息;
对于所述多个异常样本交易信息中每个异常样本交易信息,对所述每个异常样本交易信息在所述第一预设数目的样本孤立树中每个样本孤立树的异常样本路径长度进行整理生成异常样本路径长度组,得到所述多个异常样本交易信息的多个异常样本路径长度组;
计算所述多个异常样本路径长度组中每个异常样本长度组的异常样本长度均值,得到多个异常样本长度均值;
对所述多个异常样本长度均值中每个异常样本长度均值与所述第一预设数目进行收敛计算,得到所述多个异常样本长度均值对应的多个收敛参数;
统计所述多个收敛参数中每个收敛参数在所述多个收敛参数中的出现次数,将出现次数最高的收敛参数作为模型参数;
按照所述模型参数进行模型搭建,得到所述异常交易检测模型。
可选地,所述采用所述孤立森林算法,为所述多个目标样本交易信息创建第一预设数目的样本孤立树,包括:
按照所述孤立森林算法的指示,建立根节点,并按照维度从小到大的顺序,在所述根节点中对所述多个目标样本交易信息进行排序;
基于所述多个目标样本交易信息的排序,确定第一样本分割点,所述第一样本分割点为所述维度的取值范围内的任意数值;
在所述根节点下创建第一左节点和第一右节点,采用所述第一样本分割点对所述多个目标样本交易信息进行拆分;
将小于所述第一样本分割点的目标样本交易信息放置于所述第一左节点中,将大于等于所述第一分割点的目标样本交易信息放置于所述第一右节点中;
检测所述第一左节点和所述第一右节点中所述目标样本交易信息的数量,得到两个待拆分数量,将所述两个待拆分数量分别与预设拆分条件进行比对,基于比对结果创建节点对所述目标样本交易信息进行拆分;
当所述样本孤立树的节点高度满足预设高度阈值时,停止拆分过程,完成当前所述孤立树的创建;
重新为所述多个目标样本交易信息建立样本孤立树,直至所述样本孤立树的数目达到所述第一预设数目。
可选地,所述基于比对结果创建节点对所述目标样本交易信息进行拆分,包括:
若所述比对结果指示所述待拆分数量满足所述预设拆分条件,则确定所述待拆分数量对应的第一目标节点;
基于所述第一目标节点中目标样本交易信息的排序,确定第二样本分割点;
在所述第一目标节点下创建第二左节点和第二右节点,将小于所述第二样本分割点的目标样本交易信息放置于所述第二左节点中,将大于等于所述第二分割点的目标样本交易信息放置于所述第二右节点中;
若所述比对结果指示所述待拆分数量不满足所述预设拆分条件,则确定所述待拆分数量对应第二目标的节点,停止对所述第二目标节点中的目标样本交易信息进行拆分。
可选地,所述将所述待识别交易信息输入至所述异常交易检测模型,获取所述异常交易检测模型输出的异常交易信息和所述异常交易信息对应的异常分数,包括:
获取模型参数,查询第二预设数目,将所述待识别交易信息输入至所述异常交易检测模型,为所述待识别交易信息创建所述第二预设数目的目标孤立树;
确定所述第二预设数目的目标孤立树中每个目标孤立树的总路径长度、所述待识别交易信息在所述每个目标孤立树的待识别路径长度,得到多个总路径长度和多个待识别路径长度;
计算所述多个待识别路径长度的待识别期望值,对所述待识别期望值与所述第二预设数目进行收敛计算,得到待识别收敛参数,将所述收敛参数满足所述模型参数的待识别交易信息作为异常交易信息;
计算所述待识别期望值与所述多个路径总长度的平均值的待识别比值,并对所述待识别比值进行指数运算,得到所述待识别比值的待识别指数值,将所述待识别指数值作为所述待识别账户的异常分数;
将所述异常交易信息和所述异常分数进行输出。
可选地,所述提取所述待识别账户的摘要信息,将所述摘要信息和所述异常分数对应存储至区块链账本,包括:
在所述待识别账户的账户信息中提取用于指示所述待识别账户的身份的信息作为所述摘要信息;
基于哈希算法,对所述摘要信息进行哈希运算,得到所述摘要信息的哈希值;
对所述哈希值和所述异常分数进行关联,将关联后的所述哈希值和所述异常分数存储至所述区块链账本。
可选地,所述方法还包括:
在所述区块链账本中调用智能合约,将摘要信息相同的异常分数划分为一组,得到至少一个异常分数组;
对于所述至少一个异常分数组中每个异常分数组,统计所述异常分数组包含的异常分数的分数数量,计算所述异常分数组的异常分数总和;
计算所述异常分数总和与所述分数数量的比值作为所述异常分数组的异常分数均值;
分别为所述至少一个异常分数组中每个异常分数组计算异常分数均值,得到至少一个异常分数均值;
在所述至少一个异常分数均值中提取异常分数均值大于等于预设预警阈值的目标异常分数均值,确定所述目标异常分数均值对应的目标异常分数组;
获取所述目标异常分数组对应的目标摘要信息,将所述目标摘要信息指示的账户作为预警交易账户。
依据本申请第二方面,提供了一种基于区块链的异常交易检测装置,该装置包括:
第一获取模块,用于获取多个样本交易信息,所述多个样本交易信息是通过对来源于银行多个渠道业务系统的多个账户信息进行信息清洗后得到的;
训练模块,用于基于孤立森林算法,对所述多个样本交易信息进行训练,得到异常交易检测模型;
第一确定模块,用于确定待识别账户的待识别交易信息,将所述待识别交易信息输入至所述异常交易检测模型,获取所述异常交易检测模型输出的异常交易信息和所述异常交易信息对应的异常分数;
存储模块,用于提取所述待识别账户的摘要信息,将所述摘要信息和所述异常分数对应存储至区块链账本,所述摘要信息包括指示所述待识别账户的身份的信息。
可选地,所述第一获取模块,用于获取所述多个渠道业务系统上传的所述多个账户信息;对所述多个账户信息进行编号,在所述多个账户信息中选取目标编号对应的账户信息作为多个样本账户信息,所述目标编号的取值为任意值;基于自然语言处理技术,为所述多个样本账户信息中每个样本账户信息确定可剔除信息,所述可剔除信息是样本账户信息中与交易无关的信息;将所述每个样本账户信息的可剔除信息进行清洗删除,将清洗删除后的所述多个样本账户信息作为所述多个样本交易信息。
可选地,所述训练模块,用于在所述多个样本交易信息中提取多个目标样本交易信息,采用所述孤立森林算法,为所述多个目标样本交易信息创建第一预设数目的样本孤立树,所述多个目标样本交易信息是所述多个样本交易信息中任意的多个样本交易信息;对于所述多个样本交易信息中每个样本交易信息,对所述每个样本交易信息在所述第一预设数目的样本孤立树中每个样本孤立树的路径长度进行整理生成样本路径长度组,得到所述多个样本交易信息的多个样本路径长度组;计算所述多个样本路径长度组中每个样本路径长度组的长度均值,得到多个长度均值;对于所述多个长度均值中每个长度均值,计算所述样本孤立树的预设长度阈值与所述每个长度均值的样本比值,并对所述样本比值进行指数运算,得到所述样本比值的样本指数值,将所述样本指数值作为所述每个长度均值对应的样本交易信息的样本异常分数,得到多个样本异常分数;基于所述样本异常分数,在所述多个样本交易信息中提取多个异常样本交易信息;对于所述多个异常样本交易信息中每个异常样本交易信息,对所述每个异常样本交易信息在所述第一预设数目的样本孤立树中每个样本孤立树的异常样本路径长度进行整理生成异常样本路径长度组,得到所述多个异常样本交易信息的多个异常样本路径长度组;计算所述多个异常样本路径长度组中每个异常样本长度组的异常样本长度均值,得到多个异常样本长度均值;对所述多个异常样本长度均值中每个异常样本长度均值与所述第一预设数目进行收敛计算,得到所述多个异常样本长度均值对应的多个收敛参数;统计所述多个收敛参数中每个收敛参数在所述多个收敛参数中的出现次数,将出现次数最高的收敛参数作为模型参数;按照所述模型参数进行模型搭建,得到所述异常交易检测模型。
可选地,所述训练模块,用于按照所述孤立森林算法的指示,建立根节点,并按照维度从小到大的顺序,在所述根节点中对所述多个目标样本交易信息进行排序;基于所述多个目标样本交易信息的排序,确定第一样本分割点,所述第一样本分割点为所述维度的取值范围内的任意数值;在所述根节点下创建第一左节点和第一右节点,采用所述第一样本分割点对所述多个目标样本交易信息进行拆分;将小于所述第一样本分割点的目标样本交易信息放置于所述第一左节点中,将大于等于所述第一分割点的目标样本交易信息放置于所述第一右节点中;检测所述第一左节点和所述第一右节点中所述目标样本交易信息的数量,得到两个待拆分数量,将所述两个待拆分数量分别与预设拆分条件进行比对,基于比对结果创建节点对所述目标样本交易信息进行拆分;当所述样本孤立树的节点高度满足预设高度阈值时,停止拆分过程,完成当前所述孤立树的创建;重新为所述多个目标样本交易信息建立样本孤立树,直至所述样本孤立树的数目达到所述第一预设数目。
可选地,所述训练模块,用于若所述比对结果指示所述待拆分数量满足所述预设拆分条件,则确定所述待拆分数量对应的第一目标节点;基于所述第一目标节点中目标样本交易信息的排序,确定第二样本分割点;在所述第一目标节点下创建第二左节点和第二右节点,将小于所述第二样本分割点的目标样本交易信息放置于所述第二左节点中,将大于等于所述第二分割点的目标样本交易信息放置于所述第二右节点中;若所述比对结果指示所述待拆分数量不满足所述预设拆分条件,则确定所述待拆分数量对应第二目标的节点,停止对所述第二目标节点中的目标样本交易信息进行拆分。
可选地,所述确定模块,用于获取模型参数,查询第二预设数目,将所述待识别交易信息输入至所述异常交易检测模型,为所述待识别交易信息创建所述第二预设数目的目标孤立树;确定所述第二预设数目的目标孤立树中每个目标孤立树的总路径长度、所述待识别交易信息在所述每个目标孤立树的待识别路径长度,得到多个总路径长度和多个待识别路径长度;计算所述多个待识别路径长度的待识别期望值,对所述待识别期望值与所述第二预设数目进行收敛计算,得到待识别收敛参数,将所述收敛参数满足所述模型参数的待识别交易信息作为异常交易信息;计算所述待识别期望值与所述多个路径总长度的平均值的待识别比值,并对所述待识别比值进行指数运算,得到所述待识别比值的待识别指数值,将所述待识别指数值作为所述待识别账户的异常分数;将所述异常交易信息和所述异常分数进行输出。
可选地,所述存储模块,用于在所述待识别账户的账户信息中提取用于指示所述待识别账户的身份的信息作为所述摘要信息;基于哈希算法,对所述摘要信息进行哈希运算,得到所述摘要信息的哈希值;对所述哈希值和所述异常分数进行关联,将关联后的所述哈希值和所述异常分数存储至所述区块链账本。
可选地,所述装置还包括:
分组模块,用于在所述区块链账本中调用智能合约,将摘要信息相同的异常分数划分为一组,得到至少一个异常分数组;
统计模块,用于对于所述至少一个异常分数组中每个异常分数组,统计所述异常分数组包含的异常分数的分数数量,计算所述异常分数组的异常分数总和;
第一计算模块,用于计算所述异常分数总和与所述分数数量的比值作为所述异常分数组的异常分数均值;
第二计算模块,用于分别为所述至少一个异常分数组中每个异常分数组计算异常分数均值,得到至少一个异常分数均值;
第二确定模块,用于在所述至少一个异常分数均值中提取异常分数均值大于等于预设预警阈值的目标异常分数均值,确定所述目标异常分数均值对应的目标异常分数组;
第二获取模块,用于获取所述目标异常分数组对应的目标摘要信息,将所述目标摘要信息指示的账户作为预警交易账户。
依据本申请第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。
依据本申请第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
借由上述技术方案,本申请提供的一种基于区块链的异常交易检测方法、装置、设备及存储介质,本申请首先对银行多个渠道业务系统的多个账户信息进行信息清洗,获取多个样本交易信息,进而基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型,从而将确定的待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数,最后,提取待识别账户中指示待识别账户的身份的摘要信息,将摘要信息和异常分数对应存储至区块链账本。采用孤立森林算法对样本交易信息进行训练,生成检测异常交易信息,并计算异常分数的异常交易检测模型,通过从数据层面检测待识别交易信息,找出包装较为隐蔽的欺诈行为,提高异常交易检测的准确率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种基于区块链的异常交易检测方法流程示意图;
图2示出了本申请实施例提供的一种基于区块链的异常交易检测方法流程示意图;
图3A示出了本申请实施例提供的一种基于区块链的异常交易检测装置的结构示意图;
图3B示出了本申请实施例提供的一种基于区块链的异常交易检测装置的结构示意图;
图4示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种基于区块链的异常交易检测方法,如图1所示,该方法包括:
101、获取多个样本交易信息,多个样本交易信息是通过对来源于银行多个渠道业务系统的多个账户信息进行信息清洗后得到的。
102、基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型。
103、确定待识别账户的待识别交易信息,将待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数。
104、提取待识别账户的摘要信息,将摘要信息和异常分数对应存储至区块链账本,摘要信息包括指示待识别账户的身份的信息。
本申请实施例提供的方法,首先对银行多个渠道业务系统的多个账户信息进行信息清洗,获取多个样本交易信息,进而基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型,从而将确定的待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数,最后,提取待识别账户中指示待识别账户的身份的摘要信息,将摘要信息和异常分数对应存储至区块链账本。采用孤立森林算法对样本交易信息进行训练,生成检测异常交易信息,并计算异常分数的异常交易检测模型,通过从数据层面检测待识别交易信息,找出包装较为隐蔽的欺诈行为,提高异常交易检测的准确率。
本申请实施例提供了一种基于区块链的异常交易检测方法,如图2所示,该方法包括:
201、获取多个样本交易信息。
随着互联网技术的不断发展,银行也逐步开始与互联网技术相融合,衍生出了银行的数字业务,使人们能够使用电子银行查询余额、转账、购物支付等等。而在数字业务面向的用户中存在一些恶意用户,恶意用户利用数字业务中存在的漏洞进行一些欺诈行为,谋取私利,给银行带来经济损失,因此,银行的系统通常会对用户的行为进行识别,检测出用户发生的异常交易,及时进行告警。目前,银行的欺诈行为检测系统是对用户已经发生的行为信息进行欺诈检测,判断用户当前的行为是欺诈行为的概率。当概率超出概率阈值时,将用户当前的行为确定为欺诈行为,并采取一定的告警、拦截措施;而当概率未超出概率阈值时,将用户当前的行为确定为正常行为,正常放行即可。但是申请人认识到,银行的欺诈行为检测系统仅能够对明显的欺诈行为进行识别,对于一些包装的较为隐蔽的欺诈行为来说,系统计算得出的欺诈行为的概率可能并未达到概率阈值,造成行为的误判,使得银行系统对于交易的反欺诈检测不够智能和准确,导致异常交易检测准确率低。
因此,本申请提供的一种基于区块链的异常交易检测方法、装置、设备及存储介质,首先对银行多个渠道业务系统的多个账户信息进行信息清洗,获取多个样本交易信息,进而基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型,从而将确定的待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数,最后,提取待识别账户中指示待识别账户的身份的摘要信息,将摘要信息和异常分数对应存储至区块链账本。采用孤立森林算法对样本交易信息进行训练,生成检测异常交易信息,并计算异常分数的异常交易检测模型,通过从数据层面检测待识别交易信息,找出包装较为隐蔽的欺诈行为,提高异常交易检测的准确率。
其中,本申请中的区块链账本会将多家银行和当地检测部门进行关联,建立异常交易检测联盟,将不同账户的摘要信息和计算得出的异常分数上传至区块链账本中实现数据共享。联盟中的银行系统可以在区块链账本中调用智能合约,以实现摘要信息和异常分数的发布功能、用户异常交易检测功能,共同维护异常交易检测的区块链账本。在本申请实施例中,考虑到目前银行早已经开通多个渠道的业务系统进行数字化业务服务,如存款业务系统、贷款业务系统、客户信息业务系统等,本申请对渠道业务系统的数量和种类不进行具体限定。在长时间的数字业务服务后,银行的多个渠道业务系统中存储有大量的历史账户信息,因此,本申请从银行的多个渠道业务系统获取账户信息来进行异常交易检测模型的构建。实际上,由于接收到的账户信息来源不同,其内容构成也有所不同,也就是说,系统在接收到多个账户信息后,需要对接收到的多个账户信息进行清洗,剔除与交易无关的内容,保留与交易相关的样本交易信息。
具体地,获取银行多个渠道业务系统上传的多个账户信息,对多个账户信息进行编号,其中,编号可以采用数字、字母或数字与字母结合的形式,例如1、 a、A1等,本申请对编号的方式不进行具体限定。完成编号后,系统会在多个账户信息中选取目标编号对应的账户信息作为多个样本账户信息,其中,目标编号的取值可以是任意账户信息对应的编号。实际上,也就是在已经编号完成的样本账户信息中随机抽取部分账户信息作为多个样本账户信息。随后,基于自然语言处理技术,对多个样本账户信息进行识别,确定可剔除的信息,也就是与交易无关的信息。最后,对多个样本账户信息中每个样本账户信息进行清洗删除,具体地,在每个样本账户信息中删除与交易无关的信息,将清洗删除后的多个样本账户信息作为多个样本交易信息。例如,系统识别样本账户信息后,获取到关于客户号、客户姓名、证件类型、证件ID、交易次数、交易类型、交易时间、交易地点、交易金额、对方账号、对方账号所在行的内容,经过识别后可以确定客户号、客户姓名、证件类型、证件ID部分内容是与交易无关的内容可以被剔除,对样本账户信息进行清洗,删除客户号、客户姓名、证件类型、证件ID部分内容,将清洗删除后剩余的内容作为样本交易信息。
通过对银行多个渠道业务系统上传的账户信息进行信息清洗,能够将账户信息中与交易无关的内容删除,仅保留与交易相关的部分内容作为样本交易信息,也就是构建异常交易检测模型的训练数据,减少训练样本中无关信息的干扰,减轻后续模型训练的压力。
202、基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型。
在本申请实施例中,系统为多个样本交易信息创建第一预设数目的孤立树,其中,第一预设数目可以是系统默认的参数,也可以是相关工作人员根据实际情况设置的,本申请对第一预设数目的大小不进行具体限定。基于孤立森林算法,计算异常交易检测模型的模型参数,构建异常交易检测模型,具体生成异常交易检测模型的过程如下:
首先,在多个样本交易信息中提取多个目标样本交易信息,采用孤立森林算法,为多个目标样本交易信息创建第一预设数目的样本孤立树,其中,多个目标样本交易信息是多个样本交易信息中任意的多个样本交易信息。
具体地,按照孤立森林算法的指示,建立根节点,并按照维度对应数值从小到大的顺序,在根节点中对多个目标样本交易信息进行排序,基于多个目标样本交易信息的排序,确定第一样本分割点,其中,第一样本分割点为多个目标样本交易信息在当前维度下的取值范围内的任意数值。维度可以是交易次数、交易金额等,本申请对于分割维度不进行具体限定。在根节点下创建第一左节点和第一右节点,采用第一样本分割点对多个目标样本交易信息进行拆分,将小于第一样本分割点的目标样本交易信息放置于第一左节点中,将大于等于第一分割点的目标样本交易信息放置于第一右节点中。在第一次样本分割完成后,需要检测第一左节点和第一右节点中目标样本交易信息的数量,得到两个待拆分数量,将两个待拆分数量分别与预设拆分条件进行比对,基于比对结果创建节点对目标样本交易信息进行拆分。在实际应用过程中,若比对结果指示待拆分数量满足预设拆分条件,则进行第二次拆分,即确定待拆分数量对应的第一目标节点,基于第一目标节点中目标样本交易信息的排序,确定第二样本分割点,在第一目标节点下创建第二左节点和第二右节点,将小于第二样本分割点的目标样本交易信息放置于第二左节点中,将大于等于第二分割点的目标样本交易信息放置于第二右节点中。若比对结果指示待拆分数量不满足预设拆分条件,则确定待拆分数量对应第二目标的节点,停止对第二目标节点中的目标样本交易信息进行拆分。当样本孤立树的节点高度满足预设高度阈值时,停止拆分过程,完成当前孤立树的创建,重新为多个目标样本交易信息建立样本孤立树,直至样本孤立树的数目达到第一预设数目。
随后,基于异常分数计算公式,为多个目标样本交易信息计算得出多个样本异常分数,具体异常分数计算公式如下述公式1:
公式1:
其中,h(x)为x在每棵树的高度,c(Ψ)为给定样本数Ψ时路径长度的平均值。具体地,对于多个样本交易信息中每个样本交易信息,对每个样本交易信息在第一预设数目的样本孤立树中每个样本孤立树的路径长度进行整理,得到多个样本交易信息的多个样本路径长度组。也就是说,每个样本路径长度组包含有当前样本交易信息在每个样本孤立树中的路径长度。计算多个样本路径长度组中每个样本路径长度组的长度均值,得到多个长度均值。在实际应用过程中,对于多个长度均值中每个长度均值,计算样本孤立树的异常长度阈值与每个长度均值的样本比值,并对样本比值进行指数运算,得到样本比值的样本指数值,将样本指数值作为每个样本长度均值对应的样本交易信息的样本异常分数,得到多个样本异常分数。
接下来,利用孤立森林算法对样本异常分数进行判断,实际上,当样本异常分数越接近1时,该样本交易信息为异常样本交易信息。当样本异常分数越接近0时,该样本交易信息为正常样本交易信息。在多个样本交易信息中提取多个异常样本交易信息,对于多个异常样本交易信息中每个异常样本交易信息,对每个异常样本交易信息在第一预设数目的样本孤立树中每个样本孤立树的异常样本路径长度进行整理生成异常样本路径长度组,得到多个异常样本交易信息的多个异常样本路径长度组。
再计算多个异常样本路径长度组中每个异常样本长度组的异常样本长度均值,得到多个异常样本长度均值,对多个异常样本长度均值中每个异常样本长度均值与第一预设数目进行收敛计算,得到多个异常样本长度均值对应的多个收敛参数。其中,收敛计算包括但不限于计算异常样本交易信息在样本孤立树中的平均高度、计算异常样本交易信息所在的节点占据孤立树数据节点比例、样本孤立树的预设数目与异常样本点的平均高度之间比值收敛的预设数目等,本申请对于收敛计算的内容不进行具体限定。
最后,统计多个收敛参数中每个收敛参数在多个收敛参数中的出现次数,将出现次数最高的收敛参数作为模型参数,按照模型参数进行模型搭建,得到异常交易检测模型。
在实际应用过程中,系统不断地从多个样本交易信息中提取定量的目标样本交易信息,利用孤立森林算法,为提取出的样本交易信息建立样本孤立树,计算模型参数,再依据模型参数构建异常交易检测模型,利用孤立森林算法自动检测银行账户欺诈交易信息,提高了识别欺诈交易的准确率。
203、确定待识别账户的待识别交易信息,将待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数。
在本申请实施例中,银行能够调用区块链账本中的智能合约将待识别交易信息输入至异常交易检测模型,判断待识别交易信息是否为异常交易信息,并未异常交易信息计算异常分数,将异常交易信息和异常交易信息对应的异常分数输出。
具体地,获取模型参数,查询第二预设数目,将待识别交易信息输入至异常交易检测模型,为待识别交易信息创建第二预设数目的目标孤立树,确定第二预设数目的目标孤立树中每个目标孤立树的总路径长度、待识别交易信息在每个目标孤立树的待识别路径长度,得到多个总路径长度和多个待识别路径长度。基于异常分数计算公式,计算多个待识别路径长度的待识别期望值,对待识别期望值与第二预设数目进行收敛计算,得到待识别收敛参数,将收敛参数满足模型参数的待识别交易信息作为异常交易信息。随后,计算待识别期望值与多个路径总长度的平均值的待识别比值,并对待识别比值进行指数运算,得到待识别比值的待识别指数值,将待识别指数值作为待识别账户的异常分数,将异常交易信息和异常分数进行输出。
204、在异常交易信息对应的待识别账户中提取摘要信息,将摘要信息和异常分数对应存储至区块链账本。
在本申请实施例中,各个银行系统可以在区块链中调用智能合约来对多个异常交易账户进行检测,判断其异常行为是否达到预警值,若异常行为达到阈值也就意味着需要触发报警系统,由相关工作人员对当前异常交易账户对应的持有人进行立案调查。因此,本申请在利用异常交易检测模型输出异常交易账户和异常交易账户对应的异常分数之后,需要将能指示异常交易账户身份的摘要信息和异常交易账户的异常分数对应存储至区块链账本中,实现联盟链上的多个银行共享异常交易信息。
在实际应用过程中,首先,获取异常交易账户的账户信息,在异常交易账户的账户信息中提取用于指示异常交易账户的身份的信息作为摘要信息,其中摘要信息可以是姓名、证件类型、证件号等,本申请对摘要信息的内容不进行具体限定。再基于哈希算法,对摘要信息进行哈希运算,进而得到摘要信息的哈希值,对哈希值和异常分数进行关联,将关联后的哈希值和异常分数存储至区块链账本。
在另一应用场景下,目标银行会在区块链账本中调用智能合约,判断当前异常交易账户的异常行为是否为达到预警值。具体地,在区块链账本中调用智能合约,将摘要信息相同的异常分数划分为一组,得到至少一个异常分数组。对于至少一个异常分数组中每个异常分数组,统计异常分数组包含的异常分数的分数数量,基于每个异常分数组的分数数量和异常分数进行计算,基于计算结果判断其是否达到预警值。具体地,计算异常分数组的异常分数总和,计算异常分数总和与分数数量的比值作为异常分数组的异常分数均值,分别为至少一个异常分数组中每个异常分数组计算异常分数均值,得到至少一个异常分数均值,在至少一个异常分数均值中提取异常分数均值大于等于预设预警阈值的目标异常分数均值,确定目标异常分数均值对应的目标异常分数组,获取目标异常分数组对应的目标摘要信息,将目标摘要信息指示的账户作为预警交易账户。
本申请实施例提供的方法,首先对银行多个渠道业务系统的多个账户信息进行信息清洗,获取多个样本交易信息,进而基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型,从而将确定的待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数,最后,提取待识别账户中指示待识别账户的身份的摘要信息,将摘要信息和异常分数对应存储至区块链账本。采用孤立森林算法对样本交易信息进行训练,生成检测异常交易信息,并计算异常分数的异常交易检测模型,通过从数据层面检测待识别交易信息,找出包装较为隐蔽的欺诈行为,提高异常交易检测的准确率。
进一步地,作为图1所述方法的具体实现,本申请实施例提供了一种基于区块链的异常交易检测装置,如图3A所示,所述装置包括:第一获取模块301、训练模块302、第一确定模块303、存储模块304。
该第一获取模块301,用于获取多个样本交易信息,所述多个样本交易信息是通过对来源于银行多个渠道业务系统的多个账户信息进行信息清洗后得到的;
该训练模块302,用于基于孤立森林算法,对所述多个样本交易信息进行训练,得到异常交易检测模型;
该第一确定模块303,用于确定待识别账户的待识别交易信息,将所述待识别交易信息输入至所述异常交易检测模型,获取所述异常交易检测模型输出的异常交易信息和所述异常交易信息对应的异常分数;
该存储模块304,用于提取所述待识别账户的摘要信息,将所述摘要信息和所述异常分数对应存储至区块链账本,所述摘要信息包括指示所述待识别账户的身份的信息。
在具体的应用场景中,该第一获取模块301,用于获取所述多个渠道业务系统上传的所述多个账户信息;对所述多个账户信息进行编号,在所述多个账户信息中选取目标编号对应的账户信息作为多个样本账户信息,所述目标编号的取值为任意值;基于自然语言处理技术,为所述多个样本账户信息中每个样本账户信息确定可剔除信息,所述可剔除信息是样本账户信息中与交易无关的信息;将所述每个样本账户信息的可剔除信息进行清洗删除,将清洗删除后的所述多个样本账户信息作为所述多个样本交易信息。
在具体的应用场景中,该训练模块302,用于在所述多个样本交易信息中提取多个目标样本交易信息,采用所述孤立森林算法,为所述多个目标样本交易信息创建第一预设数目的样本孤立树,所述多个目标样本交易信息是所述多个样本交易信息中任意的多个样本交易信息;对于所述多个样本交易信息中每个样本交易信息,对所述每个样本交易信息在所述第一预设数目的样本孤立树中每个样本孤立树的路径长度进行整理生成样本路径长度组,得到所述多个样本交易信息的多个样本路径长度组;计算所述多个样本路径长度组中每个样本路径长度组的长度均值,得到多个长度均值;对于所述多个长度均值中每个长度均值,计算所述样本孤立树的预设长度阈值与所述每个长度均值的样本比值,并对所述样本比值进行指数运算,得到所述样本比值的样本指数值,将所述样本指数值作为所述每个长度均值对应的样本交易信息的样本异常分数,得到多个样本异常分数;基于所述样本异常分数,在所述多个样本交易信息中提取多个异常样本交易信息;对于所述多个异常样本交易信息中每个异常样本交易信息,对所述每个异常样本交易信息在所述第一预设数目的样本孤立树中每个样本孤立树的异常样本路径长度进行整理生成异常样本路径长度组,得到所述多个异常样本交易信息的多个异常样本路径长度组;计算所述多个异常样本路径长度组中每个异常样本长度组的异常样本长度均值,得到多个异常样本长度均值;对所述多个异常样本长度均值中每个异常样本长度均值与所述第一预设数目进行收敛计算,得到所述多个异常样本长度均值对应的多个收敛参数;统计所述多个收敛参数中每个收敛参数在所述多个收敛参数中的出现次数,将出现次数最高的收敛参数作为模型参数;按照所述模型参数进行模型搭建,得到所述异常交易检测模型。
在具体的应用场景中,该训练模块302,用于按照所述孤立森林算法的指示,建立根节点,并按照维度从小到大的顺序,在所述根节点中对所述多个目标样本交易信息进行排序;基于所述多个目标样本交易信息的排序,确定第一样本分割点,所述第一样本分割点为所述维度的取值范围内的任意数值;在所述根节点下创建第一左节点和第一右节点,采用所述第一样本分割点对所述多个目标样本交易信息进行拆分;将小于所述第一样本分割点的目标样本交易信息放置于所述第一左节点中,将大于等于所述第一分割点的目标样本交易信息放置于所述第一右节点中;检测所述第一左节点和所述第一右节点中所述目标样本交易信息的数量,得到两个待拆分数量,将所述两个待拆分数量分别与预设拆分条件进行比对,基于比对结果创建节点对所述目标样本交易信息进行拆分;当所述样本孤立树的节点高度满足预设高度阈值时,停止拆分过程,完成当前所述孤立树的创建;重新为所述多个目标样本交易信息建立样本孤立树,直至所述样本孤立树的数目达到所述第一预设数目。
在具体的应用场景中,该训练模块302,用于若所述比对结果指示所述待拆分数量满足所述预设拆分条件,则确定所述待拆分数量对应的第一目标节点;基于所述第一目标节点中目标样本交易信息的排序,确定第二样本分割点;在所述第一目标节点下创建第二左节点和第二右节点,将小于所述第二样本分割点的目标样本交易信息放置于所述第二左节点中,将大于等于所述第二分割点的目标样本交易信息放置于所述第二右节点中;若所述比对结果指示所述待拆分数量不满足所述预设拆分条件,则确定所述待拆分数量对应第二目标的节点,停止对所述第二目标节点中的目标样本交易信息进行拆分。
在具体的应用场景中,该确定模块303,用于获取模型参数,查询第二预设数目,将所述待识别交易信息输入至所述异常交易检测模型,为所述待识别交易信息创建所述第二预设数目的目标孤立树;确定所述第二预设数目的目标孤立树中每个目标孤立树的总路径长度、所述待识别交易信息在所述每个目标孤立树的待识别路径长度,得到多个总路径长度和多个待识别路径长度;计算所述多个待识别路径长度的待识别期望值,对所述待识别期望值与所述第二预设数目进行收敛计算,得到待识别收敛参数,将所述收敛参数满足所述模型参数的待识别交易信息作为异常交易信息;计算所述待识别期望值与所述多个路径总长度的平均值的待识别比值,并对所述待识别比值进行指数运算,得到所述待识别比值的待识别指数值,将所述待识别指数值作为所述待识别账户的异常分数;将所述异常交易信息和所述异常分数进行输出。
在具体的应用场景中,该存储模块304,用于在所述待识别账户的账户信息中提取用于指示所述待识别账户的身份的信息作为所述摘要信息;基于哈希算法,对所述摘要信息进行哈希运算,得到所述摘要信息的哈希值;对所述哈希值和所述异常分数进行关联,将关联后的所述哈希值和所述异常分数存储至所述区块链账本。
在具体的应用场景中,如图3B所示,所述装置还包括:分组模块305、统计模块306、第一计算模块307、第二计算模块308、第二确定模块309、第二获取模块310。
该分组模块305,用于在所述区块链账本中调用智能合约,将摘要信息相同的异常分数划分为一组,得到至少一个异常分数组;
该统计模块306,用于对于所述至少一个异常分数组中每个异常分数组,统计所述异常分数组包含的异常分数的分数数量,计算所述异常分数组的异常分数总和;
该第一计算模块307,用于计算所述异常分数总和与所述分数数量的比值作为所述异常分数组的异常分数均值;
该第二计算模块308,用于分别为所述至少一个异常分数组中每个异常分数组计算异常分数均值,得到至少一个异常分数均值;
该第二确定模块309,用于在所述至少一个异常分数均值中提取异常分数均值大于等于预设预警阈值的目标异常分数均值,确定所述目标异常分数均值对应的目标异常分数组;
该第二获取模块310,用于获取所述目标异常分数组对应的目标摘要信息,将所述目标摘要信息指示的账户作为预警交易账户。
本申请实施例提供的装置,首先对银行多个渠道业务系统的多个账户信息进行信息清洗,获取多个样本交易信息,进而基于孤立森林算法,对多个样本交易信息进行训练,得到异常交易检测模型,从而将确定的待识别交易信息输入至异常交易检测模型,获取异常交易检测模型输出的异常交易信息和异常交易信息对应的异常分数,最后,提取待识别账户中指示待识别账户的身份的摘要信息,将摘要信息和异常分数对应存储至区块链账本。采用孤立森林算法对样本交易信息进行训练,生成检测异常交易信息,并计算异常分数的异常交易检测模型,通过从数据层面检测待识别交易信息,找出包装较为隐蔽的欺诈行为,提高异常交易检测的准确率。
需要说明的是,本申请实施例提供的一种基于区块链的异常交易检测装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的基于区块链的异常交易检测方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的异常交易检测方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等) 中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。