ACL 2020 | 基于稠密段落检索的开放域问答系统技术

©PaperWeekly 原创 · 作者|蔡杰

学校|北京大学硕士生

研究方向|QA

论文标题: Dense Passage Retrieval for Open-Domain Question Answering

论文来源: ACL 2020

论文链接: https://arxiv.org/abs/2004.04906

引言

Open-domain 的 Question Answering (QA) 一般需要先从大量的文档库中检索出一些和问题相关的文档(retrive),相关的方法有 TF-IDF 和 BM25。这篇文章发现学习 dense 的文档向量去替换 retrive 阶段的传统方法是可行的,并且本文提出的检索系统在 top-20 文章检索准确率上比 Lucene-BM25 系统高出 9%-19%。

介绍

近年来随着深度学习的兴起,目前大部分做 Open-domain 的 QA 使一般沿用两阶段框架:1)retriever 首先选择一小部分段落,其中一些包含问题的答案;2)reader 可以看到 retriever 检索到的上下文并从中识别正确的答案。

目前主流的 retriever 使用传统的信息检索(IR)方法,包括 TF-IDF unigram/bigram matching 或词权重支持 BM25 词权重的工具,如 Lucene 和 Elastic-search。

TF-IDF 和 BM25 将 query 和 context 用高维的 sparse 向量来表示,这些sparse向量可以通过倒排索引进行有效搜索,并且对于那些通常需要根据关键字显著缩小搜索空间的问题回答有效。

但是 TF-IDF 和 BM25 也有一些缺点就是无法很好的建模词与词之间的语义关系(两个同义词可能长的完全不一样),所以一些 encoding 文本为 dense 向量的方法给 TF-IDF 和 BM25 这一类方法做了补充。

本文通过学习 dense representations 代替传统的 IR 方法进行检索改进 Open-domain 的 Question Answering。

Dense Passage Retriever (DPR)

在检索之前先用一个 dense encoder 给文档库中的所有文档都进行 encoding。在检索的时候用另一个 dense encoder 给 question 进行 encoding,之后根据下图公式算两个 representation 的 similarity,取 top-k 作为结果。

公式(1)比较简单,但是作者说该方式是最有效的。作者用的 encoder 是 bert-base-uncased,然后拿 [CLS] 的 vector 作为 representation。由于文档库可能会很大,所以作者用了 FAISS(一个非常高效的开源库,用于 dense 向量的相似性搜索和聚类,可以很容易地应用于数十亿个向量)来索引 encode 之后的向量。

当然,为了让公式(1)的效果更好,对encoder的训练是不可避免的。每一个 example 由一个 question 和一堆 paragraph 组成,paragraph 中有一个是和 question 相关的,n 个和 question 无关的,loss 也就是对数似然:

一般情况下,正负例的比例会差很多,作者在选负例的时候也采用了一些 trick:

  • (1) Random: any random passage from the corpus;

  • (2) BM25: top passages returned by BM25 which don’t contain the answer but match question tokens heavily;

  • (3) Gold: positive passages paired with other questions which appear in the training set. (效果最好)

question 和 passage 在 encoding 之后,作者还采用了一种节省计算量的方法,称之为 In-batch negatives,原文描述如下:

Experiments: Passage Retrieval

Table 2 使用 top-k 精度(k 为 20 或 100)比较了五个 QA 数据集上不同的文章检索系统。除了 SQuAD,DPR 在所有数据集上都比 BM25 表现得更好。当k值较小时,差距尤其大(例如,NQ 的 top-20 78.4% vs 59.1%)。

当使用多个数据集进行训练时,TREC(五种数据集中最小的数据集)可以从更多的训练示例中获益。相比之下,NQ 和 WebQuestions 得到了适度的改进,而 TriviaQA 则略有下降。在某些情况下,可以通过在单数据集和多数据集设置中结合 DPR 和 BM25 进一步改进结果。

作者还探讨了需要多少训练实例才能获得一个良好的文章检索性能。

作者也尝试了不同的 DPR 训练方案。表 4 中总结了 NQ dev 集的结果。

最后,作者根据不同的DPR,对后续的 QA 的效果也做了对比:

结论

首先,本文演示了在适当的训练设置下,只需对现有 question and passage encoder 进行 fine-tuning 就足以在 top-k 检索精度方面大大超过强大的 Lucene-BM25 系统。

dense 表示法是 sparse 向量表示法的补充,将它们结合起来可以进一步提高性能。其次,我们验证了,在开放域 QA 的上下文中,较高的检索准确度确实可以转化为较高的 end-to-end QA 准确度。

更多阅读

# 投 稿 通 道 #

让你的论文被更多人看到 

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

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

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是 最新论文解读 ,也可以是 学习心得技术干货 。我们的目的只有一个,让知识真正流动起来。

:memo:  来稿标准:

• 稿件确系个人 原创作品 ,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

:mailbox_with_mail:  投稿邮箱:

• 投稿邮箱: hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

:mag:

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

进入知乎首页搜索 「PaperWeekly」

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

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击 「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章