WeKnow-RAG:融合网页搜索和知识图谱的检索增强生成自适应方法

引言:大型语言模型的困境与希望

大型语言模型(LLM)的出现,为自适应智能体的开发注入了强大的动力,被视为通向通用人工智能(AGI)的重要途径。然而,LLM 常常生成与事实不符的信息,编造出虚假的内容,严重影响了其可靠性,这对其在现实场景中的部署构成了严峻挑战。

例如,研究表明,尽管 GPT-4 在回答关于缓慢变化或快速变化的事实时表现出色,但其准确率仍低于 15%。即使是对于稳定的(永不改变的)事实,GPT-4 在回答关于不太流行的实体的问题时,准确率也低于 35% [30]。

为了解决这个问题,研究人员尝试了多种方法来增强 LLM 的知识,其中一种有效的方法是检索增强生成(RAG)。RAG 方法通过结合外部数据库和信息检索机制来增强 LLM [38]。这种技术在推理过程中将相关信息动态地整合到 LLM 的提示中,而无需改变所用 LLM 的权重。通过整合外部知识,RAG 方法可以减少 LLM 的幻觉,实现比传统微调方法更好的性能,特别是在需要高精度和最新信息的应用中 [18]。

现存 RAG 方法的局限性

传统的 RAG 方法实现通常依赖于密集向量相似性搜索进行检索。然而,这种将语料库划分为文本块并完全使用密集检索系统的方法,对于复杂查询来说效果不佳 [18]。一些方法试图通过采用元数据过滤或混合搜索技术来解决这个问题 [34],但这些方法受到开发者预先定义的元数据范围的限制。此外,在相似的向量空间块内实现回答复杂查询所需的粒度仍然具有挑战性 [16]。效率低下源于该方法无法选择性地检索相关信息,导致检索大量可能无法直接回答查询的块数据 [21]。

知识图谱:结构化知识的优势

理想的 RAG 系统应该只检索必要的内容,减少不相关信息的包含。这正是知识图谱 (KG) 可以发挥作用的地方,它可以提供比通过向量相似性进行信息检索更精确的实体和关系的结构化和显式表示 [23]。KG 通过维护结构化为准确、可变和可解释的知识三元组的大量显式事实集合,从而能够搜索“事物,而不是字符串” [5]。知识三元组通常以 (实体) - 关系 → (实体) 的格式表示一个事实 [8]。此外,KG 可以通过不断整合新信息进行扩展,专家可以构建特定领域的 KG,以在特定领域内提供精确可靠的数据 [1]。像 Freebase、Wikidata 和 YAGO 这样的知名 KG 就是这种概念的实际例子。基于图的方法和 LLM 的交叉领域出现了大量研究,展示了在图上进行推理和增强图数据与 LLM 集成的应用 [7]。

WeKnow-RAG:融合网页搜索和知识图谱的新方法

为了应对上述挑战,我们提出了一种名为 WeKnow-RAG 的新方法,它将网页搜索和知识图谱集成到检索增强生成 (RAG) 系统中。我们的方法将 KG 的结构化表示与密集向量检索的灵活性相结合,以提高 LLM 响应的准确性和可靠性。

WeKnow-RAG 的主要贡献如下:

  • 我们开发了一个特定领域的 KG 增强型 RAG 系统,该系统适应不同类型的查询和领域,提高了事实性和复杂推理任务的性能。
  • 我们引入了一种针对网页的多阶段检索方法,该方法利用了稀疏和密集检索技术,有效地平衡了信息检索的效率和准确性。
  • 我们为 LLM 实现了一种自我评估机制,以评估其对生成答案的置信度,从而减少幻觉并提高整体响应质量。
  • 我们提出了一个自适应框架,可以根据不同领域的特征和信息变化率,智能地结合基于 KG 和基于 Web 的 RAG 方法。

WeKnow-RAG 的出色表现

在 Meta KDD CUP 2024 任务 3 的最终评估中,WeKnow-RAG 荣获第三名。该评估采用了综合 RAG 基准 (CRAG),这是一个事实性问答基准,包含大量问答对和模拟 API,用于模拟 Web 和知识图谱搜索。我们在 CRAG 数据集上的实验结果证明了我们方法的有效性,在不同领域和问题类型中实现了准确性的显著提高,并减少了幻觉。

方法详解:WeKnow-RAG 的工作流程

