论文浅尝 | THINK-ON-GRAPH:基于知识图谱的深层次且可靠的大语言模型推理方法...

219919b8876112fa315e6006759a9edd.png

笔记整理:刘佳俊,东南大学硕士,研究方向为知识图谱

链接:https://arxiv.org/pdf/2307.07697.pdf

1. 动机

本文是IDEA研究院的工作,这篇工作将知识图谱的和大语言模型推理进行了结合,在每一步图推理中利用大语言模型检索图结构数据,实现了深层且可靠的推理。

1.1 大语言模型的问题

尽管大型语言模型(LLM)在各种任务中都取得了显著的表现,但在面临复杂的知识推理任务时有很大的局限性

(1)LLM通常无法准确回答需要预训练阶段以外的专业知识的问题或需要长逻辑链和多跳知识推理的问题

(2)LLM缺乏可靠性、可解释性和透明度,这引起了用户对“幻觉”和“有害文本”风险的担忧

(3)LLM的训练过程通常既昂贵又耗时,这使得它们很难保持最新的知识。

1.2 “LLM ⊕ KG”方法的局限性

一个自然而有潜力的解决方案是结合外部知识,如知识图谱(KGs),以帮助改进LLM推理。KGs提供结构化、明确和可编辑的知识表示,提供了一种互补的策略来减轻LLM的局限性。这些方法遵循一个范式:从KGs中检索信息,相应地增加提示,并将增加的提示输入LLM,这篇论文称为“LLM ⊕ KG”。

尽管LLM旨在整合LLM和KG的力量,但在这种范式中,LLM扮演着翻译器的角色,将输入问题转换为机器可理解的命令,用于KG的搜索和推理,但它并不直接参与图推理过程。不幸的是,这种低耦合度的范式有其自身的局限性,其成功在很大程度上取决于KG的完整性和高质量。

1.3 “LLM ⊗ KG”范式的提出

本文提出了一种新的高耦合“LLM ⊗ KG”范式,其中KG和LLM协同工作,在图推理的每一步中互补彼此的能力。这篇文章称为“Think-on-Graph”,ToG允许LLM动态探索KG中的许多推理路径,并相应地做出决策。其具有以下优点:

(1)深度推理

(2)可靠推理

(3)灵活高效

758cc185489e63ea5f04965afeee1767.png

图1  针对问题“堪培拉所在的国家现在的多数党是什么?”,三种LLM推理范式的典型工作流程:(a) 仅LLM(例如思想链提示),由于知识库时间落后答案错误(b) LLM⊕KG(例如,通过LLM生成的SPARQL查询进行KBQA),图谱查询失败(c)LLM⊗KG(如,ToG)深度推理成功得到答案。

2. 方法

6861ad565d9f0516c11fbc437ccdfe12.png

图2 ToG的推理过程,包含多个关系探索、实体探索过程并且包含搜索和修剪过程,最终生成多个推理路径,从中得到答案

2.1 ToG

ToG提示LLM迭代地探索KGs上的多个可能的推理路径,直到LLM确定可以根据当前推理路径回答问题。整个推理过程包括以下三个阶段:初始化、探索和推理。

(1)初始化

ToG首先提示LLM自动提取有问题的主题实体,并获得问题的前N个主题实体。请注意,主题实体的数量可能小于N。

(2)探索

第D次迭代中的探索阶段旨在利用LLM,根据问题x从当前前N个实体集  的相邻实体中识别出最相关的前N个实体  ,并用  扩展前N个推理路径P。为了解决LLM处理大量相邻实体的复杂性,ToG实施了两步探索策略:首先,探索出重要的关系,然后使用选定的关系来指导实体探索。

关系探索

关系探索是一个深度为1、宽度为N的集束搜索(beam search)过程,从  到  。整个过程可以分解为两个步骤: 搜索和修剪。LLM充当自动完成此过程的代理。

搜索:搜索在第D次迭代开始时,关系探索阶段首先为每个推理路径  搜索链接到尾部实体  的关系  。这些关系被聚合为  。

修剪:一旦我们从关系搜索中获得了候选关系集  和扩展的候选推理路径  ,我们就可以利用LLM基于问题x的文字信息和候选关系  ,从  中选择出以尾部关系  结尾的新的前N个推理路径P。

实体探索

与关系探索类似,实体探索也是LLM从  到  执行的波束搜索过程,由两个步骤组成:搜索和修剪。

搜索:一旦我们从关系探索中获得了新的前N个推理路径P和一组新的尾部关系  ,对于每个关系路径  ,我们可以通过查询  或  来探索候选实体集  ,其中  表示  的尾部实体和关系。我们可以将  聚合到  中,并将前N条推理路径P扩展到具有尾部实体  的  。

修剪:由于每个候选集合  中的实体是用自然语言表示的,因此我们可以利用LLM来选择新的前N个推理路径P,该路径P以  的尾部实体  结束。

在执行上述两个探索之后,我们重建新的前N个推理路径P,其中每个路径的长度增加1。每个修剪步骤最多需要N个LLM调用。

(3)推理

在通过探索过程获得当前推理路径P后,我们提示LLM评估当前推理路径是否足以生成答案。如果评估结果为肯定,我们将提示LLM使用推理路径生成答案,并将查询作为输入,如图2所示。相反,如果评估结果为否定,我们重复探索和推理步骤,直到评估结果为肯定或达到最大搜索深度  。如果算法尚未结束,则表明即使达到  ,ToG仍然无法探索解决问题的推理路径。在这种情况下,ToG仅基于LLM中的固有知识生成答案。

