doccano标注工具|为机器学习建模做数据标注

2024-04-04 11:28

本文主要是介绍doccano标注工具|为机器学习建模做数据标注,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、标记流程
二、配置环境
        2.1 安装
        2.2 运行doccano
三、案例
        3.1 创建项目
        3.2 上传数据
        3.3 定义标签
        3.4 添加成员
        3.5 开始标注
        3.6 导出数据
        3.7 导出数据

doccano

doccano是开源的数据标注工具,可以简化数据标注的难度。需要注意,市面上的机器学习课程一般都默认数据已标注,在此基础上讲机器学习。

您还可以将 doccano 与您的脚本集成,因为它将功能公开为API。 doccano API是在局域网内的网址链接,多台设备可打开浏览、标注。

一、标记流程

通过以下步骤开始和完成使用 doccano 的标签项目:

  • 安装doccano。
  • 运行doccano。
  • 设置标签项目。 选择标签项目的类型, 配置项目设置。
  • 导入数据集。 您还可以导入带标签的数据集。
  • 给项目添加标注人员
  • 给标志者定义标注工作文档说明
  • 开始标记数据。
  • 导出标记的数据集。


二、配置环境

2.1 安装
打开命令行(cmd、terminal)执行安装命令

pip3 install doccano


2.2 运行doccano
在命令行(cmd、terminal)内依次执行

#在电脑第一次运行的时候初始化doccano
#只需设置一次,之后不用再运行该命令
 

doccano init

#创建用户名及密码;例如现在有一个主管admin,两个标注员tom和jack
#设置好用户,之后不用再运行该命令
 

doccano createuser --username admin --password pass
doccano createuser --username tom --password pass
doccano createuser --username jack --password pass

#开启doccano服务
 

doccano webserver

完成上述操作后,另打开一个新的命令行,执行下列命令

doccano task


三、案例

下面我们以外卖评论数据为例,对评论进行判断,标注为正、负面情感。

3.1 创建项目

先登录用户名和密码,这里的admin是超级用户(权限最大)


为创建项目,如图点击Create按钮。 根据需要选择合适的项目类别,这里选择的Text Classification,

填写项目信息,例如项目名情感标注,简介、标注类型

根据需要选择项目的功能需求,例如允许单标签,把数据打乱随机显示, 用户之间共享标注

3.2 上传数据

创建项目后,点击Dataset按钮,点击Import dataset导入数据。我这里准备的是csv文件,拥有review和label两个字段。

3.3 定义标签

点击左侧菜单中的“Labels”按钮来定义我们的标签。 我们应该看到标签编辑器页面。 在标签编辑器页面中,您可以通过指定标签文本、快捷键、背景颜色和文本颜色来创建标签。

同理,可以定义负面neg标签。现在有了pos和neg两个标签。 

3.4 添加成员

点击左侧目录中的 Members 按钮,

然后,选择“Add”按钮以显示表单。 使用您要添加到项目中的用户名和角色填写此表单。 然后,选择“Save”按钮。 

如果没有可供选择的成员,记得创建成员。形如doccano createuser --username tom --password pass

3.5 开始标注

接下来,我们准备标注文本数据。 只需点击导航栏中的“Start annotation”按钮,我们就可以开始对文档进行批注了。

3.6 导出数据

在注释步骤之后,我们可以下载标注后的数据。 转到“Dataset”页面,然后单击“操作”菜单中的“Export dataset”按钮。 选择导出格式后,单击“Export”。 您应该看到以下屏幕:

到出的结果如下

3.7 导出数据

对了,当标注过程不同阶段,还看查看标注工作量等可视化信息

四、安装过程命令

#虚拟环境
conda create --name doccano python=3.9
conda info --envs
source activate doccano#pip安装方式
pip install doccano (默认doccano==1.8.4版本)
doccano init
doccano createuser --username admin --password pass
doccano createuser --username tom --password pass
doccano webserver#卸载
pip uninstall doccanopip install doccano==1.8.2#pip源更换,提高安装速度
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple doccano
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple doccano==1.8.2#Docker安装方式docker pull doccano/doccanosing default tag: latest
latest: Pulling from doccano/doccano
7a6db449b51b: Pull complete 
e238bceb2957: Pull complete 
9c37eda4ff12: Pull complete 
120078faa760: Pull complete 
2d3523ccd6f4: Pull complete 
c62e2504b88c: Pull complete 
933dc7a3d368: Pull complete 
f5ecd3a845d0: Pull complete 
dfb494ed37e3: Downloading [==========>                                        ]  33.45MB/159.6MB
548b03d8e5e3: Download complete 
4fb76ac8dbcd: Download complete 
51219b6ada00: Download complete 
4f4fb700ef54: Download complete 
e3407eb63e03: Downloading [============================>                      ]  4.324MB/7.477MB
47f7c73cd77f: Downloading [===========================>                       ]  19.13MB/35.4MB完成状态:
Using default tag: latest
latest: Pulling from doccano/doccano
7a6db449b51b: Pull complete 
e238bceb2957: Pull complete 
9c37eda4ff12: Pull complete 
120078faa760: Pull complete 
2d3523ccd6f4: Pull complete 
c62e2504b88c: Pull complete 
933dc7a3d368: Pull complete 
f5ecd3a845d0: Pull complete 
dfb494ed37e3: Pull complete 
548b03d8e5e3: Pull complete 
4fb76ac8dbcd: Pull complete 
51219b6ada00: Pull complete 
4f4fb700ef54: Pull complete 
e3407eb63e03: Pull complete 
47f7c73cd77f: Pull complete 
Digest: sha256:165e8a1ba2fe3c3c92d4927d74b6badc9985d295c90de28674a5511a62bcdf5c
Status: Downloaded newer image for doccano/doccano:latest
docker.io/doccano/doccano:latestdocker container create --name doccano \-e "ADMIN_USERNAME=admin" \-e "ADMIN_EMAIL=admin@example.com" \-e "ADMIN_PASSWORD=password" \-v doccano-db:/data \-p 8000:8000 doccano/doccano#创建中,稍等1分钟,显示
1dd2951d71970abb16199177e1fd8f9006508757f96d239669f23c1e7c09c7d5#运行
docker container start doccano运行完成显示doccano

五、已知问题

1、安装最新版本的1.8.4后,导入csv和excel文件一直无法成功,不清楚是源代码问题还是某个软件包版本问题,最后使用txt文件或json文件方式导入数据;

2、标注人员和审核人员,貌似权限没有什么区别,正常理解标注人员可以标注不能点击"对勾and叉叉"确定此条标注完成,审核人员审核后可以标注完成,目前安装完成后标注人员和审核人员都可以确认完成操作;

参考:
https://textdata.cn/blog/doccano_text_anotation/#32-%e4%b8%8a%e4%bc%a0%e6%95%b0%e6%8d%ae
https://blog.csdn.net/u013010473/article/details/125447063
https://zhuanlan.zhihu.com/p/371752234
https://blog.csdn.net/weixin_42475060/article/details/131540351
https://blog.csdn.net/weixin_37763484/article/details/132813982 

这篇关于doccano标注工具|为机器学习建模做数据标注的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建