打标工具brat的安装与使用

brat的简介

brat是一个文本标注工具,可以标注实体,事件、关系、属性等,只支持在Linux下安装,其使用需要webserver,官方给出的教程使用的是Apache2。

下载brat

建议下载brat的release版本,地址:brat下载地址

安装过程

首先,安装apache2,使用命令:

sudo apt-get install apache2

安装完成后会在 /var 目录下生成一个www/html目录,进入该目录:

cd /var/www/html 

将下载的brat-1.3p1.zip文件移动到该目录下,使用 如下命令解压到当前目录

unzip brat-1.3p1.zip 

在当前目录下使用如下命令将brat-1.3p1重命名为brat

 mv brat-1.3p1 brat  

使用 如下命令对brat目录授权:

sudo chmod 777 -R /var/www/html/brat 

进入brat目录 ,执行以下命令,根据提示输入用户名、密码、管理员邮箱

cd /var/www/html/bratsudo ./install.sh

现在开始配置apache2.conf文件: 执行命令

vim /etc/apache2/apache2.conf

在文件末尾加入如下内容,注意缩进(建议手敲):

<Directory /var/www/html/brat>
        AllowOverride Options Indexes FileInfo Limit
        Require all granted
        AddType application/xhtml+xml .xhtml
        AddType font/ttf .ttf
        Options +ExecCGI
        AddHandler cgi-script .cgi
</Directory>

重新启动apache2:

sudo service apache2 restart

然后打开 http://xxx.xxx.xxx.xxx/brat , xxx是你brat所在主机的ip,默认80端口。

打开网页后,会发现报错,是关于协议的错误,我们还需要一个步骤,如下:

cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/cgi.load

只有这样才能使用cgi模块,而这步在brat的官方文档中貌似没有提及。但是在issue的#1141中提到了这点。
接下来,重新加载apache2的配置:

sudo service apache2 reload

此时再访问 http://xxx.xxx.xxx.xxx/brat,就能看到下面的界面了:
在这里插入图片描述
然后,用之前输入的用户名、密码登录后,就可以使用了,使用教程参考官方文档: http://brat.nlplab.org/configuration.html

适用中文

brat原始的正则是不支持中文标注的,所以我们需要手动修改一下他的正则
brat/server/src 路径下的projectconfig.py文件的第162行代码,注释源代码,然后另起一行加入新代码(修改之后记得重启apache2服务):

n = re.sub(u'[^a-zA-Z\u4e00-\u9fa5<>,0-9_-]', '_', n)

数据导入

数据主目录:/var/www/html/brat
predict路径:/var/www/html/brat/data/project
存入你想要标注的文件在project文件夹下,然后执行:

find 文件夹名称 -name '*.txt'|sed -e 's|\.txt|.ann|g'|xargs touch

其意思是对每个txt文件都创建一个空的标引文件.ann,因为BRAT是要求的collection中,每个txt文件是必须有一个对应的.ann文件的,方便放置标引内容。

如果使用brat加载本地文件的时候报错“unable to read text file xxx/xxx/xxx/xxx.txt ”,请确保你的txt文件和ann文件已经授权给当前linux系统的登录用户,授权方式可以参考如下方式:

sudo chmod 777 xxx.txt
sudo chmod 777 xxx.ann

之后从主目录下找annotation.conf和visual.conf文件将它们放到predict路径下。

文件作用

annotation.conf是配置文件,主要是写明白都有哪些命名实体、哪些语义关系,内容如下:

[entities](实体)
# Definition of entities.
# Format is a simple list with one type per line.
事件名称
人物名称
发生时间
灾害
事故规模
事故地点
[relations](关系)
# Definition of (binary) relations.
# Format in brief: one relation per line, with first space-separated# field giving the relation type and the rest of the line the# coma- separated arguments in ROLE: TYPE format. The roles are# typically “Arg1“ and“Arg2”.
时间  Arg1:事件名称,Arg2:事件发生时间
地点  Arg1:事件名称,Arg2:事件发生地点
人物  Arg1:事件名称,Arg2:采访对象人名

visual.conf也是配置文件,可以配置不同的类别用不同的颜色显示,找到如下段落,更新内容:

事件 bgColor:yellow
时间 bgColor:blue, fgColor:white
地点 bgColor:deepskyblue
组织名 bgColor:green, fgColor:white
公司名 bgColor:purple, fgColor:white
产品名 bgColor:pink

annotation.conf文件的编码格式一定一定要是标准的UTF-8格式,可以用Notepad++来进行转换(特别感谢程序员一一涤生的指导)

使用实例

data.txt文件在这里插入图片描述
data.ann文件在这里插入图片描述

以上就是我对brat的使用总结,总体还要感谢程序员一一涤生的耐心指导

附上大佬的原文
[1]: https://www.cnblogs.com/anai/p/11459789.html
[2]: https://www.cnblogs.com/anai/p/11474460.html

  • 22
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趋吉避凶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值