Brat文本注释工具的使用文档

女生的网名这么多〃 提交于 2019-12-17 04:06:50
1
Brat Document
目录
Brat.........................................................................................................................................1
Brat 标注配置 ..........................................................................................................................1
Brat 用户配置...........................................................................................................................2
添加用户/标注人员 ............................................................................................................2
可视化配置........................................................................................................................3
其他配置...........................................................................................................................3
Brat 添加标注...........................................................................................................................4
标注实体[ENTITY] .............................................................................................................4
标注关系[RELATION] .........................................................................................................5
标注事件[EVENT]...............................................................................................................6
标注属性[ATTRIBUTE] .......................................................................................................7
标注生成文件 ann ..............................................................................................................8
Brat
BRAT 是一个基于 web 的文本标注工具, 主要用于对文本的结构化标注, 用 BRAT 生成的标注结果能够把无
结构化的原始文本结构化, 供计算机处理。利用该工具可以方便的获得各项 NLP 任务需要的标注语料。提供
【实体】【关系】【事件】【属性】四种类型的自定义文本标注, 可以在单词、句子或任何粒度的文本上进行
标注, 即满足大多数有监督 NLP 任务需要
Brat 标注配置
标注项目的配置由四个文件控制:
annotion.conf:标注类型配置
visual.conf:标注显示配置
tools.conf:标注工具配置
kb_shortcuts.conf:键盘快捷方式工具配置2
数据集(称为 Collection)放在./data 目录下, 每个子文件是一个项目。可以为每个项目自定义标
注配置文件, 配置文件需要放在项目目录中, 否则系统会采用默认的配置。
标注的类别选择可以由键盘快捷键完成而不需要点击, 但和标记的颜色一样依赖后台的配置文
, 通常来说不需要修改 visual.conf, tools.conf kb_shortcuts.conf, 如果这些文件不存在, 则系统
将使用简单的默认外观, 工具和快捷方式。
一个基本的 annotion.conf 文件内容如下所示, 四个字段分别对应[实体][关系][事件][属性],各部
分都可以设置为空:
[entities]
#实体类型
Person
District
Organization
[relations]
# 关系名称 Arg1:实体类型,Arg2:实体类型
Friend Arg1:Person,Arg2:Person
Family Arg1:Person,Arg2:Person
Employment Arg1:Person,Arg2:Organization
Livein Arg1:Person,Arg2:District
[events]
# 事件名称 参数名称:实体类型,参数名称:实体类型
Marriage Participant1:Person,Participant2:Person
Divorce Participant{2}:Person,Place?:District
[attributes]
# 属性名称 Arg:<从属实体类型>,Value:属性值
Age Arg:,Value:20|21|22|23
SEX Arg:,Value:male|female
Date Arg:,Value:1995|1996|1997|1998
Brat 用户配置
添加用户/标注人员
打开./server/src/config.py, 并在该代码块中添加用户, 值得注意的是, 配置中没有提供权限参数,
默认每个标注人员无法对他人已标注文件进行修改。
USER_PASSWORD = {
sophon:123456,
#继续添加“username:password
[entities]
#实体类型
Person
District
Organization
[relations]
# 关系名称 Arg1:实体类型,Arg2:实体类型
Friend Arg1:Person,Arg2:Person
Family Arg1:Person,Arg2:Person
Employment Arg1:Person,Arg2:Organization
Livein Arg1:Person,Arg2:District
[events]
# 事件名称 参数名称:实体类型,参数名称:实体类型
Marriage Participant1:Person,Participant2:Person
Divorce Participant{2}:Person,Place?:District
[attributes]
# 属性名称 Arg:<从属实体类型>,Value:属性值
Age Arg:,Value:20|21|22|23
SEX Arg:,Value:male|female
Date Arg:,Value:1995|1996|1997|1998
USER_PASSWORD = {
sophon:123456,
#继续添加“username:password
}3
可视化配置
可视化 configuration 包含两部分
[labels]
[drawing]
[labels] 定义标记类型 UI 上如何显示:
Simple_chemical | Simple chemical | Chemical
标记类型 | 全称 | 显示文字
[labels]
Per | Person | 人物
Dis | District | 地区
Org | Organization |机构
[drawing] 用于定义显示样式,比如定义标记的颜色等
Per bgColor:#7fa2ff
Dis bgColor:#8fcfff
Org bgColor:#8f97ff
Friend bgColor:#e0ff00
Family bgColor:#ffff00
#还有以下属性可以设置
#SPAN_DEFAULT fgColor:black, bgColor:lightgreen, borderColor:darken
#ARC_DEFAULT color:black, arrowHead:triangle-5
#ATTRIBUTE_DEFAULT glyph:*
其他配置
Brat 本身是不支持中文的, 如果在配置文件里定义中文会报错, 解决办法是修
./server/src/projectconfig.py 文件, n=re.sub 语句替换为:
n = re.sub(u'[^a-zA-Z\u4e00-\u9fa5<>,0-9_-]', '_', n)
目前 Brat urlport = http://172.16.111.172:8199
Username=sophon Password=123456
安装目录在 172 /home/yifan/Docker/ana/brat
[labels]
Per | Person | 人物
Dis | District | 地区
Org | Organization |机构
[drawing]
Per bgColor:#7fa2ff
[Per bgColor:#7fa2ff
Dis bgColor:#8fcfff
Org bgColor:#8f97ff
Friend bgColor:#e0ff00
Family bgColor:#ffff00
#还有以下属性可以设置
#SPAN_DEFAULT fgColor:black, bgColor:lightgreen, borderColor:darken
#ARC_DEFAULT color:black, arrowHead:triangle-5
#ATTRIBUTE_DEFAULT glyph:*4
Brat 添加标注
标注实体[ENTITY]
双击单词或拖动选定区域即可弹出标注窗口。
如果希望使用层次结构表示实体, 则修改配置如下, 注意, 该方法同样适用于[关系][事件]
层次化构造。
[entities]
Person
man
woman
District
Organization
[entities]
Person
man
woman
District
Organization
选择实体类型
选择实体属性5
标注关系[RELATION]
拖动实体到另一个实体即可, 注意, 只有在[relations]中已经定义的关系可以被标注。
关系只能是二元结构, 如果关系一方是实体集合(可能对应多类选项, 比如认识关系下对象可能是人或
者机构等等), 则配置应该写成如下格式:
[relations]
= Person|Organization
Knows Arg1:Person, Arg2:
注意, 该方法同样适用于[事件]配置。
[relations]
= Person|Organization
Knows Arg1:Person, Arg2:
选择关系类型6
标注事件[EVENT]
和关系类似, 区别是事件可以是多元结构, 首先双击或者拖选创建一个 EVENT, 然后拖动事件
指向其他实体即可。
事件参数可以指定为可选的(通过向 role 添加“?), 也可以指定为重复的, 格式如下:
Divorce Person-Arg{2}:Person, Place-Arg?:District //两个参与者
Divorce Person-Arg*:Person, Place-Arg?:District //0 个及以上参与者
Divorce Person-Arg+:Person, Place-Arg?:District //1 个及以上参与者
Divorce Person-Arg{2}:Person, Place-Arg?:District //两个参与者
Divorce Person-Arg*:Person, Place-Arg?:District //0 个及以上参与者
Divorce Person-Arg+:Person, Place-Arg?:District //1 个及以上参与者
选择事件类型
选择事件属性7
Divorce 事件指向两个参与者和一个发生地点)
标注属性[ATTRIBUTE]
配置中的表明该属性从属的对象类型(Arg=ENTITY/EVENT/RELATION)
标注时在弹出窗口中选择即可。
[attributes]
Age Arg:, Value:20|21|22|23
SEX Arg:, Value:male|female
[attributes]
Age Arg:, Value:20|21|22|23
SEX Arg:, Value:male|female8
标注生成文件 ann
XXX.ann 即为 XXX.txt 自动生成的标注文件, 二者一一对应, 上述实例对应的 ann 文件如下:
T1 Person 0 6 Gatsby
T2 Person 47 53 Gatsby
T3 District 16 24 New York
T4 Organization 40 44 bank
T5 Person 60 65 Daisy
T6 Person 92 95 Tom
T7 Person 118 124 Gatsby
T8 Person 131 136 Daisy
T9 Person 141 144 Tom
T10 District 165 175 California
T11 Person 177 182 Daisy
T12 Person 187 190 Tom
R1 Livein Arg1:T1 Arg2:T3
R2 Employment Arg1:T1 Arg2:T4
R3 Friend Arg1:T2 Arg2:T5
R4 Family Arg1:T5 Arg2:T6
A1 Age T1 21
A2 SEX T1 male
T13 Marriage 84 91 married
E1 Marriage:T13 Participant1:T5 Participant1:T6
A3 Date E1 1996
T14 Divorce 191 199 divorced
E2 Divorce:T14 Participant:T11 Participant2:T12 Place:T10
A4 Date E2 1997
标注 ID 约定
文件中每一行的第一个字段是注释 ID, 注释 ID 字符与注释类型有关, 如下所示:
T:文本绑定注释
R:关系
E:事件
A:属性
与文本绑定的标注格式
所有与文本 token 绑定的注释都遵循相同的结构。 注释 ID 首先出现, 并以 TAB 字符与该行的其
余字段分隔。 主要注释以空格分隔的三元组(类型, 开始偏移, 结束偏移)给出, 并以 TAB 字符与
最后一个实体 token 字段分隔。
T1 Person 0 6 Gatsby
T1 Person 0 6 Gatsby
T2 Person 47 53 Gatsby
T3 District 16 24 New York
T4 Organization 40 44 bank
T5 Person 60 65 Daisy
T6 Person 92 95 Tom
T7 Person 118 124 Gatsby
T8 Person 131 136 Daisy
T9 Person 141 144 Tom
T10 District 165 175 California
T11 Person 177 182 Daisy
T12 Person 187 190 Tom
R1 Livein Arg1:T1 Arg2:T3
R2 Employment Arg1:T1 Arg2:T4
R3 Friend Arg1:T2 Arg2:T5
R4 Family Arg1:T5 Arg2:T6
A1 Age T1 21
A2 SEX T1 male
T13 Marriage 84 91 married
E1 Marriage:T13 Participant1:T5 Participant1:T6
A3 Date E1 1996
T14 Divorce 191 199 divorced
E2 Divorce:T14 Participant:T11 Participant2:T12 Place:T10
A4 Date E2 1997
T1 Person 0 6 Gatsby9
事件标注格式
每个事件注释都有一个唯一的 ID(T13), 并由事件触发器 trigger(E1)和参数定义。 事件参
数是一组用空格分隔的 ROLE:ID 对。
T13 Marriage 84 91 married
E1 Marriage:T13 Participant1:T5 Participant1:T6
关系标注格式
类似于事件所用的格式, 不同之处在于未使用触发器,仅占一行比较简单。
R1 Livein Arg1:T1 Arg2:T3
T13 Marriage 84 91 married
E1 Marriage:T13 Participant1:T5 Participant1:T6
R1 Livein Arg1:T1 Arg2:T3
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!