Tree-of-Traversals:结合知识图谱与大模型,通过树遍历和回溯寻找高置信度推理路径
- Tree-of-Traversals算法解析
- 对比 MindMap
- 1. 与知识图谱(KGs)的整合
- 2. 推理方法
- 3. 灵活性与可扩展性
- 4. 在医学诊断中的应用
- 速度和准确
- 1. 速度
- 2. 推理的全面性
- 3. 准确性
- 总结
论文:Tree-of-Traversals: A Zero-Shot Reasoning Algorithm for Augmenting Black-box Language Models with Knowledge Graphs
代码:https://github.com/amazon-science/tree-of-traversals
随着强大的 LLMs 新功能的涌现,结合知识图谱的兴趣也随之复苏。最近的一系列调查和论文强调了结合使用 LLMs 和 KGs 的巨大潜力。目前,LLMs 与 KGs 的结合方式多样,如在预训练阶段集成,进行微调或后期适配,但这些方法都存在局限。
尤其是,训练或微调大型语言模型不仅成本高昂,而且在很多情况下,模型的权重并不是公开可获取的。
此外,最大的知识图谱需要独立的服务器托管,无法直接在内存中与语言模型集成。以前的研究也未涉及同时与多个知识图谱结合的场景。
我们提出了一种创新的推理算法——“树遍历”,它允许在不重新训练或微调的情况下,将任意数量的知识图谱以零次射击方式加入到强大的黑盒式大型语言模型中。
这种方法使得客户可以安全地结合使用黑盒 LLM API 和专门领域的内部知识图谱,或者通过各种可通过 API 访问的知识图谱将深入的领域知识融入其中,而无需担心使用个人数据训练模型可能带来的风险。
我们的研究成果主要包括以下几个方面:
- 我们提出了“树遍历”算法,这是一种创新的零次射击推理算法,它可以增强任何强大的大型语言模型,并利用树状搜索进行高级知识图谱推理。
- 我们在两个广泛使用的基准测试集上对“树遍历”进行了评估,并将其性能与现有基线进行了比较。
- 我们还开发了一个新的数据集,用于测试在通用及特定领域知识图谱上的综合推理能力,并在这一数据集上对“树遍历”算法进行了测试和评估。
我们提出的“树遍历”算法主要包括三个部分:
- 首先,知识图谱接口允许与一个或多个知识图谱进行交互;
- 其次,动作状态机(ASM),这是一个有限状态机,它定义了可行的动作、状态和在大型语言模型与知识图谱互动扩展本地知识图谱子图时使用的提示模板;
- 最后,树形搜索算法决定了整体的搜索路径,包括最优先搜索、错误后的回溯以及找到答案时的终止。
├── 2 树遍历(Tree-of-Traversals)算法【技术核心】
│ ├── 输入【开始数据】
│ │ ├── 问题查询:来自用户的问题【问题输入】
│ │ └── 知识图谱数据:包含实体及其关系的结构化信息【数据输入】
│ ├── 处理过程【算法执行】
│ │ ├── 初始化【处理步骤】
│ │ │ ├── 提取实体:从问题中识别关键实体【技术应用】
│ │ │ └── 建立本地子图:在KG中形成相关的实体和关系子集【技术应用】
│ │ ├── 动作状态机(ASM)【处理步骤】
│ │ │ ├── 定义可能的动作:根据问题确定可执行的动作【决策过程】
│ │ │ └── 管理状态转换:控制从一个状态到另一个状态的过渡【状态管理】
│ │ └── 树搜索算法【处理步骤】
│ │ ├── 生成思考路径:利用LLM产生可能的思考路径和动作【推理生成】
│ │ ├── 执行动作:根据生成的路径在KG中执行操作【动作执行】
│ │ └── 评估和选择:对产生的结果进行评估,选择最佳路径【结果评估】
│ └── 输出【结果产出】
│ ├── 答案生成:LLM根据最终的KG状态生成答案【输出内容】
│ └── 更新的知识图谱:展示处理过程中对KG的更新或扩展【输出内容】
│
└── LLMs与KGs的整合【应用领域】
├── 增强推理能力,更新LLMs的能力而无需重新训练【应用效果】
└── 自动化复杂的决策过程,改善如问答等数据驱动的任务【应用效果】
针对这个实际的医学问诊问题:“医生,我最近经常牙疼,刷牙的时候经常出血,是不是牙龈出问题了?”,我们可以通过穿越树(Tree-of-Traversals)算法来演示如何进行分析和诊断。
患者询问:“医生,我最近经常牙疼,刷牙的时候经常出血,是不是牙龈出问题了?”
- 输入
- 问题查询:“我最近经常牙疼,刷牙的时候经常出血,是不是牙龈出问题了?”
- 知识图谱数据:包含有关牙科疾病(如牙龈炎、牙周炎)、症状、治疗方法以及相关生活习惯信息的医学知识图谱。
- 处理过程
-
初始化:
- 提取实体:识别“牙疼”和“刷牙出血”作为关键症状。
- 建立本地子图:构建涉及这些症状及可能相关疾病如牙龈炎和牙周炎的知识子图。
-
动作状态机(ASM):
- 定义可能的动作:包括查询牙龈疾病的病因、症状、并发症和治疗方法。
- 管理状态转换:从识别症状到关联病因和推荐治疗。
-
树搜索算法:
- 生成思考路径:模拟可能的医疗诊断路径,例如探索牙龈炎引起的症状与治疗。
- 执行动作:在知识图谱中执行搜索,更新关于牙龈状况的信息。
- 评估和选择:评估不同诊断的可信度,选择最匹配患者描述的诊断结果。
- 输出
- 答案生成:可能的诊断结果,如“牙龈炎可能是导致您牙疼和刷牙时出血的原因。”
- 更新的知识图谱:包括关于牙龈炎及其治疗的最新医学信息,可能还包括预防措施和日常护理建议。
技术和方法解释及衔接
- 知识图谱的使用:为算法提供牙科相关的详细医学背景,使算法能够基于实际情况进行深入的医学推理。
- 动作状态机和树搜索算法的结合:通过ASM提供明确的动作指南和状态管理,以及树搜索算法的推理能力,确保从患者症状到可能的病因之间的逻辑推理精确且高效。
- 零样本推理的优势:算法能够在没有特定训练样本的情况下处理复杂的医疗问题,适应各种未知或新出现的症状描述。
这幅图是一个关于如何使用一种名为“树遍历”的算法来解决一个具体问题的示例。这个问题是查询在两部电影《盗梦空间》和《星际穿越》中都有演出的演员。这个过程通过与知识图谱的交互完成,分以下几个步骤说明:
- 初始化:算法开始时,会根据问题中提到的电影《盗梦空间》和《星际穿越》,在知识图谱中标记出这两个实体。
- 选择操作:算法会决定是直接尝试回答问题,还是继续在知识图谱中寻找更多信息(称为“扩展KG”)。在这个例子中,算法选择了“扩展KG”以获取更多信息。
- 细化搜索:算法接着选择特定的实体(电影),并决定探索与这些电影相关的哪种信息(例如导演或演员)。
- 回溯:如果选定的路径没有产生有价值的信息(即答案的价值低),算法会退回到之前的步骤,选择其他可能的路径。
- 得出答案:最终,算法收集所有需要的信息后,会生成答案。在这个例子中,正确的答案是演员迈克尔·凯恩,因为他在这两部电影中都有出演。
每个步骤都用不同的方框和箭头表示,显示了从问题到答案的整个决策过程。这种方法可以帮助算法在复杂的查询中找到准确的答案,通过不断在知识图谱中搜索和回溯来提高回答问题的准确性。
Tree-of-Traversals算法解析
目的:提高大型语言模型(LLMs)在处理复杂查询时的推理能力和准确性,通过结合知识图谱(KGs),使LLMs能够更有效地处理和解答具体领域的问题。
问题:单独的LLMs在没有足够具体领域知识支持时,可能无法准确回答或推理出特定领域(如医学、法律等)的详细问题,因为它们的训练数据可能不包含足够的领域特定信息,或者信息已经过时。
解法:通过结合知识图谱和动态的搜索算法(树搜索算法)来增强LLMs的问题解决能力,使其能够访问和利用最新的、结构化的领域知识。
-
知识图谱接口(子解法1):
- 特征:提供了结构化的、领域特定的知识,如实体、属性、关系等。
- 之所以用知识图谱接口,是因为这些结构化的信息可以直接增强LLMs的知识库,使其对领域内的具体问题有更深入的理解。例如,医学领域的知识图谱可以帮助LLM更好地理解疾病和症状之间的关系。
-
动作状态机(ASM)(子解法2):
- 特征:管理和维护可能的动作和状态,提供决策支持。
- 之所以用动作状态机(ASM),是因为它可以根据当前的查询和可用的知识图谱信息确定最佳的行动路径。例如,面对一个关于药物副作用的查询,ASM能确定是否需要进一步查询特定药物与其他疾病的关联。
-
树搜索算法(子解法3):
- 特征:执行复杂的推理和搜索任务,通过模拟多种可能的推理路径来寻找最佳答案。
- 之所以用树搜索算法,是因为它可以在可能的解答空间内有效地导航,找到最准确的回答。例如,在处理法律相关查询时,树搜索算法可以评估不同法律规则的适用性并选择最相关的法条。
对比 MindMap
在医学诊断领域对比“树遍历”算法与“MindMap”时,几个关键方面凸显了它们的方法、优势和潜在应用:
1. 与知识图谱(KGs)的整合
-
树遍历:
- 无需重新训练或微调LLMs,便可与一个或多个知识图谱动态整合。此方法采用零次射击方式,根据特定查询上下文与知识图谱进行交互。
- 侧重于使用基于树的搜索方法在知识图谱中导航,有效利用结构化知识进行推理。
-
MindMap:
- 同样动态连接到知识图谱,但强调使用知识图谱提示来激发LLM内部的思维图。这增强了LLM的自然语言处理能力及其整合和推理新的、结构化信息的能力。
- 使用可视化思维图来增加透明度,并提供可追溯的推理路径,这在医学诊断中至关重要,有助于理解模型的决策过程。
2. 推理方法
-
树遍历:
- 利用动作状态机(ASM)和树搜索算法来确定查询解决的最佳路径。这包括生成潜在的推理路径,执行知识图谱中的动作,并根据评估选择最佳结果。
- 旨在通过动态导航一系列可能解决方案的树来处理复杂查询,使其高度适应不同的诊断场景。
-
MindMap:
- 结合大型语言模型的能力和知识图谱来执行复杂的、多步骤的逻辑推理。专注于通过模拟类人思维过程的方式增强LLM的推理能力。
- 在生成决策解释方面表现强劲,这在医学诊断中非常有益,为每个诊断建议提供清晰的理由。
3. 灵活性与可扩展性
-
树遍历:
- 高度灵活,允许与任意数量的知识图谱整合,且不依赖于模型重训练。这使得它能够在不同领域内扩展,无需额外的显著成本。
- 该算法的回溯和探索多路径的能力确保了在复杂的诊断场景中的鲁棒性,特别是在可能有多个可行诊断时。
-
MindMap:
- 通过动态更新其知识库的能力,也显示出在整合新知识领域时的显著灵活性,这在医学等快速发展的领域中尤为重要。
- 系统的模块化在添加或修改知识领域时快速适应新的应用,使其在大规模医疗应用中既可扩展又高效。
4. 在医学诊断中的应用
-
树遍历:
- 其树搜索方法可以系统地探索各种诊断假设,评估它们,并在必要时进行回溯,类似于医疗专业人员如何权衡不同的诊断可能性。
- 零样本学习方法确保了系统可以在没有针对特定医疗数据训练的情况下部署在医疗场景中,从而尊重隐私问题和数据敏感性。
-
MindMap:
- 通过创建可视化思维图,MindMap能为医疗专业人员提供清晰且可解释的推理过程视图,帮助在需要多个专家合作和理解AI决策过程的复杂案例中。
- 其能够结合并推理大量的医疗数据使其特别适用于深入诊断,理解症状、疾病和治疗之间的关系至关重要。
速度和准确
在比较“树遍历”和“MindMap”这两种技术在速度、推理全面性和准确性方面时,每种方法都有其独特的优势和局限。这些差异主要源于它们对知识图谱的不同使用方式和推理策略。
1. 速度
-
树遍历:
- 优势: 由于树遍历算法采用了零次射击(zero-shot)方法,无需预训练或微调,可以直接与多个知识图谱动态交互。这使得在不需要长时间加载或处理大量数据的情况下快速响应。
- 局限: 虽然响应速度快,但复杂查询的处理速度可能因需要进行多次树形搜索和回溯而变慢,尤其是在面对广泛的知识图谱数据时。
-
MindMap:
- 优势: MindMap通过构建可视化的思维图,增强了信息的透明度和可追踪性,但这种方法在处理速度上可能不如树遍历快,尤其是在构建和更新复杂思维图时。
- 局限: 在生成详尽的推理路径时,可能需要更多的计算资源和时间,特别是当涉及到大规模或复杂的知识图谱时。
2. 推理的全面性
-
树遍历:
- 优势: 通过树搜索算法,能够探索多个潜在的推理路径,提供多方案的解决策略,这在处理复杂和多变的医疗诊断问题时尤其重要。
- 局限: 尽管可以探索多条路径,但全面性的保证依赖于算法能否全面覆盖所有相关的知识图谱节点和连接,这可能受限于知识图谱的完整性和算法的搜索深度。
-
MindMap:
- 优势: 通过结合知识图谱和大型语言模型的自然语言处理能力,MindMap在生成推理过程时能够考虑更多的上下文和连接,提供更为全面和深入的推理。
- 局限: 虽然推理过程全面,但其效率和全面性同样受限于所使用知识图谱的质量和更新频率。
3. 准确性
-
树遍历:
- 优势: 能够动态地从多个知识图谱中获取信息,并通过实时的树形搜索确保根据最新和最相关的数据生成答案,增强了准确性。
- 局限: 准确性在一定程度上依赖于搜索算法的有效性和知识图谱的质量。如果搜索算法未能覆盖所有相关数据或知识图谱存在缺陷,则可能影响结果的准确性。
-
MindMap:
- 优势: 通过生成可视化的思维图和结合LLM的理解能力,MindMap可以提供非常详细和准确的推理结果,尤其是在需要深入分析的医学诊断中。
- 局限: 准确性虽高,但如同全面性一样,也依赖于知识图谱的更新和准确度。此外,复杂的推理图可能在某些情况下导致过度复杂化,影响决策的速度和直观性。
总结
选择“树遍历”或“MindMap”依赖于特定应用的需求。如果项目需要快速响应和能够处理多来源信息的能力,可能倾向于选择“树遍历”。而在需要高度透明和详细解释推理过程的应用,尤其是在医疗诊断等领域,"MindMap"可能更为合适。
两者都能提供高准确性,但其效果依赖于所依赖知识图谱的质量和完整性。
“树遍历”和“MindMap”都为整合知识图谱与大型语言模型以增强医学诊断提供了坚实的框架。
选择哪一种将取决于特定需求,如需要透明度(MindMap)、灵活地与多个知识图谱整合的能力(树遍历),以及系统的推理风格如何与预期的医疗应用相匹配。