摘要
电子病历(EMR)在现代医疗中虽然不可或缺,但由于其复杂性和信息冗余性,给临床推理和诊断带来了挑战。为解决这一问题,我们提出了medIKAL(整合知识图谱作为大型语言模型的辅助工具)框架,该框架结合了大型语言模型(LLMs)与知识图谱(KGs),以提升诊断能力。medIKAL根据医疗记录中实体的类型赋予其加权重要性,使得能够在知识图谱中精确定位候选疾病。它创新性地采用类似残差网络的方法,允许大型语言模型的初步诊断结果融入知识图谱搜索结果中。通过基于路径的重排序算法和填空式提示模板,进一步精炼了诊断过程。我们通过对新引入的开源中文电子病历数据集进行广泛实验,验证了medIKAL的有效性,展示了其在真实世界环境中改善临床诊断的潜力。
核心速览
研究背景
-
研究问题:这篇文章要解决的问题是如何利用知识图谱(Knowledge Graphs, KGs)来增强大型语言模型(Large Language Models, LLMs)在电子病历(Electronic Medical Records, EMRs)中的临床诊断能力。
-
研究难点:该问题的研究难点包括:EMRs的复杂性和信息冗余性导致的临床推理和诊断困难;LLMs缺乏特定医学知识,容易生成错误知识;现有的“LLM + KG”方法在应用于EMR诊断任务时存在局限性。
-
相关工作:该问题的研究相关工作有:利用LLMs进行疾病诊断和预测的研究;将知识图谱与LLMs结合的研究,包括嵌入表示、提示模板和迭代策略等方法。
研究方法
这篇论文提出了medIKAL(Integrating Knowledge Graphs as Assistants of LLMs)框架,用于解决EMR诊断中的问题。具体来说,
-
EMR摘要和直接诊断:首先,设计了一系列问题提示LLMs对EMR进行关键信息摘要,包括患者症状、病史、用药情况、就诊记录等。
-
基于LLM的初步诊断:基于分解和摘要后的EMR,允许LLM依赖其内部知识进行初步诊断,得到一组可能的疾病
-
候选疾病定位和重排:
-
实体识别和匹配:使用预训练的NER模型对摘要后的EMR进行实体识别,然后将每个实体链接到知识图谱中对应的节点。
-
基于实体类型的候选疾病定位:根据实体的类型分配不同的贡献权重,搜索知识图谱中1跳邻居的疾病节点,并根据权重调整疾病节点的得分。
-
基于路径的候选疾病重排:定义表示疾病i与实体j在知识图谱上的最短路径距离,距离越短的疾病被认为与患者信息的相关性越强。
-
LLM和KG知识的协同推理:重建知识图谱信息,将其转化为半结构化表示,提供给LLM进行协同推理。设计了基于填空模板的提示,使LLM能够定量评估特定疾病与各个方面的相关性,并计算总分。
实验设计
-
数据集构建:构建了CMEMR(Chinese Multi-department Electronic Medical Records)数据集,包含来自中文医疗网站的10450条EMR记录。为了验证方法的有效性,还选择了CMB-Clin、GMD和CMD三个数据集作为补充。
-
基线方法:比较了medIKAL与三类基线方法:仅使用LLM的方法、LLM+KG的方法和LLMNG的方法。
-
评估指标:采用国际疾病分类(ICD-10)作为权威源,通过模糊匹配过程将诊断结果与ICD-10术语关联,计算精确率(Precision)、召回率(Recall)和F1值(F1-score)。
-
实现细节:选择Qwen模型作为骨干模型,使用CPubMed-KG作为知识图谱,RaNER模型进行实体识别,CoROM模型进行实体节点匹配。
结果与分析
-
整体性能:在CMEMR数据集上的主要实验结果显示,medIKAL方法在使用LLM+KG范式时显著优于其他基线方法,证明了其在EMR诊断任务中的有效性。
-
深入分析:不同知识图谱增强提示对medIKAL性能的影响显示,使用相关实体效果不佳,而medIKAL能够最小化模型对知识图谱知识的过度依赖,保留大部分有用预测。
-
消融研究:通过消融实验展示了不同模块的重要性,去除摘要模块和实体类型权重模块会严重影响性能,而去除重排模块会导致结果完全依赖于知识图谱搜索过程。
总体结论
本文提出了medIKAL框架,通过加权实体类型和类似残差的集成方法,显著提高了LLMs在EMR中的临床诊断能力。实验结果表明,medIKAL在真实世界临床设置中有潜力提高诊断准确性和效率。medIKAL为AI辅助临床诊断提供了一个有前景的方向,为更先进的医疗保健应用铺平了道路。
论文评价
优点与创新
-
提出了一个新的框架:medIKAL(Integrating Knowledge Graphs as Assistants of LLMs),将大型语言模型(LLMs)与知识图谱(KGs)结合,以提高电子病历(EMR)诊断的准确性。
-
加权实体识别:根据实体的类型对医疗记录中的实体进行加权,使得在知识图谱中准确定位候选疾病成为可能。
-
残差网络集成方法:创新性地采用类似残差网络的方法,允许大型语言模型在没有外部知识的情况下进行初步诊断,然后将诊断结果与知识图谱的搜索结果合并。
-
基于路径的重排序算法:通过基于路径的重排序算法进一步细化诊断过程。
-
特殊提示模板设计:设计了特殊的填空式提示模板,帮助大型语言模型更好地推理和纠错。
-
开源数据集引入:引入了一个开源的中国电子病历数据集CMEMR,解决了高质量开源中文电子病历数据缺乏的问题。
-
实验验证:在收集的电子病历数据集上进行了广泛的实验,证明了medIKAL的有效性。
不足与反思
-
数据集局限性:尽管仔细检查、去敏感化和验证了CMEMR数据集,但偶尔医疗记录的质量在实际实验中可能仍不足。此外,由于数据来源有限,医疗记录数据集在不同科室之间的分布不均匀。
-
框架局限性:尽管medIKAL在医疗领域展示了其有效性和巨大潜力,但它仍然存在一些局限性。首先,虽然它不限于EMR格式输入,但它需要输入数据样本中的大量信息。当输入数据信息稀疏时,medIKAL提高模型推理性能的效果会降低,并且增加了产生幻觉的风险。此外,medIKAL无法完全利用医疗测试结果的数值类型进行计算。解决此问题是未来工作的关键。
关键问题及回答
问题1:medIKAL框架在处理EMR数据时,如何利用知识图谱(KGs)来增强大型语言模型(LLMs)的诊断能力?
medIKAL框架通过以下几个步骤利用知识图谱来增强LLMs的诊断能力:
-
实体识别和匹配:首先,使用预训练的NER模型对摘要后的EMR进行实体识别,然后将每个实体链接到知识图谱中对应的节点。
-
基于实体类型的候选疾病定位:根据实体的类型分配不同的贡献权重,并在知识图谱中搜索相关疾病节点,更新每个疾病的得分。例如,症状实体可能比药物实体对诊断的影响更大,因此分配更高的权重。
-
基于路径的候选疾病重排:定义疾病节点与实体节点之间的最短路径距离,距离越短的疾病被认为与患者信息的相关性越强。通过这种方式,进一步筛选和排序候选疾病。
-
协同推理:重建知识图谱信息,将其转化为半结构化表示,提供给LLM进行协同推理。设计了填空白式的提示模板,指导LLM定量评估特定疾病与各个方面的相关性,并计算总分。
通过这些步骤,medIKAL框架能够有效地利用知识图谱来增强LLMs的诊断能力,使其在处理复杂的EMR数据时更加准确和高效。
问题2:medIKAL框架在实验中如何验证其有效性,使用了哪些数据集和评估指标?
- 数据集:
-
CMEMR数据集:构建了一个名为CMEMR(Chinese Multi-department Electronic Medical Records)的中国多科室电子病历数据集,包含10450条EMR记录,涵盖多个科室。
-
补充数据集:为了进一步验证方法的有效性,还选择了以下三个数据集作为补充:
-
CMB-Clin:包含74条高质量、复杂的真实EMR记录。
-
GMD:包含目标疾病及其显性和隐性症状信息的数据集。
-
CMD:包含更多种类疾病和症状的数据集,是GMD数据集的后续版本。
- 评估指标:
-
采用国际疾病分类(ICD-10)作为权威源,通过模糊匹配过程将诊断结果与ICD-10术语关联,计算精确率(Precision)、召回率(Recall)和F1值(F1-score)。具体计算过程包括:
-
提取诊断结果中的疾病实体和EMR中的标签。
-
通过模糊匹配过程将疾病实体与ICD-10术语关联,构建两个标准化疾病集和。
-
计算True Positives (TP)、False Positives (FP) 和 False Negatives (FN),并根据这些值计算Precision、Recall和F1-score。
通过这些数据集和评估指标,medIKAL框架能够在实际应用中验证其有效性和优越性。
问题3:medIKAL框架在实验中表现如何,与其他基线方法相比有哪些优势?
-
整体性能:在CMEMR数据集上的主要实验结果显示,medIKAL方法在使用LLM+KG范式时显著优于其他基线方法,证明了其在EMR诊断任务中的有效性。具体来说,medIKAL在精确率、召回率和F1值上均表现出色。
-
深入分析:
-
不同知识图谱增强提示的影响:使用相关实体效果不佳,而medIKAL能够最小化模型对知识图谱知识的过度依赖,保留大部分有用预测。这表明medIKAL在利用知识图谱的同时,还能保持LLMs的内部知识。
-
消融研究:通过消融实验展示了不同模块的重要性,去除摘要模块和实体类型权重模块会严重影响性能,而去除重排模块会导致结果完全依赖于KG搜索过程。这进一步证明了medIKAL框架各模块的协同作用。
- 对比基线方法:
-
LLM-only:仅使用LLMs的方法在处理复杂EMR数据时表现较差,容易受到信息冗余和缺乏特定医学知识的影响。
-
LLM+KG:现有的“LLM + KG”方法在应用于EMR诊断任务时存在局限性,如实体识别不区分类型、处理复杂结构困难等。
-
LLMNG:LLMNG方法在处理长上下文和大规模知识图谱时表现不佳,容易达到迭代次数上限或超出LLMs的输入长度限制。
综上所述,medIKAL框架通过加权实体类型和类似残差的集成方法,显著提高了LLMs在EMR中的临床诊断能力,具有更高的精确率和召回率,并且在处理复杂EMR数据时表现更为稳定和有效。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。