1、安装
Brat只能在Linux下运行。
先从官网下载安装包http://brat.nlplab.org/index.html,注意解压到一个不包含中文字符的目录下,不然安装后会报错。然后进入到brat-v1.3_Crunchy_Frog目录下。使用命令
./install
就可以安装了。他会提示你输入登录名、密码、邮箱等。输入完毕就安装好了。
2、运行
还是在brat-v1.3_Crunchy_Frog目录下直接运行python standalone.py,如果报错的话,就换成python2 standalone.py。此时点击下方出现的网址,就会看到此页面了。然后点击OK,进入。此时这两个文件夹是系统存放例子的。我们可以点进入看看。
![9002ef1f70f284c3aaa32343413a3e69.png](https://img-blog.csdnimg.cn/img_convert/9002ef1f70f284c3aaa32343413a3e69.png)
![14ae0f0fc540da549dcca053753312a9.png](https://img-blog.csdnimg.cn/img_convert/14ae0f0fc540da549dcca053753312a9.png)
![9ba071e9e3cc25e0fd17b0b36c934dc6.png](https://img-blog.csdnimg.cn/img_convert/9ba071e9e3cc25e0fd17b0b36c934dc6.png)
3、那么如何标注呢,我们先在系统给的例子上试试。对想要标注的文本用鼠标选中,诶!怎么什么反应都没有!!!这是因为我们还没有登录,无法进行标注,把鼠标放在右上角的brat上,就会出现Login,此时输入刚才我们的用户名和密码登录。
![290c63bfb32d8e036f09f34c76d7d6ac.png](https://img-blog.csdnimg.cn/img_convert/290c63bfb32d8e036f09f34c76d7d6ac.png)
我们再选中需要标注的文本就会出现如下图所示信息。他这里有Entity type实体类型,Event type事件类型,还有Event attributes事件属性,这些定义都是在设置文件里定义的,一会儿我们再说。这时候你就可以随意标注了。
![b0e801bce684858065233a638a02eb98.png](https://img-blog.csdnimg.cn/img_convert/b0e801bce684858065233a638a02eb98.png)
那么如何在我的语料上进行标注呢。假设我现在有如下语料文本test.txt,并将其放在了test_brat的文件夹,我把test_brat文件夹放在了data/目录下。如果点进去没反应就是权限不够问题,这时候你需要用
chmod 777 -R data/test_brat
命令来赋予他们读写的权利。我们还需要在test_brat文件夹中创建一个test.ann的空文件,没有该文件也无法打开,该文件是用来存放标注好的实体的。一个文件对应一个空的ann文件。如果你的文件有很多,使用命令
find 文件夹名称 -name '*.txt'|sed -e 's|.txt|.ann|g'|xargs touch
该命令对每个空的txt文件创建ann空文件。
之后我们就可以进入冬我们的语料中了。这时我们还需要定义我们的实体类型、关系属性等。我们完全可以把系统中的配置文件摘抄过来。下图中的annotation.conf就是配置文件。
![f639a144aaea042ee3a003471ccb7cea.png](https://img-blog.csdnimg.cn/img_convert/f639a144aaea042ee3a003471ccb7cea.png)
这里我修改成了我需要的实体类型。里面的内容如下:
![ae7e7e6317423607230030190d52a368.png](https://img-blog.csdnimg.cn/img_convert/ae7e7e6317423607230030190d52a368.png)
我这里为了方便就很简单的定义了两种实体类型,其他relations是定义实体间的关系,events是定义事件等,定义方式可以参考例子中的。将定义好的annotation.py文件放到test-brat文件夹。
当我们再次进入时,居然有这么多的警告,
![f23aab31b04532f914f13b5c6199f796.png](https://img-blog.csdnimg.cn/img_convert/f23aab31b04532f914f13b5c6199f796.png)
这是因为Brat本身不支持中文,所以我们需要设置一下。在server/src/projectconfig.py文件中进行修改。将162行的代码改成
n = re.sub(u'[^a-zA-Zu4e00-u9fa5<>u2014-uff1b,0-9_-]', '_', n)
记住,改完保存后需要重启brat才会生效。
再次进入标注文件,就可以进行标注了!
![25dbd70caa1aba3037fe9d0baa327ce5.png](https://img-blog.csdnimg.cn/img_convert/25dbd70caa1aba3037fe9d0baa327ce5.png)
看下ann文件中的内容
![25c67a2940db7e9819d082b0a74f8dbc.png](https://img-blog.csdnimg.cn/img_convert/25c67a2940db7e9819d082b0a74f8dbc.png)
这就可以了!!!