DrQA论文笔记

Reading Wikipedia to Answer Open-Domain Questions

本文是一篇很经典的关于开放领域问答的文章,与之前的几篇文章不同,开放式领域的问答系统是基于一种Retriever-Reader的架构,Retriever通过大规模机器阅读理解提取相关度高的文章,再用Reader进行特征提取。

Overview

本文的开放式QA系统有两个部分组成:

  1. Document Retriever:作者使用Wikipedia作为资料库,针对不同的问题进行相关文章段落的提取,提取出文章后再构建数据集输入到Reader中进行训练
  2. Document Reader:这一模块就是DrQA的模型部分,使用神经网络进行机器阅读理解

下图是一个开放领域问答的基本流程图

在这里插入图片描述

DrQA

本文提出的open-domin QA system叫做DrQA,分为两个独立的子系统:Retriever和Reader

Document Retriever

Document Retriever模块是针对每个问题从Wikipedia提取出相关文章,作者采用了TF-IDF相似度匹配,加上bigram的hash,用top 5作为该问题的候选文章。实验数据表明本文的这个retriever比Wikipedia的搜索引擎效果好了不少,尤其是加入了bigram hashing以后。

在这里插入图片描述

Document Reader

Reader又分为以下几个子模块:

Paragraph Encoding

作者使用的是多层的LSTM进行文本特征提取,得到LSTM embed过后的文本表示
{ p 1 , p 2 , … , p n }   =   L S T M ( { p 1 ^ , p 2 ^ , … , p n ^ } ) \{p_1,p_2,\dots,p_n\}\ =\ LSTM(\{\hat{p_1},\hat{p_2},\dots,\hat{pn}\}) {p1,p2,,pn} = LSTM({p1^,p2^,,pn^})
值得注意的是,作者在LSTM的输入上下了不少功夫,每个单词的初始embedding E ( p i ) E(p_i) E(pi)由以下几个部分构成:

  • word embedding: f e m b ( p i ) f_{emb}(p_i) femb(pi),这里采用的是Glove 300d
  • exact match: f e x c a t _ m a t c h ( p i ) f_{excat\_match}(p_i) fexcat_match(pi),用三个binary feature来表示该单词是否与问题中的某个单词匹配
  • token feature: f t o k e n ( p i ) f_{token}(p_i) ftoken(pi),这个特征包含三个子特征 ( P O S ( p i ) , N E R ( p i ) , T F ( p i ) ) (POS(p_i),NER(p_i),TF(p_i)) (POS(pi),NER(pi),TF(pi))
  • question aligned feature:这一部分其实就是P2Q的attention, f a l i g n ( p i )   =   ∑ j α i , j E ( q j ) f_{align}(p_i)\ =\ \sum_{j} \alpha_{i,j}E(q_j) falign(pi) = jαi,jE(qj),而attention weight的计算方式为: α i , j   =   e x p { α ( E ( p i ) ) ⋅ α ( E ( q j ) ) } ∑ j ′ e x p { α ( E ( p i ) ) ⋅ α ( E ( q j ′ ) ) } \alpha_{i,j}\ =\ \frac{exp\{\alpha(E(p_i)) \cdot \alpha(E(q_j))\}}{\sum_{j'}exp\{\alpha(E(p_i)) \cdot \alpha(E(q_j'))\}} αi,j = jexp{α(E(pi))α(E(qj))}exp{α(E(pi))α(E(qj))}
Question Encoding

question encoding依然是采用LSTM,得到输出 { q 1 , q 2 , ⋯   , q m } \{q_1,q_2,\cdots,q_m\} {q1,q2,,qm}后,再通过一个self-attention映射到一个vector q q q
β j   =   e x p ( w ⋅ q j ) ∑ j ′ e x p ( w ⋅ q j ′ ) q   =   ∑ j = 1 m β j q j \beta_{j}\ =\ \frac{exp(w \cdot q_j)}{\sum_{j'}exp(w \cdot q_{j'})}\\ q\ =\ \sum_{j=1}^{m}\beta_{j}q_j βj = jexp(wqj)exp(wqj)q = j=1mβjqj

Prediction

p s t a r t ( i )   =   e x p ( p i W s q ) ∑ i ′ e x p ( p i ′ W s q ) p e n d ( i )   =   e x p ( p i W e q ) ∑ i ′ e x p ( p i ′ W e q ) p_{start}(i) \ =\ \frac{exp(p_iW_sq)}{\sum_{i'}exp(p_{i'}W_sq)}\\ p_{end}(i) \ =\ \frac{exp(p_iW_eq)}{\sum_{i'}exp(p_{i'}W_eq)} pstart(i) = iexp(piWsq)exp(piWsq)pend(i) = iexp(piWeq)exp(piWeq)

Experiment

在这里插入图片描述

DrQA再SQuAD上表现是很优异的,超越了当时的其他模型

消融实验

在这里插入图片描述

最后作者使用另外的四个问答数据集来评估整个DrQA开放问答系统

在这里插入图片描述

从这个数据可以看出开放领域的问答系统效果的确是都不尽如人意

Further Work

作者提出未来的工作有两点:

  1. 让Reader把Retriever选取出的段落进行聚合再进行训练,而不是一篇一篇的训练
  2. 设计出一个end-to-end的开放领域问答系统,DrQA中的Retriever和Reader仍然是两个独立的系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值