《面向机器学习的数据标注规程》摘录

2023-12-16 19:44

本文主要是介绍《面向机器学习的数据标注规程》摘录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:本文使用的标准是2019年的团体标准,最新的国家标准已在2023年发布。

3 术语和定义

3.2 标签 label

标识数据的特征、类别和属性等。

3.4 数据标注员 data labeler

对待标注数据进行整理、纠错标记批注等操作的工作人员。

【批注】按照定义,数据标注员包括标注员、审核员。

3.7 标注说明规则 annotation instruction

数据需求方用于明确标注任务和标注数据的书面陈述,包含执行标注任务所需的标注工具、任务描述、标注方法、正确示例、常见错误等内容。

【批注】在书面陈述中,任务描述可录入系统,正确示例、常见错误以文件方式提供。

3.8 标注方法 annotation method

定义数据标注员进行数据标注时的环境和规程,包含标注对象定义、所用标注工具和标注平台、标注格式、标注前的准备工作、标注后的处理工作等。

4 数据标注规程框架

在这里插入图片描述

数据标注规程框架见上图,包括:

a) 标注任务前期准备:
1)定义所需数据;
2)制定标注说明规则;
3)确定标注人力的供给方式;

b) 标注任务中:
1)标注任务的创建;
2)标注任务的分发;
3)标注任务的开展;
4)标注任务的回收;

c) 标注结果输出:
1)标注结果的质量检查和控制;
2)标注结果的输出格式;
3)标注数据的交付和验收。

5 数据标注规程

5.1 定义所需标注数据和预估数据量

数据标注前应完成以下五项准备工作:

a) 分析数据。明确机器学习和模型训练过程中所需的标注数据类型、量级、用途及应用场景等。

b) 整理数据。明确数据与标签文件存放的目录结构,在任务分配与回收时,应按指定的目录进行数据组织;

c) 明确命名规则。应明确数据与标签文件的命名方式,命名规则应避免数据更新迭代时的重名,便于数据追踪、标注追踪,且数据文件名与标签文件名应保持一致;

e) 标注数据定义与需求量。明确标注数据的定义并确定最终的需求量。

5.2 标注说明规则

5.2.1 标注说明规则职责分工

数据需求方应负责确保数据标注的规则符合该领域的业务和专业常识,并根据标注规则,检查所标注的数据是否满足数据需求方。

示例1:数据需求方即业务数据需求方,指需要利用人工智能技术解决实际业务问题的业务团队。

数据使用方应从机器学习算法角度,确保标注规则可满足机器学习模型的训练要求,并根据该标注规则,检查标注的数据支撑机器学习模型达到数据需求方期望的精度。

示例2:数据使用方指需要使用标注数据训练人工智能模型的研发团队。

数据需求方、数据使用方及数据标注团队应共同参与标注说明规则的制定、调整、迭代、执行的各个环节。数据标注团队应从实际标注角度出发,确保标注规则清晰、明确。

5.2.2 标注说明规则定义

标注说明规则应明确项目背景、意义及数据应用场景,包含项目标注工具、任务描述、标注方法、正确示例、常见错误等内容。
标注说明规则应有可变更性,该变更应由相关方评审同意后,再更新规则文档,且相关方应沿用制定规则时的基本原则及方法。

【批注】项目背景、意义及数据应用场景可录入系统,并提供修改功能。

5.2.3 标注说明规则内容

标注说明规则包括但不限于:
a) 项目背景:概述项目背景或数据标注需求产生的场景;
b) 版本信息:标注该说明的当前版本编号、发布日期、发布人、发布说明(发布原因或迭代原因)及历史迭代信息(历代版本编号、发布日期、发布人、发布说明等);
c) 任务描述:概述标注项目主要任务,包括标注项目关键信息、数据形式、标注平台、主要标注方法、期望交付时间、正确率要求等;
e) 标注方法:阐明数据需求方所需数据对象的标签定义,明确在协定标注平台上使用的标注组件、标签类型及全部操作。标注方法的衡量标准是以标注人员掌握标注方法后,能否立刻正确操作一次标注;
f) 正确示例:通过图片、图文、视频等的形式,示范正确的标注方法或成果,数据需求方应明确数据产出,标注方应明确标注认识,标注样例应覆盖特殊样本的标注示例;
g) 注意事项:标注方的错误预警具有警示作用,规则制定者在注意事项中应列出标注方应避免的错误、标注方法中应注意的细节及额外处理方式等;
h) 质量要求:数据标注规则应对项目的预期质量有合理的定量预估。质量审核应遵循质量要求。

