基于阿里云服务器的在线标注系统brat的部署

最近在做法律方面的知识图谱构建,目前主流的方法且效果较好的知识抽取方法是基于监督学习的方法。如何更方便的进行数据标注成为一个新的问题,完全依靠自己去开发一个成本太高,于是考虑能否借鉴现有的标注工具进行数据标注。标注工具brat的官方安装教程已经比较陈旧了,个别步骤非常简略,安装的过程中会遇到很多坑,我这里给出详细的安装部署教程。

1. 阿里云准备

阿里云推出了大学生的云翼计划,选择云服务器ECS,预装环境为Ubuntu 16.04 64位,地域你喜欢就好,购买时长看你个人需要。在确认订单页面选择自定义密码设置你的服务器的登录密码,登录名默认为”root”。

订单提交完成后即可获得服务器相关信息,可进入控制台进行管理,你会得到一个唯一的公网IP,这为你部署网站的基础。

你还需要开启接受http请求80端口服务,默认是关闭的,云服务器ECS –> 网络和安全 –> 安全组 –> 配置规则 –> 安全组规则,选择克隆一个规则开启HTTP(80)即可。

2. 安装与部署

升级更新Apt

首先进行Ubuntu命令apt的升级和更新,否则可能会出现类似找不到包的错误,执行如下命令。

 

1

2

 

sudo apt upgrade

sudo apt update

安装Git

首先进行Git的安装,执行如下命令安装。

 

1

 

sudo apt install git

安装Apache2

安装Apache2服务,执行如下命令进行安装。

 

1

 

sudo apt install apache2

在浏览器中输入http://127.0.0.1/或者http://localhost/,如果可以进入Apache2 Ubuntu Default Page,则说明安装成功。

Apache2的默认参数配置目录为/etc/apache2,文件目录如下:

 

1

2

3

4

5

6

7

8

9

10

 

/etc/apache2/

|-- apache2.conf

| `-- ports.conf

|-- mods-enabled

| |-- *.load

| `-- *.conf

|-- conf-enabled

| `-- *.conf

|-- sites-enabled

| `-- *.conf

上述本地启动页面有对安装目录进行说明,解释的非常清楚,apache2.conf也有对应说明。

分别使用如下命令可以控制Apache2服务的开启、关闭与重启。

 

1

2

3

 

sudo /etc/init.d/apache2 start # 开启

sudo /etc/init.d/apache2 stop # 关闭

sudo /etc/init.d/apache2 restart # 重启

Ubuntu上默认的网页文档根目录为/var/www/html,注意这与之前的版本有所不同。因此,下面我们的网络服务将会部署在该目录下面。

部署brat

调研了一些标注工具,发现brat的标注界面最友好直观,而且在标注实体的同时可以进行关系的标注,因此我选择brat作为我的标注工具。

使用命令cd /var/www/html便可以进入网页文档的根目录,可以看到文件index.html,也就是我们上面开启Apache本地服务所看到的页面。我们需要将brat工程下载到该目录,执行如下命令。

 

1

 

git clone https://github.com/nlplab/brat.git

进入brat目录,生成文件目录data与work。其中data目录用来放置未标注数据和已标注数据文件,work目录用来存放临时文件。

 

1

2

 

cd brat

sudo mkdir data work

执行如下命令,获得Apache2 Group名称,Ubuntu下输出对应的Apache2工作组为www-data

 

1

2

3

 

groups `ps aux | grep apache | grep -v 'grep' \

| cut -d ' ' -f 1 | grep -v 'root' | head -n 1` \

| cut -d : -f 2 | sed 's|\ ||g'

更改组目录并设置正确的权限:

 

1

2

 

sudo chgrp www-data data work

sudo chmod -R g+rwx data work

或者简单地将data与work的权限赋给所有用户:

 

1

 

sudo chmod 777 data work

然后执行如下命令生成一个配置文件,用于用户配置的管理。

 

1

 

sudo cp config_template.py config.py

执行命令sudo ./install.sh,按照提示,设置标注用户名及密码、管理员邮箱。

为便于观看brat的标注效果,我们需要在data目录下面放置一定量的数据。执行如下命令将example-data目录下的标注引导数据tutorials复制到刚创建的data目录。

 

1

 

sudo cp -r example-data/tutorials data

至此,brat工程目录的配置已经完成。接下来需要配置Apache2,使得CGI可以识别并执行我们的工程目录。

这里不能忽略的重要一步,就是使用a2enmod启用CGI模块,然后重启Apache2使其生效。

 

1

2

 

a2enmod cgi

service apache2 restart

接下来进行最为关键的一步——apache2.conf文件的配置,我在这里卡了好久,而官方的安装指南简直不能再简略!就是一个坑!幸运的是你看到了这里:)。前面提到我们的brat的工程目录为/var/www/html/brat,我们需要对/etc/apache2/apache2.conf的配置文件进行修改(建议先做好文件备份),对应如下:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

 

# modified

<Directory /var/www/>

Options Indexes FollowSymLinks

#AllowOverride None

Require all granted

AddType application/xhtml+xml .xhtml

AddType font/ttf .ttf

# For CGI support

AddHandler cgi-script .cgi

</Directory>

# added

<Directory /var/www/html>

Options Indexes FollowSymLinks

#AllowOverride None

Require all granted

AddType application/xhtml+xml .xhtml

AddType font/ttf .ttf

# For CGI support

AddHandler cgi-script .cgi

</Directory>

# added

<Directory /var/www/html/brat>

AllowOverride Options Indexes FileInfo Limit

Require all granted

AddType application/xhtml+xml .xhtml

AddType font/ttf .ttf

# For CGI support

AddHandler cgi-script .cgi

</Directory>

重启下Apache2使得配置生效,安装部署全部完成!

打开浏览器输入http://xxx.xxx.xxx.xxx/brat开始愉快的标注吧!(提示:遇到问题可查看错误日志/var/log/apache2/error.log。)

这里放张官方标注数据的关系标注截图,有个直观感受。

 

 

 

 

参考

  1. nlplab.brat
  2. Installation
  3. brat rapid annotation tool
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页