掌桥专利:专业的专利平台
掌桥专利
首页

地址类型识别方法及装置

文献发布时间:2023-06-19 12:00:51


地址类型识别方法及装置

技术领域

本申请实施例涉及计算机技术,尤其涉及一种地址类型识别方法及装置。

背景技术

比特币地址类型能够反映交易的特点以及安全性,因此对比特币地址类型进行识别,可以有效提升比特币地址的安全性。

目前,在相关技术中,在对比特币的地址类型进行识别时,通常是直接从地址的交易历史记录中提取统计特征,利用基于机器学习的预测模型来预测地址类型,其中,预测模型是根据已知地址类型的地址数据训练得到的。

然而,当已知类型的地址数据的数据量较小时,无法保证预测模型输出的地址类型的正确性,从而导致地址类型识别的准确率较低。

发明内容

本申请实施例提供一种地址类型识别方法及装置,以增加有标签地址数量、提高地址类型预测模型的预测准确率。

第一方面,本申请实施例提供一种地址类型识别方法,包括:

将无标签的第一地址数据作为预测模型的输入,以使所述预测模型输出所述第一地址数据对应的第一地址类型;

根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各所述扩充地址数据分别对应各自的扩充地址类型;

根据所述多个扩充地址数据对所述预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型,其中,所述目标模型用于输出地址数据对应的地址类型。

在一种可能的设计中,每轮训练包括如下步骤:

根据所述多个扩充地址数据分别进行特征提取处理,得到各所述扩充地址数据各自对应的特征数据;

根据各所述扩充地址数据各自对应的特征数据对所述预测模型进行训练。

在一种可能的设计中,所述根据各所述扩充地址数据各自对应的特征数据对所述预测模型进行训练,包括:

将各所述扩充地址数据各自对应的特征数据分别输入至所述预测模型中,以使得所述预测模型输出各所述扩充地址数据各自对应的预测地址类型;

根据各所述扩充地址数据各自对应的预测地址类型以及各所述扩充地址数据各自对应的扩充地址类型,确定损失函数值;

根据所述损失函数值,对所述预测模型的参数进行调整。

在一种可能的设计中,所述根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据之前,所述方法还包括:

对所述第一地址数据对应的第一地址类型进行校验,得到校验结果。

在一种可能的设计中,所述对所述第一地址数据对应的第一地址类型进行校验,得到校验结果,包括:

根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到所述第一地址类型对应的多个扩充地址数据;

根据各所述扩充地址数据分别进行特征提取处理,得到各所述扩充地址数据各自对应的特征数据;

将各所述扩充地址数据各自对应的特征数据分别输入至所述预测模型中,以使得所述预测模型输出各所述扩充地址数据各自对应的预测扩充地址类型;

根据各所述扩充地址数据各自对应的预测扩充地址类型,对所述第一地址数据对应的第一地址类型进行校验,得到校验结果。

在一种可能的设计中,所述根据各所述扩充地址数据各自对应的预测扩充地址类型,对所述第一地址数据对应的第一地址类型进行校验,得到校验结果,包括:

在各所述扩充地址数据各自对应的预测扩充地址类型中,确定出现次数最多的目标地址类型;

判断所述第一地址类型和所述目标地址类型是否相同;

若相同,则确定所述校验结果为校验通过,将所述第一地址数据对应的多个扩充地址数据以及所述多个扩充数据各自对应的特征数据保存下来;

若不相同,则确定所述校验结果为校验不通过,将所述第一地址数据、所述第一地址数据对应的多个扩充地址数据以及所述多个扩充数据各自对应的特征数据丢弃。

在一种可能的设计中,所述将无标签的第一地址数据作为预测模型的输入,以使所述预测模型输出所述第一地址数据对应的第一地址类型之前,所述方法还包括:

构建预测模型;

获取至少一个训练样本,各所述训练样本中包括训练地址数据以及所述训练地址数据对应的训练地址类型;

根据所述至少一个训练样本进行扩充处理,得到多个扩充样本,各所述扩充样本中包括样本地址数据以及所述样本地址数据对应的样本地址类型;

根据所述至少一个训练样本和所述多个扩充样本对所述预测模型进行训练,得到训练后的预测模型。

第二方面,本申请实施例提供一种地址类型识别装置,包括:

预测模块,用于将无标签的第一地址数据作为预测模型的输入,以使所述预测模型输出所述第一地址数据对应的第一地址类型;

扩充模块,用于根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各所述扩充地址数据分别对应各自的扩充地址类型;

训练模块,用于根据所述多个扩充地址数据对所述预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型,其中,所述目标模型用于输出地址数据对应的地址类型。

在一种可能的设计中,每轮训练包括如下步骤:

根据所述多个扩充地址数据分别进行特征提取处理,得到各所述扩充地址数据各自对应的特征数据;

根据各所述扩充地址数据各自对应的特征数据对所述预测模型进行训练。