【批注】以上对规则内容的说明可作为数据库字段的注释,系统提供标注说明规则的版本发布功能,任务描述中的期望交付时间、正确率要求可录入系统。系统提供标签定义功能。注意事项、质量要求可录入系统。

5.2.4 执行方法及注意事项

标注方按照给定规则标注时,发现存疑数据应及时记录。数据需求方应明确此类数据的记录规则、保存路径及后续处理方法等。采用多人标注或定期集中反馈等方法处理问题数据。
标注说明规则的细则应有可调整性

【参考】
存疑数据记录规则:difficult=1
存疑数据后续处理方法:系统提供存疑数据统计、存疑数据重新分配的功能。

5.2.5 标注说明中术语体系规范化

术语体系的规范化至少应满足:
a) 遵从国家法规和行业规范
b) 建立统一的标注术语字典,确保数据标注人员对术语和定义理解的一致性;

【参考】系统提供术语体系管理功能。

5.3 标注人力供给方式

标注人力模式可包括:内部自营标注、第三方标注、众包标注等。

5.4 标注工具和标注平台选择

标注工具应满足以下条件:
a) 易操作性: 标注工具应降低标注人员的操作难度, 提供交互方式的自有标注;
b) 规范性:标注工具的数据导出格式,应满足或可转换到格式要求
c) 高效性: 标注工具应保证标注任务的完成效率
标注平台包含标注工具全部功能、团队管理、任务分发、质量审核等环节的模块,且将所有标注环节工具化。 标注平台需保证保密数据的安全性
数据量相对较小、数据类型相对单一、标注周期较短时,宜选择标注工具进行标注。

5.5 标注任务创建、分发、开展和回收

5.5.1 标注任务创建

创建标注任务前,将待标注数据上传。上传的导入方式有两种:本地上传(适用于数据在本地设备上);云端上传。
标注数据上传成功后,当仅靠标注工具完成标注时,在创建任务的过程中,任务责任人要事先明确标注任务的目的以及标注规范等。
创建任务包括:
a) 明确任务基本信息:包含任务目的、任务需求(任务优先级,标注人员的能力要求级别等)、任务描述等;
b) 任务配置:根据不同的任务需求,添加与标注任务相关的标注标签;

【批注】任务目的、标注规范、任务优先级、标注人员的能力要求级别、任务描述、任务允许的标签可录入系统。

5.5.2 标注任务分发

根据任务发布者确定的参数及需求,将标注任务分发给标注人员。
标注任务发布者在发布数据时,应明确与标注任务相关的参数:
a) 参与标注人数;
c) 数据标注员每人每天工作量;
e) 任务结束时间点。
标注任务的分发对象包含标注人员和审核人员。标注任务分发给标注人员时,也应将任务分发给审核人。在标注过程中,同时进行标注审核工作。
分发时,按照任务具体信息和标注需求,分配给相应的数据标注员,实现数据标注任务的优化调度,提高数据标注的效率和质量。
注:不同标注人力的供给方式也会影响标注任务的分发形式。

【批注】参与标注人数、每人每天工作量、任务结束时间点可录入系统。

5.5.3 标注任务开展

标注任务中数据标注方法分为两种:全人工标注;半自动标注。
全人工标注方式主要依靠人力进行标注,其标注的数据较精准,当标注数据量较大时,会耗费较多人力。

5.5.4 标注任务回收

