使用doccano标注NER数据详细教程

使用doccano标注NER数据详细教程

说明:

  • 首次发表日期:2024-10-12
  • 参考资料:
    • https://github.com/zjunlp/DeepKE/blob/main/README_TAG_CN.md
    • https://doccano.github.io/doccano/tutorial/
    • https://blog.****.net/GongYangXianShen/article/details/137270106 (转换为BIO格式)

部署doccano

https://github.com/doccano/doccano 有说明如何部署。比如使用Docker部署:

docker run --name doccano \
  -d --restart always \
  -e "ADMIN_USERNAME=admin" \
  -e "ADMIN_EMAIL=admin@example.com" \
  -e "ADMIN_PASSWORD=password" \
  -v doccano-db:/data \
  -p 8001:8000 doccano/doccano

创建用户

默认只有一个用户,我们需要打开ADMIN管理页面添加新的用户。

在主网址后加/admin/然后打开ADMIN管理页面(注意后边的斜杠是必须的),点击Add

添加用户名和密码信息后,点击SAVE以保存:

如何进行NER标注

创建项目

默认的界面是英语的,不习惯英语的话,可以切换为中文:

然后点击登录,输入用户名和密码登录,登录之后:

点击创建,会跳转到以下页面:

点击以选择序列标注(Sequence Labeling),然后输入名称等必要信息,根据需要配置其他属性:

点击创建,跳转到以下页面:

导入数据集

单击左侧的数据集按钮:

移动鼠标到操作按钮:

点击导入数据集:

doccano支持多种格式的文本,它们的区别如下:

  • Textfile:上传的文件为txt格式,打标时一整个txt文件显示为一页内容;
  • Textline:上传的文件为txt格式,打标时txt文件的一行文字显示为一页内容;
  • JSONLJSON Lines的简写,每行是一个有效的JSON值;
  • CoNLLCoNLL格式的文件,每行均带有一系列制表符分隔的单词;

上传一个TXT文件:

点击导入后:

定义标签

点击左侧的标签,然后移动鼠标到操作菜单后点击创建标签

创建3个常见的标签,PER, LOC, ORG,实际应用中需要根据需求确定有哪些标签。以下以创建PER标签为例:

创建完后:

添加成员

点击左侧的成员按钮,然后点击增加

选择需要添加到项目的用户和角色,其中有3种角色(项目管理员 ,标注员,审查员)。选择好后保存:

保存后可以看到:

分配标注任务

首先,选中需要分配的数据:

然后,点击操作菜单下的Assign to member

选择分配方案,然后点击右侧的Assign按钮

以上分配方案将15%的任务分配给admin用户,85%的任务分配给user1用户。

查看分配结果:

标注

点击左侧数据集,然后选择一条数据,点击最右边的标注按钮开始标注。

举例来说,点击右侧的PER标签,然后鼠标分别选择文本中的对应文字:

标注完成后,点击文本左上角的X按钮表示已标注完成:

导出数据

点击左侧数据集按钮,移动鼠标到操作菜单,点击导出数据集

选择JSONL格式,勾选Export only approved documents(仅导出已审核过的数据),然后点击导出:

上一篇:【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning-4 Experiments


下一篇:Ubuntu 22.04静态IP的修改