WeKnow-RAG 采用端到端检索增强生成方法,其流程如图 1 所示。该流程包含一个 KG 工作流程和一个网页搜索工作流程,最终有效地将两者集成在一起。

1. 基于 Web 的 RAG

  • 网页内容解析: 内容解析是 RAG 方法中利用数据源的关键步骤。它有助于理解非结构化数据,将其转换为结构化数据,并获取回答问题所需的信息。为了获得源页面更完整的内容,我们使用 BeautifulSoup 库解析原始 HTML 源代码。

  • 分块: 分块是将文档分成多个段落的过

    程。分块的有效性直接影响问答系统的性能。存在各种分块策略,包括句子级、标记级和语义级方法 [31]。在我们的方法中,为了便于使用,我们选择了标记级分块。为了确定最佳配置,我们进行了一系列实验,以比较第 5.3 节中各种块大小的性能。

  • 多阶段检索: 在 RAG 的背景下,从数据源中高效检索相关文档对于获得准确答案和最小化幻觉至关重要。我们采用了一种多阶段检索方法(如图 2 所示),以在基于查询检索相关段落的有效性和效率之间取得平衡。

    第一阶段利用稀疏检索从页面结果块和摘要块中收集候选答案。稀疏检索用于有效地获取相关段落。然后,根据 BM25 分数选择排名靠前的 K 个候选答案,如公式 1 所示。

    S c o r e ( q u e r y , C i ) = ∑ q j ∈ q u e r y I D F ( q j ) ⋅ f ( q j , C i ) ⋅ ( k 1 + 1 ) f ( q j , C i ) + k 1 ⋅ ( 1 − b + b ⋅ ∣ C i ∣ a v g _ d l ) . Score(query, C_i) = \sum_{q_j \in query} IDF(q_j) \cdot \frac{f(q_j, C_i) \cdot (k_1 + 1)}{f(q_j, C_i) + k_1 \cdot (1 - b + b \cdot \frac{|C_i|}{avg\_dl})}. Score(query,Ci)=qjqueryIDF(qj)f(qj,Ci)+k1(1b+bavg_dlCi)f(qj,Ci)(k1+1). (1)

    其中:

    • q j q_j qj 是查询中的一个词项。 I D F ( q j ) IDF(q_j) IDF(qj) 是词项 q j q_j qj 的逆文档频率。
    • f ( q j , C i ) f(q_j, C_i) f(qj,Ci) 是词项 q j q_j qj 在文档 C i C_i Ci 中的词频。
    • k 1 k_1 k1 是词频饱和度参数(通常设置为 1.5)。
    • b b b 是长度归一化参数(通常设置为 0.75)。
    • ∣ C i ∣ |C_i| Ci 是文档 C i C_i Ci 的长度。
    • a v g _ d l avg\_dl avg_dl 是语料库中所有文档的平均长度。

    通过利用不同算法的优势,混合检索可以实现比任何单一算法更好的性能。在第二阶段,我们采用最常见的模式进行混合搜索,即将稀疏检索器 (BM25) 与密集检索器(嵌入相似性)相结合,因为它们的优势是互补的。稀疏检索器擅长根据关键词查找相关文档,而密集检索器则擅长根据语义相似性识别相关文档。

    第二阶段的稀疏检索方法使用 BM25 分数(与第一阶段相同)来选择得分最高的 M 个候选答案。

    第二阶段的密集检索方法包括密集嵌入检索和重新排序方法。基于 BERT 的嵌入模型用于密集嵌入检索,根据与查询的最高嵌入相似性选择排名靠前的 N 个候选答案。随后,应用重新排序模型以获得更准确的相关性得分,并对排名靠前的 N 个候选答案进行重新排序。

    值得注意的是,K >> M + N,这使得我们能够在第一阶段以低延迟获得大量相关候选答案。这使我们能够在第二阶段使用参数数量更大的模型进行密集检索和重新排序。

    值得一提的是,为了尽可能多地包含相关信息,我们不仅在数据库中添加了解析后的 HTML 内容,还添加了页面名称和页面摘要以供检索。

  • 带自我评估的答案生成: 幻觉是 LLM 生成内容中的一个常见问题。为了解决这一挑战,我们提出了一种自我评估机制,用于评估生成答案的置信度,并确定其是否适合选择。

    具体来说,我们指示 LLM 指示与其生成答案相对应的置信度(高、中、低)。我们仅在置信度满足指定要求时才接受答案。如果置信度低于阈值,我们得出结论,LLM 缺乏足够的信心来回答问题,并将输出“我不知道”。第 5.3 节详细介绍了不同置信度阈值下的性能实验,附录 A.1 中提供了 LLM 的完整指令。

