大模型医疗电子病历知识图谱自动构建:编码器-解码器模型最优、精确率和召回率上均达到90%以上
论文大纲
├── 1 知识图谱构建研究【研究主题】
│ ├── 研究背景【背景概述】
│ │ ├── 医疗数据来源【数据基础】
│ │ │ ├── PubMed数据库【文献来源】
│ │ │ └── 电子病历(EMR)【临床来源】
│ │ └── 知识图谱应用【应用领域】
│ │ ├── 药物研发【具体应用】
│ │ ├── 临床试验设计【具体应用】
│ │ └── 医疗信息辨识【具体应用】
│ └── 研究方法【技术路线】
│ ├── LLM模型选择【模型应用】
│ │ ├── 编码器模型【架构类型】
│ │ ├── 解码器模型【架构类型】
│ │ └── 编码器-解码器模型【架构类型】
│ └── 关系提取【核心任务】
│ ├── 疾病实体【实体类型】
│ ├── 因素实体【实体类型】
│ ├── 治疗方案【实体类型】
│ └── 共现表现【实体类型】
├── 2 实验评估【评估体系】
│ ├── 数据集构建【数据准备】
│ │ ├── 病历数据收集【数据来源】
│ │ └── 数据预处理【数据处理】
│ └── 性能评估【评估维度】
│ ├── 精确率评估【评估指标】
│ ├── 召回率评估【评估指标】
│ └── 模型可靠性【评估指标】
└── 3 研究发现【研究结论】
├── 模型性能【结果分析】
│ ├── 编码器-解码器模型表现最佳【性能比较】
│ └── 解码器模型需要进一步研究【改进方向】
└── 实际应用【应用价值】
├── AMD病例分析【案例研究】
└── 知识发现潜力【应用前景】
理解
- 背景和具体问题:
论文聚焦于生物医学知识图谱(KG)的自动构建问题。
具体是要解决如何从电子病历(EMR)笔记中提取疾病、因素、治疗方法以及与疾病共存的表现等实体之间的关系,以构建知识图谱。
- 概念性质:
- KG是一种用图结构组织和表示知识的工具
- 节点代表特定领域内的实体
- 边代表实体之间的关系
性质产生原因:图形化抽象相比传统表示方法有诸多优势,可以清晰展示实体间的关系。
-
举例对比:
正例:通过KG识别蛋白质功能、药物重新定位、检测医疗保健错误信息。
反例:传统的文本数据库无法直观展示实体间的关系网络,不利于知识发现。 -
类比理解:
KG就像一张蜘蛛网,其中:
- 蜘蛛网的节点相当于医学实体(如疾病、治疗方法等)
- 蛛丝相当于实体间的关系
-
概念介绍与总结:
知识图谱是一种结构化的知识表示方法,通过节点表示实体,通过边表示关系,形成网状的知识结构。在医疗领域,它可以帮助发现药物、设计临床试验等。 -
概念重组:
知识图谱是将零散的知识点通过图的形式连接起来,形成系统的知识网络。 -
与上文关联:
这篇论文提出使用大语言模型从EMR笔记中自动构建KG,这是对传统人工构建方法的创新。 -
规律发现:
主要矛盾:如何准确地从非结构化医疗文本中提取实体关系
次要矛盾:
- 不同架构LLM的性能差异
- 提示工程的设计
- 输出结构化的问题
-
功能分析:
核心功能:自动从医疗文本中提取知识并构建关系网络
实现方式:使用LLM进行关系抽取,结合特定的提示设计 -
来龙去脉:
- 起因:医疗领域需要自动化的知识发现工具
- 经过:提出基于LLM的端到端解决方案
- 结果:证明了编码器-解码器模型在临床关系提取任务中表现最佳
主要目标
如何从电子病历记录(EMR)笔记中自动构建生物医学知识图谱?
问题分解与解决方案
- 如何识别疾病相关的临床笔记?
- 使用UMLS元叙词表匹配疾病表达
- 使用BioBERT NER模型提取疾病实体
- 计算余弦相似度处理拼写错误
- 如何从笔记中提取关系信息?
- 设计三类问题模板(治疗、因素、共存症状)
- 使用大模型回答问题
- 基于概率阈值和出现频率筛选关系
这是使用 编码器-解码器 模型通过指令式提示构建的AMD(年龄相关性黄斑变性)知识图谱,分为三列:
- 治疗方法:如AREDS维生素、Avastin等
- 风险因素:如玻璃体疣、遗传因素等
- 共存症状:如视力下降、视物变形等
红色标记表示错误值,橙色标记表示模型遗漏的值。
- 如何评估不同模型的表现?
- 使用人工标注的数据集进行精确率和召回率评估
- 对比不同架构的12种模型
- 分析模型的安全性和可靠性
解决方案的金手指
- 使用大语言模型进行开放式问答
- 优点:无需显式规则,可以理解上下文
- 挑战:需要正确的提示工程
- 基于指令的提示工程
- 明确任务说明
- 规范输入输出格式
- 引导模型专注于上下文信息
- 概率阈值筛选机制
- 设置最小概率阈值(0.1)
- 设置最小出现次数阈值(10次)
- 有效减少错误关系
效果展示
以年龄相关性黄斑变性(AMD)为例:
- 成功识别了关键治疗方案(如AREDS维生素)
- 准确提取了风险因素(如吸烟、遗传)
- 识别相关症状(如视力下降)
- 相比SemMedDB发现了更多有价值的关系
这个框架的主要优势在于将复杂的知识图谱构建问题分解为可管理的子任务, 并利用大模型的强大能力来理解医疗文本, 通过精心设计的提示工程来保证输出质量。
层级分析
1. 层级结构分析
叠加形态
从底层到高层的知识提取过程:
- 基础层:原始EMR笔记文本
- 实体层:疾病、治疗、因素、症状等医学实体
- 关系层:实体间的语义关系
- 知识图谱层:结构化的医学知识网络
构成形态
小部分组成大部分,涌现新能力:
- 单个临床记录 → 疾病相关记录集合
- 离散的实体提取 → 实体关系网络
- 独立的关系 → 完整的知识图谱系统
- 涌现能力:可用于药物发现、临床试验设计等
分化形态
从核心任务分化出的子任务:
- 文本预处理
- 相似度计算
- 模板去重
- 短文本过滤
- 疾病识别
- UMLS匹配
- BioBERT抽取
- 相似度计算
- 关系抽取
- 问题设计
- 模型选择
- 答案处理
2. 线性结构分析
处理流程的发展趋势:
- 数据收集 → 2. 预处理 → 3. 疾病识别 → 4. 关系抽取 → 5. 后处理 → 6. 知识图谱构建
3. 矩阵结构分析
模型性能评估矩阵:
- 横轴:医学实体类型(治疗、因素、共存症状)
- 纵轴:模型架构(编码器、解码器、编码器-解码器)
- 单元格:精确率和召回率指标
4. 系统分析
核心组件间的相互作用:
- 输入系统:EMR笔记
- 处理系统:
- 预处理模块
- 实体识别模块
- 关系抽取模块
- 输出系统:知识图谱
- 反馈系统:人工评估和验证
这个复杂系统的理解需要多框架结合:
- 用层级结构理解系统的组成和演化
- 用线性结构掌握处理流程
- 用矩阵结构评估模型效果
- 用系统分析理解组件交互
全流程
2. 全流程优化分析
多题一解
特征:医疗文本中的关系抽取任务
- 共用特征:非结构化文本、领域专业性、关系复杂性
- 共用解法:基于LLM的问答式关系抽取
- 适用场景:药物发现、临床试验设计、医疗知识图谱构建
一题多解
针对知识图谱构建的不同解法:
-
规则基础方法(如SemRep)
- 特征:规则明确、可解释性强
- 缺点:规则复杂、扩展性差
-
传统机器学习方法
- 特征:基于特征工程
- 缺点:需要大量标注数据
-
本文LLM方法
- 特征:灵活性强、无需大量标注
- 优点:可处理复杂语境、扩展性好
3. 输入输出示例
以AMD(年龄相关性黄斑变性)为例:
输入示例:
EMR笔记:
患者确诊干性AMD,建议服用AREDS维生素以延缓病情进展。
有吸烟史,建议戒烟。家族史显示其母亲也患有AMD。目前主要症状为视物模糊和中心视力下降。
处理流程:
- 预处理:清洗文本、去重
- 疾病识别:识别"AMD"
- 关系抽取:
- 治疗关系:“AREDS维生素”
- 风险因素:“吸烟史”、“家族史”
- 共存症状:“视物模糊”、“中心视力下降”
输出示例:
知识图谱:
- 疾病:AMD
|-- 治疗:AREDS维生素
|-- 风险因素:
|-- 吸烟
|-- 家族史
|-- 症状:
|-- 视物模糊
|-- 中心视力下降
这种方法的优势在于:
- 自动化程度高
- 可扩展性强
- 准确率高
- 可处理非结构化文本
核心模式
- 数据流压缩:EMR笔记 → 知识图谱
原始EMR笔记
→ {相似度去重}
→ {疾病匹配+实体识别}
→ {问答式关系抽取}
→ 知识图谱
- 问题模板压缩
所有医疗关系
→ 3类核心关系:
- 治疗(treats)
- 因素(affects)
- 共存(coexists_with)
- 模型评估压缩
12种LLM架构
→ 3类基本架构:
- 编码器:最稳定
- 解码器:需要更多指导
- 编码器-解码器:表现最佳
- 提示工程压缩
所有提示策略
→ 3层核心要素:
- 任务说明(做什么)
- 输入规范(用什么)
- 输出格式(怎么做)
发现的核心模式
- 三元组模式
- 实体识别:{疾病, 治疗, 因素, 症状}
- 关系抽取:{主体, 关系, 客体}
- 结构评估:{精确率, 召回率, 架构类型}
- 双阈值筛选模式
关系有效性 = min_prob(0.1) + min_occur(10)
- 验证-改进循环
提示 → 响应 → 评估 → 优化提示
- 分层抽象模式
文本 → 实体 → 关系 → 知识图谱
通过这种压缩,我们可以看到该论文的创新点在于:
- 将复杂的知识抽取简化为问答任务
- 用三类关系覆盖大部分医疗知识
- 用结构化提示增强模型表现
这种压缩不仅保留了关键信息,还揭示了系统的基本规律:
- 医疗关系可以用少量模板表达
- LLM性能与提示质量强相关
- 多重验证保证结果可靠性
这种模式不仅适用于该论文的AMD案例,还可推广到其他医疗领域的知识图谱构建。
数据分析
1. 数据收集
- 来源:Macula & Retina Institute临床数据
- 规模:
- 10,000名患者记录
- 360,000条临床笔记
- 122种独特眼部疾病
- 时间范围:2008-2023年
- 数据类型:非结构化医生观察笔记、治疗计划、患者护理记录
2. 数据规律挖掘
-
文本相似度模式:
- 发现临床笔记中存在大量模板化重复内容
- 通过余弦相似度计算识别重复片段
- 保留信息量较大的记录
-
疾病表达模式:
- 同一疾病有多种表达方式
- 存在拼写错误和缩写
- 需要统一标准化处理
3. 相关性分析
找到易获取数据与难获取数据之间的关联:
易获取数据 | 难获取数据 | 关联方式 |
---|---|---|
医生笔记文本 | 疾病-治疗关系 | 通过LLM问答提取 |
疾病名称变体 | 标准疾病名称 | 通过相似度匹配 |
文本描述 | 结构化知识 | 通过模板化问题 |
关键发现:
- 通过结构化提问可以从非结构化文本中提取关系
- 使用相似度计算可以处理拼写变体
- 利用概率阈值可以过滤不可靠关系
4. 数学模型建立
- 疾病识别模型:
相似度(d1, d2) = cosine(embedding(d1), embedding(d2))
匹配条件:相似度 > threshold_notes_identification (0.8)
- 关系抽取模型:
关系可靠性 = P(relation) = avg(scores)
关系有效性 = {
True if P(relation) ≥ 0.1 && occurrence ≥ 10
False otherwise
}
- 知识图谱构建模型:
KG = {(disease, relation_type, entity) |
relation_type ∈ {treats, affects, coexists_with},
P(relation) ≥ threshold_probability,
occurrence ≥ threshold_occurrence}
这个模型的价值在于:
- 可复现性:模型可以应用到其他医疗机构的EMR数据
- 可扩展性:可以添加新的关系类型和实体类型
- 可验证性:通过精确率和召回率评估模型效果
- 实用性:可直接用于药物发现和临床试验设计
通过这种系统化的归纳推理,论文不仅解决了具体的知识图谱构建问题,还提供了一个可推广的医疗知识提取框架。
观察和假设
1. 异常/不寻常现象的观察
主动观察到的问题
- EMR数据特点:
- 大量非标准化表达
- 存在拼写错误
- 使用未定义缩写
- 包含模板化重复内容
- 模型表现差异:
- 编码器-解码器模型表现最好
- 解码器模型需要更多指导
- 相同架构不同大小模型表现差异大
- 关系抽取结果:
- 发现了比SemMedDB更多的关系
- 部分关系置信度不高
- 存在幻觉问题
2. 变量分析
关键变量 | 变化情况 | 影响 |
---|---|---|
模型架构 | 编码器/解码器/混合 | 关系抽取质量 |
提示设计 | 零样本/少样本/指令型 | 模型响应质量 |
相似度阈值 | 0.8-1.0 | 疾病匹配准确性 |
关系概率阈值 | 0.1 | 关系可靠性 |
出现频次阈值 | 10次 | 关系稳定性 |
3. 假设提出
核心假设1:LLM具备医疗知识提取能力
原因推测:
- 预训练包含大量医学文献
- 可以理解复杂上下文
- 具有自然语言理解能力
核心假设2:结构化提示可以提高提取质量
原因推测:
- 限制输出空间
- 降低幻觉概率
- 增强任务理解
核心假设3:多重阈值可以保证关系可靠性
原因推测:
- 高频关系更可能正确
- 高置信度表示模型更确信
- 重复验证减少误判
4. 假设验证
验证方法
- 实验验证:
- 12种模型对比
- 人工标注数据集
- AMD案例研究
- 定量评估:
- 精确率和召回率
- 关系提取质量
- 模型输出稳定性
- 定性评估:
- 专家审查
- 与现有系统对比
- 实际应用效果
验证结果
- 假设1得到部分验证:
- 编码器-解码器模型效果最好
- 解码器模型需要更多指导
- 假设2得到验证:
- 指令型提示效果最好
- 结构化输出更可靠
- 假设3得到验证:
- 多重阈值确实提高了可靠性
- 降低了错误关系的比例
通过这种观察-假设-验证的方法,论文不仅提出了解决方案,还系统地验证了其有效性,为医疗知识图谱的自动构建提供了可靠的方法论支持。
解法拆解
1. 逻辑关系拆解
主要解法
- 技术:基于LLM的医疗知识图谱构建 = 疾病识别 + 关系抽取 + 知识图谱构建
- 问题:从非结构化EMR笔记中自动构建医疗知识图谱
- 主要区别:传统规则方法 vs. LLM驱动方法,提高了扩展性和准确性
子解法分解
- 疾病识别子解法(因为文本表达多样性特征)
疾病识别 = UMLS匹配 + BioBERT实体识别 + 相似度计算
- UMLS匹配:处理标准术语
- BioBERT识别:处理变体表达
- 相似度计算:处理拼写错误
- 关系抽取子解法(因为知识隐含在上下文特征)
关系抽取 = 问题模板设计 + LLM问答 + 关系筛选
- 问题模板:结构化关系抽取
- LLM问答:理解上下文
- 关系筛选:确保可靠性
- 知识图谱构建子解法(因为需要结构化表示特征)
图谱构建 = 关系整合 + 冗余去除 + 结构化存储
- 关系整合:合并相似关系
- 冗余去除:删除重复信息
- 结构化存储:标准化表示
2. 逻辑链分析
决策树形式:
EMR笔记
├── 文本预处理
│ ├── 相似度>0.8? --> 保留长文本
│ └── 词数<5? --> 删除
├── 疾病识别
│ ├── UMLS匹配成功? --> 保留
│ ├── BioBERT识别
│ └── 相似度>0.8? --> 保留
└── 关系抽取
├── LLM问答
│ ├── 概率>0.1?
│ └── 出现次数>10?
└── 知识图谱构建
3. 隐性方法分析
发现的隐性关键方法:
- 多阈值联合筛选机制
可靠性评估 = 概率阈值 + 频次阈值
- 提示工程优化策略
结构化提示 = 任务说明 + 输入规范 + 输出格式
4. 隐性特征分析
发现的隐性特征:
- 医疗文本的复杂性特征:
- 专业术语混合
- 缩写使用频繁
- 表达不规范
- LLM响应的不确定性特征:
- 存在幻觉倾向
- 输出不一致
- 置信度波动
5. 方法局限性
- 数据依赖性:
- 需要大量EMR数据
- 数据质量影响结果
- 模型局限:
- LLM存在幻觉问题
- 计算资源需求大
- 领域知识有限
- 验证挑战:
- 缺乏标准测试集
- 评估成本高
- 需要专家参与
- 扩展性问题:
- 新疾病适应性未知
- 跨语言迁移困难
- 领域迁移成本高
后处理步骤
展示了模型输出结果的四个处理阶段:
- Raw(原始):模型直接输出,带概率值
- Filtered(过滤):移除低概率预测
- Grouped(分组):合并相似预测
- Final(最终):选择最高概率的代表性预测
例如:“areds vitamins”、“areds+wacs"等相似表述最终被整合为"areds vitamins (0.67)”。
为什么选择LLM而非传统规则方法?
- 传统方法如SemRep需要复杂的规则和多个处理步骤(预语言分析、句法分析、指代分析等)
- LLM能够内在地学习语言的各个层面,无需显式编程
- 医疗文本中存在大量非标准表达、语法错误和缩写,规则基础方法难以处理这种复杂性
- LLM具有更好的扩展性和适应性,可以处理不同来源的医疗文本
医疗文本中最难提取的信息是?
- 非标准化表达(同一疾病有多种表达方式)
- 未定义的医学缩写(如"RTO")
- 存在语法错误的文本(如"there is some heme OD … ?")
- 上下文依赖的关系信息
- 需要医学专业知识理解的隐含信息
为什么编码器-解码器模型表现最好?
- 实验结果显示,在大多数医疗实体的提取中,编码器-解码器模型(如FLAN-UL2)达到了最高的精确率和召回率
- 编码器-解码器架构更适合处理结构化输出任务
- 相比之下,解码器模型往往需要更多的指导才能产生结构化输出
- 编码器-解码器模型在使用指令型提示时性能显著提升
多重阈值筛选机制的本质?
- 设置最小概率阈值(0.1)和最小出现次数阈值(10次)
- 目的是提高关系抽取的可靠性
- 原理是:
- 高频出现的关系更可能是真实的
- 模型对某个关系的高置信度预测更可靠
- 多重阈值可以过滤掉噪声和错误关系
- 这种机制特别重要,因为在医疗应用中需要高质量的性能表现
这种设计反映了作者在追求自动化的同时,非常注重系统输出的准确性和可靠性,这对医疗领域的应用尤其重要。
提示词
### 左上块 - 基础问答
问题:ARMD会导致什么?
上下文:双眼急性渗出性ARMD - 长期渗漏。无明显变化。建议进行抗VEGF注射治疗。与患者讨论了该疾病的严重性,包括视力丧失的可能性和恢复预后。回顾了治疗方案 - Avastin,Lucentis,Eylea,PDT。
回答:如果不治疗,ARMD(年龄相关性黄斑变性)会导致视力丧失。从给定上下文来看,患者一只眼睛有慢性渗漏,另一只眼睛无明显变化。推荐的治疗方案是抗VEGF注射,这可以帮助减缓或停止疾病进展并预防进一步的视力丧失。患者已被告知疾病的严重性和视力丧失的可能性,以及可用的各种治疗方案,包括Avastin、Lucentis、Eylea和PDT(光动力疗法)。
### 左下块 - 指令型问答
指令:我希望你作为医疗问答机器。我会提供问题和上下文,你需要回答。如果答案不在上下文中,回答"我不知道"。
问题:ARMD会导致什么?
上下文:[同上]
回答:我不知道。提供的上下文信息不足以回答这个问题。ARMD可能发展为多种不同情况,如年龄相关性黄斑变性、急性视网膜黄斑变性或用于黄斑变性的氩激光光凝。没有更多信息,无法确定具体指的是哪种情况,因此也无法确定可能导致什么。
### 右侧块 - 结构化指令
您是一位医疗知识提取助手。您的任务是仅使用提供的上下文来回答问题。不要使用其他来源。不要使用您的知识。使用上下文回答问题。不要写解释。不要写长句子。用逗号分隔提取的实体来回答。
### 输入格式
问题类型:治疗/共存/因素
问题:[问题]
上下文:[上下文]
[实体类型]:[实体1],[实体2],[实体3]...
如果问题与上下文无关,或上下文缺少回答问题所需的信息,回答"我不知道",不要解释。
### 示例响应
共存关系:黄斑变性,视力丧失
更多论文提示词,参见论文原文末尾