【论文阅读】MEDICAL GRAPH RAG: TOWARDS SAFE MEDICAL LARGE LANGUAGE MODEL VIA

论文地址:https://arxiv.org/abs/2408.04187#:~:text=We%20introduce%20a%20novel%20graph-based%20Retrieval-Augmented

代码地址:

GitHub - MedicineToken/Medical-Graph-RAG: Medical Graph RAG: Graph RAG for the Medical Data

1 研究背景:

LLM(如GPT-4和ChatGPT)虽然在自然语言处理和日常应用中取得了巨大进展,但在医学等需要高度精确和专业知识的领域中仍然存在显著局限性,主要包括:

  1. 长上下文处理的复杂性:LLM在面对大量复杂数据时难以处理过长的上下文,同时对特定数据集进行微调代价高昂且不现实。

  2. 幻觉问题:在需要高准确度的领域(如医学),LLM可能会产生“幻觉”,即生成看似准确但实际上错误的信息。这在医疗场景中尤为危险。

  3. 简单回答缺乏深入性:LLM往往给出简单或常规的答案,不能提供足够的新见解,而医学领域需要高水平的推理能力以提供正确的答案。

传统的RAG方法在汇总语义概念或从大数据集中提取新的见解时表现不佳,难以应对复杂的医学场景。为了应对这些挑战,本文提出了一种面向医学领域的图检索增强生成(Graph RAG)方法,即MedGraphRAG该方法通过图结构和LLM结合,旨在提升LLM在医学领域中的表现,生成基于证据的响应,增强其安全性和可靠性。

2 研究贡献

  • 提出了一个全面的图检索增强生成(Graph RAG)框架,专门应用于医疗领域,这是该领域中的首创。

  • 开发了独特的图构建和数据检索方法使得LLM能够利用全面的私有数据生成基于证据的响应,增强了响应的准确性和可靠性。

  • 通过验证实验,证明该方法在多个主流医疗问答基准上达到了最新的最先进水平(SOTA)性能,并在不同模型变体上展现了优越表现。

3 研究方法:

MedGraphRAG 框架:混合语义文档分割、实体提取和层次化的图谱构建来增强大语言模型(LLM)在医疗领域的应用。文章提出了一个三层结构的医学图谱:从用户提供的文档中提取实体,将其链接到医学书籍和文献中的知识,再进一步连接到权威的医学术语系统(如UMLS)。通过这种方式,MedGraphRAG能够准确检索并生成基于证据的响应,提高了医疗数据处理的精确性和安全性

3.1 医疗图谱构建

3.1.1 Semantic Document Segmentation - 混合语义文档分割:

传统的基于token size和fixed characters的方法,导致分块后无法完整捕捉到文档的语义上下文。这种方式可能会导致部分信息的丢失,特别是在处理复杂的医学文档时。为了克服该问题,作者提出了a mixed method of character separation coupled with topic-based segmentation,一种混合静态语义分割方法

step 1 静态字符分隔:通过符号(如换行符)将文档初步分隔为段落。

step 2 基于主题的语义分割(TODO:看下源码):应用主题识别技术(proposition transfer?),提取独立的命题,并基于这些命题进行更精确的分块。这种方法通过zero-shot LLM判断某个命题是否应与已有的块合并或生成新块。此外,使用sliding window来保持主题一致性,从而提高分块的准确性和语义完整性。

 chunk完成后,会根据每一个data chunk来构建知识图谱。

3.1.2 Element Extraction 元素提取

基于大语言模型(LLM)提示的自动化元素提取方法。具体包括以下步骤:

  1. 设计LLM prompt(TODO:看下源码):通过为LLM提供设计好的prompt,模型可以自动识别文本中的相关实体(如医学术语、症状等)。对于每个实体,LLM会输出(name, type, description)

  2. 多次迭代提取:为了提高提取质量并减少噪声,采用多次迭代的方式,确保模型能够捕捉到初始提取过程中遗漏的实体。

这种方法减少了人为干预,提高了提取的准确性和泛化能力,同时还能根据上下文更好地理解并提取复杂的医学术语。

3.1.3 层次化链接-Hierarchy Linking

实体层次划分:通过不同层次的实体,确保从私有数据到权威医学知识的链接,从而增强模型的知识覆盖面。

  • 第一层:用户提供的文档(如医院的医疗报告),包含高度机密的医疗数据。
  • 第二层:常见的医学书籍和学术文章中的知识,作为基础信息。
  • 第三层:权威医学词典和知识图谱(如UMLS),包含精确的医学术语及其语义关系。

