数据标注方法、设备和存储介质与流程

文档序号:18554247发布日期:2019-08-30 22:22阅读:256来源:国知局
数据标注方法、设备和存储介质与流程

本申请涉及互联网技术领域,具体涉及一种数据标注方法、设备和存储介质。



背景技术:

人工智能时代,出现越来越多的基于大数据的应用系统,例如,个性化推荐系统,等等。该类系统的核心基于历史大数据训练的数据模型,而原始数据本身的准确性,是影响模型质量最为关键的因素。随着数据量指数式上升,对原始数据进行准确有效的数据标注显得尤为重要。

在现有的数据标注方案中,通常采用以下两类方案:

一类是通过企业的员工或用户群进行标注,该类方案因受限于员工或用户数量有限,难以对数据量日渐庞大的数据集完成快速高效的标注;

另一类是将原始数据外包给服务商进行标注,该类方案存在服务商泄露原始数据集的风险。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,期望提供一种高效完成数据标注并避免原始数据集泄露风险的数据标注方法、设备和存储介质。

第一方面,本发明提供一种数据标注方法,适用于区块链节点,该方法包括:

接收请求方的第一终端发送的数据标注请求交易并通过数据标注合约执行,以将若干条待标注数据的哈希值和各待标注数据的下载地址记录在区块链上,并在数据标注合约中对请求方账户冻结待支付酬劳;

接收标注方的第二终端发送的标注任务接取交易并通过数据标注合约执行,为标注方随机分配若干第一待标注数据,并将第一待标注数据的第一哈希值和第一下载地址记录在区块链上,以供第二终端获取,根据第一哈希值访问第一下载地址以下载第一待标注数据,生成第一标注结果,并根据第一标注结果打包生成标注结果提交交易;

接收并通过数据标注合约执行标注结果提交交易,根据预配置的规则判断第一待标注数据是否标注成功:

是,则将第一标注结果、第一待标注数据的标注完成状态及认证标注结果记录在区块链上,以供第一终端获取认证标注结果;以及,根据所冻结的待支付酬劳发放酬劳。

第二方面,本发明提供另一种数据标注方法,适用于请求方终端,该方法包括:

响应于请求标注若干条待标注数据,生成各待标注数据的哈希值,并为各待标注数据配置下载地址;

根据各待标注数据的哈希值和下载地址生成数据标注请求交易并发送至区块链节点,以供通过数据标注合约执行,以将若干条待标注数据的哈希值和各待标注数据的下载地址记录在区块链上,并在数据标注合约中对请求方账户冻结待支付酬劳,以及,接收标注方的第二终端发送的标注任务接取交易并通过数据标注合约执行,为标注方随机分配若干第一待标注数据,并将第一待标注数据的第一哈希值和第一下载地址记录在区块链上,以供第二终端获取,根据第一哈希值访问第一下载地址以下载第一待标注数据,生成第一标注结果,打包生成标注结果提交交易并发送至区块链节点,以供通过数据标注合约执行,根据预配置的规则判断第一待标注数据是否标注成功,并在标注成功时将第一标注结果、第一待标注数据的标注完成状态及认证标注结果记录在区块链上,并根据所冻结的待支付酬劳发放酬劳;

从区块链的数据中获取认证标注结果。

第三方面,本发明提供又一种数据标注方法,适用于标注方终端,该方法包括:

生成标注任务接取交易并发送至区块链节点,以供通过数据标注合约执行,为标注方随机分配若干第一待标注数据,并将第一待标注数据的第一哈希值和第一下载地址记录在区块链上;其中,第一哈希值和第一下载地址由数据标注合约执行若干请求方的第一终端发送的数据标注请求交易记录到区块链上,并在数据标注合约中对请求方账户冻结待支付酬劳;

通过区块链的数据获取第一哈希值和第一下载地址,根据第一哈希值访问第一下载地址以下载第一待标注数据;

响应于标注方对第一待标注数据进行标注,生成第一标注结果;

