
摘要
开放域问答任务可被重新表述为一个短语检索问题,从而在推理阶段无需实时处理文档(Seo 等,2019)。然而,当前的短语检索模型严重依赖稀疏表示,性能仍落后于检索-阅读联合模型。在本工作中,我们首次证明,仅通过学习短语的稠密表示,即可在开放域问答任务中实现显著更强的性能。我们提出了一种有效方法,利用阅读理解任务的监督信号来学习短语表示,并结合新颖的负采样策略。此外,我们还引入了一种查询端微调策略,能够支持迁移学习,并有效缓解训练与推理阶段之间的分布差异。在五个主流的开放域问答数据集上,我们的模型 DensePhrases 相较于以往的短语检索模型,绝对准确率提升了 15%–25%,并达到了当前最优检索-阅读模型的性能水平。由于采用纯稠密表示,DensePhrases 模型具有良好的并行化能力,在 CPU 上每秒可处理超过 10 个问题。最后,我们直接将预索引的稠密短语表示应用于两个槽位填充任务,验证了 DensePhrases 作为下游任务稠密知识库的潜力。
代码仓库
princeton-nlp/SimCSE
pytorch
GitHub 中提及
dmis-lab/gener
pytorch
GitHub 中提及
jhyuklee/DensePhrases
官方
pytorch
GitHub 中提及
princeton-nlp/DensePhrases
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| question-answering-on-natural-questions-long | DensePhrases | EM: 71.9 F1: 79.6 |
| question-answering-on-squad11-dev | DensePhrases | EM: 78.3 F1: 86.3 |
| slot-filling-on-kilt-t-rex | DensePhrases | Accuracy: 53.9 F1: 61.74 KILT-AC: 27.84 KILT-F1: 32.34 R-Prec: 37.62 Recall@5: 40.07 |
| slot-filling-on-kilt-zero-shot-re | DensePhrases | Accuracy: 47.42 F1: 54.75 KILT-AC: 41.34 KILT-F1: 46.79 R-Prec: 57.43 Recall@5: 60.47 |