RuleRAG:用于生成问答的规则引导的检索增强生成技术

论文:RuleRAG: Rule-Guided Retrieval-Augmented Generation with Language Models for Question Answering项目代码

时间:2025.02.16

本文针对现有研究未将规则引入RAG的问题,提出RuleRAG框架,分为上下文学习ICL和规则引导微调FT,实现了规则对RAG检索和生成的双阶段指导,并构建了相应的规则感知QA基准RuleQA。

一、论文动机

1. 现有RAG技术的局限性

检索增强生成(RAG)在知识密集型问答(QA)任务中展现出潜力,但当前方法存在两大核心问题:

  • 检索阶段:检索器依赖词级匹配,无法保证召回信息与问答需求相关。多数检索器基于无监督文本训练或端到端训练,难以获取推理所需的关键陈述,导致“盲目检索”。
  • 生成阶段:大语言模型未被明确告知如何合理利用含噪声的噪声检索内容。LLM预训练语料中极少显式“标注”事实间的逻辑关系,即使回答正确,其归因过程也难以解释和验证。

2. 研究动机

规则(如“公司与有影响力企业合并会导致股价上涨”)能捕捉复杂知识间的内在逻辑,比单纯词匹配更适合知识密集型问答。但现有研究未将规则引入RAG,且多数RAG数据集未包含规则信息。因此,RuleRAG通过规则引导检索与生成,并构建规则感知的QA基准数据集。

二、论文方法

RuleRAG包含两种核心模式:无训练依赖的RuleRAG-ICL(上下文学习)有训练优化的RuleRAG-FT(规则引导微调),整体框架如下图所示:
在这里插入图片描述

规则库用于存储从知识图谱中挖掘出的规则,RuleRAG有ICL和FT两种模式,两者推理的流程相同如(a),前者把规则和问题交给检索器和生成器,当场学习规则,后者对检索器和生成器进行规则训练,(b)是通过对比学习正例文档和负例文档微调检索器,(c)是通过指令Instruct+ 检索到的文档 Dq+ 规则 r∈Rq+ 正确答案 微调生成器。

1. RuleRAG-ICL(上下文学习模式)

无需训练,通过在输入中引入规则实现引导,流程如下:

  1. 规则匹配:用Sentence-BERT计算查询(q)与候选规则的语义相似度,筛选出得分超阈值θ的Top-N条规则(R_q)。
  2. 规则引导检索(RG-retriever):将查询与每条规则拼接 q ∘ r q∘r qr,计算与文档的相关性得分 s ( d i , q ∘ r ) = E d ( d i ) ⋅ E q ( q ∘ r ) s(d_i, q∘r) = E_d(d_i)·E_q(q∘r) s(di,qr)=Ed(di)Eq(qr),E为编码器),召回Top-k文档 D q r D_q^r Dqr,最终合并所有规则对应的文档得到 D q D_q Dq
  3. 规则引导生成(RG-generator):构建包含“查询+规则+检索文档”的指令,让LLM基于规则归因推理,生成概率公式为:
    P ( a ∣ q , R , D ) ≈ P L L M ( a ∣ I N S ( q , R q , D q ) ) P(a | q, \mathcal{R}, \mathcal{D}) \approx P_{LLM}\left(a | INS\left(q, R_{q}, \mathcal{D}_{q}\right)\right) P(aq,R,D)PLLM(aINS(q,Rq,Dq))
    (INS为指令模板,详见文档附录K)

2. RuleRAG-FT(规则引导微调模式)

通过微调进一步提升规则遵循能力,分为检索器微调(RGFT-retriever)和生成器微调(RGFT-generator):

  • 检索器微调(RGFT-retriever)

    • 支持稀疏检索器(如BM25)和稠密检索器(如DPR、SimCSE),微调时冻结文档编码器以提升效率。
    • 采用对比学习目标,输入为“查询+规则”,标签为启发式筛选的“ oracle文档”(正确答案所在文档)。
    • 损失函数(批量内对比损失):
      L q r = − l o g e s ( d i + , q ∘ r ) e s ( d i + , q ∘ r ) + ∑ d j − ∈ B / D o e s ( d j − , q ∘ r ) \mathcal{L}_{q}^{r}=-log \frac{e^{s\left(d_{i}^{+}, q \circ r\right)}}{e^{s\left(d_{i}^{+}, q \circ r\right)}+\sum_{d_{j}^{-} \in \mathcal{B} / \mathcal{D}_{o}} e^{s\left(d_{j}^{-}, q \circ r\right)}} Lqr=loges(di+,qr)+djB/Does(dj,qr)es(di+,qr)
      d i + d_i^+ di+为正例文档, d j − d_j^- dj为批量内负例文档,B为批量文档集, D o D_o Do为oracle文档集, B / D o B/D_o B/Do:表示从训练批次的文档集合B中去除 oracle 文档集合Do后的剩余文档,即负例文档的集合)
    • 训练目标是最小化整体损失 L = ∑ ( ( q , r ) , D o ) ∈ F R L q r \mathcal{L} = \sum_{((q, r), \mathcal{D}_o) \in \mathcal{F}_R} \mathcal{L}_q^r L=((q,r),Do)FRLqr ,不同的 “问题 + 规则” 对 ( ( q , r ) , D o ) (q,r),Do) (q,r),Do) ,它们组成了微调数据集合 F R F_R FR )对应的损失函数 L q r L_q^r Lqr 进行求和。通过不断调整检索器的参数,使得整体损失不断减小,从而让检索器能够更好地根据 “问题 + 规则” 检索到相关文档,提高检索的准确性和有效性.
  • 生成器微调(RGFT-generator)

    • 采用监督学习微调目标,输入为“查询+规则+检索文档”,输出为正确答案。
    • 开源LLM:采用少样本微调(实验中用2048个样本),避免全量训练的高成本;
    • 闭源LLM(如GPT-3.5-Turbo):因参数不可见,用3-shot提示词替代微调。