根据第一标注结果打包生成标注结果提交交易并发送至区块链节点,以供通过数据标注合约执行,根据预配置的规则判断第一待标注数据是否标注成功:是,则将第一标注结果、第一待标注数据的标注完成状态及认证标注结果记录在区块链上,以供第一终端获取认证标注结果;以及,根据所冻结的待支付酬劳发放酬劳。

第四方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的数据标注方法。

第五方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的数据标注方法。

本发明诸多实施例提供的数据标注方法、设备和存储介质通过由请求方将原始数据集中的多条待标注数据的哈希值和下载地址发布到区块链上,并在数据标注合约中冻结待支付酬劳,再由数据标注合约为接取标注任务的各标注方随机分配待标注数据,在各标注方提交标注结果后由数据标注合约自动判定是否标注成功,并在标注成功时记录标注结果、发放酬劳,从而实现了高效的数据标注,同时保障了原始数据集无需公开也难以被任一标注方完整地获取,避免了原始数据集泄露的风险;

本发明一些实施例提供的数据标注方法、设备和存储介质进一步通过在标注方终端下载待标注数据时,验证标注方身份,避免第三方进行非法下载,进一步避免了原始数据集泄露的风险。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本发明一实施例中数据标注的场景示意图。

图2为本发明一实施例提供的一种数据标注方法的流程图。

图3为本发明一实施例提供的另一种数据标注方法的流程图。

图4为本发明一实施例提供的又一种数据标注方法的流程图。

图5为本发明一实施例提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1为本发明一实施例中数据标注的场景示意图。以下将以图1所示场景为例,对本发明提供的各项解决方案进行详细阐述,在更多实施例中,本发明提供的各项解决方案还可适用于本领域技术人员可以理解的不同场景,例如,请求方终端和下载服务端可以一体集成,又例如,所有请求方终端采用同一下载服务端,等等,均可实现相同的技术效果,而不局限于图1所例举的场景。

图2为本发明一实施例提供的一种数据标注方法的流程图。

如图1和图2所示,在本实施例中,本发明提供一种适用于区块链节点101的数据标注方法,包括:

s12:接收请求方的第一终端发送的数据标注请求交易并通过数据标注合约执行,以将若干条待标注数据的哈希值和各待标注数据的下载地址记录在区块链上,并在数据标注合约中对请求方账户冻结待支付酬劳;

s14:接收标注方的第二终端发送的标注任务接取交易并通过数据标注合约执行,为标注方随机分配若干第一待标注数据,并将第一待标注数据的第一哈希值和第一下载地址记录在区块链上,以供第二终端获取,根据第一哈希值访问第一下载地址以下载第一待标注数据,生成第一标注结果,并根据第一标注结果打包生成标注结果提交交易;

s16:接收并通过数据标注合约执行标注结果提交交易,根据预配置的规则判断第一待标注数据是否标注成功:

是,则执行步骤s18:将第一标注结果、第一待标注数据的标注完成状态及认证标注结果记录在区块链上,以供第一终端获取认证标注结果;以及,根据所冻结的待支付酬劳发放酬劳。

以下以企业甲需要标注第一数据集seta、企业乙需要标注第二数据集setb,用户丙、丁等若干用户接取任务进行标注为例,对上述方法进行示例性的阐述:

当企业甲要求对第一数据集seta进行标注时,企业甲的请求方终端20分别生成第一数据集seta中每一条待标注数据seta-1-seta-100的哈希值hseta-1-hseta-100,将第一数据集seta(seta-1-seta-100)存储到下载服务端30中,并为每一条待标注数据seta-1-seta-100配置下载地址adda,再根据每一条待标注数据seta-1-seta-100的哈希值hseta-1-hseta-100和下载地址adda生成数据标注请求交易txa,将txa发送至区块链节点101;

同理,企业乙的请求方终端20为第二数据集setb的每一条待标注数据setb-1-setb-150生成哈希值hsetb-1-hsetb-150并配置下载地址addb-1-addb-150,再根据hsetb-1-hsetb-150和addb-1-addb-150生成数据标注请求交易txb,将txb发送至区块链节点101。

