LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent 原创

发布于 2025-7-29 10:00
浏览
0收藏

前面笔者介绍了《​​大模型在知识图谱问答上的核心算法详细思路及实践​​​​》,一般的Text2Sparql/Text2SQL技术路线图如下,目标是奖自然语言转话为可查询的SQL语句。

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

目前基于KG+LLM+Agent的KBQA方案,在多语言场景未得到充分探索。下面来看一个智能体框架-mKGQAgent,通过模拟人类推理过程将自然语言问题转化为SPARQL查询。

mKGQAgent架构

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

mKGQAgent 工作流演示(在线阶段)。在评估阶段,mKGQAgent 利用经验池中的实例来优化规划,通过上下文学习训练示例提升 SPARQL 查询生成意识,并借助反馈纠正潜在错误。离线阶段,则是为收集经验池所必需。评估或在线阶段——即 mKGQAgent 各组件及其集成模块的调度过程。

工作流程分为离线阶段评估(在线)阶段,核心是模块化的子任务分解与协同,结合经验池(Experience Pool)和工具调用提升多语言场景下的性能。

1、离线阶段(Offline Phase)

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

离线阶段的核心是构建经验池(Experience Pool),为在线阶段的推理提供上下文学习的示例。该阶段通过一个简化版代理(SAgent)完成,包括以下步骤:

1.1 命名实体链接工具(Named Entity Linking, NEL Tool)

模拟人类查询知识图谱中资源标识符的行为,将自然语言中的实体和关系候选映射到知识图谱中的URI(统一资源标识符)。例如,将“Angela Merkel”链接到Wikidata的URI(Q567)。

复用现有NEL服务(如Wikidata的实体查询接口)和关系链接工具(如Falcon 2.0),而非提出新算法:

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

  1. 输入实体候选(E)和关系候选(R);
  2. 调用NEL服务获取每个候选的URI;
  3. 返回链接后的实体和关系字典。

1.2 计划步骤(Plan Step)

将生成SPARQL查询的复杂任务分解为一系列子任务(如实体识别、关系链接、查询优化等),模拟人类分步解决问题的逻辑。

通过LLM生成分步计划:

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

  1. 输入自然语言问题(qi)和系统提示(Splan);
  2. LLM输出子任务列表(pi),作为后续行动的指南。

1.3 无经验池的行动步骤(Action Step without Experience Pool)

按计划步骤顺序执行子任务,结合NEL工具完成实体链接,逐步生成SPARQL查询。

  • 实现

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

  1. 输入计划(pi)、LLM、NEL工具和系统提示(Saction);
  2. 依次执行每个子任务,必要时调用NEL工具;
  3. 保存对话历史(Hi),最终输出初步SPARQL查询(LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区)。

1.4 经验池构建(Experience Pool Construction)

  • 功能:存储的推理过程和结果(包括成功与失败案例),作为在线阶段的上下文学习示例。
  • 实现

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

1.对训练集中的问题(qi),生成SPARQL查询并与真实查询(LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区)对比,计算F1分数;

2.将问题向量、计划、对话历史、F1分数等元数据存入向量数据库;

3.经验池包含成功(F1=1.0)和失败(F1<1.0)的案例,支持后续相似问题的检索。

2、评估阶段(Evaluation Phase)

在线阶段基于离线构建的经验池,通过计划、行动和反馈的协同生成最终SPARQL查询。

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

2.1 带经验池的计划步骤(Plan Step with Experience Pool)

利用经验池中相似问题的成功计划优化当前计划,提升子任务分解的准确性。

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

1.将输入问题(qi)转换为向量(vqi);

2.从经验池中检索Top-N个高F1分数的相似计划;

3.将这些计划融入系统提示(LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区),引导LLM生成更优计划(pi)。

2.2 带经验池的行动步骤(Action Step with Experience Pool)

结合经验池中相似问题的SPARQL示例,优化查询生成过程,同时支持反馈步骤的结果整合。

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

1.检索经验池中Top-N个相似SPARQL查询,融入行动阶段的系统提示(LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区);

2.按计划执行子任务,调用NEL工具,并可结合反馈结果调整查询。

3.2.3 反馈步骤(Feedback Step)

通过执行初步查询并分析知识图谱的返回结果,修正查询错误,模拟人类“试错-改进”的推理过程。

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

1.将初步生成的SPARQL查询(LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区)在三元组存储中执行,获取返回结果(Ai);

2.将结果填入反馈提示模板(LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区),返回给行动步骤;

3.行动步骤根据反馈优化查询,输出最终结果(仅触发一次,避免无限循环)。

实验性能

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

LLM+KG+Agent的Text2SPARQL多语言KBQA智能体框架—mKGQAgent-AI.x社区

参考文献:Text-to-SPARQL Goes Beyond English: Multilingual Question Answering Over Knowledge Graphs through Human-Inspired Reasoning,https://arxiv.org/pdf/2507.16971v1

本文转载自​大模型自然语言处理​   作者:余俊晖

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-7-29 10:02:41修改
收藏
回复
举报
回复
相关推荐