数据确认方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据配对方法、装置、设备及存储介质。
背景技术
银行、企业以及一些第三方平台等都需要对每天流转的资金进行核对,比如某某数字科技公司面向企业(toB业务)有大量业务单(或称为订单),通过银行进行收款转账等等,对这些订单与银行的收款单进行核对至关重要。
传统银行转账收款,收款方在银行帐流水中可见新增收款单,需要人工确认收款单和业务系统订单的收款匹配。在实现本发明过程中,发明人发现当订单量激增的情况下,需要耗费大量人力确认,且人工对大量订单及银行收款单进行核对,准确度低,且耗费大量人力时间成本。
发明内容
本申请提供了一种数据确认方法、装置、设备及存储介质,用以解决人工对两个数据列表中的大量数据进行核对准确度低,且耗费大量人力时间成本的问题。
第一方面,本申请实施例提供了一种数据确认方法,包括:
获取第一数据,其中,所述第一数据中包括账户名称;
根据预先建立的账户名称与账户所属主体身份之间的映射关系,获得所述第一数据中的账户名称所对应的账户所属主体身份;
从第二数据的列表中查询获得与所述账户所属主体身份相匹配的第二数据;
采用所述账户所属主体身份相匹配的第二数据,对所述第一数据进行确认。
可选地,根据预先建立的账户名称与账户所属主体身份之间的映射关系,获得所述第一数据中的账户名称所对应的账户所属主体身份之前,所述方法还包括:
从历史资源交互记录中提取资源交互的账户所属主体身份和账户名称;
获取所述账户所属主体身份和所述账户名称之间的匹配结果,根据所述匹配结果,建立所述账户所属主体身份和所述账户名称之间的映射关系。
可选地,获取所述账户所属主体身份和所述账户名称之间的匹配结果,根据所述匹配结果,建立所述账户所属主体身份和所述账户名称之间的映射关系,包括:
确定所述账户所属主体身份和所述账户名称之间的相似度,根据所述相似度,获取所述账户所属主体身份和所述账户名称之间的匹配结果,建立匹配结果为匹配的所述账户所属主体身份和所述账户名称之间的映射关系;
或者,
若确定所述账户所属主体身份和所述账户名称为一一对应关系的资源交互次数超过预设次数,则确定所述账户所属主体身份和所述账户名称之间的匹配结果为匹配,建立所述账户所属主体身份和所述账户名称之间的映射关系。
可选地,根据所述相似度,获取所述账户所属主体身份和所述账户名称之间的匹配结果,建立匹配结果为匹配的所述账户所属主体身份和所述账户名称之间的映射关系,包括:
确定所述相似度大于或等于预设门限值,则确定所述账户所属主体身份和所述账户名称之间的匹配结果为匹配,建立所述账户所属主体身份和所述账户名称之间的映射关系。
可选地,确定所述账户所属主体身份和所述账户名称之间的相似度,包括:
对所述账户所属主体身份的文本进行分词,得到第一分词结果,以及对所述账户名称的文本进行分词,得到第二分词结果;
计算所述第一分词结果和所述第二分词结果之间的编辑距离,并获取所述账户所属主体身份的文本以及所述账户名称的文本中字符长度最大值,根据所述编辑距离和所述字符长度最大值,确定所述账户所属主体身份和所述账户名称之间的相似度。
可选地,从第二数据的列表中查询获得与所述账户所属主体身份相匹配的第二数据,包括:
若所述第二数据的列表中第二数据与账户所属主体身份为一一对应关系,则直接获取所述账户所属主体身份的第二数据,作为所述账户所属主体身份相匹配的第二数据;
若所述第二数据的列表中第二数据与账户所属主体身份不是一一对应关系,则获取所述账户所属主体身份的多个第二数据,将所述账户所属主体身份的多个数据提交给第三方平台,获取所述第三方平台确认后返回的第二数据,将所述第三方平台确认后返回的第二数据作为所述账户所属主体身份相匹配的第二数据。
可选地,根据所述编辑距离和所述字符长度最大值,确定所述账户所属主体身份和所述账户名称之间的相似度,包括:
计算所述编辑距离和所述字符长度最大值之间的比值,将所得的比值作为所述账户所属主体身份和所述账户名称之间的相似度。
第二方面,本申请实施例提供了一种数据确认装置,包括:
获取模块,用于获取第一数据,其中,所述第一数据中包括账户名称;
处理模块,用于根据预先建立的账户名称与账户所属主体身份之间的映射关系,获得所述第一数据中的账户名称所对应的账户所属主体身份;
查询模块,用于从第二数据的列表中查询获得与所述账户所属主体身份相匹配的第二数据;
确认模块,用于采用所述账户所属主体身份相匹配的第二数据,对所述第一数据进行确认。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的数据确认方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述的数据确认方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,在获取第一数据后,获取预先建立的该第一数据中的账户名称对应的账户所属主体身份,然后从第二数据列表中查询获得该账户所属主体身份相匹配的第二数据,采用该账户所属主体身份相匹配的第二数据,对该第一数据进行确认,从而实现了对第一数据和第二数据的自动确认,避免了人工对两个数据列表中的大量数据进行核对,所造成的准确度低,且耗费大量人力时间成本的问题,减少了人工操作,提高了数据的确认效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中数据确认的过程示意图;
图2为本申请实施例中账户名称和账户所属主体身份之间的映射关系建立过程示意图;
图3为本申请实施例中付款单和交易订单配对过程示意图;
图4为本申请实施例中数据确认的装置结构示意图;
图5为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中,针对银行转账类业务的收款确认提出解决方案,该收款确认场景在企业结算中常见,在企业金融服务中也普遍存在。该场景不同于常见的个人电子支付类交易,个人电子支付类交易一般是用户先确认订单,然后对订单进行支付,产生的支付流水和订单是强关联的,因此不存在收款确认的问题。
而企业结算等场景中的收款确认场景通常是:付款方通过银行网银或者支票进行转账,收款方确认收款时需要将收款数据和自身信息系统中的订单数据关联起来,订单数据产生的时间和收款数据产生的时间没有时序要求,收款先于订单的时间,或者收款后于订单的时间都是正常的,需要收款方人工确认收款,然后人工确认订单到账。在业务量大的情况下非常低效,为了解决该问题,本申请实施例中提供了一种数据确认方法,能够自动确认订单到账,减少人工操作,提高效率。
需要说明的是,本申请实施例所提供的数据确认方法,能够应用于任意一个电子设备。并且,本申请实施例所提供的数据确认方法,不仅仅可以应用于订单到账的确认,可以扩展应用于任意一种对两种数据进行确认的场景。
本申请第一实施例,如图1所示,电子设备自动进行数据确认的过程如下:
步骤101,获取第一数据,其中,所述第一数据中包括账户名称。
步骤102,根据预先建立的账户名称与账户所属主体身份之间的映射关系,获得所述第一数据中的账户名称所对应的账户所属主体身份。
步骤103,从第二数据的列表中查询获得与所述账户所属主体身份相匹配的第二数据。
步骤104,采用所述账户所属主体身份相匹配的第二数据,对所述第一数据进行确认。
本申请实施例,在获取第一数据后,获取预先建立的该第一数据中的账户名称对应的账户所属主体身份,然后从第二数据列表中查询获得该账户所属主体身份相匹配的第二数据,采用该账户所属主体身份相匹配的第二数据,对该第一数据进行确认,从而实现了对第一数据和第二数据的自动确认,避免了人工对两个数据列表中的大量数据进行确认,所造成的准确度低,且耗费大量人力时间成本的问题,减少了人工操作,提高了数据的配对效率。
需要说明的是,本申请实施例中所提及的数据,具体可以是流水单,特别是收款单、付款单、订单等。
本申请第二实施例中,如图2所示,建立账户名称和账户所属主体身份之间的映射关系的过程主要包括:
步骤201,从历史资源交互记录中提取资源交互的账户所属主体身份和账户名称。
需要说明的是,本申请实施例中所提及的资源,可以是虚拟资源,例如进行交易的商品、债券等。
步骤202,获取所述账户所属主体身份和所述账户名称之间的匹配结果,根据所述匹配结果,建立所述账户所属主体身份和所述账户名称之间的映射关系。
建立映射关系的一个具体实施例为:确定所述账户所属主体身份和所述账户名称之间的相似度,根据所述相似度,获取所述账户所属主体身份和所述账户名称之间的匹配结果,建立匹配结果为匹配的所述账户所属主体身份和所述账户名称之间的映射关系。
情况a,若确定所述相似度大于或等于预设门限值,则确定所述账户所属主体身份和所述账户名称之间的匹配结果为匹配,建立所述账户所属主体身份和所述账户名称之间的映射关系。
情况b,若确定所述相似度小于预设门限值,则进一步处理后,根据进一步处理的结果,确定所述账户所属主体身份和所述账户名称之间的匹配结果,并建立匹配结果为匹配的所述账户所属主体身份和所述账户名称之间的映射关系。例如,若确定所述相似度小于预设门限值,则将所述账户所属主体身份和所述账户名称提交给第三方平台,获取第三方平台返回的结果后,确定结果为所述账户所属主体身份和所述账户名称之间匹配,建立该所述账户所属主体身份和所述账户名称之间的映射关系。
该具体实施例中,确定所述账户所属主体身份和所述账户名称之间的相似度的具体过程为:对所述账户所属主体身份的文本进行分词,得到第一分词结果,以及对所述账户名称的文本进行分词,得到第二分词结果;计算所述第一分词结果和所述第二分词结果之间的编辑距离,并获取所述账户所属主体身份的文本以及所述账户名称的文本中字符长度最大值,根据所述编辑距离和所述字符长度最大值,确定所述账户所属主体身份和所述账户名称之间的相似度。例如,计算所述编辑距离和所述字符长度最大值之间的比值,将所得的比值(或者该比值乘以100%后所得的结果)作为所述账户所属主体身份和所述账户名称之间的相似度。
建立映射关系的另一个具体实施例为:若确定所述账户所属主体身份和所述账户名称为一一对应关系的资源交互次数超过预设次数,则确定所述账户所属主体身份和所述账户名称之间的匹配结果为匹配,建立所述账户所属主体身份和所述账户名称之间的映射关系。
其中,步骤103中,若所述第二数据的列表中第二数据与账户所属主体身份为一一对应关系,则直接获取所述账户所属主体身份的第二数据,作为所述账户所属主体身份相匹配的第二数据;若所述第二数据的列表中第二数据与账户所属主体身份不是一一对应关系,则获取所述账户所属主体身份的多个第二数据,将所述账户所属主体身份的多个数据提交给第三方平台,获取第三方平台确认后返回的第二数据,将所述第三方平台确认后返回的第二数据作为所述账户所属主体身份相匹配的第二数据。需要说明的是,第三方平台可以是人工审核平台或者数据库查询平台等。
本申请第三实施例中,以银行转账流水中的付款单和第三方平台的交易订单的配对过程为例,对以上两个实施例中所描述的数据确认的过程进行举例说明,如图3所示,主要包括:
步骤301,获取付款单,其中,所述付款单中包括付款方的账户名称。
其中,常见的银行转账流水,即付款单中,通常包含付款方的开户行、付款方的账户名称、付款账号、付款日期、付款金额、收款方开户行、收款方的账户名称、收款账号、备注信息等。
本申请实施例中,在预先将付款方的账户名称和付款人的身份等标识信息相关联的情况下,根据付款单中付款方账户名称能够进一步获得付款方的身份。
步骤302,根据预先建立的付款方的账户名称与付款方的身份之间的映射关系,获得所述付款单中的付款方的账户名称所对应的付款方的身份。
一个具体实施例中,为了能够获得付款单中的付款方账户名称所对应的付款方的身份,需要预先建立付款方的账户名称与付款方的身份之间的映射关系。其中,一种建立方式为基于统计的方式从历史交易记录中提取,该建立过程主要如下:从历史交易记录中提取交易的付款方的身份和付款方的账户名称;获取所述付款方的身份和所述付款方的账户名称之间的匹配结果,根据所述匹配结果,建立所述付款方的身份和所述付款方的账户名称之间的映射关系。
具体提取过程分以下两种情况:
第一,若确定所述付款方的身份和所述付款方的账户名称完全一致,则确定所述付款方的身份和所述付款方的账户名称之间的匹配结果为匹配,建立所述付款方的身份和所述付款方的账户名称之间的映射关系;
第二,若确定所述付款方的身份和所述付款方的账户名称不完全一致,但确定所述付款方的身份和所述付款方的账户名称为一一对应关系的交易次数超过预设值,则确定所述付款方的身份和所述付款方的账户名称之间的匹配结果为匹配,建立所述付款方的身份和所述付款方的账户名称之间的映射关系。例如,历史交易记录中账户所属主体身份(即付款方的身份)和银行账户的户名(即付款方的账户名称)不一致,但是在历史交易记录中大量存在并且该账户所属主体身份和银行账户的户名是一对一出现的,如账户所属主体身份为“XX数字科技”,银行账户的户名为“XX数字科技控股有限公司”,通过提取历史交易记录确定该账户所属主体身份和该银行账户的户名有多次一一对应出现的往来业务,则可构建该账户所属主体身份和该银行账户的户名的映射关系,即识别有多次业务往来的付款方的身份。
一个具体实施例中,针对历史交易记录中不存在成功交易配对的付款方的身份和付款方的账户名称的情况,即新客户,无法根据历史交易记录中成功配对的次数建立映射关系,这里引入基于机器学习的文本相似度算法,对付款方的身份和付款方的账户名称计算文本相似度,优选文本相似度最高的记录作为待匹配项。
具体地,计算所述付款方的身份和所述付款方的账户名称之间的相似度;获取相似度大于或等于预设门限值的付款方的身份和付款方的账户名称,确定匹配结果为匹配,例如,获取相似度为100%的付款方的身份和所述付款方的账户名称,确定匹配结果为匹配,建立相似度为100%所述付款方的身份和所述付款方的账户名称之间的映射关系。对相似度小于预设门限值的付款方的身份和付款方的账户名称做进一步处理,例如,对于相似度大于最低门限值且小于100%的所述付款方的身份和所述付款方的账户名称,提交给人工审核,确定人工审核结果通过的所述付款人和所述付款账号之间的匹配结果为匹配,建立人工审核通过的所述付款人和所述付款账号之间的映射关系。对相似度小于或等于最低门限值的付款方的身份和付款方的账户名称,直接舍弃。
例如,相似度为100%的直接确认该付款方的身份和付款方的账户名称的映射关系,相似度大于80%且小于100%的进入人工审核类,提交给人工审核,对于人工审核通过的建立付款方的身份和付款方的账户名称的映射关系。
本申请实施例中,考虑到付款方的身份和付款方的账户名称多为短文本,采用基于文本相似度的计算算法,计算文本之间的相似度。具体地,计算所述付款方的身份和所述付款方的账户名称之间的相似度,具体过程如下:对所述付款方的身份的文本进行分词,得到第一分词结果,以及对所述付款方的账户名称的文本进行分词,得到第二分词结果;计算所述第一分词结果和所述第二分词结果之间的编辑距离,并获取所述付款方的身份的文本以及所述付款方的账户名称的文本中字符长度最大值,根据所述编辑距离和所述字符长度最大值,确定所述付款方的身份和所述付款方的账户名称之间的相似度。
其中,计算所述编辑距离和所述字符长度最大值之间的比值,将所得的比值乘以100%,将所得的结果作为所述付款方的身份和所述付款方的账户名称之间的相似度。
例如,采用开源分词库jieba分词,对付款方的身份的文本进行分词处理,得到第一分词结果,以及对付款方的账户名称的文本进行分词处理得到第二分词结果,使用“Levenshtein Distance”算法计算第一分词结果和第二分词结果之间的相似度。Levenshtein Distance又名“编辑距离”,指的是在两个单词X、Y之间,由其中一个单词X转换为另一个单词Y所需要的最少单字符编辑操作次数,此处不再给出相关定义。
步骤303,从历史订单数据中查询获得与所述付款方的身份相匹配的订单。
一个具体实施例中,若所述历史订单数据中订单与付款方的身份为一一对应关系,即一笔订单对应一笔付款,则直接获取所述付款方的身份的订单,作为所述付款方的身份相匹配的订单。
若所述历史订单数据中订单与付款方的身份不是一一对应关系,则可以通过深度搜索等方式获取所述付款方的身份的多个订单,将所述付款方的身份的多个订单提交给人工审核,获取人工审核确认的订单,将所述人工审核确认的订单作为所述付款方的身份相匹配的订单。
步骤304,采用所述付款方的身份相匹配的订单,与所述付款单进行配对,以进行收款确认。
本申请实施例中,在获取付款单后,获取预先建立的该付款单中的付款方的账户名称对应的付款方的身份,然后从历史订单数据中查询获得该付款方的身份相匹配的订单,根据该付款方的身份相匹配的订单,即可对该付款单进行收款确认,从而实现了对付款单的自动确认,避免了人工对大量订单及付款单进行核对,所造成的准确度低,且耗费大量人力时间成本的问题,减少了人工操作,提高了付款确认效率。从而能够解决企业结算场景中银行转账的自动化到账确认问题。
基于同一构思,本申请第四实施例中提供了一种数据确认装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该装置主要包括:
获取模块401,用于获取第一数据,其中,所述第一数据中包括账户名称;
处理模块402,用于根据预先建立的账户名称与账户所属主体身份之间的映射关系,获得所述第一数据中的账户名称所对应的账户所属主体身份;
查询模块403,用于从第二数据的列表中查询获得与所述账户所属主体身份相匹配的第二数据;
确认模块404,用于采用所述账户所属主体身份相匹配的第二数据,对所述第一数据进行确认。
本申请实施例中,获取模块获取第一数据后,处理模块获取预先建立的该第一数据中的账户名称对应的账户所属主体身份,然后查询模块从第二数据列表中查询获得该账户所属主体身份相匹配的第二数据,确认模块采用该账户所属主体身份相匹配的第二数据,对该第一数据进行确认,从而实现了对第一数据和第二数据的自动确认,避免了人工对两个数据列表中的大量数据进行核对,所造成的准确度低,且耗费大量人力时间成本的问题,减少了人工操作,提高了数据的确认效率。
基于同一构思,本申请第五实施例中还提供了一种电子设备,如图5所示,该电子设备主要包括:处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502和存储器503通过通信总线504完成相互间的通信。其中,存储器503中存储有可被至处理器501执行的程序,处理器501执行存储器503中存储的程序,实现如下步骤:获取第一数据,其中,所述第一数据中包括账户名称;根据预先建立的账户名称与账户所属主体身份之间的映射关系,获得所述第一数据中的账户名称所对应的账户所属主体身份;从第二数据中查询获得与所述账户所属主体身份相匹配的订单;采用所述账户所属主体身份相匹配的订单,对所述第一数据进行确认。
上述电子设备中提到的通信总线504可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502用于上述电子设备与其他设备之间的通信。
存储器503可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器501的存储装置。
上述的处理器501可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的数据确认方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。