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 url : port = 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|female 8
标注生成文件 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 Gatsby 9
事件标注格式
每个事件注释都有一个唯一的 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

Brat文本注释工具的使用文档相关推荐

  1. 【报表技术】IReport图形化报表开发工具生成PDF文档

    [报表技术]IReport图形化报表开发工具生成PDF文档 新建一个文件. 由于IReport的默认设置是不支持中文的,IReport没有内置中文的包. 了解报表模板结构. ①title:报表标题. ...

  2. 【操作word】Java + POI导出富文本的内容到word文档

    这周工作中,遇到一个需求是需要将数据库中富文本内容导出到word文档里面,于是就采用POI技术实现了一下导出word文档的功能.(word文档是识别html内容的,所以富文本内容也自然能够识别.) 一 ...

  3. 文本分析软件_十大针对机器学习的文本注释工具与服务,你选哪个?

    房地产和键 [51CTO.com快译]目前,从搜索引擎与情感分析,到虚拟助手与聊天机器人,机器学习应用场景中的许多研究领域,都需要通过文本注释工具与服务来提供准确性.在AI研究与开发行业中,发现或创建 ...

  4. Linux命令行如何编辑word文档,在Linux平台下用命令行工具显示Word文档

    在Linux平台下用命令行工具显示Word文档 ·Antiword ·Catdoc ·wvWare[@more@] Viewing Word files at the command line Wed ...

  5. 关于knife4j工具聚合api文档的使用

    关于knife4j工具聚合api文档的使用 1 knife4j工具的介绍 简单案例 1 导入Knife4j依赖 2 添加配置文件 3 添加控制器 4 查看文档 2 knife4j工具的使用 聚合微服务 ...

  6. 【Java注释:单行 多行 文档注释】

    Java注释:单行 多行 文档注释 注释是程序语言的说明,它有助于开发者之间的交流,方便解释程序. 注释在程序语言中不会被视作代码,不会执行,而被编译器忽视. Java中,注释可分为三类 1.单行注释 ...

  7. 邮件合并发送html,邮件合并HTML格式文本从数据库到Word文档

    我正在做一个邮件合并使用来自SQL数据库的数据集. ,我取回存储在数据库中有一些HTML标记的数据,例如:邮件合并HTML格式文本从数据库到Word文档 我的一个合并域的包含这样的文字: Bullet ...

  8. GitHub在线MySQL DDL工具gh-ost安装文档

    GitHub开源MySQL Online DDL工具gh-ost安装文档 查看GitHub开源的MySQL在线DDL工具gh-ost官方文档,以及google一圈都没有发现gh-ost的安装文档,于是 ...

  9. java文档注释报错,java文档注释主要使用方法

    一.java包含哪些注释 1.//用于单行注释. 2./*...*/用于多行注释,从/*开始,到*/结束,不能嵌套. 3./**...*/则是为支持jdk工具javadoc.exe而特有的注释语句.这 ...

最新文章

  1. Java多线程读取本地照片为二进制流,并根据系统核数动态确定线程数
  2. Car-eye-http-flv-module 实现nginx-rtmp-mudule HTTP方式的FLV直播功能
  3. redis和memcached的区别(总结)
  4. ubuntu-16.04安装程序报错 you might want to run 'apt-get -f install' to correct these
  5. 深度学习2.0-23.Keras高层接口之CIFAR10自定义网络实战
  6. .net core上传
  7. 小米扫地机器人原地不动_扫地机器人在原地打转是什么原因?小编来告诉你!...
  8. word转html java代码_用java实现word转html
  9. 「视频」迪士尼研发机器人皮肤,能做个大白吗?
  10. window(win7)+linux(ubuntu)双系统的安装以及windows重装后的引导修复问题
  11. Fiducial marker (Aruco)
  12. 关于pip下载很慢很慢
  13. 卷积神经网络——实例分割之Mask R-CNN论文翻译
  14. sap 寄售业务流程
  15. 机器人中的数值优化|【一】数值优化基础
  16. [解读] Unsupervised Feature Learning via Non-Parametric Instance Discrimination
  17. 摸底考察-Linux系统搭建WEB网站服务
  18. 判断对象中属性值是否全为空
  19. STC51烧录程序时序分析
  20. couchbase java view_java连接couchbase的memcache

热门文章

  1. 二、什么是反射、反射可以做些什么
  2. gazebo进程崩溃处理
  3. R语言生存分析详解:KM曲线、COX比例风险模型、HR值解读、模型比较、残差分析、是否比例风险验证:基于survival包lung数据集
  4. Centos7安装freeswitch-1.10.8(2023)
  5. 盘点系列:一览2022卡塔尔世界杯最全黑科技
  6. [JavaScript]关于JavaScript中DOM对象的使用
  7. 什么是HTTPS,与HTTP的区别?
  8. (百万字废话乱写+1小时2000字码字速度养成计划)网络支付与结算读书笔记1(20120720)...
  9. 基于坡度理论的点云滤波方法(二)
  10. 如何比较两个数组是否相等(Java)