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

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