当前位置: 首页 > news >正文

[论文笔记]DAPR: A Benchmark on Document-Aware Passage Retrieval

引言

今天带来论文DAPR: A Benchmark on Document-Aware Passage Retrieval的笔记。

本文提出了一个基准:文档感知段落检索(Document-Aware Passage Retrieval,DAPR)以及介绍了一些上下文段落表示的方法。

为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。

1. 总体介绍

image-20241006153851118

图 1:DAPR 的示例实例。为了找到与查询 相关的段落,检索器需要利用文档上下文, 在本例中这意味着名词"地点"的共指解析。

我们提出了文档感知段落检索(DAPR)任务,其中检索需要考虑关联的文档上下文以返回相关段落。一个 例子如图1所示。在这种情况下,用户询问在特定场地演奏过的音乐家。然而, 相关段落没有提及场地名称,而仅提及名词引用,检索器需要理解这些用于查找正确段落的文档上下文。

我们对SOTA检索器进行错误分析,发现主要错误是由于缺少文档上下文,其中正确的段落缺少共指解析、底层主题的信息。

在实验中,我们通过两种方法向SOTA检索器引入文档上下文来测试扩展SOTA检索器的方法:

  1. 使用BM25混合检索;
  2. 带有上下文的段落表示,它基于文档上下文来增强段落表示;

2. 相关工作

3. DAPR任务和基准

DAPR任务要求系统根据有关(长)文档检索相关段落并对其进行排名。

给定段落集合 C = { p i } i = 1 N C=\{p_i\}_{i=1}^N C={pi}i=1N和它们关联的文档 D = { d i } i = 1 N D=\{d_i\}_{i=1}^N D={di}i=1N,对于查询 q ∈ Q q \in Q qQ,检索系统 s : Q × C × D → R s: Q \times C \times D \rightarrow \R s:Q×C×DR需要返回前 K K K个段落 R = { p 1 , p 2 , ⋯ , p K } R=\{p_1,p_2,\cdots,p_K\} R={p1,p2,,pK}

3.1 NQ-Hard:NaturalQuestions 中的疑难案例

对 SoTA 段 落检索器(DRAGON+、SPLADEv2 和 ColBERTv2)和 BM25 的自然问题进行了错误分析。发现53.5%的错误案例是由于没有检索到相关段落上下文造成的。

4. 实验

引入文档上下文

BM25混合检索

使用BM25检索整个文档,使用神经网络检索器检索段落。

排名融合 融合了来自BM25检索器和神经检索器的相关性分数,计算为:
s convex ( q , p , d ) = α s ^ BM25 ( q , p ) + ( 1 − α ) s ^ neural ( q , d ) s_\text{convex}(q,p,d) = \alpha \hat s_\text{BM25}(q,p) + (1-\alpha) \hat s_\text{neural}(q,d) sconvex(q,p,d)=αs^BM25(q,p)+(1α)s^neural(q,d)
其中 α ∈ [ 0 , 1 ] \alpha \in [0,1] α[0,1]是融合权重; s ^ \hat s s^表示归一化的相关性得分,计算为:
s ^ ( q , c ) = s ( q , c ) − m q M q − m q \hat s(q,c) = \frac{s(q,c) - m_q }{M_q - m_q} s^(q,c)=Mqmqs(q,c)mq
其中 c c c表示候选段落/文档; m q m_q mq M q M_q Mq分别是最小和最大值。

层次检索 通过两个步骤: (1)文档检索和(2)检索到的文档中的段落检索。

上下文化的段落表示

这里的段落可以认为是文本块。

前置标题 简单增加标题到同一文档每个段落的开头。使用空格来分隔标题文本和原始段落文本。标题通常准确地显示了文档的主体,但可能此类信息并不总是可用。

前置文档关键短语 通过添加从文档中提取的关键短语来绕过标题可用性问题。使用TopicRank算法来提取每个文档的前10个关键短语,然后通过分号连接起来。最后用空格分隔符添加到段落文本中。

共指解析 通过添加共指信息来注释段落。将整个文档输入到共指消解模型中以获得提及先行词映射。对于每个提及,其预测的先行词显示在文档中最早的位置中,并用括号附加到它后面。例如,图1中的段落将被注释为"在场地(TheHalfMoon)表演或录制的艺术家…"。我们只考虑跨段共指。

总结

⭐ 作者提出了可以直接将长文本的全局文本信息拼接到切分后的文本块前面。全局文本信息有(1) 文档的标题 (2) 文档的关键短语,使用TopicRank算法抽取 (3) 共指解析,通过跨段共指解析消解来处理文本块中的代词。

http://www.lryc.cn/news/459288.html

相关文章:

  • Spring Boot知识管理:智能搜索与分析
  • 操作系统(2) (进程调度/进程调度器类型/三种进程调度/调度算法)
  • 鸿蒙--知乎评论
  • 2024 - 两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信(C语言版本)
  • 小程序该如何上架
  • XMOJ3065 旅游线路
  • 量化之一:均值回归策略
  • NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?
  • 最优美公式-欧拉公式,轻松理解版
  • 【力扣 | SQL题 | 每日3题】力扣1107,1112, 1077
  • 计算机网络(十一) —— 数据链路层
  • 使用PyTorch从0实现Fashion-MNIST数据集分类
  • Java数组的值拷贝和地址拷贝
  • 类与对象 中(剩余部分) 以及 日历
  • iOS 14 自定义画中画悬浮窗 Custom AVPictureInPictureController 实现方案
  • 【C#生态园】完整解读C#网络通信库:从基础到实战应用
  • js面试题---事件委托是什么
  • 谷歌浏览器 文件下载提示网络错误
  • 【记录】PPT|PPT 箭头相交怎么跨过
  • Linux中如何修改root密码
  • 中间件:SpringBoot集成Redis
  • 数据中心建设方案,大数据平台建设,大数据信息安全管理(各类资料原件)
  • TDD(测试驱动开发)是否已死?
  • Debezium系列之:实时从TDengine数据库采集数据到Kafka Topic
  • 数据结构(一)顺序表
  • 如何在 Jupyter Notebook 执行和学习 SQL 语句(中)
  • AutosarMCAL开发——基于EB Wdg驱动
  • Linux(1. 基本操作_命令)
  • 难点:Linux 死机定位(进程虚拟地址空间耗尽)
  • 小米路由器刷机istoreOS,愉快上网