在步骤s12中,区块链节点101接收、广播、打包并通过数据标注合约执行txa,将哈希值hseta-1-hseta-100和对应的下载地址adda记录到区块链上,从而在区块链上发布标注seta-1-seta-100的标注任务,同时在数据标注合约中冻结企业甲账户的待支付酬劳。

具体地,当企业甲账户中的余额不足以支付酬劳(即,待支付酬劳冻结失败)时,txa执行失败。在本实施例中,待支付酬劳的数额根据标注单条待标注数据的数额、数据标注请求交易所请求标注的待标注数据的数量以及数据标注合约预配置的标注规则计算得到。例如,标注单条待标注数据的数额配置为5个xxx币,txa请求标注100条数据,标注规则预配置为前4个标注结果相同的标注方共同标注成功,标注成功后的标注结果无效,则执行txa需冻结的待支付酬劳为2000xxx币。在更多实施例中,还可以根据实际需求配置不同的收费规则,例如,将待支付酬劳配置为实际酬劳和手续费之和,或,配置为实际酬劳和请求方愿意支付的加急费之和,等等。

同理,在步骤s12中,区块链节点101执行txb后将哈希值hsetb-1-hsetb-150和对应的下载地址addb-1-addb-150记录到区块链上,在区块链上发布标注setb-1-setb-150的标注任务,同时在数据标注合约中冻结企业乙账户的待支付酬劳。

各标注方,例如用户丙,在看到区块链上发布的标注任务后,可以在标注方终端40中进行接取任务的操作,用户丙的标注方终端40响应于该操作,生成标注任务接取交易txc发送至区块链节点101。

具体地,在本实施例中,标注任务接取交易可以自由指定本次标注的待标注数据的数量,在更多实施例中,也可以配置为在标注任务接取交易中无法指定数量,而由数据标注合约自动分配固定数量的待标注数据。

优选地,通过数据标注合约执行标注任务接取交易还包括:检测标注方是否已分配有未提交标注结果的待标注数据:是,则标注任务接取交易执行失败。

具体地,为了避免用户通过恶意地大量接取标注任务来试图获取完整的原始数据集,可以限定用户无法并行接取标注任务,而只有在完成上一次任务后才能接取下一次任务。

在步骤s14中,区块链节点101接收、广播、打包并通过数据标注合约执行txc,为用户丙随机分配4条待标注数据seta-1、seta-5、setb-2、setb-7,并将所分配的各条待标注数据的哈希值和下载地址记录在区块链上。与此同时,数据标注合约还将各条待标注数据随机分配给用户丁等其他接取标注任务的用户。

具体地,在本实施例中,数据标注合约的随机分配方式配置为将多个请求方请求标注的待标注数据均匀地随机分配给多个标注方。在更多实施例中,还可根据实际需求配置不同的随机分配方式,例如,优先将支付加急费的待标注数据随机分配给多个标注方,等等,只要随机分配的方式未将同一数据集的所有待标注数据分配给同一标注方,即可实现相同的技术效果。

用户丙的标注方终端40在获取到待标注数据seta-1的哈希值hseta-1和下载地址adda、seta-5的哈希值hseta-5和下载地址adda、setb-2的哈希值hsetb-2和下载地址addb-2、setb-7的哈希值hsetb-7和下载地址addb-7后,根据hseta-1和hseta-5访问adda以下载待标注数据seta-1和seta-5,根据hsetb-2访问addb-2以下载待标注数据setb-2,根据hsetb-7访问addb-7以下载待标注数据setb-7。

优选地,上述根据第一哈希值访问第一下载地址以下载第一待标注数据包括:第二终端根据标注方的签名、第一哈希值访问第一下载地址并请求下载第一待标注数据;下载服务端响应于第二终端的下载请求,根据签名、第一哈希值和区块链的数据验证标注方是否分配到第一待标注数据:是,则下载成功,向第二终端发送第一待标注数据;否,则下载失败。

例如,用户丙的标注方终端40在下载待标注数据时需提供用户丙的签名,以供下载服务端30在收到标注方终端40的下载请求后,根据用户丙的签名、上述哈希值和区块链的数据验证用户丙是否分配到所请求下载的待标注数据:是,则下载成功,下载服务端30向标注方终端40发送所请求下载的待标注数据;否,则说明用户丙未分配到标注所请求下载的待标注数据的任务,而是试图非法下载原始数据集,下载失败。

