引言
今天带来论文DAPR: A Benchmark on Document-Aware Passage Retrieval的笔记。
本文提出了一个基准:文档感知段落检索(Document-Aware Passage Retrieval,DAPR)以及介绍了一些上下文段落表示的方法。
为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。
1. 总体介绍
图 1:DAPR 的示例实例。为了找到与查询 相关的段落,检索器需要利用文档上下文, 在本例中这意味着名词"地点"的共指解析。
我们提出了文档感知段落检索(DAPR)任务,其中检索需要考虑关联的文档上下文以返回相关段落。一个 例子如图1所示。在这种情况下,用户询问在特定场地演奏过的音乐家。然而, 相关段落没有提及场地名称,而仅提及名词引用,检索器需要理解这些用于查找正确段落的文档上下文。
我们对SOTA检索器进行错误分析,发现主要错误是由于缺少文档上下文,其中正确的段落缺少共指解析、底层主题的信息。
在实验中,我们通过两种方法向SOTA检索器引入文档上下文来测试扩展SOTA检索器的方法:
- 使用BM25混合检索;
- 带有上下文的段落表示,它基于文档上下文来增强段落表示;
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 q∈Q,检索系统 s : Q × C × D → R s: Q \times C \times D \rightarrow \R s:Q×C×D→R需要返回前 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)=Mq−mqs(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) 共指解析,通过跨段共指解析消解来处理文本块中的代词。