当前位置: 首页 > 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) 共指解析,通过跨段共指解析消解来处理文本块中的代词。

相关文章:

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

引言 今天带来论文DAPR: A Benchmark on Document-Aware Passage Retrieval的笔记。 本文提出了一个基准:文档感知段落检索(Document-Aware Passage Retrieval,DAPR)以及介绍了一些上下文段落表示的方法。 为了简单,下文中以翻译的口吻记录&#xff0c…...

Spring Boot知识管理:智能搜索与分析

3系统分析 3.1可行性分析 通过对本知识管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本知识管理系统采用JAVA作为开发语言,Spring Boot框…...

操作系统(2) (进程调度/进程调度器类型/三种进程调度/调度算法)

目录 1. 介绍进程调度(Introduction to Process Scheduling) 2. 优先级调度(Priority Scheduling) 3. CPU 利用率(CPU Utilization) 4. 吞吐量(Throughput) 5. 周转时间&#xf…...

鸿蒙--知乎评论

这里我们将采用组件化的思想进行开发 在开发中默认展示的是首页也就是 pages/Index.ets页面 这里存放的是所有页面的配置文件,类似与uniapp中的pages.json 如果我们此时要更改默认显示Zh...

2024 - 两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信(C语言版本)

两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信(C语言版本) 给女朋友对象写得,她不会,我就写了一个 为了帮助您在两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信&…...

小程序该如何上架

小程序的上架流程通常包括准备工作、代码审核、人工审核以及上线发布等关键步骤。以下是一个详细的小程序上架指南: 一、准备工作 注册开发者账号: 在微信小程序平台或支付宝开放平台等相应的小程序发布平台上注册开发者账号。 开发小程序: …...

XMOJ3065 旅游线路

10分钟没啥思路就去看题解了,结果发现很蠢。 题目大意 有一条河,河的东侧和西侧分别有 n , m n,m n,m 个景点,每个景点有个权值。有 k k k 条船,每条船连接东侧和西侧的一个景点。定义一个旅游线路是通过船连接起来的景点序列…...

量化之一:均值回归策略

