CliniQ — MIMIC-III 电子病历实体检索基准:1,246 条查询 × 77,206 条 LLM 相关性判定,五类语义匹配首次量化

首个公开电子病历(EHR)实体检索基准:基于 MIMIC-III 1,000 份出院小结切成 16,550 个语块,从 ICD-9 与 NDC 处方标签转写 1,246 条疾病/操作/药物查询,GPT-4o 逐语块标注 77,206 条相关性判定(与专家 Kappa 0.985),并首创字符串/同义词/缩写/下位词/隐含五类语义匹配评估体系

来源 MIMIC-III 公开出院小结(1,000 hadm_id,PhysioNet 请求制)+ MIMIC ICD-9 疾病/操作编码与 NDC 处方标签转写查询 + GPT-4o 逐语块相关性判定(五类匹配标签)+ BEIR 式语料/查询/qrels 三件套发布时间: 2026-10-17最后更新: 2026-10-20 阅读 12
CliniQ — MIMIC-III 电子病历实体检索基准:1,246 条查询 × 77,206 条 LLM 相关性判定,五类语义匹配首次量化

信息速览

数据集名称CliniQ — MIMIC-III 电子病历实体检索基准:1,246 条查询 × 77,206 条 LLM 相关性判定,五类语义匹配首次量化
数据类型人工标注,LLM标注,文本数据
规模1,000 份出院小结(对应 MIMIC-III 1,000 次住院 hadm_id);切成 16,550 个 100 词语块
接入方式MIMIC-III 公开出院小结(1,000 hadm_id,PhysioNet 请求制)+ MIMIC ICD-9 疾病/操作编码与 NDC 处方标签转写查询 + GPT-4o 逐语块相关性判定(五类匹配标签)+ BEIR 式语料/查询/qrels 三件套
AI 就绪度

INFOBOX — CliniQ 一屏速览

维度 内容
本质 首个公开的电子病历(EHR)实体检索基准——不是新采集的临床文本,而是 MIMIC-III 出院小结 + LLM 标注的相关性判定三件套
团队 清华大学 + 北京协和医学院 + Tsinghua Medicine;一作兼通讯 Zhengyun Zhao;8 作者
论文 arXiv:2502.06252(cs.IR;v1 2025-02-10,v2 2025-04-08)
语料 MIMIC-III 1,000 份出院小结 → 100 词切块 → 16,550 语块
查询 1,246 条唯一查询:疾病/操作/药物三类,源自 ICD-9 编码与 NDC 处方标签,GPT-4o 转写
标注 77,206 条语块级相关性判定(GPT-4o CoT),与专家一致性 Cohen’s Kappa 0.985
语义五分类 string / synonym / hyponym / abbreviation / implication(首创)
检索设定 单患者检索(SPR,找笔记内相关语块)+ 多患者检索(MPR,跨患者找人)
核心发现 BM25 是强基线;通用域稠密检索器反超医学专用模型(NV-Embed-v2 > MedCPT);implication 是所有模型的共同短板
最优方法 RRF(BM25+稠密融合)总体最佳,SPR 转述口径 MRR 89.92
获取 查询/qrels/代码 Apache-2.0 公开直链;语料须自持 PhysioNet 权限跑脚本复现
格式 BEIR 式 corpus/queries/qrels,qrels 标签为自由文本匹配类型
库内互链 MIMIC-III(上游语料)、EHRSQL/EHRXQA(MIMIC 系问答)、BLUE(评测方法论)、arXivEHR-QA(任务)

CliniQ 是一次「给临床检索装上显微镜」的基准工程:它不采集新数据,而是把 MIMIC-III 里 1,000 份出院小结切成 16,550 个 100 词语块,把数据库里的 ICD-9 编码和处方标签转写成 1,246 条医生式自然语言查询,再让 GPT-4o 逐对判定「这个语块和这条查询相关吗、相关在哪一层」——相关被细分为字符串、同义词、缩写、下位词、隐含五类。论文 2025 年 2 月挂 arXiv,是第一个公开发布的电子病历检索基准,其最大方法论贡献是把「语义鸿沟」(semantic gap)从一句口头禅变成了可逐类统计的量化指标。

导语读法三则:

  1. 只想跑评测:直奔 §6 获取与许可——注意语料不能直接下载,须自持 PhysioNet 权限后跑 preprocess.py 复现。
  2. 关心检索模型选型:直奔 §7 评估结论——BM25 强基线、通用稠密反超医学专用、RRF 融合最优、implication 是硬骨头。
  3. 关心标注方法论:直奔 §4 与 §5——LLM-as-a-judge 流水线、五类匹配体系、Kappa 0.985 的验证方式,是本条目最有迁移价值的部分。

§0 导读:这个数据集解决什么问题

医生每天在电子病历系统里做大量「找」的动作:找一个病人的用药记录、找某疾病的既往诊断、找某个操作的手术记录。支撑这些动作的检索系统却长期缺乏公开评测基准——原因很直白:真实病历受隐私法规(如 HIPAA)约束无法公开,人工标注相关性又极其昂贵。结果是:医疗检索系统的论文各自为战,BM25 换个稠密模型到底好多少,没人说得清;更糟的是,医疗语言天然「一词多面」——查询写 hypertension,病历里可能只出现 HTN(缩写)、high blood pressure(同义词)或 amlodipine(隐含:用这个药通常意味着有高血压)。既有基准(如 TREC Medical Records track)把所有相关混为一谈,无法区分「同义词找不到」和「缩写找不到」这两种完全不同性质的失败。

CliniQ 的回答分三层。第一层是数据:1,000 份 MIMIC-III 出院小结切成 16,550 个语块,1,246 条来自真实编码体系(ICD-9、NDC)的自然语言查询,77,206 条语块级相关性判定——规模比 TREC Medical Records track 高一个数量级。第二层是方法论:GPT-4o 做 Chain-of-Thought 逐对标注,与人类医学专家的一致性达 Cohen’s Kappa 0.985,证明 LLM 标注可以替代昂贵的专家人力做基准级相关性判定——这本身就是医疗数据集构建范式的一次跃迁。第三层是批判性洞察:五类匹配的逐类统计揭示「语义鸿沟」的真实结构——稠密模型在同义词、下位词上碾压 BM25,但所有模型在 implication(需要医学推理的隐含相关)面前集体碰壁,而通用域稠密模型居然整体反超医学专用模型,提示现有医学检索模型的训练分布(PubMed)与病历文本存在错位。

§0 读法三则:

  1. 这个条目是「基准数据集+标注方法论文+评测报告」三合一:本体是 corpus/queries/qrels 三件套,副产品是一套可复用的 LLM 标注流水线,结论是一份检索模型选型指南——三者获取方式不同(§6)。
  2. 全文统计数字均出自论文摘要、GitHub README 与论文转述源;二手转述处(如 SPR MRR 89.92)已在坑点存照,引用时注意口径。
  3. 检索时注意:CliniQ 不是「临床问答数据集」(那是 EHRSQL/EHRXQA 的领域),也不是「临床文本分类数据集」——它是纯粹的实体检索相关性基准(坑 1)。

§1 数据集速览:十问十答

Q1:CliniQ 的「Q」是什么意思?
Query(查询)。基准的核心资产是 1,246 条唯一查询;Clini 即 Clinical。名字直译「临床查询」,对应其定位:临床场景下医生向病历库发出的实体检索请求。

Q2:语料从哪来,规模多大?
MIMIC-III 公开的出院小结(discharge summary)1,000 份(对应 1,000 个住院记录 hadm_id),每份按 100 词长度切块,共 16,550 个语块(chunk)。100 词的粒度选择是为了让每个语块足够短、相关性判定足够精确——整篇出院小结动辄上千词,直接整篇标注会把「相关」磨平。

Q3:查询从哪来?
两类结构化数据源:MIMIC-III 的 ICD-9 疾病编码与 ICD-9 操作编码(对应疾病类与操作类查询)、处方标签的 NDC 药物编码(对应药物类查询)。这些编码经 GPT-4o 转写为自然语言查询。用真实编码体系做种子,保证了查询的医学真实性与覆盖面;转写则模拟了医生把「诊断/操作/用药」翻译成检索词的自然过程。

Q4:相关性判定怎么来的,质量如何?
GPT-4o 以 Chain-of-Thought(CoT)提示逐(查询, 语块)对标注,共 77,206 条。为验证质量,团队抽样与人类医学专家标注对比,Cohen’s Kappa 达 0.985——远超通常认为「几乎完美一致」的 0.81 门槛。注意:这与「GPT-4o 能做好一切医学标注」是两回事,能达标靠的是五分类标签体系设计 + CoT 提示 + 抽样验证的闭环(§4)。

Q5:五类匹配是什么?为什么重要?
每一对相关(查询, 语块)被归入五类之一:string(字符串重叠)、synonym(同义词:heart attack ↔ myocardial infarction)、hyponym(下位词:查询为上位概念、语块提及具体病种,或反之)、abbreviation(缩写:hypertension ↔ HTN)、implication(隐含:查询 diabetes 与语块里的 Metformin 相关,因为该药是降糖药)。这是首个把「相关的原因」显式编码进 qrels 的医疗检索基准,使失败分析可以从「模型差」细化到「模型在哪类语义匹配上差」。

Q6:单患者检索与多患者检索有什么区别?
单患者检索(SPR):给定某患者的一份笔记与一条查询,找出笔记内的相关语块——对应「医生翻某个病人的病历找信息」。多患者检索(MPR):给定查询与全部 1,000 份笔记,找出相关语块(等价于先找对人再找对段落)——对应「研究者从病案室里筛出符合条件的人群」。两者难度结构不同:MPR 额外引入了跨患者区分问题。

Q7:怎么评测?
BEIR 风格:corpus.jsonl + queries + qrels 三件套;qrels 的标签是自由文本匹配类型(BEIR 里通常是 0/1/2 分级)。官方提供 eval.py,输出不同查询类型与不同匹配类型的分项指标及总评 MRR。未设官方 leaderboard(作者认为基准的多面性不适合单一榜单),欢迎邮件报分。

Q8:评出了什么结论?
三条硬结论:其一,BM25 是出人意料的强基线,与多数稠密检索器打平;其二,通用域稠密模型(NV-Embed-v2、BGE 系)整体反超医学专用模型(MedCPT 等)——医学模型在 PubMed 上训练,遇到病历文本反而 out-of-distribution;其三,implication 匹配是所有模型的集体短板,是未来医疗信息检索的主攻方向。混合方法 RRF(BM25 与稠密分数互易排序融合)总体最优。

Q9:数据公开到什么程度?
分层公开:查询集、qrels 集、预处理与评估脚本在 GitHub(Apache-2.0)完全公开;语料本体因 MIMIC-III 的 PhysioNet 分发条款不可再分发——团队公开 1,000 条 hadm_id 清单,自持 PhysioNet credentialed access 的用户跑 preprocess.py 即可逐字复现 corpus.jsonl。HuggingFace 的 THUMedInfo/CliniQ 镜像同一口径。

Q10:谁适合用这个基准?
五类人:医疗 IR 研究者(唯一公开 EHR 检索基准)、稠密检索器训练者(病历域分布外评测)、临床 NLP/RAG 工程师(检索组件选型)、LLM-as-a-judge 方法论研究者(0.985 Kappa 的可复现案例)、生物医学信息学课程教师(语义鸿沟五分类是绝佳教材)。

§2 论文与版本时间线

CliniQ 的公开轨迹非常紧凑,从挂网到生态补全只用了一个季度多一点:

时间 事件 说明
2025-02-10 arXiv:2502.06252 v1 挂网 cs.IR 主分类(兼 cs.CL),1,055 KB,作者 Zhengyun Zhao 提交
2025-04-02 GitHub zhao-zy15/CliniQ 首次 commit benchmark 数据、LICENSE(Apache-2.0)、README、eval.py、preprocess.py 一并入库
2025-04-08 arXiv v2 更新 1,056 KB,为论文的现行版本;引用建议用 v2
2025-04-09 README 更新 补充数据使用与复现说明
2025-05-19 末次 commit Add support for DR.EHR——评估脚本开始兼容第三方 EHR 检索系统,基准进入被他人使用的生态阶段
同期 HuggingFace THUMedInfo/CliniQ 上架 hadm_id 清单 + 预处理脚本镜像,月下载量约 22(低频但稳定)

版本与引用口径:

  • 论文引用块(GitHub README 官方 BibTeX):@misc{zhao2025cliniqmultifacetedbenchmarkelectronic, title={CliniQ: A Multi-faceted Benchmark for Electronic Health Record Retrieval with Semantic Match Assessment}, author={Zhengyun Zhao and Hongyi Yuan and Jingjing Liu and Haichao Chen and Huaiyuan Ying and Songchi Zhou and Yue Zhong and Sheng Yu}, year={2025}, eprint={2502.06252}, archivePrefix={arXiv}, primaryClass={cs.IR}}。
  • 论文至今以 arXiv preprint 形态流传;本条目成稿时未见其被正式期刊/会议收录的公开记录,如需引用请以 arXiv 页面为准。
  • 双口径存照:部分二手聚合站(如 selectdataset)把数据集说成「2018 年提出」,这与 arXiv 提交史(2025-02-10)直接矛盾,属聚合站错误,本文一律按 2025 口径(详见坑 4)。

为什么时间线值得单独一节:医疗检索基准的公信力很大程度取决于「数据—代码—论文」三者是否同步可查。CliniQ 的三源(arXiv、GitHub、HF)在一个月内全部就位且互相印证,这在医疗数据集里属于少见的干净发布;后续所有依赖它的下游工作(如 DR.EHR 的评测)都能锚定到明确的版本点(v2 + GitHub 4109765)。

§3 机构与人物

机构三角:

  • 清华大学(Tsinghua University):一作与多数作者的隶属单位,也是代码与数据托管身份(GitHub zhao-zy15、HF THUMedInfo)的归属。THUMedInfo 这个 HF 组织名直译「清华医学信息」,是团队在医疗信息学方向的公开阵地。
  • 北京协和医学院(Peking Union Medical College):临床专业性的来源——出院小结的相关性判定涉及真实临床语义,需要临床背景的专家参与验证。
  • Tsinghua Medicine:清华医学体系,作为机构隶属出现在论文作者栏,是清华-协和资源整合的载体。

八位作者:

姓名 角色 备注
Zhengyun Zhao(赵正云) 第一作者兼通讯 清华博士生(邮箱 zhengyun21@mails.tsinghua.edu.cn,2021 级学号格式);arXiv 提交人;GitHub 仓库所有者
Hongyi Yuan 合著 论文摘要页署名作者;具体分工未公开披露
Jingjing Liu 合著 同上
Haichao Chen 合著 同上
Huaiyuan Ying 合著 同上
Songchi Zhou 合著 同上
Yue Zhong 合著 同上
Sheng Yu(于声/余声,按拼音) 资深作者 清华学生命科学学院/医学院方向教授,长期从事生物信息学与医学信息学;团队学术带头人

(注:中文名用字除一作外未获一手来源确认,本表按拼音/英文名转写,不作断言;学术头衔以机构官方页为准。)

分工推断(依据公开信息,非论文原文):一作负责基准设计、数据构建与论文写作(arXiv 提交人 + 仓库所有者 + 通讯三重身份);临床侧作者(协和系)大概率承担专家标注验证(Kappa 0.985 需要医学专家做人类基准);资深作者提供方向把控。此推断仅为帮助读者理解团队结构,论文正文分工以作者贡献声明为准。

