当前位置:   article > 正文

文本数据标注工具Doccano

doccano

        doccano是一个开源文本标注工具。 它提供了文本分类,序列标注和序列到序列的标注功能。 因此,您可以为情绪分析,命名实体识别,文本摘要等创建标记数据。 只需创建项目,上传数据并开始标注。

总结下来就3步,上传数据,标注,下载带有标签的数据。

命名实体识别

第一个演示是序列标记任务之一,命名实体识别。 您只需选择文本跨度并对其进行标注即可。 由于doccano支持快捷键,因此您可以快速标注文本跨度。

情感分析

第二个演示是文本分类任务之一,主题分类。 由于可能有多个类别,因此您可以标注多个标签。

机器翻译

最终演示是序列任务,机器翻译的序列之一。 由于序列任务的顺序可能不止一个,因此您可以创建多个响应。

doccano特性

  • 合作标注:可以进行多人合作,分配标注任务。
  • 语言独立性:你可以对任何语言的文本进行标注。在使用doccano的人群中,已知有英语,中文,日语,阿拉伯语,印度尼西亚语,etc。
  • (未来设想)自动标注:对一个文本进行了一部分标注后,后台通过学习,能自动对文本进行标注,提高标注效率。

安装:

首先,您必须克隆存储库:

  1. git clone https://github.com/chakki-works/doccano.git
  2. cd doccano

要安装doccano,有三种选择:

选项1:拉出生产Docker镜像  

 docker pull chakkiworks/doccano

选项2:设置Python环境

首先,我们需要安装依赖项。 运行以下命令:

  1. sudo apt-get install libpq-dev
  2. pip install -r requirements.txt
  3. cd app

接下来我们需要启动webpack服务器,以便前端不断编译。 在新shell中运行以下命令:

  1. cd server/static
  2. npm install
  3. npm run build# npm start  # for developers
  4. cd ..

选项3:拉动开发Docker-Compose图像

docker-compose pull

用法:

启动开发服务器

让我们启动开发服务器并进行探索。

根据您的安装方法,有两种选择:

选项1:将Docker镜像作为Container运行

首先,运行Docker容器:

  1. docker run -d --rm --name doccano \
  2.   -e "ADMIN_USERNAME=admin" \
  3.   -e "ADMIN_EMAIL=admin@example.com" \
  4.   -e "ADMIN_PASSWORD=password" \
  5.   -p 8000:8000 chakkiworks/doccano

选项2:运行Django开发服务器

在运行之前,我们需要进行迁移。 运行以下命令:

python manage.py migrate

接下来,我们需要创建登录管理站点的用户。 运行以下命令:

python manage.py create_admin --noinput --username "admin" --email "admin@example.com" --password "password"

开发人员还可以通过运行测试来验证项目是否按预期工作:

python manage.py test server.tests

最后,要启动服务器,请运行以下命令:

python manage.py runserver

(可选)您可以使用该命令更改绑定IP和端口

python manage.py runserver <ip>:<port>

选项3:运行开发Docker-Compose堆栈

我们可以使用docker-compose在一个命令中设置webpack服务器,django服务器,数据库等:

docker-compose up

登录:

现在,打开Web浏览器并转到http://127.0.0.1:8000/login/。 你应该看到登录界面:

创建项目:

现在,尝试使用您在上一步中创建的超级用户帐户登录。 您应该看到doccano项目列表页面:

尚未创建任何项目。 要创建项目,请确保您已进入项目列表页面并选择“创建项目”按钮。 您应该看到以下屏幕:

在此步骤中,您可以选择三种项目类型:文本分类,序列标记和序列到序列。 您应该选择符合您目的的类型。

导入数据:

创建项目后,您将看到“导入数据”页面,或单击导航栏中的“导入数据”按钮。 您应该看到以下屏幕:

您可以上传两种类型的文件:

CSV文件(TXT文件):文件必须包含带有文本列的标头,或者是单列csv文件。

JSON文件:每行包含一个带有文本键的JSON对象。 JSON格式支持换行符渲染。

注意:由于缩进问题,Doccano不会在标注页面中为序列标注任务呈现换行符,但导出的JSON文件仍包含换行符。

example.txt (or example.csv)

  1. EU rejects German call to boycott British lamb.
  2. President Obama is speaking at the White House.
  3. He lives in Newark, Ohio....

example.json

  1. {"text": "EU rejects German call to boycott British lamb."}
  2. {"text": "President Obama is speaking at the White House."}
  3. {"text": "He lives in Newark, Ohio."}

...

保留任何其他列(用于csv)或键(用于json),并将按原样导出元数据列或键。

在计算机上选择TXT / JSON文件后,单击“上载数据集”按钮。 上传数据集文件后,我们将看到“数据集”页面(或单击左侧栏中的“数据集”按钮列表)。 此页面显示我们在一个项目中上传的所有文档。

定义标签:

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

标注:

现在,您已准备好对文本进行标注。 只需单击导航栏中的“标注数据”按钮,即可开始标注上载的文档。

导出数据

在标注步骤之后,您可以下载带标注的数据。 单击导航栏中的“编辑数据”按钮,然后单击“导出数据”。 你应该看到下面的屏幕:

您可以通过单击按钮将数据导出为CSV文件或JSON文件。 对于导出文件格式,您可以在此处进行检查:导出文件格式。

每个导出的文档都将包含元数据列或键,其中将包含导入文档中的其他列或键。 元数据的主要用例是允许您通过将external_id添加到导入的文件来将导出的数据与其他系统进行匹配。 例如:

输入文件可能如下所示:import.json

{"text": "EU rejects German call to boycott British lamb.", "meta": {"external_id": 1}}

导出的文件如下所示:output.json

{"doc_id": 2023, "text": "EU rejects German call to boycott British lamb.", "labels": ["news"], "username": "root", "meta": {"external_id": 1}}

导出结果:

文本类别标注:

NER标注:

关键词标注:

Doccano开源项目链接:https://github.com/chakki-works/doccano

启动:python manage.py runserver 0.0.0.0:8000

参考链接:支持多语言的文本标注工具——doccano - 知乎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/677584
推荐阅读
相关标签
  

闽ICP备14008679号