通用文本标注工具 labelme

导语: 一个支持文本类目标注和关键词打分的通用标注工具,为文本分类模型和关键词抽取任务提供训练和测试数据。-- by 慕福楠 & 孙振龙

1. 背景

很多 NLP 任务训练和评估都依赖大量标注数据,对于文本分类,使用标注数据进行模型训练和评测,如商业兴趣分类、电商分类、APP分类;对于关键词抽取,使用标注数据进行评测。在标注数据获取过程中存在以下问题:Excel 标注方式效率低下;腾讯系数据源多,标注数据难于管理;标注质量难以保证,依赖人工抽样,费时费力。因此,我们快速开发了一个通用的文本标注工具并开源,工具名称为labelme,翻译成“来标我”,现在labelme已经支持组内所有的标注任务。

2. 支持的特性

图1 labelme支持的特性

2.1 多场景

目前支持文本类目标注(图2)和关键词标注(图3)两个场景。类目标注支持树状类目体系,标注时自顶向下标注,从root标注到叶节点,例如图2中,先标一级“餐饮美食”,再标二级“餐馆”。关键词标注支持正在打分的关键词在文档中高亮和增加候选中没有的关键词功能。

图2 类目标注界面

图3 关键词标注界面

2.2 多任务

labelme支持多个任务同时标注,通过简单的配置即可增加新的标注任务,配置如图4,然后在系统登录页选择相应的Task进行标注,如图5所示。

图4 配置定义

图5 系统登录页

2.3 质量校验

为了保证标注数据质量,labelme引入质量校验特性,利用专家标注的数据验证普通标注人员的标注数据的准确率。将开发或者产品定义为Owner(专家),将外包同学定义为Labeler(普通标注人员),Owner标注的数据作为Golden Set,Labeler每天的标注数据中掺一定比例的Golden Set,比例可配置(配置定义中的owner_sample_ratio字段),每天以Golden Set作为正确答案,计算Labeler标注的准确率。Labeler之间的标注数据不会有交集,见图6,每天分配给Labeler的Golden Set是Labeler没有标注过的,所以一旦Golden Set用完,系统无法计算准确率,需要Owner定期标注一些Golden Set计算Labeler的准确率。

图6 各角色标注数据交集情况

2.4 Active Learning(待实现)

对于类目标注, 为了提高标注效率和减少不必要的标注,可以利用已有标注数据训练弱分类器,对未标注数据进行预测,假定预测的结果为Pi (i = 1, 2, ...N;N是类目的个数),预测结果为c = argmax_i Pi,即样本的预测类别为c,概率为Pc,labelme将Pc低于threshold的样本返回给标注人员进行标注,Pc高于threshold的样本认为是跟已标注样本很相似,不需要再标注。每天重新训练弱分类器,重新预测未标注样本的类别,重新估计threshold。另外,为了降低系统复杂度,弱分类器与labelme解耦,labelme提供接口给弱分类器,接口包括获取已标注数据和未标注数据,更改未标注数据预测类别,弱分类器由用户自行选择。另外,labelme优先展示概率比较大的类目,提高标注效率。

2.5 CDB数据管理

labelme采用mysql管理标注数据,mysql使用CDB,保证数据安全,毕竟标注数据需要大量人力。

2.6 报表推送

labelme会向任务的owner和labeler推送报表,报告样本总量,已标数据,剩余数量,每个人前一天标注数量和准确率。

3. 未来计划

未来工作包括UI优化和Active Learning。UI优化包括上一页按钮和查询界面,上一页按钮为了修改误标的数据,查询界面是报表的扩展,提供更多维度的查询,比如某个外包同学特定时间段内所有任务的标注量和正确率。对于Active Learning上文提到了未来的实现方式,这里不再赘述。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

理查德的专栏

1 篇文章2 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

10行代码实现目标检测,请收下这份教程

1011
来自专栏玉树芝兰

如何用Python和深度神经网络识别图像?

(由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。如有需要,请点击文末的“阅读原文”按钮,访问可以正常显示外链的版本。)

1202
来自专栏企鹅号快讯

如何用Python和深度神经网络识别图像?

视觉 进化的作用,让人类对图像的处理非常高效。 这里,我给你展示一张照片。 如果我这样问你: 你能否分辨出图片中哪个是猫,哪个是狗? 你可能立即会觉得自己遭受到...

3809
来自专栏新智元

MXNet 作者李沐:用深度学习做图像分类,教程+代码

1705
来自专栏AI科技大本营的专栏

10行代码实现目标检测,请收下这份教程

作为人工智能的一个重要领域,计算机视觉是一门可以识别并理解图像和场景的计算机及软件系统科学。该领域主要包括图像识别,目标检测,图像生成,图像超分辨率等多个方向。...

1051
来自专栏目标检测和深度学习

深度学习图像标注工具

对于监督学习算法而言,数据决定了任务的上限,而算法只是在不断逼近这个上限。世界上最遥远的距离就是我们用同一个模型,但是却有不同的任务。但是数据标注是个耗时耗力的...

1526
来自专栏应兆康的专栏

5. 开发集和测试集

让我们回到之前关于猫咪图片的例子: 你开发了一个移动APP, 用户可以上传许多不同的图片到你的APP上,你想识别出用户上传的图片中所有包含猫咪的图片。 你的团队...

3066
来自专栏AI研习社

MXNet 宣布支持 Keras 2,可更加方便快捷地实现 CNN 及 RNN 分布式训练

AI 研习社按,近期,AWS 表示 MXNet 支持 Keras 2,开发者可以使用 Keras-MXNet 更加方便快捷地实现 CNN 及 RNN 分布式训练...

1147
来自专栏CSDN技术头条

DIGITS 2支持多GPU自动扩展 实现深度学习性能倍增

DIGITS 是一款面向数据科学家和研究人员的交互式深度学习开发工具,设计的初衷是为了适应优越的深度神经网络的迅速开发和部署。NVIDIA在2015年3月份推出...

20010
来自专栏AI科技大本营的专栏

如何通过深度学习轻松实现自动化监控?

【导读】这是一篇关于使用基于深度学习的目标检测来实现监控系统的快速教程。在教程中通过使用 GPU 多处理器来比较不同目标检测模型在行人检测上的性能。

1015

扫码关注云+社区