信息速览
在出院小结的既往史里读到「前列腺癌、良性前列腺增生、甲状腺功能减退、非霍奇金淋巴瘤放疗后」这一串,一位准备接手这位患者的医生在纸上写下两个问题:「什么时候确诊的?做过什么干预(放疗、手术)?」和「维持用药是什么?」。这两句话不是从模板里填出来的,也不是先圈出答案再倒推出的问句——它们短、不完整、标点随意,却正是交接班时真实会冒出来的疑问。过去十几年里,电子病历问答数据集几乎全走另一条路:先有答案,再造问题。emrQA 一类资源把医生问句模板化、再用临床实体填槽,结果是问句里绝大多数含有与答案重合的关键词;有后续研究发现,只取其中极小一部分样本就足以训练一个模型。换句话说,这类数据集测的是检索能力,不是提问能力。
DiSCQ(Discharge Summary Clinical Questions,出院小结临床提问集)是这条路上的反例。Eric Lehman 与合作者找来 10 名从高年级医学生到执业医师的医学专家,请他们以「接收医生」的身份逐行阅读 114 份 MIMIC-III 出院小结,写下 2029 个问题,每个问题都配一段触发它的原文以及这段原文的字符起止位置。它的稀缺性是用代价换来的:只有两千余条、要同时拿到 PhysioNet 与 n2c2 两份授权才能把偏移落回文本、官方自己报告触发句标注的一致性只有 κ=0.08、并且明确拒绝公开生成模型的权重。它不是更大的库,是一面更诚实的镜子——照出的是「医生真正想知道什么」,而不是「模型能从文本里抠出什么」。DiSCQ 出院小结提问集的一屏速览如下。
| 维度 | 内容 |
|---|---|
| 全名 | Learning to Ask Like a Physician: a Discharge Summary Clinical Questions (DiSCQ) Dataset |
| 发布方 | PhysioNet(MIT 计算生理学实验室维护);数据由 MIT 牵头、多国医学机构协作构建 |
| 首作者 | Eric Lehman(MIT),论文共 18 位作者 |
| 首次发布 | 2022 年 7 月 28 日,版本 1.0 |
| 版本现状 | 仅 1.0 一个版本,至今未出新版 |
| 问题数 | 2029 条(官方表述为 2,000+) |
| 触发句数 | 1,000+ 条(论文给出 1.86 ± 1.56 个问题/触发句) |
| 文档数 | 114 份出院小结(官方表述为 100+) |
| 标注者 | 10 名医学专家,资历从高年级医学生到执业医师 |
| 原始来源 | MIMIC-III Clinical Database v1.4;文本取 n2c2(i2b2)2010 关系抽取语料的替代 PHI 版本 |
| 文件格式 | 3 个 CSV:问题主表、人工评测表、i2b2 到 MIMIC 的映射表 |
| 标注粒度 | 问题级 + 触发句字符偏移级;另有四维度人工质量判定与答案充分性三档 |
| 许可 | PhysioNet Credentialed Health Data License 1.5.0(凭证访问,需 CITI 培训与 DUA) |
| DOI | 10.13026/7v8e-h745(v1.0) |
| 配套论文 | Learning to Ask Like a Physician,ClinicalNLP 2022,页 74–86 |
| 典型用途 | 临床问题生成、触发句检测、信息需求分析、无监督答案检索评测 |
§1 它要解决的具体麻烦
1.1 临床问答数据集的「人造」困境
临床问答看上去是一个简单任务:给一段病历,问一个问题,返回答案。难点从来不在「答」,而在「问什么」。医生翻电子病历是为了补齐决策所需的信息,D’Alessandro 等人早在 2004 年就发现,即使受过检索训练的医生,回答一个临床问题平均也要花 8.3 分钟。自动化问答若想帮上忙,前提是模型知道该问什么。
公开数据集在这个前提上长期缺位。模板法的做法是先收集医生问句,抽象成模板,再拿临床实体填槽:结构像医生的话,医学相关性却不稳定。Yue 等人在 2020 年的分析给出了两个刺眼的数字——只抽取 emrQA 的 5% 就足以训练模型,而 emrQA 某个子集里 96% 的问题含有与答案重合的关键词。后续工作进一步发现,机器生成的问题里 85%、号称由医生撰写的问题里 75%,都含有与选定答案完全相同的关键短语。这说明所谓「医生写的问题」,多半也是先圈定答案片段再倒推问句。
倒推带来的后果是严重的:一个问题如果必然能在给定段落里找到答案,那么数据集衡量的就不是临床判断力,而是字符串匹配能力。真实交接班完全不是这样——医生读到「患者血压 148 到 162/45 到 54」,想问的是「他平时的血压是多少」,而这句话在出院小结里根本没有。DiSCQ 的出发点正是这一条:允许提出文档里答不上来的问题。
| 环节 | 模板法数据集 | DiSCQ |
|---|---|---|
| 问题从哪来 | 先有模板,填临床实体 | 医学专家边读边写,无模板 |
| 答案是否先定 | 是,问题由答案倒推 | 否,允许不可回答的问题 |
| 问题形态 | 结构完整、语法规范 | 大量不完整句、口语化、含缩写 |
| 与原文的关联 | 通常只给段落 | 每个问题配触发原文与字符偏移 |
| 评测风险 | 可被字符串匹配刷高 | 无法靠关键词重合取巧 |
1.2 三条常见的错误期待
第一条,期待它是「有标准答案的问答基准」。官方给标注者的指示里明确写着:鼓励提出任何类型的问题,不管它能不能从电子病历里答出来。作者甚至把这当成特性而非缺陷——不可回答的问题可以当硬负样本,用来训练和校准问答系统。想拿它跑准确率的人,第一步就会卡住。
第二条,期待「下了三个 CSV 就能用」。discq_questions_final.csv 里的 start_index / end_index 是字符偏移,指向的不是 MIMIC-III 原文,而是 n2c2(i2b2)2010 关系抽取挑战赛发布的 txt 文件。没有那份语料,偏移只是两个无意义的整数。
第三条,期待「标注一致性高」。官方与论文都给出了触发句层面的一致性:约一半的出院小结由两名专家各自标注,Cohen’s κ 只有 0.08。这不是标注偷懒,是任务本身的性质——同一信息在临床文本里有多种表达,不同的触发句也能引出同一个问题。论文举的例子很直白:一个专家划「血压 148 到 162/45 到 54」,另一个划「高血压」,两人问的都是「患者平时的血压范围」。
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 研究「医生会问什么」的信息需求类型 | 2029 条真人问题 + 触发句分类框架 | 够,且这是它的核心用途 |
| 训练临床问题生成模型 | 问题 + 触发句 + 上下文,可监督 | 够做小样本微调,不足以预训练 |
| 训练触发句检测器 | 字符级偏移作为监督信号 | 勉强,官方基线 F1 只有 0.190 |
| 评测自动指标与人工判断的相关性 | 400 条模型生成问题的人工四维度打分 | 够,论文已给出结论:几乎不相关 |
| 做抽取式问答的准确率基准 | 无 | 不够,问题不保证可答 |
| 做答案检索的召回评测 | 每条问题配建议答案与充分性三档 | 可做,但充分性由人工粗判 |
| 跨机构、跨语种泛化验证 | 无 | 不够,单一机构、英文 |
| 患者级纵向分析 | 映射表给出 subject_id / hadm_id | 可做,但文档只有 114 份 |
| 大规模预训练语料 | 无 | 不够,全库只有两千余条 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 你在做临床问题生成,苦于生成结果无法评价 | 提供四维度人工评测指引(可理解、非平凡、与触发相关、医学有意义)与现成打分表 | 直接套用这四条做人工评测,别再用 ROUGE 定生死 |
| 你在做大模型临床评测,担心题目都是「考试题」 | 提供非考试场景的真实信息需求 | 把它当「医生视角」的一路题源,与考试型基准互补 |
| 你想证明自动指标与人工判断脱节 | 论文已算出 ROUGE-L、METEOR、BERTScore 与人工分的相关系数 | 引用论文 Table 5 与相关系数的结论,不必重跑 |
| 你要建触发句检测任务 | 提供字符级偏移与两条官方基线(ScispaCy、ClinicalBERT) | 先接受 0.19 的天花板,再考虑是否换任务定义 |
| 你要做答案充分性研究 | sufficient_answer 字段分 Fully / Partial / No 三档 |
三档口径见 §2.6,注意它是人工粗判 |
| 你要把问句对齐回 MIMIC-III | i2b2_to_mimic_map.csv 给出 subject_id、hadm_id、chartdate |
先按 / 取文件名末段再 join(§5.6) |
1.5 一句话判断
它不适合当「更大的训练集」,而适合当「更真的尺子」:量出模型生成的问题离医生真正想问的东西还有多远,而这个距离恰好是自动指标看不见的。
1.6 不适合谁:四条边界
不适合拿来做抽取式问答的准确率排行。 标注者被鼓励提任何问题,官方明确不保证可答。用准确率排行榜的口径套它,等于把「提出好问题」的能力排除在评测之外。
不适合拿来当触发句检测的主战场。 官方自己的 ClinicalBERT 基线 F1 只有 0.190,ScispaCy 只有 0.056。这说明任务定义本身有歧义(不同专家划不同的跨度),而不是模型不够大。
不适合拿来预训练生成模型。 两千余条、114 份文档,量级上只够微调与评测。更关键的是官方在伦理声明里明确表示不公开生成模型的权重,并援引 Carlini 等人的研究提醒在敏感数据上训练生成模型的风险。
不适合做跨机构或跨语言的结论。 全部文本来自 MIMIC-III,即单一医疗中心的英文出院小结;标注者集中在少数几家机构。论文没有声明任何跨机构效度。
§2 数据构成与规格
2.1 三个文件,三件事
官方「Data Description」一节的原话是「We release 3 files」,分别是 discq_questions_final.csv、human_eval_q.csv、i2b2_to_mimic_map.csv。三个文件各管一件事,缺任何一个都跑不通完整链路:
| 文件 | 管的事 | 粒度 | 没有它会怎样 |
|---|---|---|---|
discq_questions_final.csv |
医学专家写下的问题与触发原文 | 一行一个问题 | 没有监督信号 |
human_eval_q.csv |
对问题质量的人工判定 | 一行一条待评问题(含模型生成) | 无法复现人工评测,也无法比较模型与真人 |
i2b2_to_mimic_map.csv |
n2c2 文件名到 MIMIC-III 的映射 | 一行一份文档 | 无法把问句对齐回患者与住院 |
三者都是 CSV,官方在「Usage Notes」里说得很直白:浏览用 Excel 或 Google Sheets 就够了,真要干活推荐 Python。
2.2 字段字典:问题主表
discq_questions_final.csv 是全库的主表。官方逐字段说明如下:
| 字段 | 官方说明 | 取值形态 | 含义 | 使用注意 |
|---|---|---|---|---|
id |
问题与触发句所在的文本文件(n2c2) | 文件名 | 定位到哪份出院小结 | 需与 n2c2 语料的 txt 文件名对齐 |
name |
写下这个问题的标注者 | 标注者名 | 可用于按人分组 | 官方未说明是否匿名 |
question |
提出的问题 | 自由文本 | 监督目标 | 大量不完整句,别用语法规则过滤 |
reasoning |
触发该问题的原文片段 | 自由文本 | 即 trigger | 官方要求标注者取最小跨度 |
start_index |
reasoning 的字符起始下标 |
整数 | 定位触发句 | 相对 n2c2 txt,不是 MIMIC 原表 |
end_index |
reasoning 的字符结束下标 |
整数 | 定位触发句 | 同上 |
六个字段里最容易出错的是 reasoning 与 question 的关系:前者不是解释,不是理由,而是触发句本身——医生读到这一段才想到这个问题。命名叫 reasoning 是历史上的习惯,语义上应理解为 trigger。
2.3 字段字典:人工评测表
human_eval_q.csv 的字段最多,也最容易被误读,因为它把真人问题与模型生成的问题混在同一张表里。
| 字段 | 官方说明 | 取值形态 | 含义 | 使用注意 |
|---|---|---|---|---|
id |
问题来自哪个文本文件 | 文件名 | 定位文档 | 同主表 |
model |
生成这个问题的模型 | Gold 或模型名 |
Gold 指真人医生问题 |
训练时若要只用真人,按此列筛 |
trigger |
该问题对应的触发句 | 自由文本 | 触发原文 | 与 question 成对 |
ch_trigger_start |
触发句字符起始下标 | 整数 | 定位 | 与主表下标体系一致 |
ch_trigger_end |
触发句字符结束下标 | 整数 | 定位 | 同上 |
question |
待评判的问题 | 自由文本 | 评测对象 | 可能来自模型 |
answer |
建议答案 | 自由文本 | 供评判充分性 | 取自该患者的任一 MIMIC-III 笔记,或 n2c2 出院小结 |
done |
该行是否已完成评判 | 布尔 | 进度标记 | 未完成行的判定列可能为空 |
understandable |
问题是否可理解 | 布尔 | 四维度之一 | 官方给了明确定义(§2.6) |
nontrivial |
问题相对触发句所在句子是否非平凡 | 布尔 | 四维度之二 | 不可理解的行不再判此项 |
relevant_to_trigger |
问题是否与触发句相关 | 布尔 | 四维度之三 | 同上 |
medically_significant |
问题是否具有医学意义 | 布尔 | 四维度之四 | 同上 |
sufficient_answer |
建议答案的充分程度 | Fully / Partial / No | 三档 | 官方原文写作 Fully、Partial、No |
user |
哪位用户评判了这一行 | 用户名 | 评判者 | 每条问题由两名专家独立打分 |
这张表的设计有一处值得学习:评判是盲评。官方明确说,评判者知道自己会看到人类与机器生成的问题,但不知道某一行来自哪一方,也不知道两者比例。这个设计让 model 列的比较有了可信度。
2.4 字段字典:映射表与主键关系
i2b2_to_mimic_map.csv 解决的是「这份 n2c2 文件对应 MIMIC-III 里的哪一次住院」。
| 字段 | 官方说明 | 含义 | 使用注意 |
|---|---|---|---|
file |
哪个 n2c2 文件对应哪份 MIMIC 出院小结 | 源文件路径 | 按 / 切分取最后一段;官方注明部分文件在 reformatted_txt_files.zip 里 |
row_num |
出院小结的行号 | MIMIC-III NOTEEVENTS 行号 | 与官方表述一致,未注明是否 ROW_ID |
subject_id |
患者编号 | MIMIC-III 患者主键 | 患者级分组的正确键 |
hadm_id |
住院编号 | MIMIC-III 住院主键 | 住院级分组的正确键 |
chartdate |
出院小结的日期 | 记录日期 | 可做时间对齐 |
source |
该出院小结来自 n2c2 的哪一类别 | 来源类别标注 | 官方未枚举取值 |
主键链条因此是三层:n2c2 文件名 → subject_id / hadm_id → MIMIC-III 全库。这条链的意义在于,DiSCQ 本身只有文本与偏移,患者维度的一切都要过这张表才能拿到。需要提醒的是,官方在字段说明里对 row_num 只写了「row number of the discharge summary」,没有写明它等同于 MIMIC-III 的哪个标识符,跨表 join 时应先抽样核对。
2.5 与同类资源的字段差异
| 对比项 | DiSCQ | emrQA | CliniQG4QA |
|---|---|---|---|
| 文章(出院小结)数 | 114 | 2,425 | 36 |
| 问题数 | 2,029 | 455,837 | 1,287 |
| 每篇问题数 | 17.8 | 187 | 35.8 |
| 文章长度(token) | 1,481 | 3,828 | 2,644 |
| 问题长度(token) | 4.4 | 7.8 | 8.7 |
| 问题二元组唯一比例 | 59% | 0% | 24% |
| 是否由医生生成 | 是 | 否 | 否 |
| 是否标注动机(触发句) | 是 | 否 | 否 |
这张表来自论文 Table 1,是理解 DiSCQ 定位最快的一张。三列里 DiSCQ 只在两行占优:问题二元组唯一比例 59%,以及「由医生生成」。规模、长度、数量全面落后——这不是缺点陈述,而是它的设计取向决定的:要真人问题,就只能小。
反过来读这张表也有价值。emrQA 的 45 万条问题、每篇 187 条,是靠模板填槽堆出来的,代价是二元组唯一比例为 0(论文写作 0%):也就是说,几乎不存在别人没问过的新问法。CliniQG4QA 用模型加人在环生成,唯一比例 24%,问题长度 8.7 token,比 DiSCQ 的 4.4 长一倍——越长的问句越像完整句子,也越像模型而不是医生。
2.6 标签体系的含义
DiSCQ 的「标签」不在分类列里,而在三层结构上:触发句类型、所问信息类型、质量判定四维 + 答案充分性三档。
论文对前两层各随机抽样 100 条,由一位作者(医师)归类,给出了类别框架:
| 层级 | 类别集合(论文 Figure 3 / Figure 4 给出) | 说明 |
|---|---|---|
| 触发句含有的信息类型 | Demographics、Problem、Sign/Symptom、Assessment、Test Results、Procedure、Medication、Medical Services、Other | 描述「哪一段原文引发了疑问」 |
| 问题所问的信息类型 | Treatment、Assessment、Sign/Symptom、Vitals、Problem、Test Results、Indication、Etiology、Medical Services、Other | 描述「医生想知道什么」 |
论文对这两层的每类占比给了图示,本文按数字纪律不复述逐类比例,只保留两处结构性结论:一是 Sign/Symptom 类问题里 83%、Problem 类问题里 80% 来自同类型的触发句,说明多数疑问是「就地深挖」;二是 Treatment 类问题里 62%、Test Results 类问题里 56% 的触发句属于 Problem 类,说明治疗与检查的疑问多半由诊断触发。
第三层是人工评测的四维度,官方给了逐条定义:
| 维度 | 官方定义 | 判否的后果 |
|---|---|---|
understandable |
熟悉医学语言的人能否理解问题表达的信息需求,即使它不是完整句子或有拼写语法错误 | 判否则后续三项不再评判 |
nontrivial |
问题相对其触发句所在的句子是否不可回答 | 平凡问题不得分 |
relevant_to_trigger |
触发句或含触发句的句子是否与问题相关 | 不相关不得分 |
medically_significant |
答案是否有助于后续治疗或理解当前病情,或在该情境下由医学人员提出是否合理 | 无意义不得分 |
Satisfies All 是论文使用的汇总口径:四项全满足才算一条高质量问题。答案充分性则分 Fully(建议答案能回答问题)、Partial(相关或部分回答)、No(完全无关)三档。
§3 它是谁的数据
3.1 贡献者与机构
官方页面把创建者署为 Eric Lehman(MIT),论文则给出完整 18 人作者名单与机构标注:
| 机构 | 角色归属 |
|---|---|
| MIT | 第一作者及多位合作者 |
| MIT-IBM Watson AI Lab | 论文致谢中的资助与赞助方 |
| University of Massachusetts Lowell | 合作作者 |
| UERM Memorial Medical Center | 合作作者(医学机构) |
| University of the Philippines | 合作作者(多位标注者所属) |
| ASMPH | 合作作者 |
| Northeastern University | 合作作者 |
| IBM Research | 合作作者 |
| Fidelity Investments | 合作作者 |
| Beth Israel Deaconess Medical Center | 合作作者(临床机构) |
名单里一个值得注意的结构:中间一大段姓名(Legaspi、Sy、Pile、Alberto、Ragasa、Puyat、Taliño、Alberto、Alfonso)集中在菲律宾的医学机构,与论文「10 名医学专家」的描述对应。也就是说,标注工作由菲律宾方面的医学专家完成,美国方面负责研究设计与建模。这是一个真实存在的分工,也意味着标注者的临床训练背景与美国本土医师不完全相同——论文把它写成「资历从高年级医学生到执业医师」,没有进一步分层。
官方页面「Conflicts of Interest」写的是「This research was supported by Oracle and MIT-IBM Watson AI lab」,而论文致谢只写 MIT-IBM Watson AI Lab。两处不一致,本文并列记录,不作取舍。
3.2 时间线
| 时间 | 事件 | 出处 |
|---|---|---|
| 2022 年 6 月 | 预印本上线(arXiv 2206.02696) | 项目 GitHub 首页 |
| 2022 年 7 月 14 日 | 论文在 ClinicalNLP 2022(西雅图)正式发表,页 74–86 | ACL Anthology |
| 2022 年 7 月 28 日 | 数据集在 PhysioNet 上线,版本 1.0 | 官方页面 |
| 2022 年至今 | 版本列表仍只有 1.0 | 官方页面 Versions 区块 |
论文与数据发布相隔两周,属于「先发论文、再放数据」的常规节奏。版本列表至今只有一条,说明它没有修订过——这既可能是稳定,也可能意味着没有后续维护,判断依据只有一条:官方没有给出任何变更记录。
3.3 采集场景:模拟一次交接班
设计的核心是把出院小结当成「上一位医生留给你的交代」。官方与论文都给出了完整的任务描述:
标注者被要求以接收医生的身份审阅出院小结,逐行阅读,记录两件事——(1)任何对患者后续照护可能重要的问题;(2)触发这个问题的原文片段。允许回头补问;允许跳读;也允许一份小结一个问题都不提。
三条约束值得单独摘出来,因为它们直接决定了数据的形态:
第一,最小跨度原则。只要求标注者把触发句取到「最小的一段文字」,不规定取多长。论文的统计结果是触发句长度 5.0 ± 14.1 个 token——均值远小于标准差,说明跨度差异极大,从几个词到一长句都有。
第二,不规定问法。官方原话是鼓励「以任何觉得合适的方式提问」,结果是大量非正式查询,包括不完整句与语法错误。这与模板法数据集的规范问句形成鲜明对比,也是它最容易被误判为「质量差」的地方。
第三,不限制可答性。鼓励提出任何类型的问题,不管能否从电子病历中回答。这条最反直觉,也最有价值:它让数据集包含了真实的信息缺口。
另外还有一条负向筛选:论文脚注写明,涉及新生儿或已故患者的记录被丢弃。
3.4 数据来源的三个层次
理解 DiSCQ 要先分清三层,很多误读都来自把三层混为一谈:
| 层次 | 是什么 | 是否随 DiSCQ 一起发放 |
|---|---|---|
| 第一层:MIMIC-III v1.4 出院小结 | 原始临床文本,贝斯以色列女执事医疗中心的去标识自由文本 | 否,需另行申请 PhysioNet 凭证 |
| 第二层:n2c2(i2b2)2010 关系抽取语料 | 与 MIMIC-III 重叠的出院小结,PHI 已被替代值填槽,发布为 txt 文件 | 否,需另行向 n2c2 申请 |
| 第三层:DiSCQ 标注 | 问题、触发句、字符偏移、质量判定、映射表 | 是,三个 CSV |
论文在 Methods 里解释了为什么用第二层而不是第一层:为了便于阅读。替代 PHI(如虚构的姓名、日期)让文本读起来更顺,也降低了再标识风险。代价是:偏移只对第二层有效,拿第一层原文去切会得到错位的片段。
这个三层结构也解释了它的获取门槛——要完整用上 DiSCQ,需要两份授权:PhysioNet 的凭证访问(CITI 培训 + DUA 1.5.0)用于拿三个 CSV,n2c2 的数据使用协议用于拿第二层 txt。项目 README 的写法很直白:「You will still need to get n2c2/i2b2 access to the discharge summaries.」
§4 它最独特的东西
4.1 稀缺性:问题与触发句配对
临床 NLP 里,「有人问过的问题」并不稀缺,「带着触发句的问题」才稀缺。绝大多数问答数据集给的是(问题,答案)二元组,DiSCQ 给的是(问题,触发原文,偏移)三元组,并且这个三元组是同一个人边读边写出来的。
这带来一个别处做不到的研究角度:从文本片段预测疑问。不是「给定段落回答问题」,而是「读到这一段,医生会起什么疑心」。触发句检测这个任务之所以成立,全靠这一层配对。官方自己的基线很弱(F1 0.190),但任务本身是新的——弱基线在此处不是减分项,而是说明还有空间。
第二个稀缺点是问句的自然形态。论文用三个比例刻画它:46% 的问题本身自足、46% 需要触发句才能理解、8% 需要触发句所在的整个句子。也就是说,超过一半的问题脱离上下文就看不懂。这与考试型数据集的完整题干完全相反,也更接近真实场景——交班时医生是在读一份文档的语境里提问的。
第三个稀缺点是问题的多样性。论文报告 59% 的问题二元组是唯一的,即某个二元词组只出现在一条问题里。这个数字放在模板法数据集旁边(0%)对比强烈。它意味着模型不能靠记住几十种问法取胜。
4.2 差异化证据:只有 22% 能对上模板
论文做了一个诚实的健全性检验:随机抽 100 条问题,看有多少能直接对上 emrQA 的模板。结果是 22%,而这 22 条里有 17 条落在 |problem|? 与 |test|? 两个模板上。
这个数字的含义是:DiSCQ 里近八成的问题,用当时最大的临床问答模板库都覆盖不到。它不是 emrQA 的扩充,而是补上了 emrQA 覆盖不到的那一块。
另一组对照更有意思。论文请一位医师判断,若真要回答这些问题,他会去哪里找答案:3% 需要外部资源,20% 查结构化数据,21% 结构化与非结构化都要查,56% 只能靠非结构化文本。而 emrQA 与 CliniQG4QA 里,所有问题都能用非结构化数据回答——因为它们本来就是照着非结构化段落造的。真实的信息需求有一半要跨出文本之外,这正是 DiSCQ 与它们的根本差别。
论文还追查了答案检索的失败:在模型找回的答案里,44% 来自生成问题的那份出院小结的其余部分,另外 56% 来自护理记录、放射与心电图报告、以及既往出院小结。也就是说,回答一个医生的问题,往往要翻这位患者别的笔记——这与「在一段落内找答案」的抽取式设定完全不同。
4.3 具体案例:一句既往史引出两个问题
论文 Figure 1 给了一个可以直接感受的例子。出院小结的既往史段落写着:
His past medical history is significant for prostate cancer, benign prostatic hypertrophy, hypothyroidism, status post radiation for non Hodgkin’s lymphoma, chronic painless hematuria, degenerative joint disease and history of a murmur.
两位标注者在这一段上划出不同的触发句,写出不同的问题:
| 触发句(trigger) | 问题 | 观察 |
|---|---|---|
| prostate cancer, benign prostatic hypertrophy | Date of diagnosis? Any interventions done (RT, surgery)? | 一个触发句带两个子问题,问的是时间与干预 |
| hypothyroidism | Maintenance medications? | 两个词,问的是一个名词性短语 |
这两个例子把 DiSCQ 的几个特性一次说清了。
第一,问题极短。论文统计问题平均长度 4.4 个 token,这两个例子都在范围内。它们不是句子,是速记。
第二,问的是文档里没有的东西。出院小结写了「有前列腺癌」,没写什么时候确诊、做过什么治疗;写了「甲状腺功能减退」,没写吃什么药、吃多少。这些问题指向的是文档的缺口,而不是文档的内容。
第三,一个触发句可以带多个问题。论文给出 41% 的样本存在这种情况(按官方定义,即一个触发句对应多条以问号分隔的问题),平均每个触发句对应 1.86 ± 1.56 条问题。
第四,语法不规整。「Maintenance medications?」不是句子;「Any interventions done (RT, surgery)?」省略了助动词与主语。用教科书语法过滤数据,会把这类最有价值的问题滤掉。
4.4 标注粒度:字符偏移与最小跨度
DiSCQ 的标注粒度是字符级,不是 token 级也不是句子级。这个选择有实际后果。
字符级偏移的好处是与分词无关,start_index / end_index 可以直接切字符串,不需要复现当时的分词器。坏处是它对文本版本极其敏感——第二层 n2c2 文本把 PHI 替换成了替代值,替代值的长度与原值不同,因此偏移只对 n2c2 的 txt 文件有效,对 MIMIC-III 原文无效。这是它最硬的边界条件。
「最小跨度」原则同样有两面。好处是触发句精确,噪声小;坏处是标注者之间的跨度选择差异极大。论文的统计印证了这一点:触发句长度 5.0 ± 14.1 token,标准差是均值的近三倍。这种离散度直接压低了一致性指标,也让触发句检测成为一个天然的弱监督任务。
从信息需求的角度看,论文还报告了触发句在文档中的来源:多数触发句来自「现病史」(History of Present Illness)占 39%,以及「住院经过」(Hospital Course)占 13%。这两个段落是出院小结的叙事主体,写的是入院前的病史与住院期间的处置,疑问自然集中在这里。
4.5 边界条件:什么情况下它不再适用
| 条件 | 是否适用 | 判断依据 |
|---|---|---|
| 研究医生的信息需求类型 | 适用,主力 | 2029 条真人问题配触发句分类框架 |
| 微调临床问题生成模型 | 适用 | 量级足够微调,不足以预训练 |
| 预训练生成式模型 | 不适用 | 只有两千余条;官方因隐私考虑不发布权重 |
| 抽取式问答准确率排行 | 不适用 | 官方不保证问题可答 |
| 触发句检测的主基准 | 谨慎 | 官方基线 F1 0.190,任务本身一致性低 |
| 跨机构泛化验证 | 不适用 | 单一来源(MIMIC-III),单一语种 |
| 无 n2c2 授权时的完整使用 | 不适用 | 字符偏移指向 n2c2 txt,缺之则无法定位 |
| 患者级纵向研究 | 可做但薄 | 映射表给 subject_id / hadm_id,但只有 114 份文档 |
| 儿科或新生儿场景 | 不适用 | 论文脚注明示剔除新生儿记录 |
这张表里最该记住的是第五行和第七行。第五行提醒:把 DiSCQ 当触发句检测基准的人,会先撞上 0.19 的基线,而这个数字反映的是标注者之间的分歧,不是模型能力。第七行提醒:只有 PhysioNet 凭证是不够的,缺了 n2c2 语料,三个 CSV 的价值折损大半。
§5 怎么拿到
5.1 目录结构与下载面
官方文件目录是扁平的,根目录下只有三个 CSV,没有子目录、没有按患者或段落分卷。由于本项目属凭证访问,未登录或所在区域受限时,文件区块会显示「Data Not Available」,这是预期行为,不代表数据缺失。
| 路径 | 内容 | 备注 |
|---|---|---|
/files/discq/1.0/discq_questions_final.csv |
2029 条问题与触发句 | 主表 |
/files/discq/1.0/human_eval_q.csv |
人工质量判定 | 含真人(Gold)与模型生成问题 |
/files/discq/1.0/i2b2_to_mimic_map.csv |
文件名到 MIMIC-III 的映射 | 患者与住院主键的来源 |
官方没有提供整库压缩包,也没有提供 n2c2 侧的 txt(那是另一家的授权范围)。三个 CSV 的总量很小,一次可下完——这与动辄数百兆的影像或波形库相比是一个实际优势,但别忘了它还依赖一份外部语料。
5.2 凭证与前置条件
| 前置项 | 要求 | 出处 |
|---|---|---|
| PhysioNet 账号 | 需登录并通过凭证审核 | 官方 Access Policy:Only credentialed users who sign the DUA can access the files |
| 伦理培训 | CITI「Data or Specimens Only Research」课程 | 官方 Required training |
| 数据使用协议 | PhysioNet Credentialed Health Data Use Agreement 1.5.0 | 官方 Data Use Agreement |
| 许可 | PhysioNet Credentialed Health Data License 1.5.0 | 官方 License |
| 上游数据库 | 引用并遵守 MIMIC-III v1.4 的使用条件 | 官方 Parent Projects |
| 外部语料 | n2c2(i2b2)2010 关系抽取挑战赛的 txt 文件 | 官方 Usage Notes;项目 README |
README 给出的具体路径是:下载 2010 Relations Challenge 的 Training Data: Concept assertion relation training data 与 Test Data: Test data,把 concept_assertion_relation_training_data/beth/txt 与 test_data 里的 .txt 合并到同一个目录(README 里叫 data/relations_txt)。这一步是官方指定的配套动作,不是可选的便利操作。
5.3 读取方式
官方建议用 Python 处理,浏览用表格软件即可。最小读取流程:
import pandas as pd
#-- 三个 CSV 都在同一目录;凭证用户从 /files/discq/1.0/ 下载
q = pd.read_csv('discq_questions_final.csv')
e = pd.read_csv('human_eval_q.csv')
m = pd.read_csv('i2b2_to_mimic_map.csv')
print(q.shape, e.shape, m.shape)
print(q.columns.tolist())
把偏移落回原文(需 n2c2 txt):
import os
TXT_DIR = 'data/relations_txt'
def trigger_text(row):
#-- file 字段可能带路径,按 "/" 取最后一段
fname = str(row['id']).split('/')[-1]
path = os.path.join(TXT_DIR, fname)
if not os.path.exists(path):
return None
with open(path, encoding='utf-8', errors='replace') as f:
text = f.read()
s, t = int(row['start_index']), int(row['end_index'])
return text[s:t]
q['trigger_back'] = q.apply(trigger_text, axis=1)
第二段代码里有一个必须自己做的校验:切出来的 trigger_back 应该与 reasoning 一致或高度接近。如果不一致,说明文件名或文本版本没对上,此时不要继续下游分析。
5.4 转成可训练的表
官方没有给官方切分,论文用的是文档级 70% / 10% / 20% 划分。文档级是关键——同一份出院小结的所有问题必须落在同一侧,否则触发句上下文会泄漏。
import pandas as pd
import numpy as np
q = pd.read_csv('discq_questions_final.csv')
m = pd.read_csv('i2b2_to_mimic_map.csv')
#-- 映射表给的是 file -> subject_id / hadm_id;先统一文件名口径
m['fname'] = m['file'].astype(str).str.split('/').str[-1]
q['fname'] = q['id'].astype(str).str.split('/').str[-1]
df = q.merge(m[['fname', 'subject_id', 'hadm_id', 'chartdate']],
on='fname', how='left')
#-- 文档级划分:按文件名哈希分组,保证同一文档不分到两侧
docs = df['fname'].drop_duplicates().to_numpy()
rng = np.random.default_rng(0)
rng.shuffle(docs)
n = len(docs)
train, val, test = np.split(docs, [int(n * 0.7), int(n * 0.8)])
df['split'] = np.select(
[df['fname'].isin(train), df['fname'].isin(val)],
['train', 'val'], default='test')
print(df['split'].value_counts())
一个触发句带多个问题的情况要显式处理。官方在论文里说得很清楚:41% 的样本存在多条以问号分隔的问题,因此训练与评测要在两种口径下分别跑——拆分口径(按 ? 切开,每条独立成例,便于与既有工作对比)与合并口径(保留原样,更贴近医生真实的连问行为)。选哪种必须写进方法节,因为两种口径的样本数不同,指标不可比。
5.5 标注映射:把人工判定变成可用标签
human_eval_q.csv 的四维度与答案充分性三档,可以直接转成过滤条件或训练目标:
import pandas as pd
e = pd.read_csv('human_eval_q.csv')
dims = ['understandable', 'nontrivial',
'relevant_to_trigger', 'medically_significant']
#-- 未完成评判的行先剔除;四维度转布尔
e = e[e['done'] == True].copy()
for d in dims:
e[d] = e[d].astype(str).str.lower().isin(['true', '1', 'yes', 'y'])
#-- 论文口径:四项全满足记为高质量问题
e['satisfies_all'] = e[dims].all(axis=1)
#-- 真人问题与模型生成问题的对照
print(e.groupby('model')['satisfies_all'].mean())
#-- 答案充分性三档
print(e['sufficient_answer'].value_counts(dropna=False))
这段代码的最后两行正好对应论文 Table 5 与 Table 6 的口径:前者按 model 分组看四项全满足的比例,后者看答案充分性的三档。需要注意,官方说明里写明「若问题不可理解,则不评判非平凡、相关性、医学意义」,因此这些列存在结构性空缺,直接 mean() 会低估——论文也在表注里说明了这一点。
5.6 五个最容易出错的地方
| 位置 | 错误写法 | 后果 | 正确做法 |
|---|---|---|---|
| 定位触发句 | 拿 MIMIC-III 原文切 start_index / end_index |
偏移错位,切出无关片段 | 只对 n2c2 的 txt 切;切完与 reasoning 核对 |
| 文件名对齐 | 直接用 file 或 id 做 join |
带路径与不带路径对不上 | 统一按 / 取末段 |
| 问题去重 | 按 trigger 去重当唯一键 |
丢掉 41% 的多问题样本 | 以(文件名, 触发偏移, 问题序号)为键 |
| 训练数据 | 把 human_eval_q.csv 全表当真人语料 |
混入模型生成问题,指标虚高 | 先按 model == 'Gold' 筛 |
| 指标选择 | 用 ROUGE-L 或 BERTScore 挑模型 | 与人工判断几乎不相关 | 用四维度人工评测,或至少报告相关系数 |
第五行的依据来自论文:作者算了人工评分与自动指标的 Spearman 相关系数,ROUGE-L 为 −0.09,METEOR 为 −0.04,BERTScore 为 −0.04,均极低且不显著。这不是「指标不够好」,而是这些指标压根不是为这四类判据设计的。
§6 与库内条目的关系
6.1 关系图谱
DiSCQ 在临床文本类资源里的位置,可以用「问题由谁产生 × 是否配触发句」两个轴摆出来。下表列出库内主题相近的已发布资源,并给出与 DiSCQ 的判定:
| 库内资源 | 与 DiSCQ 的关系 | 判定依据 | 是否撞库 |
|---|---|---|---|
| emrQA(rid 139) | 同为临床问答,底层语料同源(n2c2/i2b2) | 由 UIUC、IBM Research、MIT-IBM Watson AI Lab 构建,问题来自模板填槽;DiSCQ 由 Lehman 等 2022 年构建,问题来自 10 名医学专家手写 | 否,独立发布 |
| MIMIC-III(rid 106) | DiSCQ 的上游父项目 | 官方 Parent Projects 明列 MIMIC-III Clinical Database v1.4 | 否,上下游关系 |
| MIMIC-IV-Note(rid 47) | 同为去标识自由文本语料,非 DiSCQ 来源 | DiSCQ 基于 MIMIC-III v1.4,不是 MIMIC-IV-Note | 否 |
| 出院小结模板集(rid 1301) | 同为出院小结衍生标注,主题相近 | 1301 是姓名去标识模板,产出 PHI 标注;DiSCQ 产出问题与触发句,字段体系完全不同 | 否,独立发布 |
| DrugEHRQA(rid 1300) | 同用 n2c2 出院小结,问答方向 | 1300 面向结构化与自由文本双模态用药问答;DiSCQ 面向信息需求与问题生成 | 否,独立发布 |
| MeDiSumQA(rid 1315) | 同为出院小结问答 | 1315 是面向患者的摘要问答,源自 MIMIC-IV-Note,由德国团队构建 | 否,独立发布 |
| EHRNoteQA(rid 1256) | 同以出院小结为底座做问答评测 | 1256 是五选一大模型评测基准,源自 MIMIC-IV-Note;DiSCQ 是开放式提问集,源自 MIMIC-III | 否,独立发布 |
| ArchEHR-QA(rid 1000) | 同为电子病历问答共享任务产物 | 1000 是 2025 年 BioNLP 共享任务,证据落地型问答;DiSCQ 是 2022 年发布、非挑战赛产物 | 否,独立发布 |
| ann-pt-summ(rid 1497) | 同为出院小结人工标注 | 1497 标注幻觉,DiSCQ 标注提问 | 否,独立发布 |
| MedDec(rid 1296) | 同为 MIMIC-III 出院小结标注 | 1296 按 DICTUM 十类决策体系标片段;DiSCQ 标问题与触发句 | 否,独立发布 |
判定的通用标准只有一条:同一团队、同一批数据、同一 DOI 或版本页才算同一份发布。DiSCQ 的 DOI 是 10.13026/7v8e-h745,团队是 Lehman 等人,版本页是 /content/discq/1.0/,与上表任何一条都不重合,因此均不构成撞库。
6.2 检索路径
| 你要找的东西 | 检索词 | 会落到哪里 |
|---|---|---|
| 模板法临床问答的对照 | emrQA、emrKBQA、模板填槽 |
§1.1 的对照表、§6.1 第一行 |
| 上游数据库 | MIMIC-III、mimiciii、v1.4 |
§3.4 的来源层次、§6.1 第二行 |
| 出院小结标注的其他口径 | discharge summary、出院小结、DICTUM |
§6.1 后四行 |
| 问题生成与评测方法 | QG、question generation、T0、BART |
§7.4 的基线表 |
| 触发句概念 | trigger、reasoning、字符偏移 |
§2.2 字段字典、§4.4 |
| 人工评测指引 | understandable、nontrivial、medically_significant |
§2.6 的定义表 |
| 外部语料 | n2c2、i2b2、2010 relations |
§3.4、§5.2 |
6.3 与其他资源的分工判据
| 任务 | 主粮仓该用什么 | DiSCQ 的位置 | 原因 |
|---|---|---|---|
| 临床问答的规模化训练 | 大模板库(emrQA 一类) | 只在评测出现 | 两千余条不够训练 |
| 问题生成模型的微调 | 大模板库 + DiSCQ 混合 | 微调主力之一 | 真人问法可校正模板腔 |
| 信息需求类型研究 | 无可替代 | 主力 | 只有它同时给问题与触发句分类 |
| 触发句检测 | 自建基线 | 唯一现成资源 | 别的库不给偏移 |
| 大模型临床能力评测 | 考试型基准 + 笔记型基准 | 补一路「医生视角」 | 问题非考试式、多不可答 |
| 自动指标可信度研究 | 需人工平行语料 | 现成 | 已附四维度人工打分 |
| 抽取式问答排行 | 抽取式基准 | 不适用 | 不保证可答 |
这张表想说的只有一件事:DiSCQ 负责的是「提问」这一半,而不是「作答」那一半。需要回答准确率的人,它给不了;需要知道该问什么的人,它几乎是唯一选择。
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
先纠正一个几乎必然会出现的误判:看到 κ=0.08 就断定标注质量差。这个数字算的是触发句层面的一致性,不是问题质量的一致性,也不是标注者是否认真。官方与论文都解释了低值的原因——临床文本存在信息冗余,不同跨度可以表达同一信息;临床推理不是线性的,不同触发句可以引出同一个问题。论文甚至举了具体例子:一个划「血压 148 到 162/45 到 54」,一个划「高血压」,两人问的是同一件事。
论文还明确说,他们没有测问题层面的一致性,理由是这本质上主观,而问题之所以存在正是源于医学专家之间的分歧。换句话说,分歧是这项研究的对象,不是它的缺陷。
这个校正会改变后面五维评分的读法:一致性低不等于不可用,但它确实划出了触发句检测任务的上限。
7.1 五维评分
按临床文本数据集的常用维度打分,每项 1–5 分,分数针对「作为临床问题生成与信息需求研究数据」这一用途:
| 维度 | 分数 | 理由 |
|---|---|---|
| 数据规模 | 2 | 2029 条问题、114 份文档,微调够、预训练不够 |
| 标注质量 | 4 | 真人手写、触发句精确、盲评设计严谨;但触发句一致性 κ=0.08 |
| 任务适配 | 5 | 唯一同时给问题、触发句与字符偏移的临床资源 |
| 文档完整 | 4 | 字段逐条解释、用法提示、伦理声明、引用格式齐全 |
| 可获取性 | 2 | 双重授权(PhysioNet + n2c2),缺一不可,且有区域限制 |
五项合计 17 分(满分 25)。拖后腿的是规模与可获取性,这两项恰好是它设计取向的直接代价:要真人问题,规模必然小;要对齐回原文,必然要多一层授权。
7.2 标注的两层与它们各自的可靠性
第一层是问题与触发句本身,由 10 名医学专家边读边写。可靠性高:官方与论文给出了完整的任务说明、最小跨度原则、以及逐字段的数据字典。风险点在于标注者资历跨度大(高年级医学生到执业医师),论文没有分层报告,因此无法判断不同资历的问法是否有系统差异。
第二层是触发句的一致性。约一半的出院小结由两名专家各自标注,Cohen’s κ 为 0.08。这是官方自己给出的数字,不是外部评价。它意味着:任何把触发句当金标准的下游任务,天花板都很低。
第三层是质量评判。每个问题由两名专家独立打分,论文报告的评分一致性为 κ=0.46(问题质量)与 κ=0.47(答案充分性),属于中等。官方也写了限制条件:因时间所限,评判者之间没有讨论环节;但做了两条控制——评判者不会拿到自己此前看过的问题,且评判是盲评。
| 层级 | 一致性 | 含义 | 下游建议 |
|---|---|---|---|
| 问题文本 | 未测量(论文明示) | 分歧本身是研究对象 | 直接用,别做一致性过滤 |
| 触发句跨度 | κ=0.08 | 一致性极低 | 触发句检测不要追求高精度 |
| 质量四维度 | κ=0.46 | 中等 | 报告评分时标注双人独立 |
| 答案充分性 | κ=0.47 | 中等 | 三档判为粗粒度,勿当精确标签 |
7.3 可枚举的偏差
| 偏差 | 表现 | 影响 |
|---|---|---|
| 单一机构 | 全部文本来自 MIMIC-III(贝斯以色列女执事医疗中心) | 文书风格、收治结构单一 |
| 单一语种 | 英文 | 中文场景无直接可迁移性 |
| 标注者地域集中 | 医学专家主要来自菲律宾的医学机构 | 训练背景与美国本土医师不完全相同 |
| 文档筛选 | 剔除新生儿与已故患者的记录 | 儿科与临终场景覆盖不到 |
| 触发句一致性 | κ=0.08 | 触发句类任务上限低 |
| 问题形态 | 大量不完整句与语法错误 | 用语法规则清洗会误删核心样本 |
| 可答性缺失 | 鼓励提不可回答的问题 | 不能做准确率排行 |
| 文本版本绑定 | 偏移只对 n2c2 替代 PHI 版本有效 | 换文本即失效 |
| 无后续版本 | 版本列表只有 1.0 | 错误与遗漏没有修订记录 |
| 未公开权重 | 官方不发布生成模型权重 | 无法直接复用官方基线模型 |
7.4 外部验证:官方基线给出的读数
论文在 DiSCQ 上训练了三条基线,其数值是判断「这个数据能撑起多强的任务」的直接证据。所有数字来自论文 Table 2、Table 5、Table 6。
触发句检测(token 级,测试集):
| 模型 | Precision | Recall | F1 |
|---|---|---|---|
| ScispaCy(临床实体当触发句) | 0.033 | 0.186 | 0.056 |
| ClinicalBERT(微调) | 0.196 | 0.184 | 0.190 |
问题生成的人工评测(每模型 400 条,一半用真人触发句、一半用预测触发句;两名医学专家独立打分):
| 来源 | 触发句 | 可理解 | 非平凡 | 与触发相关 | 医学有意义 | 四项全满足 |
|---|---|---|---|---|---|---|
| Gold(真人) | 真人 | 93.8% | 86.0% | 83.3% | 82.3% | 80.5% |
| BART | 真人 | 81.5% | 59.8% | 52.3% | 54.8% | 47.8% |
| T0-11B | 真人 | 85.8% | 72.3% | 68.0% | 66.5% | 62.5% |
| BART | 预测 | 78.3% | 57.3% | 49.3% | 49.8% | 41.8% |
| T0-11B | 预测 | 76.8% | 49.0% | 45.0% | 44.5% | 41.0% |
答案充分性(建议答案部分回答 / 完全回答的比例):
| 来源 | 触发句 | 部分回答 | 完全回答 |
|---|---|---|---|
| Gold | 真人 | 15.0% | 7.50% |
| BART | 真人 | 13.75% | 7.75% |
| T0-11B | 真人 | 11.5% | 6.00% |
| BART | 预测 | 14.5% | 6.25% |
| T0-11B | 预测 | 9.75% | 3.25% |
三张表合起来能读出四条结论。第一,真人的四项全满足率是 80.5%,最好的模型是 62.5%,差距 18 个百分点——这个差距就是「像医生一样提问」这件事当时的完成度。第二,换掉真人触发句之后,两个模型都从 47.8% / 62.5% 掉到 41.8% / 41.0%,说明触发句质量是瓶颈,且 T0 在预测触发句下产生大量平凡问题。第三,答案完全回答的比例最高只有 7.75%,说明「答得上」比「问得对」难得多。第四,自动指标全部失效:ROUGE-L、METEOR、BERTScore 与人工分的相关系数分别为 −0.09、−0.04、−0.04。
论文还做了一个反向核查:在 50 条被判为「建议答案无效」的真人问题里,人工复查发现 36% 其实在电子病历里有答案。也就是说,一部分失败是检索模型的失败,不是问题本身无解。
7.5 它为何仍能持续
它没有更新、没有后续版本、规模两千余条,却没有被替代,原因只有一个:真人提问这件事没法批量造。模板法可以造出 45 万条,但二元组唯一比例是 0;模型生成可以造出更多,但越长越像模型而不像医生。要拿到「医生读到这一段会起什么疑心」的配对数据,只能请医生一份一份读。
只要临床问答的评测还停在「问得对不对」而非「答得准不准」这一侧,DiSCQ 的位置就还在。反过来,一旦有更大规模的真人提问语料出现,它就会被挤到「历史基线」的位置——这是它唯一真实的替代风险。
§8 生态位与历史
8.1 沿革
DiSCQ 出现在临床 NLP 的一个转折点上。2022 年前后,社区已经意识到模板法数据集的天花板:Yue 等人在 2020 年给出 emrQA 的深度分析,指出只取 5% 就够训练、96% 的问题含答案关键词;Kell 等人在 2021 年则从实践角度提出,生物医学问答系统要进临床还差什么。DiSCQ 是对这两条批评的直接回应——不追求规模,追求真实性。
它的发布路径也很典型:先 arXiv 预印本(2206.02696),再在 ClinicalNLP 2022 正式发表(7 月 14 日),两周后在 PhysioNet 落数据(7 月 28 日)。这种「论文 + 数据 + 代码」三件套是当时临床 NLP 的通行做法,代码仓库至今挂在 GitHub。
8.2 与挑战赛的关系
这里有一个必须说清的区分:DiSCQ 不是挑战赛产物,但与挑战赛语料同源。
官方页面没有把任何挑战赛列为 Parent Projects,只列了 MIMIC-III v1.4。它的文本来自 n2c2(前身 i2b2)2010 年关系抽取挑战赛发布的出院小结——项目 README 明确要求下载 2010 Relations Challenge 的训练与测试数据。也就是说,它借用了挑战赛的语料,却没有参加挑战赛,也没有继承挑战赛的评测口径。
这个区分有实际影响。挑战赛数据集的标签是「概念、断言、关系」三元组,DiSCQ 的标签是「问题、触发句、质量判定」;两者在同一批文本上做了完全不同的事。把它们混为一谈,会导致评价标准用错。
8.3 生态位
| 角色 | 主粮仓 | 对照尺 |
|---|---|---|
| 典型用法 | 大规模训练、预训练 | 微调、人工评测、方法学对照 |
| 需要的前提 | 数据量大、标签统一 | 来源真实、判定可信 |
| 代表资源 | emrQA 一类大模板库 | DiSCQ |
| 失败模式 | 过拟合模板腔、指标虚高 | 样本少、结论不稳 |
DiSCQ 坐在右边这一列。它不是拿来堆数据的,是拿来对照的:拿它检验模型生成的问题是否真的像医生,拿它检验自动指标是否可信,拿它刻画临床信息需求的类型。
8.4 谁在用,用来做什么
从论文的引用链与官方页面看,使用者集中在三类:做临床问题生成的研究组(拿它当微调与人工评测的语料)、做问答评测方法的研究组(拿它论证自动指标不可信)、做临床信息学教学的团队(拿它讲「医生的信息需求长什么样」)。
第三类最少被提及,却可能是它最稳的用途。2029 条真人问题配上触发句,是一份可以直接搬进课堂的材料:让学生看同一段既往史,先猜医生会问什么,再看真实的医生问了什么。这个用法不需要任何模型,也不需要 n2c2 授权之外的东西。
§9 使用指引
9.1 三种角色的路径
| 角色 | 第一天 | 第一周 | 注意事项 |
|---|---|---|---|
| 临床 NLP 研究者 | 读官方 Data Description,跑通 §5.3 的读取 | 按文档级划分建微调基线,跑拆分与合并两种口径 | 别用 ROUGE 挑模型(§5.6) |
| 大模型评测工程师 | 用 model == 'Gold' 筛出真人问题 |
建立医生视角的题集,与考试型基准并列报告 | 问题不可答,不能算准确率 |
| 临床信息学教师 | 取 §4.3 的例子做课堂演示 | 按触发句类型组织若干组对照材料 | 问句语法不规整,别在课堂上「修正」它 |
9.2 一条最短的可用流程
#-- 1. 凭证登录后取三个 CSV(区域受限时会返回 Forbidden,属预期)
wget --no-parent --recursive --level=1 --accept=csv \
--directory-prefix=discq \
https://physionet.org/files/discq/1.0/
#-- 2. 另向 n2c2 申请 2010 Relations Challenge 的 txt,合并到同一目录
#-- concept_assertion_relation_training_data/beth/txt 与 test_data
ls data/relations_txt | head
#-- 3. 用官方代码仓库复现基线
git clone https://github.com/elehman16/discq
cd discq && pip install -r requirements.txt
import pandas as pd
#-- 4. 只看真人问题:model 列等于 Gold 的才是医学专家写的
e = pd.read_csv('human_eval_q.csv')
gold = e[e['model'] == 'Gold']
print(gold.shape)
print(gold[['trigger', 'question', 'sufficient_answer']].head())
上面 bash 段的第一步在部分区域会直接返回 Forbidden,这不是命令写错了,是凭证与区域的双重限制。遇到这种情况时,正确做法是走 PhysioNet 的凭证申请流程,而不是换镜像站。
9.3 引用方式
官方页面给出了三段必须并列的引用:
| 引用对象 | 内容 |
|---|---|
| 数据集 | Lehman, E. (2022). Learning to Ask Like a Physician: a Discharge Summary Clinical Questions (DiSCQ) Dataset (version 1.0). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/7v8e-h745 |
| 原始论文 | Lehman, E. 等 18 人(2022). Learning to Ask Like a Physician. Proceedings of the 4th Clinical Natural Language Processing Workshop, 页 74–86, 西雅图. ACL. https://aclanthology.org/2022.clinicalnlp-1.8/ |
| 平台 | Pollard, T. 等(2026). PhysioNet as a global platform for biomedical research. Nature Health. https://doi.org/10.1038/s44360-026-00096-z |
官方页面的「Please cite them when using this project」还要求同时引用父项目 MIMIC-III Clinical Database v1.4。写论文时另外建议注明:使用的版本号(1.0)、问题口径是拆分还是合并、以及划分方式是否为文档级。
§10 AI 使用声明
| 项目 | 声明 |
|---|---|
| 文本生成 | 本文由 AI 辅助撰写,编辑把关结构与事实 |
| 数字来源 | 规模、结构、边界三类数字来自 PhysioNet 官方页面与配套论文(ClinicalNLP 2022) |
| 文件核验 | 官方文件目录因凭证与区域限制返回 Forbidden,三个 CSV 未逐行下载核对 |
| 不一致说明 | 官方页面称资助方含 Oracle 与 MIT-IBM Watson AI Lab,论文致谢只写 MIT-IBM Watson AI Lab,两处并列记录未作取舍 |
| 论文信息 | 已读取 ACL Anthology 全文 PDF,Table 1/2/5/6 与 Figure 1/3/4 的数值均取自全文 |
| 未核验内容 | 三个 CSV 的实际行数与文件体积;row_num 是否等同 MIMIC-III 的 ROW_ID;source 字段的取值集合;name 与 user 字段的具体取值;触发句与问题各类型的逐类占比(论文 Figure 3/4 图示,本文按数字纪律未复述) |
| 图像 | 无配图;封面为生成式提示词,不含真实病历内容 |
| 免责 | 本文不构成临床建议;数据使用须遵守 PhysioNet 凭证访问许可 1.5.0 与 DUA |
常见误读(避坑清单)
| 说法 | 实际 | 证据 |
|---|---|---|
| 「它是问答数据集,所以每个问题都有答案」 | 官方鼓励提任何问题,不管能否从电子病历回答 | 官方 Methods:鼓励所有类型的问题,不论可否基于 EHR 回答 |
| 「2000+ 问题对应 2000+ 个不同的触发句」 | 平均 1.86 ± 1.56 个问题/触发句,41% 样本一个触发句多个问题 | 论文 Dataset Statistics 与 Handling multiple questions |
| 「下载三个 CSV 就能跑」 | 字符偏移指向 n2c2(i2b2)2010 语料的 txt,需另行申请 | 官方字段说明;项目 README |
| 「它基于 MIMIC-III 原文」 | 用的是 n2c2 版本,PHI 已被替代值填槽 | 官方 Methods:为便于阅读改用 n2c2 版本 |
| 「标注一致性高,可以当金标准」 | 触发句层面 Cohen’s κ 为 0.08 | 论文 Dataset Statistics |
| 「它是开放数据,随便下」 | 凭证访问,需 CITI 培训、签署 DUA 1.5.0,且有区域限制 | 官方 Access Policy 与 License |
| 「问题写得不规范,质量不行」 | 官方鼓励随意提问,不完整句是设计结果 | 官方 Methods;论文举出具体例子 |
| 「模型权重也一起公开了」 | 官方明确不发布生成模型权重 | 官方 Ethics 一节 |
| 「触发句标注能直接训出一个好检测器」 | 官方 ClinicalBERT 基线 F1 仅 0.190 | 论文 Table 2 |
| 「它和挑战赛是一回事」 | 语料同源但非挑战赛产物,官方 Parent Projects 只列 MIMIC-III | 官方页面 Parent Projects;README 指定的下载项 |
| 「它有 100 份出院小结」 | 论文 Table 1 给出 114 篇 | 论文 Table 1:Total Articles 114 |
FAQ
Q1:DiSCQ 到底有多少条问题、多少条触发句、多少份出院小结?
论文 Table 1 给出的是 114 篇文章、2029 条问题,平均每篇 17.8 条;官方页面与摘要用的是「2,000+ 问题」「100+ 出院小结」的概数表述,两者不冲突,前者精确、后者保守。触发句的数量官方写作 1,000+,结合论文给出的「每触发句 1.86 ± 1.56 条问题」可以推知它明显少于问题数——同一个触发句常常带出多个问题。需要提醒的是,这三个数字分别出自论文表格与官方摘要,引用时最好注明来源:写论文用 114 与 2029 更稳,写简介用 100+ 与 2,000+ 更符合官方口径。
Q2:为什么用了 DiSCQ 还得去申请 n2c2 的语料?
因为 start_index 与 end_index 是字符偏移,指向的不是 MIMIC-III 原文,而是 n2c2(前身 i2b2)2010 年关系抽取挑战赛发布的 txt 文件。官方选这一版文本的理由写在 Methods 里:n2c2 版本的 PHI 已用替代值填槽,读起来更顺,也降低再标识风险。代价是偏移只对这一版有效——拿 MIMIC-III 原文去切,替代值与原值长度不同,切出来的片段必然错位。项目 README 把这一步写成了硬要求,并指明了具体要下载哪两个数据包。
Q3:触发句标注一致性只有 κ=0.08,这数据还能用吗?
能用,但要看用在哪。这个数值算的是「两个专家是否划出同一段原文」,不是「问题写得好不好」。官方解释得很清楚:临床文本信息冗余,不同跨度能表达同一信息;临床推理不是线性的,不同触发句能引出同一个问题。论文举的实例是,一个专家划「血压 148 到 162/45 到 54」,另一个划「高血压」,问的是同一件事。所以正确的读法是:问题层面可信,触发句层面不要把金标准当绝对——用它训检测器,先接受 0.19 的 F1 上限;用它做信息需求研究,完全不受影响。
Q4:它能用来评测答案检索吗?
能,但要改口径。human_eval_q.csv 里每行都配了 answer 建议答案与 sufficient_answer 三档(Fully / Partial / No),可以当检索质量的粗粒度标签。论文给的答案充分性表里,真人在真人触发句下也只有 15.0% 部分回答、7.50% 完全回答——这个数字低得刺眼,但它同时说明两件事:问题确实难答,以及一部分失败是检索模型不够好。论文复核了 50 条被判无效的真人问题,发现其中 36% 在电子病历里其实有答案。所以用它做检索评测时,报告要分成「问题无解」与「模型没找到」两类,否则会把模型的失败算成数据集的缺陷。
Q5:许可上有哪些必须注意的?
它是凭证访问数据,不是开放数据。官方页面写明三件事:访问策略是「只有签署 DUA 的凭证用户才能访问文件」;许可为 PhysioNet Credentialed Health Data License 1.5.0;所需培训为 CITI 的「Data or Specimens Only Research」课程。此外两处容易漏掉:一是官方要求同时引用父项目 MIMIC-III Clinical Database v1.4;二是官方在伦理声明里明确不发布生成模型的权重,并援引 Carlini 等人的研究提醒后来者注意在敏感数据上训练生成模型的隐私风险。做二次分发或微调后公开权重的团队,需要特别注意这一条。
术语表
| 术语 | 解释 |
|---|---|
| DiSCQ | Discharge Summary Clinical Questions,出院小结临床提问集 |
| 触发句(trigger) | 让医生产生疑问的那段原文;数据里字段名写作 reasoning |
| 字符偏移 | 触发句在源文本中的起止字符下标,非词下标 |
| 交接班(handoff) | 患者照护责任在不同医务人员之间转移的环节 |
| 出院小结 | 患者出院时由主管医师书写的病情与处置总结 |
| 填槽(slot filling) | 用具体实体填入模板空槽以生成句子的方法 |
| 问题生成(QG) | 给定文本自动生成问题的任务 |
| 非平凡(nontrivial) | 问题不能由触发句所在的句子直接回答 |
| 充分性三档 | 建议答案 Fully / Partial / No 的三级判定 |
| 盲评 | 评判者不知道被评对象来自人类还是机器 |
| Cohen’s κ | 两位标注者一致性指标,校正偶然一致后的值 |
| 文档级划分 | 同一文档的所有样本只进训练或只进测试 |
| MIMIC-III | MIT 计算生理学实验室发布的重症监护公开数据库 |
| n2c2(i2b2) | 由哈佛 DBMI 托管的临床自然语言处理评测与语料平台 |
| 替代 PHI | 用虚构值替换真实个人健康信息后的文本 |
| CITI | 科研伦理与合规在线培训课程体系 |
| DUA | Data Use Agreement,数据使用协议 |
| ClinicalBERT | 在临床文本上继续预训练的 BERT 模型 |
| ScispaCy | 面向科学文本的 spaCy 模型包 |
| BART / T0 | 论文使用的两个生成模型基线,分别为 406M 与 11B 参数 |
| ROUGE-L / METEOR / BERTScore | 常用的自动文本生成评价指标 |
| Spearman 相关系数 | 两组排序之间的单调相关度量 |
附录 A:核心数字核对表
| 项 | 值 | 出处 |
|---|---|---|
| 问题数 | 2029(官方表述 2,000+) | 论文 Table 1;官方 Abstract |
| 出院小结数 | 114(官方表述 100+) | 论文 Table 1;官方 Abstract |
| 触发句数 | 1,000+ | 论文贡献列表 |
| 每篇问题数 | 17.8 | 论文 Table 1 |
| 每触发句问题数 | 1.86 ± 1.56 | 论文 Dataset Statistics |
| 文档长度 | 1,481 token | 论文 Table 1 |
| 问题长度 | 4.4 token | 论文 Table 1 |
| 触发句长度 | 5.0 ± 14.1 token | 论文 Dataset Statistics |
| 唯一问题二元组比例 | 59% | 论文 Table 1 |
| 医学专家人数 | 10 | 论文 Section 3.2;官方 Methods |
| 多问题样本占比 | 41% | 论文 Handling multiple questions |
| 触发句一致性 | Cohen’s κ = 0.08 | 论文 Dataset Statistics |
| 质量评分一致性 | κ = 0.46(问题)、κ = 0.47(答案充分性) | 论文 Human Evaluation |
| 触发句来自现病史 / 住院经过 | 39% / 13% | 论文 Dataset Statistics |
| 触发句检测基线 F1 | ClinicalBERT 0.190;ScispaCy 0.056 | 论文 Table 2 |
| 真人问题四项全满足率 | 80.5% | 论文 Table 5 |
| T0-11B 在真人触发句下四项全满足率 | 62.5% | 论文 Table 5 |
| 答案完全回答比例(T0,真人触发句) | 6.00% | 论文 Table 6 |
| 自动指标与人工分相关系数 | ROUGE-L −0.09;METEOR −0.04;BERTScore −0.04 | 论文 Section 8 |
| 可映射到 emrQA 模板的问题比例 | 22%(100 条抽样) | 论文 Dataset Statistics |
| 需外部资源 / 结构化数据回答的比例 | 3% / 20% | 论文 Dataset Statistics |
| 发布文件数 | 3 个 CSV | 官方 Data Description |
| 版本号与日期 | 1.0,2022 年 7 月 28 日 | 官方 Versions 区块 |
| DOI(v1.0) | 10.13026/7v8e-h745 | 官方 Discovery 区块 |
| 许可 | PhysioNet Credentialed Health Data License 1.5.0 | 官方 Access 区块 |
| 论文出处 | ClinicalNLP 2022,页 74–86,DOI 10.18653/v1/2022.clinicalnlp-1.8 | ACL Anthology |
相关数据集导航
| 资源 | 与 DiSCQ 的关系 | 链接 |
|---|---|---|
| emrQA | 模板法临床问答对照 | https://www.qianfanghub.com/ai-ready-dataset/emrqa/139 |
| MIMIC-III | DiSCQ 的上游父项目 | https://www.qianfanghub.com/ai-ready-dataset/mimic-iii/106 |
| MIMIC-IV-Note | 同为去标识临床自由文本 | https://www.qianfanghub.com/ai-ready-dataset/mimic-iv-note/47 |
| 出院小结模板集 | 同为出院小结衍生标注 | https://www.qianfanghub.com/ai-ready-dataset/discharge-summary-templates/1301 |
| DrugEHRQA | 同用 n2c2 出院小结做问答 | https://www.qianfanghub.com/ai-ready-dataset/drugehrqa/1300 |
| MeDiSumQA | 面向患者的出院摘要问答 | https://www.qianfanghub.com/ai-ready-dataset/medisumqa/1315 |
| EHRNoteQA | 基于出院小结的大模型评测基准 | https://www.qianfanghub.com/ai-ready-dataset/ehr-notes-qa-llms/1256 |
| ArchEHR-QA | 电子病历证据落地型问答 | https://www.qianfanghub.com/ai-ready-dataset/archehr-qa-bionlp-task-2025/1000 |
| ann-pt-summ | 出院医嘱幻觉标注 | https://www.qianfanghub.com/ai-ready-dataset/ann-pt-summ/1497 |
| MedDec | 出院小结医疗决策标注 | https://www.qianfanghub.com/ai-ready-dataset/meddec/1296 |
| MIMIC-III 表型标注集 | 出院小结表型标签 | https://www.qianfanghub.com/ai-ready-dataset/phenotype-annotations-mimic/594 |
导航说明:上表所列均为独立发布的资源,与 DiSCQ 不属同一份发布(判定标准为团队、批次数据、DOI 与版本页是否同一)。需要大规模训练语料请走 emrQA 一类资源,需要真人提问与触发句请回到 DiSCQ,需要上游原文请走 MIMIC-III 及其父项目链路。

