【RAG 论文】Dense X 检索:将“命题”作为检索粒度

news2024/12/29 0:57:00

论文:Dense X Retrieval: What Retrieval Granularity Should We Use?
⭐⭐⭐⭐
Code: github.com/ct123098/factoid-wiki

文章目录

    • 一、论文速读
    • 二、命题(Proposition)
    • 三、FactoidWiki
    • 四、实验及分析
      • 4.1 Passage Retrieval 任务
      • 4.2 Open-Domain QA 任务

一、论文速读

目前的研究发现,对于检索粒度的选择会显著影响检索任务以及下游任务的表现。目前的检索方法大多以文档或者固定大小的 chunk 作为检索粒度,本论文提出以“命题”(proposition)作为检索粒度来进行检索

命题在本论文中被定义为如下:Propositions are defined as atomic expressions within text, each encapsulating a distinct factoid and presented in a concise, self-contained natural language format.

下图展示了使用 passage、sentence 以及 proposition 作为检索粒度用于 QA 时的区别:

注意,这里 proposition retrieval 的结果中,将原文中的 the tower 做了类似于共指消解的工作,将其转化为了 The Leaning Tower of Pisa,从而使得这个命题可以独立于原文进行理解。

该工作期望每个命题都可以精确地描述一个上下文化地原子事实,因此,命题可以给出更高的与问题相关的信息密度。

如下是整体框架:

  • 首先将 Wikipedia 的文章使用 Propositionizer 分解为多个命题
  • 将这些命题构建为资料库,让 retriever 用“命题”的粒度去完成检索
  • 基于如上方法,使用 RAG 思路去进行 QA

二、命题(Proposition)

这篇论文的核心思路就是将 retrieval 的检索粒度改进为 proposition,论文中给出了 proposition 的详细定义:

简而言之,一个命题描述了一个独立于上下文的原子性的事实

三、FactoidWiki

本工作将 Wikipedia 的 pages 分解为 propositions,形成了 FactoidWiki 这个数据集。

Propositionizer:输入一个 passage,输出一个 propositions 的列表,它使用了两步蒸馏的方法来训练:

  1. 首先使用 in-context learning 的方式来 prompt GPT-4 获得一批 passage-proppositions 的 pairs
  2. 使用上面获得 pairs 来微调 Flan-T5-large 来得到 Propositionizer

prompt GPT-4 的方法如下:

切分的结果如下:

四、实验及分析

本工作使用该方法做了 passage retrieval 和 open-domain QA 两类实验。

4.1 Passage Retrieval 任务

该任务是给定一个 question,寻找与之相关的 passage。

论文证明,命题级别的检索在 5 个数据集上效果最好。

另外,论文分析发现,Retriveal by Proposition 意味着更好的 Cross-Task 泛化性。命题粒度的检索在不太常见的实体(长尾实体)的问题上的 passage retrieval 有更大的优势,能够在多个数据集上有不错的表现。

4.2 Open-Domain QA 任务

直观来说,与 passage 粒度或者句子粒度的检索相比,命题粒度的检索能够查询出更高密度的相关信息,这样能够增强下游 QA 任务的性能。

但是,基于命题的检索面临着涉及长程文本分析的多条推理的挑战,因为检索到的命题很可能无法覆盖全面。

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

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

相关文章

C++ | Leetcode C++题解之第69题x的平方根

题目&#xff1a; 题解&#xff1a; class Solution { public:int mySqrt(int x) {if (x 0) {return 0;}double C x, x0 x;while (true) {double xi 0.5 * (x0 C / x0);if (fabs(x0 - xi) < 1e-7) {break;}x0 xi;}return int(x0);} };

前端高频面试题 5.08

事件委托 事件委托是前端开发中常用的一种优化性能和代码可维护性的方法&#xff0c;它基于DOM的事件冒泡机制。当一个元素触发事件时&#xff0c;这个事件会按照从顶层到底层的顺序传播&#xff0c;直到最底层的元素&#xff08;通常是文档的根节点&#xff09;。事件委托利用…

如何将pdf文件换成3d模型?---模大狮模型网

PDF文件是一种广泛用于文档传输和共享的格式&#xff0c;但在某些情况下&#xff0c;我们可能希望将其中的内容转换为更具交互性和视觉效果的3D模型。本文将介绍如何将PDF文件转换为3D模型&#xff0c;为您展示实现这一想象的步骤。 选择合适的PDF文件&#xff1a; 首先&#…

如何才能做好源代码防泄密

目前很多企业都拥有自己的研发机构&#xff0c;其研发成果往往体现在源代码和技术文档方面&#xff0c;这些核心机密&#xff0c;如何防止研发参与人员泄密&#xff0c;如何防止核心成员把研究成果带走另立山头&#xff0c;或者提供给竞争对手&#xff0c;是一个很现实的一个问…

软件可靠度计算

软件的整体可靠度依据&#xff1a;若是单个就是当前部件的可靠度。若是多个部件&#xff0c;就需要多个部件的可靠度相乘。若是多个部件且有相同备份&#xff0c;那么计算公式更加不一样。 计算公式&#xff1a; 部件数&#xff1a;N 部件可靠度均为&#xff1a;R 单个部件的可…

Mac 解决外接移动硬盘(NTFS格式)无法写入的问题

文章目录 1. 问题描述2. 解决步骤 1. 问题描述 MacOS 可以识别 NTFS 格式的磁盘&#xff0c;但是默认情况下是只读模式&#xff0c;即无法向 NTFS 格式的磁盘写入数据。这是因为 NTFS 是 Windows 系统默认的文件系统格式&#xff0c;而 MacOS 对 NTFS 的写入支持是有限的。 如…

