【RAG论文】文档树:如何提升长上下文、非连续文档、跨文档主题时的检索效果

news2024/9/22 1:27:05
  • RAPTOR Recursive Abstractive Processing for Tree-Organized Retrieval
  • ICLR 2024 Stanford
  • https://arxiv.org/pdf/2401.18059

RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)是一种创建新的检索增强型语言模型,它通过嵌入、聚类和摘要文本模块来构建一个从底层到高层具有不同摘要层的树状结构。这种方法允許模型在推理时从这棵树中检索信息,实现跨文本的不同抽象层的整合。RAPTOR的相关性创新在于它构建了文本摘要的方法,以不同尺度检索上下文的能力,并在多个任务上展示超越传统检索增强语言模型的性能。

研究问题

当前问题:在传统的 RAG 中,系统通常会依赖于检索短文本块。但当处理需要理解长篇上下文的文档时,简单的将文档切割或仅处理其上下文显然不够,在非连续文档、跨文档主题和分散型主题内容时效果不佳。

研究动机:RAPTOR本意是针对目前基于分块的向量检索限制了对上下文的整体信息获取与理解,从而采用了一种构造“从下至上不同级别的摘要树“的优化方法(试想下,很多问题是需要对整个甚至多个文档知识进行理解后才能回答,仅有top_K的分块是不够的?)。

研究内容

研究内容:递归抽象处理树组织检索(Recursive Abstractive Processing for Tree Organized Retrieval)是一种全新且强大的技术,用于以全面的方式对大型语言模型(LLM)进行索引和检索。它采用自下而上的方法,通过对文本段(块)进行聚类和总结,形成一个层级的树状结构。

论文效果:在使用时,RAPTOR能够从这棵树中检索信息,有效整合长篇文档中的信息,覆盖不同的抽象层次。通过实验发现这种递归摘要的检索方式在多个任务上都优于传统的检索增强方法。特别是在需要复杂推理的问答任务上,结合RAPTOR和GPT-4的使用将QuALITY基准测试的性能提高了20%。

研究方法

RAPTOR基于向量Embeddings递归地对文本块进行聚类,并生成这些聚类的文本摘要,从下向上构建树。聚集在一起的节点是兄弟姐妹;父节点包含该集群的文本摘要。具体的方法如下:

  1. 文本分割
  2. 文本向量表示
  3. 文本聚类
  4. 文本摘要
  5. 创建树节点
  6. 递归分聚类以及摘要
  7. 文档检索

文本切割

将检索语料库拆分为100个tokens的短的连续的chunk,类似于传统方法
保持句子完整,即使超过100个tokens,以保持连贯性

文本向量表示

嵌入文本块使用SBERT获得密集的向量表示

SBERT——一个基于BERT的编码器(multi-qa-mpnet-base-cos-v1)对这些文本进行向量化。这些块及其相应的SBERT向量形成了RAPTOR树结构的叶节点。

文本聚类

  1. 采用软聚类使用高斯混合模型和UMAP降维
  2. 更改UMAP参数以识别全局和本地集群
  3. 采用贝叶斯信息准则进行模型选择,确定最优聚类数量

论文聚类方法是使用软聚类(soft clustering),其中节点可以属于多个聚类,而不需要固定数量的聚类。

高斯混合模型(GMMs):GMMs假设数据点是从几个高斯分布的混合中生成的。给定N个文本段的集合,每个文本段表示为一个维密集向量嵌入,文本向量x给定其在第k个高斯分布中的可能性为:

总概率分布是一个加权组合

UMAP:Uniform Manifold Approximation and Projection (UMAP),一种用于降维的流形学习技术。向量的高维性对传统GMMs构成挑战,因为距离度量在高维空间中用于测量相似性时可能表现不佳。为了缓解这一点,本文使用了Uniform Manifold Approximation and Projection (UMAP),一种用于降维的流形学习技术。UMAP中的最近邻参数n_neighbors决定了保留局部和全局结构之间的平衡,作者用算法变化n_neighbors来创建一个层次化的聚类结构:它首先识别全局聚类,然后在这些全局聚类中进行局部聚类。

