做网站开发的电话销售话术,做电子烟外贸网站有哪些,网站服务器不稳定,成功营销的案例论文地址#xff1a;https://arxiv.org/pdf/2401.18059.pdf
摘 要
增强型检索语言模型能够更好地适应世界状态的变化#xff0c;并整合长尾知识#xff0c;然而现有大多数方法仅能从检索语料库中检索到较短的连续文本片段#xff0c;这限制了对整个文档上下文的整体理解。…论文地址https://arxiv.org/pdf/2401.18059.pdf
摘 要
增强型检索语言模型能够更好地适应世界状态的变化并整合长尾知识然而现有大多数方法仅能从检索语料库中检索到较短的连续文本片段这限制了对整个文档上下文的整体理解。我们引入一种新颖的方法即递归地嵌入、聚类及总结文本块自下而上构建一个包含不同层次抽象的树状结构。在推理阶段我们的RAPTOR模型会从这个树中检索信息跨过冗长文档的不同抽象层次进行信息整合。受控实验表明在多个任务上采用递归摘要进行检索相较于传统的增强型检索语言模型有显著的性能提升。在涉及复杂、多步骤推理的问答任务上我们展示了最先进的结果例如通过将RAPTOR检索与GPT-4相结合我们在QuALITY基准测试上实现了绝对精度提升20%达到了新的最佳性能水平。
概述
在构建检索增强生成Retrieval-Augmented Generation, RAG系统的过程中文档分块是一个关键步骤它影响着系统能否检索到足够的信息来回答用户的问题。目前大多数系统采用滑动窗口方法进行分块并通过调整窗口大小来优化分块效果。然而这种方法存在一个主要缺点检索到的往往是短且连续的文本块这对于需要理解整个文档才能回答的问题来说可能无法提供足够的信息。
论文指出分块策略应该根据用户查询的具体需求来定制。有些查询可能只需要一个或几个特定的文本块或者甚至只需要块中的某一部分。此外文本通常包含多个主题并且具有层次化的结构这意味着分块策略需要能够捕捉到文本的这种复杂性。
为了解决这些问题作者提出了RAPTORRecursive Abstractive Processing for Tree-Organized Retrieval系统这是一个树结构的索引和检索系统。RAPTOR的设计目的是捕捉文本的多尺度、不同层次的信息。系统通过对文本块进行总结为大型语言模型Large Language Models, LLMs提供不同层次的信息从而增强模型对复杂问题的理解和回答能力。
总结来说RAPTOR系统通过其递归抽象处理和树形组织检索的设计旨在改进现有RAG系统的分块策略以更好地适应不同查询的需求并提高对多层次、多主题文本的理解和检索效率。
RAPTOR方法介绍
RAPTOR系统通过在文本块的基础上构建一个递归的树结构来组织信息树中的每个节点都代表了不同粒度的语义信息。
RAPTOR的基本流程
分块与嵌入 文本首先按100个词的大小进行分块。如果某个句子超过100个词则整个句子作为一个独立的文本块以确保块内的语义连贯性。每个文本块都会被转换成嵌入向量embedding。递归构建RAPTOR树 文本块及其对应的嵌入向量作为树的叶子节点。通过聚类算法将相似的文本块聚集在一起。生成总结与新的嵌入 利用语言模型为每个簇内的文本生成总结。为每个生成的总结再次生成嵌入向量并将这些总结作为树的新节点。递归执行 上述过程会递归进行不断细化信息粒度构建出具有多层次的RAPTOR树。查询策略 Tree Traversal Retrieval遍历RAPTOR树的每一层剪枝并选择最相关的节点。Collapsed Tree Retrieval评估整个树中每个节点的相关性找到最相关的几个节点。
总结来说RAPTOR通过递归的方式构建了一个层次化的文本表示每个层次都为不同粒度的信息提供了索引。这种结构不仅能够捕捉文本的细节还能够抽象出更高层次的概念从而提高检索系统的灵活性和效率。在查询时RAPTOR提供了两种策略来检索相关信息一种是逐层遍历另一种是全局评估这两种策略都旨在找到与查询最相关的文本块。
RAPTOR树构建流程
RAPTORRecursive Abstractive Processing for Tree-Organized Retrieval树构建流程是一个旨在提高长文档检索效果和上下文理解能力的技术方案具体步骤如下
文本分块与初步嵌入 首先将检索语料库中的长文档分割成长度约为100个标记的连续文本块若某句子超过这个限制则将整句移到下一个块中保证每个块内的语境和语义连贯性不受破坏。使用基于BERT的Sentence-BERTSBERT编码器如multi-qa-mpnet-base-cos-v1版本对这些文本块进行嵌入将每个块转化为一个稠密向量这些向量和对应的文本块共同构成树结构的基础——叶子节点。层次聚类 应用聚类算法对这些嵌入向量进行处理将语义相似的文本块聚集在一起形成簇。选择合适的聚类方法未指定具体类型但通常可能包括K-means、层次聚类等以确保相关的内容能够有效地组合在一起。摘要生成与重新嵌入 对每个形成的聚类使用语言模型如UnifiedQA等生成一个对该簇内文本内容的简洁概括或摘要。生成的摘要随后再经过SBERT嵌入形成新的向量表示。重复此嵌入、聚类、摘要生成的过程直到无法进一步合理地进行聚类为止由此形成一个多层、结构化的树状表示其中包含了原始文档从详细信息到高级主题的递归抽象。构建递归树结构 经过上述循环将低层次的摘要作为更高层次聚类的输入逐级向上构建树的中间节点和根节点使得树的每一层代表了不同程度的抽象级别。两种不同的检索策略 树遍历检索从顶层节点开始逐层向下遍历树结构根据查询的相关性剪枝并选择每个层次的节点。折叠树检索跨越所有层次一次性评估节点的相关性找出最具相关性的节点。
通过这一系列流程RAPTOR能够建立一个高度结构化、具备层次主题理解和细节保留特点的检索树当面临复杂的问答和检索任务时模型可以在树的不同层级中检索相关信息从而大大增强了对长文档的理解和检索性能。此外论文强调了RAPTOR在构建效率上的优势无论是令牌消耗还是构建时间都保持了与文档长度的线性关系这意味着即使面对大规模、复杂的文本库也能实现高效处理。 RAPTOR树的两种查询策略
RAPTOR树设计了两种不同的查询策略分别是树遍历方法和折叠树方法这两种策略都是用来在构建好的多层结构树中寻找与给定查询最为相关的文本信息。
树遍历方法 在这一策略中检索过程是从RAPTER树的顶层即最抽象的层开始逐层向下搜索。对于每一层计算查询向量与当前层节点即该层的摘要或嵌入表示之间的余弦相似度。选择相似度最高的前k个节点并将它们标记为待进一步考虑的节点集合。在下一层中仅针对上一步骤选出的节点的子节点重复上述相似度计算和选择过程直到抵达叶子节点最底层的原始文本块。最后将所有在遍历过程中选中的节点所对应的文本合并起来形成针对查询请求的检索上下文。折叠树方法 折叠树方法不同于逐层遍历它采取了一种更为综合的方式来评估树中所有节点的相关性。在这种方法中不是分别考虑每一层而是将整棵树的所有节点视为一个整体集合一次性计算查询向量与所有节点不论在哪一层的相似度。基于这些相似度得分不分层级地选择与查询最为匹配的节点。由于跳过了逐层筛选的过程这种方法可能会更快地收敛到最有价值的信息但也可能丧失了通过层次结构进行细粒度控制的优势。
通过这两种查询策略RAPTOR可以根据应用场景和查询复杂度的需求灵活地选择适合的检索路径在RAPTER树的多层抽象表示中快速定位所需信息从而在处理复杂问题和长文档检索时展现出卓越的性能。 整个流程很简洁方法也很直观。其中比较重要的环节不言而喻聚类。
RAPTOR系统在构建检索树的过程中采用了软聚类技术让每个文本节点能够同时属于多个聚类这充分考虑到实际文本数据中单一文本片段常常含有与多种主题相关的多元信息因此允许节点出现在多个摘要中。具体的聚类算法选用的是基于高斯混合模型GMM的方法它具有灵活性并且在一个概率框架下运行假设数据点由多个高斯分布的混合生成。
为了克服高维文本嵌入空间中距离度量可能导致相似性估计不准确的问题研究人员采用了统一流形近似和投影UMAP这是一种适用于高维数据降维的流形学习技术。通过调整UMAP中的最近邻数量参数算法首先识别全局聚类然后在这些全局聚类内部执行局部聚类形成一个分层聚类结构从而捕捉到文本数据之间从宽泛主题到具体细节的广泛联系。
在确定最优聚类数量时使用了贝叶斯信息准则BIC。BIC不仅惩罚模型复杂度还奖励拟合优度依据BIC选择出来的聚类数目能够在平衡模型复杂性和数据拟合质量的基础上有效地划分文本数据。一旦通过BIC得到最优簇的数量接下来采用期望最大化EM算法来估计GMM的参数包括各个高斯分布的均值、协方差矩阵以及混合权重。
尽管GMM中的高斯假设可能并不完美匹配文本数据的稀疏和偏斜分布特性但实验观察显示GMM在此情境下仍是一种有效的聚类工具。为进一步验证这一点研究团队进行了消融研究比较了GMM聚类与连续文本块直接摘要的效果并在附录B中提供了详细对比结果。
总结
对于查询在不考虑性能和其他问题的条件下最理想的块应该是文本中与查询最相关的那段话、几句话甚至一句话类似抽取式的文本摘要。
以下是RAPTOR模型构建和检索过程中各个步骤的具体做法
文本分块与嵌入 将原始文档划分为若干个文本块。使用预训练的BERT变种SBERTmulti-qa-mpnet-base-cos-v1作为编码器将每个文本块转换为固定维度的密集向量表示这有助于保留文本块的语义和上下文一致性。层次聚类与摘要生成 根据文本块的向量表示应用高斯混合模型GMM进行软聚类允许单个文本块归属于多个聚类中心体现了文本块内容通常与多个主题相关的特点。对于每个形成的聚类簇使用大型语言模型进行摘要生成产生对簇内文本内容的概括性描述。摘要文本再次被转换为向量表示并进入下一个迭代循环继续进行嵌入、聚类和摘要生成直到无法进一步有效聚类为止。构建RAPTOR树 这一系列嵌入、聚类和摘要操作形成了一个多层级的树状结构。其中底层包含原始文本块及其向量表示上层则是对下层节点内容的不断抽象和总结直至达到最顶层根节点。在树的构建过程中通过对不同参数如局部和全局邻域数量的调整以及使用贝叶斯信息准则BIC来确定最优聚类数目确保算法既能捕获文本数据间的广泛关系又能关注具体细节。检索策略 树遍历检索针对查询从树的顶层开始按层次逐级向下检索基于查询向量与各节点的余弦相似度选取每层的top-k节点。这个过程是递归进行的形成多个集合S1到Sd最终将这些集合拼接起来以提供与查询相关的上下文信息。折叠树检索另一种方式是将多层级的树结构“折叠”成单层计算查询向量与所有节点的相似度直接选择最高相似度的top-k节点。效率评估与优化 对于RAPTOR树构建过程的计算效率进行了实证研究结果表明其时间和令牌消耗随着文档长度呈线性增长证明了该系统在普通硬件上的可行性和可扩展性。
总之RAPTOR模型通过递归地嵌入、聚类和生成摘要来创建一个多层树结构然后在推理时利用这个结构来进行多层次、灵活且具有上下文敏感性的检索从而有效地提升了检索增强语言模型在处理长篇文档和复杂推理任务时的表现。