医疗图谱 RAG:通过图检索增强生成实现安全医疗大型语言模型
论文链接:https://arxiv.org/abs/408.04187
摘要
我们介绍了一种新颖的基于图的检索增强生成(RAG)框架,专为医疗领域设计,称为 MedGraphRAG,旨在增强大型语言模型(LLM)的能力并生成基于证据的结果,从而在处理私人医疗数据时提高安全性和可靠性。我们的综合流程首先使用混合静态-语义方法对文档进行分块,显著提升了对比传统方法的上下文捕获能力。提取的实体用于创建一个三层的层次化图结构,将实体与来自医疗论文和字典的基础医学知识连接起来。这些实体随后互相连接形成元图,根据语义相似性合并以发展出一个全面的全局图。这种结构支持准确的信息检索和响应生成。检索过程采用U检索方法,以平衡LLM的全球意识和索引效率。我们的方案通过全面的消融研究进行了验证,比较了文档分块、图构建和信息检索的各种方法。结果不仅表明,我们的层次化图构建方法在多个医疗问答基准测试上始终优于最先进模型,同时也确认生成的响应包括源文档,大大增强了医疗LLM在实际应用中的可靠性。
1 引言
大型语言模型(LLMs)的快速发展,如OpenAI的ChatGPT OpenAI (2023a)和GPT-4 OpenAI (2023b),显著改变了自然语言处理领域的研究,并在日常场景中激发了众多AI应用。然而,这些模型在应用于需要专业知识的领域,如金融、法律和医学时,仍面临限制。主要有两个挑战:首先,针对特定用途部署训练过的LLM非常复杂,主要是由于它们在处理极长上下文时的困难,以及在专业数据集上微调大型模型的高成本或不切实际。其次,在医学等精确要求至关重要的领域,LLM可能会产生幻觉——看似准确但导致错误结论的输出,这可能是危险的。此外,它们有时提供过于简化的答案,而没有提供新的见解或发现,这在需要高层次推理以得出正确答案的领域中显得不足。
检索增强生成(RAG)Lewis et al. (2021)是一种使用特定和私有数据集回答用户查询的技术,且不需要对模型进行进一步的训练。最初设计用于在特定文本区域内找到必要答案的场景,RAG有时在从通过共享属性链接的不同信息片段合成新见解方面表现不佳。此外,在需要对大数据集或大型文档中总结语义概念进行整体理解的任务中,它也表现不佳。为了解决这些限制,图RAG Hu et al. (2024)方法被引入。这种方法利用LLM从私有数据集中创建知识图谱,与图机器学习相结合,在查询处理期间增强提示增强。GraphRAG显示出显著的改进,超越了之前应用于私有数据集的方法,提供了更高的智能和信息合成能力。
在本文中,我们介绍了一种新颖的图RAG方法,用于将LLM应用于医疗领域,我们称之为医疗图RAG(MedRAG)。该技术通过响应查询并提供实证来源引用和医学术语的清晰解释来改善LLM在医疗领域的表现,提高结果的透明度和可解释性。这种方法涉及三层的层次化图构建方法。最初,我们将用户提供的文档作为顶层来源提取实体。这些实体随后与第二层连接,该层由从可信医疗书籍和论文中提取的更基础的实体组成。随后,这些实体连接到第三层——基础医学字典图——提供每个医学术语的详细解释及其语义关系。然后,我们通过根据内容和层次连接链接实体,构建最高层次的综合图。这种方法确保知识可以追溯至其来源,并且结果在事实上的准确性。
为了响应用户查询,我们实施了一种U检索策略,结合自上而下的检索与自下而上的响应生成。该过程开始时使用预定义的医学标签结构化查询,并通过图进行自上而下的索引。系统随后基于这些查询生成响应,从元图中提取节点及其TopK相关节点和关系,并将信息总结为详细响应。这种技术在全球上下文意识和LLM内在的上下文限制之间保持平衡。
我们的医疗图RAG提供了内在的源引用,可以增强LLM的透明度、可解释性和可验证性。结果提供了来源或源基础信息,因为它生成每个响应,并表明答案是基于数据集的。对于每个声明,引用源的即刻可用性使得人类用户能够快速且准确地根据原始源材料审核LLM的输出。在医学领域,这种方法非常有用,因为安全性至关重要,每个推理应是基于证据的。通过使用这种方法,我们构建了基于证据的医疗LLM,使临床医生能够轻松检查推理的来源并校准模型响应,以确保在临床场景中安全使用
llm
\operatorname{llm}
llm 。
为了评估我们的医疗图RAG,我们在多个流行的开源和闭源LLM上实施了该方法,包括ChatGPT OpenAl (2023a)和LLaMA Touvron et al. (2023),并在主流医疗问答基准上进行了测试,如PubMedQA Jin et al. (2019)、MedMCQA Pal et al. (2022)和USMLE Kung et al. (2023)。对于RAG过程,我们提供了一个全面的医学字典作为基础知识层,一个UMLS医学知识图Lindberg et al. (1993)作为详细语义关系的基础层,以及一个策划的MedC-
K
\mathrm{K}
K 数据集Wu et al. (2023)——该数据集包含最新的医学论文和书籍——作为模拟用户提供的私有数据的中间数据层。我们的实验表明,我们的模型显著增强了一般用途LLM在医学问题上的表现。值得注意的是,它甚至在医学语料库上的表现超越了许多经过微调或特别训练的LLM,仅使用RAG方法而不需额外训练。
我们的贡献如下:
- 我们是首创者,提出了一种专门用于医疗领域的综合图RAG应用流程。
- 我们开发了独特的图构建和数据检索方法,使LLM能够利用整体私有数据生成基于证据的响应。
- 我们在主流基准上进行了验证实验,在各种模型变种中取得了最先进(SOTA)的表现。
2 方法
MedGraphRAG通过医疗图RAG增强大型语言模型(LLM),以处理私有医疗数据。它涉及将医疗文档分割成块、提取实体并将其组织成一个分为三个层次的层次化图结构,从用户提供的文档到基础医学信息。这些实体形成元图,然后根据内容相似性合并为一个全面的全局图。对于用户查询,LLM高效检索和合成图中的信息,从而实现精准且具有上下文相关性的医疗响应。
2.1 医疗图构建
语义文档分割 大型医疗文档通常包含多个主题或多样的内容。为了有效处理这些内容,我们首先将文档分割成符合大型语言模型(LLMs)上下文限制的数据块。传统方法如基于令牌大小或固定字符的分块通常无法准确检测主题的微妙变化。因此,这些块可能无法完全捕捉预期的上下文,导致意义的丰富性受损。
为了提高准确性,我们采用字符分隔和基于主题的分割的混合方法。具体而言,我们利用静态字符(换行符)将文档中的段落隔离。随后,我们应用一种衍生文本进行语义分块。我们的方法包括使用命题转移,从原始文本中提取独立语句Chen et al. (2023)。通过命题转移,每个段落被转化为自给自足的语句。然后,我们对文档进行顺序分析,以评估每个命题,决定是与现有块合并还是启用新的块。该决定通过LLM的零-shot方法进行。为了减少顺序处理生成的噪声,我们实施了一种滑动窗口技术,每次管理五个段落。我们持续调整窗口,移除第一个段落并添加下一个,保持主题一致性。我们设定一个硬阈值,最长的块不能超过LLM的上下文长度限制。分块文档后,我们在每一个数据块的个体上构建图。
元素提取 然后我们识别并从每个源文本块中提取图节点实例。这通过一个设计用于识别文本中所有相关实体的LLM提示完成。对于每个实体,LLM被提示输出名称、类型和描述。名称可以是文档中的精确文本或在医学上下文中常用的衍生术语,经过精心选择以反映适合后续处理的专业医学术语。类型由LLM从预定义表中选择,而描述是LLM生成的实体解释,已经在文档中进行了上下文化。为了确保模型的有效性,我们提供了一些示例,以引导LLM生成所需的输出。对于每个实体数据结构,我们包含一个唯一的ID以追踪其源文档和段落。这个标识符对于从源中检索信息至关重要,从而能够在后续生成基于证据的响应。
为了提高提取的质量并减少噪音和方差,我们多次重复提取过程。这种迭代方法鼓励LLM检测到可能最初忽略的任何实体。决定是否继续或停止重复过程也由LLM自身来确定。
层级链接医学是一个专业领域,其特征在于始终使用精确的术语体系,并基于许多已建立的真理,如特定疾病的症状或药物的副作用。在这个领域,LLM必须不扭曲、修改或添加创造性或随机元素到数据中,这与它们在其他约束较少的上下文中的应用是不同的。
认识到这一点,我们在医学领域开发了一个独特的结构,以将每个实体与有根据的医学知识和术语链接。这种方法旨在为每个实体概念提供可信的来源和深刻的定义,从而增强响应的真实性,并减少幻觉的发生,这在将LLM应用于医学时是一项重大挑战。
具体而言,我们构建了一个三级RAG数据结构,以开发一个综合的医学图谱。第一层由用户提供的文档组成,例如来自特定医院的高度机密的医疗报告。在从这些文档中提取实体后,如前所述,我们将它们链接到一个更基础的普遍接受的信息层。第二层由医学教科书和学术文章构成。在收到真实用户文档之前,我们使用前面概述的相同方法从这些医学来源预先构建一个图谱。第一层的实体根据LLM检测到的相关性与第二层的相应实体相链接。
第二层图谱的实体接着与第三层相连接,第三层包括几个明确定义的医学术语及其知识关系。这些有根据的信息来自可靠的资源,如统一医学语言系统(UMLS),该系统集成了各种健康和生物医学词汇及其语义关系。对于每个实体,我们将其名称的文本嵌入与UMLS中的医学词汇进行比较,选择余弦相似度低于指定阈值的词汇。每个链接的词汇还与其在UMLS中的专业定义和关系相关联,这些关系以普通文本形式翻译,如吴等(2023)所示。
关系链接 然后,我们指示LLM识别所有明确相关实体之间的关系。这个决定基于关于每个实体的全面信息,包括其名称、描述、定义和相关的基础医学知识。所识别的关系指定源实体和目标实体,提供它们关系的描述,并包含一个指标,指示这种关系的密切程度。为了在评估关系距离时保持秩序和精确性,我们提示LLM从预定义的描述词列表中选择-非常相关、相关、中等、不相关、非常不相关。在执行此分析后,我们为每个数据块生成一个加权有向图。这些图作为我们系统的基本构件,被称为元图。
图1:MedGraphRAG框架。
标签生成与图合并 在构建元图后,我们的下一步是扫描每个块中的数据,以开发一个链接所有元图的全局图。合并元图中的节点将根据我们在上一段中使用的链接规则相互链接。为此,我们计算每对元图之间的距离,并依次将距离最近的元图合并为更大的实体。为了有效合并,我们使用LLM根据预定义的医学类别(如症状、病史、身体功能和药物)总结每个元图的内容。LLM为每个类别生成的总结来自元图的内容,最终形成一个简洁描述其主要主题的标签列表。
利用这些标签,LLM计算两个元图之间的相似性。相似性最高的将被考虑合并。合并后的图成为一个新图,但保留其原始的元图和标签,以便后续更容易索引。随后,为新图生成新的总结标签信息,并重新计算其与其他图的相似性,以便进行潜在的进一步合并。此过程可以重复,直到只剩下一个全局图。然而,随着总结标签信息的积累,它失去了细节,在合并的有效性和效率之间存在权衡。在实践中,我们将该过程限制在24次迭代,以防止过度丧失细节。
2.2 从图中检索
在构建图之后,LLM通过一种我们称之为U-retrieve的策略有效检索信息以回应用户查询。我们首先生成总结标签描述,类似于前一步,并利用这些描述通过自上而下的匹配过程识别最相关的图。这一过程始于较大的图,逐渐索引到其包含的小图。这个匹配过程会重复,直到我们达到元图层并检索多个相关实体。随后,我们收集与这些激活实体及其TopK相关实体相关的所有相关内容。这包括实体本身的内容、它们相关的基础医学知识、与其他实体的相关性和关系,以及任何链接实体的内容。
一旦识别出相关内容,LLM被提示使用这些信息生成一个中间响应,以文本形式呈现。这个中间响应被保存,并与较高层次图的总结标签信息结合,形成一个更详细或更精炼的响应。LLM以自下而上的方式重复这一响应生成过程,直到达到最高层次,在扫描沿途所有索引图后生成最终响应。这种方法使LLM能够全面了解,因为它与图中的所有数据交互,同时通过以总结形式访问不太相关的数据保持效率。
3 实验
3.1 数据集
3.1.1 RAG数据
在我们的RAG数据结构中,我们设计了三个不同级别的数据,每个级别在实际中发挥不同的作用。顶层数据由私人用户信息组成,如医院中的医疗报告,这些报告是机密的,不能被分享或曝光。这些数据是用户特定的,并在实际使用LLM时具有最高频率的更新或变化。中间层由最新的、经过同行评审和可信的医学书籍和论文组成。这一层为用户提供最新的医学进展和知识,确保他们不错过任何尖端发现。虽然这些资源可以设置为不同用户的默认数据,但它们也可以通过用户或管理员定期更新以保持时效性。这些数据以中等频率更新,通常为每年更新一次。底层包括定义医学术语及其语义关系的数据,主要来自已建立的词汇。这些数据是最权威和严肃的,应该设定为每个意图使用医学LLM的用户的默认数据。它的更新频率最低,约为每五年或更长时间。
顶层 我们采用MIMIC-IV,一个公开可用的电子健康记录数据集,作为我们的主要数据集。该数据集源于贝斯以色列女神医疗中心,涵盖了2008年至2019年的患者入院信息。MIMIC-IV旨在促进研究和教育活动,包括患者测量、诊断、程序、治疗和匿名临床笔记等各种数据。该数据集是医院与麻省理工学院合作的成果,经过精心收集、处理和去标识化,以符合隐私标准。它分为三个不同的模块-医院、重症监护室和临床笔记,每个模块专门设计以满足各种研究需求。
中间层 我们利用MedC-K,一个大型医学特定语料库,作为我们的中间层数据源。该语料库包括480万篇生物医学学术论文和30,000本教科书。它包含了Lo等(2020)的S2ORC数据集,其中包括8110万篇英文学术论文。从这个庞大的集合中,我们提取了来自PubMed Central与生物医学研究相关的480万篇论文,包含超过750亿个令牌,涵盖了先进的医学知识。此外,我们还从不同的图书馆和出版商策划了30,000本医学教科书。在经过彻底的清理和去重处理后,该集合提供约40亿个关键信息令牌。
底层 我们利用UMLS数据集作为我们的基础底层数据。统一医学语言系统(UMLS),由美国国家医学图书馆开发,是一个庞大的数据集,统一了各种医学词汇,以提高健康信息系统的互操作性。它由三个主要部分组成:把200多个医学词汇(如SNOMED CT和ICD-10)合并的Meta词典;组织医学概念并详细描述其相互关系的语义网络;以及帮助自然语言处理提供详细语言视角的SPECIALIST词典。UMLS对于促进电子健康记录整合和临床决策支持等任务至关重要,从而改善医学数据的管理和理解。
3.1.2 测试数据
PubMedQA 由 Jin 等人于 2019 年开发,PubMedQA 是一个生物医学问答数据集,源于 PubMed 摘要。该数据集主要集中于通过多项选择格式解决研究问题,选项包括是、否或可能。它由三个不同的部分组成:PQA-L,包括用于测试的 1,000 个人工标注对;PQA-U,由
61.2
k
{61.2}\mathrm{k}
61.2k 个未标注对组成,这些对未被使用;以及 PQA-A,包含
211.3
k
{211.3}\mathrm{k}
211.3k 个人工生成的对。
MedMCQA 由 Pal、Umapathi 等人于 2022 年推出,MedMCQA 是一个由印度医学学校入学考试(特别是 AIIMS 和 NEET-PG)的实践和以前考试中制定的多项选择问题的数据集。该数据集分为一个包含 182,822 个问题的训练集和一个包含 4,183 个问题的测试集,每个问题提供四个可能的答案。这个数据集为测试医学学校候选人的知识提供了重要的资源。
USMLE 由 Jin、Pan 等人于 2021 年创建,USMLE 数据集由美国医学执照考试的多项选择问题组成,旨在评估医疗专业人员的报考认证准备情况。该数据集在多语言覆盖方面是独特的,提供英语、简体中文和繁体中文的问题。在此描述中,仅考虑英语部分,包括 10,178 + 1,273 + 1,273 条数据。
3.2 LLM 模型
LLAMA2 在原始 LLAMA 数据集的基础上,LLAMA2 通过包含更多样化和复杂的语言任务扩展评估框架,可能解决了初始版本中发现的局限性和空白。虽然关于 LLAMA2 的具体细节可能是假设或推测的,但可以预期它将继续关注强大、全面的语言分析,改进工具和方法,以更好地衡量语言理解和生成中的细微差别。
LLAMA3 LLAMA3 是 LLAMA 系列大型语言模型的最新版本,旨在提高自然语言理解和生成的能力。在其前身 LLAMA 和 LLAMA2 的成功基础上,LLAMA3 融入了更复杂的算法和更广泛的数据集,以增强其在多种语言任务中的表现。
GPT-4 由 OpenAI 开发,ChatGPT-4 是一种生成性预训练变换模型的迭代版本,该模型已在各种互联网文本上训练过。作为更高级的版本,ChatGPT-4 在理解和生成类人文本的能力上相较于其前身有所改善,使其能够进行更连贯和上下文相关的对话。该模型旨在执行广泛的任务,包括但不限于翻译、问答和内容生成,显示出在处理复杂对话场景和细微的语言细节方面的显著进步。
Gemini 谷歌的 Gemini 是一款尖端语言模型,旨在增强对话 AI 系统的能力。作为谷歌在自然语言处理方面持续努力的一部分,Gemini 旨在提供比以前模型更细致和更具上下文意识的交互。该模型利用深度学习技术理解和生成类人的回应,使其适用于包括虚拟助手、客户支持和交互式应用在内的广泛应用。
3.3 结果
3.3.1 医疗图 RAG 效果
首先,我们进行了实验,以评估我们的医疗图 RAG 对各种大型语言模型的影响,结果如表 1 所示。数据表明,我们的 MedGraphRAG 显著增强了 LLM 在医学基准上的表现。这一改善归因于零样本 RAG 的实施,相较于微调或使用适配器,它更加经济、高效且方便。值得注意的是,MedGraphRAG 在较小的 LLM 中,如 LLaMA2-13B 和 LLaMA3-8B,产生了更显著的改善,而这些模型在这些基准上表现通常较差,从而扩大了其适用于更广泛用户群体的适用性。MedGraphRAG 同样显著提升了更强大、闭源的 LLM 的表现,如 GPT 和 LLaMA3-70B,帮助它们在多个基准上达到最新的(SOTA)结果。这些结果超过了人类专家的准确性,显示了
A
I
\mathrm{{AI}}
AI 提升临床工作流程的强大潜力。
图 2: 与 SOTA 医疗 LLM 模型在 MedQA 基准上的比较。
3.3.2 证据基础的响应
得益于我们 MedGraphRAG 中的图连接机制,我们可以提示 LLM 生成基于证据的响应,回答复杂的医学问题,增强了安全性和可解释性。如图 3 所示,我们比较了仅由 GPT-4 生成的响应与通过 MedGraphRAG 强化的响应,针对一个具有挑战性的医学诊断问题。在这种情况下,患者表现出
表 1: MedGraphRAG 在各类 LLM 上的改进。
模型大小开源MedQAMedMCQAPubMedQALLaMA213B是42.737.468.0LLaMA2-MedGraphRAG13B是65.551.473.2LLaMA270B是43.735.074.3LLaMA2-MedGraphRAG70B是69.258.776.0LLaMA38B是59.857.375.2LLaMA3-MedGraphRAG8B是74.261.677.8LLaMA370B是72.165.577.5LLaMA3-MedGraphRAG70B是88.479.183.8Gemini-pro- 否59.054.869.8Gemini-MedGraphRAG-否72.662.076.2GPT-4-否81.772.475.2GPT-4 MedGraphRAG-否91.381.583.3人类(专家)--87.090.078.0
症状通常与阿尔茨海默症相关——记忆力逐渐减退和偶尔出现的突然混乱和言语困难。然而,经验丰富的专家会仔细分析并认为这种情况是血管性痴呆。MedGraphRAG 增强的响应不仅准确识别了血管性痴呆而非阿尔茨海默症,还提供了详细的解释和真实的引用支持。这确保了每个主张都是可验证的,使信息对临床医生而言值得信赖。此外,响应包括了医学术语的简化解释,使其对没有医学背景的用户也易于理解。这种基于证据、用户友好的方法在安全至上的临床实践中至关重要。
3.3.3 与 SOTA 医疗 LLM 模型比较
我们还将MedGraphRAG与这些基准上的一系列以前的最新模型(SOTA)进行了评估,包括经过密集微调的模型Gu等人(2022)、Yasunaga等人(2022a)、Yasunaga等人(2022b)、Bolton等人(2022)、Singhal等人(2022)、Singhal等人(2023)、Wu等人(2023)以及未微调的模型Nori等人(2023)、OpenAI(2023a)、OpenAI(2023b)在MedQA基准上的表现。结果如图2所示,表明在强大的GPT-4 LLM上应用时,我们的MedGraphRAG比以前的SOTA提示模型Medprompt Nori等人(2023)高出了显著的
1.1
%
{1.1}\%
1.1% 。即便在比较这些医学数据集上的密集微调方法时,MedGraphRAG的表现也超越了所有并达到了SOTA。这种卓越的性能源于充分利用强大GPT-4模型的固有能力。这进一步强调了我们未微调MedGraphRAG方法的优势:它继承了封闭源模型的强大能力,并超越了许多需要昂贵和详尽微调的模型。
3.3.4 消融研究
我们进行了全面的消融研究,以验证我们所提出模块的有效性,结果如表2所示。该研究比较了多种文档分块、层次图构建和信息检索的方法。具体而言,对于文档分块,我们评估了我们的混合静态-语义方法与纯粹静态方法的对比。对于层次图构建,我们将我们的方法与LangChain中使用的基本构建方法进行了对比。对于信息检索,我们将基于摘要的检索Edge等人(2024)与我们的U-retrieve方法进行了比较。这些方法在之前提到的三个问答基准上进行了评估。
结果如表中所示,表明我们的混合语义方法显著提升了普通模型的性能,强调了复杂数据分块在所有RAG管道中的重要性。当将基本图构建方法与我们提出的层次方法进行比较时,显而易见地构建图增强了RAG性能。此外,我们的层次图构建技术带来了最显著的改进,超越了大多数最新的方法。此外,用我们的U-retrieve方法替换摘要检索进一步提升了性能,展示了U-retrieve在提升检索准确性和相关性方面的有效性。
表2:MedGraphRAG的消融研究。
4 结论
总之,本文介绍了MedGraphRAG,这是一种用于医学领域的基于图的检索增强生成(RAG)框架,增强了大型语言模型(LLM)的能力。我们的方法结合了先进的文档分块和层次图结构,显著改善了数据组织和检索准确性。我们的消融研究确认了在医学问答基准上超越最新模型的优越性能,并提供了可靠的、源链接的响应,这对于医学应用至关重要。展望未来,我们计划扩大这个框架,涵盖更多多样化的数据集,并探索其在实时临床环境中的潜力。
版权归原作者 数智笔记 所有, 如有侵权,请联系我们删除。