92人参与 • 2024-08-01 • 车联网
论文:mindmap: knowledge graph prompting sparks graph of thoughts in large language models
代码:https://github.com/wyl-willing/mindmap
mindmap 通过结合知识图谱提供实时知识更新和透明的推理路径,相比传统llm在处理复杂查询时显著提升了准确性、透明度和解释能力。
mindmap通过创新性地融合知识图谱和大型语言模型,克服了单纯依赖llm处理复杂查询时的多种限制,为用户提供了更精确、可靠、透明和解释性强的解决方案。
mindmap的优势在于可以利用自然语言处理能力,对于复杂的query(用户提问)和外在数据库联系起来。
工作流程涉及几个关键步骤,每一步都利用了llm和kg的特点,以确保生成的答案既准确又信息丰富。
这张图展示了mindmap方法的整体架构,分为两个主要部分:证据图挖掘和证据图聚合,以及基于思维导图(树思维链)的llm推理。
假设症状是“疲劳”和“腹部肿胀”。
在多跳路径探索中,系统可能首先从疲劳这一症状出发,通过知识图谱探索与之直接相关的可能疾病,如“肝硬化”。
接着,系统进一步探索从“肝硬化”到其他相关症状和疾病的路径,比如“肝硬化”可能导致的“黄疸”。
这样一来,就形成了一个从“疲劳”出发,经过“肝硬化”,最终关联到“黄疸”的路径。
在上述例子中,我们已经通过路径证据图发现了“疲劳”与“黄疸”的关联路径。
同时,在邻居证据图中,系统可能发现“腹部肿胀”直接与“肝癌”关联。
通过整合这两个证据图,我们可以构建一个更全面的推理图。
这个推理图将包括从“疲劳”到“肝硬化”再到“黄疸”的路径,以及“腹部肿胀”直接与“肝癌”关联的信息。
这样的推理图帮助系统更全面地理解患者的症状可能指向的多种疾病。
这张图提供了mindmap方法的概览,左侧部分展示了证据图挖掘的各个组件,右侧部分展示了证据图聚合和基于思维导图的llm推理。
基于思维导图的llm推理:
通过结合基于邻居和路径的证据探索,mindmap能够生成准确且有理由的答案,并通过图形化的推理过程提供透明的解释。
mindmap通过结合这两种方法,能够充分利用它们各自的优势,达到更好的性能和鲁棒性:
基于邻居的方法,在提高事实准确性方面比基于路径的方法更有效。
对于涉及医学查询的任务,基于路径的方法在查找相关外部信息方面更好,但在处理诸如药物和测试推荐等多跳答案时表现不佳。
mindmap的优越表现主要来自于它能够灵活结合邻居和路径两种证据探索方法,从而在不同类型的任务中都能表现出色。
这种综合方法确保了系统在处理简单和复杂查询时都能提供准确且合理的答案。
假设有一个用户查询:“患者最近一直感到疲劳,并且腹部肿胀,可能是什么问题?”
邻居证据探索
路径证据探索
mindmap(结合邻居和路径)
这张图片详细展示了mindmap框架在处理用户健康查询时的具体工作流程和推理过程。
mindmap分为三个主要部分。
在这一阶段,我们需要从外部知识图谱(kg)中发现与问题相关的证据子图。具体步骤如下:
在此阶段,llm需要将不同的证据子图(gq)整合为一个统一的推理图(gm)。
在此步骤中,我们使用推理图(gpath m和gnei m)提示llm生成最终输出。
逻辑关系拆解:
举个例子。
步骤一:证据图挖掘
步骤二:证据图聚合
步骤三:llm在思维图上的推理
方式3代表了传统的知识图谱查询,这通常侧重于单一路径或直接关系的检索。
方式4 mindmap,它不仅依赖于知识图谱的结构化查询,还融合了多跳推理(长链条)和多路径探索。这意味着它能够通过多个节点和连接分析复杂的关系,从而提供更全面的问题解读。
在这种模式下,如图所示的路径和邻居方法被并用,使得系统能够通过探索症状与多种疾病间的潜在联系,如肝硬化、黄疸至胆结石等多个步骤的逻辑链路,进而提供更为全面的诊断视角。
在我觉得,医学诊断就是特征识别,之所以有xxx特征,是因为yyy病
知识图谱就是特征匹配的好工具。
mindmap比 知识图谱+大模型 更强,因为多链路推理使得知识图谱结构化推理。
知识图谱的单一路径推理相比于结构化推理,缺少了对多症状和多疾病间复杂关联的全面考量,限制了其在处理多因素交织的医疗诊断问题时的适应性和准确性。
mindmap结论:已经有了结构化推理 + 海量疾病模式识别库
比如一个问题,想通需要十步,而正常人或者大模型,ta最多只能推导三步,这意味着解决不了这种复杂关系问题。
而mindmap可以通过 知识图谱结构化 + 类似二级结论(不用推理直接走2步)的病症疾病识别 + 拼接每个逻辑短链 的方式,变成 3 + 3 + 3 + 1 再整合起来,就能做到十步的推理。
在使用知识图谱进行医学分析时,查邻居和查路径是两种常见的查询方式,每种方式得到的结果都有其特定的用途和特点。
查邻居(neighbor lookup):
这是图数据库中的一种操作,用于查询与某个特定节点直接连接的其他节点。这些直接连接的节点称为“邻居”。这种查询通常用于快速获取与某个实体直接相关的信息。
结果:得到与指定节点(如一个症状)直接连接的所有节点,通常是直接相关的疾病或其他症状。
例如,如果查询症状“头痛”,查邻居的结果可能包括与头痛直接相关的疾病如偏头痛、高血压等。
查路径(path finding):
这种操作用于发现两个节点之间的路径,可以是最短路径,或特定类型的路径,这取决于图的性质和查询的具体要求。路径查找帮助识别两个实体之间的潜在关系,这些关系可能通过多个中间节点相连。
结果:找出两个节点之间的连接路径,可能包括一个或多个中间节点。这有助于理解两个看似不直接相关的实体(如两个症状)如何通过一系列中间联系(可能是其他症状或疾病)相连。
例如,可能探索从“头痛”到“视力模糊”之间的路径,揭示它们通过“高血压”这一共同的潜在原因相连。
结合查邻居和查路径:
如果要得到一个症状的所有可能性适用方法:为了得到一个症状的所有可能性,即所有可能的疾病和相关的症状,最有效的方法是结合查邻居和查路径。
通过这种结合,可以不仅查看与症状直接关联的疾病,还能探索通过不同路径连接的其他可能关联的症状和疾病,从而构建一个全面的症状-疾病网络。
这种方法提供了从单一症状出发的最广泛的医学解释和联系,从而帮助医生或研究人员全面理解症状的潜在原因和复杂性。
这种综合查询策略能够极大地增强医学诊断的深度和准确性,为患者提供更为精确的诊断信息和治疗建议。
查邻居和查路径再结合的操作能够揭示节点之间复杂的直接和间接关系,而查邻居和邻居的邻居仅涉及到简单的、多一层的直接关系探索,缺乏深入的路径分析和复杂关系的整合。
思想实验,在实际场景可能遇到的问题:
知识图谱不用 neo4j,改成 nebula graph (开源分布式图数据库,千亿顶点和万亿边仅毫秒级查询延时)。
少了评估校准,这个工作流是很理想化。
到了真正工作的过程中,需要一个机制,去复验生成结果的。
作者想法:其实可以采用用知识图谱反验证的形式,对结果进行调控。输入的事实准确度还是会对最后结果影响挺大的,可以做一下噪声处理或者采用知识编辑的方式,交叉验证。
证据图挖掘阶段,主要是知识图谱驱动的,侧重于从庞大的结构化数据中提取相关信息,知识图谱提供了结构化的数据支持,而大模型则辅助进行语义分析和实体识别。
证据图聚合阶段,则是大模型推理的,侧重于使用这些信息进行有效的逻辑推理和答案生成,目的是将挖掘阶段得到的多个子图合成一个统一的、能够支持答案生成的推理图。
实体识别
子图探索
隐性步骤:利用合成的推理图,指导llm进行逻辑推理,并生成解答。
关键方法:开发一个图理解的语言模型提示系统,将图的结构和实体关系转化为文本描述,使llm能够理解并运用这些信息。
结合推理链提示技术,指导模型沿着正确的推理路径前进,从而生成准确的答案。
验证和优化
实体识别可能受限于上下文理解的精确性,尤其是在复杂或含糊的文本中,可能导致错误或遗漏关键实体。
子图探索可能无法有效捕捉复杂或间接的实体关系,导致推理图不完整或错误。
图神经网络优化:利用图神经网络(gnn)来识别和学习实体间的复杂关系模式。
据图聚合可能会因为信息过载导致重要信息丢失或推理路径不明确。
优化方案:
llm可能在解释复杂推理图时出现理解偏差,或生成不准确的推理结果。
优化方案:
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论