在一种可能的设计中,所述训练模块具体用于:

将各所述扩充地址数据各自对应的特征数据分别输入至所述预测模型中,以使得所述预测模型输出各所述扩充地址数据各自对应的预测地址类型;

根据各所述扩充地址数据各自对应的预测地址类型以及各所述扩充地址数据各自对应的扩充地址类型,确定损失函数值;

根据所述损失函数值,对所述预测模型的参数进行调整。

所述装置还包括校验模块;

在一种可能的设计中,所述校验模块具体用于:

对所述第一地址数据对应的第一地址类型进行校验,得到校验结果。

在一种可能的设计中,所述校验模块具体用于:

根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到所述第一地址类型对应的多个扩充地址数据;

根据各所述扩充地址数据分别进行特征提取处理,得到各所述扩充地址数据各自对应的特征数据;

将各所述扩充地址数据各自对应的特征数据分别输入至所述预测模型中,以使得所述预测模型输出各所述扩充地址数据各自对应的预测扩充地址类型;

根据各所述扩充地址数据各自对应的预测扩充地址类型,对所述第一地址数据对应的第一地址类型进行校验,得到校验结果。

在一种可能的设计中,所述校验模块具体用于:

在各所述扩充地址数据各自对应的预测扩充地址类型中,确定出现次数最多的目标地址类型;

判断所述第一地址类型和所述目标地址类型是否相同;

若相同,则确定所述校验结果为校验通过;

若不相同,则确定所述校验结果为校验不通过;

若相同,则确定所述校验结果为校验通过,将所述第一地址数据对应的多个扩充地址数据以及所述多个扩充数据各自对应的特征数据保存下来;

若不相同,则确定所述校验结果为校验不通过,将所述第一地址数据、所述第一地址数据对应的多个扩充地址数据以及所述多个扩充数据各自对应的特征数据丢弃。

在一种可能的设计中,所述训练模块还用于:

构建预测模型;

获取至少一个训练样本,各所述训练样本中包括训练地址数据以及所述训练地址数据对应的训练地址类型;

根据所述至少一个训练样本进行扩充处理,得到多个扩充样本,各所述扩充样本中包括样本地址数据以及所述样本地址数据对应的样本地址类型;

根据所述至少一个训练样本和所述多个扩充样本对所述预测模型进行训练,得到训练后的预测模型。

第三方面,本申请实施例提供一种地址类型识别设备,包括:

存储器,用于存储程序;

处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。

第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。

本申请实施例提供一种地址类型识别方法及装置,该方法包括:将无标签的第一地址数据作为预测模型的输入,以使预测模型输出第一地址数据对应的第一地址类型。根据第一地址数据以及第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各扩充地址数据分别对应各自的扩充地址类型。根据多个扩充地址数据对预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型,其中,目标模型用于输出地址数据对应的地址类型。通过对获得地址类型的第一地址数据进行扩充处理,得到多个扩充地址数据,这扩大了标签地址数据的数据量。同时,根据多个扩充地址数据对进预测模型进行多轮训练,提高了预测模型的预测准确率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的矿池为矿工分发奖励的分发模式一的示意图;

图2为本申请提供的矿池为矿工分发奖励的分发模式二的示意图;

图3为本申请实施例提供的地址类型识别方法的流程图一;

图4为本申请实施例提供的对第一地址数据进行扩充处理的过程示意图一;

图5为本申请实施例提供的对第一地址数据进行扩充处理的过程示意图二;

图6为为本申请实施例提供的地址类型识别方法的流程图二;

图7为本申请实施例三提供的地址类型预测模型的模型训练的流程示意图;

图8为本申请实施例提供的地址类型识别方法的流程图三;

图9为本申请实施例提供的校验处理的流程图;

图10为本申请实施例提供的地址类型识别装置的结构示意图;

图11为本申请实施例提供的地址类型识别设备的硬件结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解本申请的技术方案,首先结合图1、图2对本申请所涉及的相关概念进行介绍,图1为本申请提供的矿池为矿工分发奖励的分发模式一的示意图,图2为本申请提供的矿池为矿工分发奖励的分发模式二的示意图:

随着区块链技术及数字货币的不断发展,比特币(Bitcoin,BTC)作为首个应用区块链技术的数字货币。比特币是一种点到点形式的虚拟加密数字货币,具有匿名性和去中心化的特点。比特币经济使用整个点到点网络中众多节点构成的分布式数据库来确认并记录所有的交易模式,并使用密码学的设计来确保货币流通各个环节安全性。其中,交易模式用于指示比特币持有者进行比特币转移或支付的行为。在比特币经济中,一种很形象的比喻比特币被称为“矿”,产生的过程称为“挖矿”,挖矿的人称为“矿工”。其中矿工用于指示运用挖矿设备(比特币矿机)参与挖比特币的人。

