【AI论文精读4】RAG论文综述2(微软亚研院 2409)P3-显性事实查询L1

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】


P1P2P4P5P6

三、显性事实查询(L1)

3.1 概述

显性事实查询(Explicit Fact Queries) 代表了数据增强查询中最简单的一类。在这一层次上的查询可以通过直接访问特定领域的文档或文档片段来回答。这类问题的答案通常以纯文本形式存在于文档中,生成回答时只需要极少的推理或简单的解释。该层次的显著特点是对特定外部数据片段的明确和直接依赖。


ps:论文的3.1.1和3.1.2可能有点不好理解,可以参考下面我的补充:图书馆找书的比喻,会更好理解

3.1.1 数据依赖性

1. 数据集划分

  • 定义:数据集 D D D 可以分为多个文档或片段,表示为:
    D = { D 1 , D 2 , . . . , D n } D = \{D_1, D_2, ..., D_n\} D={D1,D2,...,Dn}
    每个片段包含特定且较为集中的内容,便于针对特定查询进行检索和处理。

2. 只有某些数据段是必要的

  • 并不是每一个数据片段对所有查询都必不可少。对于给定的查询 q q q,只有某些数据片段 d d d 是必要的,它们可以用于回答该查询。

  • 为了表示这一点,引入了一个函数 δ ( q , d ) \delta(q, d) δ(q,d),这是一个二值函数

    • δ ( q , d ) = 1 \delta(q, d) = 1 δ(q,d)=1 表示片段 d d d 是回答查询 q q q 所必需的;
    • δ ( q , d ) = 0 \delta(q, d) = 0 δ(q,d)=0 表示片段 d d d 对于回答查询 q q q 不是必须的。

3. 数据依赖性定义

  • 数据依赖性(Data Dependency) D e p ( q ) Dep(q) Dep(q) 表示,表示针对查询 q q q 必不可少的数据片段集合。定义如下:

    D e p ( q ) = { d ∣ d ∈ D  且  δ ( q , d ) = 1 } Dep(q) = \{ d | d \in D \text{ 且 } \delta(q, d) = 1 \} Dep(q)={ddD  δ(q,d)=1}

  • 该定义表示 D e p ( q ) Dep(q) Dep(q) 是能够回答查询 q q q 所需的最小数据片段集合。这些片段是不可缺少的,模型需要从中提取答案。

4. 幂集

  • D e p ( q ) Dep(q) Dep(q) 属于 P ( D ) P(D) P(D),其中 P ( D ) P(D) P(D) 是数据集 D D D 的幂集(power set),即 D D D 中所有子集的集合。幂集包括了 D D D 的所有可能的子集(包括空集和 D D D 本身)。

3.1.2 定义

显性事实查询(Explicit Fact Queries),用 Q 1 Q_1 Q1 表示,指的是答案可以直接从数据集 D D D 中的特定数据段中检索到的查询。这类查询在数据增强LLM系统的背景下可以形式化定义如下:

  • 对于任意查询 q q q 及其对应的答案 a a a,显性事实查询是指存在以下两个组件:
    • 检索组件 r D r_D rD:该组件从数据集 D D D 中识别出回答查询 q q q 所需的相关数据段。检索过程 r D : Q → P ( D ) r_D : Q \rightarrow P(D) rD:QP(D) 将查询 q q q 与数据集的幂集 P ( D ) P(D) P(D) 相对应,确保 r D ( q ) r_D(q) rD(q) D e p ( q ) Dep(q) Dep(q),即回答查询 q q q 所需的 D D D 的最小子集,尽可能匹配。
    • 响应生成器 θ \theta θ:通常由一个提示后的LLM推理生成,该组件基于 r D r_D rD 检索到的信息构造答案 a a a。生成的答案 θ ( r D ( q ) ) \theta(r_D(q)) θ(rD(q)) 应等于或接近 a a a,表明查询依赖于显性、可直接访问的事实。

这种定义强调了显性事实查询依赖于直接的数据检索,而不需要超出已识别数据段范围的复杂推理或推断。

示例

以下是一些属于显性事实查询的示例:

  • 示例 1:在给定一系列学术论文的情况下,“论文 X 使用了什么方法解决问题 Y?”
  • 示例 2:在提供了有关公司 X 的最新新闻和文章的情况下,“公司 X 的AI战略是什么?”

这些查询的特点是答案可以通过对明确的、具体的数据片段的检索来得到,而不需要复杂的推理或组合信息。


补充:图书馆找书的比喻

ps:这是我自己的补充解释,不是论文中的内容,只是为了让读者更好的理解,免得被上面论文中的公式和数学符号搞晕。