用户丙的标注方终端40下载到待标注数据seta-1、seta-5、setb-2、setb-7之后,用户丙对这些待标注数据进行标注,从而在标注方终端40中生成标注结果,标注方终端40根据所生成的标注结果打包标注结果提交交易txc’,并发送至区块链节点101。

在步骤s16中,区块链节点101接收、广播、打包并通过数据标注合约执行txc’,根据预配置的规则判断待标注数据seta-1、seta-5、setb-2、setb-7是否标注成功。

例如,步骤s16的判断结果为,seta-1标注成功了,seta-5、setb-2、setb-7未标注成功,则将用户丙对seta-5、setb-2、setb-7的标注结果记录在区块链上,并执行步骤s18,将seta-1的标注完成状态及认证标注结果记录在区块链上,以供企业甲的请求方终端20获取seta-1的认证标注结果,并根据合约中所冻结的待支付酬劳对共同标注seta-1成功的用户丙等用户发放酬劳。

优选地,上述根据预配置的规则判断第一待标注数据是否标注成功包括:

判断第一待标注数据是否已标注成功:

是,则所述第一标注结果无效;

否,则根据区块链上记录的各第一标注结果和标注结果提交交易提交的第一标注结果判断是否存在第一数量个相同的第一标注结果:

否,则第一待标注数据未标注成功;

是,则第一待标注数据标注成功。

例如,用户丁的标注方终端40通过发送交易提交seta-1、seta-4、setb-12、setb-26的标注结果;

数据标注合约根据区块链上记录的seta-1的标注完成状态判断出seta-1已标注成功,则用户丁所提交的seta-1的标注结果无效;而seta-4、setb-12、setb-26尚未标注成功,则根据区块链上记录的seta-4、setb-12、setb-26的标注结果和用户丁提交的标注结果分别判断是否有4个标注结果相同:

判断出有4项setb-12的标注结果相同,则setb-12标注成功,将setb-12的标注完成状态及认证标注结果记录在区块链上,以供企业乙的请求方终端20获取setb-12的认证标注结果;

同时还判断出尚未有4项seta-4或setb-26的标注结果相同,因此seta-4与setb-26未标注成功,将用户丁提交的标注结果记录在区块链上。

上述实施例通过由请求方将原始数据集中的多条待标注数据的哈希值和下载地址发布到区块链上,并在数据标注合约中冻结待支付酬劳,再由数据标注合约为接取标注任务的各标注方随机分配待标注数据,在各标注方提交标注结果后由数据标注合约自动判定是否标注成功,并在标注成功时记录标注结果、发放酬劳,从而实现了高效的数据标注,同时保障了原始数据集无需公开也难以被任一标注方完整地获取,避免了原始数据集泄露的风险;

并进一步通过在标注方终端下载待标注数据时,验证标注方身份,避免第三方进行非法下载,进一步避免了原始数据集泄露的风险。

图3为本发明一实施例提供的另一种数据标注方法的流程图。图3所示的方法可配合图2所示的方法执行。

如图3所示,在本实施例中,本发明还提供另一种适用于请求方终端的数据标注方法,包括:

s22:响应于请求标注若干条待标注数据,生成各待标注数据的哈希值,并为各待标注数据配置下载地址;

s24:根据各待标注数据的哈希值和下载地址生成数据标注请求交易并发送至区块链节点,以供通过数据标注合约执行,以将若干条待标注数据的哈希值和各待标注数据的下载地址记录在区块链上,并在数据标注合约中对请求方账户冻结待支付酬劳,以及,接收标注方的第二终端发送的标注任务接取交易并通过数据标注合约执行,为标注方随机分配若干第一待标注数据,并将第一待标注数据的第一哈希值和第一下载地址记录在区块链上,以供第二终端获取,根据第一哈希值访问第一下载地址以下载第一待标注数据,生成第一标注结果,打包生成标注结果提交交易并发送至区块链节点,以供通过数据标注合约执行,根据预配置的规则判断第一待标注数据是否标注成功,并在标注成功时将第一标注结果、第一待标注数据的标注完成状态及认证标注结果记录在区块链上,并根据所冻结的待支付酬劳发放酬劳;