基于去中心化的特点,与所有的货币不同,比特币的不依靠特定货币机构发行,它根据特定算法,通过大量的计算产生。为了保证比特币在没有发行主体的情况下顺利发行,比特币的创始人为比特币的发行设计了奖励机制。奖励机制的原理例如可以如下:若每10分钟需要矿工对比特币交易记账一次,记录比特币交易中的转账详情。每完成一次记账,系统都会给完成该笔记账的矿工相应的比特币奖励。比特币系统中,为了保障参与挖矿的每个矿工拿到记账权的公平性,要求每一次记账前,所有参与竞争记账权的矿工,先解答出系统给的一道难题,最先找到正确答案的矿工则获得了本次交易的记账权及相应的比特币奖励。其中,比特币奖励包括系统出块的奖励和转账用户的手续费奖励。

随着挖矿人数的迅速增长,挖矿难度不断呈指数级别上涨,挖矿成功对于个体矿工来说已经成了极小概率事件。这促使“矿池”概念的出现,矿池旨在汇集数以千计矿工的算力进行协同挖矿,提高挖矿成功的概率,然后根据每个矿工的贡献比例分享比特币奖励。矿池的工作原理为:矿池通过专用挖矿协议连接成百上千的矿工,矿工设置矿机的挖矿软件连接到矿池指定的域名和端口。矿机在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作,这样矿池中的矿工拿到不同的挖矿任务,之后分享奖励。挖矿成功的奖励直接支付到矿池地址,而不是单个矿工的。矿池每天按矿工的贡献支付奖励到矿工地址。根据遵循交易模式的不同,矿池给各矿工分发挖矿奖励的分发模式也有所不同,例如可以为分发模式一、分发模式二。接下来,将详细对此两种分发模式进行介绍。

分发模式一用于指示矿池的操作人员首先将通过矿池挖到的比特币汇聚到一个地址,通过剥离链(Peeling Chain)的交易模式将奖励分发给参与矿池挖矿的矿工,其中,Peeling Chain的交易模式在矿池给矿工分配奖励的具体模式为,通过一个地址同时给多个地址转账,其中,输入地址为矿池地址,多个输出地址中包含一个矿池地址,且其他地址均为矿工地址。需要说明的是,转账金额中的大部分金额都转到输出端矿池地址中,剩余的一小部分金额分按照矿工算力贡献给矿工地址。

如图1所示,若矿池通过两笔不同的交易各成功挖出30BTC、20BTC,首先将这两笔交易收获的比特币汇集到一矿池地址中,即该矿池地址现共有50BTC。该汇集矿池将所有的比特币再分成矿池地址及多个矿工地址,例如矿池地址共有49BTC,其他1BTC根据挖矿贡献分给其他矿工。之后经过一笔交易,矿池地址又会再次被分成矿池地址及多个矿工地址,例如分发后的矿工地址有45BTC,其他4BTC根据挖矿贡献分给其他矿工。图一中分发模式一的后续挖矿奖励分配方法与介绍的类似,以此类推即可得出。

分发模式二用于指示在挖矿交易中,比特币奖励直接分发至矿池地址及多个矿工地址。其中,以Peeling Chain的模式将比特币奖励给矿工。如图2所示,若矿池通过交易成功挖出12.5BTC,直接分发到一个矿池地址及多个矿工地址中,即分发后矿池地址得到11BTC,其中其他1.5BTC根据挖矿贡献分给其他矿工。

另外,基于密码学的设计,比特币地址是用户参与服务的唯一身份标识,即比特币只能被真实的持有者通过比特币地址进行交易。但是由于比特币本身具有匿名性特点,在保障用户隐私的同时,也为诸如洗钱等非法活动提供了便利且监管部门难以对非法活动进行追踪和监管。作为判别比特币地址安全性的重要手段,比特币地址类型能够反映用户交易的特点及安全性。其中,比特币地址类型是根据比特币的交易模式所确定的,例如包括普通用户、市场、博彩、恶意、矿池、矿工等地址类型。

因此,选择合适的比特币地址类型识别方法对于确定比特币地址类型的准确率则显得至关重要。目前,在比特币地址类型识别的现有技术中,通常直接地址的交易历史记录中提取统计特征,利用机器学习预测模型来预测地址类型。

然而,现有技术中由于只能得到少量的有标签地址数据,并根据少量的有标签地址数据对于预测模型进行训练,导致预测模型的预测准确率较低。

基于上述存在的问题,本申请提出了如下的技术构思:考虑到预测模型的准确率主要依赖于大量的标签地址数据。通过对各现有标签地址数据的交易模式进行分析,可以得到各现有标签地址数据各自对应的多个标签地址数据,以此实现增加标签地址数据的数量,从而根据足够数量的标签地址数据训练得到准确率较高、泛化能力较大的预测模型。同时,为了检验预测模型的准确性,通过对预测结果进行校验,以此来确保预测结果的正确性。另外,根据预测模型预测得到无标签地址数据对应的预测地址类型且校验结果,将校验结果为校验通过的无标签地址数据及其对应的预测地址类型进一步用于增强预测模型的训练,以不断提高预测模型的性能。