贝叶斯信息准则(BIC)
如果局部聚类的组合上下文超过了摘要模型的token阈值,本文的算法会在聚类内递归应用聚类,确保上下文保持在token阈值内。为了确定最优聚类数量,该算法使用贝叶斯信息准则(BIC)进行模型选择。
BIC不仅惩罚模型复杂性,还奖励拟合优度(goodness of fit)。

给定GMM的BIC是 ,其中N 是文本段(或数据点)的数量,k 是模型参数的数量,L 是模型的似然函数的最大化值。在GMM的上下文中,参数数量k是输入向量的维度和聚类数量的函数。

文本摘要

使用LLM来总结每个簇(cluster)中所有chunks
生成捕获关键信息的简明摘要

实验中使用gpt-3.5-turbo来生成摘要。

尽管摘要模型通常产生可靠的摘要,但是会有大约4%的摘要包含轻微的幻觉。这些幻觉没有传播到父节点,并且对问答任务没有可辨别的影响。

创建节点

聚类块+相应的摘要=新的树节点,生成的总结构成了树的节点,高层次的节点提供了更抽象的概括。

递归分聚类以及摘要

重复 steps 2-5: 重新嵌入摘要,集群节点,生成更高级别的摘要
从下向上形成多层树
直到聚类不可行

检索方法

两种方法:树遍历(自上而下一层一层)或折叠树(扁平视图)
对于每一个,计算查询和节点之间的余弦相似度,以找到最相关的


树遍历和折叠树检索机制的示意图。树遍历从树的根层开始,并基于与查询向量的余弦相似性检索顶部k(在这里,是top-1)个节点。在每个层级,它从上一层的top-k的子节点中检索top-k个节点。折叠树将树折叠为单个层级,并基于与查询向量的余弦相似性检索节点,直到达到阈值标记数为止。折叠树方法通过同时考虑树中的所有节点,提供了一种更简单的寻找相关信息的方式,这种方法将多层树压缩为单一层,使所有节点处于同一层级进行比较

实验在QASPER数据集的20个story上测试了这两种方法(详见图3),树折叠方法表现更佳


查询过程:展示RAPTOR如何检索关于灰姑娘故事的两个问题的信息:“故事的中心主题是什么?”和“灰姑娘是如何找到一个幸福结局的?”。突出显示的节点表示RAPTOR的选择,而箭头指向DPR的叶子节点。值得注意的是,RAPTOR的上下文通常包含由DPR检索的信息,直接或在较高层的摘要中。

实验结果

RAPTOR的性能通过三个问答数据集进行评估:NarrativeQA、QASPER和QuALITY。

  • NarrativeQA包含基于书籍全文和电影剧本的问答对,要求对整个叙事有全面理解。
  • QASPER涵盖1,585篇NLP论文中的5,049个问题,探索全文中嵌入的信息。
  • QuALITY包含多项选择问题,每个问题都有约5,000个token的上下文段落,评估在中等长度文档上的检索系统性能。

各数据集使用标准的BLEU、ROUGE、METEOR和F1评估指标,并在QuALITY的HARD子集上报告准确率,该子集包含大多数人类注释者在限时设置中回答错误的问题。

实验结果表明,当RAPTOR与任何检索器结合使用时,在所有数据集上始终优于各自的检索器。


QASPER 数据集上基于不同语言模型(GPT-3、GPT-4、UnifiedQA 3B)及多种检索方法的 F-1 分数对比分析。

表 4: 在 QuALITY 开发数据集上,针对两种不同的语言模型(GPT-3、UnifiedQA 3B)使用不同检索方法的准确性对比。RAPTOR 在准确度上至少领先传统方法 BM25 和 DPR 2.0%。

表 5: 在 QASPER 数据集上,各模型 F-1 匹配得分的对比结果。

RAPTOR 与 UnifiedQA 3B 搭配使用时,不仅超越了 BM25 和 DPR 等检索方法,还在 METEOR 指标中创下了新的最高水平

在需要复杂推理的问答任务上,结合RAPTOR和GPT-4的使用将QuALITY基准测试的性能提高了20%。

