笔记整理: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_Entities 和 Select_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 网站。