核心内容
- 本文提出了一个方法KG-GPT,可以利用知识图谱支持大模型完成复杂的逻辑推理任务;具体来说KG-GPT会把问题或者论断文本分解成若干个子句,对每个子句进行实体和关系抽取,最后生成该问题的子图用于支持大模型回答问题;
- 本研究验证了KG-GPT的性能,研究了KG-GPT回答分别需要一步、二步、三步推理的问题的正确率,发现KG-GPT的回答正确率并不会随着推理步数的增加而下降,显示出KG-GPT的鲁棒性。
背景
- 大语言模型拥有和人类一样的思考能力,许多研究都在致力于利用和增强大语言模型的这股能力。但是过去的这方面研究大多是基于非结构化数据的,针对结构化数据很少;
- 知识图谱是一种典型的结构化数据,它由一组通过关系互相连接的实体组成,一般用图表示;作为符号主义思想的产物,知识图谱能够极大地支持复杂的多步推理;但是利用知识图谱来增强大模型的逻辑推理能力的研究比较少(至少在本文发布的时候(2023 年)是这样)。
方法论

KG-GPT处理问题主要分三步:

实验
本研究在FactKG和MetaQA两个数据集上对比了KG-GPT和一系列基线模型的性能。结果如下:

结论
- 本文介绍了KG-GPT这样一个基于知识图谱的三阶段大模型框架;KG-GPT包含三部分:拆分句子、知识图谱检索以及推理,这样的框架使得KG-GPT可以在推理能力上超越许多经过大量微调的监督微调模型;
- 使用基于知识图谱的事实验证方法和KGQA评估了KG-GPT的逻辑推理能力,在多个数据集上验证了KG-GPT的性能;
- 事实证明,KG-GPT可以有效地将大模型和知识图谱结合起来,在上下文中结合结构化和非结构化数据增强大模型的逻辑推理能力。
启发与评价
- KG-GPT提供了一种比较直接的、基于上下文的思路来利用知识图谱增强大模型的推理能力,事实证明这样的方式确实有效,但是效果并不是当前最好的;
- KG-GPT去知识图谱中寻找问题中显式出现的实体和关系,寻找到对应的子图来作为大模型的参考材料;但是问题中可能还有很多不存在于字面上的实体和关系,这些实体和关系很可能构成了逻辑链的一部分,但是却不会被当前算法纳入到提示词中;这很可能是导致KG-GPT效果较差的原因;
- KG-GPT抽取了输入的问题中的实体和关系,并且通过拆短句的方法避免了抽取n-hop逻辑链可能产生的困难,这可能是一个能帮助构建知识图谱的小技巧;
- KG-GPT采取了直接把知识图谱中相关的子图加入到上下文中的方法来给大模型提供参考,不过这种三元组表示的知识很可能不是最适合大模型接受的形式。