doccano使用记录

参考文章:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/uie/doccano.md
参考文章:https://github.com/doccano/doccano
参考文章:https://doccano.github.io/doccano/
参考文章:https://zhuanlan.zhihu.com/p/371752234
系统: Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-146-generic x86_64)
Python: 3.8.10
doccano: 1.8.4

doccano

安装

使用下面的语句来安装,注意仅支持3.8以上的python。

pip install doccano

默认情况下,SQLite 3 用于默认数据库。如果要使用 PostgreSQL,请安装额外的依赖项:

pip install 'doccano[postgresql]'

并DATABASE_URL根据您的 PostgreSQL 凭据设置环境变量:

DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}?sslmode=disable"

20230706补充使用MySQL数据库的方法
参考文章: https://doccano.github.io/doccano/install_and_upgrade_doccano/
参考文章: https://github.com/jazzband/dj-database-url
修改环境变量,在环境变量中添加下面语句。

export DATABASE_URL="mysql://USER:PASSWORD@HOST:PORT/NAME"

然后启用环境变量即可。
如果没有对应的连接器,则会提示安装对应的包。
ps:mysql的是使用mysqlclient作为连接器。如果发生安装错误,则执行下列语句即可。

sudo apt-get install update #更新软件列表
sudo apt-get install upgrade #更新软件
sudo apt-get install libmysqlclient-dev

初始化doccano数据库

doccano init

创建一个super user。这里要把pass改成你需要的密码。当然,用户名也可以改成别的。

doccano createuser --username admin --password 123456

启动webserver

参考文章:https://doccano.github.io/doccano/faq/#how-to-create-a-user
首先,在终端中运行下面的代码来启动WebServer

doccano webserver --port 30003

然后,打开另一个终端,运行下面的代码启动任务队列:

doccano task

然后在电脑中打开http://127.0.0.1:30003/,使用刚刚的账号即可登陆。
在浏览器输入http://127.0.0.1:30003/admin/即可进行修改密码,新增用户等操作。
在这里插入图片描述

错误处理

错误1,参考文章:https://stackoverflow.com/questions/72191560/importerror-cannot-import-name-soft-unicode-from-markupsafe

ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py)

markupsafe==2.0.1降级即可。

使用 Docker 安装

拉取镜像下来

docker pull python:3.8.10

创建容器

docker run -v /home/qhdata/doccano:/home/qhdata/doccano -w /home/qhdata/doccano  -e DATABASE_URL="postgres://root:123456@10.10.20.51:5432/doccano?sslmode=disable" -p 30003:30003  -i -t python:3.8.10 /bin/bash

在容器中安装doccano

pip install 'doccano[postgresql]' -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install psycopg2-binary -i https://pypi.tuna.tsinghua.edu.cn/simple

然后正常的初始化即可。

错误:参考文章:https://gist.github.com/BaronKimaru/4a45928f6c5a35ea751d3007f2b7a8af

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration socialaccount.0001_initial is applied before its dependency sites.0001_initial on database 'default'.

把数据库中的所有以前的表格删除掉即可。
后台运行

nohup doccano webserver --port 30003 > doccano_webserver.log 2>&1 &
nohup doccano task > doccano_task.log 2>&1 &

使用

参考文章:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/uie/doccano.md

创建项目

在这里插入图片描述
创建项目时选择序列标注任务,并勾选Allow overlapping entity及Use relation Labeling。适配命名实体识别、关系抽取、事件抽取、评价观点抽取等任务。
创建项目时选择文本分类任务。适配文本分类、句子级情感倾向分类等任务。
下面是序列标注的子选项
在这里插入图片描述

导入数据集

在这里插入图片描述

标签构建

在这里插入图片描述

任务标注

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

数据导出

在这里插入图片描述
抽取式和实体/评价维度级分类任务数据

{ "id" : 56,
"text" : "深圳市交通运输行政执法支队2023年交通执法后勤物资配送服务项目1标采购公告\\n来源:深圳公共资源交易中心发布时间:2023-03-1318:54:04浏览次数:次[字体:]",
"entities" :[{ "id" : 92,
"label" : "标题",
"start_offset" : 0,
"end_offset" : 36 },{ "id" : 169,
"label" : "标段",
"start_offset" : 32,
"end_offset" : 34 }],
"relations" :[],
"Comments" :[]}

标注数据保存在同一个文本文件中,每条样例占一行且存储为json格式,其包含以下字段

  • id: 样本在数据集中的唯一标识ID。
  • text: 原始文本数据。
  • entities: 数据中包含的Span标签,每个Span标签包含四个字段:
    • id: Span在数据集中的唯一标识ID。
    • start_offset: Span的起始token在文本中的下标。
    • end_offset: Span的结束token在文本中下标的下一个位置。
    • label: Span类型。
  • relations: 数据中包含的Relation标签,每个Relation标签包含四个字段:
    • id: (Span1, Relation, Span2)三元组在数据集中的唯一标识ID,不同样本中的相同三元组对应同一个ID。
    • from_id: Span1对应的标识ID。
    • to_id: Span2对应的标识ID。
    • type: Relation类型。

句子级分类任务数据

{
    "id": 41,
    "data": "大年初一就把车前保险杠给碰坏了,保险杠和保险公司 真够倒霉的,我决定步行反省。",
    "label": [
        "负向"
    ]
}
  • id: 样本在数据集中的唯一标识ID。
  • data: 原始文本数据。
  • label: 文本对应类别标签。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值