赞
踩
doccano是一个开源文本标注工具。 它提供了文本分类,序列标注和序列到序列的标注功能。 因此,您可以为情绪分析,命名实体识别,文本摘要等创建标记数据。 只需创建项目,上传数据并开始标注。
总结下来就3步,上传数据,标注,下载带有标签的数据。
命名实体识别
第一个演示是序列标记任务之一,命名实体识别。 您只需选择文本跨度并对其进行标注即可。 由于doccano支持快捷键,因此您可以快速标注文本跨度。
情感分析
第二个演示是文本分类任务之一,主题分类。 由于可能有多个类别,因此您可以标注多个标签。
机器翻译
最终演示是序列任务,机器翻译的序列之一。 由于序列任务的顺序可能不止一个,因此您可以创建多个响应。
首先,您必须克隆存储库:
- git clone https://github.com/chakki-works/doccano.git
-
- cd doccano
要安装doccano,有三种选择:
选项1:拉出生产Docker镜像
docker pull chakkiworks/doccano
选项2:设置Python环境
首先,我们需要安装依赖项。 运行以下命令:
- sudo apt-get install libpq-dev
-
- pip install -r requirements.txt
-
- cd app
接下来我们需要启动webpack服务器,以便前端不断编译。 在新shell中运行以下命令:
- cd server/static
-
- npm install
-
- npm run build# npm start # for developers
-
- cd ..
选项3:拉动开发Docker-Compose图像
docker-compose pull
用法:
启动开发服务器
让我们启动开发服务器并进行探索。
根据您的安装方法,有两种选择:
选项1:将Docker镜像作为Container运行
首先,运行Docker容器:
- docker run -d --rm --name doccano \
-
- -e "ADMIN_USERNAME=admin" \
-
- -e "ADMIN_EMAIL=admin@example.com" \
-
- -e "ADMIN_PASSWORD=password" \
-
- -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)
- EU rejects German call to boycott British lamb.
-
- President Obama is speaking at the White House.
-
- He lives in Newark, Ohio....
example.json
- {"text": "EU rejects German call to boycott British lamb."}
-
- {"text": "President Obama is speaking at the White House."}
-
- {"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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。