博舍

试用开源标注平台 Label Studio 人工智能标注接单平台下载

试用开源标注平台 Label Studio

数据标注是人工智能背后的女人。——我说的

初探

在reddit上看到一个人提了一个问题:Whatisyourfavourite(free)labellingtool?,你最喜欢的(免费)标注工具是什么。由于我一直关注标注工具,而且没找到好用、漂亮的标注工具(甚至一度计划自己做一个),也认为这块很重要,所以就点进去看了下。收获不少,帖子楼主提到的Prodigy,我点进去看了看,确实很漂亮,但是收费,来看下价格:

罢了。

贫穷让我看到了LabelStudio、doccano和brat,brat我之前就知道,只是没那么美观。剩下两个都很不错,开源也美观,这次我们来看看前者。

以命名实体识别任务的数据标注为例,先来看下使用LabelStudio进行标注的效果:

查看任务进度:

后端使用的是flask,前端使用的是React。

OK,如果你还满意的话可以继续往下看安装、导入数据等部分了。接下来我会以标注NER数据为例,介绍如何使用LabelStudio。标注类别有人名、地名、公司名、产品和时间,标注数据放在sentences.txt中,内容如下:

狼牙山,我站在你面前,显得多么矮小呀!1976年9月间,我与《福建文艺》编辑部的几位同事,专程到上杭县举办改稿学习班。罗湾村为修建一座庙宇,从筹集资金、征集土地,到竣工持续近10年。20日凌晨1时许,博物馆附设的“艺术咖啡”酒吧招待员克罗科洛与监控室的3名女看守联系,没有得到回答。可口可乐公司的发言人辩称,饮料市场本来就是竞争高度激烈的地方,百事可乐应该直接到市场去竞争,而不是在法庭上争斗。安装和启动

主要有三种方式:

pip:pipinstalllabel-studio,建议使用conda等虚拟环境docker:dockerpullheartexlabs/label-studio,docker镜像版本可能会滞后源码:gitclonehttps://github.com/heartexlabs/label-studio.gitcdlabel-studiopythonsetup.pydevelop

建议使用pip方式安装。

假设我们计划将标注相关文件放在ner_labeling文件夹中,你不用事先创建。安装好后使用如下命令启动:

label-studiostartner_labeling--init

这会初始化这个项目并默认在8200端口启动服务,生成一些默认文件和文件夹:

ner_labeling/├──completions#存放标注好的数据,json文件,每一个标注完成的任务都放在一个以其ID命名的json文件中├──config.json#项目设置,例如服务端口├──config.xml#标签(label)设置└──tasks.json#所有导入的任务,key为任务ID,value为任务数据

然后你就可以在http://{your-server-ip}:8200访问了。

设置标签

第一步就是要设置标签,具体包括标签名称、颜色等。可以在网页上直接修改并直观看到效果:

如图修改标签名称和颜色,满意后点击左下角的Save按钮,保存设置到config.xml中。

注意官方并不建议直接修改项目中的文件,建议使用网页或者命令修改。

导入任务

接着点击左上角图标回到主页面,进行第二步导入任务,可以导入json、csv、tsv和txt等文件格式。对于本文的例子来说,我们使用txt文件最为方便,一行是一个句子,直接将文件拖入上传框中即可,完成后会显示导入任务数和耗费时间:

单个txt文件大小不超过1M,如果超过1M,可以使用split命令分割。

关闭后点击右上方导航栏的Tasks,可看到导入的任务数和任务存放地址,就是那个tasks.json,任务ID默认从0开始计数,生成的tasks.json如下:

{"0":{"id":0,"data":{"text":"狼牙山,我站在你面前,显得多么矮小呀!"}},"1":{"id":1,"data":{"text":"1976年9月间,我与《福建文艺》编辑部的几位同事,专程到上杭县举办改稿学习班。"}},"2":{"id":2,"data":{"text":"罗湾村为修建一座庙宇,从筹集资金、征集土地,到竣工持续近10年。"}},"3":{"id":3,"data":{"text":"20日凌晨1时许,博物馆附设的“艺术咖啡”酒吧招待员克罗科洛与监控室的3名女看守联系,没有得到回答。"}},"4":{"id":4,"data":{"text":"可口可乐公司的发言人辩称,饮料市场本来就是竞争高度激烈的地方,百事可乐应该直接到市场去竞争,而不是在法庭上争斗。"}}}开始标注

导入数据后就可以开始标注了,点击导航栏的Tasks→StartLabeling或者直接点击导航栏的Labeling即可开始标注:

每次点击Submit就会保存标注好的数据到completions文件夹中,同时也可以在Tasks中查看已完成的任务及完成时间:

导出数据

导出数据这块是LabelStudio的一个缺点,官方目前支持的是JSON、CSV、TSV、CoNLL2003、COCO和PascalVOCXML,其中CoNLL2003是ner数据格式的一种,但是经过我测试导出这种格式并不成功,导出的文件是空的。

但是我们可以先导出为JSON文件,然后编写一个脚本转换成我们需要的格式,例如BIEOS。

优缺点

经过我粗浅的使用,发现一些优缺点:

优点:

界面相对美观部署方便配置方便,有多种内置模板导入数据方便可以明晰了解任务的完成度及每条任务的完成时间支持图像、文本和音频等多种数据格式和多种任务数据的标注

缺点:

速度较慢,尤其是保存标注结果并进行下一条标注时没有账号体系,但是有一个multisessionmode,暂未深入研究Reference[D]Whatisyourfavourite(free)labellingtool?:MachineLearningLabelStudiodoccano/doccano:Opensourcetextannotationtoolformachinelearningpractitioner.Prodigy·AnannotationtoolforAI,MachineLearning&NLPbratrapidannotationtoolEND

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