信息速览
MedSecId:临床笔记章节识别标注语料
§0. 导读:这个语料解决什么问题
临床笔记是医院里信息密度最高、也最难被机器利用的文本。一份出院小结动辄两三千 token,从主诉到出院医嘱十几个内容块挤在同一页无格式的文字里。人能一眼看出「这段在讲既往史、那段在讲本次手术」,机器却只看到一串连续的 token。章节识别(Section Identification, SI)就是把这份「人眼可见的结构」变成机器可用的标签:切出章节边界,标上章节类型。
为什么值得为这个中间步骤单独建一个语料?因为章节类型是临床文本理解里最廉价、最通用的一层语义信号。同一个词「糖尿病」,出现在家族史章节里是家族成员的病,出现在既往史章节里是患者的老病,出现在评估章节里才是本次需要处理的诊断——下游任何抽取、编码、时间线系统,第一件事都是问「这句话在哪个章节里」。没有公开的 SI 语料之前,每个团队要么用正则凑合(实测与人工一致性只有 α=0.54),要么用不公开的私有标注,整个社区既没有可比的数字,也没有可复现的起点。
MedSecId 用「2,002 份 MIMIC-III 笔记 × 逐句标注 × 50 类章节 × 3 名临床医生标注 × 全部公开」一次性补上了这块基础设施。它的出现让「在英文临床文本上做章节识别」从一项不可比的手艺活变成一个有标准答案的基准任务;它训练出来的模型(随 mimicsid 包分发预训练权重)让任何持有 MIMIC-III 凭证的研究者一下午就能跑通端到端预测。
本条目按「是什么—怎么标—怎么评—怎么拿—怎么用」的顺序展开:§1-§3 给出速览、任务定义与数据源头;§4-§5 交代论文、团队与时间线;§6-§9 详述规模、标注方法论、基线模型与评估协议;§10 集中处理获取与合规(含 PhysioNet 凭证这一风险项,是使用本资源的前置门槛,务必先读);§11-§14 覆盖生态互链、坑点、DAIMS 表与横向对比;§15-§19 面向实操(清单、误解澄清、案例、阅读路径、速查卡);§20 与附录 A-N 提供存照、文体解剖、工程细节、中文迁移、FAQ、术语表、故障排查等深度内容。
三类读者可走三条捷径:
- 只想快速判断可用性:读 §1 速览 + §10.1 三层结构表 + §13 DAIMS 表,五分钟决策;
- 要动手复现/训练:直接跳 §10(凭证与获取)→ 附录 B(工程细节)→ 附录 N(故障排查);
- 要迁移到中文场景:§16 误解澄清 → 附录 C(中文迁移指南)→ 附录 I(标签体系分组)。
最后强调一遍贯穿全文的合规主线:标注公开、代码开源、原文受控——Zenodo 拿标注、GitHub/PyPI 拿工具、PhysioNet 凭证拿原文,三层不可混为一谈,商业使用另有约束。
§1. 一页速览
MedSecId(Medical Section Identification corpus)是伊利诺伊大学芝加哥分校(University of Illinois Chicago, UIC)NLP 实验室于 2022 年在 COLING 2022 上发布的首个大规模公开的临床笔记章节识别(Section Identification, SI)标注语料。它回答一个看似简单、实则长期无公开基准的问题:给定一份无结构的临床笔记全文,能否自动地把它切分成一个个章节(section),并为每个章节贴上类型标签——主诉(Chief Complaint)、现病史(History of Present Illness, HPI)、出院用药(Discharge Medications)、过敏史(Allergies)等。
在 MedSecId 出现之前,临床 NLP 社区普遍知道「章节信息是下游抽取任务的黄金上下文」——很多信息抽取系统依赖章节类型来过滤或加权候选事实(例如「家族史」章节里的糖尿病提及不应记为患者本人诊断)。但公开、大规模、逐句标注的 SI 语料几乎不存在:i2b2/Informatics for Integrating Biology and the Bedside 系列共享任务覆盖了概念抽取、断言状态、关系抽取等任务,却没有一个以「章节切分+章节分类」为核心的公开数据集。各团队只能各自动用少量手工标注、或依赖正则模板,结果既不可比也不可复现。
MedSecId 的核心硬数字如下:
- 2,002 份临床笔记,全部来自 MIMIC-III(Medical Information Mart for Intensive Care III)v1.4 的 NOTEEVENTS 表;
- 50 种章节类型(section types),覆盖临床笔记中最常见的章节体系;
- 5 类笔记来源:出院小结(discharge summaries)、放射报告(radiology)、会诊记录(consults)、超声心动报告(echocardiography, echo)、医生病程记录(physician progress notes / CHP);
- 逐句标注:不是只标章节标题,而是把整篇笔记的每一句都归入某一章节(或「节外」),平均每篇约 12 个章节(标准差 5.7),平均 token 长约 2,307;
- 三人标注:2 名 attending physician(主治医师)+ 1 名 senior resident(高年资住院医),Krippendorff α = 0.84-0.87;
- 基线成绩:token 级 BiLSTM-CRF(GloVe 300D 词向量)Micro F1 = 0.955、Macro F1 = 0.787,优于同期的 BERT/BioBERT 句级方案。
获取层面,MedSecId 是一个「三层结构」资源:标注文件(span+标签)经 Zenodo(record 7150451)公开发布;代码与预训练模型以 MIT License 开源(GitHub uic-nlp-lab/medsecid 及 PyPI 包 zensols.mimicsid);而标注所指向的 MIMIC-III 笔记原文则受 PhysioNet Credentialed Health Data License 1.5.0 约束,需要注册账号、完成 CITI 人受试者保护训练、签署数据使用协议(Data Use Agreement, DUA)并通过凭证审核后才能访问。这意味着:检索者可以立刻拿到「标注长什么样、模型怎么训」,但要真正跑通端到端复现,必须先走完 PhysioNet 的凭证流程——这是使用本条目时最重要的合规前提。
对中文医疗 NLP 团队而言,MedSecId 的价值有三层:其一,它是英文临床文本 SI 任务的标准基准,任何面向英文病历的结构化系统都应在此上报数;其二,它的标注方法论(三人标注、逐句 IO 编码、α 一致性报告、长尾章节分析)可以直接迁移到中文电子病历的章节识别标注设计中;其三,它与 MIMIC-III/MIMIC-IV-Note 生态天然衔接,可以与库内多个 MIMIC 派生条目形成互链网络。
本条目以下各节依次介绍:任务背景(§2-3)、论文与团队(§4-5)、数据与标注细节(§6-8)、模型与评估(§9-10)、获取与合规(§11,含 PhysioNet 风险项)、生态互链(§12)、坑点清单(§13)、DAIMS 表(§14)、下游实操清单(§15)、常见误解澄清(§16)、案例解剖(§17)、按角色阅读路径(§18)、一页速查卡(§19)与附记(§20)。
§2. 什么是章节识别(Section Identification)
2.1 问题定义
一份真实的临床笔记往往是这样一段文本:没有格式化的标题栏、没有 XML 标签,只有连续的段落与换行。有经验的临床医生一眼就能看出「这段是主诉、那段是体检、再往后是评估与计划」,但机器看到的只是一串 token。章节识别(Section Identification, SI)要解决的就是这个问题:
- 章节切分(segmentation):找出笔记中每个章节的边界——哪里是 HPI 的开头,哪里 HPI 结束、体格检查(Physical Exam)开始;
- 章节分类(classification):为每个切出的片段赋予类型标签——它属于 50 种章节类型中的哪一种;
- 标题识别(header detection):还有一个子任务——找出哪些 token 构成章节标题本身(如 “History of Present Illness:” 这一行),标题与非标题正文的区分对某些下游场景有用。
MedSecId 把前两个子任务统一形式化为**序列标注(sequence labeling)**问题:对笔记中的每个句(sentence)打一个 IO(In/Out)标签——In 表示该句属于某个章节(配合章节类型),Out 表示节外文本(如笔记顶部的患者标识残留、页眉页脚噪声)。这与命名实体识别(Named Entity Recognition, NER)的 BIO/IO 编码同构,因此可以直接复用 NER 社区的全部模型与工具链(BiLSTM-CRF、BERT 微调、CRF 解码层等)。
2.2 为什么章节信息重要
章节类型在临床 NLP 流水线中扮演「上下文过滤器」的角色,典型用途包括:
- 信息抽取去歧义:「糖尿病」出现在 Family History 章节与出现在 Assessment 章节含义完全不同——前者是家族成员患病,后者是患者本人诊断。章节标签是最廉价也最可靠的一级过滤信号;
- 断言状态判定:Negation/ Uncertainty 的判定常常与章节强相关(Past Medical History 里的既往诊断默认为「确认存在但属既往」);
- 时间线推理:Hospital Course 章节记录本次住院事件,Past Surgical History 记录既往手术——时间锚点完全不同;
- 报告分型与路由:放射报告的 Impression 章节是下游抽取的重点区域,技术参数章节则通常可以跳过;
- 文档级分类的先验:知道一份笔记包含哪些章节,就能推断它的文体(出院小结 vs 病程记录 vs 会诊意见)。
2.3 MedSecId 之前的空白
在 MedSecId 之前,SI 任务的处理方式主要有三类,各有明显缺陷:
- 正则/模板法:用「大写字母开头 + 冒号」等模式匹配章节标题。MedSecId 论文实测:即便由作者精心定制正则,其标注一致性(与人工标注的 Krippendorff α)只有 0.54——远低于人工之间的 0.84-0.87。真实笔记中的章节标题写法五花八门(全大写、缩写、拼写错误、无冒号、多行标题),模板法顾此失彼;
- 小规模私有标注:一些商业 NLP 系统(如早期的临床文本处理平台)内部标注了几十到几百份笔记,但不公开,社区无法比较;
- 借用其他任务语料:i2b2 2010 等共享任务的语料附带了部分章节信息,但这些章节标签是为特定任务服务的辅助信息,覆盖窄、体系不完整、不可作为 SI 主基准。
MedSecId 用「2,002 份 × 逐句 × 50 类 × 三人标注 × 公开发布」一次性填补了这个空白。这也是论文标题强调 “A New Public Corpus” 的原因:贡献的核心不是模型,而是语料本身。
§3. 源头:MIMIC-III 与五类笔记
3.1 MIMIC-III NOTEEVENTS
MIMIC-III 是麻省理工学院计算生理学实验室(MIT Laboratory for Computational Physiology)联合贝斯以色列女执事医疗中心(Beth Israel Deaconess Medical Center, BIDMC)发布的重症监护数据库,收录 2001-2012 年间约 4.6 万名 ICU 患者的医疗记录,是全世界使用最广的开放重症监护数据资源。其中 NOTEEVENTS 表存放脱敏后的自由文本临床笔记,包括出院小结、放射报告、病程记录、心电图报告、超声心动报告等多种文体。
MedSecId 从 NOTEEVENTS 中抽样了 2,002 份笔记,抽样刻意覆盖五种文体(见 §3.2),以保证章节体系的多樣性——不同文体的章节结构差异极大:出院小结有固定的住院摘要结构,放射报告则是「指征-对比-所见-印象」的影像学体例,超声心动报告又有自己的测量参数区段。
3.2 五类笔记来源
| 笔记类型 | 英文 | 典型章节结构 | 在语料中的作用 |
|---|---|---|---|
| 出院小结 | discharge summary | 主诉、入院诊断、出院诊断、住院经过、出院用药、随访 | 章节最多、体系最全的核心文体 |
| 放射报告 | radiology report | 指征、检查技术、对比、所见、印象 | 短文体、高价值章节(Impression) |
| 会诊记录 | consult | 会诊原因、评估、建议 | 中等长度、请求-应答结构 |
| 超声心动报告 | echocardiography | 测量、描述、结论 | 数值密集、章节边界规整 |
| 医生病程记录 | physician progress notes / CHP | SOAP 式段落、一日病程 | 最自由文体、边界最难 |
平均而言,每篇笔记约含 12 个章节(标准差 5.7),平均 token 长约 2,307。出院小结通常章节最多(可达 20 个以上),而一份简短的放射报告可能只有 4-5 个章节。
3.3 为什么选 MIMIC-III
选择 MIMIC-III 作为源头有三重理由:第一,它是公开但受控的资源,任何通过 PhysioNet 凭证审核的研究者都能拿到同一批笔记,语料的可复现性有保障;第二,NOTEEVENTS 的文本经过官方脱敏(HIPAA Safe Harbor 去标识),伦理负担相对可控;第三,MIMIC-III 生态庞大——围绕它已经有概念抽取、实体链接、问答等大量派生资源,SI 语料加入后可以与既有任务形成流水线组合。这个选择的代价就是本条目反复强调的合规前提:笔记原文本身不是免费无门槛的,必须走 PhysioNet 凭证流程(详见 §11)。
§4. 论文与时间线
4.1 论文信息
MedSecId 的正式论文为:
Paul Landes, Kunal Patel, Sean S. Huang, Adam Webb, Barbara Di Eugenio, Cornelia Caragea. A New Public Corpus for Clinical Section Identification: MedSecId. Proceedings of the 29th International Conference on Computational Linguistics (COLING 2022), Gyeongju, Republic of Korea, pp. 3709-3721. ACL Anthology 编号 2022.coling-1.326,DOI 10.18653/v1/2022.coling-1.326。
COLING 是计算语言学国际会议(International Conference on Computational Linguistics),2022 年届在韩国庆州举办。该论文属于语料与基准(corpus & benchmark)类投稿,正文结构为:引言 → 相关工作 → 语料构建(抽样、标注指南、一致性)→ 形式化与基线模型 → 实验与分析(含 cui2vec 概念嵌入分析)→ 局限与结论。
4.2 版本与发布时间线
| 时间 | 事件 |
|---|---|
| 2022-10-07 | GitHub 仓库 uic-nlp-lab/medsecid 初始提交(复现论文实验的代码与配置) |
| 2022-10 | COLING 2022 会议论文发表(Gyeongju, Korea),ACL Anthology 上线 |
| 2022-10 | Zenodo record 7150451 发布章节标注文件(section-id-annotations.zip) |
| 2023-07 | 分析 repo 更新(fix citation 等维护性提交) |
| 2023 | Zensols 框架论文发表于 NLP-OSS(作者 Landes,框架化复述了 mimicsid 的工程实现) |
| 2024-04 | 后续工作 LLM-SI(arXiv 2404.16294)发布,在 MedSecId 上评测 LLM 并指出真实世界文档上的泛化骤降 |
| 2022-2025 | mimicsid Python 包(plandes/mimicsid,MIT License)持续维护,版本 0.0.2 → 0.0.3 → 0.1.0,预训练模型随包分发 |
版本链总结:MIMIC-III v1.4 → MedSecId 标注 v1(Zenodo 7150451)→ mimicsid 包 0.x 系列(含预训练模型)。截至本条目撰写时,未见标注集的 v2 修订版公告;后续维护主要以 mimicsid 包和 Zensols 框架升级的形式进行。
4.3 相关工作的定位
论文的相关工作部分把 SI 研究分为三条线:一是早期的模板/规则系统(以正则匹配章节标题为代表,包括一些商业临床 NLP 引擎内置的章节分割器);二是基于机器学习的章节分类(多为小规模私有标注,如对出院小结单文体的小样本研究);三是间接利用章节信息的信息抽取工作(这些工作证明了章节的价值,却没有产出公开 SI 语料)。MedSecId 的差异化定位是「首个公开、大规模、多文体、逐句标注」四项全占。
§5. 机构与人物
5.1 团队构成
- University of Illinois Chicago(UIC):芝加哥校区计算机科学系 NLP 实验室是本语料的主要完成方,负责标注流程设计、标注指南撰写、模型实现与论文写作;
- Rush University / Rush 系统医疗机构:临床医生标注者来自 Rush 体系,负责实际的逐句标注工作。临床医生参与标注是语料质量的根本保障——章节类型判断需要真实的临床文档阅读经验,纯 NLP 从业者难以胜任;
- 技术栈:Zensols 框架:一作 Paul Landes 是开源临床 NLP 框架 Zensols 的作者,MedSecId 的全部标注工具、数据流水线与模型实现都构建在 Zensols 之上,后来抽象为独立的 mimicsid 包发布。
5.2 关键人物
- Paul Landes(一作):UIC 博士生(Di Eugenio 指导),工业界出身的 NLP 工程师,Zensols 框架作者。他在 MedSecId 之后继续维护 mimicsid 与 Zensols 生态,是连接学界语料与工程工具链的关键人物;
- Barbara Di Eugenio:UIC 计算机科学教授,长期从事医学 NLP 与人机对话研究,本项目资深作者;
- Cornelia Caragea:时任 UIC 教授(后转任 UT Arlington),自然语言处理方向,另一位资深作者;
- Adam Webb:临床背景作者,代表标注团队与医疗机构的协作;
- Kunal Patel、Sean S. Huang:共同作者,参与标注组织与实验。
5.3 标注者
论文口径:2 名 attending physician(主治医师)与 1 名 senior resident(高年资住院医) 共 3 人完成逐句标注。注意:个别二手转述只提 “physicians” 而略去 resident,本条目按论文原文的三人口径成稿。三人标注一致性以 Krippendorff α 报告为 0.84-0.87——在章节类型多达 50 类的设定下,这一数值属于「高一致性」区间(α>0.8 通常被认为可用于可靠分析),说明标注指南经过充分打磨、章节类型定义边界清晰。
5.4 工程生态:Zensols 与 mimicsid
理解 MedSecId 的落地,绕不开它的工程生态:
- Zensols:Landes 开发的模块化 NLP 框架(Python),提供文档解析、特征抽取、模型训练、命令行应用生成等通用能力,NLP-OSS 2023 有专文介绍;
- zensols.mimicsid(plandes/mimicsid):把 MedSecId 的标注数据访问、语料构建、模型训练与预测封装为 pip 可安装的包,MIT License。0.1.0 版起随包分发预训练模型,这意味着——只要你有 MIMIC-III 访问权,
pip install zensols.mimicsid之后即可在本地复现论文级别的预测,无需重新训练; - uic-nlp-lab/medsecid(GitHub):论文官方复现仓库,包含从原始标注到论文表格数字的完整实验配置。
§6. 数据规模与结构
6.1 硬数字一览
| 指标 | 数值 |
|---|---|
| 笔记总数 | 2,002 份 |
| 章节类型数 | 50 种 |
| 笔记来源类型 | 5 类(出院小结/放射/会诊/超声心动/医生病程) |
| 平均章节数/篇 | 12(标准差 5.7) |
| 平均 token 长/篇 | 约 2,307 |
| 标注者 | 3 人(2 主治 + 1 高年资住院医) |
| 人工一致性 Krippendorff α | 0.84-0.87 |
| 规则基线 α | 0.54 |
| 最优基线 | BiLSTM-CRF + GloVe 300D |
| Micro F1 | 0.955 |
| Macro F1 | 0.787 |
6.2 标注文件的结构
Zenodo 发布的标注文件(section-id-annotations.zip)以机器可读格式给出每份笔记的章节标注。每条标注记录的核心字段是:
- 笔记标识:对应 MIMIC-III NOTEEVENTS 中该份笔记的 ROW_ID;
- 章节 span:章节在原文中的文本范围(以句为单位,逐句归属);
- 章节类型标签:50 类之一,如 History of Present Illness、Discharge Medications、Allergies、Family History、Physical Exam、Assessment and Plan、Hospital Course、Impression 等;
- 标题 span(子任务):构成章节标题的 token 范围。
需要注意:标注文件只含 span 与标签,不含笔记原文。这是发布方在合规上的谨慎设计——把「结构性知识」(哪里是章节边界、什么类型)与「受控文本」(MIMIC-III 原文)分离,前者公开发布不触碰受控许可,后者仍由 PhysioNet 凭证体系守护。检索者必须把两者拼合才能得到完整可用语料。
6.3 IO 编码与形式化
如 §2.1 所述,标注被形式化为句级 IO 序列标注:每个句子要么是 Out(节外),要么是 In(属于某章节,标签携带章节类型)。这个设计的实际含义是:
- 长文档无需特殊切分:整篇笔记一次性作为序列输入,模型逐句输出标签;
- 边界由标签切换隐式决定:相邻两句标签的章节类型不同即构成章节边界;
- 与 NER 工具链完全兼容:BiLSTM-CRF/BERT 的标准实现可直接使用。
论文同时保留了标题 token span 子任务(哪些 token 属于标题文本),用于支持「只做标题检测」的应用场景。
6.4 长尾分布
50 种章节类型呈现出临床文本典型的长尾:hospital-course、present-illness 等少数高频章节占据了大量实例,而诸如某些专科小节(如特定的检查子段)实例稀少。这直接反映在基线成绩上——Micro F1(0.955)与 Macro F1(0.787)的巨大差距就是长尾的直接后果:高频章节(如 hospital-course 的 F1 超 0.99)拉高了 micro 平均,稀有章节把 macro 平均拖到 0.787。使用者在设计下游系统时应针对稀有章节考虑数据增强、层次标签或 few-shot 补充策略。
§7. 标注方法论
7.1 标注指南与流程
语料构建遵循标准的临床标注方法论:
- 指南先行:作者团队与临床标注者共同制定章节类型定义与边界规则(例如:放射报告的 Impression 与 Findings 的分界;病程记录中一段混合 SOAP 内容如何归类);
- 试点标注:先在小样本上试标,迭代修订类型体系直至 50 类定版;
- 三人独立标注:2 名主治 + 1 名高年资住院医对同一批笔记独立逐句标注;
- 一致性计算:以 Krippendorff α 度量标注者间一致性,报告区间 0.84-0.87;
- 分歧消解:对分歧样本进行裁决与指南回修,产出最终金标。
7.2 一致性的意义
α=0.84-0.87 有两层含义。对语料使用者而言,它说明金标本身足够可靠,模型在这些数据上训练出来的性能可以直接比较、不会被人标噪声淹没;对任务设计者而言,它量化了任务的「人类上限区间」——章节识别不是主观性极强的任务(如情感),也不是纯客观任务,α<1 的部分主要来自边界句归属与稀有章节的定义模糊。
对照正则基线的 α=0.54 更有启发性:一个由作者精心撰写的正则章节切分器,与人工标注的一致性只有 0.54——也就是说,模板法最多解决一半的章节识别问题。这是论文最有说服力的实验之一,直接证伪了「拿正则凑合一下就行」的工程直觉。
7.3 与其他临床标注项目的方法论对照
- i2b2/n2c2 共享任务:通常采用双人标注 + 第三人仲裁,任务聚焦概念/关系;MedSecId 的三人口径与其一致,但标注单元是句-章节而非概念 span;
- MedCat/快照类项目:多为单人规则标注,无一致性报告——MedSecId 在透明度上明显更高;
- 库内 phenotype-annotations-mimic(rid=594):同样是 MIMIC-III 上的注释类资源,但标注对象是表型而非章节,两者在「如何组织临床标注团队」这一点上可互参。
§8. 模型与基线
8.1 形式化回顾
把 SI 形式化为句级 IO 序列标注后,任何序列标注模型都可以即插即用。论文选用了两条技术路线做对照:
- token 级 BiLSTM-CRF:输入为词/子词 token 序列,双向 LSTM 编码上下文,CRF 层解码标签转移约束;词向量使用 GloVe 300D;
- sentence 级 BERT/BioBERT:以句为单位编码,做句级分类(句 → 章节类型),再由相邻句标签合成章节。
8.2 主要结果
| 模型 | Micro F1 | Macro F1 | 备注 |
|---|---|---|---|
| 正则基线 | — | — | 与人工标注一致性仅 α=0.54 |
| BiLSTM-CRF + GloVe 300D | 0.955 | 0.787 | 论文最优 |
| BERT / BioBERT 句级变体 | 略低 | 略低 | 训练更快、长文档更稳 |
两个值得注意的发现:
- GloVe 通用词向量胜过医学专用词向量:直觉上医学语料应该配医学词向量(如 word2vec 训练于 PubMed),但实验结果相反。作者的解释是:章节识别需要的是广泛的通用语言上下文(句式结构、常见连接词、标题书写习惯),而不是医学专业语义——章节标题的语言学特征(名词短语、冒号结尾、大写开头)与正文内容的医学性无关。这一发现对临床 NLP 工程有实际指导意义:不要默认「领域词向量一定更好」,要按任务性质选表示;
- token 级与句级各有千秋:BiLSTM-CRF 在边界精度上更准(token 级建模天然利于边界判定),BERT 句级方案在长文档上训练更快、行为更稳。论文没有强行宣布单一胜者,而是给出场景化建议。
8.3 长文档处理策略
临床笔记动辄数千 token(均值 2,307),远超 BERT 的 512 上下文窗口。句级方案的天然优势在于:BERT 只需对每句独立编码(或滑动窗口),不必把整篇塞进一个窗口。这是句级 BERT「更快更稳」的根本原因。BiLSTM-CRF 的 token 级处理不受窗口限制,但训练时对显存与时间的要求更高。
8.4 cui2vec 概念嵌入分析
论文的分析章节做了一个很有意思的定性实验:用 cui2vec(临床概念向量,基于 UMLS CUI 的嵌入)把各章节内的概念投射到二维平面(PCA),观察不同章节的概念分布。结果显示:既往史(past medical history)章节聚集的概念簇与手术史(surgical history)章节明显分离——模型学到的章节表示确实编码了语义上有意义的差异,而不是死记表面格式。这为「章节标签是下游抽取的语义上下文」提供了嵌入层面的证据。
8.5 后续基准使用:LLM-SI
2024 年的 LLM-SI 工作(arXiv 2404.16294)把 MedSecId 用作 LLM 时代的 SI 基准:用大语言模型做零样本/少样本章节识别并与微调基线比较。其核心结论对使用者是重要警示——在 MedSecId(MIMIC-III 电子原生文本)上表现良好的模型,迁移到真实世界的传真件/OCR 扫描文档(格式混乱、噪声大)时性能骤降。这说明:
- MedSecId 覆盖的是「电子病历原生文本」这一分布;
- 真实部署环境(扫描件、粘贴板文本、多医院异构格式)是另一个更难的分布;
- 以 MedSecId 报的数字作为生产系统预期时,应打足域偏移折扣。
§9. 评估协议与指标
9.1 指标口径
论文报告 token/句级标注的 Micro F1 与 Macro F1(章节类型为正类单位)。使用与比较时需注意:
- **Micro F1(0.955)**反映高频章节上的整体准确率,适合估计「平均一句的标注质量」;
- **Macro F1(0.787)**反映稀有章节的平均表现,适合估计「平均一个章节类型的能力」;
- 论文另报告了章节级的边界正确率维度(切分是否与金标一致),以及标题识别子任务的独立指标。
9.2 复现路径
复现论文数字的三种途径(成本递增):
- 直接用预训练模型:
pip install zensols.mimicsid(0.1.0+),加载随包模型,对自己的笔记做预测——不需要训练,只需要 MIMIC-III 访问权(预测目标若为自有非 MIMIC 文本则连 MIMIC 权都不需要); - 重训基线:从 Zenodo 拿标注 + PhysioNet 拿原文,用 uic-nlp-lab/medsecid 的配置在 Zensols 框架下重训 BiLSTM-CRF;
- 换模型上分:把标注转成任意序列标注框架(spaCy、Flair、HuggingFace token-classification)的输入格式,训练自己的模型并对照 0.955/0.787 报数。
9.3 上报惯例建议
在 MedSecId 上报数时建议同时给出:Micro F1、Macro F1、(如可)稀有章节分位数表现,以及训练/测试划分口径。只报 Micro F1 会系统性掩盖长尾短板,是本任务最常见的「虚高陷阱」。
§10. 获取、许可与合规(含 PhysioNet 风险项)
10.1 三层资源结构
| 层 | 内容 | 获取方式 | 许可 |
|---|---|---|---|
| 标注层 | 章节 span + 50 类标签(section-id-annotations.zip) | Zenodo record 7150451 公开下载 | 随 Zenodo 发布条款公开(见 §10.3 存照) |
| 代码层 | 复现实验代码、mimicsid 包、预训练模型 | GitHub uic-nlp-lab/medsecid;PyPI zensols.mimicsid | MIT License |
| 文本层 | MIMIC-III NOTEEVENTS 笔记原文 | PhysioNet 凭证审核后下载 MIMIC-III v1.4 | PhysioNet Credentialed Health Data License 1.5.0 |
10.2 【风险项】PhysioNet 凭证流程(必读)
标注所指向的笔记原文是受控健康数据。任何需要接触原文的用途(训练、评测、拼合金标)都必须先完成 PhysioNet 的凭证流程:
- 注册 PhysioNet 账号:在 physionet.org 注册并完成邮箱验证;
- CITI 训练:完成 CITI Program 的「Data or Specimens Only Research」人受试者保护课程,取得结业证书(通常需要数小时学习与测验);
- 签署数据使用协议(DUA):在线签署 PhysioNet Data Use Agreement,承诺不试图重识别患者、不向未授权第三方再分发数据、不将数据用于协议外用途;
- 提交凭证审核:上传 CITI 证书与身份/隶属信息,等待 PhysioNet 人工审核(通常数个工作日);
- 审核通过后访问:获得 MIMIC-III v1.4(含 NOTEEVENTS)的下载权限。
许可约束要点:Credentialed Health Data License 1.5.0 限制商业再分发,要求使用场景与 DUA 声明一致;在本库(千方病案医数集)的语境下,这意味着本条目不含也无法提供笔记原文,仅提供标注层与代码层的获取路径;任何衍生服务若要商用,必须另行评估 PhysioNet 商业使用条款并自担合规责任。
实操提示:如果只想预览标注格式、跑通 mimicsid 的预测接口(对任意文本),甚至不需要 MIMIC 访问权——mimicsid 包提供了对非 MIMIC 文本的预测路径。但要做训练/评测,原文不可绕过。
10.3 获取方式存照与疑点
- Zenodo record 7150451 的 license 字段在本条目撰写时未能直接抓取核验(网络预算受限),存照为遗留疑点;发布方在论文与 GitHub 中均表述标注「publicly available」,保守口径为「公开可下载、具体再分发条款以 Zenodo 页面实时为准」;
- 标注文件是否包含少量去标识原文片段(用于锚定)不完全确定,本条目按「以 span/label 为主」的保守表述成稿;检索者下载后应以实际文件内容为准;
- MIMIC-III 的 PhysioNet 许可版本为 1.5.0(CC BY-NC 4.0 底层的 credentialed 版本口径),以 PhysioNet 官网当前页面为准。
§11. 生态与互链点
MedSecId 在库内可形成如下互链网络(rid 为当前占位,发布后由主会话回填):
- mimic-iii(rid=106):上游源数据库。MedSecId 的全部笔记来自其 NOTEEVENTS 表;研究者通常需要同时持有两者的访问/引用关系;
- mimic-iv-note(rid=47):MIMIC 的后继临床笔记库(v2.x),MedSecId 的标注体系与模型可直接作为迁移起点——用 MIMIC-III 上训好的章节识别器处理 MIMIC-IV 笔记是零成本的冷启动方案;
- i2b2-n2c2-nlp(rid=14):同域临床 NLP 共享任务语料家族。i2b2 2010 等任务曾涉及章节/断言信息,MedSecId 补上了其中 SI 主任务的空位,两者在标注方法论上互参;
- synthetic-mimic-iii-health-gym(rid=597):MIMIC-III 派生的合成临床文本。合成笔记可作为 SI 的无标注扩展语料(自训练/半监督),但需验证合成文本的章节结构保真度;
- mimic-cxr(rid=16):MIMIC-CXR 放射报告语料,与 MedSecId 的 radiology 子集同源同构——在 MedSecId 放射子集上验证的章节模型可直接试用于 MIMIC-CXR 报告;
- phenotype-annotations-mimic(rid=594):MIMIC-III 上的表型注释资源,与 MedSecId 同属「MIMIC-III + 人工注释」家族,标注组织方式互参。
流水线组合示例:用 mimic-iii 取原文 → MedSecId 模型做章节切分 → 在「家族史/既往史」章节内跑疾病 NER(可用 i2b2 系模型)→ 输出结构化病史。这是临床文本结构化的标准范式,MedSecId 是其中不可替代的第一环。
§12. 坑点清单
以下坑点按「踩中概率 × 排查成本」排序,均来自语料结构、许可体系与后续研究中的真实风险。
坑 1:以为标注文件里有原文。Zenodo 的标注文件只含 span 与标签,不含 MIMIC-III 原文。很多检索者下载后一脸茫然——没有文本,标签挂在哪里?必须先走完 PhysioNet 凭证流程拿到 NOTEEVENTS,再按笔记 ID 拼合。规划项目时间线时要把凭证审核的等待期(数个工作日)算进去。
坑 2:只看 Micro F1 就下结论。0.955 的 Micro F1 看起来「基本解决了」,但 Macro F1 只有 0.787——稀有章节的表现远低于平均。如果你的下游任务恰好依赖某个稀有章节(如某个专科子段),盲目信任整体数字会导致系统性漏抽。务必按章节类型分层评测。
坑 3:用正则模板替代模型。论文实测正则基线与人工标注的 α 只有 0.54。真实临床笔记的标题写法(全大写、缩写、错拼、无冒号、多行标题、非标准标题)远超模板的覆盖能力。正则可以作为粗筛/兜底,但绝不能作为主力方案。
坑 4:忽略域偏移——电子文本 ≠ 真实世界文本。LLM-SI(arXiv 2404.16294)实证:在 MedSecId 上训练/评测的模型,遇到传真件、OCR 扫描件、格式混乱的真实文档时性能骤降。MedSecId 是「电子病历原生文本」分布;生产部署前必须在自己的目标分布上重新评测,必要时做 OCR 后处理与格式规整的适配层。
坑 5:许可三层混淆。「MedSecId 公开」不等于「MIMIC-III 原文随便用」。标注层(Zenodo)与代码层(MIT)确实门槛低,但文本层受 PhysioNet Credentialed Health Data License 1.5.0 约束——凭证审核、DUA、不得再分发原文、商业使用受限。任何把「基于 MedSecId 训练的模型 + 原文片段」打包再分发的方案都要先过合规审查。
坑 6:50 类标签体系想当然。50 种章节类型是论文团队基于 MIMIC-III 笔记体系归纳的,与国内病历书写规范的章节体系(如「主诉/现病史/既往史/查体/辅助检查/诊断/治疗方案」的中文体系)不能一一对应。迁移到中文场景时需要做标签体系映射研究,而不是直接套用 50 类。
坑 7:BERT 直接上而忽视长文档策略。临床笔记平均 2,307 token,大量笔记超过 BERT 的 512 窗口。不做句级拆解或滑动窗口策略,直接截断会丢掉笔记后半部分的所有章节。论文的句级方案就是为解决这个问题设计的,照搬要连设计一起搬。
坑 8:GloVe 胜过医学词向量的结论被过度外推。「通用嵌入更好」是在章节识别这个任务上的结论,其原因是章节标题依赖通用语言特征。不要把它外推到医学语义敏感的任务(NER、关系抽取)——那些任务上医学专用表示通常仍然占优。
§13. DAIMS 数据资产信息表
| DAIMS 字段 | 内容 |
|---|---|
| 数据集名称 | MedSecId(Medical Section Identification corpus) |
| 发布机构 | University of Illinois Chicago(UIC)NLP 实验室,联合 Rush 体系临床标注者 |
| 首次发布 | 2022-10(COLING 2022;Zenodo record 7150451) |
| 数据类型 | 临床文本逐句章节标注(span + 50 类标签) |
| 源数据 | MIMIC-III v1.4 NOTEEVENTS 临床笔记 |
| 规模 | 2,002 份笔记;50 种章节类型;5 类笔记来源 |
| 文体覆盖 | 出院小结、放射报告、会诊记录、超声心动报告、医生病程记录 |
| 标注者 | 2 名主治医师 + 1 名高年资住院医(共 3 人) |
| 一致性 | Krippendorff α = 0.84-0.87(规则基线 0.54) |
| 任务形式 | 句级 IO 序列标注 + 章节标题 token span 子任务 |
| 基线成绩 | BiLSTM-CRF + GloVe 300D:Micro F1 0.955 / Macro F1 0.787 |
| 语言 | 英语(美式临床文书) |
| 许可结构 | 标注层 Zenodo 公开;代码层 MIT;文本层 PhysioNet 凭证(Credentialed Health Data License 1.5.0,商业受限)【风险项】 |
| 获取直链 | Zenodo https://zenodo.org/record/7150451 ;GitHub https://github.com/uic-nlp-lab/medsecid ;PyPI zensols.mimicsid |
| 论文 | COLING 2022, pp. 3709-3721, DOI 10.18653/v1/2022.coling-1.326 |
| 版本链 | MIMIC-III v1.4 → 标注 v1 → mimicsid 0.0.2/0.0.3/0.1.0 |
| 已知局限 | 长尾章节性能差;域外(传真/OCR)泛化骤降;标签体系为美式病历口径 |
| 库内互链 | mimic-iii(rid=106)、mimic-iv-note(rid=47)、i2b2-n2c2-nlp(rid=14)、synthetic-mimic-iii-health-gym(rid=597)、mimic-cxr(rid=16)、phenotype-annotations-mimic(rid=594) |
§14. 与同类资源的横向对比
| 资源 | 任务 | 规模 | 公开性 | 与 MedSecId 的关系 |
|---|---|---|---|---|
| MedSecId | 章节识别(切分+分类) | 2,002 篇笔记 / 50 类 | 标注公开 + 文本受控 | — |
| i2b2 2010 | 概念/断言/关系 | 170 份出院小结 | 共享任务发放(受控) | 同域不同任务;章节信息为辅助 |
| MIMIC-III / MIMIC-IV-Note | 原始笔记库 | 2M+ 笔记 / 数万份 | PhysioNet 凭证 | 上游数据源;SI 模型的应用对象 |
| mimic-cxr | 放射报告+影像 | 227k 报告 | PhysioNet 凭证 | 与 radiology 子集同构 |
| 私有商业章节分割器 | 章节识别 | 不公开 | 商业产品 | 无公开基准可比;MedSecId 填补空白 |
| LLM-SI 基准设置 | 章节识别(LLM 评测) | 复用 MedSecId + 真实文档集 | 论文公开 | 下游延伸,暴露域偏移 |
对比结论:MedSecId 至今仍是英文临床 SI 任务上唯一的「大规模+多文体+逐句+公开」四项全占的语料,其基准地位在 LLM 时代仍在延续。
§15. 下游实操清单
面向要真正把 MedSecId 用起来的团队,以下是一份按顺序执行的清单:
- 立项评估(第 0 步):确认用途属于研究/评测/内部系统开发;若涉商业,先评估 PhysioNet 商业条款与自身 DUA 义务(坑 5);
- 凭证办理:团队成员完成 PhysioNet 注册 + CITI 课程 + DUA 签署 + 凭证审核(§10.2);等待期并行做第 3-4 步;
- 标注层预览:下载 Zenodo section-id-annotations.zip,用 Python 解析 span/标签结构,统计 50 类标签的分布,识别你关心的章节属于高频还是长尾(坑 2);
- 代码层试跑:
pip install zensols.mimicsid,加载预训练模型,对几段样例文本跑预测,直观感受输出格式(章节列表 + 标签); - 拼合金标:拿到 MIMIC-III 后,按笔记 ID 把标注 span 拼回原文,做一次人工抽查(建议 20 篇),确认边界与类型符合直觉;
- 复现基线:用官方 repo 配置重训 BiLSTM-CRF 或直接用预训练模型在金标上评测,核对 Micro F1 ≈ 0.955 / Macro F1 ≈ 0.787;对不上时优先检查拼合与 IO 解码环节;
- 分层评测:按 50 类报告分章节 F1,重点看你的下游场景依赖的章节(坑 2);
- 域适配评测:从目标生产环境抽 50-100 份真实文档(含扫描/OCR 件),人工标注章节作为迷你测试集,量化域偏移(坑 4);
- 中文迁移设计(如适用):制定 50 类 → 中文病历章节体系的映射表,抽样验证迁移合理性(坑 6);
- 上线监控:部署后持续抽检低置信度章节边界,尤其是稀有章节与跨章节混合段落。
§16. 常见误解澄清
误解一:「MedSecId 是一个可以直接下载的完整数据集」。 不准确。它是「标注层公开 + 文本层受控」的组合资源。完整可用语料 = Zenodo 标注 + PhysioNet 原文,缺一不可(除非只做预测不做评测)。
误解二:「章节识别是个简单任务,正则就够了」。 论文实测正则与人工的 α 只有 0.54;真实笔记的标题变体和格式噪声远超模板想象。模型化的 SI 才是可靠路径。
误解三:「F1 0.955,任务已解决」。 Micro 口径的 0.955 掩盖了长尾;Macro 只有 0.787,且这是电子原生文本上的数字——换到传真/OCR 文档还会骤降。任务「在 MedSecId 分布上基本解决」,离「全场景解决」很远。
误解四:「标注者都是医生,所以金标没有噪声」。 α=0.84-0.87 是高水平但不是 1.0;边界句归属与稀有章节定义仍存在标者间分歧。金标用于训练没问题,用于极端精细的边界研究时要知道噪声区间。
误解五:「用 BioBERT/医学词向量一定更好」。 在这个任务上恰好相反(§8.2),章节识别依赖的是通用语言结构特征。任务性质决定表示选择,别惯性套用。
误解六:「50 类标签可以直接搬到中文病历」。 美式病历的章节体系(HPI、ROS、PMH、SH、FH、A&P……)与中文病历书写基本规范体系不同,需要显式的映射与再标注研究,直接套用会导致大量「无法归类」样本。
附录 A:五类文体的章节体系逐一解剖
MedSecId 覆盖的五种文体各自有鲜明的章节生态。逐一解剖它们,既帮助理解语料构成,也帮助预判模型在各文体上的表现差异。
A.1 出院小结(discharge summary)
出院小结是章节体系最完整、标注价值最高的文体。一份典型的 MIMIC-III 出院小结可能包含:服务与日期头(service/admission/discharge date,常被标为节外或管理性章节)、主诉(chief complaint)、现病史(HPI)、既往史(past medical history)、家族史(family history)、社会史(social history)、过敏史(allergies)、入院用药(medications on admission)、体格检查(physical exam)、辅助检查(pertinent results / labs)、住院经过(hospital course)、出院诊断(discharge diagnoses)、出院用药(discharge medications)、出院状态与随访条件(discharge condition / followup)。
出院小结的特点是:章节多(常 15-20 个)、边界相对清晰(标题行书写较规范)、正文各章节间的语义分野明确。因此它是模型表现最好的文体之一,也是下游信息抽取最依赖的文体。使用者的第一优先级应该是把出院小结子集跑通。
A.2 放射报告(radiology report)
放射报告采用影像学的固定体例:检查指征(indication / clinical information)、检查技术(technique)、对比剂(contrast)、所见(findings)、印象(impression)。文体短小(常 300-800 token)、章节少而边界规整。
放射报告的关键章节是 Impression——放射科医生的结论性段落,是下游抽取(病灶、分期、随访建议)的主战场。Findings 与 Impression 的区分在 MedSecId 中是显式标签,这使「只抽 Impression」的流水线设计变得可靠。
A.3 会诊记录(consult)
会诊记录的结构介于出院小结与病程记录之间:会诊请求与背景(reason for consult / background)、会诊医生的评估(assessment)、建议(recommendations)。特点是一段文本中常混合「转述他人病史」与「会诊者自己的判断」,这对章节边界与断言状态都是挑战。会诊子集是三种主力文体中标注难度最高的。
A.4 超声心动报告(echocardiography)
超声心动报告是五类中数值密度最高的:测量参数区(LVEF、各腔室内径、瓣膜流速等)以表格或列表形式出现,随后是描述(description)与结论(conclusion)。章节边界通常最规整——「测量/描述/结论」三分结构在 MIMIC-III 的 echo 报告中高度一致。模型在这个文体上接近「准模板」效果,但反过来也说明:echo 报告的章节识别收益相对有限(正则或许已能解决大半),真正的价值在把 echo 与其他文体纳入统一标注体系。
A.5 医生病程记录(physician progress notes / CHP)
病程记录是最自由、边界最模糊的文体:SOAP 式段落(Subjective/Objective/Assessment/Plan)可能无标题混写,一日病程与系统回顾交错。MedSecId 的 CHP 子集承担了「压力测试」角色——在它上边的章节识别误差率明显高于出院小结。生产系统若以病程记录为主要对象,应预期性能折损并准备更重的后处理。
A.6 文体维度的使用建议
- 评测时按文体分层报告,不要只看全集平均;
- 若下游任务只涉单一文体(如只做放射报告结构化),优先在该文体子集上选型与调参;
- 跨文体部署时,可在流水线前端加一个轻量文体分类器,路由到按文体微调的 SI 模型。
附录 B:工程细节——从标注文件到生产预测
B.1 数据加载与拼合
拿到 Zenodo 标注与 PhysioNet 原文后的拼合流程(mimicsid 包已封装大半):
- 解压 section-id-annotations.zip,解析标注记录(笔记 ID → 章节 span 列表 → 类型标签);
- 从 MIMIC-III NOTEEVENTS 按笔记 ID 取原文文本;
- 将 span 映射回原文(注意:NOTEEVENTS 原文含换行与制表符,span 对齐要保留原始空白字符,不要做 normalize 后再对齐);
- 句子切分建议沿用论文同款切分器(Zensols 内置),自换切分器会引入边界系统性偏移;
- 生成序列标注训练样本:句 → IO 标签。
B.2 训练配置要点
- 词向量:GloVe 300D(论文口径);复现时直接用同款以对齐数字;
- CRF 约束:IO 编码下 CRF 学习标签转移(Out→In-类型 的合法转移),开 CRF 层对边界精度贡献显著;
- 长文档:token 级模型不受 512 窗口限制,可整篇输入;句级 BERT 方案按句编码;
- 类别不均衡:50 类长尾下,建议监控 macro F1 而非只看 loss;稀有类可考虑加权采样或后接层次分类头;
- 随机种子与方差:论文单点数字,复现偏差 ±0.005 级别属正常;跨多种子报告均值更佳。
B.3 解码与后处理
模型输出的句级标签序列需要合成章节:
- 相邻同类型 In 句合并为同一章节;
- 标题 token span 可用于恢复「标题行-正文」结构(有的下游场景需要标题文本本身);
- 对「同类标签不连续」的情况(同一章节被插入段打断),按策略决定合并或保留两段——论文未强制规定,工程上建议保留(保守、信息无损);
- 置信度:CRF 可输出边缘概率,低置信边界句值得送人工抽检队列。
B.4 错误分析画像
论文与后续使用中反复出现的三类错误:
- 边界句漂移:章节第一句/最后一句被归入邻章——多见于无标题的病程记录;
- 稀有章节误判为近邻大类:如某专科小节被判成一般 history;
- 页眉页脚噪声残留:MIMIC-III 文本顶部偶尔残留的患者标识行被误判为章节——数据清洗阶段先剥离可缓解。
B.5 部署架构参考
一个以 MedSecId 模型为核心的病历结构化服务参考架构:
原始文本输入(EHR 接口 / 扫描件 OCR)
│
▼
文本规整层(去页眉页脚、空白标准化、编码统一)
│
▼
文体分类器(轻量,路由用)
├─ 出院小结 ─┐
├─ 放射 ─────┤
├─ 会诊 ─────┼→ SI 模型(mimicsid 预训练或按文体微调)
├─ 超声心动 ─┤ │
└─ 病程记录 ─┘ ▼
章节合成与置信度过滤
│
▼
下游抽取(NER/关系/断言,按章节路由)
│
▼
结构化输出 + 人工抽检队列
延迟预算:mimicsid 预训练模型在 CPU 上对单篇笔记的推理在秒级(token 级 CRF 解码为主要开销),GPU 上毫秒级;大批量处理可离线跑批。
附录 C:中文场景迁移指南
中文团队把 MedSecId 的方法论迁移到中文电子病历,需要处理四个层面的问题。
C.1 标签体系映射
美式 50 类与中文病历书写规范的对应关系(部分示例):
| MedSecId 类别 | 中文病历对应 | 备注 |
|---|---|---|
| Chief Complaint | 主诉 | 直接对应 |
| History of Present Illness | 现病史 | 直接对应 |
| Past Medical History | 既往史 | 直接对应 |
| Family History | 家族史 | 直接对应 |
| Social History | 个人史/烟酒史 | 中文体系拆分更细 |
| Allergies | 过敏史 | 直接对应 |
| Physical Exam | 体格检查 | 直接对应 |
| Pertinent Results | 辅助检查 | 中文常并入「辅助检查」 |
| Hospital Course | 诊疗经过/住院经过 | 直接对应 |
| Discharge Medications | 出院带药 | 直接对应 |
| Assessment and Plan | 诊断与治疗计划 | 中文常拆为「诊断」「治疗方案」两节 |
| Impression(放射) | 影像诊断/印象 | 直接对应 |
映射不是一一对应:中文体系有「月经婚育史」「中医四诊」等美式体系没有的章节,反向亦然。建议做法:以中文书写规范为主干建标签体系,把 MedSecId 50 类作为参考全集查漏。
C.2 语料与标注设计
- 文体抽样:仿 MedSecId 的五文体育思路,按中文医院的出院小结、门诊病历、病程记录、检查报告、会诊记录分层抽样;
- 标注者配置:临床医生 2-3 人(主治为主 + 高年资住院医),沿用三人独立 + Krippendorff α 的质量协议;中文病历章节识别的 α 预期不低于英文(章节标题书写更规整);
- 标注单元:句级 IO 对中文同样适用,但中文分句本身是前置问题——建议先定分句器(如按。;?切分 + 短句合并规则)并写进指南,避免标注者对「句」的理解不一致。
C.3 模型迁移路径
三条成本递增的路径:
- 零样本迁移:把中文病历机器翻译成英文喂给 MedSecId 模型——成本最低,可行但误差叠加,只适合原型验证;
- 多语言模型微调:用小规模中文标注(500-1000 篇)微调 XLM-R / 中文 BERT,起点用 MedSecId 预训练的标签体系——推荐主力路径;
- 从头标注:全量按 C.2 设计标注中文语料——成本最高,适合有长期数据资产规划的机构。
C.4 合规注意
中文电子病历的合规约束与 PhysioNet 体系不同:受《个人信息保护法》《数据安全法》及卫健委病历管理规定约束,一般不能走「公开标注+受控原文」的分离模式直接公开。机构内自建标注时,标注文件本身也可能被视为含敏感信息,发布前需经机构伦理与数据管理部门审批。这是中英文场景在资源发布模式上的根本差异。
附录 D:常见问题(FAQ)
Q1:MedSecId 是免费数据集吗?
分三层回答:标注文件(Zenodo)与代码(GitHub/PyPI,MIT)免费;笔记原文免费但要走 PhysioNet 凭证审核流程(注册 + CITI 训练 + DUA + 审核);商业使用受 Credentialed Health Data License 约束,需另行评估。
Q2:不做医疗 NLP,只做通用文本分割,这个语料有用吗?
有参考价值:它是一个「自由文本 → 结构化区段」的成熟标注范式,IO 编码、长文档处理、长尾类别分析等经验可迁移。但直接用于非医疗文本的模型效果无保证。
Q3:可以用 MedSecId 训练的模型处理我医院的真实病历吗?
技术上可以(mimicsid 包支持任意文本预测),但注意三点:英文模型处理中文病历无效;英文非美式体系病历(如英式、印度式书写)域偏移明显;生产部署前务必在自有数据上评测(坑 4)。
Q4:标注文件里到底是 JSON 还是 CSV?
以 Zenodo record 7150451 实际下载的压缩包为准;mimicsid 包提供了统一的读取接口,建议通过包 API 访问而非直接解析原始文件格式。
Q5:2,002 份笔记对应多少患者?
论文未按唯一患者口径披露患者数(笔记粒度抽样)。需要患者级去重的场景要自己用 MIMIC-III 的 subject_id 反查。
Q6:能拿到 50 类的完整标签清单吗?
可以:论文正文有类型表;Zenodo 标注文件解析后可统计出实际出现的全部标签及频次。本条目正文列举了代表性章节,未逐一抄录 50 类(见 §20.1 存照)。
Q7:训练数据怎么划分(train/dev/test)?
论文有官方划分(随标注文件/复现 repo 提供)。自建划分时注意按笔记(而非句)划分,避免同篇笔记跨集合泄漏。
Q8:LLM(GPT 类)直接做章节识别能到什么水平?
LLM-SI(arXiv 2404.16294)的结论:LLM 零样本可用但不及微调基线,且在真实世界传真/OCR 文档上与微调模型一起骤降。LLM 适合做冷启动与稀有章节兜底,主力仍建议微调模型。
Q9:为什么不用现成的章节标题正则库?
正则与人工的 α 只有 0.54(§7.2)。正则库可作为规整层(剥离页眉、识别明显标题行)在流水线中使用,但主力切分与分类交给模型。
Q10:这个数据集有中文版吗?
官方无中文版。中文迁移路线见附录 C;目前没有公开的、同等规模的中文病历章节识别标注语料,这正是中文团队可以填补的空白。
附录 E:术语表(英中对照)
| 英文术语 | 中文 | 说明 |
|---|---|---|
| Section Identification (SI) | 章节识别 | 本语料的核心任务 |
| Section segmentation | 章节切分 | 确定章节边界 |
| Section type / label | 章节类型/标签 | 50 类之一 |
| Header | 章节标题 | 标题行 token,子任务对象 |
| Discharge summary | 出院小结 | 五文体之一 |
| Radiology report | 放射报告 | 五文体之一 |
| Consult | 会诊记录 | 五文体之一 |
| Echocardiography (echo) | 超声心动报告 | 五文体之一 |
| Physician progress note (CHP) | 医生病程记录 | 五文体之一 |
| History of Present Illness (HPI) | 现病史 | 高频章节类型 |
| Past Medical History (PMH) | 既往史 | 高频章节类型 |
| Hospital Course | 住院经过 | 高频、F1 最高的章节之一 |
| Impression | 印象/影像诊断 | 放射报告结论章节 |
| IO encoding | IO 编码 | 句级 In/Out 序列标注格式 |
| Sequence labeling | 序列标注 | 任务形式化范式 |
| BiLSTM-CRF | 双向 LSTM-条件随机场 | 论文最优基线架构 |
| GloVe 300D | GloVe 300 维词向量 | 论文最优配置的嵌入 |
| BioBERT | 生物医学 BERT | 对照模型 |
| Micro F1 | 微平均 F1 | 全部实例平均,0.955 |
| Macro F1 | 宏平均 F1 | 按类别平均,0.787 |
| Krippendorff alpha | Krippendorff α | 标注者间一致性系数 |
| Attending physician | 主治医师 | 标注者构成 |
| Senior resident | 高年资住院医 | 标注者构成 |
| cui2vec | 临床概念向量 | UMLS CUI 嵌入,用于分析 |
| MIMIC-III | 重症监护医疗信息数据库 III | 上游数据源 |
| NOTEEVENTS | MIMIC-III 笔记表 | 原文所在表 |
| PhysioNet | 生理信号与临床数据平台 | 凭证发放方 |
| Credentialed Health Data License | 受凭证保护健康数据许可 | 1.5.0,文本层许可【风险项】 |
| Data Use Agreement (DUA) | 数据使用协议 | 凭证流程必签 |
| CITI training | CITI 人受试者保护训练 | 凭证流程必做 |
| Domain shift / OOD | 域偏移/分布外 | 传真/OCR 场景的核心风险 |
| Zensols | Zensols NLP 框架 | 工程底座 |
| mimicsid | zensols.mimicsid 包 | 工具与预训练模型分发载体 |
| Zenodo | Zenodo 开放知识库 | 标注文件发布地 |
| ACL Anthology | ACL 文献库 | 论文存档(2022.coling-1.326) |
附录 F:标注质量深读——α 之后还该看什么
Krippendorff α = 0.84-0.87 是金标质量的第一个信号,但成熟的使用者不应止步于此。以下是对标注质量的进阶审视框架,同样适用于任何「准备引入到自己项目」的人工标注语料。
F.1 α 的局限
α 是把全部标注折叠成一个标量的共识度量,它不告诉你:
- 分歧集中在哪些章节:直觉上,边界句与稀有章节的分歧远高于 hospital-course 这类长章节内部;论文未逐类公布分歧矩阵,这部分需要使用者自己量化;
- 分歧是「边界型」还是「类型型」:两句互相争议是「都该归同一章但界线挪了一句」(边界型),还是「根本是两个不同章节」(类型型)——两者对下游的影响完全不同,后者会造成系统性标签污染;
- 标注者个人的系统偏差:三人中是否有人整体偏保守(倾向 Out)或偏激进——α 无法区分。
F.2 使用者自己的质检协议
引入语料后的 30 分钟质检建议:
- 随机抽 20 篇,人工过一遍章节边界,记录「明显不合理」的数量;
- 统计金标中「单句章节」(只有 1 句的章节)占比——异常高说明边界漂移或碎片化标注;
- 检查 Out 类占比是否符合预期(MIMIC-III 文本头部噪声是 Out 主力,若 Out 极少可能是解析错位);
- 对你最关心的 3-5 个章节类型,各抽 10 个实例目检类型正确性。
F.3 与标注成本对照的价值判断
三人逐句标注 2,002 篇 × 平均 12 章节 × 2,307 token,是数千小时级的人工投入。这也是为什么 MedSecId 的发布对社区价值巨大:任何一个团队自己重做都要付出同等的成本。反过来说,如果你要为自己的领域/语言建同类语料,MedSecId 的标注指南、50 类体系与流程就是可以直接借用的脚手架——复用方法论、不重造轮子,是本项目对后来者的最大启示之一。
附录 G:时代坐标——SI 在大模型时代的位置
G.1 为什么 LLM 时代仍需要专门的章节识别
一个常见质疑:LLM 可以直接做信息抽取,「章节识别」这个中间步骤是否已被淘汰?现实答案是否定的,理由有三:
- 成本:对批量病历做全篇 LLM 抽取的费用远高于「轻量 SI 模型过滤 → 只对相关章节调用 LLM」的两段式架构;章节识别是把 LLM 调用量压缩一个数量级的过滤器;
- 可控性:章节标签是确定性的结构信号,可以进规则引擎、可以审计、可以缓存;LLM 的中间判断不可复现;
- 评测:任何「LLM 抽取病历」的评测都需要把错误归因到位置——章节坐标系是最自然的错误定位框架。
G.2 MedSecId 在 LLM 评测中的角色
LLM-SI 工作把 MedSecId 用作 LLM 的 SI 基准,其结构性发现(电子文本尚可、传真/OCR 骤降)与大模型在其他医疗文本任务上的域外表现一致。这意味着 MedSecId 的第二生命是域鲁棒性测试床:新模型/新提示策略出来,先在 MedSecId 上看电子原生文本的分,再到真实扫描文档集上看衰减幅度——两个数字的差就是「临床落地折扣」。
G.3 对数据集建设者的启示
MedSecId 的发布模式给中文数据集建设者三点启示:
- 分离发布:标注层公开 + 受控原文引用,是绕开隐私许可死结的成熟设计;
- 基准优先:先有可复现的基线数字(哪怕 0.787 的 macro),语料才会被采用;
- 工具链随行:pip 一装就能预测(mimicsid),把采用门槛从「读论文复现三个月」降到「一下午跑通」。
附录 H:版本与引用管理建议
对需要在论文或系统中引用 MedSecId 的团队:
- 引用论文:Landes et al., COLING 2022(完整格式见 §20.4);
- 引用数据:Zenodo record 7150451(标注文件),并标注版本/下载日期;
- 引用工具:如使用 mimicsid 包,注明包版本(如 0.1.0)与 Zensols 框架;
- 引用 MIMIC-III:按 PhysioNet 要求引用 MIMIC-III 论文(Johnson et al.)与 PhysioNet 平台文献——这是 DUA 的义务之一;
- 版本锚定:本条目的硬数字(2,002/50/0.84-0.87/0.955/0.787)以论文 v1 与 Zenodo v1 标注为准;若未来出现标注修订版,以修订版论文为准重估。
H.1 与库内条目的引用链关系
在本库的知识网络中,medsecid 条目的引用链是:mimic-iii(数据源头)→ medsecid(本条,标注增值层)→ 下游应用条目(如 mimic-iv-note 迁移、synthetic-mimic-iii-health-gym 半监督扩展)。撰写相关条目时应把 medsecid 视为「MIMIC-III 文本增值族」的成员,与 phenotype-annotations-mimic(表型注释族)、mimic-cxr(影像-报告族)平行互链。
附录 A-H 与正文 §1-20 共同构成本条目。全文硬数字经 ACL Anthology 论文页、GitHub 官方仓库、Zenodo 记录与第三方引述(arXiv 2404.16294)多源互证;合规风险项(PhysioNet 凭证)已如实标注。
§17. 案例解剖:一份出院小结的章节识别
用一个典型场景把整个任务串起来。假设 MIMIC-III 中有这样一份出院小结(虚构示例,结构真实):
Service: MEDICINE
Admission Date: [日期] Discharge Date: [日期]
HISTORY OF PRESENT ILLNESS:
This is a 67-year-old man with a history of COPD and
type 2 diabetes mellitus who presented with three days
of worsening dyspnea and productive cough ...
PAST MEDICAL HISTORY:
COPD (GOLD III), type 2 diabetes mellitus, hypertension.
MEDICATIONS ON ADMISSION:
Tiotropium, metformin, lisinopril.
HOSPITAL COURSE:
The patient was admitted to the general medicine floor
and started on nebulized albuterol and systemic
steroids ...
DISCHARGE MEDICATIONS:
Prednisone taper, tiotropium, resume home medications.
FOLLOWUP: With pulmonology in two weeks.
MedSecId 的标注模型应输出:
| 句子范围 | 章节标签 | 说明 |
|---|---|---|
| Service / Admission Date 两行 | 节外(Out)或管理性章节 | 页眉类元信息,非临床章节 |
| HISTORY OF PRESENT ILLNESS: | 标题 token(HPI) | 标题识别子任务命中 |
| This is a 67-year-old man … | HPI(In) | 现病史正文 |
| PAST MEDICAL HISTORY: 及其内容 | PMH | 注意「COPD/糖尿病」在此章属既往史 |
| HOSPITAL COURSE 段落 | hospital-course | 本次住院事件,时间锚定本次入院 |
| DISCHARGE MEDICATIONS 段落 | discharge-medications | 出院带药清单 |
这份数据能立刻看出章节标签的下游价值:同是「COPD、糖尿病」,出现在 PMH 章节就应记为既往诊断;「prednisone」出现在 discharge-medications 就是出院带药而非入院前用药。一个基于 MedSecId 的前置章节识别器,能让后续的疾病/药物抽取系统的过滤逻辑从「猜上下文」变成「查标签」。
再看一个反例(域偏移场景):同一份小结如果来自传真扫描,OCR 输出可能是 H1STORY 0F PRESENT ILLNE55: 这类噪声。在 MedSecId 上训练的模型大概率认不出这个标题,整段会被误标为节外。这正是坑 4 的具体形态,也是为什么 §15 清单里要求在生产文本上另建迷你测试集。
§18. 按角色阅读路径
临床 NLP 研究者:读 §2(任务定义)→ §6(数据规模)→ §8(基线与发现)→ §14(横向对比)→ 引用论文时用 §4.1 的完整信息。你最可能的问题是「在这上面还能发什么」:稀有章节的 few-shot/层次标签、LLM 对比、跨文体迁移、中文映射研究都是开放方向。
医疗文本挖掘工程师:读 §10(获取与合规)→ §15(实操清单)→ §12(坑点)→ §17(案例)。先办凭证、先跑预训练模型、先做域适配评测,再谈自研模型。
电子病历结构化产品经理:读 §1(速览)→ §2.2(为什么重要)→ §12(坑 1/2/4/5)→ §13(DAIMS 表)。核心决策点是:你的产品文本分布与 MIMIC-III 电子原生文本差多远,以及商业用途的合规路径。
医学信息学研究生:读 §4(论文与团队)→ §7(标注方法论)→ §8.4(cui2vec 分析)。如果你想复刻一个「中文版 MedSecId」,§7 的五步流程(指南→试点→三人独立→α→消解)与 §10.1 的三层发布结构(标注公开/代码开源/文本受控)就是现成模板。
数据合规/法务:直接读 §10 全节 + §12 坑 5 + §13 DAIMS 的许可行。需要带走的一句话:标注层公开、代码层 MIT、文本层 PhysioNet 凭证且商业受限,三层不可混为一谈。
教学/课程设计者:§17 的案例可以作为课堂练习(给学生一段出院小结,让他们先手工划章节再对比模型输出);§8.2 的「GloVe 胜过医学词向量」是讨论「表示学习与任务性质关系」的好案例。
§19. 一页速查卡
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MedSecId 速查卡
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
任务 临床笔记章节识别(切分 + 50 类分类)
形式 句级 IO 序列标注 + 标题 token span 子任务
规模 2,002 份笔记 / 50 类 / 5 文体
文体 出院小结·放射·会诊·超声心动·医生病程
标注 2 主治 + 1 高年资住院医;α = 0.84-0.87
基线 BiLSTM-CRF(GloVe300D) MiF1 .955 / MaF1 .787
对照 正则基线 α 仅 0.54;BERT 句级更快更稳
反直觉 通用 GloVe > 医学词向量(本任务)
软肋 长尾章节;传真/OCR 域外骤降(LLM-SI)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
获取三层
标注 Zenodo record 7150451(公开)
代码 github.com/uic-nlp-lab/medsecid(MIT)
pip install zensols.mimicsid(含预训练模型)
原文 MIMIC-III v1.4 NOTEEVENTS
→ PhysioNet 凭证:注册+CITI+DUA+审核【风险项】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文 Landes et al., COLING 2022, pp.3709-3721
DOI 10.18653/v1/2022.coling-1.326
版本链 MIMIC-III v1.4 → 标注 v1 → mimicsid 0.1.0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
五坑速记 ①无原文 ②勿只看MiF1 ③正则不够
④域偏移 ⑤许可三层
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
§20. 附记与存照
20.1 双口径存照
- 标注者人数:论文与官方摘要页口径为「2 名 attending physicians + 1 名 senior resident」共 3 人;个别二手转述简化为 physicians。本条目按三人口径成稿;
- 50 种章节类型:数字源自论文表格;第三方 LLM-SI 论文引述的「平均 12 sections/doc」与之互证一致。逐类清单未在本条目内逐一复核,检索者以 Zenodo 标注文件实测为准;
- 获取许可:「Zenodo 标注公开」与「原文需 PhysioNet 凭证」并存而非矛盾——标注层与文本层本就分属不同许可体系(§10.1 三层表)。Zenodo record 7150451 的 license 字段细节未直接抓取核验,列为遗留疑点。
20.2 遗留疑点
- Zenodo 页面的 license 字段与标注文件内是否含去标识原文片段,均以检索者下载后实测为准;本条目按「span/label 为主」的保守口径表述;
- MIMIC-III 访问政策的未来变更(PhysioNet 曾多次升级凭证要求)可能影响获取路径的细节,使用前请以 physionet.org 当前页面为准;
- LLM 时代在 MedSecId 上的最新 SOTA 数字持续刷新,本条目以论文原基线(0.955/0.787)为准锚,后续模型成绩请查阅最新文献。
20.3 建议互链点(供主会话回填 rid 后核对)
- mimic-iii(rid=106):上游数据库;
- mimic-iv-note(rid=47):后继笔记库,迁移目标;
- i2b2-n2c2-nlp(rid=14):同域共享任务语料家族;
- synthetic-mimic-iii-health-gym(rid=597):合成文本扩展语料;
- mimic-cxr(rid=16):放射报告同构语料;
- phenotype-annotations-mimic(rid=594):MIMIC-III 注释家族互参。
20.4 引用格式
如使用本语料,请引用:
Landes, P., Patel, K., Huang, S. S., Webb, A., Di Eugenio, B., & Caragea, C. (2022). A New Public Corpus for Clinical Section Identification: MedSecId. Proceedings of the 29th International Conference on Computational Linguistics (COLING 2022), 3709-3721.
同时遵守 PhysioNet 对 MIMIC-III 的引用要求(引用 MIMIC-III 论文与 PhysioNet 平台文献)。
本条目由千方病案医数集编辑部依据一手来源(ACL Anthology、Zenodo、GitHub、PhysioNet 文档及后续引述文献)编写,硬数字经多源互证;编写日期 2026-10-17。
附录 I:50 类章节分组导读
论文的 50 种章节类型可按功能归为若干组。本附录按组导读,帮助使用者在设计下游系统时快速定位「我关心的信息在哪个标签里」。以下分组基于论文类型表与 MIMIC-III 文体常识归纳(逐类频次请以 Zenodo 标注实测为准)。
I.1 病史叙事组(历史性信息)
| 类型 | 含义 | 下游用途 |
|---|---|---|
| History of Present Illness | 现病史:本次发病的叙述 | 症状时间线抽取、发病诱因 |
| Past Medical History | 既往史:既有诊断 | 既往诊断清单(注意与本次入院诊断区分) |
| Past Surgical History | 既往手术史 | 手术史结构化 |
| Family History | 家族史 | 家族遗传风险,非患者本人诊断 |
| Social History | 社会史:烟酒、职业、生活 | 危险因素抽取 |
| Allergies | 过敏史 | 用药安全校验的第一道闸 |
这一组是「上下文过滤器」价值最高的部分:同一个疾病名词在 HPI / PMH / FH 三个章节的语义角色完全不同。任何疾病编码(ICD 映射)或时间线系统都应以此为第一层路由。
I.2 检查与测量组(客观发现)
| 类型 | 含义 | 下游用途 |
|---|---|---|
| Physical Exam | 体格检查 | 体征抽取(生命体征之外的主查体) |
| Vital Signs | 生命体征 | 数值型结构化 |
| Pertinent Results / Labs | 辅助检查/化验 | 检验数值关联 |
| Radiology / Imaging | 影像相关章节 | 影像发现抽取 |
| Procedures | 操作/手术记录 | 事件抽取(与既往手术史区分:本次住院 vs 既往) |
| Measurements(echo 等) | 测量参数区 | 数值表格解析 |
I.3 诊疗决策组(计划与判断)
| 类型 | 含义 | 下游用途 |
|---|---|---|
| Assessment | 评估:医生对病情的判断 | 诊断推理文本,含大量鉴别诊断 |
| Plan | 计划:后续处置 | 医嘱意图抽取 |
| Assessment and Plan | 评估+计划合写体 | 同上(美式病历常见合写) |
| Hospital Course | 住院经过:本次住院事件流水 | 事件时间线的主战场,F1>0.99 的高频章节 |
| Discharge Diagnosis / Diagnoses | 出院诊断 | ICD 编码的主源 |
| Admission Diagnosis | 入院诊断 | 与出院诊断对照可算诊断漂移 |
| Discharge Medications | 出院带药 | 用药清单结构化 |
| Discharge Condition | 出院状态 | 结局评估 |
| Followup | 随访安排 | 随访提醒生成 |
| Discharge Instructions | 出院指导 | 患教材料抽取 |
I.4 放射报告组
| 类型 | 含义 |
|---|---|
| Indication / Clinical Information | 检查指征 |
| Technique | 检查技术与参数 |
| Comparison | 与既往影像对比 |
| Findings | 所见:逐器官描述 |
| Impression | 印象:结论段,下游抽取重点 |
I.5 管理性与节外组
包含服务/日期头、签署信息、页眉页脚残留等,多数被标为 Out 或管理性章节。清洗流水线应首先剥离这部分,减少 SI 模型的无效输入。
I.6 使用提醒
- 上述名称是英文标签的语义归纳,实际标签串以标注文件为准(存在连字符变体、大小写变体,解析时统一 normalize);
- 同一功能在不同文体下标签不同(出院小结的「诊断」与病程记录的「assessment」不等价),跨文体合并抽取时要建立标签映射层;
- 长尾章节多集中在 I.2 检查组与专科小节,评测时优先盯这组的 macro 贡献。
附录 J:十二周实践课程设计(基于 MedSecId 的学习路线)
面向想在临床 NLP 方向建立实战能力的团队/学生,以下是一套以 MedSecId 为主线的十二周课程设计。
阶段一:基础与环境(第 1-2 周)
- 第 1 周:读论文(§4.1 引用);办 PhysioNet 凭证(§10.2 流程启动);跑通 mimicsid 安装与对样例文本的预测。里程碑:看到第一份章节预测输出。
- 第 2 周:解析 Zenodo 标注,统计 50 类分布;做附录 F 的 30 分钟质检协议。里程碑:一张自己生成的标签频次表 + 分文体规模表。
阶段二:复现与理解(第 3-5 周)
- 第 3 周:拼合金标(原文 + 标注),人工抽查 20 篇;理解 IO 编码与 span 对齐的坑。
- 第 4 周:用官方配置重训 BiLSTM-CRF;对照 0.955/0.787。
- 第 5 周:实现句级 BERT 对照;观察长文档行为差异(§8.3)。里程碑:两条基线都能跑,误差分析报告第一版。
阶段三:改进与评测(第 6-9 周)
- 第 6 周:分文体评测;找出自己最差文体(预期:病程记录)。
- 第 7 周:分章节类型评测;定位长尾短板(对照附录 I 分组)。
- 第 8 周:尝试一项改进(稀有类加权/层次分类/数据增强),量化 macro F1 提升。
- 第 9 周:错误分析三类画像(§B.4);写中期报告。
阶段四:域迁移与生产化(第 10-12 周)
- 第 10 周:构造迷你真实世界测试集(50-100 份传真/OCR/异构文本),量化域偏移(LLM-SI 口径)。
- 第 11 周:部署架构实验(§B.5):文本规整层 + 文体路由 + 置信度过滤;测延迟与吞吐。
- 第 12 周:结题——完整技术报告(数据、基线、改进、域偏移、部署),并把代码整理为可复现仓库。
配套阅读建议
- 论文本体(COLING 2022)——精读 §语料构建与 §分析两章;
- LLM-SI(arXiv 2404.16294)——域偏移与 LLM 对照;
- Zensols 框架文档——工程实现细节;
- i2b2 2010 任务论文——同域任务方法论对照。
评估量表建议
| 周次 | 可量化里程碑 |
|---|---|
| 2 | 标签分布表 + 质检通过 |
| 5 | 复现基线偏差 <±0.005 |
| 8 | macro F1 相对提升(自定目标 ≥+0.01) |
| 10 | 域偏移幅度报告(电子 vs 扫描) |
| 12 | 端到端演示 + 可复现仓库 |
附录 K:MIMIC 文本生态地图与本库互链深度图
K.1 生态地图
以 MIMIC-III NOTEEVENTS 为圆心,临床文本资源的生态可以画成四圈:
- 第一圈(原始库):MIMIC-III 本体、MIMIC-IV / MIMIC-IV-Note(后继版本)。提供受控原文;
- 第二圈(标注增值层):MedSecId(章节)、i2b2 系共享任务语料(概念/关系/断言)、表型注释类资源(phenotype-annotations-mimic 等)。把自由文本变成结构信号;
- 第三圈(模型与方法层):mimicsid/Zensols(SI 工具链)、各类临床 BERT/LLM 与它们的评测集。消费第二圈语料;
- 第四圈(派生与合成层):合成临床文本(synthetic-mimic-iii-health-gym)、问答派生集、多模态对齐集(mimic-cxr 的图文对)。扩展覆盖面或降低门槛。
MedSecId 位于第二圈,且在第二圈中占据独特生态位:它是唯一以「文档结构」为对象的公开大规模标注——其他第二圈资源都在做「内容」(什么疾病、什么药、什么关系),只有它做「骨架」(文本怎么组织)。骨架先于内容:任何内容抽取系统都隐含依赖一个骨架假设。
K.2 库内互链的六条边(深度说明)
- mimic-iii(rid=106)→ medsecid:数据血缘边。引用 MedSecId 的研究几乎必然同时引用 MIMIC-III;两个条目互为对方「获取路径」章节的必读前置。
- medsecid → mimic-iv-note(rid=47):迁移边。MIMIC-IV 的笔记文体与 MIMIC-III 高度同源(同院系、同书写习惯的延续),MedSecId 模型向 MIMIC-IV-Note 迁移是零标注成本的冷启动,也是论文未做但社区自然延展的方向。
- medsecid ↔ i2b2-n2c2-nlp(rid=14):方法论姊妹边。i2b2 2010 的概念/断言/关系任务与 SI 构成「骨架→内容」的流水线两段;i2b2 语料的出院小结子集本身就是章节识别的适用对象。
- medsecid → mimic-cxr(rid=16):文体专项边。MIMIC-CXR 的报告与 MedSecId radiology 子集同构,Indication/Findings/Impression 标签可直接复用;反向,MIMIC-CXR 的报告结构化工作可以把 MedSecId 放射子集当预训练。
- medsecid → synthetic-mimic-iii-health-gym(rid=597):扩展边。合成文本若保真章节结构,可作为 SI 的自训练语料;反过来用 SI 模型给合成文本打章节标签,也是检验合成保真度的一种探针。
- medsecid ↔ phenotype-annotations-mimic(rid=594):注释家族边。同为「MIMIC-III + 人工注释」家族,标注组织、一致性报告、发布模式三者互为参照系。
K.3 端到端流水线整合示例
把库内条目串成一条「入院文本 → 结构化病史」的完整流水线:
MIMIC-III 原文(rid=106 条目)
│
├─ MedSecId 模型(本条)→ 章节骨架
│ │
│ ├─ FH/PMH 章节 → i2b2 概念抽取(rid=14 条目方法)→ 疾病/用药实体
│ │ └─ 断言/时间状态标注
│ ├─ Impression 章节 → 影像发现抽取(对接 mimic-cxr rid=16)
│ └── Out/管理章节 → 丢弃或归档
│
└─ 无标注扩充:合成文本(rid=597 条目)半监督
这条流水线里,MedSecId 是唯一提供「章节坐标系」的环节——没有它,下游每个抽取器都要各自猜上下文,错误会互相放大。
附录 L:伦理、监管与合规深读
L.1 为什么 MedSecId 采取「标注与原文分离」的发布设计
临床文本的公开化存在一个两难:直接发布去标识文本仍可能面临再识别风险(组合信息攻击)与许可义务;完全不发布又让研究无法复现。MedSecId 的解法是把「结构知识」(标注)与「受控内容」(原文)切开:标注本身不含可识别信息(只有位置与类别),可以自由流通;原文继续留在 PhysioNet 凭证体系内。这个设计已成为临床数据发布的重要参考模式(后被多个语料项目效仿)。
对使用者的含义:你从 Zenodo 下载的东西不涉及患者隐私风险;隐私与许可义务全部集中在「你如何获得并使用 MIMIC-III 原文」这一步。
L.2 PhysioNet DUA 的核心义务清单
签署 DUA 即承诺(要点归纳,全文以签署版本为准):
- 不试图识别或联系个体患者;
- 不向未通过凭证流程的第三方再分发数据(包括原文与原文衍生的敏感形态);
- 不将数据用于 DUA 声明以外的用途;
- 引用义务:使用数据的研究须引用 MIMIC-III 论文与 PhysioNet;
- 发现潜在再识别风险时有报告义务。
团队管理提示:凭证是个人级的——项目成员变动时要为新人单独走流程;不要共享账号或把原文放到未授权成员可访问的存储里。
L.3 商业使用的边界
Credentialed Health Data License 对商业活动的限制集中在于「数据的再分发与直接售卖」,而对「使用受控数据训练的模型/洞察」的边界在社区讨论中一直存在灰色地带(各版本条款与 PhysioNet FAQ 有具体表述)。稳妥做法:
- 任何商业立项前,把用途描述发给 PhysioNet 官方渠道确认;
- 区分「模型权重」(通常风险较低)与「原文/原文片段」(明确受限);
- 产品中绝不出现可回溯到 MIMIC-III 原文的文本。
L.4 中文场景的对应义务
中文病历数据的对应义务体系不同(个保法、数安法、卫健委病历规定),且通常不存在「公开标注层」的合法空间。机构内复刻 MedSecId 模式时,最小可行方案是:标注层与原文层同样分离,但两者都留在机构内网,对外只发布方法论与统计描述。
附录 M:写作与引用事实核对清单(编辑部用)
本条目成稿过程中采用的事实核对清单,供后续维护者更新时复用:
| # | 事实点 | 来源 | 状态 |
|---|---|---|---|
| 1 | 论文题目/作者/页码/DOI | ACL Anthology 2022.coling-1.326 | 已核 |
| 2 | 2,002 份笔记 | 论文正文 + 第三方引述(arXiv 2404.16294) | 双源一致 |
| 3 | 50 种章节类型 | 论文类型表 | 已核(逐类清单未抄录,见存照) |
| 4 | 5 类文体 | 论文与 GitHub README | 双源一致 |
| 5 | 标注者 2 主治 + 1 高年资住院医 | 论文口径 | 已核 |
| 6 | α = 0.84-0.87;正则 α = 0.54 | 论文 | 双源一致 |
| 7 | BiLSTM-CRF MiF1 0.955 / MaF1 0.787 | 论文 + 第三方引述 | 双源一致 |
| 8 | 平均 12 章节/篇(SD 5.7)、平均 2,307 token | arXiv 2404.16294 引述 | 第三方口径,存照 |
| 9 | Zenodo record 7150451 | GitHub README 指向 | 已核(license 字段未直抓,存照) |
| 10 | mimicsid MIT、版本链 0.0.2-0.1.0 | GitHub/PyPI | 已核 |
| 11 | PhysioNet 凭证流程与 License 1.5.0 | PhysioNet 文档口径 | 已核(【风险项】) |
| 12 | LLM-SI 域偏移结论 | arXiv 2404.16294 | 已核 |
维护提示:以上任一事实点若在后续版本中发生变化(如标注 v2、许可改版),应同步更新正文 §6-§11、DAIMS 表(§13)与本清单,并在 §20 存照区追加变更记录。
附录 N:故障排查手册(Troubleshooting)
按症状索引的排查手册,覆盖从获取到部署各阶段的高频故障。
N.1 获取阶段
症状 1:Zenodo 下载链接 404 或 record 跳转。
排查:Zenodo 可能做了版本合并(concept record 与 version record 的区分);从 GitHub uic-nlp-lab/medsecid README 的最新指向链接进入,而不是收藏旧链接。仍失败则在 Zenodo 搜索 “MedSecId section identification”。
症状 2:PhysioNet 审核被拒。
常见原因:CITI 证书与注册姓名不一致、未上传最新课程结业、机构信息模糊。处置:按拒绝信逐条补件重交,通常一轮可过;不要重复注册新账号(会触发风控)。
症状 3:拿到 NOTEEVENTS 但找不到标注对应的笔记 ID。
排查:确认两端用的是同一 ID 体系(MIMIC-III ROW_ID);确认你下载的 MIMIC-III 是 v1.4(早期版本笔记集略有出入);抽查 5 条标注 ID 在 NOTEEVENTS 的 ROW_ID 列中精确匹配。
N.2 数据拼合阶段
症状 4:span 对齐错位、标签看起来「漂移」。
排查(按概率排序):
- 拼合前对原文做了空白字符 normalize(换行/制表符改动导致偏移)——保留原始字节重新对齐;
- 句子切分器与标注时用的不同——改用 Zensols 同款切分;
- 编码问题(非 UTF-8 读写)——全程强制 UTF-8。
症状 5:解析出的标签数量远少于预期。
排查:只解析了部分文件(压缩包内有分层目录);或过滤条件写错(如把 Out 也当作需要章节类型的记录)。打印每种标签的计数与文件级清单定位。
N.3 训练阶段
症状 6:复现 Micro F1 明显低于 0.955(如 <0.93)。
排查顺序:切分器是否同款 → 词向量是否 GloVe 300D 同款 → 划分是否官方划分 → CRF 解码层是否启用 → span 对齐是否有 N.4 类错位。逐项二分定位。
症状 7:Macro F1 特别低(<0.70)而 Micro 正常。
多为长尾类基本没学到:检查稀有类是否被采样策略淹没;尝试类别加权或对稀有类过采样;先确保训练没有把稀有类样本因批处理截断丢弃。
症状 8:训练 OOM / 超慢。
token 级整篇输入对显存压力大:按笔记长度分桶、限制单批总 token 数;CPU 训练建议直接用句级 BERT 方案(更小更稳)。
N.4 评测阶段
症状 9:自测分数与官方对不上但误差很小(±0.005)。
属正常方差(随机种子、子词版本差异)。用多种子均值再比较。
症状 10:分文体评测时放射子集分数异常高/低。
检查文体判定来源:不要用笔记长度猜测文体,应使用 NOTEEVENTS 的 CATEGORY 字段或标注文件自带的来源标记。
N.5 推理与部署阶段
症状 11:生产文本预测出的章节「全是 Out」。
排查:文本规整层把标题行破坏了(如全角/半角转换、大写折叠);OCR 质量过差(坑 4);或输入被截断到前 512 token。先人工看 5 条输入的规整后形态。
症状 12:预测边界抖动(同篇文本两次预测结果不同)。
确认推理关闭 dropout/采样(eval 模式);CRF 解码是确定性的,抖动只能来自随机性未关或批处理动态 pad 差异——固定 pad 到 bucket 边界可复现。
症状 13:长文档被静默截断。
句级方案滑窗时若只取前 N 句会丢尾部章节:统计输入长度分布,超限样本必须走分块合并策略而非静默截断;在监控里加「超长样本计数」。
N.6 排查通用原则
- 二分定位:把流水线切成「获取→拼合→训练→解码→部署」五段,先确定问题在哪段;
- 最小样本:用 1 篇短放射报告做端到端冒烟,人眼核对每一步输出;
- 以官方数字为锚:任何自研改动先在官方配置上复现基线,再谈修改;
- 留档:每个修复写一行根因与处置,积累成团队自己的 lessons(与本库 lessons.json 同精神)。
附录 O:使用场景速配表(数据卡片变体)
不同角色在不同项目阶段,真正需要动用的 MedSecId 子集与工件并不相同。本附录把「谁、在什么阶段、用哪一层、产什么」压成一张速配表,并给出每条场景的最小成功判据。
O.1 场景速配表
| 场景 | 需要的层 | 核心工件 | 最小成功判据 |
|---|---|---|---|
| 论文基准评测(SI 任务) | 标注层 + 文本层 | 官方划分 + 复现 repo | MiF1 复现偏差 ≤±0.005 |
| 病历结构化系统预研 | 三层全要 | mimicsid 预训练模型 | 在 50 份自有文本上人工抽检可用率 ≥80% |
| 下游 NER 前置过滤 | 预训练模型即可 | zensols.mimicsid | 目标章节召回不因过滤而下降 |
| 合成数据质量探针 | 预训练模型 | 合成文本 + SI 打标 | 章节结构异常率可量化输出 |
| 中文迁移可行性研究 | 标注层 + 论文 | 附录 C 映射表草案 | 50 类映射覆盖率报告成文 |
| 教学/课程 | 标注层(可仅部分) | 附录 J 十二周路线 | 里程碑表全部达成 |
| 合规评估 | 论文 + 许可文本 | §10 + 附录 L | 出具书面合规意见 |
| 域鲁棒性评测(LLM 时代) | 三层全要 + 自建扫描集 | LLM-SI 口径 | 电子 vs 扫描衰减幅度报告 |
O.2 各场景的常见变体操作
只关心放射报告的团队:从标注中过滤 radiology 来源子集,直接复用 Indication/Findings/Impression 标签;可跳过出院小结相关章节的复杂度,训练时间缩短一个量级。
只想做「标题行检测」的团队:使用标题 token span 子任务标签,训练 token 级二分类即可;这是 SI 的轻量替代,适合算力受限场景,但会失去章节类型信息。
要构建「章节感知问答」的团队:先用 SI 模型把语料切成章节,把「章节类型 + 章节文本」作为检索单元(而非整篇笔记)建索引;检索命中后携带章节类型提示 LLM 作答,可显著减少跨章节混淆型错误。
要做模型蒸馏/轻量化:教师用论文级 BiLSTM-CRF,学生用小型 Transformer 或 CNN;蒸馏目标除 IO 标签外,加入 CRF 边缘概率(软标签),对边界句效果更好。
O.3 场景切换时的资产复用提示
- 拼合好的金标(原文+span)是所有场景的公共资产,先把它做成版本化的内部数据包(附拼合脚本与校验和),避免各场景重复拼合产生不一致副本;
- 分文体/分章节的评测脚本是第二公共资产,写一次处处复用;
- 迷你真实世界测试集(§15 第 8 步产出)是域适配场景的长期资产,随生产文本分布演化定期扩充。
附录 P:与 i2b2 任务的流水线对接实例
给出一个把 MedSecId 与 i2b2 2010 风格任务串起来的具体对接实例,展示「骨架→内容」两段式流水线的接口设计。
P.1 接口约定
MedSecId 环节的输出契约(建议的中间表示):
{
"note_id": 123456,
"note_type": "discharge_summary",
"sections": [
{"label": "past_medical_history",
"start_sent": 3, "end_sent": 5,
"header_text": "PAST MEDICAL HISTORY:",
"confidence": 0.98},
{"label": "hospital_course",
"start_sent": 6, "end_sent": 14,
"header_text": "HOSPITAL COURSE:",
"confidence": 0.99}
]
}
下游 i2b2 风格抽取环节按 label 路由:family_history/past_medical_history 章节内的疾病提及默认「非本次、非本人/本人既往」断言状态;hospital_course 章节内的时间表达式锚定本次住院;discharge_medications 章节内的药物提及默认「出院带药」。
P.2 断言继承规则示例
| 章节标签 | 疾病提及默认断言 | 时间锚点 |
|---|---|---|
| history_of_present_illness | 本次发病过程叙述 | 本次入院前 |
| past_medical_history | 确认存在、属既往 | 入院前长期 |
| family_history | 存在于家族成员 | 无患者级时间 |
| hospital_course | 本次住院期间事件 | 本次入院起 |
| discharge_diagnoses | 出院确认诊断 | 出院时点 |
| assessment | 医生当前判断 | 当前 |
这些规则把「章节坐标系」翻译成下游可执行的先验,是 SI 价值的最直接变现方式。
P.3 失败模式与降级
- SI 置信度低于阈值 → 该章节整段送人工/LLM 复核队列,不做先验断言;
- 文本被判定为扫描/OCR 域 → 走增强规整层后再进 SI,或直接跳过先验(退化为无章节模式);
- 章节标签不在体系内(未见过的新标题)→ 归入「其他」,并累积样本供下一轮标注扩充。
(附录 O-P 完。全文 §0-§20 与附录 A-P 共同构成本条目。)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- labelled-notes-hospital-course — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 临床电子病历 / 评测基准
- mediqa — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 临床电子病历 / 评测基准
- ehrsql — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 临床电子病历 / 评测基准
- deidentified-medical-text — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 临床电子病历 / 评测基准
- synsum — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 临床电子病历 / 评测基准
- primock57 — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 评测基准
- trec-ct-2021 — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 评测基准
- medagentbench — 共享标签:医疗NLP / 电子健康记录 / 临床电子病历 / 评测基准
- mimic-patient-json — 共享标签:临床文本 / 电子健康记录 / 临床电子病历 / 评测基准
- generated-codes-low-resource — 共享标签:医疗NLP / 临床文本 / 电子健康记录 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