3.1定义了数据依赖性(Data Dependency)显性事实查询(Explicit Fact Queries),并通过数学公式表达了这些概念。为了更容易理解,我们可以用一个图书馆找书的简单比喻来解释。

1. 数据集的划分

假设你进入图书馆,图书馆里有很多书。我们可以把这些书看作数据集 D D D,其中每一本书代表一个数据段 D 1 , D 2 , … , D n D_1, D_2, \dots, D_n D1,D2,,Dn

  • 数据集 D D D = {书1, 书2, …, 书n}

每本书都是较短且内容集中的信息片段,就像文章中的数据段一样。每一本书的内容是某个特定主题或领域的汇总信息。

2. 查询与数据依赖性

现在你有一个问题,比如“2024年奥运会在哪举办?”这个问题就是查询 q q q。但图书馆里的每一本书都包含不同的内容,并不是每本书都能回答这个问题。你只需要找到某些书——比如介绍奥运会的书。

这里,数学公式 δ ( q , d ) \delta(q, d) δ(q,d) 表示某本书是否是回答这个问题所必须的:

  • 如果 δ ( q , d ) = 1 \delta(q, d) = 1 δ(q,d)=1,意味着书 d d d 对回答查询 q q q 是必要的;
  • 如果 δ ( q , d ) = 0 \delta(q, d) = 0 δ(q,d)=0,意味着书 d d d 对回答查询 q q q 并不重要。

这样,我们就可以得到一组必须查阅的书,这就是公式 D e p ( q ) = { d ∣ d ∈ D  且  δ ( q , d ) = 1 } Dep(q) = \{ d | d \in D \text{ 且 } \delta(q, d) = 1 \} Dep(q)={ddD  δ(q,d)=1} 表示的意思。它告诉我们, D e p ( q ) Dep(q) Dep(q) 是回答这个问题所需要的最小书籍集合。

3. 显性事实查询

显性事实查询是指,你的问题可以通过直接从这些相关的书(数据段)中找到答案。例如,当你问“2024年奥运会在哪举办?”时,图书管理员只需要查找关于奥运会的书籍即可,这就是检索组件 r D r_D rD 的作用,它会找到最相关的书来回答问题。

然后,图书管理员根据这些找到的书籍信息( r D ( q ) r_D(q) rD(q))来告诉你答案,这就是响应生成器 θ \theta θ 的工作。最终,管理员告诉你的答案应该非常接近真实答案。

4. 总结

这个比喻说明了如何通过检索少量相关书籍(数据段)来回答显性事实查询的问题。数据依赖性帮助我们筛选出最相关的数据段(书),并通过生成组件(管理员)构造出答案。这种方法可以提高检索效率,减少不必要的信息干扰。


3.2 挑战与解决方案

在处理显性事实查询时,主要任务是确保正确检索数据,以便LLM能够生成准确的响应。RAG【6】由于其高效性、灵活性和相对较低的成本,成为处理这一层次查询最常采用的技术解决方案。然而,即使使用RAG技术,在构建一个稳健且高质量的系统时,仍然存在显著的挑战。这些挑战包括:

挑战:

  • 数据处理困难:外部数据通常是高度非结构化的,可能包含多模态组件,如表格、图片、视频等。此外,在对数据进行分段或“切块”(chunking)处理时,保持原始上下文和意义也是一个难题。
  • 数据检索困难:从大型非结构化数据集中检索相关数据片段不仅计算开销大,且容易出错。构建高效、准确的数据检索机制是难点所在。
  • 评估困难:评估RAG系统的性能,特别是在组件级别上,是一个复杂的任务。需要开发强健的评估指标,以准确衡量数据检索和响应生成的质量。

解决方案:

鉴于RAG的流行,已经有大量的文献和工具被开发出来以应对这些挑战。在本节的剩余部分中,我们将重点介绍一些最实用且最具影响力的RAG改进。此外,我们还将讨论一些可能在RAG之外采用的替代技术解决方案。


3.3 检索增强生成(RAG)

检索增强生成(RAG)指的是一种方法,在生成过程中,语言模型通过动态检索外部信息来增强其自然语言生成能力。该技术将大语言模型(LLM)的生成能力与从大规模数据库或文档中检索信息的功能相结合。该过程通常包括数据索引构建、检索系统构建和答案生成三个部分。

3.3.1 数据处理增强(Data Processing Enhancement)

在这个层次上,文档解析往往涉及从文本、表格和图形中提取信息,确保相关的片段被准确识别和检索。以下是几种主要的改进方法。

1. 多模态文档解析(Multi-modal Documents Parsing)