ToG的整个推理过程包括D个探索阶段和D个评估步骤以及一个生成步骤,该生成步骤最多需要对LLM进行2ND+D+1次调用。

2.2 ToG-R

以前的KBQA方法,特别是基于语义解析的方法,主要依赖于问题中的关系信息来生成正式查询。受此启发,本文提出了基于关系的ToG(ToG-R),它探索从主题实体开始的前N个关系链  ,而不是基于三元组的推理路径。ToG-R在每次迭代中依次执行关系搜索、关系修剪和实体搜索,与ToG相同。然后ToG-R基于通过实体搜索获得的以  结尾的所有候选推理路径来执行推理步骤。如果LLM确定检索到的候选推理路径不包含LLM回答问题的足够信息,则我们从候选实体  中随机抽取N个实体,并继续进行下一次迭代。

假设每个实体集  中的实体可能属于同一实体类并具有相似的相邻关系,则修剪实体集  的结果可能对后续的关系探索几乎没有影响。因此,我们在ToG中使用随机集束搜索而不是LLM约束的波束搜索来进行实体修剪,称为随机修剪。oG-R最多需要对LLM进行ND+D+1调用。

ToG-R对比ToG的优势

(1)它消除了使用LLM修剪实体的过程的需要,从而减少了总体成本和推理时间。

(2)ToG-R主要强调关系的字面信息,当中间实体的字面信息缺失或LLM不熟悉时,降低了错误推理的风险。

3. 实验

3.1 实验设计

数据集和评估采用最近常用的方法,如表1所示,共做了五个任务,包含九个数据集,使用了Freebase和Wikidata两个知识图谱用于推理。并且使用了多个大语言模型验证即插即用的便捷性,分别是ChatGPT, GPT4和Llama-2,其中。测试指标采用标准绝对匹配(exact match)准确率。因为基于特定数据集的大模型微调方法仅在特定相关领域有较好表现,所以不将微调方法的SOTA水平作为比较。

2ee4ab1ced6a1fde9ec576c65ff11346.png

表1 ToG在不同数据集上的结果

3.2 实验结果

(1)与其他方法对比的结果:如表1所示,使用ToG方法所有的任务上效果都优于CoT方法的SOTA水平,甚至部分超过了微调方法。在大部分场景下,ToG方法优于ToG-R方法,因为ToG按照三元组推理的方法比ToG-R关系推理能够获得更多中间实体的信息。

(2)不同基座模型的表现 :实验表明ToG的效果随着基座模型能力的提升而提升。并且即使使用最小的模型Llama-2(70B参数),ToG也优于GPT-4的CoT。小型LLM的ToG方案可能是替代昂贵大LLM的候选者,特别是在外部KG可以覆盖的垂直场景中。

(3)消融研究:针对搜索宽度和深度,实验表明宽度和深度设置为3是最合适的。针对知识图谱的选择,针对不同的任务越专业的知识图谱效果越好。针对提示的设计,使用ToG的三元组格式提示效果优于序列格式、句子格式以及ToG-R的格式。针对不同的修剪工具,直接让大模型做修剪效果最佳。

(4)知识的可追溯性和可纠正性:ToG的显式推理路径可以显示给用户,体现了知识的可追溯性。同时,根据ToG的提示,用户可以要求LLM更正KG出现的错误,并用正确的信息回答相同的问题。ToG不仅用KG增强LLM,而且用LLM提高KG的质量,称为知识灌输。

4. 总结

这篇文章介绍了LLM⊗KG范式,用于以紧密耦合的方式集成LLM和KG,并提出了图上思考(ToG)算法框架,该框架利用LLM作为参与KG推理的智能代理来实现更好的决策。实验结果表明,ToG在没有额外训练成本的情况下优于现有的部分基于微调的方法和基于提示的方法,并减轻了LLM的幻觉问题。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

737d8b9647309d016b6a24eeda61a67c.png

点击阅读原文,进入 OpenKG 网站。

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 03:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 03:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 03:22:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 03:22:04       20 阅读

热门阅读

  1. 银行数据治理:优化金融信息安全

    2024-06-09 03:22:04       11 阅读
  2. oracle中varchar和varchar2的区别

    2024-06-09 03:22:04       10 阅读
  3. 顺序执行sql查询数据不一致的原因

    2024-06-09 03:22:04       11 阅读
  4. OCP学习笔记-007 SQL语言之二:DML

    2024-06-09 03:22:04       14 阅读
  5. Go go-redis应用

    2024-06-09 03:22:04       10 阅读
  6. 代码随想录算法训练营第36期DAY51

    2024-06-09 03:22:04       12 阅读
  7. diffusers 使用脚本导入自定义数据集

    2024-06-09 03:22:04       11 阅读
  8. 【设计模式】装饰器模式(结构型)⭐⭐

    2024-06-09 03:22:04       8 阅读
  9. 电商API在促进销售与营销中的影响

    2024-06-09 03:22:04       11 阅读
  10. Zookeeper 详解:分布式协调服务的核心概念与实践

    2024-06-09 03:22:04       11 阅读
  11. Pytorch中的广播机制

    2024-06-09 03:22:04       8 阅读
  12. Access数据中的SQL偏移注入

    2024-06-09 03:22:04       8 阅读
  13. 在Spark SQL中,fillna函数

    2024-06-09 03:22:04       11 阅读