论文浅尝 | 树遍历:一种用知识图谱增强黑盒语言模型的零样本推理算法(ACL2024)...

笔记整理:https://arxiv.org/abs/2407.21358

论文链接:刘佳俊,东南大学硕士,研究方向为知识图谱、大语言模型

发表会议:ACL2024

1. 动机

知识图谱能够提供给大语言模型可靠的、结构化的、领域上的以及最新的知识,现有的集成方案包括两种,一是将知识图谱数据用于训练或者微调大语言模型,二是结合知识图谱的知识提示大语言模型或者矫正大语言模型输出,都难以实现高效的耦合度较高的集成方案。本文提出了图搜索和LLM推理深度结合的方法,让KG和LLM的结合更为紧密。

2. 方法

树遍历算法维护一个本地 KG 子图,该子图会不断扩展,直到它包含 LLM 回答给定查询所需的所有信息。首先,本地 KG 子图初始化为包含原始查询中存在实体的最小子图。然后使用树搜索算法对其进行扩展,根据LLM生成的行动和想法进行选择扩展方向。当 LLM 能够使用本地 KG 子图作为上下文来回答原始查询时,算法就会停止。

树遍历算法由三个主要部分组成:

(1)知识图谱交互方式,包括初始化,获取当前子图,获取当前子图可以扩展的节点。

(2)动作状态机(Action state machine, ASM),它是一个有限状态机,定义了LLM与KG交互行为,包括扩展本地KG子图时的动作、状态和提示模板。

(3)树搜索算法,定义了总体 LLM 搜索轨迹,包括最佳优先搜索、深度优先搜索、出错时回溯以及找到答案时的终止条件。

具体细节:

1.动作状态机: 包含预设的五种动作,Think、Answer、ExpandKG、Select_EntitiesSelect_Relation ,和五种状态default, selecting-entities, selecting-relation,done 。在不同的状态下可以执行不同的动作,用于转换到下一个状态。每个状态的转换根据树搜索算法的结果进行执行,多次转换后达到状态done结束,流程如图所示:

**2.树搜索算法:**从默认初始子图开始,获取当前子图种可以扩展的实体后,交给LLM评分,按照最优算法选择评分最高的实体和下一步节点扩展子图。评分相同时按照深度优先搜索。无法扩展时进行回退,选择上一步第二个扩展节点。直到LLM认为当前子图能够回答原始查询问题结束搜索,根据当前子图返回结果。同时设置两个超参数阈值最大规模和最大深度,子图达到最大规模和最大深度后不再拓展,根据当前子图内的知识直接回答原始问题

**3.多个知识图谱:**设置多个初始化子图,同时在多个子图上拓展,将多个知识图谱种可扩展的实体一起交给LLM评分,选取其中一个进行拓展。

下面是一个具体的例子:

如图所示,该例子用树遍历方法回答查询:《盗梦空间》和《星际穿越》中都有哪些演员扮演?

(1)初始状态得到子图,包含两个实体**《盗梦空间》和《星际穿越》**,用矩形表示,此时LLM评估子图,不足以回答问题,应该扩展子图

(2)选择需要扩展的实体为**《盗梦空间》** 或两个实体同时扩展,此时选择**《盗梦空间》**

(3)继续选择可以拓展的下一步节点,发现都不符合,此时有问题,进行回退

(4)选择两个实体同时扩展,并选择下一步关系演员

(5)得到对应的演员节点,此时子图可以回答原始查询,搜索结束

3. 实验

论文在2个数据集上选用三个LLM模型对Tree-of-Traversals进行了主要实验评估,选用Wikidata作为知识图谱,指标为EM-in,如果真实答案与答案中任意位置完全匹配,则 EM-in 为 1,否则为 0。实验对比了多种强大的基线,最终结果如图所示,其中ReAct->CoT表示在ReAct得不到答案时改为使用CoT方法。该实验结果表明,Tree-of-Traversals方法在测试的LLM模型上对比现有常见方法有一定提升。

对于同时使用多个知识图谱进行树搜索的方法,论文中构建了一个人工标注的测试集MusicBrainz-x-Wikidata Dataset。如图所示,其中的问题需要MusicBrainz和Wikidata两个图谱的知识进行回答,同时数据集中提供了推理路径。

在MusicBrainz-x-Wikidata上的实验结果如下,对比CoT和Chain-of-Traversals方法,Tree-of-Traversal方法有显著的提升。

同时论文进行了消融实验,测试了没有回溯时和带有回溯时的方法,结果如图所示。如果不允许回溯,性能将会严重下降。

4. 总结

论文指出了现有知识图谱和LLM结合耦合度不高的问题。提出了Tree-of-Traversal方法,该方法将图搜索和LLM推理深度结合,利用LLM指导图的搜索。该方法在图谱上构造一张子图,用动作状态机和树搜索算法扩展子图,直到LLM能够用该子图回答问题。该方法对比现有的CoT,ReAct,Chain-of-Traversals等方法有明显提升。论文还用消融实验验证了回溯步骤的必要性。


OpenKG

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

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

相关推荐
云卓SKYDROID1 分钟前
除草机器人算法以及技术详解!
算法·机器人·科普·高科技·云卓科技·算法技术
985小水博一枚呀6 分钟前
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer
AltmanChan7 分钟前
大语言模型安全威胁
人工智能·安全·语言模型
985小水博一枚呀11 分钟前
【深度学习滑坡制图|论文解读2】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer·迁移学习
数据与后端架构提升之路20 分钟前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
半盏茶香25 分钟前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
爱技术的小伙子26 分钟前
【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
人工智能·chatgpt
徐子童29 分钟前
双指针算法习题解答
算法
想要打 Acm 的小周同学呀38 分钟前
LRU缓存算法
java·算法·缓存
劲夫学编程2 小时前
leetcode:杨辉三角
算法·leetcode·职场和发展