通讯渠道:论文与 README 均未设 leaderboard 或 issue 外的报分渠道,作者明确欢迎通过一作邮箱交流评测结果——在「不设榜单」的设计选择下,邮件是官方的生态入口。

§4 数据构建流水线:从 MIMIC-III 到 77,206 条判定

这一节是 CliniQ 最有方法论迁移价值的部分。整条流水线分五步,每步都有明确的设计决策与可检验的质量关卡。

4.1 语料构建(Corpus Construction)

  1. 抽样:从 MIMIC-III 抽取 1,000 份出院小结(discharge summary)。出院小结是 MIMIC-III 中信息密度最高的笔记类型——一次住院的诊断、操作、用药、病程全部收束在这一份文档里,天然是「医生找信息」的主战场。
  2. 切块:每份按 100 词定长切块,共得 16,550 个语块。切块的意义是让相关性判定有确定的粒度:整篇出院小结可能同时与「糖尿病」「阑尾切除术」「阿司匹林」三条查询相关,整篇标注会把三种相关压进同一份文档,无法区分;100 词语块则可以精确回答「这个段落讲的就是这件事」。
  3. 分发约束:因 MIMIC-III 分发条款,语料不直接公开,改为公开 hadm_id 清单 + preprocess.py。任何人自持 PhysioNet credentialed access 后一条命令即可逐字复现 corpus.jsonl——这保证了对 MIMIC 合规的零破坏,同时不牺牲可复现性。

4.2 查询构建(Query Curation)

  1. 种子来源:MIMIC-III 结构化数据的两类编码——ICD-9 疾病编码、ICD-9 操作编码(合为疾病/操作两类查询),以及处方表的 NDC 药物编码(药物类查询)。共得到 1,246 条唯一查询。
  2. 转写:GPT-4o 把编码(如 ICD-9 250.00)转写为自然语言查询(如 diabetes mellitus without complication 一类的表述)。转写模拟的是真实检索行为:医生不会在检索框里输入编码,而是输入病名、药名、术名。
  3. 三分结构:queries 按疾病/操作/药物三分存储(disease/procedure/drug),qrels 与之同构。这个设计让分项评测成为一等公民——你可以单独报告「药物查询上的 MRR」,而不必自己重新切分数据。

4.3 LLM-as-a-judge 标注(Annotation)

  1. 标注员:GPT-4o,配 Chain-of-Thought(CoT)提示——先推理「这条查询在问什么、这个语块在说什么、两者在哪个层面相关」,再输出判定。CoT 在这里不是装饰:implication 类判定(「Metformin 出现 ⇒ 与 diabetes 查询相关」)需要一步医学推理,无 CoT 的直接分类会显著退化。
  2. 任务量:逐(查询 × 语块)对判定,产出 77,206 条相关性标签。注意这远小于 1,246 × 16,550 的全笛卡尔积——团队显然使用了候选生成/筛选(如先用 BM25 或向量召回缩小判定范围),只对候选对做全量标注;候选策略的细节以论文正文为准(本条目成稿时未逐句核对,存为待核)。
  3. 标签体系:五类自由文本——string、synonym、hyponym、abbreviation、implication。qrels 文件里每行是(query_id, chunk_id, match_type),格式上与 BEIR 兼容(BEIR 的 qrels 通常是 0/1/2 数字分级,CliniQ 把分级换成了匹配类型——这是「多面性」的格式表达)。

4.4 质量验证(Validation)

  • 人类基准:抽样后由人类医学专家独立标注同一批对,计算 Cohen’s Kappa。结果 0.985——这在标注一致性谱系里属于「almost perfect」(Landis & Koch 分级的最高档,≥0.81)。GitHub README 给出的精确值即 0.985;论文转述源写 0.98+,本文取 README 一手口径。
  • 这个数字的正确打开方式:0.985 不是「GPT-4o 是完美医生」的证据,而是「五分类任务定义清晰 + CoT 提示充分 + 标签离散(五类而非连续打分)」三者叠加的效果。把它迁移到开放性任务(如自由文本摘要评价)时不应期待同等一致性。

4.5 评测协议(Evaluation Settings)

  • SPR(Single-Patient Retrieval):给定一条查询与某一患者的笔记(多个语块),返回相关语块排序。对应场景:临床决策支持系统在单份病历内定位信息。
  • MPR(Multi-Patient Retrieval):给定一条查询与全部 1,000 份笔记的语块库,返回全局相关语块排序。对应场景:研究者在病案库中筛人群。MPR 隐含两层难度——先找对病人、再找对段落,且 distractor 数量是 SPR 的三个数量级以上。
  • 指标:MRR 为主评(官方 eval.py 输出含按查询类型与匹配类型的分项指标与总评);论文实验同时报告多种方法对比。

4.6 流水线的可复制性清点

组件 公开状态 复现条件
hadm_id 清单(1,000 条) GitHub/HF 公开 无
preprocess.py GitHub 公开 需 PhysioNet MIMIC-III 权限
corpus.jsonl(16,550 语块) 不直接分发 跑脚本自产
queries(1,246 条,三分) GitHub 公开 无
qrels(77,206 条,五类标签,三分) GitHub 公开 无
eval.py(稠密检索器评测) GitHub 公开 需自备嵌入模型与算力

这套「种子清单 + 脚本自产语料 + 标注全公开」的组合,是隐私受限域(隐私数据不能动、派生标注可以公开)基准发布的教科书做法——值得所有想在 MIMIC 系数据上做衍生基准的团队照抄。

§5 数据规模与结构:三件套逐项拆解

5.1 数字总表

维度 数值 备注
出院小结 1,000 份 MIMIC-III hadm_id 对应
语块 16,550 个 100 词/块,均每份约 16.55 块
唯一查询 1,246 条 疾病/操作/药物三类
相关性判定 77,206 条 GPT-4o CoT 标注
平均每查询判定数 约 61.9 条 77,206 ÷ 1,246(本文推算值)
匹配类型 5 类 string/synonym/hyponym/abbreviation/implication
标注一致性 Cohen’s Kappa 0.985 与人类医学专家抽样对比
检索设定 2 种 SPR + MPR
规模对比 TREC Medical Records track 的约一个数量级以上 论文自述

5.2 三件套的文件形态

CliniQ 采用 BEIR 目录约定,一个标准 BEIR 消费者(如 pytrec_eval 或 BEIR 框架的 Evaluation 类)稍作适配即可接入:

  • corpus/:corpus.jsonl,每行一个语块(corpus-id、正文文本)。由 preprocess.py 从 MIMIC-III 本地副本生成。
  • queries/:按 disease.jsonl、procedure.jsonl、drug.jsonl 三分,每行一条查询(query-id、查询文本)。
  • qrels/:与 queries 同构三分,每行一条判定(query-id、corpus-id、match_type),match_type 为五类自由文本之一。

与 BEIR 的唯一差异是 qrels 标签语义:BEIR 的标签是相关性等级(0/1/2),CliniQ 的标签是相关性类型。这个设计选择有两个后果:其一,标准 BEIR 评测管线不能直接吃进 qrels——官方 eval.py 负责把类型标签映射回二值相关再算指标;其二,研究者可以免费获得「失败分析」维度——一个模型漏检的语块属于哪类匹配,直接查 qrels 就知道。

5.3 查询类型三分的意义

疾病(disease)、操作(procedure)、药物(drug)三类查询的检索行为特征截然不同:

  • 疾病查询:语义面最宽,同义词与下位词现象最密集(2 型糖尿病 vs T2DM vs diabetes mellitus type 2);病历里几乎必然有同义改写。
  • 操作查询:术语高度标准化(ICD-9 操作编码本身就是程序性命名),string 与 abbreviation 匹配占比预期更高。
  • 药物查询:论文实验指出 BM25 在药物类查询上依然鲁棒——药名(尤其通用名)是拼写高度规范且病历里逐字出现的实体,词汇匹配几乎不丢分;反之 implication(「这个药暗示这个病」)在此类里最集中。

(分项数字:qrels 逐类条数分布本条目未从 benchmark 文件实抓核对,存为遗留疑点 §10.7;上文的类型学描述依据论文方法节与实验结论的方向性表述。)

5.4 五类匹配的运行定义与临床示例

类型 定义 示例(查询 → 语块内表述)
string 字符串层面重叠,无需语义映射 diabetes → diabetes mellitus
synonym 同义改写 myocardial infarction → heart attack
hyponym 上下位词关系 heart disease(上位)→ atrial fibrillation(下位)
abbreviation 缩写与全称 hypertension → HTN;chronic obstructive pulmonary disease → COPD
implication 需要医学推理的隐含相关 diabetes → 语块只提及 Metformin(降糖药)

五类的难度阶梯大致是 string < synonym ≈ abbreviation < hyponym < implication——越靠后,越依赖外部医学知识与推理,这正是「语义鸿沟」的深度轴。CliniQ 的核心贡献就是把这根轴显式量化了。

5.5 规模对照:与既有基准的关系

  • TREC Medical Records track(2009-2012):此前医疗 IR 的标志性评测,样本量数十份 visit 级文档、查询数十条、由人工按 visit 级判相关性。CliniQ 自述规模高一个数量级,且判定粒度细到语块级。
  • BEIR:通用域零样本检索基准套件(含 SciFact、NF-Corpus 等),不含电子病历。CliniQ 在格式上对齐 BEIR,实质是给 BEIR 补上了「病历域」的空白格。
  • MIMIC 系问答基准(EHRSQL、EHRXQA):同样以 MIMIC 为底座,但任务是 SQL 问答/视觉问答,评测的是「推理+生成」,CliniQ 评测的是「检索」。三者在库内可构成「MIMIC 衍生基准」家族的三个任务轴(详见 §9)。

§6 License 与获取:三层许可与完整获取路径

CliniQ 的许可是「分层异构」结构——查询/qrels/代码与语料走完全不同的分发通道,混用会踩合规坑。本节把每一层的许可、获取入口、前置条件逐条说清。

6.1 许可分层总表

层 内容 许可 分发方式
第一层 queries(1,246 条,三分) Apache-2.0 GitHub 公开直链
第一层 qrels(77,206 条,五类标签,三分) Apache-2.0 GitHub 公开直链
第一层 eval.py / 评估脚本 Apache-2.0 GitHub 公开直链
第二层 hadm_id 清单(1,000 条)+ preprocess.py Apache-2.0(脚本) GitHub/HF 公开;清单本身是 MIMIC 派生标识,使用仍受 MIMIC DUA 约束
第三层 corpus.jsonl(16,550 语块) 不设独立许可 不可再分发;须自产
上游 MIMIC-III 本体 PhysioNet DUA(credentialed access) physionet.org 申请制
论文 arXiv:2502.06252 arXiv 默认许可(作者保留版权) 公开下载

6.2 完整获取路径(五步)

  1. 申请 PhysioNet 权限:在 physionet.org 完成 MIMIC-III 的 credentialed access 申请(CITI 培训 + 签署数据使用协议 DUA)。这是整条路径里唯一需要人工审批的环节,通常数天到数周。没有这一步,基准无法使用——因为语料必须自产。
  2. 克隆仓库:git clone GitHub zhao-zy15/CliniQ,得到 benchmark/(queries + qrels 三分)、preprocess.py、eval.py、LICENSE(Apache-2.0)。
  3. 自产语料:在本地 MIMIC-III 数据库副本上运行 preprocess.py,传入 1,000 条 hadm_id 清单,脚本抽取出院小结、按 100 词切块,产出 benchmark/corpus.jsonl。至此三件套齐备。
  4. 跑基线:BM25 等稀疏方法可直接在 corpus + queries 上建索引评测;稠密方法用官方 eval.py,按 README 说明选择嵌入函数(注意 query 与 document 是否需要分别编码)。
  5. 解析输出:eval.py 输出按查询类型(disease/procedure/drug)与匹配类型(五类)的分项指标,以及论文口径的总体分数——分项结果正是 CliniQ 区别于普通检索基准的核心输出。

6.3 HuggingFace 镜像

  • 组织/仓库名:THUMedInfo/CliniQ。
  • 内容口径与 GitHub 一致:hadm_id 清单 + 预处理脚本说明,不是可直接下载的语料。HF 页面自述「Due to the access requirement of MIMIC, we are not allowed to share the corpus of our benchmark directly」。
  • 用途定位:适合以 HF 生态为主工作流的团队把清单与脚本拉进 pipeline;月下载量约 22,属低频学术资源。

6.4 许可使用注意(合规清单)

  1. 不要在衍生分发中夹带语料:即使你在自产 corpus 上训练了模型或建了索引,对外发布时只能发布 hadm_id 清单 + 重建脚本(CliniQ 自己就是这么做的),不能发布语块文本。这是 MIMIC DUA 的标准要求。
  2. Apache-2.0 层可以商用:queries、qrels、代码均为 Apache-2.0,商业检索系统用它做内部评测无许可障碍。
  3. qrels 是最 valuable 且最 free 的部分:77,206 条标注完全公开——如果你的研究只需要相关性判定(例如训练相关性模型、做 LLM-judge 校准),甚至可以不碰 MIMIC 语料,直接下载 qrels 使用。
  4. hadm_id 的敏感性:hadm_id 是 MIMIC 的去标识化内部标识,公开清单本身经 PhysioNet 惯例允许(MIMIC 系论文常公开样本清单),但将 hadm_id 与外部可识别数据链接仍受 DUA 禁止。

6.5 版本链与获取口径小结

  • 数据只有一个版本(2025-04 GitHub 首发版),无 v1/v2 数据变更记录;论文有 v1/v2 两版(2025-02-10 / 2025-04-08),数据与代码未随论文 v2 重发布(GitHub 首发即在 v2 之前一周)。
  • 若发现 benchmark/ 目录内容与论文数字对不上,应先检查 preprocess.py 版本与 MIMIC-III v1.4 的抽取一致性,再向作者邮箱求证——目前无公开 issue 记录此类分歧。

§7 评估与基准:谁在 CliniQ 上表现如何

这一节是论文实验部分的方向性总结。口径说明:模型级逐项分数本条目未逐表核对论文 PDF(见 §10.7 遗留疑点),以下结论均出自论文摘要、GitHub README 与可靠转述源,标注「转述」处引用时请回论文核对。

7.1 参评方法谱系

论文覆盖了从最朴素到最前沿的完整光谱:

  1. 精确匹配 / 词汇稀疏方法:BM25 及精确匹配基线——检索世界的「必打对手」。
  2. 知识图谱查询扩展:把查询经由医学知识图谱扩写后再检索——针对同义词/缩写鸿沟的传统武器。
  3. 医学专用稠密检索器:MedCPT 等——在 PubMed/医学语料上训练的检索模型,业界默认的「专用强于通用」假设的载体。
  4. 通用域稠密检索器:NV-Embed-v2、BGE 系等——在海量通用文本上训练的嵌入模型。
  5. 混合融合:RRF(Reciprocal Rank Fusion)——把 BM25 排名与稠密排名按倒数排名融合。

7.2 三条核心结论

结论一:BM25 是强得反常的基线。
论文摘要明言「BM25 sets a strong baseline and performs competitively to the dense retrievers」。这在医疗文本里并不难解释:出院小结是高度模板化的临床文书,查询(疾病/操作/药物名)与病历文本的重叠率天然高——ICD 术语、药名在病历里几乎逐字出现。对工程团队的含义:上稠密模型之前,先确认你的场景里 BM25 真的不够用。