基于上述介绍的技术构思,下面结合图3至图5和具体的实施例对本申请所提供的地址类型识别方法进行详细介绍,值得说明的是,本申请各实施例的执行主体为处理器和微处理器等具有数据处理功能的设备,本实施例对此执行主体的具体实现不做限定,只要其可以进行数据处理即可,图3为本申请实施例提供的地址类型识别方法的流程图一,图4为本申请实施例提供的对第一地址数据进行扩充处理的过程示意图一,图5为本申请实施例提供的对第一地址数据进行扩充处理的过程示意图二。

如图3所示,该方法包括:

S301、将无标签的第一地址数据作为预测模型的输入,以使预测模型输出第一地址数据对应的第一地址类型。

在本实施例中,第一地址数据用于指示比特币地址数据,包括地址信息和地址类型组成。其中,地址信息用于指示表示比特币地址的字符串,地址类型用于指示比特币地址信息对应的地址类型,例如可以为普通用户、市场用户、博彩、恶意、矿池、矿工等。

无标签地址数据用于指示在该地址数据中未明确该地址数据对应的地址类型,可以理解的是,有标签地址数据用于指示在该地址数据中已明确该地址数据对应的地址类型。

预测模型用于指示根据地址数据,预测该地址数据对应的地址类型的机器学习模型。其中,机器学习模型例如可以为任意一种分类器。

将无标签的第一地址数据作为预测模型的输入,以使预测模型输出第一地址数据对应的第一地址类型。

在本实施中,只是对预测模型的具体实现进行示例性的介绍,并不是对对预测模型的具体实现做以限制,对预测模型的具体实现可以根据实际需求进行选择与设置。

S302、根据第一地址数据以及第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各扩充地址数据分别对应各自的扩充地址类型。

基于上述步骤S301,通过预测模型预测出无标签第一地址数据对应的地址类型,接下来根据该第一地址数据以及第一地址数据对应的第一地址类型,得进行处理,得到多个与第一地址数据同地址类型的地址数据,这扩大了标签地址数据的数据量。

在本实施例中,扩充处理用于通过给定第一地址数据以及第一地址数据对应的地址类别,分析第一地址数据的历史交易模式,从而派生出多个扩充地址数据。其中,通过通用式扩充方法,该多个扩充地址数据与第一地址数据具有相同地址类型。需要强调说明的是,不同第一地址数据经过扩充处理后得到的扩充地址数据的数量可以相同,也可以不同。例如,地址类型为H的第一地址数据1的经过扩充处理后得到M个扩充地址数据,且M个扩充地址数据的地址类型均为地址类型H。地址类型为I的第一地址数据2的经过扩充处理后得到N个扩充地址数据,且N个扩充地址数据的地址类型均为地址类型I,如图4、图5所示。其中,M和N均为大于或等于0的正整数。应用矿池派生矿工方法时,给定的第一地址数据应为矿池地址,扩充出来的地址应为矿工地址类型。应用普通用户扩充方法,给定的第一地址数据应为博彩,商户,恶意行为等类型的地址,多个扩充地址数据应为普通用户类型的地址数据。

根据第一地址数据以及第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各扩充地址数据分别对应各自的扩充地址类型。

S303、根据多个扩充地址数据对预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型,其中,目标模型用于输出地址数据对应的地址类型。

基于上述步骤302得到多个扩充地址数据后,为了提高预测模型的预测准确率,接下来根据多个扩充地址数据对预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型。其中,目标模型用于输出地址数据对应的地址类型。

需要强调说明的是,根据各扩充地址数据以及各扩充地址数据各自对应的地址类型依次对预测模型进行训练,得到输出准确率大于或等于预设准确率的目标模型,即完成多轮迭代训练。

本申请实施例提供的地址类型识别方法,包括:将无标签的第一地址数据作为预测模型的输入,以使预测模型输出第一地址数据对应的第一地址类型。根据第一地址数据以及第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各扩充地址数据分别对应各自的扩充地址类型。根据多个扩充地址数据对预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型,其中,目标模型用于输出地址数据对应的地址类型。通过对获得地址类型的第一地址数据进行扩充处理,得到多个扩充地址数据,这扩大了标签地址数据的数据量。同时,根据多个扩充地址数据对进预测模型进行多轮训练,提高了地址类型预测模型的预测准确率。

在上述实施例的基础上,下面结合一个具体的实施例对本申请提供的地址类型识别方法进行进一步的介绍,结合图6进行介绍,图6为本申请实施例提供的地址类型识别方法的流程图二。

如图6所示,该方法包括:

S601、将无标签的第一地址数据作为预测模型的输入,以使预测模型输出第一地址数据对应的第一地址类型。

其中,S601与S301的具体实现方式类似,此处不再赘述。