表 8:RAPTOR 在 QuALITY 数据集中查询 Story 1 的不同树层时的性能。列表示不同的起点(最高层),行表示查询的不同层数。

检索效率

Token成本是 QASPER、NarrativeQA 和 QuALITY 文档长度的函数。

RAPTOR 树构建成本与每个数据集的文档长度成线性比例。

对于最多包含 80,000 个Tokens的文档,构建时间是文档长度的函数。对于每个数据集,RAPTOR 树的构建时间与文档长度成线性比例

聚类实验

表 9 显示了消融研究的结果。该消融研究的结果清楚地表明,与基于新近度的树方法相比,使用 RAPTOR 的聚类机制可以提高准确率。这一发现证实了我们的假设,即 RAPTOR 中的聚类策略在捕获同类内容进行总结方面更有效,从而提高了整体检索性能。

数据集统计和压缩率

表明压缩率为 72%。平均摘要长度为 131 个标记,平均子节点长度为 86 个标记。

摘要提示

RAPTOR方案的优点

  • 在不同层次的多个级别上构建了语义表示并实施嵌入,提高了检索的召回能力
  • 可以有效且高效的回答不同层次的问题,有的问题在低阶节点解决,有的则由高阶节点来完成
  • 适合需要多个文档的理解才能回答的输入问题,因此对于综合性的问题有更好的支持

参考资料

  • https://luxiangdong.com/2024/02/07/kym/
  • https://developer.volcengine.com/articles/7370376932045062195
  • https://mp.weixin.qq.com/s/KqJt4-Yhab5chi8YJglMiw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1714932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python OCR 文字识别使用模型:读光-文字识别-行识别模型-中英-通用领域

介绍 什么是OCR? OCR是“Optical Character Recognition”的缩写,中文意为“光学字符识别”。它是一种技术,可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式,如计算机文本文件。通过使用OCR技术,可…

在热力图基础上寻找所有峰值位置

文章目录 概要代码概要 理解热力图:首先,了解热力图是什么以及它代表了什么信息至关重要。热力图通常是二维的,其中每个像素的颜色表示该位置的数值大小。较亮的颜色通常表示较高的数值,而较暗的颜色表示较低的数值。 阈值处理:根据问题的要求,可能需要对热力图进行阈值处…

C语言:从键盘输入若干行字符(每行长度不等),输入后把它们存储到一磁盘文件中。再从该文件中读入这些数据,将其中小写字母转换成大写字母后在显示屏上输出。