在项目协定的任务将要完成时,项目负责人需回收标注作业,且需保证已分配的任务能被完整交付。自营标注团队可直接向标注人员或标注小组负责人收取。回收环节中需注意个别情况和变化的出现,如果标注人员未能按时交付,则需由候补成员继续完成剩余任务,以保证标注任务进度。

【批注】系统提供任务分配的修改功能。

5.6 标注结果质量检查和控制

5.6.1 质量检查

质量检查能够确保数据标注结果有价值,符合数据需求方的特定应用目的。根据项目特性,质量检查方法可以归纳为以下几种,标注项目负责人需要根据场景需求及项目特点进行选择:
a) 逐条检查:即对整个标注项目所包含的所有标注子任务逐一核查并确认。适用于项目量级不大、人力资源充沛、时间节点不紧张、对标注数据结果的准确率要求极高的标注项目。这种方法覆盖的质量检查范围最全,同时也适用于任何形式的数据标注场景。该方法可确保标注数据输出的最高质量,尤其对于数据格式主观成分较多、应用场景较复杂的任务更有效;
b) 按比例抽查:即从全部标注数据中科学地抽取样本,对样本中的数据逐条检查,以此评判全部标注数据的质量。样本量的选择需符合统计学基本原理,足以代表全部标注数据。抽查审核时,项目负责人可指派较有经验的审核员完成,从而确保交付质量;
c) 抽样检验又可分为以下三种:
1 ) 简单抽样:以等概率抽取 n 件待检测样本的方法。
2 ) 系统抽样:每隔一定时间或一定编号进行检测,而每一次又是从一定时间间隔内生产出的产品或一段编号产品中随机抽取一个或几个样本的方法;
在质量检查过程中,需要设定质量检查间隔,防止由于一次性不合格数据积压过多而导致延误交付。还需要根据算法要求设定质量检查合格率,增加标注人员容错率。

holer:系统默认的质量检查方法为逐条检查;质量检查间隔可录入系统;系统提供抽样检验的功能;系统提供合格率统计功能。

5.6.3 质量检查与控制中合格标准的确认

在标注结果的质量检查和控制环节,需在抽查前建立并确认合格标准,并在相关环节贯彻实施。合格标准应具备可量化特性。

5.7 标注结果输出交付要求

5.7.1 图像类型的数据

图像类标注任务的数据结果为带有标签的数据,包含标签的具体内容,及此图像标签对应的图像空间位置(可选)。不同的标注任务和要求会产出不同的结果,但不影响定义数据格式及组成部分。
输出格式推荐使用易解析、易存储的数据格式,格式包括但不限于json或xml。标注文件应该包含标注详细的标签信息。每个独立的标签应包含以下的信息:
a) 标签 id:每个标签的独立编号;
b) 文件路径:待标注图像的名称或路径;
c) 置信度:各标签的置信度;
d) 每个标签中可能包含多个对象,对于每个对象需要定义:
1 ) 对象类型:比如 bounding_box 或者 key point;
2 ) 对象详情:为对象的空间信息、内容信息,或与其他对象的关系信息。

5.8 数据交付和验收

5.8.1 数据交付

数据交付时,标注团队需对最终提交的数据量进行说明。 交付的内容应包括:
a) 标注结果 (必选);
b) 交付和说明文档 (可选);
d) 原始数据 (可选,有时数据使用方可直接访问原始数据,则无需单独交付原始数据)。
交付的文件存储结构如下。
xx数据
├─data
│ .json
│ 原始文件
└─doc
说明:
data——数据文件夹;
doc——说明文档文件夹(可选);
.json——(或.xml等)标注结果文件,可以每一个label单存一个标注结果文件,或者是所有label的结果在一个标注文件中;
原始文件——为单条标注结果对应的原始文件,如图片、音频、文本、视频;

【批注】系统应提供两种文件存储结构供用户选择,一种是符合以上标准的结构,一种是行业常用的结构。用户还可选择是否包含原始文件。

这篇关于《面向机器学习的数据标注规程》摘录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501662

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核