查看原文
其他

普林斯顿陈丹琦组:以实体为问题中心,让稠密检索模型DPR光环暗淡

Maple小七 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者 | Maple小七

学校 | 北京邮电大学硕士生

研究方向 | 自然语言处理


最近,以 DPR 为代表的稠密检索模型在开放域问答上取得了巨大的进展,然而,目前的稠密检索模型还无法完全替代 BM25 这类稀疏检索模型。本文作者构建了一个以实体为中心的问答数据集:EntityQuestions,并发现 DPR 模型在该数据集上的表现大幅落后于 BM25。经过分析,作者发现 DPR 只能泛化到那些具有常见实体和特定模板的问题上,并发现简单的数据增强策略无法提升模型的泛化性能,而训练一个更稳健的段落编码器和多个特定的问题编码器可以更好地缓解这个问题。

论文标题:

Simple Entity-Centric Questions Challenge Dense Retrievers


论文链接:

https://arxiv.org/abs/2109.08535


代码链接:

https://github.com/princeton-nlp/EntityQuestions




Introduction

虽然基于稠密向量检索的 DPR(dense passage retriever)模型在许多 QA 数据集上的整体表现大幅度超越了基于稀疏向量检索的 BM25,但是深度学习模型长尾泛化能力的不足一直是个业界难题。人们常常能够观察到模型在某些具有特定规律的 case 上表现不佳,并且这些 bad case 很难修复,常常只能靠一些非深度学习的算法来兜底。