结论二:通用域稠密模型反超医学专用模型(最反直觉的发现)。
NV-Embed-v2 等通用模型的总体表现优于 MedCPT 等医学专用模型。论文给出的解释:医学专用模型的训练分布(PubMed 摘要、生物医学文献)与 EHR 文本(出院小结)存在系统性错位——文献是「叙述式的学术英语」,病历是「电报式的临床速记」(大量缩写、片段、模板句)。专用反而成了过拟合。这个发现对「医疗领域必买专用模型」的采购直觉是一次纠偏,也说明病历域检索模型的训练数据应该向病历文本本身倾斜(MIMIC 就在那里)。

结论三:implication 是所有模型的集体短板(「隐含之墙」)。
无论稀疏还是稠密,所有方法在 implication 类匹配上都显著掉分。原因很本质:query=diabetes 与「语块只提到 Metformin」的相关性,需要「Metformin 是一线降糖药 ⇒ 提示糖尿病史」这条医学常识推理——它既不在字面,也不在同义词词典里,而在世界知识里。转述源把这一点称为「implication-based retrieval is a primary frontier for future medical information retrieval research」。可行方向包括:知识图谱增强、LLM 查询扩展(把 drug 扩出其适应症)、以 ClinIQ qrels 微调相关性模型等。

7.3 RRF 混合:当前最优实践

  • 转述口径:RRF(BM25 + 稠密融合)取得最佳总体表现,在 SPR 设定下 MRR 达 89.92(lacuna 转述,指标截断点未确认,见 §10.6 存照)。
  • 机制解释:BM25 强在 string/abbreviation(字面必中),稠密强在 synonym/hyponym(语义泛化),RRF 让两者在排序层面互补——每类匹配都至少有一路方法接得住。
  • 工程含义:CliniQ 上发布检索系统时,RRF 融合应作为默认起手式,而非「先上纯稠密再优化」。

7.4 按匹配类型的强弱矩阵(方向性总结)

下表为论文分析部分的定性结论方向(不是精确分数表):

匹配类型 BM25 医学稠密 通用稠密 RRF
string 强 中 中 强
synonym 弱 中 强 强
abbreviation 中 中 中 中强
hyponym 弱 中 强 强
implication 很弱 弱 弱 弱(仍短板)

读法:行是「语义鸿沟的深度」,列是「方法的能力」。矩阵右下角(implication × 一切方法)是全领域公认的未解之地——也是用 CliniQ 发论文最有空间的方向。

7.5 MPR 与 SPR 的难度结构

  • SPR:语块池小(一份笔记十几个块),查询与语块的主题相关性高,难度集中在「同一份笔记内多个候选语块的细粒度区分」。
  • MPR:语块池大三个数量级(16,550 块),需要先做患者级判别再做语块级判别;对索引规模、近似检索、跨患者区分都是更严苛的考验。论文将两种设定并列为基准的一等公民,鼓励方法在两种设定下分别报告。

7.6 评测输出与报分生态

  • 官方 eval.py 输出:总评指标 + 按查询类型分项 + 按匹配类型分项。多面输出本身就在引导「分项报告」的论文写作规范——只报一个总 MRR 会丢失 CliniQ 提供的大部分信息量。
  • 无 leaderboard:作者明确表示多面性基准不适合单一榜单,改为邮件报分 + README 收录的模式(DR.EHR 支持即由此而来)。对使用者的含义:引用 CliniQ 结果时务必写明设定(SPR/MPR)、查询类型与指标定义,否则数字不可比。

7.7 给评测者的三条操作建议

  1. 先跑 BM25 定锚:它是论文认证的强基线,你的新方法必须明确超过它才值得讨论。
  2. 必报匹配类型分项:总 MRR 掩盖了「同义词已解决、implication 未解决」的关键差异。
  3. 区分 SPR 与 MPR:同一方法在两种设定下的排名可能不同,混报会误导下游选型。

§8 生态与互链点:CliniQ 在 MIMIC 衍生宇宙中的位置

CliniQ 不是孤岛。它的上游是 MIMIC-III,横向是同底座的问答/评测基准,下游是各类 EHR 检索与 RAG 系统。本节逐个梳理库内可互链条目及其与 CliniQ 的关系。

8.1 上游:语料供给线

MIMIC-III(库内 rid=106,mimic-iii;另有 mimiciii rid=590 / mimiciii-demo rid=591 等镜像条目)

  • 关系:CliniQ 的全部 1,000 份出院小结出自 MIMIC-III;ICD-9 编码与 NDC 处方标签同样来自 MIMIC-III 结构化表。
  • 互链方向:从 CliniQ 条目指向上游 MIMIC-III 是「数据血缘」互链的标准形态;反向则说明 MIMIC-III 的衍生生态已覆盖检索任务轴。
  • 使用提示:申请 CliniQ 前先确认能拿到 MIMIC-III——没有上游权限,基准不可用(§6.2 第一步)。

MIMIC-IV-Note(库内 rid=47,mimic-iv-note)

  • 关系:MIMIC-IV 时代的后继笔记库。CliniQ 建在 MIMIC-III 上,团队未(成稿时)发布 MIMIC-IV 版本;把 CliniQ 流水线迁移到 MIMIC-IV-Note 是一个现成的扩展论文题目(出院小结 → discharge 目标表在 MIMIC-IV 里依然存在,编码体系换成 ICD-10)。
  • 互链价值:读者从 CliniQ 找「更新版语料」时自然导入 MIMIC-IV-Note。

8.2 横向:同底座的任务基准(MIMIC 衍生家族)

EHRSQL(库内 rid=713,ehrsql)

  • 任务:面向电子病历的文本到 SQL 问答(可靠性、不可回答问题识别)。
  • 与 CliniQ 的分工:EHRSQL 评测「推理+生成」(把问题翻成 SQL 拿数),CliniQ 评测「检索」(给定查询找相关文本块)。一个临床问答系统的完整栈 = EHRSQL 式取数 + CliniQ 式文本检索,两者互为互补层。
  • 互链点:同以 MIMIC 为底座、同属「隐私受限域用公开基准」的构建思路。

EHRXQA(库内 rid=646,ehrxqa)

  • 任务:MIMIC-CXR 影像 + 结构化数据的多模态问答。
  • 与 CliniQ 的分工:EHRXQA 占「影像问答」轴,CliniQ 占「文本检索」轴;两者共同勾勒 MIMIC 衍生基准的任务版图。

ArcheHR-QA(BioNLP 2025 Task,库内 rid=1000,archehr-qa-bionlp-task-2025)

  • 任务:电子病历证据检索 + 问答(clinical evidence retrieval)。
  • 关系:与 CliniQ 最接近的「同任务族」条目——同样做 EHR 内的文本级相关性定位。差异在标注来源(人工 vs LLM)与规模。做「LLM 标注 vs 人工标注的基准质量对比」研究时,两者是天然的对照实验材料。

EHR-ReasonCon(库内 rid=1007,ehr-reasoncon)

  • 关系:EHR 推理类任务基准;与 CliniQ 共同覆盖「病历理解」的检索与推理两端。

8.3 方法论横向:评测与标注范式

BLUE Benchmark(库内 rid=478,blue-benchmark)

  • 关系:生物医学语言理解评测套件。CliniQ 是检索向,BLUE 是理解向;两者代表医疗 NLP 评测的两大传统(IR 式 vs NLU 式)。
  • 互链价值:给「评测方法论」兴趣的读者提供从分类到检索的完整地图。

i2b2/n2c2 NLP(库内 rid=14,i2b2-n2c2-nlp)

  • 关系:临床 NLP 的老牌共享任务系列(抽取、去标识、关系分类等)。CliniQ 的查询实体三分(疾病/操作/药物)与 i2b2 时代的临床概念抽取任务一脉相承——先把概念定清楚,再谈检索。

EHRShot(库内 rid=11,ehrshot)

  • 关系:少样本临床评测基准(同样基于 MIMIC 系结构化+笔记数据)。CliniQ 与 EHRShot 共同示范了「公开派生标注 + 上游权限自取」的合规发布模式。

8.4 下游:谁在用 CliniQ

  • DR.EHR:GitHub 末次 commit(2025-05-19)为「Add support for DR.EHR」——第三方 EHR 检索系统接入 CliniQ 评测的公开实例,说明基准已进入被消费阶段。
  • 医疗 RAG 系统:CliniQ 的语块级 qrels 天然适配 RAG 检索组件的评测(chunk-level grounding),是「临床 RAG 检索器选型」目前唯一的公开量化依据(成稿时点)。
  • 稠密检索模型厂商:MedCPT、BGE 系、NV-Embed 系在 CliniQ 上的医学域外表现,可直接用于模型选型报告。

8.5 互链图(文字版)

  • 数据血缘:MIMIC-III(106) → CliniQ →(待发布)MIMIC-IV 版
  • 任务族:CliniQ ↔ ArcheHR-QA(1000)(同任务);CliniQ ↔ EHRSQL(713) / EHRXQA(646)(互补任务)
  • 方法论:BLUE(478) ↔ CliniQ ↔ i2b2-n2c2(14)(评测谱系);EHRShot(11)(合规发布模式)
  • frontmatter 与正文 URL 一律使用 https://www.qianfanghub.com/ai-ready-dataset/<slug>/0 占位形态,由发布侧统一回填真实 rid(本条目互链清单已附库内 rid 供回填参照)。

§9 实操指南:从零到跑出第一份 CliniQ 分数

本节面向要动手的读者,把 §6 的获取路径展开成可跟做的步骤清单,并补充评测接入的工程细节。

9.1 准备工作清单

  • PhysioNet 账号 + CITI 培训证书 + MIMIC-III DUA 签署(一次性,数天审批)。
  • 本地 MIMIC-III 数据库副本(PostgreSQL 或 BigQuery 均可;preprocess.py 的具体后端要求以仓库 README 为准)。
  • Python 环境:仓库依赖以 requirements/env 说明为准;稠密评测另需 GPU(嵌入 16,550 语块 + 1,246 查询)。

9.2 五步跑通(对应 §6.2 的展开)

  1. 拿到权限:physionet.org → MIMIC-III → credentialed access。授权邮件里的凭证即你的数据库访问凭据。
  2. 克隆基准仓库:GitHub zhao-zy15/CliniQ。确认目录里有 benchmark/(queries 与 qrels 六个文件:disease/procedure/drug 各两组)、preprocess.py、eval.py、LICENSE。
  3. 生成语料:按 README 指引运行 preprocess.py,输入为本地 MIMIC-III 与 hadm_id 清单,输出为 corpus.jsonl(16,550 行语块)。生成后先自查行数与抽样语块内容——preprocess 的正确性由你自己的运行保证。
  4. 跑 BM25 锚点:用任意标准 BM25 实现(或仓库自带基线)建索引,得到你的环境复现分数。与论文口径对不上时优先检查切块与 qrels 加载是否正确。
  5. 跑稠密与融合:接入 eval.py,选择嵌入函数(注意 query/document 是否异构编码——README 特别提醒),得到分项输出;再实现/调用 RRF 融合对照。

9.3 评测接入的四个工程细节

  1. qrels 的类型标签要先映射:五类自由文本对标准 IR 工具不透明,先转成二值相关(match_type ∈ 五类 ⇔ relevant=1)再喂 pytrec_eval 类工具;官方 eval.py 已内置该逻辑,自研管线别忘了。
  2. SPR 与 MPR 分开建评测集:SPR 的候选池是「该患者笔记的全部语块」,MPR 是全库;两者的 rank 深度与分母不同,混用会产生虚高或虚低。
  3. 分项输出别丢:eval.py 的查询类型 × 匹配类型交叉输出是 CliniQ 的信息核心;只留总分等于白跑。
  4. 嵌入模型的双塔检查:README 明确提醒注意模型是否对 query 与 document 使用不同编码——对称编码模型(如部分 BGE 变体)与非对称模型(如 e5 系)接入方式不同,接错会系统性压低分数。

9.4 常见失败模式排查

症状 最可能原因 处置
corpus.jsonl 行数 ≠ 16,550 preprocess 输入清单不全或切块逻辑版本不符 核对 hadm_id 清单数量与脚本版本
分数远低于论文基线 qrels 类型标签未映射 / 双塔编码接错 先跑 BM25 锚点再排查稠密侧
MPR 排名异常靠前 候选池误用了 SPR 范围 检查索引作用域
语块文本与 qrels 对不上 用了非官方切块重新生成语料 语料必须逐字来自 preprocess.py
评测集泄漏质疑 查询源自 MIMIC 编码、你的模型若在 MIMIC 上预训练需声明 报告中显式声明训练数据与基准重叠情况

9.5 扩展玩法(研究机会清单)

  1. MIMIC-IV 移植:用同流水线在 MIMIC-IV-Note 上造 CliniQ-IV(换 ICD-10),论文级工作量、明确的增量。
  2. implication 专项:只用 implication 子集做评测/微调,攻「隐含之墙」;知识图谱注入(把药-适应症、症状-疾病关系喂进查询扩展)是最直接的对位药。
  3. LLM-judge 方法学:以 ClinIQ 的 0.985 Kappa 设置为锚,研究提示词扰动、模型换代(GPT-4o → 后继模型)对标注稳定性的影响。
  4. RAG 检索器选型报告:把临床 RAG 的检索组件在 CliniQ 上过一遍(BM25 / 通用稠密 / 医学稠密 / RRF),产出工程白皮书。
  5. 跨语言迁移:把 qrels 的英文查询翻译为中文病历域查询,测跨语言检索鸿沟(注意许可:qrels 为 Apache-2.0,翻译衍生可行,但需保留原许可声明)。

§10 坑点集:使用 CliniQ 前必须排掉的八颗雷

本节按「现象 → 根源 → 避坑动作」格式逐坑展开。前四坑是合规与数据形态级(踩了直接作废工作),后四坑是口径与方法级(踩了数字不可比)。

坑 1:把 CliniQ 当成「临床问答/对话数据集」

  • 现象:按「clinical QA dataset」「医疗对话」关键词检索到 CliniQ 后直接下载,发现既没有问答对也没有对话轮次,困惑而返。
  • 根源:名字里的 Q 与「medical QA」家族(EHRSQL、MedQA 等)字面撞车;聚合站简介常把它塞进 QA 分类。
  • 事实:CliniQ 是纯检索相关性基准(IR benchmark)——资产是 (查询, 语块, 匹配类型) 三元组,没有答案、没有生成任务。
  • 避坑动作:需要问答基准请转向 EHRSQL(rid=713)/ EHRXQA(rid=646);需要检索基准才是 CliniQ。

坑 2:以为 HF 仓库可以直接下到语料

  • 现象:从 HuggingFace THUMedInfo/CliniQ 下载后找不到 corpus,认为数据集「缺文件」。
  • 根源:MIMIC-III 分发条款禁止再分发,团队故意只放 hadm_id 清单与脚本——HF 页面 README 写得清楚,但许多人只点文件列表。
  • 事实:语料必须「PhysioNet 权限 + preprocess.py 自产」(§6.2)。这不是缺陷而是合规设计。
  • 避坑动作:把「申请 PhysioNet 权限」排进项目排期(数天到数周审批),不要在开工当天才发现拿不到语料。