void load(char str[100]) {int i 0;FILE* pf fopen("count.txt", "r");if (pf NULL){perror("error:");return 1;}printf("把字符转成大写后\n");while (fscanf(pf,"%s",str)!EOF){for (i 0; str[i] ! \0; i){if (str[…

藏汉双语翻译平台,专业准确的藏语翻译工具和藏文OCR识别工具,在西藏提高工作效率的利器!

如果你正在找一款支持藏语-汉语双向翻译、操作简单、功能又丰富的藏汉在线翻译器,那就不得不推荐一下近期上线的藏汉翻译通小程序。在西藏工作、拉萨旅游或者写藏文作文时,如果你有翻译藏语的需求,那它,就能满足你,协助…

探索AI去衣技术中的反射应用

在当今数字时代,人工智能(AI)技术的飞速发展已经渗透到了我们生活的方方面面。其中,图像处理和计算机视觉作为AI的重要分支,正不断推动着创新应用的边界。今天,我们要探讨的是一个颇具争议但又技术上颇为有…

OSPF扩展知识2

FA-转发地址 正常 OSPF 区域收到的 5 类 LSA 不存在 FA 值; 产生 FA 的条件: 1、5类LSA ----假设 R2为 ASBR,90/0 口工作的 OSPF 中,g0/1 口工作在非 ospf 协议或不同 ospf 进程中;若 g0/1 也同时宣告在和 g0/0 相同的 OSPF 进程…

【PB案例学习笔记】-13 徒手做个电子时钟

写在前面 这是PB案例学习笔记系列文章的第11篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

Gir clone 设置代理与错误

git查看、配置、删除代理 link git config --global https.proxy http://127.0.0.1:1080 git config --global http.proxyhttps://stackoverflow.com/questions/11265463/reset-git-proxy-to-default-configuration git config --global --unset http.proxy git config --gl…

如何评价GPT-4o?

如何评价GPT-4o? 简介:最近,GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价,包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。 GPT-4o的名称中“o”代表Omni,即全能的意思,凸显了其多功能的特性&#xf…

43-3 应急响应 - WebShell查杀工具

一、WebShell 简介 WebShell是一种以asp、php、jsp等网页文件形式存在的代码执行环境,通常用于网站管理、服务器管理和权限管理等操作。然而,如果被入侵者利用,它也可以用于控制网站服务器。具有完整功能的WebShell通常被称为"大马",而功能简单的则称为"小马…

抖店项目的优缺点介绍,开店必看

内容来源于【电商王路飞】 抖店的第一个缺点,就是资金占用 不要妄想抖店是个0投入的项目,不现实;也不要想着去做0保证金入驻的抖音个人店,没有意义。 做抖店就是需要有一定资金投入的。 像店铺的保证金,个体店是20…

一文讲清楚:如何做好建设工程项目管理?

在房地产开发中,作为项目负责人我目前的状况成了一个大管家,还要管理工程质量。上至各部门领导的关系维护,下到工人的吃喝拉撒都要我操心,还要没完没了的处理四邻纠纷和拆迁户的纠纷,每天都搞得很疲惫,如何…

Spring-注解

Spring 注解分类 Spring 注解驱动模型 Spring 元注解 Documented Retention() Target() // 可以继承相关的属性 Inherited Repeatable()Spirng 模式注解 ComponentScan 原理 ClassPathScanningCandidateComponentProvider#findCandidateComponents public Set<BeanDefin…

一款高级管理控制面板主题!【送源码】

AdminLTE是一个完全响应的管理模板。基于Bootstrap5框架和JavaScript插件。高度可定制&#xff0c;易于使用。适用于从小型移动设备到大型桌面的多种屏幕分辨率。AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。 https://github.com/almasaeed2010/AdminLTE —…

前端基础入门:静态页面与动态页面的区别

什么是静态页面和动态页面&#xff1f; 通俗的来讲&#xff0c;静态页面是随着HTML代码的生成&#xff0c;页面的内容和显示效果就基本不会发生变化&#xff08;除非修改页面代码&#xff09;&#xff0c;而动态页面&#xff0c;虽然同样页面代码不发生变化&#xff0c;但是其…

如何在中国网上发布文章

随着互联网的迅猛发展&#xff0c;网上发布文章已经成为一种重要的传播方式。而在中国&#xff0c;作为世界上最大的互联网市场&#xff0c;如何在中国网上发布文章成为了许多人关注的焦点。媒介多多网发稿平台作为一个专业的发稿平台&#xff0c;为广大作者提供了很好的发布文…

建议大家少用点儿网站测速工具

春节休息期间明月有接了几个服务器代运维的业务&#xff0c;期间就发现不少新手站长们还在用 17ce、站长工具等等这些网站测速工具来评判站点访问速度的&#xff0c;感觉很有必要给大家聊聊这个事儿&#xff0c;因为这毕竟也是一个涉及服务器安全的一个重要环节了。 其实&#…

Linux系统编程(五)多线程

目录 一、基本知识点二、线程的编译三、 线程相关函数1. 线程的创建2. 线程的退出3. 线程的等待补充 四、综合举例 一、基本知识点 线程&#xff08;Thread&#xff09;是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。一个标准…

Java程序设计

一 Java基础知识 1 Java语言概述 1.1 发展历史 1.2 Java应用领域 Web开发&#xff1a;电子商务网站、内部管理系统、社交网络、门户网站移动开发&#xff1a;Android开发桌面开发&#xff1a;办公软件、游戏、工具软件企业应用开发&#xff1a;客户关系管理、企业资源计划、…

长难句打卡5.29

Today, professors routinely treat the progressive interpretation of history and progressive public policy as the proper subject of study while portraying conservative or classical liberal ideas — such as free markets and self-reliance — as falling outsid…