SpERT数据集处理教程:CoNLL04、SciERC与ADE数据获取与转换
SpERT数据集处理教程:CoNLL04、SciERC与ADE数据获取与转换
【免费下载链接】spertPyTorch code for SpERT: Span-based Entity and Relation Transformer项目地址: https://gitcode.com/gh_mirrors/sp/spert
SpERT是基于PyTorch的Span-based Entity and Relation Transformer模型,本文将详细介绍如何获取并转换CoNLL04、SciERC与ADE三大主流实体关系抽取数据集,帮助新手快速上手SpERT模型的训练与评估。
📋 准备工作:环境与依赖检查
在开始数据集处理前,请确保已克隆SpERT项目仓库并安装相关依赖:
git clone https://gitcode.com/gh_mirrors/sp/spert cd spert pip install -r requirements.txt核心依赖文件:requirements.txt
🚀 一键获取三大数据集
SpERT项目提供了便捷的数据集下载脚本,位于scripts/fetch_datasets.sh。该脚本会自动从官方服务器拉取预处理好的CoNLL04、SciERC和ADE数据集。
执行数据下载
bash scripts/fetch_datasets.sh脚本执行后会在项目根目录创建data/datasets文件夹,并按数据集类型分别存储:
- CoNLL04数据集:
data/datasets/conll04 - SciERC数据集:
data/datasets/scierc - ADE数据集:
data/datasets/ade
提示:脚本使用
wget工具下载文件,如遇网络问题可检查网络连接或手动访问脚本中的URL进行下载。
🔄 数据集格式转换详解
原始数据集需要转换为SpERT模型支持的JSON格式。项目在scripts/conversion/目录下提供了三个专用转换脚本:
1. CoNLL04数据集转换
CoNLL04数据集包含新闻领域的实体和关系标注,转换脚本为convert_conll04.py。
转换命令示例:
python scripts/conversion/convert_conll04.py \ --source_path data/datasets/conll04/raw_data.csv \ --indices_path data/datasets/conll04/train_indices.txt \ --dest_path data/datasets/conll04/train.json核心转换逻辑:
- 处理特殊符号映射(如
-LRB-转换为() - 解析CSV格式的实体标注(第1列文档ID,第2列实体类型)
- 提取关系三元组(头实体ID、尾实体ID、关系类型)
- 生成包含tokens、entities、relations字段的JSON文档
2. SciERC数据集转换
SciERC数据集聚焦于学术论文中的实体关系抽取,转换脚本为convert_scierc.py。
转换命令示例:
python scripts/conversion/convert_scierc.py \ --source_path data/datasets/scierc/raw \ --dest_path data/datasets/scierc/processed主要功能:
- 解析JSON格式的原始标注
- 处理跨句子实体和关系
- 生成适合模型训练的段落级标注数据
3. ADE数据集转换
ADE(Adverse Drug Events)数据集用于药物不良反应关系抽取,转换脚本为convert_ade.py。
转换命令示例:
python scripts/conversion/convert_ade.py \ --source_path data/datasets/ade/ade_corpus_v2.csv \ --dest_path data/datasets/ade/ade.json特色处理:
- 从CSV文件提取药物-不良反应关系对
- 处理医学领域特殊术语
- 生成句子级实体关系标注
📊 数据集目录结构说明
成功下载并转换后,数据集目录结构如下:
data/datasets/ ├── conll04/ │ ├── train.json # 训练集 │ ├── dev.json # 验证集 │ └── test.json # 测试集 ├── scierc/ │ ├── train.json │ ├── dev.json │ └── test.json └── ade/ ├── train.json ├── dev.json └── test.json⚙️ 配置文件使用指南
SpERT的配置文件位于configs/目录,包含训练、评估和预测的示例配置:
- example_train.conf:训练配置模板
- example_eval.conf:评估配置模板
在配置文件中指定数据集路径:
[dataset] train_path = data/datasets/conll04/train.json valid_path = data/datasets/conll04/dev.json test_path = data/datasets/conll04/test.json💡 常见问题解决
- 下载速度慢:可尝试使用代理或手动下载数据集后放入对应目录
- 转换报错:检查Python版本(建议3.6+)和依赖包版本
- 数据集格式错误:确保原始数据集未被修改,可重新执行
fetch_datasets.sh
🎯 总结
通过本文介绍的fetch_datasets.sh脚本和三个转换工具,您可以轻松获取并处理CoNLL04、SciERC和ADE数据集。这些预处理后的数据集可直接用于SpERT模型的训练,帮助您快速开展实体关系抽取研究。
下一步,您可以参考项目中的训练脚本spert_trainer.py开始模型训练,或使用评估脚本evaluator.py评估模型性能。
【免费下载链接】spertPyTorch code for SpERT: Span-based Entity and Relation Transformer项目地址: https://gitcode.com/gh_mirrors/sp/spert
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