坑 3:qrels 标签当数值用

  • 现象:把 qrels 的 match_type 字段当 BEIR 的 0/1/2 相关等级读,直接喂进 pytrec_eval 报错或产出乱码结果。
  • 根源:CliniQ 格式「与 BEIR 相似」,但唯一差异正是标签语义——BEIR 是等级,CliniQ 是类型(自由文本五类)。
  • 事实:五类标签是 string/synonym/hyponym/abbreviation/implication,评测前需自行映射为二值相关(官方 eval.py 已内置映射)。
  • 避坑动作:自研管线一律先过映射层;不要发明「类型当权重」的花式用法(五类之间不是有序关系,string 并不「更相关」)。

坑 4:引用了聚合站的错误年代与数字

  • 现象:二手聚合站(如 selectdataset 类页面)写「Zhengyun Zhao 等人于 2018 年提出 CliniQ」,被引用进综述。
  • 根源:聚合站自动抓取生成,年份字段错配(可能与作者早期其他工作混淆)。
  • 事实:arXiv 提交史铁证:v1 = 2025-02-10,v2 = 2025-04-08;GitHub 首发 2025-04-02。
  • 避坑动作:一切年代与 Kappa 值以 arXiv 页与 GitHub README 一手口径为准;Kappa 取 0.985(README)而非「0.98+」(转述)。

坑 5:SPR 与 MPR 混报

  • 现象:论文或评测报告只写「在 CliniQ 上 MRR 达 X」,不写设定,导致复现者跑 MPR 得到完全不同的数字而误判复现失败。
  • 根源:两种设定共享同一份三件套,区别只在候选池作用域——表面上「同一个数据集」,实际上是两个难度结构不同的任务。
  • 事实:SPR(单患者笔记内检索)与 MPR(全库 16,550 语块检索)的 distractor 数量差约三个数量级。
  • 避坑动作:报告数字必须写明设定 + 查询类型 + 指标定义(MRR@几);复现对不上时先核对设定。

坑 6:SPR MRR 89.92 的口径陷阱

  • 现象:转述源写「RRF reached an 89.92 MRR in Single-Patient Retrieval」,被当作论文表格原值引用。
  • 根源:该数字出自论文解读页(lacuna 站摘要)对论文图表的转述,指标截断点(MRR@10 还是全深度)未随数字给出。
  • 事实:本条目成稿时未核对论文 PDF 表格,无法确认 89.92 的精确定义。
  • 避坑动作:引用时标注「转述口径」并回论文核对;做对比实验时以自己环境复现的 BM25/RRF 锚点为准,不与转述数字硬比。

坑 7:把「GPT-4o 标注 Kappa 0.985」外推到一切标注任务

  • 现象:以 CliniQ 的 0.985 为由,宣称 LLM 可零验证替代人工标注任意医疗数据。
  • 根源:忽略了 0.985 成立的三个前提:任务定义极清晰(五分类离散标签)、CoT 提示充分、有抽样人工验证闭环。
  • 事实:开放性任务(自由文本评分、复杂时序推理)上 LLM-judge 一致性会显著退化——这是标注方法学的共识。
  • 避坑动作:迁移 LLM 标注时保留「抽样人工对比 + Kappa 报告」闭环;报告时写明任务类型与提示策略,不做无前提外推。

坑 8:数据泄漏的隐性风险——查询源自 MIMIC 编码

  • 现象:在 MIMIC 上预训练的检索/嵌入模型直接上 CliniQ 刷分,得到系统性偏高却不可信的结果。
  • 根源:查询由 MIMIC-III 的 ICD/NDC 编码转写而来,语料就是 MIMIC 出院小结——训练分布与评测分布高度重叠,模型可能「背过」这些文档-概念共现。
  • 事实:这层重叠是 MIMIC 系基准的通病(EHRSQL/EHRXQA 同理),不是 CliniQ 独有缺陷;论文的通用 vs 专用模型对比恰是用「在 PubMed 训练的模型」规避了病历域直接泄漏。
  • 避坑动作:凡在 MIMIC 系数据上训练过的模型,报告 CliniQ 分数时必须显式声明重叠并做无重叠对照组(如在 PubMed/通用语料训练的模型对照)。

坑点小结表

坑 级别 一句话避坑
1 当 QA 数据集 定位级 它是检索基准,没有答案
2 HF 无语料 合规级 语料自产,PhysioNet 权限是前置
3 qrels 类型当数值 格式级 先映射二值相关再评测
4 年代/数字引错 口径级 以 arXiv/README 一手为准,Kappa=0.985
5 SPR/MPR 混报 口径级 设定必须写明
6 89.92 转述口径 口径级 标注转述并回原文核对
7 Kappa 无前提外推 方法级 保留人工抽样验证闭环
8 MIMIC 训练泄漏 有效级 声明重叠,设无重叠对照

§11 DAIMS 表:数据集综合画像

DAIMS(Dataset Anatomy, Identity, Methods & Statistics)——一表看清 CliniQ 的解剖结构。本表为千方库条目规范组件,字段口径见各分节。

字段 内容
条目名 CliniQ(slug: cliniq)
一句话身份 首个公开的电子病历(EHR)实体检索基准,BEIR 式三件套 + 五类语义匹配 qrels
团队 清华大学 + 北京协和医学院 + Tsinghua Medicine(8 作者,一作兼通讯 Zhengyun Zhao)
首发 arXiv:2502.06252(2025-02-10 v1;2025-04-08 v2)
数据版本 GitHub 2025-04-02 首发版(唯一版本;2025-05-19 增补 DR.EHR 支持)
上游语料 MIMIC-III 出院小结 1,000 份(hadm_id 公开,语料自产)
语料粒度 100 词/块,共 16,550 语块
查询 1,246 条唯一查询;疾病/操作/药物三分;源自 ICD-9 编码与 NDC 处方标签经 GPT-4o 转写
标注 77,206 条语块级相关性判定;GPT-4o CoT;五类匹配标签
标注质量 Cohen’s Kappa 0.985(vs 人类医学专家抽样对比)
检索设定 SPR(单患者)+ MPR(多患者)
核心结论 BM25 强基线;通用稠密反超医学专用;implication 为集体短板;RRF 总体最优
格式 BEIR 目录约定;qrels 标签为自由文本匹配类型(与 BEIR 数值分级的唯一差异)
代码许可 Apache-2.0(queries/qrels/脚本)
语料许可 不可再分发(MIMIC-III PhysioNet DUA 约束,hadm_id + 脚本复现制)
获取入口 GitHub zhao-zy15/CliniQ;HF THUMedInfo/CliniQ(清单+脚本镜像)
评测入口 eval.py(稠密检索器);输出按查询类型 × 匹配类型分项 + 总评
Leaderboard 无(多面性设计,邮件报分模式)
规模对标 TREC Medical Records track 的约一个数量级以上
库内互链 mimic-iii(106)、mimic-iv-note(47)、ehrsql(713)、ehrxqa(646)、archehr-qa-bionlp-task-2025(1000)、blue-benchmark(478)、i2b2-n2c2-nlp(14)、ehrshot(11)、ehr-reasoncon(1007)
主要局限 语料获取门槛高;查询三分之外的实体类型未覆盖;无 leaderboard;LLM 标注对 implication 类的边界判定依赖提示设计

§12 按角色阅读路径

不同读者从本条目带走的东西不同。以下四条路径各标注必读小节与产出物。

12.1 医疗 IR 研究者

  • 路径:§0 → §4(流水线)→ §5(结构)→ §7(结论)→ §10 坑 5/6/8。
  • 产出物:可复现的评测协议(设定 + 指标 + 分项口径)与四条研究机会(§9.5)。
  • 一句话:这是你唯一的公开 EHR 检索战场,先跑 BM25 锚点再谈方法。

12.2 工程/选型团队

  • 路径:INFOBOX → §7.2 三条结论 → §7.3 RRF → §9.3 工程细节 → §10 坑 1/2/3。
  • 产出物:检索组件选型决策(RRF 起手、通用稠密优先、BM25 必须对标)与两周级接入排期。
  • 一句话:通用模型反超专用模型 + BM25 意外地强,意味着你的默认方案应该重排。

12.3 LLM 标注方法论研究者

  • 路径:§4.3 → §4.4(0.985 的构成)→ §10 坑 7 → §9.5 玩法 3。
  • 产出物:可迁移的「五分类 + CoT + 抽样验证」标注模板与外推边界说明。
  • 一句话:0.985 是任务设计出来的,不是模型能力白给的。

12.4 数据集构建者(隐私受限域)

  • 路径:§4.6(可复制性清点)→ §6.4(合规清单)→ §6.2 五步法。
  • 产出物:「上游权限制 + 派生标注全公开 + 脚本复现」的发布模板。
  • 一句话:CliniQ 演示了隐私数据上如何既守 DUA 又不牺牲可复现性——直接照抄。

12.5 快速跳转索引

  • 想要硬数字:§1 Q2/Q3/Q4、§5.1 总表、§11 DAIMS。
  • 想要结论:§7.2。
  • 想要避坑:§10。
  • 想要互链:§8、§11 末行。

§13 一页速查卡(Cheatsheet)

身份

  • CliniQ = Clinical Queries;首个公开 EHR 实体检索基准
  • arXiv:2502.06252(2025)· 清华 + 协和 · 通讯 zhengyun21@mails.tsinghua.edu.cn
  • GitHub zhao-zy15/CliniQ(Apache-2.0)· HF THUMedInfo/CliniQ

数字

  • 1,000 份 MIMIC-III 出院小结 → 16,550 语块(100 词/块)
  • 1,246 查询(疾病/操作/药物)· 77,206 相关性判定 · Kappa 0.985
  • 5 类匹配:string / synonym / hyponym / abbreviation / implication
  • 2 设定:SPR / MPR · 指标:MRR(分项 × 总评)

结论三行

  • BM25 = 强基线(病历文本字面重叠高)
  • 通用稠密 > 医学稠密(PubMed 训练分布与病历错位)
  • implication = 集体短板;RRF = 当前最优(转述口径 SPR MRR 89.92)

获取五步

  • PhysioNet 权限 → 克隆仓库 → preprocess.py 自产语料 → BM25 锚点 → eval.py 稠密/RRF

格式要点

  • BEIR 目录:corpus / queries(disease|procedure|drug) / qrels(同三分)
  • qrels 行 = (query_id, chunk_id, match_type);match_type 为五类自由文本
  • 评测前先把 match_type 映射为二值相关

三大禁忌

  • 不再分发语料(MIMIC DUA)· 不混报 SPR/MPR · 不无声明地用 MIMIC 预训练模型刷分

互链坐标(库内)

  • 上游:mimic-iii(106) · 后继语料:mimic-iv-note(47)
  • 同族:archehr-qa-bionlp-task-2025(1000) · 互补:ehrsql(713)、ehrxqa(646)
  • 方法论:blue-benchmark(478)、i2b2-n2c2-nlp(14)、ehrshot(11)、ehr-reasoncon(1007)

§14 语义鸿沟五类逐类深读

五类匹配不只是五个标签,而是医疗检索失败的五种病因。本节逐类展开:现象、机理、对模型的挑战本质、已知的应对手段。

14.1 string(字符串匹配)

  • 现象:查询与语块共享字面串。diabetes → diabetes mellitus;appendectomy → appendectomy。
  • 机理:无需任何语义映射,词形重叠即可命中。BM25 与精确匹配在此类近乎免费得分。
  • 挑战本质:几乎没有。唯一变数是形态变化(复数、分词差异)。
  • 已知手段:任何词汇检索器均可;唯一值得做的是 stemming/normalization。
  • CliniQ 意义:作为「地板」锚点——一个方法连 string 都做不好,说明实现有 bug 而非能力问题。

14.2 synonym(同义词)

  • 现象:意义相同、词形不同。myocardial infarction ↔ heart attack;hyperlipidemia ↔ high cholesterol。
  • 机理:病历书写与患者/医生检索语言分属两个词汇世界——病历偏爱拉丁化术语,查询常日用化。
  • 挑战本质:需要术语标准化(term normalization)或语义空间中的近义聚簇。
  • 已知手段:UMLS 同义词表扩展、稠密嵌入(此类正是稠密模型相对 BM25 的最大优势区)。
  • CliniQ 意义:论文证实稠密模型在此类显著优于 BM25——语义鸿沟在词典层面已经「可解」。

14.3 abbreviation(缩写)

  • 现象:hypertension ↔ HTN;chronic obstructive pulmonary disease ↔ COPD;myocardial infarction ↔ MI。
  • 机理:病历是电报式文书,缩写密度极高;且医疗缩写有严重歧义(MS 可以是多发性硬化、二尖瓣狭窄或 morphine sulfate,依科室而异)。
  • 挑战本质:缩写消歧(abbreviation disambiguation)+ 全称映射的双重任务。
  • 已知手段:临床缩写词典、上下文消歧模型;BM25 靠词面偶合也能接住一部分(查询转写若含缩写则直接命中)。
  • CliniQ 意义:证明了查询侧「编码转写」的仿真价值——真实医生检索既搜全称也搜缩写。

14.4 hyponym(下位词/上下位关系)

  • 现象:查询为上位概念(heart disease),语块只提具体病种(atrial fibrillation);或查询为具体病种、语块只提上位归类。
  • 机理:需要医学分类树(ICD 层级、本体层级)作为外部知识;纯字面与纯嵌入都可能漏——上位词与下位词在嵌入空间近但不保证相关判定正确。
  • 挑战本质:层次化语义推理,是「词典可解」与「知识可解」的分界线。
  • 已知手段:知识图谱增强、ICD 层级扩展、层次化嵌入。
  • CliniQ 意义:隔离出「分类学鸿沟」——同义可学、层次需知。

14.5 implication(隐含相关)——「隐含之墙」

  • 现象:查询 diabetes 与只提到 Metformin 的语块相关;查询 atrial fibrillation 与提到 warfarin 长期抗凝的语块相关;查询 breast cancer 与提到 mammography screening 的语块相关。
  • 机理:相关性的证据不在文本语义内,而在医学世界知识里——药物-适应症、检查-怀疑诊断、治疗-疾病的治疗关系网。
  • 挑战本质:一步(或多步)临床常识推理。嵌入模型学到的是分布相似性,而这类对的分布相似性并不保证高——Metformin 的上下文未必与 diabetes 的典型语境重叠(病历里 Metformin 常出现在用药清单,与糖尿病叙述分离)。
  • 已知手段:LLM 查询扩展(把 query 扩出关联药物/检查/并发症再检索)、知识图谱三跳扩展、以 implication 子集微调相关性模型。
  • CliniQ 意义:把这一层单独量化是全文最大的方法论贡献——「implication wall」从此有了公开测量仪。

14.6 五类的谱系小结

  • 难度阶梯:string < synonym ≈ abbreviation < hyponym < implication。
  • 知识需求阶梯:零 → 词典 → 词典+消歧 → 分类树 → 世界知识。
  • 对应技术阶梯:词汇匹配 → 嵌入 → 消歧模型 → 知识图谱 → LLM 推理。
  • CliniQ 的价值 = 把这条阶梯变成了可分项报告的评测轴;未来医疗 IR 论文的标配表格应是「方法 × 五类」矩阵而非单一 MRR。

§15 案例走查:一条查询在 CliniQ 里的完整生命周期

以一个合成示例(非论文原例,用于走查机制;实体与编码关系按 MIMIC 通用知识构造)演示基准的运转方式。