本文正是构建了一个 DPR 表现很差但 BM25 表现很好的数据集:EntityQuestions,作者通过充分的实验表明 DPR 在以实体为中心的问题(entity-centric questions)上的泛化能力非常差。如下图所示,DPR 模型在 EntityQuestions 上的平均表现大幅低于 BM25(49.7% vs 71.2%),在某些问题类型上,DPR 和 BM25 的绝对差距可高达 60%(比如 Who is [E]'s child?)。


EntityQuestions

为了构建以实体为中心的问题数据集 EntityQuestions,作者从 Wikidata(基于Wikipedia 的大型知识图谱)中筛选了多个常见的关系,并通过人工设计的模板将事实三元组(subject, relation, object)转换为自然问题。为了保证转换后的问题能够在 Wikipedia 中找到对应的段落,作者在 T-REx 数据集(Wikipedia 摘要和 Wikidata 三元组的对齐数据集)中采样三元组,并按照以下准则筛选关系类型:

  • 该关系类型在 T-REx 数据集中有足够多的三元组(>2K);
  • 该关系类型容易转化成表述清晰的问题;
  • 该关系类型的候选答案足够丰富(比如对性别提问的问题只有两种答案);
最终,作者筛选出了 24 个常见的关系类型,然后对每个关系类型采样了 1000 个事实三元组构成了 EntityQuestions 的测试集。

作者在 EntityQuestions 上测试了 DPR 和 BM25,结果如下表所示,虽然在多个 QA 数据集上训练 DPR 可以提高表现(DPR-multi),但整体表现依旧大幅落后于 BM25。仔细分析模型在每个关系类型上的表现,我们可以发现 DPR 和 BM25 在包含人物实体的问题上差距尤其明显,原因可能是人名的特殊程度比地名、机构名要高很多。



Dissecting the Problem: Entities vs. Question Patterns

为什么 DPR 在这些以实体为中心的问题上表现不佳呢?作者思考了两个可能的因素:未知的实体(novel entities)以及未知的问题模式(unseen question patterns),并在三类关系类型上细致地研究了模型表现:出生地点(place-of-birth)、总部位置(headquarter)和创始人(creator)。

3.1 Dense retrievers exhibit popularity bias

为了确定实体是如何影响模型性能的,针对特定的关系类型,作者抽取了该关系在 Wikidata 中对应的所有三元组,并按照关系主体(subject)在 Wikipedia 中的出现频数排序,最后按照累计频数将其平均分装为 8 个数据桶。

针对每类关系,作者考虑两种筛选策略来创建测试集:(1)rand ent: 从每个数据桶中随机采样 1000 个三元组;(2)train ent: 筛选出关系主体在 NQ 数据集中出现过的三元组。然后分别在每个数据桶上测试模型性能,结果如下图所示:

我们可以发现 DPR 在常见实体上的表现很好,但在稀有实体上的表现很差,说明模型存在流行度偏差(popularity bias),而 BM25 的表现则对实体的流行度不太敏感。另外我们可以发现,DPR 在 train ent 策略下的表现比 rand ent 策略要好,这表明当测试集中的实体在训练集中出现过的时候,DPR 会表现得更好一些,但依旧会存在严重的流行度偏差。



Observing questions helps generalization
作者还探索了在给定关系类型对应的数据集上微调之后的 DPR 模型是否能够泛化到稀有实体上。针对所考虑的关系类型,作者抽取了至多包含 8000 个三元组的训练集,并保证训练集中的实体和之前构建的测试集没有重叠。除此之外,作者还构建了另一个具有语法不同但语义相同的问题模板的训练集。最后在构建的训练集上微调 DPR 并在之前的测试集上评估,结果如下所示:

很明显,在给定关系类型的训练集上微调有助于 DPR 泛化到带有稀有实体的问题上,在作者考虑的三个关系类型上,DPR 取得了和 BM25 几乎一致的表现,在语义相同的问题上训练对模型性能的影响不大,这表明 DPR 并不依赖于问题的特定描述,模型学习的重点在于对关系类型的表示。

另外,作者还尝试分开微调问题编码器(question encoder)和段落编码器(passage encoder),有趣的是,只微调段落编码器比只微调问题编码器要好很多,这表明糟糕的段落表示可能是模型泛化能力不足的源头

那么段落表示(passage representations)在微调的过程中发生了什么变化呢?作者利用 t-SNE 对段落表示空间进行了可视化,如下图所示,在微调前,关系类型 place-of-birth 对应的段落有聚类的现象,使用最大内积搜索从这个聚类空间中检索问题对应的段落是很困难的,这也就解释了为什么只微调问题编码器带来的提升不够明显,经过微调之后,段落表示的分布变得更加分散,更容易区分。



Towards Robust Dense Retrieval

经过上面的观察,我们可以尝试一些简单的技巧来增强模型在 EntityQuestions 上的泛化能力。

Data augmentation

作者首先探索了在单个关系类型上微调模型是否能够帮助模型泛化到别的关系类型,作者考虑两种训练方法:一种是只在一类关系上微调,一种是联合 NQ 一起微调,实验结果如下表所示:

我们可以发现,在单个关系上微调的模型在 EntityQuestions 测试集上取得了更好的表现,但在 NQ 上的表现会变差,并且依旧大幅落后于 BM25 的表现。当联合 NQ 一起微调时,模型虽然在 NQ 上的表现会好一些,但在 EntityQuestions 上的表现提升却降低了很多。很明显,单纯在一类关系上微调并不能让模型泛化到别的关系上。

Specialized question encoders

既然让单个检索模型泛化到所有未知的问题分布上去是不太现实的,那么我们可不可以设置单个段落编码器,但针对不同的问题类型设置多个不同的问题编码器呢?这样的话,段落编码器的稳健性就显得尤为重要。

在下面的实验中,作者对比了两个段落编码器,一个是在 NQ 数据集上训练的 DPR,另一个是在 PAQ 数据集上训练的 DPR,作者认为在 PAQ 上训练的模型是更稳健的,因为 PAQ 包含 1000 万个段落,比起 NQ 要更为多样。然后,保持段落的向量表示不变,针对每个关系类型,作者分别微调了一个特定的问题编码器,结果如下表所示:

在 PAQ 上微调的编码器(DPR-PAQ)比在 NQ 上微调的编码器(DPR-NQ)要好很多,这说明 DPR-PAQ 生成的段落表示是更稳健的,同时多编码器的设置也起到了很大的作用,大幅缩小了 DPR 与 BM25 的差距。因此这启发我们想要构建一个更通用的检索模型,我们首先需要构建一个足够稳健的段落编码器。



Discussion
针对稠密检索模型的泛化性问题,目前已经有很多论文展开了讨论,Question and answer test-train overlap in open-domain question answering datasets [1] 指出当前的 QA 数据集的训练集和测试集存在很大的重叠,而目前的 QA 模型实际上主要是在记忆训练集中的问题,模型在测试集上的优异表现大部分都是由重叠问题贡献的,模型在没有见过的问题上的表现实际上是很差的。
另外,UKP-TUDA 提出的 BEIR 基准测试也说明,在零样本的设置上,稠密检索模型在大多数数据集上的表现要比 BM25 差,因此稠密检索模型的泛化能力还远不足以让其成为像 BM25 那样的通用检索模型。
有意思的是,FAIR 最新发布的一篇论文 Challenges in Generalization in Open Domain Question Answering [2] 的实验结果似乎与本文的结论完全相反,该论文的实验结果表明实体频率越高,基于稠密检索的问答模型的表现反而更差,但其实,这篇论文的实验设置和本文是完全不一样的,不能直接横向比较,仔细分析可以发现两篇论文的结论并不冲突。
这篇论文从实体泛化的角度再次揭示了稠密检索模型的长尾泛化问题,同时也再次告诉我们,深度学习模型的泛化能力在很大程度上是以记忆为基础的,模型很难正确外推到那些没有见过的实体和没有见过的问题类型上。而 BM25 这种完全依靠字面匹配的算法,就不会受到实体频率的影响,在长尾分布上的表现相当稳健。
这种现象也说明了外部知识和深度模型结合的意义,将知识图谱之类的知识库与稠密检索模型相结合应该能够提升模型在稀有实体上的表现,另外融合实体信息的模型(比如 LUKE)应该也可以帮助模型更好地处理长尾实体。

总之,如何训练一个能泛化到不同分布上的通用稠密检索模型依旧是一个难题,由于 BM25 算法的通用性,目前的稠密检索模型还无法完全替代稀疏检索模型,未来的发展趋势也一定是探索稠密检索和稀疏检索相结合的有效方法。


参考文献

[1] https://aclanthology.org/2021.eacl-main.86/
[2] https://arxiv.org/abs/2109.01156


更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存