Open-Domain QA -paper
Open-domain QA
Overview
The whole system is consisted with Document Retriever and Document Reader. The Document Retriever returns top five Wikipedia articles given any question, then the Document Reader will process these articles.
Document Retriever
The Retriever compares the TF-IDF weighted bag of word vectors between the articles and questions. And if take the word order into account with n-gram features, the performence will be better. In the paper, useing bigram counts performed best. It used hashing of (Weinberger et al., 2009) to map the bigrams to \(2^{24}\) bins with an unsigned murmur3 hash to preserv speed and memory efficiency.
Document Reader
The Document Reader was consisted of a multi-layer BiLSTM and a RNN layer. The input first was processed by a RNN, and then a multi-layer BiLSTM.
Paragraph encoding was comprisied of the following pars:
- Word embeddings:
- 300d Glove, only fine-tune the 1000 most frequent question words because the representations of some keu words such as what, how, whick, many could be crucial for QA systems.
 
 - Exact match:
- Three simple features, indicating whether \(p_i\) can be exactly matched to one question word in \(q\), either in its original, lowercase or lemma form. It's helpful as the ablation analysis.
 
 - Token features:
- POS, NER TF
 
 - Aligned question embedding:
- the embedding is actually an attention mechanism between question and paragraph. It was computed as following: (\(\alpha(\cdot)\) is a single dense layer with ReLU nonlinearity.)
\[\begin{aligned}
&a_{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^`})))}\\
&f_{align(p_i)} = \sum_j a_{i,j}E(q_j)
\end{aligned}\] 
 - the embedding is actually an attention mechanism between question and paragraph. It was computed as following: (\(\alpha(\cdot)\) is a single dense layer with ReLU nonlinearity.)
 
Question encoding
Only apply a recurrent NN on top of word embedding of \(q_i\) and combine the resulting hidden units into one single vector: \(\{q_1, \cdots, q_l\} \rightarrow q\). The \(q\) was computed as following:
\[
\begin{aligned}
& b_j = \frac{exp(w \cdot q_j)}{\sum_{j^`} exp(w \cdot q_{j^`})}\\
& q = \sum_j b_jq_j
\end{aligned}
\]
where \(b_j\) encodes the importance of each question word. I think the computation is very similar with the question self attention.
Prediction
Take the \(p\) and \(q\) as input to train a classifier to predict the correct span positions.
\[\begin{aligned}
    P_{start}(i) & \propto exp(p_iW_sq)\\
    P_{end}(i) & \propto exp(p_iW_eq)
\end{aligned}
\]
Then select the best span from token \(i\) and token \(i^`\) such that \(i \leq i^` \leq i+15\) and \(P_{start}(i) \times P_{end}(i^`)\) is maximized.
Analysis
The ablation analysis result:

As the result showing, the aligned feature and exact_match feature are complementary and similar role as it does not matter when removing them respectively, but the performance drops dramatically wehn removing both of them.
Open-Domain QA -paper的更多相关文章
- EasyMesh - A Two-Dimensional Quality Mesh Generator
		
EasyMesh - A Two-Dimensional Quality Mesh Generator eryar@163.com Abstract. EasyMesh is developed by ...
 - 深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning)
		
深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning) 2018-08-09 12:21:33 The video tutorial can ...
 - (转) AdversarialNetsPapers
		
本文转自:https://github.com/zhangqianhui/AdversarialNetsPapers AdversarialNetsPapers The classical Pap ...
 - Official Program for CVPR 2015
		
From: http://www.pamitc.org/cvpr15/program.php Official Program for CVPR 2015 Monday, June 8 8:30am ...
 - 生成对抗网络资源 Adversarial Nets Papers
		
来源:https://github.com/zhangqianhui/AdversarialNetsPapers AdversarialNetsPapers The classical Papers ...
 - RAC的QA
		
RAC: Frequently Asked Questions [ID 220970.1] 修改时间 13-JAN-2011 类型 FAQ 状态 PUBLISHED Appli ...
 - How to implement an algorithm from a scientific paper
		
Author: Emmanuel Goossaert 翻译 This article is a short guide to implementing an algorithm from a scie ...
 - paper 54 :图像频率的理解
		
我一直在思考一个问题,图像增强以后,哪些方面的特征最为显著,思来想去,无果而终!翻看了一篇知网的paper,基于保真度(VIF)的增强图像质量评价,文章中指出无参考质量评价,可以从三个方面考虑:平均梯 ...
 - 如何写出优秀的研究论文 Chapter 1. How to Write an A+ Research Paper
		
This Chapter outlines the logical steps to writing a good research paper. To achieve supreme excelle ...
 
随机推荐
- JS 条形码插件--JsBarcode 在小程序中使用
			
在小程序中的使用: utils文件夹下 barcode.js 粘粘以下代码 var CHAR_TILDE = 126 var CODE_FNC1 = 102 var SET_STARTA = 103 ...
 - 在没联网环境下,启动tomcat出错
			
使用SSH框架,在联网情况下,项目可以正常运行,当一旦断网,则启动服务器报错: org.hibernate.HibernateException: Could not parse configurat ...
 - Makefile模板(C++)
			
Makefile的C++的一个模板,可用于根据不同源文件,生成多个可执行文件 . CC = g++ DIR_INC = ./include DIR_SRC = ./src DIR_OBJ = ./ob ...
 - python的copy模块理解
			
首先直接上结论: —–我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在.所以改变原有被复制对象不会对已经复制出来的新对象产生影响. —–而浅复制并不会产生一个独立的对 ...
 - EasyUI整合篇
			
easy ui combobox getValue 获取不到值问题 必须设置属性showblank: true,否则只能从onSelect事件中获取 $("#ddlType").c ...
 - Vue + Element 配置报错
			
{ test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file-loader'}
 - PC端判断浏览器类型及移动端判断移动设备类型
			
浏览器代理检测,可以检测出来用户使用的浏览器类型,也可以检测浏览器所在的操作系统 navigator.userAgent (1).判断浏览器类型 var t = navigator.userAgent ...
 - 【转载】PyTorch系列 (二):pytorch数据读取
			
原文:https://likewind.top/2019/02/01/Pytorch-dataprocess/ Pytorch系列: PyTorch系列(一) - PyTorch使用总览 PyTorc ...
 - reuters-多分类问题
			
from keras.datasets import reuters import numpy as np from keras.utils.np_utils import to_categorica ...
 - mac配置变量失败导致ls命令都失效
			
1.在命令行中输入 export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用.命令执行完之后先不要关闭终端 ...