【RAG】WeKnow-RAG:融合Web搜索与知识图谱的自适应检索增强生成方法
来源:互联网
时间:2026-08-25 14:34:39
前言
KDD CUP2024的CRAG赛道,第三名方案WeKnow-RAG值得关注。这个方案把知识图谱和基于Web的RAG技术结合在了一起,通过多阶段检索、自评估机制和智能平衡框架,提升了信息检索精度和答案可靠性。与其说它是一个简单的工具拼凑,不如说它是一套精心设计的检索增强生成系统。
一、方法
1.1 基于Web的RAG
-
:这一步用的是BeautifulSoup库来处理原始HTML源代码。目标是把那些非结构化的网页数据,变成结构化的内容,方便后续回答问题。
网页内容解析
-
:这里选择了token-level的分块方式,通过实验找到了最佳的分块大小。把文档切成合适的段落,才能让问答系统的性能真正发挥出来。
分块策略
-
:为了从数据源中高效找出相关文档,同时减少“幻觉”问题,这个方案设计了一套多阶段检索流程。
多阶段检索
- :先用稀疏检索(BM25)从网页结果块和片段块中,快速筛选出候选段落。
第一阶段
- :再结合稀疏检索和密集检索(嵌入相似性),搞了个混合搜索。稀疏检索靠关键词匹配,密集检索则靠语义相似度。(密集检索用的模型是bge-large-en-v1.5,重排模型是bge-reranker-large)。
第二阶段
-
:LLM在生成答案时,会同时输出一个信心水平(高、中、低)。只有当这个信心水平达标时,答案才被接受。这招能有效减少幻觉,提升答案质量。提示词设计成输出JSON格式,包含答案和信心水平。
带自评估的答案生成
1.2 知识图谱
-
:先把问题归到特定领域(电影、体育、金融、音乐),如果模型判断的不确定性高于90%,就归为开放领域。
领域分类
-
:根据不同领域的提示,LLM会返回结构化的分析结果,然后转换成与KG API兼容的查询。这样一来,就能从知识图谱里把相关信息捞出来了。
查询生成
-
答案检索与后处理
- :通过API在知识图谱上执行结构化查询。通常会把复杂问题分解成一系列子问题或子功能,然后生成对应的API调用,从KG中检索出候选答案集。
答案检索
- :应用规则系统,结合机器学习技术,重点处理时间推理、数值计算和逻辑推理这几类问题。具体步骤是:先分解问题,然后通过API调用查询KG,拿到候选答案集后,再进行额外推理(处理时间、数值、逻辑问题),最后根据推理结果选出最终答案。
后处理
1.3 集成方法
WeKnow-RAG的核心思路,是根据不同领域的特点,智能地平衡知识图谱和基于Web的RAG方法。这样能适应不同领域信息变化的速度,在动态的信息环境中也能保持最佳性能。
1.3.1 领域分类与时间分布
- :通过LLM初始调用,把问题分到具体领域或开放领域。
领域分类
- :分析每个领域的关键特性,是“静态”、“慢变”、“快变”还是“实时”。
时间分布
1.3.2 自适应框架
- :比如百科全书类的开放领域,信息变化极小,优先使用KG工作流,不启动完整的Web RAG流程。
稳定领域
- :比如音乐和电影,信息逐渐变化,保持KG优先,同时定期更新。更新频率由领域特定的变化检测算法控制。
慢变领域
- :信息变化快,就需要动态调整KG和Web RAG的使用比例,确保能抓到最新消息。
快变和实时领域
1.3.3 智能平衡
- :多数情况下优先使用KG工作流,因为它在稳定信息环境下准确性和可靠性都更高。
KG优先
- :碰到需要最新信息的查询,就结合Web RAG方法,通过多阶段检索和自评估机制,提供更全面、更及时的信息。
Web RAG补充
二、实验
- 通过优化KG组件和分类提示,性能提升明显。初始基线得分只有0.064,逐步优化后冲到了0.1499。
- 分块大小定为500时,效果最好。
- 提高信心水平阈值,能显著提升答案的准确性。
模型分析:
- :通过函数调用从知识图谱里提取特定信息,答案准确,错误率低。
KG工作流
- :通过多阶段检索从大量网页中获取信息,再靠自评估机制减少幻觉。
基于Web的RAG工作流
总结
WeKnow-RAG把知识图谱和Web搜索结合到一起,搞出了一个端到端的检索增强生成系统。多阶段检索和自评估机制提升了检索效率和准确性,而领域分类和查询生成则让知识图谱的使用更精准。最终,它在不同领域和问题类型上都展现出了明显的性能优势。