共计 1699 个字符,预计需要花费 5 分钟才能阅读完成。
1. brat 工具简介
brat 是一个基于 Web 的文本标注工具,特别适合 NLP 和生物医学领域的研究者进行文本标注任务。它的主要优势包括:

- 支持复杂的标注模式:实体、关系、事件、属性等
- 可视化界面友好,标注结果直观
- 支持多人协作标注
- 开源免费,可本地部署
在生物医学领域,brat 常被用于标注临床记录、科研文献中的关键信息,如疾病名称、药物、蛋白质相互作用等。
2. 安装配置指南
系统要求
- Linux/Unix 系统(推荐 Ubuntu)
- Python 2.7 或 3.x
- Apache 或 Nginx 服务器
安装步骤
- 下载 brat
wget http://weaver.nlplab.org/~brat/releases/brat-v1.3_Crunchy_Frog.tar.gz
tar xzf brat-v1.3_Crunchy_Frog.tar.gz
cd brat-v1.3_Crunchy_Frog
- 安装依赖
sudo apt-get install apache2
sudo apt-get install python
- 配置 brat
编辑安装目录下的 config.py 文件,主要设置:
# 管理员邮箱
ADMIN_EMAIL = 'your@email.com'
# 允许的用户名
USER_PASSWORD = {'username': 'password',}
# 数据存储目录
DATA_DIR = '/path/to/your/data'
- 启动服务
./install.sh
python standalone.py
服务默认运行在 8001 端口,访问 http://localhost:8001 即可。
3. 核心功能演示
创建标注项目
- 登录 brat 后,点击 ”New” 创建新项目
- 输入项目名称和描述
- 上传待标注的文本文件(支持.txt 格式)
定义标注规范
在项目目录下创建 annotation.conf 文件:
[entities]
DISEASE
DRUG
GENE
[relations]
TREATS Drug:DISORDER
INTERACTS GENE:GENE
[events]
Mutation
[attributes]
Certainty Arg:DISEASE, Value:high|medium|low
实际标注操作
- 打开文本文件
- 选择文本片段,从右侧选择实体类型
- 对于关系标注,先选中两个实体,然后选择关系类型
- 使用快捷键可以提高效率(如 ”n” 新建标注)
4. 多人协作配置
在 config.py 中添加用户:
USER_PASSWORD = {
'annotator1': 'pass123',
'annotator2': 'pass456',
'reviewer': 'pass789'
}
可以设置不同权限:
- 标注者:只能查看和标注自己负责的文档
- 审核者:可以查看和修改所有标注
- 管理员:完全控制权限
5. 实战案例:生物医学文本标注
我们以一个临床记录片段为例:
患者主诉头痛 3 天,服用阿司匹林后缓解。家族史:母亲有阿尔茨海默病。
标注过程:
- 标注 ” 头痛 ” 为 DISEASE
- 标注 ” 阿司匹林 ” 为 DRUG
- 标注 ” 阿尔茨海默病 ” 为 DISEASE
- 建立 ” 阿司匹林 ” 与 ” 头痛 ” 的 TREATS 关系
- 为 ” 阿尔茨海默病 ” 添加 Certainty=high 属性
6. 常见问题排查
安装问题
-
问题:无法启动服务
解决:检查 Python 版本和端口占用 -
问题:无法访问页面
解决:检查 Apache/Nginx 配置和防火墙设置
标注问题
-
问题:关系无法建立
解决:确保两个实体都已经标注 -
问题:标注不显示
解决:刷新页面或检查 annotation.conf 配置
7. 最佳实践
标注规范制定
- 明确定义每种实体和关系的标准
- 提供标注示例
- 定期更新规范文档
质量控制
- 设置双人独立标注
- 计算标注者间一致性
- 定期审核标注结果
效率提升
- 使用快捷键
- 预标注常见实体
- 定期备份数据
延伸学习
- 官方文档:http://brat.nlplab.org
- 生物医学标注指南:https://biocreative.bioinformatics.udel.edu
- 标注规范示例:https://github.com/nlplab/brat
brat 虽然学习曲线稍陡,但一旦掌握就能大幅提升标注效率。建议从小的标注项目开始,逐步积累经验。对于大型项目,考虑结合主动学习等技术减少标注工作量。
正文完