2. 知识图谱

通过从结构化和非结构化数据源中提取知识,可以构建特定领域的知识图谱。这包括与每个领域相关的实体、关系和事实,同时使用最先进的信息提取技术来确保知识的丰富性和最新性。这种类型的知识库在各种问答任务中发挥着关键作用,其灵感来自于 DBpedia [2] 等大型知识库的构建。通过将问题解析成循序渐进的子问题或子函数,建立子问题与模型应用程序编程接口 (API) 之间的关系,并使用条件查找、集合搜索、比较、聚合、多跳查询和后处理操作来解决一系列子问题,就可以回答整个问题。

  • 领域分类: 我们的方法通过首次调用 LLM 来将问题分类到不同的领域。此时,LLM 充当智能语言分类工具。例如,对于问题“Funko 今天的开盘价是多少?”,它会自动归类为金融领域。对于问题“泰勒·斯威夫特签约了哪个厂牌?”,它会自动归类为音乐领域。领域分类对于后续处理至关重要。因此,在电影、体育、金融和音乐这四个领域中,我们建议模型只有在确定性超过 90% 时才做出判断。当确定性低于此阈值时,这些领域将被归类为开放领域。

  • 查询生成: 根据问题的领域分类,进入相应的领域提示阶段,进行第二次调用 LLM。每个领域提供的提示都不同,模型需要返回结构化的分析结果。例如,在音乐领域,它需要返回三种函数,分别归类为艺术家、歌曲和年份,每个类别都包含各种属性信息。有关生成函数调用查询的指令,请参阅附录 A.2。同时,不属于这三个类别的问

    题将直接使用模型或 RAG 工作流程来回答。查询生成器会将分析结果转换为与 KG API 兼容的结构化查询。例如,多跳问题将被分解成一系列 API 调用,每个调用都会解析信息链中的一个链接。

  • 答案检索和后处理: 通过应用程序编程接口 (API) 对 KG 执行结构化查询,可以检索一组候选答案。对于后处理问题,则应用额外的推理。我们采用基于规则的系统,利用机器学习技术来处理时间推理、数值计算和逻辑推理 [6]。通过这种混合方法,我们可以识别检索到的数据与问题假设之间的不一致之处,从而有效地解决具有挑战性的错误前提问题。

3. 集成方法

CRAG 数据集的多样性要求采用一种动态方法来适应每个领域的独特特征,尤其是在信息变化率方面。为了解决这个问题,我们提出了一个自适应框架,可以智能地平衡知识图谱 (KG) 和基于 Web 的 RAG 方法的使用。

对于信息变化率很小的稳定领域(如百科全书开放领域),我们的系统主要依赖于 KG。在这些领域中,KG 的稳健性和可靠性确保了对不需要最新数据的问答的高准确率。这种方法与 Neumaier 等人 [24] 的发现相一致,他们强调了 KG 在稳定信息环境中的有效性。

对于信息逐渐变化的领域(如音乐和电影),我们在保留 KG 主导地位的同时,还会定期更新以获取最新信息。这种策略确保了我们的 KG 在回答可能涉及近期但并非即时变化的查询时仍然具有相关性。更新频率由特定领域的变更检测算法决定,该算法由 LLM 控制。

实验结果:WeKnow-RAG 的有效性验证

1. 实验设置

我们详细介绍了我们的实验设置,包括数据集、评估指标和参数设置。

  • 数据集: 完整的 CRAG 数据集包含 2000 多个问题,对整个数据集进行测试将非常耗时。在离线测试期间,为了快速迭代和优化,我们在 CRAG 数据集的一个包含 200 个问题的子集上进行了测试。

  • 评估指标: 对于每个问题,我们使用三路评分系统,正确答案得 1 分,错误答案得 -1 分,缺失答案得 0 分。如果答案与标准答案完全匹配,则视为准确;如果答案为“我不知道”,则视为缺失。否则,我们使用基于模型的 GPT-4 自动评估来确定响应是正确还是错误。评估指标有四个:准确率、幻觉率、缺失率和得分。准确率、幻觉率和缺失率分别表示测试集中准确、错误和缺失答案的百分比,而得分是准确率和幻觉率之间的差值。

  • 参数设置: 在基于 Web 的 RAG 的第一阶段,我们将检索到的相关候选答案数量 K 分别设置为 200,用于解析页面结果块和页面摘要块。在第二阶段,稀疏检索候选答案的数量 M 设置为 5,密集检索候选答案的数量 N 设置为 20。我们使用 bge-large-en-v1.5 [35] 作为密集检索模型,bge-reranker-large [35] 作为重新排序模型,llama-3-70b-instruct-awq(Meta-Llama-3.1-70B-Instruct 的 awq 量化版本)作为我们的聊天 LLM 模型。所有这些模型都可以从 Hugging Face Hub 下载。