15.1 种子阶段

  • 医生在某次住院里下了诊断 2 型糖尿病,编码员录入 ICD-9 250.00(diabetes mellitus without mention of complication, type II)。
  • 该编码进入 CliniQ 的疾病类查询种子池。

15.2 转写阶段

  • GPT-4o 把 250.00 转写为自然语言查询,如 diabetes mellitus type 2。
  • 转写只做「编码 → 术语」的自然语言化,不添加上下文;查询保持检索框形态。

15.3 候选生成阶段

  • 系统用召回方法(如 BM25/稠密双路)从 16,550 语块中捞出候选(含真相关与噪声)。
  • 一份糖尿病患者的出院小结会被切成约十几个语块:主诉段、既往史段、用药段、出院医嘱段……

15.4 判定阶段(GPT-4o CoT)

  • 语块 A(既往史段:「…history of type 2 diabetes mellitus…」)→ 判 synonym 或 string(取决于字面重叠程度),relevant。
  • 语块 B(用药段:「…continue metformin 1000 mg bid…」)→ 判 implication:Metformin ⇒ 糖尿病治疗 ⇒ 与查询隐含相关,relevant。
  • 语块 C(手术段:「…laparoscopic cholecystectomy…」)→ 判 irrelevant(除非并发症书写把糖尿病带入语境)。
  • 语块 D(检验段:「…HbA1c 8.9%…」)→ 依提示设计可判 implication(HbA1c 升高 ⇒ 糖血糖控制指标)——此类边界判定正是 LLM 标注的难点所在,也是 0.985(而非 1.000)的残差来源。

15.5 入库阶段

  • 判定结果写入 qrels:每行 (query_id, chunk_id, match_type),与 disease.jsonl 的查询一一对应。

15.6 评测阶段

  • BM25:语块 A 命中(字面重叠),语块 B 大概率漏(无 disease 字样)——词汇方法的 implication 盲区在此现形。
  • 稠密模型:语块 A 稳命中;语块 B 得分取决于「Metformin 用药上下文」与「diabetes 查询」在嵌入空间的距离——经验上中等偏高,但不稳定。
  • RRF:A 由两路同时保底,B 靠稠密路捞回——混合方法总体最优的微观解释。
  • 分项输出:这条查询的 MRR 贡献被拆进 disease × (string/synonym/implication) 三个交叉格。

15.7 走查结论

  • 一条查询的生命周期横跨「结构化数据库 → LLM 转写 → 召回 → CoT 判定 → 类型化 qrels → 分项评测」,每一步都有明确的失败模式与排查点。
  • 评测的分辨力来自「逐块类型化」:同一个检索器,总分接近的两个模型可能在 implication 分项上差开数倍——这正是选型该看的地方。

§16 术语表(中文为主,术语首现标英文)

  • EHR(Electronic Health Record):电子病历。医院信息系统记录患者诊疗全过程的数据总称,受隐私法规严格约束。
  • 出院小结(discharge summary):患者出院时对整次住院的总结性文书,含诊断、操作、用药、病程,是信息密度最高的临床笔记类型。
  • 实体检索(entity retrieval):以疾病、操作、药物等命名实体为目标的检索任务,区别于文档级主题检索。
  • 语义鸿沟(semantic gap):查询用语与文档用语之间的语义错位,CliniQ 将其细分为五类匹配。
  • 语块(chunk):文档切分后的检索单元,CliniQ 采用 100 词定长切块。
  • qrels(query relevance judgments):相关性判定集合,IR 评测的标准资产,每行记录一个(查询, 文档)对的相关性。
  • BEIR:通用域零样本检索基准套件及其目录格式约定;CliniQ 沿用其 corpus/queries/qrels 结构。
  • MRR(Mean Reciprocal Rank):平均倒数排名,检索评测常用指标;正确答案排得越靠前分越高。
  • BM25:基于词频与文档长度的经典稀疏检索算法,CliniQ 上表现出人意料的强基线地位。
  • 稠密检索器(dense retriever):用神经嵌入把查询与文档映射到同一向量空间、以相似度检索的模型家族(如 BGE、NV-Embed、MedCPT)。
  • MedCPT:微软发布的医学域对比预训练检索模型;CliniQ 上被通用模型反超的代表。
  • NV-Embed-v2:NVIDIA 通用嵌入模型;CliniQ 上表现最佳的通用域稠密检索器之一。
  • RRF(Reciprocal Rank Fusion):倒数排名融合,把多路检索排名合并的免调参方法;CliniQ 上总体最优。
  • LLM-as-a-judge:用大模型替代人类做评估/标注的范式;CliniQ 是其在医疗相关性标注上的高一致性案例。
  • CoT(Chain-of-Thought):思维链提示,先推理后作答;CliniQ 标注流水线的关键组件。
  • Cohen’s Kappa:剔除随机一致后的标注者间一致性系数;0.985 属「几乎完美一致」档。
  • ICD-9:国际疾病分类第九版;MIMIC-III 采用其疾病与操作编码,是 CliniQ 查询的种子来源。
  • NDC(National Drug Code):美国国家药品代码;MIMIC 处方表所用,是 CliniQ 药物类查询的种子来源。
  • SPR(Single-Patient Retrieval):单患者检索设定——在一份笔记内找相关语块。
  • MPR(Multi-Patient Retrieval):多患者检索设定——在全部 1,000 份笔记构成的库中检索。
  • hyponym(下位词):层次关系中更具体的词(如 atrial fibrillation 之于 heart disease);CliniQ 匹配类型之一。
  • implication(隐含):需借助医学世界知识(药-病、检-病关系)才能成立的相关性;CliniQ 匹配类型中最难的一类。
  • PhysioNet:MIMIC 系列数据的托管平台,credentialed access 申请制。
  • DUA(Data Use Agreement):数据使用协议;MIMIC 分发的合规根基。
  • hadm_id:MIMIC 中住院记录的唯一标识;CliniQ 公开 1,000 条 hadm_id 供语料复现。
  • preprocess.py:CliniQ 的语料复现脚本,从本地 MIMIC-III 生成 corpus.jsonl。
  • DR.EHR:接入 CliniQ 评测的第三方 EHR 检索系统(GitHub 末次 commit 即为其添加支持)。
  • TREC Medical Records track:2009-2012 年间的医疗 IR 标志性评测;CliniQ 自述规模高其一个数量级以上。
  • pytrec_eval:标准 IR 评测工具封装;吃进 CliniQ qrels 前需先做类型→二值映射。

§17 FAQ(十问快答)

  • Q:CliniQ 免费吗? 查询、qrels、代码免费(Apache-2.0);语料免费但需自持 PhysioNet 权限自产。
  • Q:可以直接下载语块文本吗? 不可以。任何渠道(含 HF)都不直接分发语料,这是 MIMIC DUA 决定的。
  • Q:支持中文病历吗? 不支持。语料与查询均为英文;中文迁移需自行翻译并声明衍生关系。
  • Q:能用来训练模型吗? qrels 可用于训练相关性模型(Apache-2.0 允许);但须遵守坑 8 的泄漏声明纪律。
  • Q:有官方榜单吗? 没有。多面性基准不设单一榜单,邮件报分模式。
  • Q:与 EHRSQL 二选一选哪个? 取决于任务:做「取数问答」选 EHRSQL,做「文本检索/RAG 检索组件」选 CliniQ,两者可共存于同一系统评测。
  • Q:100 词切块会不会切断语义? 会存在边界效应,这是语块级标注的普遍代价;定长切块换来的是判定粒度确定性。
  • Q:LLM 标注会不会有系统性偏差? 五分类 + CoT + 0.985 Kappa 抽样验证已是最强控制;残差主要在 implication 的边界对(§15.4 语块 D)。
  • Q:数据集会有更新版吗? 成稿时无 MIMIC-IV 版的公开计划;仓库以增补第三方系统支持(DR.EHR)的方式缓慢演化。
  • Q:怎么引用? 用 GitHub README 的官方 BibTeX(arXiv:2502.06252,2025)。

§18 批判性评估:这条基准的边界在哪

  • 规模仍受制于 1,000 份出院小结:16,550 语块在向量检索时代是个小库——ANN 索引的近检索误差、MPR 的排序深度都不足以暴露大规模工程问题。它是「方法学试金石」,不是「生产规模压测场」。
  • 实体类型只有三类:疾病/操作/药物之外的检索需求(症状、检验、时间线、医患沟通内容)不在覆盖范围;「找检验结果」这类高频临床检索未被基准化。
  • 查询转写的真实性存在一层仿真:真实医生的检索行为千差万别(拼错、口语化、多轮细化),CliniQ 的查询是「编码的理想化转写」——比合成查询真、比真实查询日志净。这层仿真对基准是必要妥协,但解读分数时应记住。
  • LLM 标注的循环性风险:若用 LLM 检索器 + LLM 标注器闭环刷分,可能存在「裁判与选手同源」的偏好;披露标注模型与检索模型的血缘是使用者的义务。
  • 无 leaderboard 是双刃剑:避免了单指标刷榜,但也削弱了可比性与社区势能;DR.EHR 式的点状接入尚不成生态。
  • Kappa 0.985 的幸存者偏差:抽样验证的对可能偏向「易判对」区域;全量人工复核不现实,但对 implication 边界对做分层抽样复核会是更严格的验证设计(这是对方法论建设者的建议,非对论文的否定)。

§19 常见误解澄清(对照清单)

  • 误解:CliniQ 是医疗问答数据集。事实:检索相关性基准,无答案字段。
  • 误解:HF 仓库少文件。事实:语料本就不分发,hadm_id + 脚本即完整交付物。
  • 误解:数据集 2018 年提出。事实:2025 年(arXiv 提交史铁证)。
  • 误解:qrels 标签是 0/1/2。事实:五类自由文本匹配类型。
  • 误解:医学专用检索模型一定更强。事实:论文实证通用模型反超(PubMed 训练分布与病历错位)。
  • 误解:稠密模型全面取代 BM25。事实:BM25 在药物类查询上依然鲁棒,RRF 融合才是最优解。
  • 误解:Kappa 0.985 = LLM 标注普遍可靠。事实:依赖清晰任务定义 + CoT + 验证闭环,不可无前提外推。
  • 误解:SPR 与 MPR 分数可直接比较。事实:候选池规模差三个数量级,难度结构不同。
  • 误解:CliniQ 的语料可以直接商用。事实:语料受 MIMIC DUA 约束;Apache-2.0 只覆盖查询/qrels/代码。
  • 误解:已设 leaderboard。事实:无,邮件报分。

§20 来源清单(成稿依据)

§21 存照与遗留疑点(双口径逐条)

  • 存照 1(Kappa 口径):GitHub README 写 0.985;lacuna 转述写 0.98+。取一手 0.985 成稿。
  • 存照 2(SPR MRR 89.92):lacuna 转述口径,指标截断点未确认;成稿中凡引用均标「转述口径」,未作为论文表格原值使用。
  • 存照 3(提出年份):selectdataset 写 2018,与 arXiv 提交史(2025-02-10)矛盾,判定为聚合站错误,成稿按 2025。
  • 存照 4(标注来源模型名):HF/selectdataset 页有「GPT-4」与「GPT-4o」两种写法;论文摘要写 powerful LLMs,GitHub README 写 annotated by GPT-4o——取 GPT-4o。
  • 遗留疑点 1:论文表格逐模型逐匹配类型分数未抓 PDF 核对;如需精确分数请下载 arXiv v2 PDF 查表。
  • 遗留疑点 2:qrels 逐类(disease/procedure/drug)条数分布未从 benchmark 文件实抓,§5.3 的类型学描述为方向性表述。
  • 遗留疑点 3:77,206 条判定的候选生成策略(是否先用召回缩小标注范围)未从论文正文逐句确认。
  • 遗留疑点 4:作者中文姓名用字(除一作英文名外)未获一手确认,§3 按拼音转写并已注明。
  • 遗留疑点 5:HF 页月下载量 22 为成稿时点快照,会随时间漂移。

§22 成稿附记

  • 本条目由千方病案医数集 RSI 流水线 agent-f-cliniq 于 2026-10-17 成稿;三源互证(arXiv / GitHub / HuggingFace)完成于开工当日,网络预算内未追加抓取。
  • slug 查重:DB 无 cliniq 命中(status=1 AND del_sign=0,ILIKE ‘%cliniq%’ 零行);writing/ 目录为本人锁目录;dedup_gate HIT 两项均为自建状态,非撞库。
  • frontmatter URL 占位规范:所有库内互链 URL 一律使用 /0 占位(R018),rid 回填由发布侧统一执行;§8 与 §11 已附库内 rid 清单供回填参照。
  • 建议互链点(正文对照):mimic-iii(rid=106)、mimic-iv-note(rid=47)、ehrsql(rid=713)、ehrxqa(rid=646)、archehr-qa-bionlp-task-2025(rid=1000)、blue-benchmark(rid=478)、i2b2-n2c2-nlp(rid=14)、ehrshot(rid=11)、ehr-reasoncon(rid=1007)。
  • 消歧说明:CliniQ 与库内任何条目均不同实体,勿与 EHRSQL/EHRXQA/ArcheHR-QA 合并或混写(任务轴不同,见 §8)。

§23 检索方法在 CliniQ 上的逐类工程指南

面向要在基准上落地方法的团队,按方法家族给出行动清单。

23.1 BM25 与稀疏方法

  • 定位:必跑锚点。论文已认证其强基线地位,任何新方法的增量必须相对它报告。
  • 配置要点:医疗文本保留原始大小写差异意义不大,lowercase 即可;stemmer 选择需在开发子集上验证(Porter 对 medical suffix 的处理不稳定)。
  • 分项预期:string/abbreviation 强,synonym/hyponym 弱,implication 很弱。
  • 常见错误:索引了整个出院小结而非语块——必须与 qrels 的 chunk_id 粒度对齐。
  • 加分动作:报告药物类查询的分项分数,验证论文「BM25 药物鲁棒」结论在你的实现里是否成立。

23.2 稠密检索器(通用域)

  • 定位:论文口径下的当前最强单路方法(NV-Embed-v2 等)。
  • 接入要点:检查模型是否双塔异构编码(query 与 passage 分别编码);README 特别提醒此事。
  • 分项预期:synonym/hyponym 显著强于 BM25;implication 仍弱。
  • 常见错误:截断长度设置吞掉 100 词语块(该长度对多数模型很友好,但嵌入 prompt 前缀要计入预算)。
  • 加分动作:对比不同维度/代际的通用模型,验证「通用优于专用」的边界在哪里。

23.3 稠密检索器(医学专用)

  • 定位:被论文证伪的默认假设——仍值得跑,用于量化「错位惩罚」。
  • 接入要点:MedCPT 类模型通常有配对的 query/passage 编码器,切勿混用。
  • 分项预期:总体低于通用模型;个别子类(如 ICD 术语密集的 procedure 查询)可能反超。
  • 研究价值:在 MIMIC 病历文本上继续预训练/微调医学模型,检验「分布错位」是否可修复——这是论文留下的明确问题。

23.4 查询扩展(LLM 路线)

  • 定位:攻 synonym/implication 的直接手段。
  • 做法:用 LLM 把查询扩出同义词、缩写全称、相关药物/检查/并发症,扩展词并入 BM25 查询或作为稠密检索的多查询。
  • 风险:扩展词引入噪声导致 MPR 精度下降——扩展强度需在 SPR 上调好再上 MPR。
  • 分项预期:implication 分项应有可见改善;若无,检查扩展是否只做了同义改写(最常见失败)。