文章目录 均值回归策略理论基础数学公式 关键指标简单移动平均线(SMA)标准差Z-Score 交易信号实际应用优缺点分析优点缺点 结论 实践backtrader参数:正常情况:异常情况: 均值回归策略 均值回归(Mean Rever…...

NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?

文章目录 Bluefield上的硬件介绍启动流程启动流程:eMMC中的两个存储分区:ATF介绍ATF启动的四个阶段:四个主要步骤:各个阶段依赖的启动文件一次烧录fw失败后的信息看启动流程综述Bluefield上的硬件介绍 本文以Bluefield2为例,可以看到RSHIM实际上是Boot相关的集合。也能看…...

最优美公式-欧拉公式,轻松理解版

Alan Becker创作的火柴人大战数学的打斗视频,风靡一时,并在B站荣耀斩获了“金知奖”。下面是网友对此视频的部分评价截图。 视频原址:火柴人 vs 数学,后续又一口气看完了“火柴人vs 几何”与“火柴人vs 物理”,通过火柴…...

【力扣 | SQL题 | 每日3题】力扣1107,1112, 1077

今天三道mid题都可以用窗口函数轻松秒杀。 1. 力扣1107:每日新用户统计 1.1 题目: Traffic 表: ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum …...

计算机网络(十一) —— 数据链路层

目录 一,关于数据链路层 二,以太网协议 2.1 局域网 2.2 Mac地址 2.3 Mac帧报头 2.4 MTU 三,ARP协议 3.1 ARP是什么 3.2 ARP原理 3.3 ARP报头 3.4 模拟ARP过程 3.5 ARP周边问题 四,NAT技术 4.1 NAT技术背景 4.2 NAT转…...

使用PyTorch从0实现Fashion-MNIST数据集分类

完整代码: from d2l import torch as d2l import torch from torchvision import transforms from torchvision import datasets from torch.utils.data import DataLoader import matplotlib.pyplot as plt from IPython import displaydef get_fashion_mnist_la…...

Java数组的值拷贝和地址拷贝

在Java中,数组的值拷贝和地址拷贝是两种不同的操作。 值拷贝是指将一个数组的值复制到另一个新的数组中。这意味着新数组和原数组独立存在,修改其中一个数组不会影响另一个数组。Java中的数组是对象,所以通过值拷贝操作实际上是复制了数组对…...

类与对象 中(剩余部分) 以及 日历

运算符重载 • 当运算符被⽤于类类型的对象时,C语⾔允许我们通过运算符重载的形式指定新的含义。C规定类类型对象使⽤运算符时,必须转换成调⽤对应运算符重载,若没有对应的运算符重载,则会编译报错。 • 运算符重载是具有特名字的…...

iOS 14 自定义画中画悬浮窗 Custom AVPictureInPictureController 实现方案

iOS 14,基于 AVPictureInPictureController,实现自定义画中画,涵盖所有功能与难点。 市面上的各种悬浮钟和提词器的原理都是基于此。 Demo源码在文末。 使用 iOS 画中画的要求: 真机,不能使用模拟器;iO…...

【C#生态园】完整解读C#网络通信库:从基础到实战应用

探索C#网络通信库:功能、用途和最佳实践 前言 随着互联网的快速发展,网络通信在现代软件开发中扮演着至关重要的角色。C#作为一种流行的编程语言,拥有多个优秀的网络通信库,为开发人员提供了丰富的选择。本文将深入探讨几种常用…...

js面试题---事件委托是什么

事件委托是JavaScript中的一种事件处理模式,通过将事件处理程序绑定到父元素,而不是直接绑定到每个子元素,从而优化事件管理和提高性能。 1 工作原理 事件冒泡:当一个事件在某个元素上发生时,它会从该元素向上冒泡到…...

谷歌浏览器 文件下载提示网络错误

情况描述: 谷歌版本:129.0.6668.90 (正式版本) (64 位) (cohort: Control)其他浏览器,比如火狐没有问题,但是谷歌会下载失败,故推断为谷歌浏览器导致的问题小文件比如1、2M会成功,大…...

【记录】PPT|PPT 箭头相交怎么跨过

众所周知,在PPT中实现“跨线”效果并非直接可行,这一功能仅存在于Visio中。然而,通过一些巧妙的方法,我们可以在PPT中模拟出类似的效果。怎么在PPT中画交叉但不重叠的线-百度经验中介绍了一种方法,而本文将介绍一种改进…...

卷积神经网络原理与Baichuan-M2-32B医疗图像识别实战

卷积神经网络原理与Baichuan-M2-32B医疗图像识别实战 1. 引言 医疗图像识别一直是人工智能领域的重要应用方向。传统的图像识别方法往往需要大量的人工特征工程,而卷积神经网络的出现彻底改变了这一局面。今天,我们将深入探讨卷积神经网络的核心原理&a…...

Qwen2-VL-2B-Instruct在Qt桌面应用中的集成:开发跨平台图像分析工具

Qwen2-VL-2B-Instruct在Qt桌面应用中的集成:开发跨平台图像分析工具 1. 引言 如果你是做桌面应用开发的,特别是用C和Qt的,最近可能也注意到了AI模型带来的新机会。很多开发者都在想,怎么把这些强大的AI能力,比如看图…...

Qwen3-0.6B-FP8实战案例:为嵌入式系统开发提供代码生成与调试建议

Qwen3-0.6B-FP8实战案例:为嵌入式系统开发提供代码生成与调试建议 最近在折腾一个STM32的小项目,想用PWM调个呼吸灯,结果对着手册和寄存器配置了半天,不是时钟没配对就是占空比算错,一编译还报了一堆警告。相信不少搞…...

PyQt5实战:用QTreeView+QStandardItemModel快速构建你的第一个树形文件浏览器(附完整代码)

PyQt5实战:用QTreeViewQStandardItemModel快速构建你的第一个树形文件浏览器 每次看到电脑资源管理器左侧那整齐的目录树,你是否好奇过它是如何实现的?今天我们就用PyQt5的QTreeView和QStandardItemModel组件,从零开始打造一个简…...

Debian GNU/Linux12高效运维指南(网络配置、远程管理、软件更新与安全防护)

1. Debian GNU/Linux12网络配置实战 刚接触Debian GNU/Linux12的朋友们,网络配置可能是你们遇到的第一个挑战。别担心,我会用最直白的方式带你们搞定这个环节。网络配置就像给新房子拉网线,得先把基础线路接好,后续的上网、远程控…...

高效处理海量数据——pandas分块读取与内存管理实战

1. 为什么需要分块读取千万级数据? 第一次处理千万级CSV文件时,我盯着16GB的硬盘文件发愁——128GB内存的服务器居然加载到一半就崩溃了。这种场景在金融交易记录、物联网传感器数据、用户行为日志分析中太常见了。pandas默认的read_csv()会一次性把数据…...

LangFlow小白也能玩转AI:无需代码基础,快速构建智能应用

LangFlow小白也能玩转AI:无需代码基础,快速构建智能应用 1. 什么是LangFlow? LangFlow是一款让普通人也能轻松玩转AI的神奇工具。想象一下,如果你能用拖拽的方式,像搭积木一样构建AI应用,是不是很酷&…...

原神玩家效率革命:BetterGI开源自动化解决方案全解析

原神玩家效率革命:BetterGI开源自动化解决方案全解析 【免费下载链接】better-genshin-impact 🍨BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动派遣 | 一键强化 - UI Automation Testing Tools For …...

Wan2.2-I2V-A14B GPU算力优化:显存碎片整理与缓存复用机制解析

Wan2.2-I2V-A14B GPU算力优化:显存碎片整理与缓存复用机制解析 1. 引言 在视频生成领域,Wan2.2-I2V-A14B模型凭借其出色的生成质量和稳定性,已成为众多企业和开发者的首选。然而,随着视频分辨率和时长的提升,显存资源…...

科哥IndexTTS2 V23应用案例:虚拟主播语音定制,情感控制更强

科哥IndexTTS2 V23应用案例:虚拟主播语音定制,情感控制更强 1. 引言:虚拟主播语音定制的新标杆 在虚拟主播行业蓬勃发展的今天,语音表现力已成为决定用户体验的关键因素。传统语音合成系统往往只能提供机械化的朗读效果&#xf…...