三、实验设置

现有RAG数据集缺乏规则信息,研究团队基于5个知识图谱(KGs)构建了5个规则感知QA基准(RuleQA),涵盖静态和时序场景,具体信息如下表:

在这里插入图片描述

数据集构建关键步骤,在附录中

  1. 规则库(R):静态KG用AMIE3算法、时序KG用TLogic算法,提取高置信度规则(如“[Entity1, born in, Entity2] leads to [Entity1, has nationality, Entity2]”)。
  2. 测试数据集(Q):平衡热门与长尾实体,将KG测试集的链接转换为查询(答案为尾实体)。
  3. 语料库(D):将KG训练集的链接线性化为“时间+实体+关系”格式的文档。
  4. 微调数据( F R / F G F_R/F_G FR/FG F R F_R FR为“查询+规则+oracle文档”, F G F_G FG为“查询+规则+检索文档+答案”。

四、实验结果

1. 主要实验设置

  • 基线模型:无检索的Standard Prompting(仅LLM)、Standard RAG(无规则引导)、CoT/VE/CoK(基于检索的推理方法);
  • 评估指标:检索阶段用Recall@k(Top-k文档是否含正确答案),生成阶段用Exact Match(EM,答案完全匹配)、Token F1(词级重叠度);
  • 模型配置:检索器(DPR、SimCSE、BM25、Contriever)、生成器(LLAMA2_7B/13B、ChatGLM2_6B、Mistral_7B、GPT-3.5-Turbo)。

2. 核心实验结果

(1)RuleQA基准上的性能
方法 检索器 生成器 平均Recall@10提升 平均EM提升 关键结论
Standard RAG DPR LLAMA2_7B - - 基线性能低,凸显规则必要性
RuleRAG-ICL RG-DPR RG-LLAMA2_7B +9.3% +5.9% 上下文规则引导有效提升性能
RuleRAG-FT RGFT-DPR RGFT-LLAMA2_7B +45.7%(vs ICL) +24.2%(vs ICL) 微调进一步放大规则引导效果
规则消融(SSFT) SSFT-DPR SSFT-LLAMA2_7B 性能下降10%-20% 性能下降15%-25% 规则是性能提升的核心因素
(2)不同检索器与生成器的适配性
  • 检索器:RGFT微调后,DPR、SimCSE的Recall@10均显著高于SSFT版本(如DPR在RuleQA-I的Recall@10从14.1%升至45.1%);BM25因依赖词频,EM随文档数增加下降(噪声干扰)。
  • 生成器:RuleRAG在所有LLM上均有效,且LLAMA2_13B(大模型)性能优于7B版本;RGFT微调的LLAMA2_13B在3个RuleQA数据集上EM超过GPT-3.5-Turbo,证明轻量模型经微调可媲美闭源大模型。
(3)规则泛化能力
  • unseen规则:RuleRAG-FT在“源规则库训练、目标规则库测试”场景中,EM仍稳定高于Standard RAG(波动≤2%),证明其能学习规则的通用逻辑而非具体实例。
  • 跨数据集泛化:将RuleQA的规则引入ASQA、PopQA、HotpotQA、NQ等现有数据集,RuleRAG仍能提升EM(如ASQA的EM从8.6%升至11.1%),且RuleRAG-CoK(适配CoK模型)性能优于原生CoK(如ASQA的EM从27.9%升至40.0%)。
(4)鲁棒性验证

对“无需规则即可回答的查询”(如将“国籍查询”改为“出生地查询”),RuleRAG-ICL/FT仍能提升EM(如RuleQA-I的EM从5.3%升至16.6%),证明规则不会干扰简单问答,鲁棒性良好。

五、案例分析

以RuleQA-I的查询“2014-12-11尼日利亚法官指控谁?”(答案:尼日利亚公民)为例:

  • Standard RAG(DPR+LLAMA2_13B):召回10个文档中仅1个含正确答案,生成错误答案“非洲媒体”;
  • RuleRAG-ICL(RG-DPR+RG-LLAMA2_13B):基于规则“呼吁外交合作→指控”,召回5个含正确答案的文档,生成正确答案;
  • RuleRAG-FT(RGFT-DPR+RGFT-LLAMA2_13B):微调后检索器召回8个含正确答案的文档,生成答案准确率100%。

六、局限与方向

1. 局限性

  • 现有RAG数据集无定制规则,RuleQA的规则迁移至其他数据集时性能提升有限;
  • 检索错误(55%)和归因错误(40%)仍是主要误差来源(规则失效仅占5%)。

2. 未来方向

  • 为更多RAG数据集定制规则,验证规则引导的通用性;
  • 优化检索器的噪声过滤能力,提升生成器的规则归因精度;
  • 将RuleRAG适配更复杂的RAG框架(如多轮检索、多模态检索)。
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