23.5 知识图谱路线

  • 定位:把 UMLS/药典关系(药-适应症、检-病、病-并发)作为扩展边。
  • 做法:查询实体链接到图谱 → 取一跳(synonym/abbreviation)或两跳(implication)邻居 → 扩展检索。
  • 优势:implication 所需的「药⇒病」关系天然是图谱边,比嵌入泛化更可控。
  • 代价:实体链接本身在病历文本上是个难题(缩写歧义复现于图谱入口)。

23.6 RRF 融合

  • 定位:当前总体最优实践(§7.3),工程上几乎零成本。
  • 做法:BM25 排名与稠密排名按倒数排名合并(k=60 是常用默认)。
  • 分项预期:每类匹配都有一路兜底,总评与多数分项领先;implication 仍是短板。
  • 加分动作:三路融合(+查询扩展路)观察 implication 分项是否突破单融合上限。

23.7 重排(reranker)

  • 定位:基准未列为主角,但语块短文本对 cross-encoder 极友好(100 词输入无截断压力)。
  • 预期:在 top-k 重排上应能继续抬升 MRR;代价是推理成本。
  • 提示:重排模型若为医学域训练,注意坑 8 的泄漏声明义务。

§24 医疗 RAG 集成手册:把 CliniQ 当检索评测台

  • 步骤 1(语料对齐):把你的 RAG 知识库映射到 MIMIC 语块粒度——CliniQ 教的第一课是「chunk 粒度决定判定粒度」。
  • 步骤 2(检索组件评测):用 SPR/MPR + 五类分项给你的检索器画像,输出「强项-弱项」矩阵(§7.4 模板)。
  • 步骤 3(失败归因):拉出你的检索器在 implication 分项的漏检对,人工看二十条——它们就是 RAG 幻觉的检索侧根源。
  • 步骤 4(针对性改造):按弱项选药——synonym 弱上嵌入、hyponym 弱上图谱、implication 弱上 LLM 扩展(§23.4/23.5)。
  • 步骤 5(回归评测):改造后全套重跑,分项对照;禁止只看总 MRR。
  • 产出模板:一份合格的 CliniQ 评测报告应含——设定声明、BM25 锚点、总评 + 查询三分项 + 匹配五分项、SPR/MPR 对照、训练数据重叠声明。

§25 教学场景:三个现成的课程作业

  • 作业 1(IR 入门):跑通 BM25 基线,绘制「查询类型 × 匹配类型」分数热力图,解释为何药物类 string 分最高。
  • 作业 2(标注方法学):抽 50 对 qrels 人工复判,计算你与 GPT-4o 的 Kappa,讨论偏差集中在哪一类匹配。
  • 作业 3(系统课):实现一个 RRF 检索器并对比单路,撰写「哪些改善来自哪类语义匹配」的归因报告。
  • 教学要点:三个作业分别对应「读懂数据、读懂标注、读懂方法」——CliniQ 的三件套恰好各供一层教材。

§26 与既有评测体系的对照深表

维度 TREC Medical Records BEIR 通用套件 CliniQ
域 医疗(visit 级报告) 通用多域 医疗(EHR 语块)
判定粒度 visit 级 文档级 语块级(100 词)
相关性标签 分级 0/1/2 五类匹配类型
查询来源 主题式 request 主题/主张式 ICD/NDC 编码转写
规模 数十 visit/查询 各子集数千级 16,550 块 / 1,246 查询 / 77,206 判定
标注者 人工评估员 人工 GPT-4o(Kappa 0.985 人类验证)
设定 单一 单一 SPR + MPR 双设定
分发 评测盘 直接下载 清单+脚本复现制
获得能力 总排名 零样本总排名 语义鸿沟逐类画像
  • 读表要点:CliniQ 的每一行差异都是一个设计决策——语块粒度换判定精度、类型标签换失败分析能力、双设定换场景覆盖、复现制换 DUA 合规。
  • 引用建议:论文写作中与 BEIR 对齐格式、与 TREC 对齐叙事(「填补 medical record 检索公开基准的十年空白」)。

§27 数据落地自检清单(20 项)

克隆仓库后、跑评测前,逐项打勾:

  • [ ] benchmark/ 目录存在 queries 与 qrels 各三个文件(disease/procedure/drug)
  • [ ] qrels 每行三字段:query_id、corpus_id、match_type
  • [ ] match_type 值域 ⊆
  • [ ] 查询总数合计 1,246
  • [ ] qrels 总行数 77,206
  • [ ] hadm_id 清单 1,000 行
  • [ ] preprocess.py 可运行(依赖已装)
  • [ ] PhysioNet 凭据有效且 MIMIC-III v1.4 在本地可查
  • [ ] 生成 corpus.jsonl 行数 = 16,550
  • [ ] 语块抽样肉眼核对(切块边界、无跨块串行)
  • [ ] corpus_id 与 qrels 的 corpus_id 命名空间一致
  • [ ] eval.py 依赖版本与 README 一致
  • [ ] 嵌入模型 query/passage 编码方式已确认
  • [ ] SPR 候选池 = 单患者语块集合(作用域检查)
  • [ ] MPR 索引覆盖全库 16,550 块
  • [ ] qrels 类型→二值映射已实现
  • [ ] BM25 锚点分数已产出并与论文方向一致
  • [ ] 输出含查询三分项 + 匹配五分项
  • [ ] 报告模板含设定声明与训练数据重叠声明
  • [ ] 所有衍生发布不含语料原文(只含清单+脚本)

§28 伦理与合规深读

  • 患者隐私:MIMIC-III 已经过去标识化(dates shifted、free text 清洗),但再识别风险研究屡有警示——衍生发布遵循「只发标识与标注、不发文本」是最稳妥的社区惯例,CliniQ 是范例。
  • DUA 边界:Apache-2.0 只覆盖派生标注与代码;把 hadm_id 清单与外部数据集链接以图再识别,违反 DUA 且涉伦理审查。
  • LLM 标注的伦理披露:用 GPT-4o 做医学相关性判定,须在论文中披露模型版本、提示词与验证协议——CliniQ 提供了完整披露样本。
  • 公平性视角:MIMIC 是单一美式 ICU 人群(Beth Israel),任何在 CliniQ 上训练的相关性模型迁移到其他人群/语言/医疗体系时,性能声明必须降级为「同分布内结论」。
  • 双重用途低风险:检索基准不含可识别个体、不含生成性医疗建议,主要风险在于下游系统把检索错误当临床事实——这正是 implication 短板要持续研究的现实理由。

§29 面向未来的三个开放问题

  • 开放问题 1:implication 之墙如何破? 候选路线已列(图谱、LLM 扩展、微调),但没有一条在公开复现中把 implication 拉到 synonym 水平——谁先做到,谁定义下一代医疗检索。
  • 开放问题 2:LLM 标注的边界在哪? 0.985 是五分类上的上限样本;更细粒度(句子内证据 span 级)或更开放(自由文本依据)的标注一致性衰减曲线尚无系统研究。
  • 开放问题 3:多语言病历检索鸿沟是否同构? 中文病历的缩写体系、模板文化、用药书写与美国 EHR 差异巨大;CliniQ 流水线(编码种子 + LLM 转写 + LLM 标注 + 人类验证)在中文 EHR 上的可复制性是千方这类中文病案生态的直接关切。

§30 数据血缘详表:从 MIMIC-III 表格到 CliniQ 文件

MIMIC-III 侧 CliniQ 侧 变换
NOTEEVENTS(CATEGORY=‘Discharge summary’) corpus.jsonl 的语块正文 抽 1,000 hadm_id 对应小结 → 100 词切块
DIAGNOSES_ICD(ICD-9 疾病码) disease.jsonl 查询种子 GPT-4o 转写为自然语言
PROCEDURES_ICD(ICD-9 操作码) procedure.jsonl 查询种子 同上
PRESCRIPTIONS(NDC 码) drug.jsonl 查询种子 同上
—(无) qrels 六文件 GPT-4o CoT 对(查询 × 候选语块)逐对判定
—(无) hadm_id 清单 复现凭据,替代语料分发
  • 读表要点:CliniQ 把 MIMIC-III 的「结构化编码」与「自由文本笔记」缝合起来——编码当查询种子,笔记当检索目标,缝合线就是五类匹配标签。
  • 工程含义:语料复现的唯一敏感依赖是 NOTEEVENTS 抽取与切块逻辑;切块实现不同将导致 corpus_id 无法与 qrels 对齐——务必用官方 preprocess.py。

§31 评测指标原理小课堂

CliniQ 以 MRR 为主评。理解三个常用指标的差异,才能正确解读分数。

  • MRR(Mean Reciprocal Rank):对每条查询取第一个相关结果的排名倒数再平均。它只关心「第一个对的在哪」——适合「找答案」型检索,不考虑后续相关的分布。
  • NDCG(Normalized Discounted Cumulative Gain):对结果列表按位置折损累加增益再归一。它奖励「把多个相关都排前面」,分级相关时更有表达力。
  • MAP(Mean Average Precision):对每条查询的相关文档精度取平均再总平均。它衡量全列表的整体质量,对尾部敏感。
  • 在 CliniQ 语境下的选择:语块级判定 + 单点信息需求(找某病的记录),MRR 直观且与临床动作(点开第一条结果)对应;但做 RAG 检索器评测时,建议补报 NDCG(上下文窗口会装入多个语块,多相关排名很重要)。
  • 分项读法:同一模型 MRR 高而 implication 分项低,说明它「第一跳命中有余、语义深挖不足」——这正是 §7.4 矩阵想暴露的结构。
  • 报告规范:写明 MRR@几(截断深度)、是否含全部五类、SPR 还是 MPR——三要素缺一,数字不可比。

§32 稠密检索模型代际选型指南(CliniQ 视角)

  • 第一代(词向量/静态嵌入):不推荐直接用;synonym 分项预期劣于现代模型。
  • 第二代(BERT 式双塔微调):可用基线;在病历域需域内微调,注意坑 8 泄漏声明。
  • 第三代(大规模对比预训练,如 BGE 系):零样本即用,论文口径下已具竞争力;工程默认选项。
  • 第四代(NV-Embed 类指令化大嵌入):论文口径下的通用最优;嵌入维度与显存成本更高,MPR 全库扫描时注意索引效率。
  • 医学专用(MedCPT 等):不因「医学」标签自动胜出——论文实证其总体落后于第四代通用模型;保留用于分项对照与研究基线。
  • 选型决策树(文字版):先 BM25 定锚 → 预算允许则上第三代/第四代稠密 → 上 RRF 融合 → 分项体检 → 只对弱项(预期是 implication)上扩展/图谱/重排。

§33 社区事件年表(扩充版)

  • 2025-02-10:arXiv v1 挂网,基准首次公开亮相。
  • 2025-04-02:GitHub 仓库首发(数据 + Apache-2.0 + 评估脚本),三件套落地。
  • 2025-04-08:arXiv v2,现行引用版本。
  • 2025-04-09:README 完善(使用说明与复现指引)。
  • 2025-05-19:DR.EHR 支持合入——基准首次被第三方系统接入,进入消费阶段。
  • 同期前后:HF THUMedInfo/CliniQ 上架,HF 生态入口就位。
  • 成稿时点(2026-10):无 MIMIC-IV 版、无官方 leaderboard;社区以论文引用 + 独立复现方式消费基准。

§34 检索失败案例集(合成教学案例)

以下八个案例为教学构造(非论文原例),覆盖五种匹配 × 三种方法,用于校准直觉。

  • 案例 1(string,全员通过):查询 appendectomy → 语块「…status post appendectomy…」。BM25 直接命中,任何方法不该在此失手;若失手查切块对齐。
  • 案例 2(string,药名长尾):查询 hydrochlorothiazide → 用药清单语块。BM25 强项复现「药物类 BM25 鲁棒」结论。
  • 案例 3(synonym,BM25 失守):查询 heart attack → 语块只写 myocardial infarction。词汇零重叠,BM25 靠邻近词偶然得分;稠密稳收。
  • 案例 4(abbreviation,双向都有):查询 COPD → 语块写全称;反向查询全称 → 语块只写 COPD。两个方向都要在评测里出现,单方向会高估能力。
  • 案例 5(hyponym,上位查询):查询 cardiac arrhythmia → 语块只写 atrial fibrillation。嵌入近但需分类树确认包含关系。
  • 案例 6(hyponym,反向):查询 atrial fibrillation → 语块只写「history of arrhythmia」。反向下位查询更难:具体病名的证据被上位词稀释。
  • 案例 7(implication,药⇒病):查询 diabetes → 语块只是 Metformin 用药行。全部方法预期掉分;LLM 查询扩展(扩出 antidiabetic 及药名)是当前最可行补救。
  • 案例 8(implication,检⇒病):查询 pulmonary embolism → 语块只有「CT angiogram ordered, rule out PE」以外的一句话医嘱。隐含相关成立但证据极薄,人工判定也会有分歧——这里是 0.985 残差的高发区。
  • 案例读法:把八个案例当回归测试集——你的方法在 1/2 失手是实现 bug,在 3/4 失手是选型问题,在 5/6 失手是知识缺失,在 7/8 失手属正常(当前 SOTA 也如此),改善它们才是论文贡献。

§35 条目收尾对照(千方库规范项核对)

  • frontmatter:title 带站点后缀、description ≤170 字符、各字段 ≤255 字符、双引号内无英文直引号、schema_org 节点式 cr:RecordSet、relatedLink 仅纯 URL 占位(本条目未在 frontmatter 写互链说明文字,说明一律入正文 §8/§35——R012 纪律)。
  • 正文:中文为主、术语首现标英文、坑点编号 ≥5(实际 8 坑)、含 DAIMS 表(§11)、来源清单(§20)、存照与遗留疑点(§21)。
  • 行数与拼接:分片写入私有区,收尾显式 cat 拼接成稿并自检行数(R025 纪律)。
  • 许可与获取:三层许可分层陈述(§6),无公开直链的部分如实标注复现条件,未夸大可得性。

§36 查询类型三分深挖

36.1 疾病类查询(disease)

  • 种子:MIMIC-III 的 ICD-9 疾病编码,覆盖住院诊断谱系。
  • 转写特征:诊断名 → 术语化查询;同一疾病在病历里的表达谱系极宽(全称/缩写/口语/合并症书写)。
  • 五类分布直觉:synonym 与 abbreviation 的主战场;hyponym 常见于「查询上位、病历下位」(查询心血管疾病、病历写具体心律失常)。
  • 评测价值:最能暴露稠密模型与 BM25 的差距——语义泛化需求最高。
  • 工程提示:扩展词典优先覆盖高频慢病与肿瘤病种(住院谱系头部)。

36.2 操作类查询(procedure)

  • 种子:ICD-9 操作编码(手术与操作)。
  • 转写特征:术式名 → 标准化程度高的查询;病历里操作常以「术式名 + 日期」模板句出现。
  • 五类分布直觉:string 占比预期最高(术式名逐字出现);abbreviation 次之(ERCP、CABG 类缩写高频)。
  • 评测价值:检验检索器的「模板句鲁棒性」——相关证据常被埋在大量同模板句子里。
  • 工程提示:注意操作与适应症之间的 implication(查 CABG、病历只详述术后病程)。

