本发明涉及名单服务领域,特别涉及一种过滤器构造方法、数据验证方法、装置、电子设备及介质。
背景技术:
1、名单服务在金融领域中为重要的风控服务,其一般设置有名单,并通过根据待验证数据是否位于名单来判定该数据是否安全。为提升名单服务的比对效率,一般可使用过滤器(filter)替代名单进行比对。该过滤器由名单中的数据构成。当待验证数据被过滤器判定为阳性时,则意味着待验证数据有一定几率处于该名单中;反之,当待验证数据被过滤器判定为阴性时,则意味着待验证数据一定不处于该名单中。因此,该过滤器可替代名单进行相似成员比对。
2、相关技术中,过滤器通常仅具有单层结构,且其在处理中没有利用到所处理数据本身的特征。这导致传统过滤器在判定待验证数据为阳性时,存在较大的误判几率,容易将待验证数据判定为实际并不位于名单的假阳性数据,进而降低了名单服务的可靠性。
技术实现思路
1、本发明的目的是提供一种过滤器构造方法、数据验证方法、装置、电子设备及介质,可使用多层堆叠式方法来构造多层过滤器,从而能够有效提升过滤器的可靠性,并以此可提升名单服务的可靠性。
2、为解决上述技术问题,本发明提供一种过滤器构造方法,包括:
3、获取预设阳性集合和预设假阳性集合;所述预设阳性集合中的阳性数据来自指定名单,所述预设假阳性集合中的假阳性数据不来自所述指定名单且被名单服务判定为位于所述指定名单;
4、利用所述预设阳性集合和所述预设假阳性集合构造多层过滤器,以利用所述多层过滤器优化所述名单服务;所述多层过滤器的首层子过滤器利用所述预设阳性集合中的所有阳性数据构建,所述多层过滤器中的第j层子过滤器利用所述预设假阳性集合中未被所述第j层子过滤器前的任意奇数层子过滤器判定为阴性的假阳性数据构建,所述多层过滤器中的第j+1层子过滤器利用所述预设阳性集合中未被所述第j+1层子过滤器前的任意偶数层子过滤器判定为阴性的阳性数据构建,j为非零非负偶数。
5、可选地,所述利用所述预设阳性集合和所述预设假阳性集合构造多层过滤器,包括:
6、初始化第i层子过滤器及临时集合,并确定当前阳性集合和当前假阳性集合;i的初值为1,i为1时对应的当前阳性集合和当前假阳性集合分别为所述预设阳性集合和所述预设假阳性集合;
7、当i为奇数时,将所述当前阳性集合中的所有阳性数据插入所述第i层子过滤器,利用所述第i层子过滤器对所述当前假阳性集合中的所有假阳性数据进行验证,将被所述第i层子过滤器验证为阳性的假阳性数据添加至所述临时集合,并将所述临时集合更新为所述当前假阳性集合;
8、当i为偶数时,将所述当前假阳性集合中的所有假阳性数据插入所述第i层子过滤器,利用所述第i层子过滤器对所述当前阳性集合中的所有阳性数据进行验证,将被所述第i层子过滤器验证为阳性的阳性数据添加至所述临时集合,并将所述临时集合更新为所述当前阳性集合;
9、对i增加1,并在确定更新后的i不等于预设层数时,基于更新后的i进入所述初始化第i层子过滤器及临时集合的步骤,或在确定更新后的i等于所述预设层数时,输出所述多层过滤器。
10、可选地,所述预设假阳性集合中的假阳性数据被所述名单服务判定为位于所述指定名单的频率高于预设频率。
11、可选地,还包括:
12、接收被所述多层过滤器验证错误的误判阳性数据和误判假阳性数据;
13、判断位于所述多层过滤器末尾的目标子过滤器的体积是否大于预设值;
14、若是,则在所述多层过滤器末尾创建新子过滤器,并在确定所述新子过滤器为奇数层子过滤器时,将所述误判阳性数据插入所述新子过滤器,或在确定所述新子过滤器为偶数层子过滤器时,将所述误判假阳性数据插入所述新子过滤器;
15、若否,则在确定所述目标子过滤器为奇数层子过滤器时,将所述误判阳性数据插入所述目标子过滤器,或在确定所述目标子过滤器为偶数层子过滤器时,将所述误判假阳性数据插入所述目标子过滤器。
16、可选地,还包括:
17、将所述误判阳性数据和所述误判假阳性数据分别添加至所述预设阳性集合和所述预设假阳性集合,以更新所述预设阳性集合和所述预设假阳性集合;
18、检测所述多层过滤器中的各层子过滤器对应的误判率;
19、当任一所述子过滤器对应的误判率与预期误判率间的差值大于预设值时,利用最新的预设阳性集合和最新的预设假阳性集合重构所述多层过滤器。
20、本发明还提供一种数据验证方法,包括:
21、将待验证数据输入指定名单对应的多层过滤器;所述多层过滤器采用如上所述的过滤器构造方法构造;
22、当所述待验证数据被所述多层过滤器中的奇数层子过滤器验证为阴性时,判定所述待验证数据不处于所述指定名单;
23、当所述待验证数据被所述多层过滤器中的偶数层子过滤器验证为阴性时,判定所述待验证数据处于所述指定名单;
24、当所述待验证数据被所述多层过滤器中的所有子过滤器验证为阳性时,将所述待验证数据输入所述指定名单进行验证。
25、本发明还提供一种过滤器构造装置,包括:
26、获取模块,用于获取预设阳性集合和预设假阳性集合;所述预设阳性集合中的阳性数据来自指定名单,所述预设假阳性集合中的假阳性数据不来自所述指定名单且被名单服务判定为位于所述指定名单;
27、构造模块,用于利用所述预设阳性集合和所述预设假阳性集合构造多层过滤器,以利用所述多层过滤器优化所述名单服务;所述多层过滤器的首层子过滤器利用所述预设阳性集合中的所有阳性数据构建,所述多层过滤器中的第j层子过滤器利用所述预设假阳性集合中未被所述第j层子过滤器前的任意奇数层子过滤器判定为阴性的假阳性数据构建,所述多层过滤器中的第j+1层子过滤器利用所述预设阳性集合中未被所述第j+1层子过滤器前的任意偶数层子过滤器判定为阴性的阳性数据构建,j为非零非负偶数。
28、本发明还提供一种数据验证装置,包括:
29、输入模块,用于将待验证数据输入指定名单对应的多层过滤器;所述多层过滤器采用如上所述的过滤器构造方法构造;
30、第一判定模块,用于当所述待验证数据被所述多层过滤器中的奇数层子过滤器验证为阴性时,判定所述待验证数据不处于所述指定名单;
31、第二判定模块,用于当所述待验证数据被所述多层过滤器中的偶数层子过滤器验证为阴性时,判定所述待验证数据处于所述指定名单;
32、名单验证模块,用于当所述待验证数据被所述多层过滤器中的所有子过滤器验证为阳性时,将所述待验证数据输入所述指定名单进行验证。
33、本发明还提供一种电子设备,包括:
34、存储器,用于存储计算机程序;
35、处理器,用于执行所述计算机程序时实现如上所述的过滤器构造方法和/或数据验证方法。
36、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的过滤器构造方法和/或数据验证方法。
37、本发明提供一种过滤器构造方法,包括:获取预设阳性集合和预设假阳性集合;所述预设阳性集合中的阳性数据来自指定名单,所述预设假阳性集合中的假阳性数据不来自所述指定名单且被名单服务判定为位于所述指定名单;利用所述预设阳性集合和所述预设假阳性集合构造多层过滤器,以利用所述多层过滤器优化所述名单服务;所述多层过滤器的首层子过滤器利用所述预设阳性集合中的所有阳性数据构建,所述多层过滤器中的第j层子过滤器利用所述预设假阳性集合中未被所述第j层子过滤器前的任意奇数层子过滤器判定为阴性的假阳性数据构建,所述多层过滤器中的第j+1层子过滤器利用所述预设阳性集合中未被所述第j+1层子过滤器前的任意偶数层子过滤器判定为阴性的阳性数据构建,j为非零非负偶数。
38、可见,本发明首先可获取预设阳性集合和预设假阳性集合,其中预设阳性集合中的阳性数据来自指定名单,而预设假阳性集合中的假阳性数据不来自指定名单且被名单服务判定为位于指定名单,换句话说,假阳性数据为被当前名单服务误判为位于指定名单的数据。随后,本发明将利用预设阳性集合和预设假阳性集合构造多层过滤器,以利用多层过滤器优化名单服务,其中该多层过滤器的首层子过滤器利用预设阳性集合中的所有阳性数据构建,该多层过滤器中的第j层子过滤器利用预设假阳性集合中未被第j层子过滤器前的任意奇数层子过滤器判定为阴性的假阳性数据构建,该多层过滤器中的第j+1层子过滤器利用预设阳性集合中未被第j+1层子过滤器前的任意偶数层子过滤器判定为阴性的阳性数据构建,j为非零非负偶数。换句话说,本发明可使用多层堆叠式方法来构造多层过滤器,不仅可使用多层结构来降低过滤器的误报率,更重要的是,构造各层子过滤器所使用的数据均已被先前各层子过滤器验证过,即能够充分考虑构造数据在先前各层子过滤器中的验证结果特征,从而能够有效提升过滤器的可靠性,并以此可提升名单服务的可靠性。本发明还提供一种数据查询方法、过滤器构造装置、数据查询装置、电子设备及计算机可读存储介质,具有上述有益效果。