层次化图谱结构通过多层次的语义链接保证了每个实体的权威性和准确性,减少了模型生成幻觉的风险。

  • 从第一层文档中提取实体提取的实体包括名称、类型和描述,每个实体都被分配一个唯一的ID,用于追踪源文件和段落。
  • 实体链接:将第一层提取的实体与第二层的基础医学实体进行链接。链接的依据是LLM检测到的语义相似性,通过比较文本嵌入(如余弦相似度)来确定相关性。
  • 与医学词典的连接:第二层的实体进一步链接到第三层的医学词典(如UMLS)。每个医学术语都具有详细的定义和语义关系,确保高精度的医学知识引用。

3.1.4 关系链接 - Relationship Linking

通过relationship的明确标注和评分,确保图谱中的实体关系具有清晰的语义结构。

  • 识别实体之间的关系:LLM被提示识别出各实体之间的关系,基于每个实体的名称、描述、定义及其下级基础知识来建立这些关系。
  • 关系描述与评分:对于每一对实体,LLM会生成关系的描述(如“高度相关”、“中等相关”等),并对关系的紧密程度进行评分。最终生成加权有向图,将这些实体及其关系组织起来。

对于每一个data chunk,得到了一个有向无环图(meta-graph)

3.1.5 图谱合并 - Tags generation and merge the graphs

合并策略既保证了全局语义一致性,又保持了高效检索性能。

  • 合并元图(meta-graphs):通过语义相似度,将多个元图合并成更大的图谱。LLM会根据预定义的医学类别(如症状、病史、功能等)为每个元图生成摘要标签(tags),这些标签用于计算元图之间的相似度,进而决定是否合并。
  • 控制合并过程:为了避免过度合并导致细节丢失,实际操作中限制了合并次数(如24次),确保最终生成的全局图谱能保持足够的细节。

3.2 图谱检索方法

U-retrieve: top-down retrieval, bottom-up response generation

从全局图到元图检索:通过从全局到局部的逐层索引,系统能够高效地处理大规模数据集,保持上下文相关性。

  • 顶层匹配:检索过程从全局图(包含多个元图的较大图)开始。系统首先对顶层图的tag进行匹配,确定与查询相关的部分。
  • 逐层索引:通过标签描述,系统逐步向下索引到更小的元图,逐步锁定与查询相关的子图。这个过程确保了全局上下文的一致性,同时避免了无关信息的干扰。

从底层向顶层生成:通过自底向上生成的策略,系统能够整合不同层次的图谱信息,从而生成内容丰富且具有全局视野的响应。

  • 检索相关实体和关系:在找到相关的元图后,系统会继续检索与查询相关的实体,并同时检索这些实体的TopK相关实体及其关系。
  • 生成中间结果:系统基于检索到的的实体和相关的知识生成一个中间结果。这个中间结果由与查询最相关的信息组成,通常包含原始的医学知识和解释。
  • 综合生成最终结果:中间结果与更高层次图谱中的tag信息结合,进一步生成详细或精炼的最终结果。生成采用自底向上的方式,确保上下文信息的完整性和准确性。

4 实验

4.1 数据集

4.1.1 问答数据源

Top-level Data

  • 数据来源:主要来自用户提供的私有信息,例医院的医疗报告和电子健康记录(EHR)。
  • 代表性数据集MIMIC-IV,公开的电子健康记录数据集,包含从 2008 年到 2019 年期间病人住院的数据。
  • 数据特点:这层数据具有高度私密性,信息更新频率较高,主要用于特定用户的个性化医疗场景。这些数据包含详细的患者记录、诊断、治疗和临床笔记,具有较强的个性化和实时性。

Medium-level Data

  • 数据来源:主要来自经过同行评审的医学书籍和学术论文
  • 代表性数据集MedC-K 数据集,包括 480 万篇生物医学领域的学术论文和 3 万本医学教科书。这些数据集通过清理和去重处理后,形成了大规模的医学知识库。
  • 数据特点:这些数据提供最新的医学进展和研究成果,帮助确保生成的响应基于最新的知识。该层数据通常每年更新一次,以保持其前沿性。

Bottom-level Data

  • 数据来源:来自权威的医学词典和知识库,主要用于定义医学术语及其语义关系
  • 代表性数据集:UMLS(统一医学语言系统),这是一个整合了超过 200 个医学词汇表的大型数据集,包括 SNOMED CT 和 ICD-10。
  • 数据特点:这层数据定义了医学术语的语义关系,主要用于确保每个医学实体的定义和关联具有权威性。这些数据更新频率较低,大约每 5 年或更久更新一次。

4.1.2 验证数据集