36.3 药物类查询(drug)

  • 种子:PRESCRIPTIONS 表的 NDC 编码,映射通用名/商品名。
  • 转写特征:药名查询,拼写规范、歧义低。
  • 五类分布直觉:string 最强(药名逐字入文);implication 最集中(药⇒适应症推理)。
  • 评测价值:论文「BM25 药物类鲁棒」结论的载体——是检验「词汇匹配够不够用」的天然对照组。
  • 工程提示:药物类 implication 扩展直接用药典(药-适应症映射表),收益立竿见影。

§37 SPR 与 MPR 的工程实现详述

  • SPR 实现:对每条查询定位其患者笔记的语块子集(由 hadm_id → 笔记 → 语块链),仅在该子集内排序取指标。索引可全库统一,评测时按作用域过滤。
  • MPR 实现:全库 16,550 语块统一索引与检索;注意近似检索(ANN)的召回损耗——小库可用暴力扫描消去索引误差。
  • 指标分母差异:SPR 的 rank 以子集计,MPR 以全库计;两套数字绝不可互相代入。
  • 负载差异:SPR 单查询扫描量约为 MPR 的 1/1000(一份笔记十几个块 vs 全库),批量评测成本估算时别按同一系数。
  • 实现陷阱清单:作用域过滤漏做(SPR 变相 MPR)、chunk_id 命名空间混用、query-patient 映射表缺失、ANN 参数不一致导致两设定误差不同。
  • 复现实操:官方 eval.py 已封装两设定;自研时先在 SPR 上对齐官方 BM25 数字,再扩展 MPR。

§38 与库内条目的组合使用剧本

  • 剧本 A(临床 RAG 系统立项):EHRSQL(713) 定「取数层」需求 → CliniQ 定「文本检索层」评测 → EHRXQA(646) 补影像问答面。产出:全栈基准报告。
  • 剧本 B(检索模型论文):CliniQ 主实验(SPR+MPR+五类分项)→ ArcheHR-QA(1000) 做人工标注外部验证 → BLUE(478) 补理解任务泛化性。产出:方法 × 三基准论文骨架。
  • 剧本 C(数据合规教学):MIMIC-III(106) 讲上游权限 → CliniQ 讲「清单+脚本复现」发布模式 → EHRShot(11) 讲少样本派生 → i2b2-n2c2-nlp(14) 讲历史任务演化。产出:隐私受限域数据工程课程包。

§39 英中术语快查(缩写对照)

  • EHR = 电子病历;SPR = 单患者检索;MPR = 多患者检索;MRR = 平均倒数排名
  • NDCG = 折损累计增益;MAP = 平均精度均值;CoT = 思维链提示
  • qrels = 相关性判定集;chunk = 语块;query = 查询
  • ICD-9 = 国际疾病分类第九版;NDC = 美国国家药品代码
  • DUA = 数据使用协议;ANN = 近似最近邻检索
  • RRF = 倒数排名融合;NLI(不适用本条目,仅防混淆——CliniQ 不做自然语言推理)

§40 复现包清单(交给下一位工程师的最小集合)

  • hadm_id 清单(1,000 行,来自 GitHub 或 HF)
  • preprocess.py(官方版,勿改切块逻辑)
  • benchmark/ 六文件(queries × 3 + qrels × 3)
  • eval.py 与其依赖说明
  • 本地 MIMIC-III v1.4 访问凭据(自备)
  • 一份 20 项自检清单(§27)的勾选记录
  • 评测报告模板(§24 末行五要素)

§41 结语

CliniQ 用 1,000 份出院小结、1,246 条查询与 77,206 条带类型标签的相关性判定,把「医疗检索到底难在哪」从感觉变成了可测量的问题结构:字面好办、词典可学、层次需知、隐含靠推理——四层阶梯上的每一层,现在都有公开分数可以对着打。它对工程团队的直接馈赠是一份反直觉的选型结论(通用胜专用、BM25 不死、RRF 最优),对研究社区的长期馈赠是 implication 这堵公开的墙。在 MIMIC 衍生基准的星系里,EHRSQL 管推理取数、EHRXQA 管影像问答、CliniQ 管文本检索——三轴合一方是病历智能的完整测试面。获取门槛(PhysioNet 权限 + 脚本自产语料)筛掉的是围观者,留下的是真正要打这堵墙的人。

§42 常见工程问答(Q&A 十五条)

  • Q1:语料生成后可以微调切块参数(如 120 词)吗? 不可以——corpus_id 与 qrels 的对齐依赖官方切块;改参数等于换数据集。
  • Q2:能只用 qrels 不建语料吗? 可以。相关性判定训练/校准类研究不需要语料正文;但检索评测必须建索引。
  • Q3:BM25 用哪个实现最省事? 任何标准实现皆可(rank_bm25、Anserini、Elasticsearch BM25);参数 k1/b 用默认即可起步。
  • Q4:稠密模型选多大合适? 论文口径第四代最优但最贵;工程上第三代(BGE 级)性价比拐点,先跑第三代再评估是否上第四代。
  • Q5:SPR 需要 ANN 索引吗? 不需要——单患者语块量太小,暴力扫描更准更快。
  • Q6:MPR 需要 ANN 吗? 16,550 块暴力扫描也很快;ANN 的召回损耗在小库上得不偿失。
  • Q7:五类标签可以做多分类训练吗? 可以(Apache-2.0 允许),但注意类间非有序,输出头用 softmax 分类而非回归。
  • Q8:能把 CliniQ qrels 与其他基准 qrels 拼起来训练吗? 谨慎——标签语义不同(类型 vs 等级),需设计映射并声明混合策略。
  • Q9:评测脚本输出和论文数字对不上怎么办? 先查 §27 清单(切块、映射、设定、编码方式),再查 MIMIC-III 版本,最后邮件作者。
  • Q10:想在中文病历上用怎么办? 流水线思想可迁移(§29 开放问题 3),但查询/语料/qrels 全需重建,中文病历获取另有合规路径。
  • Q11:报告里必须写哪些环境信息? BM25 实现+参数、稠密模型名+版本+维度、截断深度、SPR/MPR、种子与温度(若用 LLM 扩展)。
  • Q12:能拿 CliniQ 训练再拿它评测吗? 不能作为主结果——需划分训练/评测子集并声明;直接全量训练后同库评测属自欺。
  • Q13:qrels 有没有「不相关」标签? qrels 只记录相关对(五类);不相关以缺席表达——评测时须把缺席当作负例处理。
  • Q14:一份数据能同时支撑论文和产品选型吗? 能——论文用分项严谨口径,产品选型看 §7.4 矩阵与 RRF 结论,同源不同读法。
  • Q15:发现 qrels 疑似错标怎么办? 收集案例发作者邮箱;在论文中做人工复核子集报告(抽样复核是标准做法,CliniQ 自己也是这么验证的)。

§43 术语首现位置索引(正文导航)

  • 语义鸿沟五类定义:§1 Q5、§5.4 表
  • LLM 标注流水线:§4.3-4.4
  • SPR/MPR:§1 Q6、§5(评测协议)、§37
  • BEIR 格式差异:§5.2
  • 获取五步:§6.2
  • 三条核心结论:§7.2
  • RRF 与 89.92:§7.3(含存照指引)
  • 八坑:§10
  • DAIMS:§11
  • 互链与 rid:§8、§22、§38
  • 指标原理:§31
  • 合规:§6.4、§28

(正文完。)

§44 检索质量诊断决策树(工程排障用)

  • 症状:总 MRR 接近 BM25 基线,稠密侧毫无增益

    • 查 1:query/passage 是否同塔编码(编码方式接错会抹平语义增益)。
    • 查 2:嵌入是否截断(前缀 prompt 挤占 100 词语块预算)。
    • 查 3:相似度方向是否接反(余弦 vs 内积、归一化与否)。
    • 查 4:评测作用域是否正确(SPR 误用全库会把差距淹没在 distractor 里)。
  • 症状:synonym 分项意外地低

    • 查 1:模型是否过旧(词向量/静态嵌入代际)。
    • 查 2:查询转写是否过短致语义漂移(对照 qrels 中的典型对)。
    • 查 3:是否忘了大小写/拼写归一。
  • 症状:string 分项低于 BM25

    • 这几乎必然是实现 bug:稠密模型不该输给词汇重叠;查 tokenization 与索引对齐。
  • 症状:药物类分数全面偏高

    • 不是 bug——药名逐字入文是数据特性;把药物类当「健康检查」分项即可。
  • 症状:implication 分项接近随机

    • 属当前 SOTA 常态(§7.2 结论三);改善它才是贡献,排查它不是。
  • 症状:SPR 好、MPR 崩

    • 查跨患者区分:MPR 需要的判别粒度更粗(患者级)而非更细;考虑两级检索(先患者后语块)。

§45 隐含之墙作战手册(implication 专项)

  • 战术 1(查询侧扩展):LLM 把 disease 查询扩出一线药物/典型检查/并发症词面,扩并入 BM25 或多查询稠密。成本最低,先做。
  • 战术 2(图谱侧扩展):UMLS/药典关系边两跳扩展;比 LLM 扩展可控,实体链接是瓶颈。
  • 战术 3(训练侧对齐):以 qrels 的 implication 子集微调相关性模型(可用 qrels 训练,Apache-2.0);注意留出评测子集(Q12)。
  • 战术 4(重排侧补救):cross-encoder 对 (查询, 100 词语块) 短对做精判,implication 是重排最能发挥的区段。
  • 战术 5(混合梯队):RRF 融合保证下限 → 扩展/图谱抬 synonym-hyponym → 重排专攻 implication 头部。
  • 度量纪律:所有战术只认 implication 分项的变化,总 MRR 变化不作为该专项的成败判据。
  • 文献定位建议:凡在 CliniQ 上报 implication 改善的工作,务必附错误分析——这堵墙的剩余结构(哪些隐含关系仍失败)比分数本身更有科学价值。

§46 版本与维护声明

  • 本条目数据口径冻结于 2026-10-17 成稿时点;基准若发布 MIMIC-IV 版或 leaderboard,应触发条目更新。
  • 遗留疑点清单(§21)为后续接管代理的续作入口;更新时优先核四项:论文表格精确分数、qrels 逐类分布、候选策略细节、作者中文用字。
  • 拼接指纹自检见成稿目录汇报;任何对成稿的修改应重跑 check_md.py + preflight_check.py 双零自检。

§47 五类匹配 × 临床检索场景映射

把五类匹配放回真实临床工作流,检验基准的任务效度——每一类对应医生哪个「找」的动作。

  • 场景 1(查房快查,string/abbreviation):主治医生在查房中要立刻调出某患者的 PT/INR 记录。查询是缩写形态,病历检验段是缩写形态——词汇匹配即可胜任。对应 CliniQ 的 string/abbreviation 分项。
  • 场景 2(病历回顾,synonym):接诊医生浏览既往史,查询「心梗史」,病历写「myocardial infarction(2019)」。需同义映射。对应 synonym 分项。
  • 场景 3(入科评估,hyponym):查询「心律失常病史」,病历只写了具体诊断「阵发性房颤」。需要分类树把下位归入上位。对应 hyponym 分项。
  • 场景 4(用药安全审查,implication):药师检查某患者是否适合用二甲双胍,需检索「糖尿病诊断」——而证据可能只是用药清单里的降糖药与 HbA1c 值。对应 implication 分项,也是真实临床风险最高的场景。
  • 场景 5(科研筛人,MPR 全谱系):研究者要从病案库筛「2 型糖尿病合并 CKD」队列——查询同时含疾病与并发症,需 MPR + 多类匹配混合命中。MPR 设定的真实原型。
  • 结论:五类不是学术切分游戏,而是临床检索需求的天然分层;基准效度由此立住。场景 4 与场景 5 也是 implication 研究的应用牵引——它不只是「最难」,还是「最要命」。

§48 统计画像深读:数字之间的隐含结构

  • 16,550 ÷ 1,000 ≈ 16.55 块/小结:出院小结均长约 1,655 词,符合该文书类型的典型篇幅——抽样未见极端偏斜的证据(精确分布未核,存 §21 疑点 2 同源)。
  • 77,206 ÷ 1,246 ≈ 61.9 判定/查询:平均每条查询有约 62 个语块被判定。相对于 16,550 的全库规模,判定率约 0.37%——印证「先召回后精判」的候选策略(§4.3 第 2 点),也解释了为何 LLM 标注成本可控。
  • 1,246 ÷ 3 ≈ 415/类(粗均):三类查询若大体均衡,每类约四百条;真实分布未核(遗留疑点 2),但三类都达到了可做稳定分项统计的量级。
  • 0.985 的含义再量化:Kappa 0.985 意味着在剔除随机一致后,LLM 与专家的分歧残余不足 2%——对 77,206 条判定而言,即约千余条边界对存在口径摇摆,它们大概率集中于 implication 与 hyponym 的边界(§15.4 语块 D 型)。
  • 规模对比再校准:TREC Medical Records 判定通常数千条级;77,206 条 + 类型标签使「逐类统计检验」在统计功效上成为可能——这是小规模人工基准做不到的。

§49 LLM 时代的检索:CliniQ 的位置

  • 对 RAG 的意义:RAG 的效果上限常由检索层决定;CliniQ 提供了临床域检索层的第一个公开标尺——「检索不稳,生成白搭」在医疗场景尤其成立(错误证据比无证据更危险)。
  • 对 LLM 检索器(如 LLM 重排/生成式检索):短语块输入对 LLM 重排极其友好(§23.7);CliniQ 是检验「LLM 当检索器/重排器」在临床域是否划算的低成本试验场。
  • 对嵌入模型训练者:五类 qrels 是免费的困难负样本/正样本源——string 对易、implication 对难,课程学习(curriculum)式的训练配方可以直接按类型分层设计。
  • 对 Agent 化临床问答:Agent 的「查证据」工具调用质量可用 SPR 设定单独回归;CliniQ qrels 相当于现成的工具测试断言集。
  • 风险提示(对称面):LLM 标注 + LLM 评测 + LLM 检索的全链路同源化,可能让基准分数与真实临床价值脱钩——披露与异源验证(§18)是解毒剂。

§50 条目质量自检记录(写作侧)

  • 存在性核验:三源互证(arXiv 摘要页 / GitHub README / HF 数据页),核心数字(1,000/16,550/1,246/77,206/0.985/五类/两设定)三源一致;WebSearch 1 次 + WebFetch 1 次,预算内(≤3/≤6)。
  • 查重:DB 精确与模糊(ILIKE ‘%cliniq%’)零命中;dedup_gate 两项 HIT 均为自建状态,非撞库;writing/ 无同名他稿。
  • 开工三查:锁已建(agent-f-cliniq);私有区唯一(.parts_agent-f-cliniq_<ts>_<pid>);ps codebuddy 计数 4(留痕)。
  • frontmatter 自检:YAML safe_load 通过(part1 阶段已验,拼接后复验);title 带站点后缀;description ≤170 字符;块式列表逐项带 - 前缀;双引号内无英文直引号。
  • 行数:目标区间内(拼接后实测见汇报指纹),未灌水——补充内容为工程指南/案例/方法论节(R025 建议方向:实操清单、案例解剖、误解澄清、速查卡均已落地)。
  • 互链:全部 URL 占位 /0;rid 仅以文字形式列于 §8/§22/§38 供回填;frontmatter 无互链说明文字(R012)。

