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

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

一、论文速读

目前的研究发现,对于检索粒度的选择会显著影响检索任务以及下游任务的表现。目前的检索方法大多以文档或者固定大小的 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 任务的性能。

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

  • 36
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值