Abstract
目前,开放域问答的文本的检索主要依赖于 TF-IDF和BM25算法,本文提出了一种使用稠密向量进行表示的方法,在进行测试时,本文提出的方法得到了很好的实验结果。
1 Introduction
[p1]目前抽取式的开放域问答主要采用两步的框架,首先是进行检索,之后是对检索的内容进行答案的抽取。目前的研究表明,检索对提高问答的准确度有很大的影响。[P2]目前开放域对话系统常用的检索方式是TF-IDF和BM25算法,但是他们均采用的是关键字匹配的方式,并未包含必要的语义信息,甚至当时用同义词时,也无法进行较好的匹配。
[P3]ORQA这个模型首先采用了密集向量对文本进行表示,并采用了ICT的方式进行了预训练。尽管这种方法比TF-IDF、BM25的结果都要好,但是他也有两点不足:首先,ICT预训练是计算密集型的,在目标函数中,常规句子是否是目标函数中很好的替代问题还不是完全清楚的。其次,因为上下文编码器没有使用成对的问题和答案进行微调,相应的表示可能是次优的。
[P4]本文解决了这样一个问题:我们能否只根据问题对进行训练而无需预训练呢?通过一系列仔细的消融研究,我们的最终解决方案令人惊讶地简单:嵌入被优化,以最大限度地提高问题和相关段落向量的内积,目的是比较一个batch中的所有对问题和段落。
[P5]本文的贡献有两方面。首先,我们证明了通过适当的训练设置,简单地在现有的问题-通道对上微调问题和通道编码器就足以大大优于BM25。我们的实证结果还表明,可能不需要额外的预训练。其次,我们验证了,在开放域问题回答的背景下,更高的检索精度确实转化为更高的端到端QA精度。
2 Background
什么是Open-domain QA?以及对一些术语的定义。
3 Dense Passage Rretriver
本文主要聚焦于实现检索器的方法。
3.1 Overview
DPR模型能够使用一个编码器将任何文本编码到一个维的向量。在运行时DPR使用另外一个编码器对问题进行编码,同样将其编码成一个维的向量,本根据下式计算问题与文章的相似度:
尽管还存在其他很多问题与句子间进行相似度匹配的方式,但是这种方法可以实现文本向量的提前计算。
Encoders
两个encoder采用了独立的模型,并各自取对应的输出,所以.
Inference
在进行推理阶段,使用FAISS这个工具进行相似度计算。
3.2 Training
损失函数如下:
正负样本的选择
我们考虑三种不同类型的否定:(1)Random:从语料库中的任何随机段落;(2)BM25:BM25返回的顶部段落,它不包含答案,但匹配大多数问题标记;(3)Gold:出现在训练集中的其他问题的正确段落。之后会在在第5.2节中讨论不同类型的负样本的影响。我们最好的模型使用来自同一小批的Gold负样本和一个BM25负通道。特别是,重用来自同一批的Gold负样本,可以提高计算效率,同时获得良好的性能。下面讨论这个方法。
In-batch negatives
这个想法很巧妙。简单表示一下就是:
经下文验证,这种方法会提高训练的结果。
实验以及结果部分
略