处理源文档中的多模态内容(如图表、表格、视频、会议录音等)是常见的问题。主要有两种方法来解决这个问题:

  • 第一种方法 是将多模态内容转换为文本形式。例如,表格到文本的转换方法(Table-to-Text)【34】可以将表格内容转化为文本,其他技术则将视觉内容转化为基于文本或属性的描述【35, 36】,然后由大型语言模型处理这些转换后的内容。
  • 第二种方法 是利用多模态嵌入技术【37, 38, 39】,通过从多模态数据中检索出的嵌入作为输入的软提示(soft prompts)来处理和解析这些内容。

2. 文本分块优化(Chunking Optimization)

对于长文本,常用的方法是将文档分割为多个文本块。这是一个必要的操作:

  • 较大的文本块 可以保留更多的语义一致性,但也容易在每个块中包含更多的噪声【40】。
  • 常见的分块策略【41, 42】包括固定大小分块、递归分块、滑动窗口分块、基于段落的分块和语义分块等。

某些方法会根据查询所需的详细程度来选择合适的文本块进行检索【43, 44】。还有一些方法选择将文本进一步细化为更小的片段,同时保持信息的完整性【45】。此外,也有方法使用视觉模型根据原始文档的结构来进行文本分块【46】。


3.3.2 数据检索增强(Data Retrieval Enhancement)

信息检索(Information Retrieval,IR)技术可以无缝应用于RAG(Retrieval-Augmented Generation)系统中,关键步骤包括:建立数据索引、处理查询、检索与匹配、重新排序以及评估。以下是一些核心的检索增强方法:

1. 索引(Indexing)

索引的目的是建立从搜索词到文本片段的映射,确定检索系统的操作逻辑。索引方法通常分为三类:稀疏检索、密集检索和混合检索。

  • 稀疏检索(Sparse Retrieval):这是最早广泛采用的索引方法,因为其简单直观。像 TF-IDFBM25【47, 48】等技术基于词语的相对频率来识别每个文本片段的最具代表性的关键词。尽管这些方法在许多RAG项目中仍然很常见【49, 50, 51】,但词语匹配方法可能无法识别同义词,导致检索损失。为了解决这个问题,方法如 KNN 可以用于基于相似度的关键词匹配【52】。另外,关键词索引可以通过将其转换为查询标记与相应文本片段的概率预测来改进【53, 54】。
  • 密集检索(Dense Retrieval):这种方法通常使用预训练或微调的文本编码器,将文本映射到与查询需求对齐的密集向量空间。基于 BERT 的编码器【55】通常被微调为密集检索器,并通过无监督数据进行训练,方法如 DPR【56】、ANCE【57】、SimCSE【58】 和 TAS-B【59】。也有通过无监督对比学习来进行微调的方法,如 Contriever【60】。此外,利用 LLM 的反馈来指导检索器的训练目标,也能有效提升检索器的适应性【61, 62, 63】。最近,基于 LLM 的密集检索逐渐成为研究的重点领域【64】。例如,LLM2vec【65】通过修改预训练 LLM 的注意力机制为双向注意力机制,并采用无监督训练的掩码下一词预测方法,从而构建基于LLM的密集检索嵌入器。类似地,Llama2Vec【66】利用两种预训练任务——基于嵌入的自动编码和基于嵌入的自动回归,基于 LLaMA 架构训练无监督的密集检索编码器【67】,显著提升了检索任务的性能。
  • 混合检索(Hybrid Retrieval):结合稀疏和密集检索是一种有效方法,能够同时关注文本片段的核心主题和全局特征。Feng et al. (2023) 提出了一种方法,首先确定回答查询所需的知识领域作为固定的专长领域,然后使用密集检索在该领域内回忆补充信息【68】。许多研究探索了将密集向量索引与稀疏编码器索引结合的各种方法,以更好地捕捉文本块的语义信息,提升目标段落检索的精确度【69, 70, 71】。另一方面,Tang et al. (2024) 通过微调LLM以进行索引和检索,增强了LLM的能力,能够使LLM自主生成针对每个查询的数据索引和文本片段【72, 73】。

2. 查询文档对齐(Query Document Alignment)

目标:查询文档对齐的目标是将查询与外部数据中的文档片段对齐,以确定最能回答查询的文档片段。如图3所示,主要有三种对齐方法:传统对齐、文档领域对齐和查询领域对齐。

