installation of docanno in Tencent cloud VPS

在做文本命名实体识别(Named Entity Recognition, NER)时经常需要对语料做标注,如果采用传统的EXCEL手工录入方式,后续的格式整理费时费力。无意中在网上发现一个文本标注工具软件,该软件与具体的语言无关,可以部署在私有服务器上使用。经过一番实验,走通了在腾讯云服务器上部署的流程,说明如下,留待以后备存:

第一步:安装 docker

Docker是一种容器技术,可以将应用和环境等进行打包,形成一个独立的、类似于iOS的App形式的“应用”。这个应用可以直接被分发到任意一个支持Docker的环境中,通过简单的命令即可启动运行。

Docker是一种最流行的容器化实现方案,和虚拟化技术类似,它极大地方便了应用服务的部署;又与虚拟化技术不同,它以一种更轻量的方式实现了应用服务的打包。使用Docker,可以让每个应用彼此相互隔离,在同一台机器上同时运行多个应用,不过它们彼此之间共享同一个操作系统。Docker的优势在于,它可以在更细的粒度上进行资源管理,也比虚拟化技术更加节约资源。

关于 Docker 的详细教程参见:https://www.cnblogs.com/codelove/p/10030439.html

在腾讯云服务器 Ubuntu 16.02LST 版本操作系统上安装的详细说明见:https://www.cnblogs.com/purpleraintear/p/6024328.html,几个主要步骤如下:

1. 添加Docker repository key
sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"

2. 添加Docker repository,并安装Docker
sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
apt-get update
apt-get install lxc-docker

3. 检查Docker是否已安装成功
docker version

第二步:在腾讯云上安装文本标注工具 docker

doccano 是一款开源文本标注工具软件,用Python开发,主要提供文本分类标注、文本序列标注、序列到序列(seq2seq)标注功能。详见:https://github.com/chakki-works/doccano

安装步骤如下:

首先git clone 到腾讯云服务器上

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

其次,安装 Docker 镜像

docker pull chakkiworks/doccano

第三,安装成功后,运行 Docker 容器

docker run -d --name doccano -p 8000:80 chakkiworks/doccano # 注意此处开通的是8000端口

第四,创建登录的超级用户账号与密码

docker exec doccano tools/create-admin.sh "admin" "wujun1127@126.com" "bywujun12345"

创建管理员账号后,登录wujun.site:8000/admin 创建用户账号:liufeixue 密码: buptsem2017 为学生标注做准备

第五,在腾讯云服务器主机,安全组设置中,放行8000端口,以便用户外网可以访问

之后,访问https://wujun.site:8000/login 使用创建的超级用户账号和密码登录系统即可在线进行标注了。

第三步:在 docano 中标注文本

补充说明1

重启腾讯云服务器后,doccano应用也停止了,如何重新启动容器中的doccanno应用呢?步骤如下,备存留用:

第一步:检查下容器是否在运行,如果没有运行,启动容器服务,对应输入命令 service docker restart 详见:https://blog.csdn.net/qq_39562468/article/details/80332082

第二步:检查doccano应用是否在运行,输入命令 docker ps,可以看到目前正在运行的容器服务,如果没有doccano,说明该服务在服务器重启后中止了。或者输入命令 docker inspect c4f407a2b467进一步查看该ID对应的dcccano服务详情。

第三步:启动doccano应用,输入命令docker start c4f407a2b467 即启动doccano应用,之后打开网页 wujun.site:8000 就可以看到页面了。

P.S. 在win10专业版下 开启linux 子系统 WSL (Windows Subsystem for Linux)的步骤如下:

win10 专业版桌面,右键点击菜单中选择 属性 选项,打开系统 窗体,在 系统 窗体的左上角点击 控制面板 主页打开 控制面板 窗体,在 控制面板 窗体中点击 程序 ,打开 程序 窗体,在 程序和功能 下面有一个选项 启用或关闭Windows功能 ,点击即可启用或者关闭 Windows 功能,之后选择 适用于linux的windows子系统` ,重启电脑即可。

WSL 相对于虚拟机有以下优点:

首先WSL需要更少的资源(CPU,内存,硬盘),WSL能够让用户在Windows 命令行中直接运行 Linux 命令,并且可以直接访问在 Windows 中的资源,因此可以同时使用 Linux 和 Windows 中的工具对同一组文件进行操作。

补充说明2-2019年11月11日

在Docanno中设置多个人员进行标注的步骤如下:

第一步,以 admin 身份登录:wujun.site:8000/admin ,在前端创建一个项目

第二步,以 admin 身份登录:wujun.site:8000/admin 进入后台,创建若干个用户名称和密码,将每个用户对应的 permission 设置为 Superuser status

第三步,设置 user group text_classification 以及对应的访问权限,将创建的各个用户归入该类别

第四步,退出以 admin 身份登录的系统后台,用创建的用户名称和密码登录 wujun.site:8000/admin 即可看到创建的应用,并能分别进行标注

在设置时有一个细节要注意:django 后台 admin 页面中,需要针对 project 设置对应的用户权限,每个用户要用鼠标点击使之高亮,最后的权限设置才有效,这一点特别容易被忽略。

附注:

1、计算 Doccano 多人标注一致性的工具:

2、文本数据标注工具Doccano 中文使用介绍

3、图片数据标注工具与平台(数据标注公司)总结

4、An open sourced NVivo built with Typescript

Avatar
Wu, Jun
Associate professor
Next
Previous