SpERT数据集处理教程:CoNLL04、SciERC与ADE数据获取与转换

📅 2026/7/25 23:48:47 👁️ 阅读次数 📝 编程学习
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

💡 常见问题解决

  1. 下载速度慢:可尝试使用代理或手动下载数据集后放入对应目录
  2. 转换报错:检查Python版本(建议3.6+)和依赖包版本
  3. 数据集格式错误:确保原始数据集未被修改,可重新执行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),仅供参考