Dense Passage Retrieval for Open-Domain Question Answering
模型结构
E P ( ⋅ ) E_P(·) EP(⋅)将文本映射为 d d d维向量,并用它为文档集构建索引。
E Q ( ⋅ ) E_Q(·) EQ(⋅)将问题映射为 d d d维向量,并用它检索 k k k个对应的文章。
定义相似性 s i m ( q , p ) = E Q ( q ) T E P ( p ) sim(q,p)=E_Q(q)^TE_P(p) sim(q,p)=EQ(q)TEP(p)
如何选择相似性?
实际上有很多种相似度量函数,但我们为了能够预先计算文档的表示,相似函数必须是可分解的。(可分解函数 f ( x , y ) f(x,y) f(x,y)可以表示为一些列函数的和: f ( x , y ) = ∑ i I u i ( x ) ∗ v i ( y ) f(x,y)=\sum^I_i{u_i(x)*v_i(y)} f(x,y)=∑iIui(x)∗vi(y))。
内积现在有很好的工具支持(FAISS)。
再经过实验搜索,发现内积几乎是最优解。因此确定了内积函数。
编码器 \quad 使用后两个独立的BERT模型分别表示问题编码器和文档编码器。
推理 \quad 在推理阶段用 E P E_P EP将文章编码并用FAISS建立索引。
3.2 训练
将编码器训练为一个度量函数是度量学习的范畴(参考Metric learning: A survey.),它让相关的问题-文档对具有相近的表示。记文档为,其中q为问题,p为段落;带+表示正例,-表示负例。损失函数为
。
正负例 \quad 通常正例很容易选取,负例的选取是容易被人忽视的。好的负例对训练索引器至关重要。论文采用以下方法选择负例。
- 随机
- BM25
由BM25计算而来,不包含答案但能很好匹配问题的文章。 - Gold
训练集中其他问题对应的文章。
实验给出的最优结果是使用batch内的gold负例和一个BM25负例。
batch内负例的计算 \quad 让 Q Q Q和 P P P表示一个batch中的问题嵌入和文章嵌入。 S = Q P T S=QP^T S=QPT表示相似矩阵,每一行都是一个问题与文章集的相似性向量。这样,在矩阵元素 S ( i , j ) S_{(i,j)} S(i,j)中,当 i = j i=j i=j时为正例,否则为负例。这样可以方便处理。
实验参数
大数据上40轮,小数据集上100轮。 1 0 − 5 10^{-5} 10−5的学习率,Adam,预热线性调度,与0.1的dropout率。
transformers
- DPRContextEncoder
文档编码器。 - DRPQuestionEncoder
问题编码器。 - DPRReader
在DPR的基础上推出了一个端到端的检索、问答模型。输入问题、标题、文档,输出答案的首尾指针。
Dense Passage Retrieval for Open-Domain Question Answering相关推荐
- PullNet: Open Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text 论文笔记
PullNet: Open Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text 2019年,E ...
- 【论文阅读】Dense Passage Retrieval for Open-Domain Question Answering
Comment: EMNLP 2020 一句话总结 任务:开放域问答中的retriever,从海量文本中选出与问题接近的文本. 方法:采用正负样本对对比学习的方法,使得相关问题与文本对拉近,不相关的拉 ...
- 论文阅读Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering
利用段落检索和生成模型进行开放域问答 ACL 2021 论文地址 摘要: 开放域问答的生成模型已被证明具有竞争力,无需借助外部知识.虽然这种方法很有前途,但它需要使用具有数十亿个参数的模型,这些参数的 ...
- 论文阅读Unsupervised Corpus Aware Language Model Pre-training for Dense Passage Retrieval
密集文本检索的无监督语料库感知语言模型预训练 ACL2022 论文链接 摘要 最近的研究证明了使用微调语言模型(LM)进行密集检索的有效性.然而,密集检索器很难训练,通常需要经过精心设计的微调管道才能 ...
- Retrieval Question Answering paper
目录 层级Transformer多文档摘要 Hierarchical Transformers for Multi-Document Summarization 检索辅助生成 REALM: Retri ...
- Retrieval Augmented Visual Question Answering with Outside Knowledge
Paper name Retrieval Augmented Visual Question Answering with Outside Knowledge Paper Reading Note U ...
- 【CS224n】(lecture11)Question Answering
学习总结 (1)陈丹琦讲到自己17年在DrQA问答系统,也算是领航人,将Open-domain (textual) question answering分为两部分:Retriever和Reader部分 ...
- 2019 年,智能问答(Question Answering)的主要研究方向有哪些?
前言 自从小夕前不久推送了这篇<文本匹配打卡点总结>,收到了不少小伙伴对于问答方向的问题,其中问的最多的就是,求!更!多!论!文!好了,于是小夕就在万能的知乎上找到了这篇良心回答,分享给有 ...
- 智能问答(Question Answering)的主要研究方向
非事实类问题 大多数研究关注于事实类问题,而非事实类问题的研究相对不足,包括数学类的问题.判断类的问题等. [EMNLP 2019] NumNet: Machine Reading Comprehen ...
最新文章
- 我如何查看要使用git推送的内容?
- 不能创建Outlook邮件的解决办法
- nefu 628 Garden visiting
- 根据二叉树写遍历序列
- SpringMVC-设置编码过滤器
- api如何使用_记录API:技术作家和工程师指南
- Icon+启动图尺寸
- python----动态规划
- java复习系列[4] - Java IO
- 运维成长日记:我是如何走上IT运维这条不归路的
- linux ruby作用域,Ruby 的作用域和作用域门
- RHEL 6和RHEL 7管理服务的区别
- Air202学习(3)AT指令开发示例
- VirtualBox虚拟机提示内存0x00000000不能为written问题
- Xcelsius2008系统
- 使用f031的SPI单引脚(MOSI)+DMA实现WS2812B三色灯的级联控制
- java时间加30天_java实现,怎么在当前时间往后推三十天
- 【笔记】编译Android版的Chrome手册
- delphi百度人脸搜索(支持人脸搜索、人脸库新增修改删除查询)
- 柱状图怎么设置xy轴_echarts图表x,y轴的设置