PubMedQA

  • 数据来源:该数据集来自 PubMed 摘要,专门用于生物医学研究问答。
  • 数据集内容:主要关注通过多项选择(是、否、可能)的方式回答研究问题。数据集包含三部分:
    • PQA-L:1000 个经过人工标注的问答对,用于测试。
    • PQA-U:61,200 个未标注的问题对(不用于评估)。
    • PQA-A:211,300 个通过自动化方式生成的问题对。
  • 数据特点PubMedQA 专注于通过文献摘要回答医学研究相关的问题,测试模型在处理生物医学文献中的表现

MedMCQA

  • 数据来源该数据集由印度医学院入学考试(AIIMS 和 NEET-PG)的练习题和考试题组成。
  • 数据集内容:数据集分为训练集和测试集:
    • 训练集:182,822 道多项选择题。
    • 测试集:4,183 道多项选择题,每道题提供 4 个可能的答案。
  • 数据特点:MedMCQA 测试的是医学知识,尤其是针对医学考试的多项选择问题,非常适合测试医学领域的基础知识理解和推理能力。

USMLE

  • 数据来源:该数据集来自美国医学执照考试(USMLE)的多项选择题。
  • 数据集内容:题目专为测试医疗专业人员的资格认证准备。该数据集是多语言的,涵盖了英语、简体中文和繁体中文版本,但评估时仅使用了英语部分的数据。
    • 英语部分包含 10,178 + 1,273 + 1,273 个问题数据。
  • 数据特点:USMLE 以评估医学专业人员的准备情况为目标,涵盖从简单到复杂的医学问题。它是一个多语言数据集,适合跨语言评估模型的表现。

4.2 模型

  • LLaMA2LLaMA3:开源模型系列,经过进一步优化,适合广泛的语言任务和应用场景。
  • GPT-4:OpenAI 的旗舰模型,擅长处理复杂对话和生成任务,尤其适合医疗问答等高要求任务。
  • Gemini:Google 开发的对话系统模型,着重于自然语言理解和生成,适合对话式应用。

4.3 实验结果

4.3.1 MedGraphRAG相比于原生模型的提升

MedGraphRAG相对于pretrained模型均有提升

4.3.2   MedGraphRAG提供基于证据的回答

对复杂的医疗问题产生基于证据的回应,提高安全性和可解释性

 4.3.3 对比SOTA医疗大模型

GPT-4 LLM + MedGraohRAG超越SOTA模型Medprompt 1.1%

4.3.4 消融实验 

消融实验,针对混合文档分割策略,层次化图构建和U-Retrival方法进行验证,每种方法都能带来效果提升,结合使用效果更佳

5 结论

 MedGraphRAG,通过多层次的图结构和检索策略,成功解决了 LLM 在处理复杂医学问题时的精确性、安全性和可靠性问题,未来可以探索该框架在更多领域和实时应用中的潜力,进一步推动医学领域 LLM 的发展和应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1551460.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

英伟达GPU和互联路线发展分析

英伟达最新GPU和互联路线图 Nvidia在计算、网络和图形领域独树一帜,雄厚资金助力其在生成式AI市场领跑,可自由探索创新路线图。 21世纪,Nvidia虽无需拓展数据中心计算,却因HPC研究人员引领进入加速计算。AI研究人员借助GPU计算开…

C/C++ 中的未定义行为(Undefined Behavior, UB)

0. 简介 在 C/C 编程中,理解未定义行为(UB)及其相关概念至关重要。本文将对未定义行为进行详细解析,并通过实例展示其影响与处理方法。 1. 概念辨析 在 C/C 中,未定义行为容易与以下两个概念混淆: 1.1 …

广西容县霞烟鸡,品牌兴农,助力乡村振兴!

在两广与港澳地区,流传着一句深入人心的饮食谚语——“无鸡不成宴”,它不仅是一种习俗的体现,更是对餐桌礼仪与待客之道的深刻诠释。每逢家宴欢聚、祭祖庆典或盛宴宾客,一只精心烹制的鸡总是不可或缺的主角,其缺席往往被视为对宾客的不敬。在这片美食文化的沃土上,广西容县的霞…

YashanDB Docker镜像制作

本文作者:YashanDB中级服务工程师鲍健昕 为什么需要Docker部署数据库 常规使用 yasboot 部署数据库的方法,操作流程复杂,需要配置许多配置文件以及环境变量,不同用户使用的环境不同,那么环境配置也会存在差异&#x…

聊一下数据脱敏

背景 随着信息社会高速发展,大家对隐私数据的安全越来越重视,现在市面上各种搜集个人信息的网站,app层出不穷,你也不知道你的信息提交上去后,提供服务的那边,是不是会妥善保管好你的个人数据,包…

Web和UE5像素流送、通信教程

