RAPTOR:树组织检索的递归抽象处理

news2024/11/18 7:45:13

RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL

Title:树组织检索的递归抽象处理

https://arxiv.org/pdf/2401.18059.pdf

摘要

        检索增强语言模型可以更好的融入长尾问题,但是现有的方法只检索短的连续块,限制了整个文档上下文的整体理解。

        文本提出方法:递归对文本块进行向量化,聚类,摘要,从下到上构建一棵具有不同摘要级别的树。

介绍

        要解决的问题是,大多数现有的方法只检索几个短的、连续的文本块,这限制了它们表示和利用大规模话语结构的能力。

        这与需要整合文本多个部分知识的主题问题特别相关,前k个检索到的短连续文本将不包含足够的上下文来回答问题。

为了解决这个问题,我们设计了一个索引和检索系统,该系统使用树结构来捕获文本的高级和低级细节。

相关工作

        1.为什么需要检索:

        模型往往没有充分利用长期上下文,并且随着上下文长度的增加,尤其是当相关信息嵌入到长上下文中时,性能会下降。此外,实际上,使用长上下文既昂贵又缓慢。

        2.检索方法:

        基于术语的方法(TFIDF,BM25)到基于深度学习的策略。

        检索增强大模型包含多个组件:检索模块,阅读器,端到端系统训练。

        向量化的检索方法缺点:连续分割可能无法捕捉到文本的完整语义深度。阅读从文件中提取的片段可能缺乏重要的上下文,使其难以阅读,甚至具有误导性。

        3.递归总结:

        摘要技术提供了文档的浓缩视图,使您能够更集中地处理内容。使用段落的摘要和片段,提高了大多数数据集的正确性,但有时可能是一种有损的压缩方式。

        递归抽象摘要模型采用任务分解来总结较小的文本块,然后将其集成以形成较大部分的摘要。虽然这种方法可以有效地捕捉更广泛的主题,但它可能会错过细微的细节。

        LlamaIndex通过类似地总结相邻的文本块,但也保留中间节点,从而存储不同级别的细节,保持细粒度的细节,从而缓解了这一问题。

        然而,由于这两种方法都依赖邻接来对相邻节点进行分组或汇总,它们仍然可能忽略文本中遥远的相互依存关系。

方法

        总体结构通过构建递归树结构来解决阅读中的语义深度和连接问题,该结构平衡了更广泛的主题理解和细粒度的细节,并允许根据语义相似性而不仅仅是文本中的顺序对节点进行分组。

        step1.将语料库文本进行切分,每个切片大小为100个字符,但会保持句子的完整性。使用sbert对每个切片进行向量嵌入,切片和向量会形成树的叶子结点。

        step2.使用聚类方法对切片进行分组,分组后的切片组使用LLM进行摘要总结。这样嵌入、聚类、总结循环进行,直到聚类不可行。最后生成了文档的树形结构表示。

        step3.树的查询使用两种策略:树遍历和折叠树。树遍历方法逐层遍历树,每层进行树修剪并选择最相关的点。折叠树方法对所有层的节点进行集中评估。

        聚类方法

        聚类方法的一个独特要求是使用软集群,其中节点可以属于多个集群,而不需要固定数量的集群。这种灵活性至关重要,因为单个文本片段通常包含各种主题相关的信息,从而保证将其包含在多个摘要中。

        本文使用混合高斯聚类方法(GMM),是一种软聚类方法,每个样本可以根据概率属于多个聚类簇。本文还使用了分层聚类(全部聚类和局部聚类),分两步进行的聚类过程捕获了文本数据之间的广泛关系,从广泛的主题到特定的细节。

        基于模型的总结

        摘要步骤将潜在的大量检索信息浓缩为可管理的大小。虽然摘要模型通常会产生可靠的摘要,但一项重点注释研究显示,约4%的摘要包含轻微幻觉。这些不会传播到父节点,也不会对问答任务产生明显影响。

        查询

        树遍历

        树遍历方法首先基于前k个最相关的根节点与查询嵌入的余弦相似性来选择它们。在下一层考虑这些所选节点的子节点,并且基于它们与查询向量的余弦相似性再次从该池中选择前k个节点。重复此过程,直到我们到达叶节点。最后,将所有选定节点的文本连接起来,形成检索到的上下文。通过调整在每一层选择的深度d和节点k的数量,树遍历方法提供了对所检索信息的特异性和广度的控制。该算法从广阔的前景开始,通过考虑树的顶层,并在向下穿过较低层时逐渐关注更精细的细节。

        折叠树