§51 医疗信息检索小史:CliniQ 的来路

  • 史前(2000s):医疗 IR 依托 TREC 体系演化,Medical Records track(2009-2012)确立「visit 级文档 + 人工评估」范式;此后公开评测断档近十年。
  • EHR 时代(2010s):MIMIC-III(2015 前后公开)让真实住院数据进入研究视野,但隐私分发制使「派生基准」成为唯一合规路线——EHRSQL、EHRXQA 等问答基准相继出现,检索向始终空缺。
  • 稠密检索革命(2020-2023):BERT 双塔 → 对比预训练 → 大嵌入,通用域检索快速换代;医疗域只有 MedCPT 等少数尝试,且缺乏公开基准验证「专用是否真专用」。
  • LLM 标注成熟(2023-2024):GPT-4 级模型的 CoT 判定在多个评测任务上逼近人类一致性,使「LLM 做基准标注员」从权宜之计升级为方法论。
  • CliniQ(2025):三条线的交点——MIMIC 提供合规语料、稠密革命提供被测对象、LLM 标注提供规模可行性。它不是凭空出现,而是三条技术曲线的必然交点;这也是它一发布即被第三方(DR.EHR)接入的原因:需求已经等待很久。
  • 对后续的预言性:论文把 implication 定为 frontier——随着 LLM-RAG 在医疗落地,这条判断在随后两年被反复验证(临床 RAG 的失败案例分析里,证据定位失败是最常见根因之一)。

§52 RRF 为什么赢:机制细读

  • 机制:RRF 对每路检索的排名取倒数(1/(k+rank),k 常取 60)后求和重排。它只看排名不看分数——免调参、免分数归一,对异质检索器(BM25 的 tf-idf 分数 vs 余弦相似度)天然兼容。
  • 为什么在 CliniQ 上特别有效:五类匹配恰好是「每类都有至少一路擅长」的结构——string/abbreviation 由 BM25 兜底,synonym/hyponym 由稠密兜底,RRF 的融合使方法互补直接转化为匹配类型覆盖。
  • 为什么胜过加权融合:加权需要分数尺度对齐(BM25 分数与余弦值不同分布),调参成本高且易过拟合查询子集;RRF 的排名不变性绕开了整个校准问题。
  • 失败模式:当两路在某查询上「强强都错」(典型即 implication——BM25 找不到、稠密也不确定)时,RRF 无法无中生有;这解释了 RRF 仍是「总体最优」而非「全面最优」,implication 分项上它也只是「弱中之强」。
  • 工程备注:k 值不敏感是 RRF 的优点也是隐患——不敏感意味着无法用它精细调优;要挤最后 1-2 个点,得靠重排而非融合层。
  • 可迁移性:RRF 的成功不依赖 CliniQ 特性,医疗之外的垂直域(法律、金融文档)若同样「字面+语义双强需求」,RRF 同样是默认起手式。

§53 五类标签的训练利用手册

qrels 的类型标签是免费的监督信号。按训练目标给出用法。

  • 用途 1(二分类相关性模型):五类全并类为正例,缺席为负例;负例从「未被判定的候选」采样——注意采样偏差(未判定 ≠ 判定不相关)。
  • 用途 2(难度分级课程学习):按 string→synonym→abbreviation→hyponym→implication 排序做课程式训练,先易后难;或反向做「难例优先」的 hard-negative mining——implication 对是最好的 hard positive。
  • 用途 3(类型感知嵌入):把匹配类型作为多任务头,让编码器显式学习「为何相关」;适合 want-of-interpretability 的场景。
  • 用途 4(LLM-judge 校准集):77,206 条 LLM 判定本身就是「LLM 判定分布」的样本,可用于校准其他 LLM-judge 的提示与温度。
  • 用途 5(检索器蒸馏):用强检索器在 CliniQ 上的排名作为教师信号,蒸馏给轻量学生模型;分项输出可做逐类型蒸馏加权。
  • 纪律:任何训练用途都必须保留干净评测子集并在论文声明(Q12);训练子集与评测子集的划分应按 hadm_id(患者级)切分而非语块级,防患者内泄漏。

§54 MIMIC 衍生基准家族对照表

基准 库内 slug(rid) 底座 任务轴 标注方式 输出形态
CliniQ cliniq MIMIC-III 笔记 文本检索 GPT-4o + 人工验证 排名指标 + 五类分项
EHRSQL ehrsql(713) MIMIC-III/IV 结构化 Text-to-SQL 问答 人工问题集 执行准确率 + 可靠性
EHRXQA ehrxqa(646) MIMIC-CXR + 结构化 多模态问答 模板+人工 QA 准确率
ArcheHR-QA archehr-qa-bionlp-task-2025(1000) EHR 笔记 证据检索+问答 人工(共享任务) 证据定位 + 答案指标
EHRShot ehrshot(11) MIMIC-IV 派生 少样本预测 结构化标签 少样本 AUROC 等
BLUE blue-benchmark(478) 生物医学文本 语言理解 人工 分类指标
  • 读表要点:家族成员在「底座×任务轴×标注方式」三维上互不重叠又互为补充——这就是隐私受限域基准生态的正确形态:一个权限制上游,多个公开派生基准各占一个任务轴。
  • 选基准的口诀:找文本用 CliniQ,取数用 EHRSQL,看片用 EHRXQA,找证据段落用 ArcheHR,少样本预测用 EHRShot,理解评测用 BLUE。
  • 对侦察/规划者的提示:该家族的空白轴包括——时序检索(跨住院时间线)、多语言病历、医患对话检索;这些是候选派生基准的开放生态位。

§55 阅读地图(全条目导航总表)

想了解 直达小节
一句话定位 INFOBOX、§0
十问速通 §1
构建流水线 §4(五步)
硬数字 §5.1、§11、§48
五类匹配详解 §5.4、§14、§47
获取与合规 §6、§27、§28
评测结论 §7(三条结论、强弱矩阵)
工程接入 §9、§23、§24、§37
互链条目 §8、§38、§54
坑点与误解 §10、§19
指标原理 §31
模型选型 §7.2、§23、§32、§52
教学素材 §25、§34
存照与疑点 §21、§50
历史脉络 §51

(全文完。)

§56 错误分析模板:发 CliniQ 论文的标配附表

凡在 CliniQ 上报告方法的论文,一个可信的错误分析应包含以下五张表/图。这份模板来自基准的设计意图反推。

  • 附表 1(方法 × 五类矩阵):行是匹配类型、列是方法,格内分项指标。缺此表等于没用 CliniQ 的核心资产。
  • 附表 2(SPR vs MPR 对照):同一方法双设定分数与排名变化;排名翻转处附一句归因。
  • 附表 3(查询类型交叉):disease/procedure/drug × 方法的分项;药物类的 BM25 表现应作为「实现正确性」的旁证。
  • 附表 4(Top-10 错误对人工抽读):从各匹配类型各抽若干漏检对,逐对标注失败原因(词面/语义/推理/标注噪声),并区分「模型错」与「qrels 边界对」。
  • 附表 5(训练数据重叠声明):模型预训练语料与 MIMIC 的重叠程度、采取的对照(无重叠模型基线)。
  • 审稿视角:五表齐备的论文,其结论可复核性远高于只报总 MRR 者;写手自检与审稿人检查共用此清单。

§57 与相邻任务的定位辨析

CliniQ 常被拿来与三类相邻任务比较,边界如下。

  • vs 自然语言推理(NLI):NLI 判「前提是否蕴含假设」,CliniQ 判「语块与查询是否相关且为何相关」。implication 分项形似 NLI,但相关判定不要求真值方向,只要求证据支持检索意图;两者语料与标签体系不可互替。
  • vs 问答(QA):QA 要答案,检索要证据位置。CliniQ 的查询没有答案字段;把 CliniQ 当 QA 用是坑 1 的变体。
  • vs 语义文本相似度(STS):STS 打连续相似分;CliniQ 的 implication 类恰恰证明「相关 ≠ 相似」——药名与病名的嵌入相似度可能中等偏低,但检索上强相关。这是「相关性≠相似性」的基准级实证。
  • vs 段落重排(reranking):reranking 可以用 CliniQ 做(§23.7),但基准的主设定是全库/笔记内检索,重排分数与检索分数不可直接对比。

§58 用 CliniQ 的论文审稿清单(审稿人视角)

  • [ ] 设定声明:SPR 还是 MPR?MRR@几?
  • [ ] BM25 锚点是否报告且实现可信(药物类分数作旁证)?
  • [ ] 是否报告方法 × 五类矩阵?
  • [ ] 模型是否在 MIMIC 系预训练/微调?重叠声明与对照是否存在?
  • [ ] 候选生成策略是否披露(若只对召回候选评测)?
  • [ ] qrels 类型→二值映射是否说明?
  • [ ] 训练/评测划分是否患者级(hadm_id)?
  • [ ] 错误分析是否区分模型错误与标注边界对?
  • [ ] 与通用 vs 专用模型的结论对话是否准确(不要复述「专用必强」的旧假设)?
  • [ ] 语料是否合规自产(未使用来路不明的第三方转发语块)?
  • 一句话:十条里缺三条以上,结论的可信度应打折。

§59 假想评测日历:两周接入计划样例

  • D1-D3:PhysioNet 申请提交(异步等待)+ 克隆仓库 + 通读 README + 搭 Python 环境。
  • D4-D5:权限到位前,用 qrels 做纯标注侧分析(类型分布、查询长度分布、每查询判定数分布)——不需要语料。
  • D6-D7:权限到位,跑 preprocess.py 生成 corpus.jsonl,过 §27 的 20 项自检。
  • D8:BM25 锚点(SPR+MPR),与论文方向校准。
  • D9-D10:接入 2-3 个稠密模型(第三代起步),产出方法 × 五类矩阵。
  • D11:实现 RRF,验证「总体最优」在你的环境复现。
  • D12:错误分析(§56 附表 4),抽读漏检对。
  • D13-D14:针对最弱分项做一次干预(查询扩展或重排),产出对照报告。
  • 产出物:一份含五要素声明的评测报告 + 团队内部的检索器选型结论。

§60 风险与依赖总览(项目视角)

  • 硬依赖:PhysioNet credentialed access(审批周期不可控)——全项目关键路径第一环。
  • 软依赖:嵌入模型算力(16,550 块规模小,单卡可跑);MIMIC-III 本地副本的数据库运维。
  • 数据风险:preprocess.py 与 MIMIC-III 小版本间的抽取差异(切块边界漂移)——用官方脚本 + 行数校验兜底。
  • 方法风险:MIMIC 训练泄漏(坑 8)与 LLM 同源化(§18)——用对照组与异源验证对冲。
  • 生态风险:无 leaderboard 导致横向比较依赖各论文自报口径——引用他人数字时逐条核对设定声明(§58 清单)。
  • 长线机会:MIMIC-IV 移植、多语言扩展、implication 专项(§29、§45)——三个方向都有清晰的论文形态与工程形态。

§61 终版要点回顾(五行带走)

  • CliniQ = 首个公开 EHR 实体检索基准:1,000 出院小结 / 16,550 语块 / 1,246 查询 / 77,206 判定 / Kappa 0.985。
  • 五类匹配(string/synonym/hyponym/abbreviation/implication)把语义鸿沟变成可测量轴。
  • 结论:BM25 强、通用稠密胜医学专用、RRF 最优、implication 是共同短板。
  • 获取:Apache-2.0 的 qrels/代码公开直链;语料 PhysioNet 权限 + 官方脚本自产。
  • 使用纪律:设定声明、分项报告、泄漏对照、合规再分发——四件事缺一即数字不可信。

(终版完。)

§62 十大使用反模式(反面教材合订)

  • 反模式 1(只报总 MRR):浪费五类标签的全部信息量;审稿人一眼看穿。
  • 反模式 2(SPR/MPR 混写一个数):两个难度结构的任务压成一个数字,复现者必然踩坑。
  • 反模式 3(绕过 PhysioNet 直接用转发语料):违规且不可复现;来源不明的语块与官方切块无法对齐 corpus_id。
  • 反模式 4(自行改切块再评):corpus_id 与 qrels 错位,评测作废。
  • 反模式 5(把 qrels 缺席当显式负例全量训练):未判定 ≠ 不相关,负例采样要受限并声明。
  • 反模式 6(在 MIMIC 预训练后不声明直接刷分):分数虚高且不可信;无重叠对照是最低配置。
  • 反模式 7(用「专用=强」的旧直觉选模型):论文已实证通用反超;选型应基于分项矩阵而非标签。
  • 反模式 8(把 Kappa 0.985 当 LLM 标注万能证):无前提外推;保留人工抽样闭环。
  • 反模式 9(引用转述数字不回原文核对):89.92 一类的转述口径须标明,否则以讹传讹。
  • 反模式 10(拿训练集同库自评):不做患者级划分的同库评测属无效结果。
  • 一句话总结:十种反模式对应十处纪律——它们共同构成「CliniQ 数字可信」的最低门槛。

§63 快速决策卡(我该不该用 CliniQ)

  • 你需要评测「在电子病历里找实体/证据」的检索系统?→ 用。
  • 你需要问答对训练数据?→ 不用(转 EHRSQL/EHRXQA)。
  • 你没有 PhysioNet 权限且短期拿不到?→ 先只用 qrels(相关性训练/校准可用),语料侧延后。
  • 你要做中文病历检索评测?→ 流水线可迁移,但需重建数据(§29 开放问题 3)。
  • 你要刷一个医疗检索 SOTA?→ 可以,但务必带五类矩阵与泄漏声明,否则社区不认。
  • 你在做教学/课程?→ 强烈推荐:三件套 + 分片标签是最适合教学的 IR 基准之一。

§64 条目词汇统计口径说明

  • 本条目所有规模数字(1,000 / 16,550 / 1,246 / 77,206 / 0.985)均锚定一手三源;派生推算(如 61.9 判定/查询、16.55 块/小结)已在文中标注「本文推算」。
  • 「约一个数量级以上」的 TREC 对比沿用论文自述,未做独立换算。
  • 日期均以 UTC 口径的 arXiv/GitHub 记录为准。
  • 机构与人名以英文一手拼写收录;中文转写处已逐一标注不确定性(§3)。
  • 所有转述源引用处均带「转述」标记,与一手口径显式区分(§20、§21)。

相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • medagentbench — 共享标签:电子健康记录 / 临床电子病历 / 医疗NLP / 医学问答与基准
  • archehr-qa-bionlp-task-2025 — 共享标签:电子健康记录 / 临床电子病历 / 医疗NLP / 医学问答与基准
  • ehr-reasoncon — 共享标签:电子健康记录 / 临床电子病历 / 医疗NLP / 医学问答与基准
  • ehr-notes-qa-llms — 共享标签:电子健康记录 / 临床电子病历 / 医疗NLP / 医学问答与基准
  • emrqa — 共享标签:电子健康记录 / 临床电子病历 / 医疗NLP
  • mimic-iv-ext-cardiac-disease — 共享标签:电子健康记录 / 医疗NLP / 医学问答与基准
  • radnli-report-inference — 共享标签:电子健康记录 / 医疗NLP / 医学问答与基准
  • synsum — 共享标签:电子健康记录 / 临床电子病历 / 医疗NLP / 医学问答与基准
  • cpic — 共享标签:电子健康记录 / 医学问答与基准
  • mimic-iii — 共享标签:电子健康记录 / 医疗NLP

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集