基于区块链的软件授权方法及软件授权系统与流程

文档序号:29975052发布日期:2022-05-11 12:00阅读:226来源:国知局
基于区块链的软件授权方法及软件授权系统与流程

1.本技术涉及区块链技术领域,具体而言,涉及一种基于区块链的软件授权方法及软件授权系统。


背景技术:

2.随着移动互联网络技术以及计算机软件技术的快速发展,各种各样的网络软件如雨后春笋般在网络中产生,例如网络游戏软件、视频软件、音乐软件、社交软件等等。这些软件在给人们的日常生活和工作带了便利以及乐趣的同时,也会产生一些不利的隐患。例如,绝大部分的软件没有一套智能的用户管控及使用权限授权机制,针对一些不适于未成年使用或不适于未成年长时间使用的软件而言,无法做到精准的授权管控,现有的方式大多依赖于家长的认为控制。


技术实现要素:

3.为了克服现有技术中的上述不足,本技术的目的在于提供一种基于区块链的软件授权方法,应用于包括样本库节点、标注节点、验证节点以及应用节点的软件授权系统,所述方法包括:所述样本库节点根据待标注样本的样本索引、标注要求及验证算法,生成样本发布信息发布至所述软件授权系统;所述标注节点根据所述样本发布信息获取待标注样本,并根据所述标注要求为所述待标注样本添加标注,获得与所述样本索引对应的第一标注结果信息并发布至所述软件授权系统;所述验证节点根据多个所述标注节点发布的第一标注结果信息进行统计验证,获得与所述样本索引对应的通过验证的第二标注结果信息并发布至所述软件授权系统;所述样本库节点从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,为样本库中的与所述样本索引对应的待标注样本添加与所述第二标注结果信息相对应的标签获得已标注样本;所述应用节点根据所述已标注样本对预设的ai模型进行训练,并使用训练后的ai模型对目标对象进行识别,获得所述目标对象的对象特征,并根据所述对象特征为所述目标对象针对目标软件的使用权限进行软件授权。
4.可选地,在一个例子中,所述标注节点根据所述样本发布信息获取待标注样本,并根据所述标注要求为所述待标注样本添加标注,获得与所述样本索引对应的第一标注结果信息并发布至所述软件授权系统的步骤,包括:所述标注节点获取所述样本发布信息,并根据所述样本索引从所述样本库节点获取相应的待标注样本;所述标注节点响应用户操作,获得用户根据所述标注要求为所述待标注样本添加
的第一样本标签;所述标注节点根据所述样本索引、所述第一样本标签及该标注节点的公钥生成第一标注结果信息,并对所述第一标注结果信息签名后发布至所述软件授权系统;所述验证节点根据多个所述标注节点发布的第一标注结果信息进行统计验证,获得与所述样本索引对应的通过验证的第二标注结果信息并发布至所述软件授权系统的步骤,包括:所述验证节点每间隔预设周期从所述软件授权系统获取各所述标注节点发布的所述第一标注结果信息;所述验证节点根据所述样本索引查找相应的样本发布信息,从所述样本发布信息中获取对应的所述验证算法;所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签;所述验证节点根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统。
5.可选地,在一个例子中,所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签的步骤之后,所述方法还包括:所述验证节点根据所述第二样本标签及各所述第一标注结果信息中的第一样本标签,确定与各所述标注节点提供的第一样本标签的标注准确度,并对各所述标注节点的公钥及对应的所述标注准确度的对应关系进行记录,获得与所述样本索引对应的标注准确度列表;所述验证节点根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统的步骤,包括:所述验证节点根据所述样本索引、所述第二样本标签及所述标注准确度列表,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统;所述样本库节点从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,为样本库中的与所述样本索引对应的待标注样本添加与所述第二标注结果信息相对应的标签获得已标注样本的步骤,包括:所述样本库节点从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,为样本库中的与所述样本索引对应的待标注样本添加与所述第二标注结果信息相对应的标签获得已标注样本,并记录与所述已标注样本对应的标注准确度列表;所述方法还包括:所述标注节点向所述样本库节点发送第一获取请求,所述第一获取请求包括所述标注节点的公钥;所述样本库节点根据所述第一获取请求中所述标注节点的公钥,查询各已标注样本对应的标注准确度列表,获得与该标注节点对应的正确标注贡献数量及标注贡献总数量;所述样本库节点根据所述正确标注贡献数量及所述标注贡献总数量确定所述标
注节点对应的标注正确率;所述样本库节点根据所述标注正确率确定与所述标注节点对应的第一提取倍率;所述样本库节点根据所述正确标注贡献数量及所述第一提取倍率,确定第一样本提取数量;所述样本库节点将所述标注节点的公钥作为随机种子,随机确定与所述第一样本提取数量相符的已标注样本,并通过所述标注节点的公钥加密后发送给所述标注节点。
6.可选地,在一个例子中,所述待标注样本为图像数据;所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签的步骤,包括:所述验证节点获取各所述第一标注结果信息中的所述第一样本标签,所述第一样本标签包括至少一个第一标签文本信息及第一内容框位置信息;所述验证节点对各所述第一样本标签中的第一标签文本信息进行统计,将出现次数满足所述验证算法中指示的次数条件的第一标签文本信息确定为通过验证的第二标签文本信息;所述验证节点从所述第一样本标签中筛选出所述第一标签文本信息与所述第二标签文本信息相同的第一样本标签,并根据所述验证算法中指示的回归算法对筛选出的各所述第一样本标签中的第一内容框位置信息进行回归处理,获得第二内容框位置信息;所述验证节点将所述第二标签文本信息及所述第二内容框位置信息确定为与所述样本索引对应的通过验证的第二样本标签。
7.可选地,在一个例子中,所述待标注样本为图像数据;所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签的步骤,包括:所述验证节点获取各所述第一标注结果信息中的所述第一样本标签,所述第一样本标签包括第一内容框位置信息;所述验证节点根据所述验证算法中指示的条件,对各所述第一样本标签中的第一内容框位置信息之间进行差异性筛选,剔除位置差异性大于预设阈值的第一内容框位置信息;所述验证节点根据所述验证算法中指示的回归算法对筛选后的各所述第一内容框位置信息进行回归处理,获得第二内容框位置信息;所述验证节点将所述第二内容框位置信息确定为与所述样本索引对应的通过验证的第二样本标签。
8.可选地,在一个例子中,所述待标注样本为语音音频数据;所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签的步骤,包括:所述验证节点获取各所述第一标注结果信息中的所述第一样本标签,所述第一样本标签包括与所述待标注样本中语音音频数据对应的音频特征标签;所述验证节点对各所述第一样本标签中的音频特征标签进行统计,将出现次最多音频特征标签确定为与所述样本索引对应的通过验证的第二样本标签。
9.可选地,在一个例子中,所述方法还包括:
所述验证节点向所述样本库节点发送第二获取请求,所述第二获取请求包括所述验证节点的公钥;所述样本库节点根据所述第二获取请求中所述验证节点的公钥,查询由该验证节点发布所述第二标注结果信息的数量作为第一验证贡献数量;所述样本库节点根据所述第二获取请求中所述验证节点的公钥,查询由该验证节点发布所述第二标注结果信息中,验证过的所述第一标注结果信息的数量作为第二验证贡献数量;所述样本库节点根据所述第二验证贡献数量确定与所述标注节点对应的第二提取倍率;所述样本库节点根据所述第一验证贡献数量及所述第二提取倍率,确定第二样本提取数量;所述样本库节点将所述验证节点的公钥作为随机种子,随机确定与所述第二样本提取数量相符的已标注样本,并通过所述验证节点的公钥加密后发送给所述验证节点。
10.可选地,在一个例子中,所述软件授权系统还包括样本提供节点;所述方法还包括:所述样本提供节点获得待标注样本,根据所述待标注样本及该样本提供节点的公钥生成样本提供信息发送给所述样本库节点;所述样本库节点获取并记录所述待标注样本与所述样本提供节点的公钥的对应关系;所述样本提供节点向所述样本库节点发送第三样本获取请求,所述第三样本获取请求包括所述样本提供节点的公钥;所述样本库节点根据所述第三样本获取请求中所述样本提供节点的公钥,查询由该样本提供节点提供待标注样本的数量作为样本提供总数量;所述样本库节点根据所述第三样本获取请求中所述样本提供节点的公钥,查询样本库中由所述样本提供节点提供的且具有有效所述第二样本标签的已标注样本的数量作为有效样本提供数量;所述样本库节点根据所述有效样本提供数量及所述样本提供总数量确定所述样本提供节点对应的有效样本提供率;所述样本库节点根据所述有效样本提供率确定与所述标注节点对应的第三提取倍率;所述样本库节点根据所述有效样本提供数量及所述第三提取倍率,确定第三样本提取数量;所述样本库节点将所述样本提供节点的公钥作为随机种子,随机确定与所述第三样本提取数量相符的已标注样本,并通过所述样本提供节点的公钥加密后发送给所述样本提供节点。
11.可选地,在一个例子中,所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签的步骤之后,所述方法还包括:所述验证节点记录提供的所述第一样本标签与所述第二样本标签相同的所述标
注节点的公钥,得到正确标注列表;所述验证节点根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统的步骤,包括:所述验证节点根据所述样本索引、所述第二样本标签及所述正确标注列表,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统;所述样本库节点从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,将所述第二样本标签添为样本库中的与所述样本索引对应的待标注样本添加相应的标签获得已标注样本的步骤之后,所述方法还包括:所述样本库节点记录与所述已标注样本对应的所述正确标注列表;所述方法还包括:所述标注节点向所述样本库节点发送第一获取请求,所述第一获取请求包括所述标注节点的公钥;所述样本库节点根据所述第一获取请求中所述标注节点的公钥,查询各已标注样本对应的正确标注列表,获得与该标注节点对应的正确标注贡献数量;所述样本库节点根据所述正确标注贡献数量,确定第一样本提取数量;所述样本库节点将所述标注节点的公钥作为随机种子,随机确定与所述第一样本提取数量相符的已标注样本,并通过所述标注节点的公钥加密后发送给所述标注节点。
12.本技术还提供一种软件授权系统,包括样本库节点、标注节点、验证节点以及应用节点;所述样本库节点用于根据待标注样本的样本索引、标注要求及验证算法,生成样本发布信息发布至所述软件授权系统;所述标注节点用于根据所述样本发布信息为所述待标注样本添加标注,获得与所述样本索引对应的第一标注结果信息并发布至所述软件授权系统;所述验证节点用于根据多个所述标注节点发布的第一标注结果信息进行统计验证,获得与所述样本索引对应的通过验证的第二标注结果信息并发布至所述软件授权系统;所述样本库节点还用于从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,为样本库中的与所述样本索引对应的待标注样本添加与所述第二标注结果信息相对应的标签获得已标注样本;所述应用节点用于根据所述已标注样本对预设的ai模型进行训练,并使用训练后的ai模型对目标对象进行识别,获得所述目标对象的对象特征,并根据所述对象特征为所述目标对象针对目标软件的使用权限进行软件授权。
13.通过上述内容,本技术提供的基于区块链的软件授权方法及软件授权系统,通过结合区块链技术,由样本库节点在软件授权系统中发布待标注样本的信息,使大量标注节点都可以参与到样本的标注工作中,然后由验证节点根据多个标注节点提供的标注结果信息进行统计验证,确定最终的样本标签,最后通过应用节点根据所述已标注样本对预设的ai模型进行训练,并使用训练后的ai模型对目标对象进行识别,获得所述目标对象的对象特征,并根据所述对象特征为所述目标对象针对目标软件的使用权限进行软件授权。如此,可以基于样本训练得到的ai模型实现针对目标软件的智能化软件授权,可以方便目标软件
针对不同用户群体的使用权限的智能控制。
14.进一步地,本实施例通过软件授权系统将大量的样本标注和验证工作分散到各个参与软件授权系统中的各个节点,大大提高了样本标注的速度。并且,基于软件授权系统具有的不可篡改、可溯源的机制,可以约束标注节点尽可能提供准确的标注结果。如此,可以在出现大量新的待标注样本时,结合软件授权系统快速准确地完成标注作业,可进一步提升ai模型的训练收敛速度以及模型的鲁棒性。
附图说明
15.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
16.图1为本技术实施例提供的软件授权系统的示意图;图2为本技术实施例提供的基于软件授权系统的软件授权方法的流程示意图;图3为步骤s120的子步骤流程示意图;图4为步骤s130的子步骤流程示意图。
具体实施方式
17.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
18.请参见图1,图1为本实施例提供的一种软件授权系统的示意图,所述软件授权系统可以包括样本库节点100、标注节点200、验证节点300及应用节点400。所述样本库节点100、标注节点200、验证节点300以及应用节点400相互之间可以通过网络进行通信。其中,所述样本库节点100可以为提供待标注样本并保存已标注样本的节点,所述标注节点200为执行标注的节点,所述验证节点300为对所述标注节点200提供的标注结果进行验证的节点。所述应用节点400为对已标注样本进行应用的节点。本实施例中,上述各节点都可以是具有大数据分析及处理能力的电子设备,例如个人计算机以及服务器等,具体不进行限定。
19.需要说明的是,在本实施例中,某个电子设备在执行与标注动作相关的程序或运行与标注动作相关的应用时,该电子设备即可以视为标注节点200;某个电子设备在执行与验证动作相关的程序或运行与验证动作相关的应用时,该电子设备即可以视为验证节点300。在一个例子中,所述标注节点200和所述验证节点300可以为不同的设备节点;另在一个例子中,某个节点可以作为标注节点200,对所述样本库节点100提供的待标注样本进行标注,同时,该节点也可以作为验证节点300,结合其他标注节点200的标注结果一起进行统计验证确定出待标注样本准确的标注结果。相应地,某个电子设备在执行已标注样本的应用时,则可以作为应用节点400.请参照图2,图2为本实施例提供的基于区块链的软件授权方法的流程图,该方法可以应用于图1所示的软件授权系统,以下将对所述方法包括各个步骤进行详细阐述。
20.步骤s110,所述样本库节点根据待标注样本的样本索引、标注要求及验证算法,生成样本发布信息发布至所述软件授权系统。
21.本实施例中,待标注样本可以是用于对目标对象(如软件用户)进行特征识别的样本,例如可以是具有人脸特征、声音特征等的视频图像样本,具体不进行限定。
22.步骤s120,所述标注节点根据所述样本发布信息获取待标注样本,并根据所述标注要求为所述待标注样本添加标注,获得与所述样本索引对应的第一标注结果信息并发布至所述软件授权系统。
23.本实施例中,所述添加的标注可以是针对不同样本的特征标签,例如可以是表征不同的样本中的对象的对象特征的年龄标签、软件权限标签等,具体可根据实际情况而定。
24.步骤s130,所述验证节点根据多个所述标注节点发布的第一标注结果信息进行统计验证,获得与所述样本索引对应的通过验证的第二标注结果信息并发布至所述软件授权系统。
25.步骤s140,所述样本库节点从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,为样本库中的与所述样本索引对应的待标注样本添加与所述第二标注结果信息相对应的标签获得已标注样本。
26.本实施例中,考虑到目前机器学习模型的训练通常依赖于已公开的样本库或训练集。但是,随着机器学习模型被应用的领域不断扩展,训练样本内容或类型更新的速度也越来越快,已公开样本库难以满足大量新兴场景的模型训练需求。
27.有鉴于此,本实施例提供了一种结合软件授权系统进行大量样本标注的方案,可以通过软件授权系统让大量标注节点和验证节点参与到样本的标注工作中,大大提高了新样本的标注速度,并且软件授权系统基于区块链机制而实现,具有不可篡改、可溯源的机制,可以约束标注节点尽可能提供准确的标注结果。下面,对本实施例提供的方案进行详细描述。
28.步骤s150,所述应用节点根据所述已标注样本对预设的ai模型进行训练,并使用训练后的ai模型对目标对象进行识别,获得所述目标对象的对象特征,并根据所述对象特征为所述目标对象针对目标软件的使用权限进行软件授权。
29.例如,可以根据训练后得到的ai模型对目标对象的对象信息(如包括人脸特征和声音特征的一端视频画面)进行对象特征识别,根据特征识别结果可以得到用于软件授权依据的相关对象特征,例如年龄特征、权限范围特征等,最后根据该对象特征按照设定的授权规则为所述目标对象针对所述目标软件的使用权限进行软件授权。
30.如此,可以基于样本训练得到的ai模型实现针对目标软件的智能化软件授权,可以方便目标软件针对不同用户群体的使用权限的智能控制。
31.进一步地,本实施例中,基于上述设计,本技术提供的基于区块链的软件授权方法及软件授权系统,通过结合区块链技术,由样本库节点在软件授权系统中发布待标注样本的信息,使大量标注节点都可以参与到样本的标注工作中,然后由验证节点根据多个标注节点提供的标注结果信息进行统计验证,确定最终的样本标签,从而可以通过软件授权系统将大量的样本标注工作分散到各个参与到软件授权系统的标注节点,大大提高了样本标注的速度。并且,基于软件授权系统具有的不可篡改、可溯源的机制,可以约束标注节点尽可能提供准确的标注结果。如此,可以在出现大量新的待标注样本时,结合软件授权系统快
速准确地完成标注作业。
32.具体地,在本实施例中,步骤s110中,所述样本库节点可以提取样本库中一个或多个没有标注的样本作为待标注样本,将该待标注样本的唯一身份信息(如样本标号或哈希值等)作为所述样本索引。同时,所述样本库节点还需要确定与该待标注样本对应的验证算法,所述验证算法用于指示各个验证节点在获得各个所述标注节点提供的标注结果后,如何执行统计验证,从而确定出正确的标注结果。所述样本库节点根据待标注样本的样本索引、标注要求及验证算法,生成样本发布信息发布至所述软件授权系统,从使所述软件授权系统中的各个其他节点都可以获取到该样本发布消息。
33.具体地,请参照图3,步骤s120所述标注节点根据所述样本发布信息获取待标注样本,并根据所述标注要求为所述待标注样本添加标注,获得与所述样本索引对应的第一标注结果信息并发布至所述软件授权系统中,可以包括以下子步骤。
34.步骤s121,所述标注节点获取所述样本发布信息,并根据所述样本索引从所述样本库节点获取相应的待标注样本。
35.在本实施例中,所述标注节点在获取到所述样本发布消息后,可以根据所述样本发布信息张洪国的样本索引与所述样本节点库进行通信,获取对应的待标注样本。
36.步骤s122,所述标注节点响应用户操作,获得用户根据所述标注要求为所述待标注样本添加的第一样本标签。
37.在本实施例中,所述标注节点可以显示一操作界面,在该操作界面展示所述待标注样本及所述标注要求,然后用户可以在该操作界面上进行操作,根据所述标注要求为所述待标注样本添加所述第一样本标签。
38.例如,当所述待标注样本为图像时,所述标注节点可以在所述操作界面上展示该图像,然后用户通过输入图像内容和/或圈定指示特定内容的内容框作为所述第一样本标签。当所述待标注样本为语音音频时,所述标注节点可以在所述操作界面显示语音播放插件,在用户操作播放听取语音音频后,可以在所述操作界面中输入自己听到的语音音频对应的语音文本作为所述第一样本标签。
39.步骤s123,所述标注节点根据所述样本索引、所述第一样本标签及该标注节点的公钥生成第一标注结果信息,并对所述第一标注结果信息签名后发布至所述软件授权系统。
40.在本实施例中,为了避免恶意用户为待标注样本添加错误的标签,所述标注节点需要在上述第一标注结果信息中加入该标注节点的公钥,并通过该标注节点的公钥对所述第一标注结果信息进行签名,以避免该第一标注结果信息被篡改。
41.具体地,请参照图4,步骤s130所述验证节点根据多个所述标注节点发布的第一标注结果信息进行统计验证,获得与所述样本索引对应的通过验证的第二标注结果信息并发布至所述软件授权系统中,可以包括以下子步骤。
42.步骤s131,所述验证节点每间隔预设周期从所述软件授权系统获取各所述标注节点发布的所述第一标注结果信息。
43.在本实施例中,所述验证节点可以每间隔预设周期,从所述软件授权系统获取该周期中所有所述标注节点发布的所有的所述第一标注结果所述。可以参照的是,该动作的大致原理可以类似于在比特币系统中,矿工节点每间隔预设周期获取该周期内产生的所有
交易账单。
44.步骤s132,所述验证节点根据所述样本索引查找相应的样本发布信息,从所述样本发布信息中获取对应的所述验证算法。
45.在本实施例中,所述验证节点在获取到各个所述标注节点发布的所述第一标注结果信息后,针对具有相同样本索引的第一标注结果,根据该样本索引查找相应的样本发布信息,并获得与该样本索引对应的验证算法。
46.需要说明的是,所述软件授权系统可以为分布式的信息记录系统,即各个节点均可以自行记录已在软件授权系统中发布的信息,并且各个节点会同步信息以保证各个节点记录的信息相同。因此,本实施例中所述从所述软件授权系统获取某种信息可以表征从该节点自己记录的历史信息中查找某信息,或者请求其他节点从起记录的历史信息中查找某信息。
47.步骤s133,所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签。
48.在本实施例中,针对具有相同样本索引的第一样本标签,所述验证节点根据获取到的验证算法,对各所述标注节点提供的第一样本标签进行统计验证。其中,本实施例中可以认为绝大多数标注节点为善良的标注节点,其提供较为准确的样本标签。另外,有可能存在少量的恶意标注节点,其可能提供错误的样本标签。因此,所述验证节点可以根据所述验证算法对大量的所述第一样本标签进行统计验证,从而确定出大量所述第一样本标签相符的验证结果作为经过验证后的第二样本标签。
49.步骤s134,所述验证节点根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统。
50.在本实施例中,可以有大量的所述验证节点参与到对所述第一标注结果信息的验证工作中。其中,为了避免某些恶意的验证节点提供错误的验证结果,在本实施例中,各个所述验证节点需要经过工作量证明机制证明后,才能发布自己的第二标注结果。例如,所述验证结果需要在完成验证后,需要根据其获得的所有所述第一标注结果信息、自己的验证结果及生成一个的预设位数的随机数一起进行哈希运算,在哈希结果满足设定条件(如前n为均为0)且其他所述验证节点都尚未发布正确的第二标注结果信息时,该节点才可以发布自己获得第二标注结果信息;否则该验证节点需要重新生成一个随机数并在此进行预算,以获得结果满足所述设定条件的哈希值。同时,该验证节点需要监听所述软件授权系统中其他的验证节点是否完成计算并发布了正确的第二标注结果信息,若是,则该验证节点不在执行工作量证明机制的运算。可以参照的是,所述验证节点在验证完成后尝试发布所述第二标注结果信息的动作的大致原理可以类似于比特币系统中矿工节点基于工作量证明机制挖矿记录区块(block)的动作。需要说明的是,在本实施例提供的方案中,所述验证节点的验证动作不产生类似比特币的虚拟货币收益。
51.可选地,在本实施例的一个例子中,所述待标注样本为图像数据,所述标注要求为标注出图像中的物体及物体所在的内容框。步骤s133所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签,可以包括以下子步骤:a1、所述验证节点获取各所述第一标注结果信息中的所述第一样本标签,所述第
一样本标签包括至少一个第一标签文本信息及第一内容框位置信息。
52.a2、所述验证节点对各所述第一样本标签中的第一标签文本信息进行统计,将出现次数满足所述验证算法中指示的次数条件的第一标签文本信息确定为通过验证的第二标签文本信息。
53.a3、所述验证节点从所述第一样本标签中筛选出所述第一标签文本信息与所述第二标签文本信息相同的第一样本标签,并根据所述验证算法中指示的回归算法对筛选出的各所述第一样本标签中的第一内容框位置信息进行回归处理,获得第二内容框位置信息。
54.a4、所述验证节点将所述第二标签文本信息及所述第二内容框位置信息确定为与所述样本索引对应的通过验证的第二样本标签。
55.例如,所述验证节点对各所述第一样本标签中的第一标签文本信息进行统计,发现超过80%的第一样本标签为所述待识别图像中的内容为“儿童人脸”,则所述验证节点将“儿童人脸”作为所述第二样本标签。然后筛选出所有第一标签文本信息为“儿童人脸”的第一样本标签,然后对这些第一样本标签中的第一内容框位置进行回归处理,获得第二内容框位置信息。
56.可选地,在本实施例的另一个例子中,所述待标注样本为具有特定物体的图像数据(如儿童人脸),所述标注要求为标注出图像中特定物体所在的内容框(如标注出人脸位置框)。步骤s133所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签,可以包括以下子步骤:b1、所述验证节点获取各所述第一标注结果信息中的所述第一样本标签,所述第一样本标签包括第一内容框位置信息;b2、所述验证节点根据所述验证算法中指示的条件,对各所述第一样本标签中的第一内容框位置信息之间进行差异性筛选,剔除位置差异性大于预设阈值的第一内容框位置信息;b3、所述验证节点根据所述验证算法中指示的回归算法对筛选后的各所述第一内容框位置信息进行回归处理,获得第二内容框位置信息;b4、所述验证节点将所述第二内容框位置信息确定为与所述样本索引对应的通过验证的第二样本标签。
57.例如,所述验证节点对各所述第一样本标签中的第一内容框位置进行位置方差分析,提出第一内容框位置明显和其他第一样本标签不同的数据,然后在剩余的第一内容框位置进行回归处理,获得第二内容框位置信息。
58.可选地,在本实施例的另一个例子中,所述待标注样本还可以包括语音音频数据,所述标注要求为标注语音音频数据对应的音频特征标签(例如成人语音、儿童语音等)。步骤s133所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签,可以包括以下子步骤:步骤c1,所述验证节点获取各所述第一标注结果信息中的所述第一样本标签,所述第一样本标签包括与所述待标注样本中语音音频数据对应的音频特征标签。
59.步骤c2,所述验证节点对各所述第一样本标签中的音频特征标签进行统计,将出现次最多音频特征标签确定为与所述样本索引对应的通过验证的第二样本标签。
60.例如,所述验证节点对各所述第一样本标签中的音频特征标签进行统计,发现超
过90%的音频特征标签为“儿童音频”,则所述验证节点将“儿童音频”作为所述第二样本标签。
61.可选地,在步骤s130中,所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签之后,所述验证节点可以根据所述第二样本标签及各所述第一标注结果信息中的第一样本标签,确定与各所述标注节点提供的第一样本标签的标注准确度,并对各所述标注节点的公钥及对应的所述标注准确度的对应关系进行记录,获得与所述样本索引对应的标注准确度列表。
62.例如,若某一标注节点提供的第一样本标签与所述第二样本标签完全一致,则所述验证节点可以在标注准确度列表中记录该标注节点的公钥及该标注节点的标注准确度为100%。若所述待标注样本中具有2处可标注的图像内容(如有一张儿童人脸和一张成人人脸),且某一标注节点提供的第一样本标签中只有一半与所述第二样本标签一致(如该标注节点提供的第一样本标签为两张儿童人脸),则所述验证节点可以在标注准确度列表中记录该标注节点的公钥及该标注节点的标注准确度为50%。
63.步骤s134中,所述验证节点根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统中,可以根据所述样本索引、所述第二样本标签及所述标注准确度列表,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统。
64.也就是说,所述验证节点在发布所述第二样本标签时,可以同时发布所述标注准确度列表。如此,可以将各所述标注节点的标注结果都公布至所述软件授权系统,从而公示出可能具有恶意提供错误标注的标注节点。
65.步骤s140中所述样本库节点还可以记录与所述已标注样本对应的标注准确度列表。
66.另外,在本实施例中,所述应用节点与所述标注节点可以为同一个节点。在该节点作为标注节点时,为了奖励参与了样本标注的标注节点,可以在样本库中的样本标注完成以后,根据各标注节点贡献的标注数量允许标注节点共享使用其他标注节点标注的样本;在该节点作为应用节点时,则可以使用获取到的其他标注节点标注的样本进行ai模型训练。
67.具体地,在步骤s140之后,所述方法还包括以下步骤。
68.步骤s210,所述标注节点向所述样本库节点发送第一获取请求,所述第一获取请求包括所述标注节点的公钥。
69.步骤s220,所述样本库节点根据所述第一获取请求中所述标注节点的公钥,查询各已标注样本对应的标注准确度列表,获得与该标注节点对应的正确标注贡献数量及标注贡献总数量。
70.在本实施例中,所述正确标注贡献数量为所述标注节点提供的且被所述验证节点验证为正确的标注数量。所述标注贡献总数量为所述标注节点提供的无论是否正确的标注的总数量。
71.步骤s230所述样本库节点根据所述正确标注贡献数量及所述标注贡献总数量确定所述标注节点对应的标注正确率。
72.步骤s240所述样本库节点根据所述标注正确率确定与所述标注节点对应的第一
提取倍率。
73.步骤s250所述样本库节点根据所述正确标注贡献数量及所述第一提取倍率,确定第一样本提取数量。
74.步骤s260所述样本库节点将所述标注节点的公钥作为随机种子,随机确定与所述第一样本提取数量相符的已标注样本,并通过所述标注节点的公钥加密后发送给所述标注节点。
75.基于上述设计,在本实施例中,在为所述标注节点提供共享的已标注样本时,不仅需要考虑该标注节点提供的正确的标注数量,还要考虑该标注节点的标注正确率。例如,标注节点a提供了1000个标注,但是其中只有100个是正确的,标注节点b虽然只提供了50个标注,但50个都是正确的。在此情况下,标注节点a虽然提供的正确标注数量较多,但其正确率非常低,其甚至可能是一个添加大量随机标注的恶意节点。而标注节点b虽然提供的正确标注数量较少,但正确率很高,其应该是优秀的善意标注节点。因此,在考虑为标注节点a和b提供已标注样本时,还需要结合所述标注正确率。示例性地,记所述标注共享总数量为r1,所述正确标注贡献数量为r2,所述第一提取数量为c1,则有c1=r2*(r2/r1)n,其中,n大于2。
76.在本实施例中,所述应用节点与所述验证节点可以为同一个节点。在该节点作为验证节点时,为了奖励参与了对标注结果进行验证的验证节点,可以在样本库中的样本标注完成以后,根据各验证节点的验证贡献数量允许验证节点共享使用各标注节点标注后的样本;在该节点作为应用节点时,则可以使用获取到的其他标注节点标注的样本进行ai模型训练。
77.具体地,在步骤s140之后,所述方法还包括以下步骤。
78.步骤s310,所述验证节点向所述样本库节点发送第二获取请求,所述第二获取请求包括所述验证节点的公钥;步骤s320,所述样本库节点根据所述第二获取请求中所述验证节点的公钥,查询由该验证节点发布所述第二标注结果信息的数量作为第一验证贡献数量。
79.步骤s330,所述样本库节点根据所述第二获取请求中所述验证节点的公钥,查询由该验证节点发布所述第二标注结果信息中,验证过的所述第一标注结果信息的数量作为第二验证贡献数量。
80.步骤s340,所述样本库节点根据所述第二验证贡献数量确定与所述标注节点对应的第二提取倍率。
81.所述样本库节点根据所述第一验证贡献数量及所述第二提取倍率,确定第二样本提取数量。
82.步骤s350,所述样本库节点将所述验证节点的公钥作为随机种子,随机确定与所述第二样本提取数量相符的已标注样本,并通过所述验证节点的公钥加密后发送给所述验证节点。
83.其中,所述第一验证贡献数量表征所述验证节点针对多少个待标注样本进行第一标注结果的验证。所述第二验证贡献数量为所述验证节点针对多少个所述标注节点提供的第一标注结果进行了验证。例如,若在一个周期中,有100个标注节点都针对2个待标注样本发布了第一标注结果,则所述验证节点在完成验证并发布该周期的第二标注结果后,其对应的第一验证贡献数量为2,第二验证贡献数量为200。示例性地,记所述第一验证贡献数量
为q1,所述第二验证贡献数量为q2,所述第二提取数量为c2,则有c2=(q1*m1)*(q2*m2),其中,m1》m2》0。
84.在本实施例中,所述软件授权系统还可以包括样本提供节点,所述样本提供节点为向所述样本库节点提供待标注样本的节点。
85.例如,所述样本提供节点可以获得待标注样本,根据所述待标注样本及该样本提供节点的公钥生成样本提供信息发送给所述样本库节点。所述样本库节点可以获取并记录所述待标注样本与所述样本提供节点的公钥的对应关系。
86.所述应用节点与所述样本提供节点可以为同一个节点。在该节点作为样本提供节点时,为了奖励参与提供待标注样本的样本提供节点,可以在样本库中的样本标注完成以后,根据各样本提供节点贡献的有效样本提供数量,允许样本提供节点共享使用各标注节点标注后的样本;在该节点作为应用节点时,则可以使用获取到的其他标注节点标注的样本进行ai模型训练。
87.具体地,在步骤s140之后,所述方法还包括以下步骤。
88.步骤s410,所述样本提供节点向所述样本库节点发送第三样本获取请求,所述第三样本获取请求包括所述样本提供节点的公钥。
89.步骤s420,所述样本库节点根据所述第三样本获取请求中所述样本提供节点的公钥,查询由该样本提供节点提供待标注样本的数量作为样本提供总数量。
90.步骤s430,所述样本库节点根据所述第三样本获取请求中所述样本提供节点的公钥,查询样本库中由所述样本提供节点提供的且具有有效所述第二样本标签的已标注样本的数量作为有效样本提供数量。
91.步骤s440,所述样本库节点根据所述有效样本提供数量及所述样本提供总数量确定所述样本提供节点对应的有效样本提供率。
92.步骤s450,所述样本库节点根据所述有效样本提供率确定与所述标注节点对应的第三提取倍率。
93.步骤s460,所述样本库节点根据所述有效样本提供数量及所述第三提取倍率,确定第三样本提取数量。
94.步骤s470,所述样本库节点将所述样本提供节点的公钥作为随机种子,随机确定与所述第三样本提取数量相符的已标注样本,并通过所述样本提供节点的公钥加密后发送给所述样本提供节点。
95.在本实施例中,所述样本提供节点提供的样本可能是有效样本或者无效的样本。例如,若所述样本库节点当前需求的样本为用于进行人脸识别的样本,有效的待标注样本为所述标注节点可以标出处至少一个人脸特征的待标注样本。无效的待标注样本可能为根本没有人脸的图像,因此标注节点无法给出有效的样本标签,则验证节点也无法给出有效的第二样本标签。
96.基于上述设计,在本实施例中,在为所述样本提供节点提供共享的已标本提供样本时,不仅需要考虑该样本提供节点提供的有效样本提供数量,还要考虑该样本提供节点的有效样本提供率。例如,样本提供节点d提供了100个待标注样本,但是其中只有100个是有效样本,样本提供节点e虽然只提供了5个待标注样本,但5个都是待标注样本。在此情况下,样本提供节点d虽然提供的正确标本提供数量较多,但其正确率非常低,其甚至可能是
一个添加提供随机图像的恶意节点。而样本提供节点e虽然提供的有效样本提供数量较少,但有效样本提供率很高,其应该是优秀的善意样本提供节点。因此,在考虑为样本提供节点d和e提供已标注样本时,还需要结合所述有效样本提供率。示例性地,记所述样本提供总数量为k1,所述有效样本提供数量为k2,所述第三提取数量为c3,则有c3=k2*(k2/k1)z,其中,z大于2。
97.在另一些例子中,也可以仅根据标注节点提供的正确标注数量为标注节点提供已标注样本。例如,在步骤s130所述验证节点根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签之后,所述验证节点可以记录提供的所述第一样本标签与所述第二样本标签相同的所述标注节点的公钥,得到正确标注列表。
98.例如,所述验证节点的正确标注列表中只记录提供了完全正确的样本标签的标注节点的公钥和所述样本索引的对应关系。
99.步骤s134所述验证节点根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统中,可以根据所述样本索引、所述第二样本标签及所述正确标注列表,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统。
100.也就是说,所述验证节点在发布所述第二样本标签时,可以同时发布所述正确标注列表。如此,可以将各所述标注节点的标注结果都公布至所述软件授权系统,从而公示出可能具有恶意提供错误标注的标注节点。
101.在步骤s140中,所述样本库节点记录与所述已标注样本对应的所述正确标注列表。
102.另外,在本实施例中,为了奖励参与了样本标注的标注节点,可以在样本库中的样本标注完成以后,根据各标注节点贡献的正确标注贡献数量允许标注节点共享使用其他标注节点标注的样本。
103.具体地,在步骤s140之后,所述方法还包括以下步骤。
104.步骤s510,所述标注节点向所述样本库节点发送第一获取请求,所述第一获取请求包括所述标注节点的公钥。
105.步骤s520,所述样本库节点根据所述第一获取请求中所述标注节点的公钥,查询各已标注样本对应的正确标注列表,获得与该标注节点对应的正确标注贡献数量。
106.步骤s530,所述样本库节点根据所述正确标注贡献数量,确定第一样本提取数量。
107.步骤s540,所述样本库节点将所述标注节点的公钥作为随机种子,随机确定与所述第一样本提取数量相符的已标注样本,并通过所述标注节点的公钥加密后发送给所述标注节点。
108.基于同一发明构思,本实施例还提供一种软件授权系统,该软件授权系统包括样本库节点、标注节点、验证节点以及应用节点。
109.所述样本库节点用于根据待标注样本的样本索引、标注要求及验证算法,生成样本发布信息发布至所述软件授权系统。
110.所述标注节点用于根据所述样本发布信息为所述待标注样本添加标注,获得与所述样本索引对应的第一标注结果信息并发布至所述软件授权系统;
所述验证节点用于根据多个所述标注节点发布的第一标注结果信息进行统计验证,获得与所述样本索引对应的通过验证的第二标注结果信息并发布至所述软件授权系统;所述样本库节点还用于从所述软件授权系统获取所述第二标注结果信息,并根据所述第二标注结果信息中的样本索引,为样本库中的与所述样本索引对应的待标注样本添加与所述第二标注结果信息相对应的标签获得已标注样本。
111.所述应用节点用于根据所述已标注样本对预设的ai模型进行训练,并使用训练后的ai模型对目标对象进行识别,获得所述目标对象的对象特征,并根据所述对象特征为所述目标对象针对目标软件的使用权限进行软件授权。
112.具体地,所述标注节具体用于点获取所述样本发布信息,并根据所述样本索引从所述样本库节点获取相应的待标注样本;响应用户操作,获得用户根据所述标注要求为所述待标注样本添加的第一样本标签;根据所述样本索引、所述第一样本标签及该标注节点的公钥生成第一标注结果信息,并对所述第一标注结果信息签名后发布至所述软件授权系统;所述验证节点具体用于每间隔预设周期从所述软件授权系统获取各所述标注节点发布的所述第一标注结果信息;根据所述样本索引查找相应的样本发布信息,从所述样本发布信息中获取对应的所述验证算法;根据所述验证算法,对各所述第一标注结果信息进行统计验证,确定与所述样本索引对应的通过验证的第二样本标签;根据所述样本索引及所述第二样本标签,基于工作量证明机制生成第二标注结果信息发布至所述软件授权系统。
113.综上所述,本技术提供的基于区块链的软件授权方法及软件授权系统,通过结合区块链技术,由样本库节点在软件授权系统中发布待标注样本的信息,使大量标注节点都可以参与到样本的标注工作中,然后由验证节点根据多个标注节点提供的标注结果信息进行统计验证,确定最终的样本标签,最后通过应用节点根据所述已标注样本对预设的ai模型进行训练,并使用训练后的ai模型对目标对象进行识别,获得所述目标对象的对象特征,并根据所述对象特征为所述目标对象针对目标软件的使用权限进行软件授权。如此,可以基于样本训练得到的ai模型实现针对目标软件的智能化软件授权,可以方便目标软件针对不同用户群体的使用权限的智能控制。
114.进一步地,本实施例通过软件授权系统将大量的样本标注和验证工作分散到各个参与软件授权系统中的各个节点,大大提高了样本标注的速度。并且,基于软件授权系统具有的不可篡改、可溯源的机制,可以约束标注节点尽可能提供准确的标注结果。如此,可以在出现大量新的待标注样本时,结合软件授权系统快速准确地完成标注作业。
115.以上所述,仅为本技术的各种实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1