five

EHRSQL

收藏
arXiv2023-12-25 更新2024-07-30 收录
下载链接:
https://github.com/glee4810/EHRSQL
下载链接
链接失效反馈
官方服务:
资源简介:
EHRSQL是一个针对电子健康记录(EHRs)的文本到SQL数据集。该数据集由222名医院工作人员的语音记录组成,包括医生、护士和保险审查及健康记录团队。数据集通过在一所大学医院进行调查,并使用调查结果创建种子问题,然后手动将这些问题链接到两个开源EHR数据库MIMIC-III和eICU。数据集包含各种时间表达式和无法回答的问题,这些问题也是从调查中收集的。EHRSQL数据集提出了独特的挑战:模型需要生成反映医院广泛需求的SQL查询,理解医疗保健中时间敏感问题的各种时间表达式,并区分给定问题是否可回答。

EHRSQL is a text-to-SQL dataset tailored for electronic health records (EHRs). This dataset consists of speech transcripts from 222 hospital staff, including physicians, nurses, insurance reviewers, and health record teams. It was developed via a survey conducted at a university hospital, where survey results were used to create seed questions, which were then manually linked to two open-source EHR databases, MIMIC-III and eICU. The dataset contains various temporal expressions and unanswerable questions, which were also collected from the survey. The EHRSQL dataset presents unique challenges: models are required to generate SQL queries that reflect the broad needs of hospitals, comprehend diverse temporal expressions in time-sensitive healthcare questions, and determine whether a given question is answerable.
创建时间:
2023-01-16
原始信息汇总

EHRSQL: A Practical Text-to-SQL Benchmark for Electronic Health Records

概述

EHRSQL是一个大规模、高质量的数据集,旨在针对来自MIMIC-IIIeICU的电子健康记录进行文本到SQL的问答。该数据集包括从222名医院工作人员(如医生、护士、保险审查员和健康记录团队)收集的问题。它可以用于测试问答模型的三个方面:生成医院工作场所中广泛使用的SQL查询、理解各种类型的时间表达(绝对、相对或两者)以及在模型预测不自信时拒绝回答(查询数据库)的能力。

数据集详情

问题和SQL

train.json文件包含以下字段:

  • db_id: 数据库ID
  • question: 问题的改写版本
  • template: 原始模板问题
  • query: 对应的SQL查询
  • value: 从数据库中采样的值
  • q_tag: 问题模板
  • t_tag: 采样的时间模板
  • o_tag: 采样的操作值
  • tag: 问题模板与时间模板和操作值的组合
  • department: 问题收集的医院部门
  • importance: 问题在医院中的重要性(高、中、低或n/a)
  • para_type: 改写的来源(机器或人工)
  • is_impossible: 问题是否可回答
  • split: 数据分割(训练、验证或测试)
  • id: 每个数据实例的唯一ID

valid.json中,可回答实例与train.json结构相同,不可回答实例字段较少。

表格

tables.json包含以下信息:

  • db_id: 数据库ID
  • table_names_original: 数据库中的原始表名
  • table_names: 清理和规范化的表名
  • column_names_original: 数据库中的原始列名
  • column_names: 清理和规范化的列名
  • column_types: 列的数据类型
  • foreign_keys: 数据库中的外键
  • primary_keys: 数据库中的主键

数据库

访问数据库需要PhysioNet的认证访问权限,下载链接如下:

下载后,运行以下代码进行数据库预处理: bash cd preprocess python3 preprocess_db.py --data_dir <path_to_mimic_iii_csv_files> --db_name mimic_iii --deid --timeshift --current_time "2105-12-31 23:59:00" --start_year 2100 --time_span 5 --cur_patient_ratio 0.1

T5 SQL生成

训练T5-base模型: bash python T5/main.py --config T5/config/ehrsql/training/ehrsql_mimic3_t5_base.yaml --CUDA_VISIBLE_DEVICES <gpu_id>

生成带有拒绝回答的SQL查询: bash python T5/main.py --config T5/config/ehrsql/eval/ehrsql_mimic3_t5_base__mimic3_valid.yaml --output_file prediction_raw.json --CUDA_VISIBLE_DEVICES <gpu_id> python T5/abstain_with_entropy.py --inference_result_path outputs/eval_ehrsql_mimic3_t5_base__mimic3_valid --input_file prediction_raw.json --output_file prediction.json --threshold 0.14923561

评估

评估生成的SQL查询: bash python evaluate.py --db_path ./dataset/ehrsql/mimic_iii/mimic_iii.sqlite --data_file dataset/ehrsql/mimic_iii/valid.json --pred_file ./outputs/eval_ehrsql_mimic3_t5_base__mimic3_valid/prediction.json