需要强调说明的是,获得第一地址数据对应的第一地址类型后,根据第一地址数据及其对应的第一地址类型对预测模型进行训练,可进一步提高预测模型的预测准确率。然而,为了避免因第一地址数据在使用预测模型输出的第一地址类型出错,进而对预测模型产生负面影响,因此在根据第一地址数据对应的第一地址类型对预测模型进行训练之前,首先对第一地址数据对应的第一地址类型进行校验处理。其中,校验处理用于检验第一地址数据对应的第一地址类型的正确性。

S602、根据第一地址数据以及第一地址数据对应的第一地址类型进行扩充处理,得到第一地址类型对应的多个扩充地址数据。

在一种可能的实现方式中,校验处理的第一步为根据第一地址数据以及第一地址数据对应的第一地址类型进行扩充处理。

根据特定的交易模式推演出特定地址数据的地址类型,达到地址数据的扩充的目的。在本实施中,针对不同的地址类型的地址数据,进行地址数据扩充处理的方法包括三种,分别是通用式扩充方法、矿池派生矿工方法、普通用户扩充方法。接下来,对这三种扩充处理方法进行详细的解释:

通用式扩充方法,适用于任何地址类型的地址数据进行地址扩充处理。其实现地址扩充的原理为:对于多输入交易来说,根据各个输入端地址数据对应的交易金额来实现地址的扩充。其中,多输入交易用于指示针对同一笔交易,有多个地址数据作为该笔交易的输入端进行比特币交易。通用式扩充方法具体的实现方法,例如可以对一笔多输入交易的输入端地址数据对应的交易金额相近的两个或多个地址数据可被标为同一类型。根据已有标签的地址类型,可以遍历该地址所有的输入交易,在每一笔多输入交易中找出与已知标签地址同类的地址,即实现从一个已知标签的地址拖冲更多同类型地址,该方法对于任意类型的地址均可应用。

矿池派生矿工方法:根据矿池给矿工分发比特币奖励的两种分发模式,可以得到对应的矿池地址以及多个矿工地址,即实现了对多个地址的标签化。

普通用户扩充方法:通过现有的标签地址数据,可以推断普通用户地址。具体的,例如可以根据已收集的博彩、商户、恶意行为等性质的地址数据中找到所有已知地址位于输出端的交易,如果交易满足一个输入模式、两个及两个及以下的输出模式,则确定这些交易的输入端的无标签地址数据的地址类型为普通用户。

需要强调说明的是,以上三种扩充处理方法可以根据地址数据的类型进行组合使用。

在本实施例中,只是对扩充处理的具体实现方法进行示例性的介绍,并不是对扩充处理的具体实现方法做以限制,对扩充处理的的具体实现方法只要满足根据特定的交易模式,推演出特定的地址类型,从而完成地址数据的扩充即可。

根据第一地址数据以及第一地址数据对应的第一地址类型,选择合适的扩充处理方法进行扩充处理,扩充处理完成后得到第一地址类型对应的多个扩充地址数据。

S603、根据各扩充地址数据分别进行特征提取处理,得到各扩充地址数据各自对应的特征数据。

在本实施例中,地址数据的特征例如可以包括本地特征和交易特征。其中,本地特征用于指示地址数据本身具有交易相关的特征,例如余额数量、交易数量、交易频率及活跃时间等。交易特征用于指示地址数据参与的交易具有的属性,例如交易手续费、交易输入数量、交易输出数量及总金额等。

在一种可能的实现方式中,可以利用区块链解析器编写特征提取工具,使用该特征提取工具来提取地址数据的本地特征和交易特征。

在本实施例中,只是对特征提取处理的具体实现方式进行示例性的介绍,并不是对特征提取处理的具体实现方式做以限制,对特征提取处理的具体实现方式可以根据需求选择及采用现有的特征提取方法,只要能够完成对地址数据特征的提取即可。基于步骤S602得到第一地址类型对应的多个扩充地址数据,选择合适的特征处理方法,根据各扩充地址数据分别进行特征提取处理,得到各扩充地址数据各自对应的特征数据。

S604、将各扩充地址数据各自对应的特征数据分别输入至预测模型中,以使得预测模型输出各扩充地址数据各自对应的扩充地址类型。

在本实施例中,将各扩充地址数据各自对应的特征数据分别输入至预测模型中,以使得预测模型为各扩充地址数据输出各自对应的预测地址类型。其中,该各扩充地址数据各自对应的预测地址类型,即为各扩充地址数据各自对应的扩充地址类型。

S605、在各扩充地址数据各自对应的扩充地址类型中,确定出现次数最多的目标地址类型。

为了对第一地址数据的所有扩充地址对应的扩充地址类型进行主地址类型分析,在各扩充地址数据各自对应的扩充地址类型中确定主要的地址类型作为目标地址类型。

在一种可能的方式中,在各扩充地址数据各自对应的扩充地址类型中,确定出现次数最多的目标地址类型。