ps:论文这部分内容参考下面我对图3的解读会更好理解

  1. 传统对齐(Traditional Alignment):传统对齐将文档片段和查询映射到同一编码空间。这通常出现在基于双编码器的密集检索架构中,这些架构具有专门的查询编码器【56, 57, 59】。另一方面,如果RAG系统采用的是稀疏检索,则需要从查询中提取关键词进行搜索。进一步的优化可以通过查询重写技术(Query Rewriting) 来实现,这种技术通过减少用户在术语不准确或描述模糊时的问题,有效提高搜索结果的精确度【74】。

  2. 文档领域对齐(Document Domain Alignment):这种方法首先生成合成答案,然后利用这些答案来召回相关数据,从而解决查询和检索到的数据不在相同分布空间的问题。一个典型的例子是 HyDE【75】。

  3. 查询领域对齐(Query Domain Alignment):这种方法为每个文本的原子单元生成一组合成问题,将文本片段映射到查询空间中,然后检索与原始查询最接近的合成问题及其对应的文本片段。这样确保了选择的文本片段是最相关的,并且在上下文上最合适的。SlimPLM【77】使用一个小型代理模型生成启发式答案,并利用这些答案预测回答问题所需的知识。这种方法也为将查询对齐到文档空间提供了一种有效的手段。


图3的解读

在这里插入图片描述

a. 传统对齐(Traditional Alignment)
  • 过程:在这种方法中,查询和文档片段被映射到同一个编码空间中。
  • 细节
    • 查询经过 查询编码器(Query Encoder) 处理,将其转化为查询嵌入(Query Embedding)。
    • 使用 文档编码器(Doc Encoder) 对文档片段进行编码,并将其存储在索引数据库中。
    • 查询嵌入与存储在索引数据库中的文档嵌入进行向量搜索,从而匹配最相关的文档片段。
b. 文档领域对齐(Document Domain Alignment)

ps:论文文字部分用的是 synthetic answers,图中用的是Synthetic Doc,其实是一个意思,下面都统一为合成答案。

  • 过程:首先生成 合成答案(Synthetic Doc),然后使用该答案来检索相关的文档数据片段。
  • 细节
    • 查询首先由 LLM(大型语言模型)生成一个合成答案。
    • 该合成答案通过 文档编码器 进行编码,然后生成合成答案的嵌入(Synthetic Doc Embedding)。
    • 通过向量搜索从索引数据库中检索最相关的文档片段。
    • 该方法解决了查询和检索数据(文档)不在同一分布空间的问题。
c. 查询领域对齐(Query Domain Alignment)
  • 过程:首先为每个文本片段生成一系列 合成问题(Synthetic Queries),然后将这些问题映射到查询空间。
  • 细节
    • 查询通过 查询编码器 编码为查询嵌入。
    • 文本片段通过生成合成问题的方式映射到查询空间中。
    • 系统接着检索与原始查询最接近的合成问题以及其对应的文本片段。

3.重新排序与修正(Re-ranking and Correction)

在检索到前 k 个文本块后,RAG 系统必须过滤并重新排序这些片段。大多数RAG系统使用检索器提供的相关性分数作为排序依据,某些研究还使用困惑度(perplexity)困惑度增益(perplexity gain) 作为排序标准【78, 79】。另外,有些研究使用 LLM 来评估检索到的文本块的可靠性和实用性,训练一个可插入的奖励驱动上下文适配器以优化检索器的输出【80】。还有一些研究专门预训练一个小型语言模型,用于事实验证,它用于过滤掉错误的检索文本块,从而提高召回文本的质量【81】。

4.递归检索或迭代检索(Recursive Retrieval or Iterative Retrieval)

考虑到单次检索尝试的准确性存在局限性,一个有效的解决方案是进行多次检索,以逐步解决遗漏问题。Kim 等人(2023) 提出了一种树形递归检索方法,该方法结合了修剪策略,逐步将模糊的问题分解为明确的问题,最终得出最接近的正确答案【82】。类似地,SEATER 使用 k-means 算法构建待检索项目的层次树结构,并在树结构中迭代回忆节点【83】。


3.3.3 响应生成增强(Response Generation Enhancement)

在响应生成的过程中,关键在于判断检索到的信息是否足够,或者是否需要额外的外部数据。同时,处理检索知识与模型内在的先验知识之间的冲突也是必要的【84, 85, 86】。

为了增强RAG系统中的生成性能,监督微调(Supervised Fine-tuning) 是一种有效的方法。当检索到的上下文信息是无关或错误时,预训练的大型语言模型(LLM)往往容易被误导,导致生成错误的响应。许多研究表明,通过精心设计RAG系统的训练数据,微调或预训练可以有效减少这种问题【87, 88, 89】。

  • RAAT研究:RAAT【89】通过实验分析表明,无关检索噪声相关检索噪声以及反事实检索噪声对RAG模型的影响依次递增。通过在训练过程中引入这些噪声,模型能够学习在噪声上下文中的表现,从而显著提升了在噪声检索条件下的响应生成质量。

此外,为了确保RAG系统中检索器(Retriever)生成器(Generator) 之间的一致性,一些研究采用了在训练阶段同时对检索器和生成器进行联合训练(Joint Training)【90, 91, 92】。这种方法能够有效提高检索和生成过程的协同作用,从而进一步优化生成响应的准确性。


未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值