LLM+KG+Agent的Text2SPARQL多語言KBQA智能體框架—mKGQAgent 原創(chuàng)
前面筆者介紹了《??大模型在知識圖譜問答上的核心算法詳細(xì)思路及實(shí)踐????》,一般的Text2Sparql/Text2SQL技術(shù)路線圖如下,目標(biāo)是獎自然語言轉(zhuǎn)話為可查詢的SQL語句。

目前基于KG+LLM+Agent的KBQA方案,在多語言場景未得到充分探索。下面來看一個(gè)智能體框架-mKGQAgent,通過模擬人類推理過程將自然語言問題轉(zhuǎn)化為SPARQL查詢。
mKGQAgent架構(gòu)

mKGQAgent 工作流演示(在線階段)。在評估階段,mKGQAgent 利用經(jīng)驗(yàn)池中的實(shí)例來優(yōu)化規(guī)劃,通過上下文學(xué)習(xí)訓(xùn)練示例提升 SPARQL 查詢生成意識,并借助反饋糾正潛在錯(cuò)誤。離線階段,則是為收集經(jīng)驗(yàn)池所必需。評估或在線階段——即 mKGQAgent 各組件及其集成模塊的調(diào)度過程。
工作流程分為離線階段和評估(在線)階段,核心是模塊化的子任務(wù)分解與協(xié)同,結(jié)合經(jīng)驗(yàn)池(Experience Pool)和工具調(diào)用提升多語言場景下的性能。
1、離線階段(Offline Phase)

離線階段的核心是構(gòu)建經(jīng)驗(yàn)池(Experience Pool),為在線階段的推理提供上下文學(xué)習(xí)的示例。該階段通過一個(gè)簡化版代理(SAgent)完成,包括以下步驟:
1.1 命名實(shí)體鏈接工具(Named Entity Linking, NEL Tool)
模擬人類查詢知識圖譜中資源標(biāo)識符的行為,將自然語言中的實(shí)體和關(guān)系候選映射到知識圖譜中的URI(統(tǒng)一資源標(biāo)識符)。例如,將“Angela Merkel”鏈接到Wikidata的URI(Q567)。
復(fù)用現(xiàn)有NEL服務(wù)(如Wikidata的實(shí)體查詢接口)和關(guān)系鏈接工具(如Falcon 2.0),而非提出新算法:

- 輸入實(shí)體候選(E)和關(guān)系候選(R);
- 調(diào)用NEL服務(wù)獲取每個(gè)候選的URI;
- 返回鏈接后的實(shí)體和關(guān)系字典。
1.2 計(jì)劃步驟(Plan Step)
將生成SPARQL查詢的復(fù)雜任務(wù)分解為一系列子任務(wù)(如實(shí)體識別、關(guān)系鏈接、查詢優(yōu)化等),模擬人類分步解決問題的邏輯。
通過LLM生成分步計(jì)劃:

- 輸入自然語言問題(qi)和系統(tǒng)提示(Splan);
- LLM輸出子任務(wù)列表(pi),作為后續(xù)行動的指南。
1.3 無經(jīng)驗(yàn)池的行動步驟(Action Step without Experience Pool)
按計(jì)劃步驟順序執(zhí)行子任務(wù),結(jié)合NEL工具完成實(shí)體鏈接,逐步生成SPARQL查詢。
- 實(shí)現(xiàn):

- 輸入計(jì)劃(pi)、LLM、NEL工具和系統(tǒng)提示(Saction);
- 依次執(zhí)行每個(gè)子任務(wù),必要時(shí)調(diào)用NEL工具;
- 保存對話歷史(Hi),最終輸出初步SPARQL查詢(
)。
1.4 經(jīng)驗(yàn)池構(gòu)建(Experience Pool Construction)
- 功能:存儲的推理過程和結(jié)果(包括成功與失敗案例),作為在線階段的上下文學(xué)習(xí)示例。
- 實(shí)現(xiàn):

1.對訓(xùn)練集中的問題(qi),生成SPARQL查詢并與真實(shí)查詢(
)對比,計(jì)算F1分?jǐn)?shù);
2.將問題向量、計(jì)劃、對話歷史、F1分?jǐn)?shù)等元數(shù)據(jù)存入向量數(shù)據(jù)庫;
3.經(jīng)驗(yàn)池包含成功(F1=1.0)和失敗(F1<1.0)的案例,支持后續(xù)相似問題的檢索。
2、評估階段(Evaluation Phase)
在線階段基于離線構(gòu)建的經(jīng)驗(yàn)池,通過計(jì)劃、行動和反饋的協(xié)同生成最終SPARQL查詢。

2.1 帶經(jīng)驗(yàn)池的計(jì)劃步驟(Plan Step with Experience Pool)
利用經(jīng)驗(yàn)池中相似問題的成功計(jì)劃優(yōu)化當(dāng)前計(jì)劃,提升子任務(wù)分解的準(zhǔn)確性。

1.將輸入問題(qi)轉(zhuǎn)換為向量(vqi);
2.從經(jīng)驗(yàn)池中檢索Top-N個(gè)高F1分?jǐn)?shù)的相似計(jì)劃;
3.將這些計(jì)劃融入系統(tǒng)提示(
),引導(dǎo)LLM生成更優(yōu)計(jì)劃(pi)。
2.2 帶經(jīng)驗(yàn)池的行動步驟(Action Step with Experience Pool)
結(jié)合經(jīng)驗(yàn)池中相似問題的SPARQL示例,優(yōu)化查詢生成過程,同時(shí)支持反饋步驟的結(jié)果整合。

1.檢索經(jīng)驗(yàn)池中Top-N個(gè)相似SPARQL查詢,融入行動階段的系統(tǒng)提示(
);
2.按計(jì)劃執(zhí)行子任務(wù),調(diào)用NEL工具,并可結(jié)合反饋結(jié)果調(diào)整查詢。
3.2.3 反饋步驟(Feedback Step)
通過執(zhí)行初步查詢并分析知識圖譜的返回結(jié)果,修正查詢錯(cuò)誤,模擬人類“試錯(cuò)-改進(jìn)”的推理過程。

1.將初步生成的SPARQL查詢(
)在三元組存儲中執(zhí)行,獲取返回結(jié)果(Ai);
2.將結(jié)果填入反饋提示模板(
),返回給行動步驟;
3.行動步驟根據(jù)反饋優(yōu)化查詢,輸出最終結(jié)果(僅觸發(fā)一次,避免無限循環(huán))。
實(shí)驗(yàn)性能



參考文獻(xiàn):Text-to-SPARQL Goes Beyond English: Multilingual Question Answering Over Knowledge Graphs through Human-Inspired Reasoning,https://arxiv.org/pdf/2507.16971v1
本文轉(zhuǎn)載自??大模型自然語言處理?? 作者:余俊暉

