在本实施例中,只是对确定目标地址类型的具体实现方法进行示例性的介绍,并不是对确定目标地址类型的具体实现方法做以限制,对确定目标地址类型的具体实现方法可以根据实际需求进行选择,只要能够将所有扩充地址对应的扩充地址类型中主要的地址类型作为目标地址类型即可。

S606、判断第一地址类型和目标地址类型是否相同,若相同,则执行S607,若不相同,则执行S608。

具体的,通过判断第一地址类型和目标地址类型是否相同,确定第一地址数据对应的第一地址类型的校验结果。若第一地址类型和目标地址类型相同,则执行S607。若第一地址类型和目标地址类型不相同,则执行S608。

S607、确定校验结果为校验通过,将第一地址数据对应的多个扩充地址数据以及多个扩充数据各自对应的特征数据保存下来。

在本实施例中,当第一地址类型和目标地址类型相同时,则确定校验结果为校验通过,即第一地址数据对应的第一地址类型正确,则将第一地址数据对应的多个扩充地址数据以及多个扩充数据各自对应的特征数据保存下来,以便后续作为训练样本用于训练预测模型以提高预测模型的预测准确率。

S608、确定校验结果为校验不通过,将第一地址数据、第一地址数据对应的多个扩充地址数据以及多个扩充数据各自对应的特征数据丢弃。

在本实施例中,当第一地址类型和目标地址类型不相同时,则确定校验结果为不校验通过,即第一地址数据对应的第一地址类型不正确。为了避免该校验不通过对应的第一地址数据对预测模型产生负面影响,因此将第一地址数据、第一地址数据对应的多个扩充地址数据以及多个扩充数据各自对应的特征数据丢弃。

S609、将各扩充地址数据各自对应的特征数据分别输入至预测模型中,以使得预测模型输出各扩充地址数据各自对应的预测地址类型。

基于校验通过的基础上,将校验通过保存下来的多个扩充数据各自对应的特征数据作为训练样本用于训练预测模型,以提高预测模型的预测准确率。

在本实施例中,将各扩充地址数据各自对应的特征数据分别输入至预测模型中,预测模型输出各扩充地址数据各自对应的预测地址类型。

S610、根据各扩充地址数据各自对应的预测地址类型以及各扩充地址数据各自对应的扩充地址类型,确定损失函数值。

S611、根据损失函数值,对预测模型的参数进行调整。

接下来,对步骤S610及步骤S611一起进行介绍。

基于S609将各扩充地址数据各自对应的特征数据分别输入至预测模型后,得到预测模型输出各扩充地址数据各自对应的预测地址类型。将各扩充地址数据各自对应的预测地址类型以及各扩充地址数据各自对应的扩充地址类型进行对应,确定损失函数值,并根据损失函数值调整预测模型的参数。其中,损失函数用于调整预测模型的模型参数,以使预测模型的预测准确度得到提高。

在本实施例中,只是对根据各扩充地址数据各自对应的预测地址类型以及各扩充地址数据各自对应的扩充地址类型训练预测模型的具体实现方式进行示例性的介绍,并不是对根据各扩充地址数据各自对应的预测地址类型以及各扩充地址数据各自对应的扩充地址类型训练预测模型的具体实现方式做以限制,对根据各扩充地址数据各自对应的预测地址类型以及各扩充地址数据各自对应的扩充地址类型训练预测模型的具体实现方式可以根据实际需求选择现有的模型练训方式进行模型训练。

S612、根据多个扩充地址数据对预测模型进行训练。

在本实施例中,为进一步提高预测模型的预测准确率,将第一地址数据各自对应的多个扩充地址数据作为训练样本对预测模型进行训练。

S613、判断预测模型的输出准确率大于或等于预设准确率,以及是否超出预设迭代轮次,若是,则执行S614,若否,则执行S602。

在本实施例中,根据多个扩充地址数据对预测模型进行训练,得到预测模型的输出准确率。根据预测模型的输出准确率,来确定是否还需对预测模型继续训练。

在一种可能的实现方式中,当预测模型的输出准确率大于或等于预设准确率或者迭代轮次大于预设值时,执行步骤S614。当预测模型的输出准确率小于预设准确率时,根据多个扩充地址数据对预测模型进行多次迭代,直至预测模型的输出准确率大于或等于预设准确率。具体的,分别将各个扩充地址数据作为第一地址数据,重复执行步骤S602至步骤S613。

S614、获得目标模型,其中,目标模型用于输出地址数据对应的地址类型。

在本实施例中,当预测模型的输出准确率大于或等于预设准确率时,则表明获得目标模型。其中,目标模型用于输出地址数据对应的地址类型。

本申请实施例提供的地址类型识别方法,根据第一地址数据及第一地址类型,对预测模型输出的第一地址类型进行校验处理,确保预测地址类型的准确性。同时,根据在对第一地址数据进行校验处理过程中得到的第一地址数据对应多个扩充地址数据,对预测模型进行多次迭代训练,直至得到目标模型,这极大的提高了预测模型的预测准确率。