折叠树方法提供了一种更简单的方法,通过同时考虑树中的所有节点来搜索相关信息。这种方法不是一层一层地进行,而是将多层树扁平化为一层,基本上将所有节点放在同一级别进行比较。

实验

        详情见论文。

总结

        在本文中,我们提出了RAPTOR,这是一种新颖的基于树的检索系统,它利用不同抽象级别的上下文信息增强了大型语言模型的参数知识。通过使用递归聚类和摘要技术,RAPTOR创建了一个分层树结构,能够合成检索语料库各个部分的信息。在查询阶段,RAPTOR利用这种树结构进行更有效的检索。我们的对照实验表明,RAPTOR不仅优于传统的检索方法,而且在几个问答任务上设置了新的性能基准。

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

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

相关文章

深度测评:ONLYOFFICE 桌面编辑器 v8.0新功能

目录 前言 一、PDF表单处理:提升办公效率 二、RTL(从右到左)支持:满足不同语言习惯 三、Moodle集成:教育行业的新助力 四、本地界面主题:个性化办公体验 五、性能优化与稳定性提升 六、性能与稳定性…

Ubuntu Linux使用PL2302串口和minicom进行开发板调试

调试远程的服务器上面的BMC,服务器上面安装了Ubuntu,想着可以在服务器接个串口到BMC,然后SSH到服务器的Ubuntu,用minicom来查看串口信息。 准备: 服务器Ubuntu安装mimicom 本机可以ssh到Ubuntu 串口工具PL2302 或者CH3…

React+Antd+tree实现树多选功能(选中项受控+支持模糊检索)

1、先上效果 树型控件,选中项形成一棵新的树,若父选中,子自动选中,子取消,父不取消,子选中,所有的父节点自动取消。同时支持模糊检索,会检索出所有包含该内容的关联节点。 2、环境准…

【iOS ARKit】人形遮挡

人形遮挡简介 在 AR系统中,计算机通过对设备摄像头采集的图像进行视觉处理和组织,建立起实景空间,然后将生成的虚拟对象依据几何一致性原理嵌入到实景空间中,形成虚实融合的增强现实环境,再输出到显示系统中呈现给使用…

6.electron之上下文隔离,预加载JS脚本

如果可以实现记得点赞分享,谢谢老铁~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中,因此它允许你仅需一个代码仓库,就可以撰写支持 Windows、…

白嫖10款游戏加速器,一年都不用开会员!

过年期间你们是走亲串戚还是窝家玩游戏、追剧?相信很多小伙伴都不会放过这个难得的假期,肯定是会百忙之中来两把的,那么人一多玩游戏肯定就会拥堵,有延迟。解决延迟最好的办法就是用加速器,当你的网络比别人强时&#…

Rust通用代码生成器莲花发布红莲尝鲜版二十一,前端代码生成物有巨大改进

Rust通用代码生成器莲花发布红莲尝鲜版二十一,前端代码生成物有巨大改进 Rust通用代码生成器莲花已发布红莲尝鲜版二十一,此版本采用了新的前端代码生成引擎:时空之门前端代码生成器6.2.0。此引擎支持Nodejs 21,Nodejs 18和Nodejs 14。消除了…

开源软件:技术创新与应用的推动力量