搜集汇总
数据集介绍
main_image_url
构建方式
在电子健康记录领域,EHRSQL数据集的构建过程体现了严谨的实证研究方法。研究团队首先与一所大学医院合作,对222名包括医生、护士、保险审核及病历管理团队在内的医院工作人员进行了问卷调查,收集了1,742条关于结构化EHR数据的自然语言查询。随后,通过人工筛选和模板化处理,将有效查询转化为230个问题模板,并手动将其与两个开源EHR数据库——MIMIC-III和eICU进行关联。为增强数据集的现实性和挑战性,团队系统性地引入了多样化的时间表达式模板,并纳入了从问卷中收集的不可回答问题,最终通过多阶段采样和人工标注生成了约24,411个高质量的文本到SQL配对。
特点
EHRSQL数据集展现出若干显著特征,使其在医疗自然语言处理领域独树一帜。其问题覆盖范围极为广泛,从简单的患者信息检索到复杂的群体级操作如生存率计算,真实反映了医院工作的多元需求。数据集高度强调时间敏感性,系统整合了绝对、相对及混合时间表达式,模拟了临床实践中时间关键型查询的复杂性。尤为突出的是,EHRSQL开创性地包含了自然收集的不可回答问题,为评估问答系统的可信赖性提供了关键测试基准。此外,数据集关联了两个大规模EHR数据库,平均每个查询涉及13.5个表格,且93.2%的查询包含时间列,深度体现了医疗数据的实际结构。
使用方法
EHRSQL数据集主要服务于可信赖语义解析任务的评估与模型开发。研究者可将数据集划分为训练、验证和测试集,其中不可回答问题仅出现在验证和测试集中,以模拟真实部署场景。评估时需综合考量两方面性能:模型区分问题可答性的能力,通过精确率、召回率和F1分数衡量;以及模型对可答问题生成正确SQL查询的能力,通过执行准确率衡量。基准方法可采用基于T5的序列到序列模型,并集成基于熵的不确定性估计机制以实现拒绝回答。该数据集为开发能够理解临床时间表达、处理复杂嵌套查询、并具备自知之明以拒绝无法回答问题的医疗问答系统提供了坚实的实验基础。
背景与挑战
背景概述
在医疗信息化浪潮中,电子健康记录(EHR)作为存储患者全周期医疗信息的关系数据库,其高效查询与利用一直是临床决策支持的关键。然而,传统基于规则的系统难以满足医护人员多样化的数据检索需求,成为信息利用的瓶颈。为此,KAIST等机构的研究团队于2023年推出了EHRSQL数据集,旨在构建一个面向真实医疗场景的文本到SQL(Text-to-SQL)基准。该数据集通过征集222名医院工作人员的实际问题,关联MIMIC-III和eICU两大开源EHR数据库,聚焦于开发能够理解临床自然语言查询并生成可执行SQL语句的智能问答系统,以推动医疗数据分析自动化的发展。
当前挑战
EHRSQL面临的挑战主要体现在领域问题与构建过程两方面。在领域问题上,数据集需解决医疗场景中复杂的查询需求,包括从简单的患者记录检索到群体层面的统计运算(如生存率计算),同时需精准解析医疗环境中丰富的时间表达式(如绝对、相对及混合时间表述),并具备区分可回答与不可回答问题的能力,以确保系统的可靠性。在构建过程中,挑战源于如何将独立于数据库模式收集的自然语言问题准确映射为结构化查询,这涉及大量人工标注与假设;同时,为保护患者隐私,需在数据生成阶段实施额外的去标识化处理,并确保时间偏移等操作不影响查询的语义正确性。
常用场景
经典使用场景
在医疗信息检索领域,EHRSQL数据集为结构化电子健康记录(EHR)的文本到SQL转换任务提供了经典评估基准。该数据集通过医院实地调研收集了涵盖患者人口统计、处方记录、生命体征、医疗费用及生存率计算等多元化查询需求,模拟了临床环境中医护人员对数据库的实际访问场景。其问题模板源自222名医院工作人员的真实提问,并关联至MIMIC-III与eICU两大开源EHR数据库,使得模型需处理从简单检索到多表嵌套查询的复杂操作,尤其注重对时间敏感型问题的解析能力。
解决学术问题
EHRSQL致力于解决医疗自然语言处理中三大核心学术问题:其一,突破传统模板化自动生成数据集的局限,通过真实场景问题收集提升模型对多样化临床查询的泛化能力;其二,针对医疗领域高度时间敏感特性,系统整合绝对时间、相对时间及混合时间表达式,推动时序推理机制在语义解析中的发展;其三,首次在医疗文本到SQL任务中引入不可回答问题检测机制,要求模型在生成SQL查询的同时评估问题可答性,为构建可信赖的医疗问答系统奠定理论基础。该数据集通过模拟真实EHR查询的复杂性与不确定性,显著缩小了学术研究与临床部署间的语义鸿沟。
衍生相关工作
EHRSQL的发布催生了医疗语义解析领域的系列创新研究。基于其构建的可信赖语义解析框架,学者们开发了融合不确定性估计的端到端文本到SQL模型,通过熵值阈值机制实现可答性判别。该数据集的时间表达式分类体系被扩展应用于临床事件时序关系抽取任务,促进了跨模态EHR问答系统的演进。其问题模板库为交互式医疗问答系统提供了对话状态跟踪的语义基础,而嵌套式SQL标注范式启发了针对大规模EHR数据库的层次化查询优化方法。此外,数据集构建中采用的去识别化与时间偏移技术,为医疗数据隐私保护与时间泛化研究提供了重要参考范例。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作