【RuleRAG】用于生成问答、基于规则引导的检索增强生成
RuleRAG:用于生成问答的规则引导的检索增强生成
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(上下文学习模式)
无需训练,通过在输入中引入规则实现引导,流程如下:
- 规则匹配:用Sentence-BERT计算查询(q)与候选规则的语义相似度,筛选出得分超阈值θ的Top-N条规则(R_q)。
- 规则引导检索(RG-retriever):将查询与每条规则拼接 q ∘ r q∘r q∘r,计算与文档的相关性得分 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,q∘r)=Ed(di)⋅Eq(q∘r),E为编码器),召回Top-k文档 D q r D_q^r Dqr,最终合并所有规则对应的文档得到 D q D_q Dq。
- 规则引导生成(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(a∣q,R,D)≈PLLM(a∣INS(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+,q∘r)+∑dj−∈B/Does(dj−,q∘r)es(di+,q∘r)
( 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),涵盖静态和时序场景,具体信息如下表:

数据集构建关键步骤,在附录中
- 规则库(R):静态KG用AMIE3算法、时序KG用TLogic算法,提取高置信度规则(如“[Entity1, born in, Entity2] leads to [Entity1, has nationality, Entity2]”)。
- 测试数据集(Q):平衡热门与长尾实体,将KG测试集的链接转换为查询(答案为尾实体)。
- 语料库(D):将KG训练集的链接线性化为“时间+实体+关系”格式的文档。
- 微调数据( 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框架(如多轮检索、多模态检索)。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)