一、web端配置 首先打开Github地址:https://github.com/EpicGamesExt/PixelStreamingInfrastructure 找到自己虚幻引擎对应版本的项目并下载下来,我这里用的是5.3。 打开项目找到PixelStreamingInfrastructure-master > Frontend > implementat…

【pytorch】pytorch入门5:最大池化层(Pooling layers )

文章目录 前言一、定义概念 缩写二、参数三、最大池化操作四、使用步骤总结参考文献 前言 使用 B站小土堆课程 一、定义概念 缩写 池化(Pooling)是深度学习中常用的一种操作,用于降低卷积神经网络(CNN)或循环神经网…

GWAS分析中显著位点如何注释基因:excel???

大家好,我是邓飞。 今天星球的小伙伴问了一个问题: 我现在在做GWAS分析,现在已经找到性状关联的SNP位点,下一步我如何根据position 找到基因呢? 关于基因注释,之前写过一些博客,可以用到的软件…

windows全局配置pip镜像源

在Windows系统中,可以在用户目录下创建一个名为pip的文件夹,然后创建一个名为pip.ini的配置文件,其中输入镜像源信息。 [global] index-url http://mirrors.aliyun.com/pypi/simple/ [install] trusted-hostmirrors.aliyun.com

什么是reactor以及其三种版本

写在前面 本文来看下什么是reactor以及其三种版本。 1:什么是reactor以及其三种版本 为了更好的理解什么是reactor,我们结合现实生活中的例子来看下。 翠花是个貌美如花的姑娘,人称赛东施,她的梦想是嫁给王子,可是天…

AI产品经理如何做好职业规划❓

AI如何做好职业规划❓ 一、认识AI产品经理的角色 AI产品经理是连接技术与市场的桥梁,需要具备以下核心能力: 1)技术理解力 深入理解AI技术,包括机器学习、深度学习、自然语言处理等。 2)市场洞察力 敏锐捕捉市场动态,理解用户需求和行业趋…

中概股浪潮中暴涨20%的知乎,被低估了吗?

“在未来,要么被AI统治,要么成为AI的创造者”——埃隆马斯克 9月27日以来,受政策以及AI应用前景的利好,中概股开启了一轮强力的反弹。其中,知乎涨超10%,领涨一众中概股,花旗、福瑞集团均给出了…

企业内训|AI助力智能办公与职场效能提升-青岛某国资平台

9月25日,TsingtaoAI派驻讲师进驻现场,为青岛市某国资平台公司员工交付“AI助力智能办公与职场效能提升”企业内训,整个培训通过AIGC的实际应用案例,帮助学员掌握智能办公的常用工具,提升工作流程优化和决策效率。课程涵…

拯救华为秘盒M310

这个盒子当年宣传得比较厉害, 当时确实也没有什么可选的,当年是高价入的,这个盒子有二切一的hdmi切换功能, 这点从今天来看, 都是一个亮点 华为秘盒M310是一款小巧但功能强大的网络机顶盒。它搭载了基于安卓系统的操作平台&#x…

golang 获取证书的生效及过期时间

测试样例 func TestGetCertVaildTime(t *testing.T) {certPEM, err : ioutil.ReadFile("aa.bbb.com.crt")if err ! nil {fmt.Println("读取证书文件出错:", err)return}// 解码PEM格式的证书block, _ : pem.Decode(certPEM)if block nil {fmt.Println(&q…

智源研究院推出全球首个中文大模型辩论平台FlagEval Debate

近日,智源研究院推出全球首个中文大模型辩论平台FlagEval Debate,旨在通过引入模型辩论这一竞争机制对大语言模型能力评估提供新的度量标尺。该平台是智源模型对战评测服务FlagEval大模型角斗场的延展,将有助于甄别大语言模型的能力差异。 F…

vector中push_back和emplace_back的区别

push_back 在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将…

Redis入门第一步:认识Redis与快速安装配置

认识Redis与快速安装配置🍃 Redis是什么🐲 1.Redis的背景🎍 Redis(Remote Dictionary Server)译为"远程字典服务",它是一款基于内存实现的键值型 NoSQL 数据库, 通常也被称为数据结…

pytorch线性/非线性回归拟合

一、线性回归 1. 导入依赖库 import numpy as np import matplotlib.pyplot as plt import torch from torch import nn, optim from torch.autograd import Variable numpy:用来构建数据matplotlib.pyplot: 将构建好的数据可视化torch.nn&#xff1a…

2024还在拼多多赚钱的,无不满足这几个条件

拼多多只是我棋盘上的一小步,整个棋局几人看懂了? 如果我说我做拼多多,其实是另有目的,拼多多只是我棋局里的一小步,你们信吗?认真看文章,后面会为大家揭秘! 先来客观公正的回答下…