目标检测CNN 目标检测发展历程 应用场景 智慧交通 自动驾驶 工业生产 智慧医疗

目标检测 目标检测是计算机视觉领域中的一个重要任务,其主要目的是让计算机能够自动识别图像或视频帧中所有目标的类别,并在目标周围绘制边界框以标示出每个目标的位置。 目标检测的过程通常包括两个主要步骤:目标定位和目标分类。目标定位是确定图像中是否存在感兴趣的目…

树莓派4b红外检测

1.红外检测连接图 2.红外检测工作原理 红外传感器的工作原理类似于物体检测传感器。该传感器包括一个红外LED和一个红外光电二极管&#xff0c;因此通过将这两者结合起来&#xff0c;可以形成一个光耦合器。 红外LED是一种发射红外辐射的发射器。该LED看起来与标准LED相似&a…

Python爬虫基础知识学习(以爬取某二手房数据、某博数据与某红薯(书)评论数据为例)

一、爬虫基础流程 爬虫的过程模块化&#xff0c;基本上可以归纳为以下几个步骤&#xff1a; 1、分析网页URL&#xff1a;打开你想要爬取数据的网站&#xff0c;然后寻找真实的页面数据URL地址&#xff1b; 2、请求网页数据&#xff1a;模拟请求网页数据&#xff0c;这里我们介…

C++:菱形继承与菱形虚拟继承

一、菱形继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承 多继承&#xff1a;一个子类有两个或以上直接父类时称这个继承关系为多继承 菱形继承&#xff1a;菱形继承是多继承的一种特殊情况&#xff0c;派生类继承自两个间接基类&#xff0c;而这…

Java中的Mysql数据库备份与定时任务快速实现(详细代码示例)

引言 在现代软件系统中&#xff0c;数据库备份是确保数据安全的关键措施之一。通过定期备份&#xff0c;可以在数据丢失或损坏时迅速恢复&#xff0c;从而减少潜在的业务风险。Java作为一种广泛使用的编程语言&#xff0c;提供了多种实现数据库备份的方法。本文将介绍如何使用…

「网络流 24 题」太空飞行计划 【最大权值闭合图】

「网络流 24 题」太空飞行计划 题意 有 n n n 个实验 和 m m m 个器械&#xff0c;每个实验都需要若干个指定的器械才能进行 实验 i i i 的盈利为 p i p_i pi​&#xff0c; 器械 j j j 的花销为 c j c_j cj​ 找出纯利润最大的实验计划 思路 这是非常典型的最大权值…

独家专访辉羲智能章健勇:数据闭环定义芯片,帮车厂造中国版FSD

‍采访、编辑 |德新 撰文 |苗岭 辉羲智能&#xff0c;智能驾驶芯片行业最新的进入者。 这家公司成立于2022年&#xff0c;今年辉羲即将发布它的首款高阶智驾芯片。而另外两家智驾计算平台的头部公司地平线和黑芝麻已经在前不久分别向港交所提交了IPO申请。 国内的自动驾驶行…

【北京迅为】《iTOP-3588开发板快速烧写手册》-第8章 TF启动

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

论文笔记模版

1. 摘要 1.1 背景 1.2 挑战 1.3 提出新方法 1.4 贡献 2. 引言 2.1 背景&#xff08;引出问题&#xff09; ①介绍大背景&#xff1a; ② 应用场景&#xff1a; ③ 介绍主题&#xff1a; 2.2 引出挑战 一般用图表来展现出我们的挑战&#xff08;直观&#xff0c;解决什…

速卖通揭秘:aliexpress.item_get API商品详情返回值全解析

速卖通&#xff08;AliExpress&#xff09;是阿里巴巴旗下的一个面向全球市场的B2C电商平台&#xff0c;为卖家提供了一个向全球消费者销售商品的平台。对于开发者来说&#xff0c;速卖通提供了API接口来方便地进行数据交互和集成。其中&#xff0c;item_get API是用于获取商品…

java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条

今天遇到一个问题 系统线上问题&#xff0c;经常出现这样的问题&#xff0c;刚重启系统时不报错了&#xff0c;可是运行一段时间又会出现。sql已经写了limit 1&#xff0c;mybatis的debug日志也返回total为1&#xff0c;可是却报错返回了1805条数据 乍一看&#xff0c;感觉太不…

【FTP】配置FTP服务器并访问测试(已更新)

1.之前访问搭建的FTP服务器&#xff0c;有些现场环境未搭建&#xff0c;在数据处理过程中遇到一些阻力&#xff0c;多有不便之处。 2.熟悉、梳理、总结下FTP服务器相关知识体系 3.欢迎批评指正&#xff0c;跪谢一键三连&#xff01; 基于Linux配置FTP服务器并访问测试文章目录索…

基于V4L2框架的摄像头从上层到底层开发

文章目录 一、V4L2应用开发1、识别摄像头2、查看摄像头设备的能力3、查看支持视频格式4、设置视频格式5、申请帧缓冲6、启动采集7、出队取一帧图像8、入队归还帧缓冲9、停止视频采集10、退出释放资源 二、V4L2框架源码分析1、struct video_device2、struct v4l2_device *v4l2_d…

unity ui 同屏

一共有三个摄像机&#xff0c;上屏&#xff0c;下屏 和 类似照相机的ccamera 类似照相机的ccamera的设置&#xff1a; 下屏摄像机设置&#xff1a; 下屏交互的Canvas设置&#xff1a; 新建一个canvas&#xff0c;下面放上rawimage&#xff1a; 如果下屏不想显示的内容&#xf…