文章目录 每日一句正能量前言开源软件如何推动技术创新开源软件的历史开源软件的开发模式开源软件与闭源软件源代码和开发许可维护特点、支持和成本开源软件的优势减少开支可定制性快速创新发展透明度和安全性 开源软件的应用 常见问题后记 每日一句正能量 不好等待运气降临&am…

如何检测机械硬盘和固态硬盘的健康状况?

机械硬盘、移动硬盘、固态硬盘等作为存储数据的重要部件,其重要性不言而喻。随着时间的推移,这些数据存储设备可能会出现各种问题,影响数据安全。机械硬盘、固态硬盘的健康状态怎么看?本篇介绍两个方法帮你检测电脑上的机械硬盘或…

大数据Doris(六十四):Doris on ES在快手商业化的业务场景介绍

文章目录 Doris on ES在快手商业化的业务场景介绍 一、服务介绍

kafka 文件存储机制

文章目录 1. 思考四个问题:1.1 topic中partition存储分布:1.2 partiton中文件存储方式:1.3 partiton中segment文件存储结构:1.4 在partition中如何通过offset查找message: 2. kafka日志存储参数配置 Topic是逻辑上的概念&#xff…

hummingbird,一个非常好用的 Python 库!

前言 随着人工智能和机器学习的快速发展,将训练好的模型部署到生产环境中成为了一个重要的任务。而边缘计算设备,如智能手机、嵌入式系统和物联网设备,也需要能够运行机器学习模型以进行实时推理。Python Hummingbird 是一个强大的工具&…

PKI - 03 密钥管理(如何进行安全的公钥交换)

文章目录 Pre密钥管理面临的挑战安全密钥管理的几种方式手动密钥交换与确认受信任的介绍 Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点: 安全的公钥交换:在使用基于非对称密钥算法的服务之前&#xff0c…

最新话费充值系统源码,附带系统安装教程

搭建教程 亲测环境:PHP7.0MySQL5.6 PHP扩展安装:sg11 数据库配置文件路径:/config/database.php 伪静态设置为thinkphp 后台地址:/admin 账号密码:admin/123456

Redis渗透SSRF的利用

Redis是什么? Redis是NoSQL数据库之一,它使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。默认端口是:6379 工具安装 下载地址: http://download.redis.io/redis-stable.tar.gz然…

【XR806开发板试用】 GPIO驱动LED

按照教程来学习下GPIO驱动LED指示灯 一、硬件电路 使用板卡上D1指示灯测试 二、驱动程序部分 在ohosdemo目录下创建文件 编辑ohosdemo/BUILD.gn文件 编辑ohosdemo/led/BUILD.gn文件 编辑ohosdemo/led/src/main.c文件 三、编译程序 将编译好的程序下载到开发板 四…

完全让ChatGPT写一个风格迁移的例子,不改动任何代码

⭐️ 前言 小编让ChatGPT写一个风格迁移的例子,注意注意,代码无任何改动,直接运行,输出结果。 额。。。。这不是风格转换后的结果图。 ⭐️ 风格迁移基本原理 风格迁移是一种计算机视觉领域的图像处理技术,它的目标…

BUUCTF-Real-[Tomcat]CVE-2017-12615

目录 漏洞描述 一、漏洞编号:CVE-2017-12615 二、漏洞复现 get flag 漏洞描述 CVE-2017-12615:远程代码执行漏洞 影响范围:Apache Tomcat 7.0.0 - 7.0.79 (windows环境) 当 Tomcat 运行在 Windows 操作系统时,且启用了 HTTP P…

Stable Diffusion 模型下载:Schematics(原理图)

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 “Schematics”是一个非常个性化的LORA,我的目标是创建一个整体风格,但主要面向某些风格美学,因此它可以用于人物、物体、风景等…

微信小程序合集更更更之实现仿网易云播放动效

实现效果 写在最后🍒 源码,关注🍥苏苏的bug,🍡苏苏的github,🍪苏苏的码云~