s26:从区块链的数据中获取认证标注结果。

优选地,上述随机分配包括将多个请求方请求标注的待标注数据均匀地随机分配给多个标注方。

优选地,通过数据标注合约执行标注任务接取交易还包括:检测标注方是否已分配有未提交标注结果的待标注数据:是,则标注任务接取交易执行失败。

优选地,上述根据预配置的规则判断第一待标注数据是否标注成功包括:

判断第一待标注数据是否已标注成功:

是,则第一标注结果无效;

否,则根据区块链上记录的各第一标注结果和标注结果提交交易提交的第一标注结果判断是否存在第一数量个相同的第一标注结果:

否,则第一待标注数据未标注成功;

是,则第一待标注数据标注成功。

优选地,当请求方终端与下载服务端一体集成时,上述方法还包括:响应于第二终端根据标注方的签名、第一哈希值访问第一下载地址并请求下载第一待标注数据,根据签名、第一哈希值和区块链的数据验证标注方是否分配到第一待标注数据:是,则下载成功,向第二终端发送第一待标注数据;否,则下载失败。

图3所示方法的数据标注原理可参考图2所示的方法,此处不再赘述。

图4为本发明一实施例提供的又一种数据标注方法的流程图。图4所示的方法可配合图2和图3所示的方法执行。

如图4所示,在本实施例中,本发明还提供又一种适用于标注方终端的数据标注方法,包括:

s32:生成标注任务接取交易并发送至区块链节点,以供通过数据标注合约执行,为标注方随机分配若干第一待标注数据,并将第一待标注数据的第一哈希值和第一下载地址记录在区块链上;其中,第一哈希值和第一下载地址由数据标注合约执行若干请求方的第一终端发送的数据标注请求交易记录到区块链上,并在数据标注合约中对请求方账户冻结待支付酬劳;

s34:通过区块链的数据获取第一哈希值和第一下载地址,根据第一哈希值访问第一下载地址以下载第一待标注数据;

s36:响应于标注方对第一待标注数据进行标注,生成第一标注结果;

s38:根据第一标注结果打包生成标注结果提交交易并发送至区块链节点,以供通过数据标注合约执行,根据预配置的规则判断第一待标注数据是否标注成功:是,则将第一标注结果、第一待标注数据的标注完成状态及认证标注结果记录在区块链上,以供第一终端获取认证标注结果;以及,根据所冻结的待支付酬劳发放酬劳。

优选地,上述随机分配包括将多个请求方请求标注的待标注数据均匀地随机分配给多个标注方。

优选地,通过数据标注合约执行标注任务接取交易还包括:检测标注方是否已分配有未提交标注结果的待标注数据:是,则标注任务接取交易执行失败。

优选地,上述根据预配置的规则判断第一待标注数据是否标注成功包括:

判断第一待标注数据是否已标注成功:

是,则第一标注结果无效;

否,则根据区块链上记录的各第一标注结果和标注结果提交交易提交的第一标注结果判断是否存在第一数量个相同的第一标注结果:

否,则第一待标注数据未标注成功;

是,则第一待标注数据标注成功。

优选地,上述根据第一哈希值访问第一下载地址以下载第一待标注数据包括:

根据标注方的签名、第一哈希值访问第一下载地址并请求下载第一待标注数据,以供下载服务端根据签名、第一哈希值和区块链的数据验证标注方是否分配到第一待标注数据:是,则下载成功;否,则下载失败;

接收下载服务端判定下载成功后发送的第一待标注数据。

图4所示方法的数据标注原理同样可参考图2所示的方法,此处不再赘述。

图5为本发明一实施例提供的一种设备的结构示意图。

如图5所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有设备500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上述任一实施例描述的数据标注方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行数据标注方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。

作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的数据标注方法。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1