信息速览
临床上真正值钱的判断,常常不是病历里写出来的那句话,而是那句话往前推的半步。"血红蛋白 7.2"没有出现"贫血"两个字,可它就是贫血;"BMI 37"没有宣称任何疾病,可它正好落在肥胖分类的编码区间里。美国的住院结账流程要求把一次住院翻译成一组 ICD-10 编码,而这组编码里有相当一部分从来没有被医生明文写下。项目方在 Background 里引用的文献也指出,结构化字段对病情的记录不足是常态。
自动编码模型的分数这些年涨得很快,但涨在一个隐蔽的前提上:主流评测集里多数正例都能在病历里找到同义词或近似字符串。模型学会的是"匹配",不是"推断"。更难办的是反方向——一个看起来像、说起来也像、却并没有被这次住院记录下来的编码。"肥胖"与"BMI 30–39"只差一层分类口径,"这次住院诊断了"与"这位患者既往有"只差一句话。两件事混在一起评,模型的真实水平就说不清了。
MIMIC-IV-Ext-MedicalBench 是 Optum AI 团队为这个缺口做的一把尺子。它把概念抽取改写成一道核验题:给定一份出院小结和一个候选 ICD-10 概念,判断这份病历到底有没有支持这个概念;被支持的还要指出句子级证据,并给出一句医学理由。它的挑题方式很反常——专门挑"两个大模型都说不相关、而负责编码的人却在账单上写了这个码"的那些病例,用机器与人之间的分歧本身当筛子。最终成型的 405 例里,167 例是人工核定的正例、238 例是负例。它不是训练集,官方明确写着不适合大规模训练或微调。想拿海量数据做预训练的团队用不上它,想给自动编码系统做压力测试的团队很需要它。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全名 | MIMIC-IV-Ext-MedicalBench: Evaluating Large Language Models Towards Improved Medical Concept Extraction |
| 发布方 | PhysioNet;内容与标注由 Optum AI 团队制作 |
| 首次发布 | 2026 年 3 月 23 日,版本 1.0.0 |
| 最近改动 | 无后续版本;Release Notes 仅有一条"初次公开发布" |
| 样本规模 | 405 例病例与候选概念的配对 |
| 标签构成 | 167 例核定正例、238 例核定负例 |
| 标注人员 | 9 名受过医学训练的独立标注者,每例由 2 人各自过一遍 |
| 文本来源 | MIMIC-IV-Note v2.2 的去标识出院小结 |
| 概念来源 | MIMIC-IV v3.1 结构化部分的 ICD-10 诊断与操作编码 |
| 配对单位 | 一次住院一张小结,配该次住院的全部候选编码 |
| 证据粒度 | 句子级;发行主表内以字符偏移给出 |
| 推理标注 | 每例附一句简短临床理由 |
| 文件格式 | CSV 标注主表 + Python 预处理与推理脚本 + Shell 启动脚本 |
| 评测口径 | A 路核验用的是微平均精确率、召回率、F1;B 路句子级证据召回用宏平均 |
| 许可 | PhysioNet 凭证化健康数据许可 1.5.0,须完成 CITI 培训并签数据使用协议 |
| 典型用途 | 医疗大模型的概念核验评测、证据溯源评测、隐性与近似负例的难度评测 |
§1 它要解决的具体麻烦
1.1 三种"支持",过去被当成一种
官方在方法部分把每一对「病例—候选概念」先分成三类:Explicit(病历里有明确文本支持)、Implicit(需要临床推断才成立)、Unrelated(没有支持)。这三类在以往评测里被压成了一维的对错,模型的真实短板因此永远看不出来。
| 类别 | 官方定义 | 官方举的例子 | 模型为什么容易错 |
|---|---|---|---|
| Explicit 显式 | 文本里就有可直接对应的片段 | 概念名或近义写法出现在小结中 | 不易错,字符串层面的检索就能做对 |
| Implicit 隐性 | 需要一次临床推断才成立 | 血红蛋白偏低指向贫血;BMI 37 指向肥胖 | 需要把检验值翻译回诊断语义 |
| Unrelated 无关 | 病历不支持这个概念 | 与该次住院无关,或只出现在既往史里 | 必须排除"看起来相关其实没记"的情形 |
它的价值集中在后两类,尤其是隐性这一类:模型得先读懂一个数值或一句体征,再把它翻译成 ICD-10 的语义,然后才谈得上判断支持与否。缺了这一跳的模型,会在显性样例上拿满分、在真实账单上大面积出错。
1.2 三个被混为一谈的能力
| 能力 | 问法 | 答案形态 | 本基准是否考察 | 评分方式 |
|---|---|---|---|---|
| 开放式概念抽取 | 这份病历该给哪些码 | 一个编码集合 | 不直接考察,候选需自备 | 无内建口径 |
| 概念核验 | 这个码被这份病历支持吗 | True 或 False | 考察,覆盖全部 405 例 | 微平均精确率、召回率、F1 |
| 证据溯源 | 凭哪几句支持 | 句子集合 | 考察,限有金标准证据的子集 | 宏平均句子级召回 |
把核验而不是抽选取作任务形式,是一个刻意的取舍:开放式抽取的分数会被"候选池多大"“允许多标签贪心输出"这类工程选择搅乱,而核验把候选固定下来,分数差异只来自语义判断。代价是它回答不了"你的系统漏掉了哪些码”——漏召回的能力得另找数据去测。
1.3 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 你在做编码模型,分数到瓶颈,想知道卡在哪里 | 把样例按显式与隐性分开打分,短板的位置会直接显形 | 先按 §5.3 跑通预处理,再分两类样例各评一次,比较差值 |
| 你在给大模型加"引用依据"功能 | B 路的句子级召回给你一个可对照的外部基准 | 注意官方金标准是句子集合,你要自己定义句子切分口径 |
| 你在比选医疗大模型,需要一个口径公开的任务 | 任务定义与评分公式全部公开,可自行复算 | 405 例规模太小,不宜作为唯一依据,应配合更大规模评测 |
| 你在做标注方法论研究 | 官方写清了双人独立标注、分歧裁定、无法裁定即剔除 | 可把它当作临床标注协议的参考范本 |
| 你想微调一个小型编码模型 | 无 | 不合适,官方明确排除大规模训练与微调用途 |
1.4 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 判断模型能否识别隐性记载 | 大量隐性正例,附证据与理由 | 够,这是它最核心的部分 |
| 判断模型能否顶住近似负例的诱惑 | 两类专门构造的难负例 | 够,负例共 238 例 |
| 评估证据溯源能力 | 句子级金标准证据 | 够做对照,但要自己对齐句子口径 |
| 训练一个自动编码模型 | 无 | 不够,官方明确排除训练与微调用途 |
| 评估开放式产出完整编码集的能力 | 无 | 不够,任务是给定候选的核验 |
| 多中心泛化性评测 | 无 | 不够,上游为单一院区来源 |
| 中文或其他语言病历的评测 | 无 | 不够,全文为英文临床笔记 |
| 生成可直接用于结账的编码 | 无 | 明确不够,官方说不适合直接临床或计费使用 |
1.5 一句话判断
它不是"更多的数据",而是"更难的题":专挑模型已经答错、而且错得很一致的地方出题,用来把"会匹配"和"会推断"这两种能力分开。
1.6 不适合谁:四条边界
不适合拿去做训练或微调。 官方 Intended Usage 段写明:本数据集面向的是评测,不是大规模模型训练或微调;它刻意做小、刻意做难,不以覆盖广度为卖点。
不适合拿去做上线前的唯一验收依据。 在 405 例这个量级上,个别样例的归属会明显改变总分;而且样例是按"模型与人对不齐"挑出来的,天然比真实分布更难,分数不能直接换算成临床系统里的表现。
不适合支撑跨院区、跨语言的泛化结论。 上游是单一来源的去标识数据,来源院区的书写习惯、编码习惯与病种构成都被带了进来。
不适合直接用于真实临床或账务决策。 官方在使用说明与伦理说明里两次强调:仅限研究与评测;模型在这把尺子上的输出,未经充分验证不得用于真实诊疗场景。
§2 数据构成与规格
2.1 发行包里有什么
官方 Data Description 段描述了发行包的三组内容:data/ 放标注主表与把字符偏移复原成句子的预处理脚本;inference/ 放基线推理脚本和运行它的 Shell 示例;outputs/ 是留给用户存放预测结果的目录,官方在里面预置了一份以 GPT-4.1 为底座模型跑出的示例。
| 路径 | 类型 | 作用 | 官方说明要点 |
|---|---|---|---|
data/dataset_raw.csv |
CSV | 原始数据与标注主表 | 含任务标识、编码、编码描述、金标签、理由、字符偏移 |
data/mimic_data.py |
Python | 把偏移映射回真实文本片段 | 读取 MIMIC-IV-Note 的出院小结,重建全文列,产出带全文与证据的 CSV |
data/create_data.sh |
Shell | 预处理启动示例 | 改参数后运行,产出用于下一步推理的输入文件 |
inference/run_sample.py |
Python | 基线推理脚本 | 把预测写成 CSV、打包,上传到评测网站 |
inference/infer.sh |
Shell | 推理启动示例 | 改参数后运行即可 |
outputs/ |
目录 | 存放推理输出 | 内含一份以 GPT-4.1 为底座模型的示例输出 |
有一件事必须先说清:本条目涉及的资源走的是凭证化访问通道,本次核验时该通道的区域策略把请求挡了回来,Files 页返回 403。所以上表的"作用"来自官方 Data Description 的正文描述,各文件的字节体积、行数这类体量数字这里一概不写,请以登录后看到的文件清单为准。
2.2 字段字典:发行的主表
dataset_raw.csv 的每一行是一个「病例—候选概念」配对,官方列出的六个字段如下。
| 字段 | 官方标注的类型 | 含义 | 官方示例值 |
|---|---|---|---|
task_id |
Object (string) | 每个用例的唯一标识,常由患者与住院两级标识拼成 | 12479866_23707166 |
code |
Object (string) | 该次病历被分配的 ICD-10-CM 或 ICD-10-PCS 编码 | T79.7XXA |
desc |
Object (string) | 编码对应的可读描述 | Traumatic subcutaneous emphysema, initial encounter |
gold |
Object (boolean) | 病历是否记载了这个码,即金标签 | True |
reasoning_summary |
Object (string) | 支持该码的简明理由 | Submandibular and right neck lymphadenopathy are documented |
evidence_spans |
Object (list of int) | 支持证据在全文中的位置,以字符起止偏移成对给出 | [(8012, 8047), (6350, 6379)] |
两个字段的用法值得单独提。evidence_spans 里的数字是字符下标,不是句子编号、也不是词编号;官方在评测口径 B 里却又按"句子标识符"计算召回,中间这一步由 mimic_data.py 完成。另一个是 reasoning_summary:它是标注者写给人看的理由,两条评分公式都不使用它,属于解释性资产,可用于错误分析,不宜当作第二重标签。
2.3 跑完预处理后新增的两个字段
mimic_data.py 把上游笔记的内容补齐,产出用于推理的输入文件,多出两列。
| 字段 | 官方标注的类型 | 含义 | 官方示例值 |
|---|---|---|---|
text |
string(长自由文本) | 完整病历全文,含入院原因、既往史、操作、住院经过、出院小结与随访 | Patient: Adult female with no known allergies... |
evidence |
list of string | 由偏移复原出的一组证据文本片段 | ["Extreme Fatigue", "Increased Thirst"] |
这一步的意义在于:dataset_raw.csv 单看是不能直接喂给模型的,因为它不带病历正文。正文托管在 MIMIC-IV-Note 里,受许可约束不能在这个发行包里再拷一份。换句话说,拿到本项资源只等于拿到"题号与答案",题面还得回上游去取。这是一个容易被低估的门槛:没有 MIMIC-IV-Note 的访问权,这张表就是半张表。
2.4 一条样本的完整解剖
把官方给出的片段按字段摆开(这些示例值可能来自不同的行,官方未声明它们同源):
task_id 12479866_23707166
code T79.7XXA
desc Traumatic subcutaneous emphysema, initial encounter
gold True
reasoning_summary Submandibular and right neck lymphadenopathy are documented
evidence_spans [(8012, 8047), (6350, 6379)]
读法是从两头往中间看。task_id 的两个数字按官方说法分别来自患者与住院级别的标识,两者拼成一个用例键;T79.7XXA 是创伤性皮下气肿的首次就诊编码;desc 把冷冰冰的码翻译成人话;gold 说这份病历确实记载了它;reasoning_summary 给出一句理由;evidence_spans 用两对字符偏移指出全文里哪两处在支持这个判断。要注意偏移的两段既不连续、也不按先后排列——官方示例里后一段的下标反而更小。这说明它维护的是"有哪些位置",不是"按什么顺序读"。
2.5 主键与跨文件的映射关系
| 标识符 | 层次 | 取值形态 | 用途 | 使用注意 |
|---|---|---|---|---|
task_id |
用例 | 12479866_23707166 |
一行的唯一键 | 官方只说"常由患者与住院标识拼成",未规定两段的确切语义 |
code |
概念 | T79.7XXA |
ICD-10-CM 诊断或 ICD-10-PCS 操作码 | 两类混在同一列,靠结构区分 |
desc |
概念表述 | 英文短句 | 给模型看的人话版概念 | 由官方提供,不是模型生成 |
gold |
标签 | True 或 False | A 路评分的目标值 | CSV 读入后常被当作字符串,需显式转换 |
evidence_spans |
位置 | 成对整数 | 定位证据 | 依赖上游原文的长度与去标识替换规则 |
text |
文本 | 长文本 | 模型输入 | 由 MIMIC-IV-Note 复原,包内不自带 |
evidence |
文本 | 字符串列表 | 对照或被减数材料 | 句子口径需自行定义 |
这一层映射最关键的约束是:同一个 task_id 可以配多个 code。官方做法是把一次住院的出院小结,与"该次住院分配的全部 ICD-10 诊断与操作编码"逐一对起来,一行一码。做逐条或逐病例的分析时,如果不先按 task_id 聚合,就会把同一份病历当成多个独立样本,口径立刻失真。
2.6 正例与负例分别从哪里来
正例与负例各有各的来源,官方在方法部分写得很细。
| 来源 | 怎么产生 | 为什么难 | 官方定位 |
|---|---|---|---|
| 模型的疑似漏判(putative positive) | 两阶段大模型分流之后,只保留"两个模型都判 Unrelated、而该码确实分配在这次住院上"的病例 | 机器以为无关,人以为有关,属于典型隐性记载 | 构成有挑战的正例 |
| 患病率加权负例 | 按概念在 MIMIC-IV 里的患病率抽取候选概念 | 常见概念即使无关也容易被模型"蒙对" | 同时记录它与最近相关概念在 ICD 层级上的跳数 |
| 语义相近负例 | 对概念名做向量嵌入,挑最相似但不相干的概念 | 名字像、临床语义也近 | 官方例子:肥胖与 BMI 30–39 |
这里有一个容易被忽略的设计细节:患病率加权负例额外记了一件事——该负例与最近的相关概念之间隔了几跳 ICD 层级。官方说这是用来刻画难度的。这等于把难度写进了结构化字段,属于结构信息;官方页面没有公开这个字段的具体取值,这里也不去替它补全。
§3 它是谁的数据
3.1 贡献者名单
四名作者全部来自 Optum AI,这是本项资源最特殊的一点:它不是学术机构产出的公开基准,而来自一家健康服务机构的算法团队。
| 姓名 | PhysioNet 用户名 | 页面标注的机构 |
|---|---|---|
| Zhichao Yang | zhichaoyang | Optum AI |
| Gregory Lyng | glyng | Optum AI |
| Sanjit Batra | sanjitsbatra | Optum AI |
| Robert Tillman | rtillman84 | Optum AI |
团队背景解释了它的口味。产研团队关心的是"这个模型放到真实编码流程里能不能用",而不是"这个基准能不能刷到榜单前列"。于是他们把任务定成核验、把题源定成"模型与人对不齐",还专门敷设了两类难负例、给每条正例配了证据与理由。
3.2 时间线
| 时间 | 事件 | 出处 |
|---|---|---|
| 2026 年 3 月 23 日 | 版本 1.0.0 首次公开发布 | 页面标注的发布日期 |
| 同日 | 本版本 DOI 10.13026/j98m-g356;另有 latest DOI 10.13026/0k22-xc18 | Discovery 区块 |
| 截至本次核验 | 只有 1.0.0 一个版本;Release Notes 只有"初次公开发布"一条 | Versions 区块与 Release Notes |
它发布得很新。这既是优点也是代价:优点是没有历史版本带来的口径漂移,标注协议与当前版本完全对齐;代价是没有修订记录可查,也没有社区纠错沉淀,凡有疑问只能回到方法描述那一段原文去读,没有一个 changelog 能替你解释。
3.3 上游血统:两个必须同时引用的父项目
| 父项目 | 版本 | 提供了什么 | 页面标注的 DOI |
|---|---|---|---|
| MIMIC-IV | v3.1 | 结构化部分的 ICD-10 诊断与操作编码 | 10.13026/kpb9-mt58 |
| MIMIC-IV-Note | v2.2 | 文本部分的去标识自由文本临床笔记,本资源取其出院小结 | 10.13026/1n74-ne17 |
官方在 Parent Projects 一栏里要求同时引用这两项。逻辑上说得通:编码来自前者,句子来自后者,缺任何一方这个项目都不存在。同时它也继承了父项目的访问政策——上游是凭证化访问,衍生物自然同档。
3.4 三层来源与每层丢掉了什么
| 层级 | 内容 | 这一层加进来的是什么 | 这一层丢掉了什么 |
|---|---|---|---|
| 第一层:真实住院 | 原始电子病历与收费流程 | 真实的书写习惯与真实的编码行为 | 患者身份,去标识化时被剥离 |
| 第二层:MIMIC 系列 | 结构化整理与时间对齐 | 统一的住院标识与编码体系 | 影像等非文本模态、部分流程信息 |
| 第三层:本资源 | 病例与概念的配对加人工核验 | 金标签、证据偏移、临床理由 | 未入选病例、以及候选名单之外的全部语境 |
第三层的筛子很密:不是所有住院都进了这 405 例,只有被大模型判为难、又被人类标注者重新确认的那些才留下。因此这个集合不能被当作"随机抽出的一批住院"来用,它在定义上就偏向难题。
3.5 为什么正文不跟着一起发
很多派生数据集会把用到的文本一并打包,本资源没有这么做。dataset_raw.csv 只有题号、候选概念与答案,正文要回到 MIMIC-IV-Note 去取。原因写在官方的伦理说明里:本项目派生自 MIMIC-IV 与 MIMIC-IV-Note 的去标识临床数据,这两者通过一个凭证化访问流程与数据使用协议对外开放;因此本资源沿用同样的访问政策、许可与协议要求,只有完成规定培训并签署协议的用户才能接触到底层笔记或任何在该框架下分发的衍生文件。
换句话说,它的 Annotation 可以自由读,但正文永远在上游的权限边界里。官方也强调,他们新加的证据与解释不含患者识别信息,只有医学见解——可即便如此,句子本身仍受上游协议约束。这一条决定了它的使用姿势:与其说它是一个"下载即用"的数据包,不如说它是一份必须配合上游运行的测试用例。
§4 它最独特的东西
4.1 用"人对得起、机器对不起"当筛子
多数公开基准挑立项的方式是随机抽样加人工标注,挑出来的题目分布接近真实分布,好处是代表性强,坏处是难题太少、分数容易虚高。本资源的思路正好反过来:它先让模型做一遍,专挑模型做错且错得一致的地方。
这样做有两个直接后果。第一,题面天然偏向隐性记载与语义歧义,因为显性题目模型本来就做得对,会被筛掉。第二,它给出的绝对分数会明显低于真实场景下的表现——这是设计使然,不是标注质量问题。用它的分数去写"某模型在这个任务上的准确率只有 X",是典型的误用;正确的用法是拿它做跨模型的相对比较与错误分析。
4.2 两阶段分流:三次投票加一次推理复核
官方给出的分流流程是两段式的。
| 阶段 | 用什么模型 | 怎么跑 | 产出什么 |
|---|---|---|---|
| 第一阶段 | 非推理型模型 GPT-4o-mini | 每一对样例提示三次,三分之二多数定论 | 每例被归入 Explicit / Implicit / Unrelated 之一 |
| 第二阶段 | 推理型模型 o3 | 只重算第一阶段出现分歧的那些 | 复核后的判定 |
| 保留规则 | 两者都要满足 | 两个模型都判 Unrelated,而该码在 MIMIC-IV 里确实分配给了这次住院 | 入选疑似漏判集合,作为难题正例的母体 |
三次投票这个细节很关键。它把单次的抽样抖动压了下去,留下的错更可能是"系统性不理解"而不是"刚好抽到坏nonsense"。第二阶段引入推理型模型复核,进一步筛掉了那些只要多想一步就能答对的题。经过这两道之后仍然错的,才值得人类专家花时间。
4.3 难负例的两种做法
只改正例不够,模型还可以靠"凡是不确定就判 True"蒙分。所以官方同时铺了两条负例生产线。
患病率加权负例。 按概念在 MIMIC-IV 里的患病率抽候选概念。逻辑是:常见的概念即使与本次住院无关,模型也容易因为它们"眼熟"而判 True。这类负例同时也记录了它与最近的相关概念之间隔了几跳 ICD 层级,作为难度标记。
语义相近负例。 对概念名做向量嵌入,取最相似但不相干的概念。官方给的例子是肥胖与 BMI 30–39:两者都围绕肥胖,但在 ICD 体系里一个是疾病、一个是体质指数分类,属于不同的账。这种对照考的是模型有没有读进 ICD 的分类规则,而不是只看字面。
两条加起来,把"随便挑个别的码当负例"这条最容易走的捷径堵上了。副作用是:负例的难度被人为抬高,评测结果不能直接当作该 code 的整体判别能力。
4.4 字符偏移与句子编号之间那道缝
这是本资源最需要在动手前想清楚的一处结构细节。
发行主表里存的是字符偏移,也就是 evidence_spans 里的 [起, 止] 整数对;而官方评测口径 B 说的是"句子标识符"(sentence identifiers)的集合。两者不是一回事,中间必须要有一层转换:先由 mimic_data.py 用偏移从 MIMIC-IV-Note 的原文里切出片段,再由使用者或评测端把片段归到句子上。
| 环节 | 形态 | 谁来做 | 可能出错的地方 |
|---|---|---|---|
| 标注落笔 | 标注者高亮句子 | 9 名标注者 | 不同人对"一句"的边界判断不同 |
| 落库 | 字符偏移 [start, end] |
标注工具 | 换行与去标识替换记号会改变计数 |
| 复原片段 | evidence 字符串列表 |
mimic_data.py |
依赖上游原文逐字符一致 |
| 评测对齐 | 句子标识符集合 | 自己实现 | 未有公开切句规则可依 |
官方没有公开"怎么把字符变成句子编号"的规则,只说由 mimic_data.py 把偏移映射成文本片段、然后可用于推理。也就是说,这最后一步的定义权在使用者手里。写论文时若不声明切句口径,B 路分数的可复现性会打折扣;比较两个系统的 B 路分数时,也必须确认两者用的是同一套切句。
4.5 边界条件:四条
语言边界。 全文为英文临床笔记,编码体系为 ICD-10-CM 与 ICD-10-PCS,这套体系的使用规则与美国住院结账流程绑定,迁移到其他支付体系需要先重定义问题。
机构边界。 上游来源单一,书写风格、模板结构、常见医学缩写都带有来源院区的特征。
任务边界。 只考察"给定候选概念的核验",不含开放式产出、不含用于 ICD 层级的结构化预测、不含编码排序。
数量边界。 405 例。这个数字足以把两类模型的差距显出来,不足以支撑任何细粒度子集上的可靠结论——把 405 例再切成若干章节或若干穿梭层级分别报分,每一格的样本就少到不可用了。
§5 怎么拿到
5.1 凭证化访问的四步
本项资源不是公开下载,页面上标注的是 Credentialed Access。
| 步骤 | 要做什么 | 官方标注 |
|---|---|---|
| 1 | 注册并登录 PhysioNet 账号 | 页面右上角 Log in |
| 2 | 完成必修培训 | CITI “Data or Specimens Only Research” |
| 3 | 签署数据使用协议 | PhysioNet Credentialed Health Data Use Agreement 1.5.0 |
| 4 | 等待审批通过后访问文件 | 许可为 PhysioNet Credentialed Health Data License 1.5.0 |
这意味着两件事:一是必须先拿到 MIMIC-IV 与 MIMIC-IV-Note 的访问权,因为本项目自带的是标注而不是病历正文;二是运行时的数据流也要守规矩,把受控文本送进第三方在线服务前,需要先确认该服务零留存且不用于训练。
5.2 目录结构
按官方 Data Description 的描述,发行包的顶层是三个目录,各自的分工前面 §2.1 已经列表说过。这里补充三点操作层面的提示:data/ 与 inference/ 下的 Shell 脚本是"改参数后直接跑"的示例,不是命令行工具;outputs/ 里的示例输出是以 GPT-4.1 为底座模型跑出来的,可以当作提交格式的模板;而 dataset_raw.csv 是唯一的数据文件,其他都是代码或示例。
5.3 第一步:把半张表补全
dataset_raw.csv 不带正文,正文要从 MIMIC-IV-Note 取。mimic_data.py 干的就是这件事:读上游的出院小结,用 evidence_spans 里的偏移切出片段,产出一份带 text 与 evidence 两列的新 CSV。官方的用法是先改 data/create_data.sh 里的参数,再执行这个脚本。
#-- 1. 先把两个父项目的访问权确认到位(凭证化)
#-- MIMIC-IV v3.1 -> 提供 ICD-10 诊断/操作编码
#-- MIMIC-IV-Note v2.2 -> 提供出院小结正文
#-- 2. 改 create_data.sh 里的输入输出路径,然后执行
bash data/create_data.sh
#-- 3. 产出物是一份多了 text 与 evidence 两列的 CSV,用于下一步推理
ls -l data/
这一步跑不通的常见原因有三个:上游路径没配对、task_id 里的标识与本地的标识体系对不上、或者 MIMIC-IV 与 MIMIC-IV-Note 的版本不一致(父版本分别是 3.1 与 2.2,混用会直接错位)。
5.4 第二步:跑一个基线
inference/ 下给出了一条完整的推理样板:infer.sh 负责传参,run_sample.py 负责跑模型并把结果写成 CSV、打包、上传到评测网站。官方在脚本注释里提醒:如果用示例里的 Azure 接口,需要改写其中的订阅函数。
import pandas as pd
import ast
#-- 读入发行的主表;evidence_spans 是字符串形式存的列表,需要还原
raw = pd.read_csv("data/dataset_raw.csv")
raw["evidence_spans"] = raw["evidence_spans"].apply(ast.literal_eval)
raw["gold"] = raw["gold"].astype(str).str.strip().str.lower().eq("true")
#-- 每一行的键是两个标识拼起来的,按 task_id 聚合可看一份病历配了几个候选码
print(raw.groupby("task_id")["code"].size().reset_index(name="n_code").head().to_string())
#-- 每一行即是一道"病历与候选概念"的核验题
print(raw[["task_id", "code", "desc", "gold"]].head().to_string())
5.5 两条评分口径怎么算
官方把评测拆成互补的两路,公式都在页面上写死了。
| 口径 | 目标 | 公式(官方写法) | 平均方式 | 边界情形 |
|---|---|---|---|---|
| A 概念核验 | 预测 True 且 gold 为 True 记为 TP;预测 True 而 gold 为 False 记为 FP;预测 False 而 gold 为 True 记为 FN | 精确率 = TP/(TP+FP),召回率 = TP/(TP+FN),F1 为两者调和平均 | 全部用例上做微平均 | 无特殊处理,全部 405 例都进算 |
| B 句子级证据召回 | 预测句子集合与金标准句子集合的交集大小除以金标准集合大小 | 召回 = 预测集合 ∩ 金标准集合 / 金标准集合 | 在有金标准证据的用例上做宏平均 | 系统对某例一个句子都没返回,该例召回记 0 |
两点值得注意。B 路只在"有金标准证据的用例"上算,也就是正例且标注者给了证据的那部分,负例不进这一路;而且 B 路只算召回、不算精确率,意味着把整篇病历的句子全返回能拿满分,这一路必须配 A 路一起看才有意义。
5.6 五个坑
坑一:以为下载下来就能用。 主表里没有正文,正文在上游。没有 MIMIC-IV-Note 权限,这张表只能看不能跑。
坑二:把 Boolean 读成字符串。 gold 的示例值是 "True",读入后若不做转换,与布尔比较时会得不出预期结果。
坑三:按行而不是按病例切分。 一个 task_id 会配多个 code,直接按行随机划分会把同一份病历劈到两侧,等于泄露。
坑四:拿 B 路当唯一指标。 B 路只算召回且不含负例,单独报这个数没有意义。
坑五:把它当训练集。 官方在 Intended Usage 里明确否定这个用途;405 例做微调,模型会记住全部例句,评测结果不可解释。
5.7 提交格式与评测入口
按官方的说明,run_sample.py 会把预测结果写成 CSV、打成压缩包,再上传到评测网站;官方在脚本注释里提醒:若沿用示例的 Azure 接口,需要自己改写其中的订阅函数。outputs/ 目录同时留了一份以 GPT-4.1 为底座模型产出的示例,可以当作提交文件的格式模板——对齐格式时以这份示例为准,而不是以 dataset_raw.csv 为准,因为前者多出了预测列。
官方没有在页面链接里暴露评测网站的地址,因此最稳的做法是按 §5.5 的公式本地实现两路评分,把线上提交当作复核渠道而不是唯一结果来源。
§6 与库内词条的关系
6.1 关系图谱
在千方 hub 的 AI-Ready 数据集体系里,它属于"病历文本加人工标注"这一支。上游是 MIMIC-IV 与 MIMIC-IV-Note,同层邻居是同样以出院小结为底、但考察不同能力的几份资源。
| 相关资源 | 与本资源的关系 | 区别在哪 |
|---|---|---|
| MIMIC-IV-Note | 父项目,提供正文 | 只有文本,没有概念级金标签 |
| MIMIC-IV | 父项目,提供编码 | 只有结构化编码,没有"哪句支持"的证据 |
| MIMIC-IV-Ext-EntityCoding | 同层近邻 | 同样做出院小结的概念/实体标注,任务口径不同 |
| MIMIC-IV-Ext-DiReCT | 同层近邻 | 关注的是诊断推理链,不是核验与证据 |
| MIMIC-IV-Ext-Instr | 同层近邻 | 规模大得多,面向指令微调而非评测 |
| MIMIC-Ext-DrugDetection | 同层近邻 | 只做物质使用一类概念,粒度为句子级标注 |
| Medication Labels for MIMIC Notes | 同层近邻 | 只做药物抽取,采用 i2b2 2009 的标注口径 |
6.2 检索路径
先把 MIMIC-IV 与 MIMIC-IV-Note 的访问权办下来,这是所有派生资源的前提;再按"任务形态"找本级资源:想评测核验与证据、且需要难题,选本资源;想评测开放式抽取,去找覆盖面更大的标签集;想做训练,去找标了"指令微调"或"大规模注记"的资源。
6.3 分工判据
| 你要做的事情 | 该用哪一个 | 理由 |
|---|---|---|
| 评测模型能否验证一个候选编码 | 本资源 | 唯一把核验做成二值任务并配两套评分的 |
| 评测证据溯源 | 本资源 | B 路句子级召回,但需自定句子口径 |
| 训练一个概念抽取模型 | 不在这里 | 405 例不足以训练,官方也明确排除 |
| 研究用药安全或物质使用 | 面向药物与物质使用的专用标注集 | 概念域完全不同 |
| 研究诊断推理过程 | 推理链类资源 | 本资源只给一句理由,不是完整推理轨迹 |
§7 质量评估与局限性
7.0 前置校正:这个分数的两种读法
读它的分数前要先接受两件事。第一,它不是按真实分布做的抽样,而是从一个已经筛过三遍的池子里挑出来的难题集合,绝对分数天然偏低。第二,全部 405 例都按严格的布尔比对判分,不存在"答得差不多也算对"的空间。这两点决定了:它的分数只能横向比,不能纵向当成能力刻度。
7.1 五维评分
| 维度 | 评价 | 依据 | 注意事项 |
|---|---|---|---|
| 任务定义清晰度 | 高 | 核验任务的形式、三条的定义、两条评分公式都写在页面上 | 只有 A 路与 B 路,无第三口径 |
| 标注质量 | 高 | 9 名医学背景标注者,每例两人独立,分歧经裁定,无法裁定的剔除 | 官方未给出一致度数值,不可自行脑补 |
| 证据粒度 | 中 | 字符偏移加复原后的片段,落到句子级 | 切句口径由使用者定义,跨系统比较要对齐 |
| 难度设计 | 高 | 三条生产线专门制造难题,且负例带 ICD 层级跳数标记 | 难度被人为抬高,不代表真实分布 |
| 可复现性 | 中 | 评分公式公开,但依赖 GPT-4o-mini 与 o3 的旧版本行为 | 筛题环节无法重跑,重跑也得不到同一批样例 |
7.2 标注协议的三层
官方对标注过程的描述可以拆成三道,每道都在收缩样本。
第一层:双人独立。 每一对「病例—概念」由两名标注者各自独立读完出院小结,判定 Related 或 Unrelated。这一步的设计意图是把个人判读习惯的影响压到最低。
第二层:分歧裁定。 两人的结论不一致时,用例被标记出来进入裁定流程,最终只能落到一个确定的金标签上。注意官方的说法是审定出一个最终标签,而不是取多数或听第一位标注者。
第三层:不可裁定即剔除。 官方明确:无法落到清晰结论的配对被排除在发布之外。所以最终发布的每一例都带着一个经过确认的金标签,代价是样本量进一步变小。
把三层合起来看,这份资源的标签可信度是高的;但同时也说明,它的 405 例不是"405 个被标注的病例",而是从更大池子里经过三道筛剩下的一致性子集。用它的规模去反推标注工作量或池子大小,都不成立。
7.3 可以枚举的偏差
| 偏差来源 | 机制 | 影响方向 | 能不能缓解 |
|---|---|---|---|
| 筛选偏差 | 保留的是模型做错且人对的用例 | 分数偏低、难度偏高 | 不能,这是设计的一部分 |
| 语言与体系偏差 | 英文病历与美国 ICD-10-CM/PCS | 迁移到其他体系需重定义任务 | 部分,需重标 |
| 来源单一 | 上游只有一家院区 | 书写习惯被带进来 | 不能,只能跨库对照 |
| 标注口径 | 句边界与证据范围由人判断 | B 路分数受口径影响 | 能,写清自己的口径 |
| 负例构造 | 两类负例都是人为造难 | 负例判别难度高于真实 | 只能在解读时打折 |
7.4 外部验证的缺口
有三件事是在这份资源的页面里找不到的,有必要在开动手前知道:没有报告标注者之间的一致度数值;没有报告基线模型的分数,outputs/ 里有一份 GPT-4.1 的示例输出但页面未给出它的得分;没有与其他数据集的对照结果。缺这三项意味着你拿到的第一个分数没有参照系,只能自己先跑一个基线,再谈比较。
7.5 为什么它仍然值得用
因为在公开资源里,"给定候选概念让模型判定这份病历是否支持、并要求指出依据"这件事,几乎没有人把题目出得这么难、这么干净。它的 405 例规模决定了它做不了训练,也做不了排名;但如果你想证明自己的方法比"字符串匹配"多走了一步,或者想证明某个模型的依据引用是真的在读病历,它是一个几乎不可替代的对照点。
§8 生态位与历史
8.1 沿革:三条线在这里交汇
第一条线是自动编码,从早期的可解释 ICD 编码模型(Mullenbach 等 2018)到两阶段方法(Yang 等 2023),关注点一直是"把整份病历映射到一组码"。第二条线是可解释性与证据,代表工作有 MDACE(2023 ACL)与 Beckh 等人对"证据解剖"的研究(2025 ACL Findings),它们把"哪段文字支持这个码"变成可标注的对象。第三条线是隐性实体的概念识别,Perera 等 2015 年的工作很早就提出临床文档里的隐性实体问题。
本资源把这三条线拧到了一处:用第一线的任务形式、第二线的证据标注、第三线的难点关注点,再加上"大模型与人对不齐"这个新的筛子。
8.2 与已有证据标注工作的关系
官方在 Background 里承认已有工作的贡献,同时指出它们的共同不足:偏重显式概念,对需要推断或存在语义相近干扰项的用例覆盖不足。官方在这里引用的两项证据标注数据集,分别是 MDACE(2023 ACL)与 Beckh 等 2025 年关于 ICD 编码证据解剖的研究。
| 对比项 | 已有证据标注数据集 | 本资源 |
|---|---|---|
| 任务形式 | 多为开放式多标签编码 | 给定候选的二值核验 |
| 重点样例 | 显式概念为主 | 隐性概念与模型漏判 |
| 负例构造 | 多为自然出现的未标注码 | 患病率加权与语义相近两类人造难例 |
| 附加产出 | 证据片段 | 证据片段加一句临床理由 |
| 规模诉求 | 追求覆盖广度 | 明确不追求覆盖,刻意做小 |
8.3 生态位
| 维度 | 它在哪里 | 谁会取代它 |
|---|---|---|
| 任务 | 病历与概念的核验 | 更大规模的核验集出现后会被分流 |
| 数据 | 出院小结加 ICD-10 | 换成其他语言或支付体系需重做 |
| 用途 | 评测与错误分析 | 没有训练用途,因此不会被训练集挤掉 |
| 稀缺性 | 难题样本 + 人工复核标签 | 找到"同样难且更大"的资源之前,它不可替代 |
8.4 谁在看它
官方 metrics 页给出的口径是:自 2026 年 4 月起累计 113 次独立注册用户的项目浏览(当前版本与全部版本的计数相同,因为只有一个版本)。这是一个很小的数字,符合它发布仅数月、且需要凭证化访问的现状。对于使用者来说,这既是风险也是机会:风险是社区经验少、踩坑要自己填;机会是现在进场还能做出尚无人做过的对照结论。
§9 使用指引
9.1 三种角色的路径
| 角色 | 第一天 | 第一周 | 注意事项 |
|---|---|---|---|
| 算法研究者 | 读官方 Usage Notes 与两条评分公式 | 跑通预处理与基线,记录 A 路分数 | 不要把它当训练集 |
| 病案编码方向的产品团队 | 用 outputs/ 里的示例输出对齐提交格式 |
用它做内部模型的回归评估 | 分数不能直接换算成上线指标 |
| 评测与合规岗位 | 确认访问路径与数据流合规 | 把两套公式实现成可复算脚本 | 把结论讲成定论之前先本地复算一遍 |
9.2 一条最短的可用流程
#-- 1. 前置:PhysioNet 账号 + CITI 培训 + 签 DUA + 取得两个父项目的访问权
#-- 父项目:MIMIC-IV 3.1(提供编码)与 MIMIC-IV-Note 2.2(提供正文)
#-- 2. 下载发行包,先看清楚只有一张数据主表
#-- data/dataset_raw.csv <- 唯一的标注数据文件
#-- 3. 跑预处理,把正文与证据片段补出来
bash data/create_data.sh
#-- 4. 跑基线推理(改 infer.sh 里的模型参数)
bash inference/infer.sh
#-- 5. 按官方两条公式自行评分,别只依赖线上榜单
python3.11 - <<'PY'
import pandas as pd
#-- 预测文件里至少要有 task_id/code/pred 三列,pred 为布尔
pred = pd.read_csv("outputs/prediction.csv")
gold = pd.read_csv("data/dataset_raw.csv")
gold["y"] = gold["gold"].astype(str).str.strip().str.lower().eq("true")
df = gold.merge(pred, on=["task_id", "code"], how="left")
#-- A 路:微平均精确率 / 召回率 / F1
tp = int(((df["y"]) & (df["pred"])).sum())
fp = int(((~df["y"]) & (df["pred"])).sum())
fn = int(((df["y"]) & (~df["pred"])).sum())
p = tp / (tp + fp) if tp + fp else 0.0
r = tp / (tp + fn) if tp + fn else 0.0
f1 = 2 * p * r / (p + r) if p + r else 0.0
print(f"precision={p:.4f} recall={r:.4f} f1={f1:.4f} n={len(df)}")
PY
上面这段的价值在于把 A 路完全本地化。官方说也可以把打包好的结果上传到线上的评测网站,但自己实现一遍公式有两个好处:能逐样例做错误分析,也能核对线上分数与本地口径是否一致。
9.3 引用方式
PhysioNet 的惯例是引用数据集本身加平台,本资源还要额外引用两个父项目。
| 引用对象 | 内容 |
|---|---|
| 本资源 | Yang, Z., Lyng, G., Batra, S., & Tillman, R. (2026). MIMIC-IV-Ext-MedicalBench: Evaluating Large Language Models Towards Improved Medical Concept Extraction (version 1.0.0). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/j98m-g356 |
| 父项目(结构化) | Johnson A, Bulgarelli L, Pollard T, 等. MIMIC-IV (version 3.1). PhysioNet. 2024. https://doi.org/10.13026/kpb9-mt58 |
| 父项目(文本) | Johnson A, Pollard T, Horng S, 等. MIMIC-IV-Note: Deidentified free-text clinical notes (version 2.2). PhysioNet. 2023. https://doi.org/10.13026/1n74-ne17 |
| 平台 | Pollard T, 等. PhysioNet as a global platform for biomedical research. Nature Health. 2026. https://doi.org/10.1038/s44360-026-00096-z |
写论文时建议额外注明四件事:使用的版本号(1.0.0)、句子切分的口径、负例是否与正例拆分报告、以及模型推理时是否使用了外部在线服务。
§10 AI 使用声明
| 项目 | 声明 |
|---|---|
| 文本生成 | 本文由 AI 辅助撰写,编辑把关结构与事实 |
| 数字来源 | 规模、结构、边界三类数字全部来自 PhysioNet 官方页面(项目页与方法、数据描述、评测、伦理各段) |
| 文件核验 | 页面全文经直接访问读取;Files 页返回 403,文件清单与目录结构取自官方 Data Description 的正文描述 |
| 不一致说明 | 未发现页面内部数字互相矛盾之处;405 与 167、238 三数在官方 Method 段并列给出 |
| 论文信息 | 参考文献列表取自官方 References 段,未按原文全文细读 |
| 未核验内容 | 各文件字节体积与行数、标注者一致度、任何基线模型分数、每位标注者承担的用例数 |
| 图像 | 无配图;封面为生成式提示词,不含真实病历内容 |
| 免责 | 本文不构成临床或编码建议;使用数据须签署 PhysioNet 凭证化健康数据使用协议 1.5.0 |
常见误读(避坑清单)
| 说法 | 实际 | 证据 |
|---|---|---|
| 「它有 405 份病历」 | 405 例是对「病历与候选概念」的配对,一份病历可配多个码 | 官方说每次住院的小结与该次住院全部分配编码逐一对起来 |
| 「下载下来就能跑模型」 | 主表不带正文,正文在上游 MIMIC-IV-Note | 官方 Data Description 里 mimic_data.py 的作用描述 |
| 「它是一个 ICD 编码训练集」 | 官方明确:不适合大规模训练或微调 | Intended Usage 段 |
| 「它的分数就是模型的真实编码水平」 | 样例是按模型答错筛出来的,难度高于真实分布 | 方法部分的两阶段分流描述 |
| 「B 路分数高说明依据引得好」 | B 路只算召回不算精确率,返回全部句子即可满分 | 官方 Evaluations B 段 |
| 「证据偏移就是句子编号」 | 存的是字符下标,句子编号是评测时才要对齐的东西 | evidence_spans 的定义与 B 路口径的差异 |
| 「每条都有人工证据」 | 只有被判定为 Related 的配对才由标注者提供证据 | 官方标注流程描述 |
| 「两个人不一致就按第一位标注者算」 | 分歧要进裁定流程,无法裁定的直接排除发布 | 官方 Methods 段 |
| 「它是公开数据集」 | 凭证化访问,须完成 CITI 培训并签 DUA | 页面 Access 区标注 |
| 「模型可以直接调用线上接口跑」 | 受控数据外送需要零留存承诺,官方强调优先本地部署 | PhysioNet 平台层面的数据使用要求 |
| 「405 例里正负各半」 | 167 例正例、238 例负例 | 官方 Methods 段明确列出 |
FAQ
Q1:它到底有多少样例?为什么有人说是 405,有人说是两类?
405 是「病历与候选概念」配对的总数,官方在这个总数之下又给出 167 例核定正例与 238 例核定负例。说两类的人是在讲标签构成,说 405 的人是在讲总样例数,两个数都对,只是层次不同。要注意它不是 405 份病历:一次住院的出院小结会与该次住院分配的全部 ICD-10 编码逐一对起来,一份病历可能贡献多行。
Q2:为什么它的分数普遍偏低?是标注有问题吗?
不是标注问题,是抽样问题。它保留的是"两个大模型都判无关、而编码者确实写了这个码"的病例再加人工复核,也就是说,模型本来很有可能做对的题已经被筛掉了。所以它测的是"被考倒的那部分能力",绝对分数低于真实场景属正常现象。正确的用法是横向比较两个或多个系统,而不是把这个分数报成模型的准确率。
Q3:没有 MIMIC-IV-Note 的权限,能不能只用这份标注表?
不能完整用。dataset_raw.csv 只给出任务标识、编码、描述、金标签、理由和字符偏移,病历正文不在这个包里——因为许可不允许在上游之外再拷一份。text 与 evidence 两列要靠 mimic_data.py 从 MIMIC-IV-Note 复原。只有标注表,可以看到每题的答案,但不能让模型做题。
Q4:B 路的句子级证据召回该怎么算?官方没给切句规则怎么办?
官方确实没有公布把字符偏移变成句子编号的规则,只给了召回的计算式:预测句子集合与金标准句子集合的交集除以金标准集合。这意味着切句口径由你自己定义,而且必须写进论文里。做系统对比时,要保证两个系统的切句口径一致,否则比较的是切分策略而不是检索能力。另外请记住 B 路不算精确率,把它当唯一指标会得到荒唐结论。
Q5:能拿它微调模型吗?
官方明确否定。它在 Intended Usage 里写着不适合大规模训练或微调,理由也写得很直白:样例数量刻意做小、刻意做难,追求的是高质量难例而不是覆盖广度。405 例做微调,模型一两轮就能记住全部例句,之后任何评测分数都不可解释。想微调请去找规模大得多且标注为训练用途的资源。
Q6:它的许可到底允不允许商业使用?
它的许可与父项目相同,是 PhysioNet 凭证化健康数据许可 1.5.0,配套的数据使用协议也是 1.5.0,还要求完成 CITI 的"Data or Specimens Only Research"培训。也就是说,能不能访问取决于你是否完成培训、签署协议并获得批准,而不是取决于你是否营利。具体条款以官方许可全文与协议正文为准。
Q7:只有九个标注者,够吗?
官方写的是招募了 9 名受过医学训练的独立标注者,每对样例由其中 2 人独立判读。人数不算多,但协议里有两道保险:分歧要进裁定流程,无法裁定即剔除发布。代价是最终规模进一步收缩。真正要注意的不是人数,而是官方没有公开一致度数值,所以标注质量只能用协议严格性来判断,不能用量化的一致度指标来判断。
Q8:它和我手里的上千份自己标注的出院小结怎么配合?
最实用的配合方式是把当尺子的和当粮仓的分开:自己的大标注集用来训练与选择模型轮廓,这份资源用来在最后做一道不受训练集污染的难例检查。因为它的样例来自另一个团队、另一套抽样逻辑,你的模型从未见过它们,也无从间接拟合。反过来讲,若你的模型在自己的测试集上很高、在这里很低,差距恰恰说明你的测试集可能偏简单。
Q9:能不能把病历正文喂给云端的通用大模型来评?
原则上可以,但要先把数据使用的规矩过一遍。上游是受控的去标识临床数据,向外发送数据需要满足零留存、不用于训练、不经人工 review 等条件;如果服务方的数据处理政策无法核实,就不能用。因此更稳妥的做法是本地部署模型跑评测,把这类评测视为"必须自建运行环境"的任务,而不是"调个接口"的任务。
Q10:这份资源会长期稳定吗?后续如果有新版本,我需要重新做什么?
版本层面的漂移风险主要在两处:一是评估口径本身可能调整;二是上游 MIMIC-IV 或 MIMIC-IV-Note 升版后,一次住院的编码集合或小结文本可能发生变化,从而让 task_id 的对应关系需要重新核对。对策很简单——论文里写死版本号 1.0.0 与两个父项目的版本号,代码里固定这两个版本的路径,任何人复现时都不会因为上游升版而错位。
术语表
| 术语 | 解释 |
|---|---|
| 出院小结 | 患者出院时书写的总结性病历,含入院原因、住院经过与出院情况 |
| ICD-10-CM | 美国使用的疾病与健康状况诊断编码体系 |
| ICD-10-PCS | 美国使用的住院操作编码体系 |
| 概念抽取 | 把叙事文本里的医学含义转成结构化概念的过程 |
| 概念核验 | 给定一个候选概念,判断文本是否支持它 |
| 证据溯源 | 要求模型指出支持其结论的原文片段 |
| 隐性记载 | 没有写出诊断名但可以从体征或检验值推出的情况 |
| 近似负例 | 名字或语义接近正例、但并不成立的候选 |
| 字符偏移 | 以全文的字符序号标记片段位置的方式 |
| 句子级召回 | 预测句子集合覆盖金标准句子集合的程度 |
| 微平均 | 先把所有样例的计数合并再算指标 |
| 宏平均 | 先逐样例算指标再平均 |
| 两阶段分流 | 先用廉价模型粗筛、再用推理型模型复核的样例挑选流程 |
| 三次投票 | 同一提问重复三次、以多数结果作为最终判定 |
| 患病率加权 | 按概念在库中的常见程度分配抽样概率 |
| 层级跳数 | 两个概念在 ICD 分类树上相隔的层数 |
| 凭证化访问 | 需完成培训、签协议并获批后才能下载的数据访问方式 |
| DUA | 数据使用协议,Data Use Agreement |
| CITI 培训 | 科研伦理与数据使用的在线必修课 |
| 去标识化 | 剥离可直接或间接指向个人的信息 |
| 任务标识(task_id) | 用例的唯一标识,由患者与住院两级标识拼成 |
附录 A:核心数字核对表
| 项 | 值 | 来源 | 层级 |
|---|---|---|---|
| 样本总数 | 405 例配对 | 官方 Abstract 与 Methods 段 | 官方页面 |
| 正例数 | 167 | 官方 Methods 段 | 官方页面 |
| 负例数 | 238 | 官方 Methods 段 | 官方页面 |
| 标注者人数 | 9 名,每例 2 人独立 | 官方 Methods 段 | 官方页面 |
| 主表字段数 | 6 个 | 官方 Data Schema | 官方页面 |
| 预处理后新增字段 | 2 个(text、evidence) |
官方 Data Schema(after 段) | 官方页面 |
| 投票次数 | 每例提示 3 次取多数 | 官方 Methods 段 | 官方页面 |
| 分流模型 | GPT-4o-mini 与推理型模型 o3 | 官方 Methods 段 | 官方页面 |
| 负例构造方式 | 2 类(患病率加权、语义相近) | 官方 Methods 段 | 官方页面 |
| 发行版本 | 1.0.0 | Versions 区 | 官方页面 |
| 发布日期 | 2026-03-23 | 页面标注 | 官方页面 |
| 本版本 DOI | 10.13026/j98m-g356 | Discovery 区 | 官方页面 |
| latest DOI | 10.13026/0k22-xc18 | Discovery 区 | 官方页面 |
| 上游(结构) | MIMIC-IV v3.1,DOI 10.13026/kpb9-mt58 | Parent Projects 与 References | 官方页面 |
| 上游(文本) | MIMIC-IV-Note v2.2,DOI 10.13026/1n74-ne17 | Parent Projects 与 References | 官方页面 |
| 许可 | 凭证化健康数据许可 1.5.0 | Access 区 | 官方页面 |
| 必修培训 | CITI Data or Specimens Only Research | Access 区 | 官方页面 |
| 项目浏览 | 自 2026 年 4 月起累计 113 次 | 官方 metrics 页 | 官方页面 |
| 文件体量 | 未核验 | Files 页返回 403 | 未核验 |
附录 B:数字的来源分层
第一层:官方页面直接写明。 样本总数、正负例数、标注者人数与协议、字段清单与类型、评测公式、两条负例策略、两阶段分流与投票次数、版本、日期、DOI、父项目、许可与必修培训。这些数字全部可以追到项目页的具体段落。
第二层:官方 metrics 页。 累计 113 次项目浏览,口径是 2026 年 4 月起统计的独立注册用户。这是页面上唯一的人口统计量,本文只在描述关注度时使用,不参与任何能力相关的推断。
第三层:未核验。 各文件的字节体积与行数、标注者之间的一致度、任何基线模型在这份数据上的分数、患病率加权负例里层级跳数字段的实际取值。其中第一项是因为凭证化访问在本区域被挡回,后三项是官方页面本身没有公布。正文中凡涉及这些地方,都只做定性描述,不写数字。
附录 C:完整参考文献(取自官方 References 段)
| 编号 | 文献 | 链接 | 与本文的关系 |
|---|---|---|---|
| 1 | Mullenbach 等. Explainable prediction of medical codes from clinical text. arXiv, 2018 | arxiv.org/abs/1802.05695 | 可解释编码模型脉络 |
| 2 | Soroush 等. Large language models are poor medical coders—benchmarking of medical code querying. NEJM AI, 2024 Apr 25;1(5):AIdbp2300040 | 官方未给链接 | 大模型编码能力评测脉络 |
| 3 | Perera 等. Implicit entity recognition in clinical documents. *SEM, 2015 | doi:10.18653/v1/S15-1028 | 隐性实体识别脉络 |
| 4 | Yang 等. Surpassing GPT-4 medical coding with a two-stage approach. arXiv, 2023 | arxiv.org/abs/2311.13735 | 两阶段编码方法 |
| 5 | Dong 等. Automated clinical coding: what, why, and where we are? NPJ Digit Med, 2022 Oct 22;5(1):159 | 官方未给链接 | 自动编码综述 |
| 6 | Cheng 等. MDACE: MIMIC documents annotated with code evidence. ACL, 2023 | doi:10.18653/v1/2023.acl-long.416 | 同类的证据标注代表工作 |
| 7 | Beckh 等. The anatomy of evidence. ACL Findings, 2025 | doi:10.18653/v1/2025.findings-acl.864 | ICD 编码证据解剖研究 |
| 8 | Johnson 等. MIMIC-IV (version 3.1). PhysioNet, 2024 | doi:10.13026/kpb9-mt58 | 父项目(编码) |
| 9 | Johnson 等. MIMIC-IV-Note (version 2.2). PhysioNet, 2023 | doi:10.13026/1n74-ne17 | 父项目(文本) |
| 10 | Johnson 等. MIMIC-IV, a freely accessible electronic health record dataset. Sci Data, 2023;10(1):1 | 官方未给链接 | 父项目总述 |
附录 D:如果只记五件事
| 序号 | 记住什么 | 为什么 |
|---|---|---|
| 1 | 405 例配对,167 正例加 238 负例,9 名标注者 | 这四个数字定义了它能做什么、不能做什么 |
| 2 | 它是一把尺子,不是粮仓 | 官方明确排除训练与微调用途 |
| 3 | 主表不带正文,正文在上游 | 没有 MIMIC-IV-Note 权限就跑不起来 |
| 4 | 字符偏移不等于句子编号 | B 路的切句口径要自己定义并写清 |
| 5 | 分数偏低是设计使然 | 样例专挑模型与人对不齐的地方 |
需要更高工程化程度或合规出域的商业版本?
当前展示的公开版本适用于学术研究与原型验证。千方医数集依托三甲医院直采网络,提供经专家标注、符合伦理合规的专病数据集交易服务。
前往商城查看可交易产品 →