在上述实施例的基础上,预测模型在进行应用之前,需要首先对预测模型进行训练,下面结合图7对本申请的模型训练的实现过程进行介绍,图7为本申请实施例三提供的地址类型预测模型的模型训练的流程示意图。

S701、构建预测模型。

在一种可能的实现方式中,以轻量级梯度提升机(Light Gradient BoostingMachine,LightGBM)模型为基础模型来构建地址类型预测模型,其中,LightGBM是一款基于决策树算法的分布式梯度提升框架。

S702、获取至少一个训练样本,各训练样本中包括训练地址数据以及训练地址数据对应的训练地址类型。

在本实施例种,通过利用现有数据采集方法,获取至少一个训练样本。其中,各训练样本中包括训练地址数据以及训练地址数据对应的训练地址类型。

S703、根据至少一个训练样本进行扩充处理,得到多个扩充样本,各扩充样本中包括样本地址数据以及样本地址数据对应的样本地址类型。

需要强调说明的一点是,S703与S602中扩充处理的具体实现方法类似,此处不再赘述。

在一种可能的实现方式中,根据至少一个训练样本进行扩充处理,得到多个扩充样本,各扩充样本中包括样本地址数据以及样本地址数据对应的样本地址类型。

S704、根据至少一个训练样本和多个扩充样本对预测模型进行训练,得到训练后的预测模型。

基于上述步骤S703得到各训练样本及各自对应的多个扩充地址数据后,接下来,根据至少一个训练样本和多个扩充样本对预测模型进行训练,得到训练后的预测模型。

在本申请实施例提供一种地址类型识别方法,该方法包括:构建预测模型。获取至少一个训练样本,各训练样本中包括训练地址数据以及训练地址数据对应的训练地址类型。根据至少一个训练样本进行扩充处理,得到多个扩充样本,各扩充样本中包括样本地址数据以及样本地址数据对应的样本地址类型。根据至少一个训练样本和多个扩充样本对预测模型进行训练,得到训练后的预测模型。

下面结合图8、图9对本申请提供的地址类型识别方法进行系统的介绍,图8为本申请实施例提供的地址类型识别方法的流程图三,图9为本申请实施例提供的校验处理的流程图。

首先,通过数据采集方法采集到多个有标签地址数据。其中,数据采集方法例如可以包括通过编写爬虫工具,在相关论坛等公开信息中爬取有标签的地址数据,或者,还可以在以往研究中公开的标签数据集中获取有标签地址数据。本实施例中,只是对采用的数据采集方法进行示例性的介绍,并不是对采用的数据采集方法做以限制,对于采用的数据采集方法可以根据实际需求选择。

如图8所示,获得多个有标签地址数据后,分别对各个有标签地址数据进行扩充处理,以得到多个扩充地址数据。接下来,分别对多个有标签地址数据和各自对应的多个扩充地址数据进行特征提取处理,以得到各个地址数据对应的特征数据。将所有的地址数据作为机器学习模型的输入,对机器学习模型进行训练,以得到能够预测地址类型的预测模型。其中,机器学习模型例如可以为LightGBM模型。

获得预测模型后,根据用户需求选取无标签地址数据使用该预测模型对无标签地址数据进行地址类型预测。需要强调说明的是,无标签地址数据为实施例提到的无标签第一地址数据。具体的,如图8所示,对无标签第一地址数据进行特征提取处理,以获得该无标签第一地址数据对应的特征数据。接下来,将无标签第一地址数据对应的特征数据输入到预测模型中,以使预测模型输出无标签第一地址数据对应的预测地址类型,即无标签地址数据获得预测地址类型后就转变为有标签第一地址数据。通过预测模型将无标签第一地址数据转变为有标签第一地址数据,使得有标签地址数据的数据量得到增加。

为了进一步提高预测模型的预测准确率,根据新增有标签地址数据对预测模型进行再训练。需要强调说明的一点是,为了避免因无标签第一地址数据在使用预测模型输出的预测地址类型出错,进而对预测模型产生负面影响,因此在根据有标签第一地址数据对预测模型进行训练之前,首先对有标签第一地址数据进行校验处理,即根据第一地址数据及第一地址数据对应的预测地址类型,进行校验处理,以校验第一地址数据对应的预测地址类型的正确性。具体的,如图8所示,根据第一地址数据及第一地址数据对应的预测地址类型依次进行扩充处理、校验处理、特征提取处理以及对预测模型进行训练,以得到输出准确率大于或等于预设准确率的目标模型。其中,扩充处理、校验处理、特征提取处理以及对预测模型进行训练的具体实现方法可以参照上述实施例中的介绍,此处不再赘述。

