0%

Brat 标注工具使用笔记

这篇博客记录如何使用 Brat 标注工具。
Brat 的服务必须置于 UNIX-like 系统,如果是 Windows,建议使用虚拟机或者 WSL。

Brat 标注平台安装 (官网版本 / Python2)

参考 Brat 官网教程 - Installation

Brat 官网 下载 brat-v1.3_Crunchy_Frog.tar.gz 安装包,解压:

1
$ tar xzf brat-v1.3_Crunchy_Frog.tar.gz

进入解压后的目录进行安装:

1
2
$ cd brat-v1.3_Crunchy_Frog
$ ./install.sh

然后,运行服务:

1
$ python2 standalone.py

Brat 标注平台安装 (Github版本 / Python3)

Clone Brat - Github 仓库。
进入目录后进行安装:

1
2
$ cd brat-v1.3_Crunchy_Frog
$ ./install.sh

然后,运行服务:

1
$ python3 standalone.py

Brat 标注平台配置

参考 Brat 官网教程 - Configuration

配置文件包括四个文件:

  • annotation.conf: 定义实体、关系、属性类型
  • visual.conf: 定义标注结果的显示效果
  • tools.conf: 定义 Normalization 等工具
  • kb_shortcuts.conf: 定义快捷键

数据文件放置在 data 目录下。

Normalization 标注配置

参考 Brat 官网教程 - Normalization

根据格式要求准备好 Brat Normalization DB 文件,生成数据库:

1
$ python tools/norm_db_init.py <DBNAME>.txt

可以在 work 目录下查看生成的名为 <DBNAME> 数据库文件。

修改配置文件 tools.conf,在 [normalization] 下添加数据库信息:

1
DBNAME     <URL>:HOMEURL, <URLBASE>:ENTRYURL

修改配置文件 annotation.conf,在 [entities] 定义实体时指明对应的标准化数据库,如:

1
2
3
ORG <NORM>:<DBNAME>
LOC <NORM>:<DBNAME>
MISC <NORM>:<DBNAME>

安装 SimString

SimString 用于 normalization 标注时关键词匹配,仅测试通 Python2 版本。
参考 SimString 官网

SimString 官网 下载源码包 simstring-1.0.tar.gz,解压。

如系统没有 gcc / g++ / python-dev 包,则需要安装:

1
2
3
$ sudo apt install gcc
$ sudo apt install g++
$ sudo apt install python-dev

进入解压后的目录,在 include/simstring/memory_mapped_file_posix.h 添加一行:

1
#include <unistd.h>

进行编译安装:

1
2
3
4
$ ./configure
$ make
# To install the SimString header files
$ make install

封装成 Python2 模块

1
2
3
4
5
$ ./configure 
$ cd swig/python
$ ./prepare.sh
$ python setup.py build_ext
$ python setup.py install

然后,可在 Python2 中调用 simstring 包。