本人需要做实体抽取、关系抽取和关系抽取,使用brat来对数据进行标注。具体操作如下:
1、下载brat-v1.3。下载链接为http://brat.nlplab.org/index.html,
2、安装。解压文件,进入文件夹brat-v1.3_Crunchy_Frog中,操作chmod -R 777更改权限,操作./install.sh -u,输入用户名、密码以及邮箱就完成了对brat的安装。更复杂更详细的安装过程参考http://brat.nlplab.org/installation.html。
3、准备数据。把数据放进文件夹中,比如我把数据(即filename.txt文件,filename为文件名)放在data/project/中。每一个句子独立成一个.txt文件。然后按下列操作就可以给data文件夹中每一个.txt文件都产生一个.ann文件。

find data -name '*.txt' | sed -e 's|\.txt|.ann|g' | xargs touch

4、启动brat。如果不需要更改默认的配置文件,操作python standalone.py即可,如需更改默认的配置文件,操作完第六步后再python standalone.py即可。由于brat的开发语言是python2,所以就不能使用python3来对其进行操作了,我的python2版本的编译器是pytho2.7,所以我的操作就是python2.7 standalone.py。

5、标注。进入网页localhost:8001(localhost为你本机的地址,如果你是在服务器上运行那就是你服务器的地址)。点击右上角的login输入你在第二步的用户名和密码即可完成登录。完成登录后就会出现下面的界面。

知识标注深度学习模型 设置参数 知识图谱标注数据_标注


选择我数据所存放的文件夹,在我这里是project/bee,这一步的设置是在第三步中。然后皆可以进行标注了。即:

知识标注深度学习模型 设置参数 知识图谱标注数据_brat_02


6、更改配置。

6.1、更改实体类型以及关系类型。复制annotation.conf文件到第三步.txt文件的同一目录下,按照你自己的需求更改配置即可。冒号(:)和逗号(,)是全角,即英文模式,不能是半角,即中文模式。

6.2、支持中文。brat本身是不支持中文的,如果在配置文件里定义中文会报错,解决办法是修改./server/src/projectconfig.py文件的第163行,加上中文支持即可:

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

6.3、添加快捷键。同样复制kb_shortcuts.conf文件到第三步.txt文件的同一目录下,为每个标记提供一个键盘快捷键,只有两列内容,第一列是键,第二列是对应的标记。

7、一些有用的功能。

7.1、按TAB键就会显示当前标注文件所在的文件夹,如下:

知识标注深度学习模型 设置参数 知识图谱标注数据_知识图谱_03


7.2、左键:到上一个文件;右键:到下一个文件。

7.3、在右上角打开Option,把Annotation Option改为Normal,而不是Careful。否则你完成选择之后,还需要额外点一次Ok才可以。如:

知识标注深度学习模型 设置参数 知识图谱标注数据_知识图谱_04