另外,结合图9对校验处理的具体实现过程进行强调说明。如图9所示,首先,根据第一地址数据及第一地址数据对应的预测地址类型进行扩充处理,得到第一地址数据对应的多个扩充地址数据。接下来,分别对多个扩充地址数据进行特征提取处理,以得到各扩充地址数据对应的特征数据。将各扩充地址数据对应的特征数据分别输入预测模型,得到各扩充地址数据对应的预测地址类型,即各扩充地址数据对应的预测地址类型组成预测地址类型集合。接下来,对预测地址类型集合进行主地址类型分析,确定出目标地址类型。具体的,在各扩充地址数据各自对应的扩充地址类型中,将次数出现最多的目标地址类型确定为目标地址类型。通过判断预测地址类型与目标地址类型是否相同,来确定校验结果。若预测地址类型与目标地址类型相同,则确定校验通过,则将第一地址数据及第一地址类型对应的多个扩充地址数据及其特征保存下来,且用于后续预测模型的再训练。若预测地址类型与目标地址类型不相同,则确定校验不通过,且丢弃该第一地址数据。此时,校验处理完成。

图10为本申请实施例提供的地址类型识别装置的结构示意图。如图10所示,该装置100包括:预测模块1001、扩充模块1002以及训练模块1003。

预测模块1001,用于将无标签的第一地址数据作为预测模型的输入,以使所述预测模型输出所述第一地址数据对应的第一地址类型;

扩充模块1002,用于根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到多个扩充地址数据,各所述扩充地址数据分别对应各自的扩充地址类型;

训练模块1003,用于根据所述多个扩充地址数据对所述预测模型进行多轮迭代训练,直至得到输出准确率大于或等于预设准确率的目标模型,其中,所述目标模型用于输出地址数据对应的地址类型。

在一种可能的设计中,每轮训练包括如下步骤:

根据所述多个扩充地址数据分别进行特征提取处理,得到各所述扩充地址数据各自对应的特征数据;

根据各所述扩充地址数据各自对应的特征数据对所述预测模型进行训练。

在一种可能的设计中,所述训练模块1003具体用于:

将各所述扩充地址数据各自对应的特征数据分别输入至所述预测模型中,以使得所述预测模型输出各所述扩充地址数据各自对应的预测地址类型;

根据各所述扩充地址数据各自对应的预测地址类型以及各所述扩充地址数据各自对应的扩充地址类型,确定损失函数值;

根据所述损失函数值,对所述预测模型的参数进行调整。

所述装置还包括校验模块1004;

在一种可能的设计中,所述校验模块1004具体用于:

对所述第一地址数据对应的第一地址类型进行校验,得到校验结果。

在一种可能的设计中,所述校验模块1004具体用于:

根据所述第一地址数据以及所述第一地址数据对应的第一地址类型进行扩充处理,得到所述第一地址类型对应的多个扩充地址数据;

根据各所述扩充地址数据分别进行特征提取处理,得到各所述扩充地址数据各自对应的特征数据;

将各所述扩充地址数据各自对应的特征数据分别输入至所述预测模型中,以使得所述预测模型输出各所述扩充地址数据各自对应的预测扩充地址类型;

根据各所述扩充地址数据各自对应的预测扩充地址类型,对所述第一地址数据对应的第一地址类型进行校验,得到校验结果。

在一种可能的设计中,所述校验模块1004具体用于:

在各所述扩充地址数据各自对应的预测扩充地址类型中,确定出现次数最多的目标地址类型;

判断所述第一地址类型和所述目标地址类型是否相同;

若相同,则确定所述校验结果为校验通过,将所述第一地址数据对应的多个扩充地址数据以及所述多个扩充数据各自对应的特征数据保存下来;

若不相同,则确定所述校验结果为校验不通过,将所述第一地址数据、所述第一地址数据对应的多个扩充地址数据以及所述多个扩充数据各自对应的特征数据丢弃。

在一种可能的设计中,所述训练模块1003还用于:

构建预测模型;

获取至少一个训练样本,各所述训练样本中包括训练地址数据以及所述训练地址数据对应的训练地址类型;

根据所述至少一个训练样本进行扩充处理,得到多个扩充样本,各所述扩充样本中包括样本地址数据以及所述样本地址数据对应的样本地址类型;

根据所述至少一个训练样本和所述多个扩充样本对所述预测模型进行训练,得到训练后的预测模型。

本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

图11为本申请实施例提供的地址类型识别设备的硬件结构示意图,如图11所示,本实施例的地址类型识别设备110包括:处理器1101以及存储器1102;其中

存储器1102,用于存储计算机执行指令;

处理器1101,用于执行存储器存储的计算机执行指令,以实现上述实施例中地址类型识别方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。

可选地,存储器1102既可以是独立的,也可以跟处理器1101集成在一起。

当存储器1102独立设置时,该地址类型识别设备还包括总线1103,用于连接所述存储器1102和处理器1101。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上地址类型识别设备所执行的地址类型识别方法。

本申请实施例还提供一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 地址类型识别方法及装置
  • 路由器地址类型的识别方法及装置
技术分类

06120113135088