2. 主要结果

任务 3 的最终提交包含两个版本,展示了在线自动评估性能,如表 1 所示。版本 2 相对于版本 1 做了三个主要的改进。首先,它增强了对开放领域提示的处理。其次,它通过在提示中包含非法问题的示例,提高了模型对非法问题的关注度。第三,与开盘价、收盘价和价格相关的提示得到了调整。总的来说,整个方法的策略是首先使用 KG 流程直接查找与答案相关的信息,严格要求 KG 部分只回答确定的问题,以显著降低错误率。然后,使用 RAG 流程来综合 KG 或网页提供的信息,以给出问题的最终答案。

比赛接受的提交次数有限。为了充分验证该方法的稳定增强效果,我们离线设计了一个包含 200 个数据点的本地测试集,主要关注于验证 KGs 组件的有效性。表 2 强调了该方法的有效性。首先,我们设计了一个分类提示,以便 LLM 进行准确分类,然后是针对电影的特定领域提示,最终基准得分为 0.064。扩展到四个领域并改进策略后,得分持续提高。虽然各个领域的 KG 都精心制作,但缺乏强大的分类能力对进一步提升构成了重大限制。为了解决这个问题,我们在分类提示中集成了非法问题优化,确保模型能够以合理的确定性将问题分类到体育、电影、音乐和金融领域,从而将得分提高到 0.1499。随后,我们重点针对金融领域和开放领域进行了详细优化,进一步提高了性能。

3. 消融研究

为了提高每个阶段的性能,我们使用 CRAG 数据集的子集进行了一系列实验。

  • 块大小: 在 RAG 的分块过程中,块的大小对于获得语义完整的段落起着至关重要的作用。我们使用不同的块大小进行了实验,如表 3 所示。结果表明,在 CRAG 数据集的一个小子集中,块大小为 750 时性能最佳。在第一轮提交中,我们尝试了 500 和 750 的块大小。在比较结果后,我们确定块大小为 500 时效果更好。因此,我们决定在最终提交中坚持使用 500 的块大小。

  • 置信度: 在答案生成的自我评估阶段,我们使用 LLM 指示的不同置信度进行了实验。表 4 中的结果表明,当置信度为“高”时,得分最高。我们发现,通过使用置信度阈值,可以显著提高额外准确率。

4. 模型分析

上述实验结果表明,我们提出的 WeKnow-RAG 方法通过利用基于 Web 的 RAG 工作流程和 KG 工作流程中每个模块的贡献,实现了有效的性能。

KG 工作流程通过使用函数调用从知识图谱中提取特定信息,以最小的错误率提供准确的答案。

虽然基于 Web 的 RAG 工作流程通过多阶段检索从大量网页中提供了更多相关信息,但它也通过自我评估方法减少了幻觉。

结论:WeKnow-RAG 的优势和未来方向

尽管 LLM 在各个领域都展现出了广阔的应用前景,突出了其巨大的发展机遇和研究意义,但其内在特征可能导致输出结果偏离事实准确性,生成“幻觉”内容,这对研究进展构成了重大障碍。为了应对上述挑战,我们提出了一种名为 WeKnow-RAG 的新方法,它将网页搜索和知识图谱集成到 RAG 系统中。我们的方法将知识图谱的结构化表示与密集向量检索的灵活性相结合,以提高 LLM 响应的准确性和可靠性。通过设计专门的 RAG 系统,WeKnow-RAG 利用特定领域的知识图谱来满足各种查询和领域的需求,提高了事实性信息和复杂推理任务的性能。通过采用多阶段网页检索技术,同时使用了稀疏和密集检索方法。我们的方法有效地平衡了信息检索的效率和准确性,从而增强了整个检索过程。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步子哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值