可以看一个关于GraphRAG进展,《EGO-GraphRAG: Modularizing Graph-based Retrieval-Augmented Generation for Design Space Exploration》,https://arxiv.org/pdf/2411.05844,其中针对KGQA范式下的GraphRAG做了一些索引,并针对各个模块的内容做了组合实验,其中有很多关键的技术点可供我们索引。
1)KB-BINDER:《Few-shot In-context Learning for Knowledge Base Question Answering》(https://arxiv.org/abs/2305.01750),为了在统一的无需训练的框架下处理不同KBQA数据集上的问题,KB-BINDER实现了在KBQA任务上的少样本上下文学习。首先,利用像Codex这样的大模型通过模仿一些示例来为特定问题生成逻辑形式作为草稿。其次基于知识库,使用BM25分数匹配将生成的草稿绑定到一个可执行的草稿上。
2)StructGPT:《StructGPT: A General Framework for Large Language Model to Reason over Structured Data》(https://arxiv.org/pdf/2305.09645),这个工作的目的是以统一的方式提高大模型(LLMs)对结构化数据的推理能力,构建了专门的接口来从结构化数据中收集相关证据(即阅读),并让LLMs专注于基于收集到的信息进行推理任务(即推理)。
3)ToG:《Think-on-Graph 2.0: Deep and Faithful Large Language Model Reasoning with Knowledge-guided Retrieval Augmented Generation》,核心思想是利用知识图谱(KGs)通过实体链接文档,促进深入且由知识引导的上下文检索。同时,使用文档作为实体上下文,以实现精确高效的图检索,也就是说,ToG在图检索和上下文检索之间交替进行,寻找与问题相关的深入线索,使LLMs能够生成答案。
4)RoG:《Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasoning》,核心思想是提出了一个规划-检索-推理框架,其中RoG首先生成由KGs支持的关系路径作为忠实的计划。然后,这些计划被用来从KGs中检索有效的推理路径,供LLMs进行忠实的推理。
5)KELP:《Knowledge Graph-Enhanced Large Language Models via Path Selection》(https://arxiv.org/pdf/2406.13862),提出了一个分三个阶段的原则性框架KELP来处理上述问题,通过潜在语义匹配为输入文本生成知识路径的分数,实现更细粒度的灵活知识提取。同时,通过训练KG中选定路径与输入文本之间的编码,也可以考虑与输入文本有间接语义关系的知识路径。
6)DoG:《Debate on Graph: a Flexible and Reliable Reasoning Framework for Large Language Models》(https://arxiv.org/pdf/2409.03155),其认为,过长的推理路径分散了答案生成的注意力,以及误报关系阻碍了路径的精细化。所以,提出了一个迭代交互式KGQA框架,利用LLMs的交互学习能力来执行图上的推理和辩论(DoG),即DoG采用子图聚焦机制,允许LLMs在每个推理步骤后尝试回答问题,从而减轻了漫长推理路径的影响,并利用多角色辩论团队逐步简化复杂问题,减少了误报关系的影响。
7)GSR:《Less is More: Making Smaller Language Models Competent Subgraph Retrievers for Multi-hop KGQA》(https://arxiv.org/pdf/2410.06121),核心思想将子图检索任务建模为由小型语言模型处理的条件生成任务,并定义子图标识符为一系列关系,每个关系都表示为存储在语言模型中的一个特殊标记。
8)GCR:《Graph-constrained Reasoning: Faithful Reasoning on Knowledge Graphs with Large Language Models》(https://github.com/RManLuo/ graph-constrained-reasoning,https://arxiv.org/pdf/2410.13080),核心思想是利用一个轻量级的KG专用LLM进行图约束推理,以及一个强大的通用LLM在多个推理路径上进行归纳推理。
因此,可以看这种思路的一个实现,《Retrieval, Reasoning, Re-ranking: A Context-Enriched Framework for Knowledge Graph Completion》,(https://arxiv.org/abs/2411.08165),其核心思路在于,设计三个模块。
首先,检索模块从知识图谱中收集支持三元组,
从基础嵌入模型(比如TransE, RotatE, GIE, SimKGC, CoLE, and NBF-Net)中收集可能的候选答案。
RuAG(Learned-Rule-Augmented Generation),《RuAG: Learned-rule-augmented Generation for Large Language Models:https://arxiv.org/abs/2411.03349),其核心思路为通过将大量离线数据自动提炼成可解释的一阶逻辑规则,并将其注入大模型(LLMs)中,以增强其推理能力,这里想说明的是,这个的确是有用的。
核心看两点,一个是规则的表示,使用的是一阶谓词逻辑;
一个是在不同任务上,对应推理规则的表示:
以及得到的结果:
其实,这个工作和《RULERAG: RULE-GUIDED RETRIEVAL-AUGMENTED GENERATION WITH LANGUAGE MODELS FOR QUES- TION ANSWERING》(https://arxiv.org/pdf/2410.22353),引入规则知识进行RAG,核心三个东西: