【教程】Doccano 安装避坑指南

Doccano是什么?

Doccano是一个开源的文本标记工具,专为自然语言处理(NLP)任务设计,支持文本分类、序列标注、序列到序列(如翻译或摘要)等任务的数据标注。其界面简洁,支持多人协作,适合构建高质量的标注数据集。

然而在当前的Doccano版本下,许多其依赖的package的版本与之不兼容,也就导致直接安装的Doccano无法使用,本文总结了笔者成功安装的经验,希望可以帮助到广大网友~

一、Doccano 的安装

1. 环境准备

  • 打开终端terminal,新建一个名为doccano的虚拟环境(在这里新建一个anaconda的环境),需安装Python 3.9及以上版本(此处选择Python 3.12):
    conda create -n doccano python=3.12
    
  • 进入虚拟环境:
    conda activate doccano
    
  • 安装Doccano:
    pip install doccano
    

2. 初始化与创建账号

在已安装好Doccano的环境中,执行以下命令初始化并创建账号(设置用户名为admin,密码为pass):

doccano init
doccano createuser --username admin --password pass
问题1:初始化&创建用户时出现marshmallow的version问题报错——marshmallow版本兼容问题

在这里插入图片描述

  • 报错现象:运行doccano init命令时,出现与marshmallow版本相关的报错,提示module 'marshmallow' has no attribute '_version_info_'。
  • 原因:marshmallow库版本过高,与Doccano不兼容。
  • 解决办法:卸载当前版本,安装兼容的3.7.0版本:
    pip uninstall marshmallow
    pip install marshmallow==3.7.0
    
  • 解决后,重新执行初始化和创建账号的命令即可正常运行。

3. 启动Web服务器

doccano webserver --port 8000

4. 启动任务队列

  • 打开另一个终端,先进入虚拟环境:
    conda activate doccano
    
  • 再启动任务队列:
    doccano task
    
问题2:启动doccano时,无法正常启动——numpy与pandas版本兼容问题在这里插入图片描述
  • 报错现象:运行doccano task命令时,出现ValueError: numpy.dtype size changed, may indicate binary incompatibility等报错。
  • 原因:numpy和pandas版本不兼容。
  • 解决办法:卸载当前版本,安装兼容的版本(此处选择pandas 2.1.0和numpy 1.26.0):
    pip uninstall numpy pandas
    pip install pandas==2.1.0
    pip install numpy==1.26.0
    

5. 访问操作界面

  • 使用浏览器访问以下地址:http://127.0.0.1:8000/
  • 输入用户名admin和密码pass,即可登录。

二、Doccano 的使用

1. 新建项目

在这里插入图片描述在这里插入图片描述

  • 登录账号后,在项目页面点击“Create”新建项目。
  • 项目类型选择“Sequence Labeling”(序列标注),并根据需求勾选相关选项,例如:
    • Allow project members to create label types(允许项目成员创建标签类型)
    • Allow overlapping spans(允许重叠跨度)
    • Use relation labeling(使用关系标注)等
  • 填写标签(Tags)信息,如LOC(地点)、FAC(设施)等。
  • 完成设置后,点击“Create”创建项目。
    在这里插入图片描述

2. 上传数据

在这里插入图片描述

  • 点击“Dataset”,选择“Import”上传数据。
  • 支持的格式为JSONL(推荐,可保留原文分段),csv格式需先通过convert.ipynb转换为JSONL格式。
  • 上传时,除metadata和title列外,其他列(如post内容)将被视作数据内容载入系统。
  • 选择示例文件function.jsonl,直接拖入上传区域,设置:
    • column data为需要标注的数据列(如text)
    • column label为已有的标签列(如label)
  • 点击“Import”完成上传,可在页面查看每条数据的text、title和post内容。

在这里插入图片描述在这里插入图片描述

3. 载入标签设置在这里插入图片描述

  • 进入“Labels”页面,点击“Import Labels”。
  • 上传label_config.json文件(示例格式如下),完成标签载入:
    [
      {"text":"og", "suffix key":"a", "background color":"#FF0000", "textcolor":"#ffffff"},
      {"text":"at", "suffix key":"", "background color":"#FF0000", "textcolor":"#ffffff"}
    ]
    

4. 开始标注

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 点击“Start Annotation”进入标注页面。
  • 标注方式:鼠标选中需要标注的文本片段,在弹出的标签列表中选择对应的标签(或输入标签对应的数字代码)。
  • 标注完成后,需敲击Enter键或点击左上角的“check”按钮确认,以确保标注结果被保存。

5. 导出数据

在这里插入图片描述在这里插入图片描述

  • 标注完成后,在“Dataset”的“Actions”中选择“Export”导出数据。
  • 可选择“Export only approved documents”(仅导出已确认的文档)。
  • 导出格式为JSONL。
  • 若需将导出数据用于统计软件,需进行额外的数据处理。

三、预期效果与软件优缺点

预期效果

  • 可将Doccano部署在服务器上,支持远程协作标注,团队成员可实时查看标注结果,且数据更新、添加评论(comment)和确认(check)等操作均可在平台上完成。

软件优缺点

  • 优点:标注体验良好,支持远程协作,操作界面简洁直观。
  • 缺点:标注结果需经过额外处理,才能导入分析软件使用。
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