信息速览
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)从一句口头禅变成了可逐类统计的量化指标。
导语读法三则:
- 只想跑评测:直奔 §6 获取与许可——注意语料不能直接下载,须自持 PhysioNet 权限后跑 preprocess.py 复现。
- 关心检索模型选型:直奔 §7 评估结论——BM25 强基线、通用稠密反超医学专用、RRF 融合最优、implication 是硬骨头。
- 关心标注方法论:直奔 §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 读法三则:
- 这个条目是「基准数据集+标注方法论文+评测报告」三合一:本体是 corpus/queries/qrels 三件套,副产品是一套可复用的 LLM 标注流水线,结论是一份检索模型选型指南——三者获取方式不同(§6)。
- 全文统计数字均出自论文摘要、GitHub README 与论文转述源;二手转述处(如 SPR MRR 89.92)已在坑点存照,引用时注意口径。
- 检索时注意: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)
- 抽样:从 MIMIC-III 抽取 1,000 份出院小结(discharge summary)。出院小结是 MIMIC-III 中信息密度最高的笔记类型——一次住院的诊断、操作、用药、病程全部收束在这一份文档里,天然是「医生找信息」的主战场。
- 切块:每份按 100 词定长切块,共得 16,550 个语块。切块的意义是让相关性判定有确定的粒度:整篇出院小结可能同时与「糖尿病」「阑尾切除术」「阿司匹林」三条查询相关,整篇标注会把三种相关压进同一份文档,无法区分;100 词语块则可以精确回答「这个段落讲的就是这件事」。
- 分发约束:因 MIMIC-III 分发条款,语料不直接公开,改为公开 hadm_id 清单 + preprocess.py。任何人自持 PhysioNet credentialed access 后一条命令即可逐字复现 corpus.jsonl——这保证了对 MIMIC 合规的零破坏,同时不牺牲可复现性。
4.2 查询构建(Query Curation)
- 种子来源:MIMIC-III 结构化数据的两类编码——ICD-9 疾病编码、ICD-9 操作编码(合为疾病/操作两类查询),以及处方表的 NDC 药物编码(药物类查询)。共得到 1,246 条唯一查询。
- 转写:GPT-4o 把编码(如 ICD-9 250.00)转写为自然语言查询(如 diabetes mellitus without complication 一类的表述)。转写模拟的是真实检索行为:医生不会在检索框里输入编码,而是输入病名、药名、术名。
- 三分结构:queries 按疾病/操作/药物三分存储(disease/procedure/drug),qrels 与之同构。这个设计让分项评测成为一等公民——你可以单独报告「药物查询上的 MRR」,而不必自己重新切分数据。
4.3 LLM-as-a-judge 标注(Annotation)
- 标注员:GPT-4o,配 Chain-of-Thought(CoT)提示——先推理「这条查询在问什么、这个语块在说什么、两者在哪个层面相关」,再输出判定。CoT 在这里不是装饰:implication 类判定(「Metformin 出现 ⇒ 与 diabetes 查询相关」)需要一步医学推理,无 CoT 的直接分类会显著退化。
- 任务量:逐(查询 × 语块)对判定,产出 77,206 条相关性标签。注意这远小于 1,246 × 16,550 的全笛卡尔积——团队显然使用了候选生成/筛选(如先用 BM25 或向量召回缩小判定范围),只对候选对做全量标注;候选策略的细节以论文正文为准(本条目成稿时未逐句核对,存为待核)。
- 标签体系:五类自由文本——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 完整获取路径(五步)
- 申请 PhysioNet 权限:在 physionet.org 完成 MIMIC-III 的 credentialed access 申请(CITI 培训 + 签署数据使用协议 DUA)。这是整条路径里唯一需要人工审批的环节,通常数天到数周。没有这一步,基准无法使用——因为语料必须自产。
- 克隆仓库:
git cloneGitHub zhao-zy15/CliniQ,得到 benchmark/(queries + qrels 三分)、preprocess.py、eval.py、LICENSE(Apache-2.0)。 - 自产语料:在本地 MIMIC-III 数据库副本上运行 preprocess.py,传入 1,000 条 hadm_id 清单,脚本抽取出院小结、按 100 词切块,产出 benchmark/corpus.jsonl。至此三件套齐备。
- 跑基线:BM25 等稀疏方法可直接在 corpus + queries 上建索引评测;稠密方法用官方 eval.py,按 README 说明选择嵌入函数(注意 query 与 document 是否需要分别编码)。
- 解析输出: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 许可使用注意(合规清单)
- 不要在衍生分发中夹带语料:即使你在自产 corpus 上训练了模型或建了索引,对外发布时只能发布 hadm_id 清单 + 重建脚本(CliniQ 自己就是这么做的),不能发布语块文本。这是 MIMIC DUA 的标准要求。
- Apache-2.0 层可以商用:queries、qrels、代码均为 Apache-2.0,商业检索系统用它做内部评测无许可障碍。
- qrels 是最 valuable 且最 free 的部分:77,206 条标注完全公开——如果你的研究只需要相关性判定(例如训练相关性模型、做 LLM-judge 校准),甚至可以不碰 MIMIC 语料,直接下载 qrels 使用。
- 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 参评方法谱系
论文覆盖了从最朴素到最前沿的完整光谱:
- 精确匹配 / 词汇稀疏方法:BM25 及精确匹配基线——检索世界的「必打对手」。
- 知识图谱查询扩展:把查询经由医学知识图谱扩写后再检索——针对同义词/缩写鸿沟的传统武器。
- 医学专用稠密检索器:MedCPT 等——在 PubMed/医学语料上训练的检索模型,业界默认的「专用强于通用」假设的载体。
- 通用域稠密检索器:NV-Embed-v2、BGE 系等——在海量通用文本上训练的嵌入模型。
- 混合融合: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 给评测者的三条操作建议
- 先跑 BM25 定锚:它是论文认证的强基线,你的新方法必须明确超过它才值得讨论。
- 必报匹配类型分项:总 MRR 掩盖了「同义词已解决、implication 未解决」的关键差异。
- 区分 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 的展开)
- 拿到权限:physionet.org → MIMIC-III → credentialed access。授权邮件里的凭证即你的数据库访问凭据。
- 克隆基准仓库:GitHub zhao-zy15/CliniQ。确认目录里有 benchmark/(queries 与 qrels 六个文件:disease/procedure/drug 各两组)、preprocess.py、eval.py、LICENSE。
- 生成语料:按 README 指引运行 preprocess.py,输入为本地 MIMIC-III 与 hadm_id 清单,输出为 corpus.jsonl(16,550 行语块)。生成后先自查行数与抽样语块内容——preprocess 的正确性由你自己的运行保证。
- 跑 BM25 锚点:用任意标准 BM25 实现(或仓库自带基线)建索引,得到你的环境复现分数。与论文口径对不上时优先检查切块与 qrels 加载是否正确。
- 跑稠密与融合:接入 eval.py,选择嵌入函数(注意 query/document 是否异构编码——README 特别提醒),得到分项输出;再实现/调用 RRF 融合对照。
9.3 评测接入的四个工程细节
- qrels 的类型标签要先映射:五类自由文本对标准 IR 工具不透明,先转成二值相关(match_type ∈ 五类 ⇔ relevant=1)再喂 pytrec_eval 类工具;官方 eval.py 已内置该逻辑,自研管线别忘了。
- SPR 与 MPR 分开建评测集:SPR 的候选池是「该患者笔记的全部语块」,MPR 是全库;两者的 rank 深度与分母不同,混用会产生虚高或虚低。
- 分项输出别丢:eval.py 的查询类型 × 匹配类型交叉输出是 CliniQ 的信息核心;只留总分等于白跑。
- 嵌入模型的双塔检查: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 扩展玩法(研究机会清单)
- MIMIC-IV 移植:用同流水线在 MIMIC-IV-Note 上造 CliniQ-IV(换 ICD-10),论文级工作量、明确的增量。
- implication 专项:只用 implication 子集做评测/微调,攻「隐含之墙」;知识图谱注入(把药-适应症、症状-疾病关系喂进查询扩展)是最直接的对位药。
- LLM-judge 方法学:以 ClinIQ 的 0.985 Kappa 设置为锚,研究提示词扰动、模型换代(GPT-4o → 后继模型)对标注稳定性的影响。
- RAG 检索器选型报告:把临床 RAG 的检索组件在 CliniQ 上过一遍(BM25 / 通用稠密 / 医学稠密 / RRF),产出工程白皮书。
- 跨语言迁移:把 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 来源清单(成稿依据)
- 一手来源 1:arXiv:2502.06252 摘要页(v1 2025-02-10 / v2 2025-04-08;作者与摘要全文)—— https://arxiv.org/abs/2502.06252
- 一手来源 2:GitHub zhao-zy15/CliniQ README 与仓库元数据(规模数字、格式说明、许可、引用块、commit 史)—— https://github.com/zhao-zy15/CliniQ
- 一手来源 3:HuggingFace THUMedInfo/CliniQ 数据页(获取口径镜像)—— https://huggingface.co/datasets/THUMedInfo/CliniQ
- 转述来源 4:lacuna 站论文解读页(77,000+ 判定、通用>专用、RRF 89.92 转述、implication frontier 表述)—— https://lacuna.tiptreesystems.com/work/evaluating-entity-retrieval-in-electronic-health-records-a-semantic-gap/
- 转述来源 5:alphaXiv 论文页(摘要镜像、机构署名)—— https://www.alphaxiv.org/overview/2502.06252v2
- 转述来源 6:selectdataset 页(中文简介;其「2018 年」表述经交叉证伪弃用)—— https://www.selectdataset.com/dataset/4d04f9826af4f0deb719e89451fff86a
- 说明:三源互证以来源 1/2/3 为准;来源 4-6 仅用于补充与存照,凡与之冲突一律按一手口径。
§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
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

