Multi-hop Reading Comprehension through Question Decomposition and Rescoring

Multi-hop Reading Comprehension through Question Decomposition and Rescoring (ACL 2019)阅读笔记

动机:

解决multi-hop QA 任务;

最近的分解multi-hop QA 工作是基于潜在的关系逻辑形式,这种方法无法泛化到多种多样的multi-hop问题;

贡献:

本文的主要是解决思路是:将multi-hop 问题分解为更为简单的single-hop 问题;

作者将问题分解过程简化为span prediction, 并且只需要400个监督样本去训练一个具有竞争力的分解神经模块;

作者提出一个重打分方法,该方法可以得到不同解决模块的答案,并根据答案对每个分解模块进行打分,以此来决定最终的答案。(而不是在一开始的时候就决定分解模块的顺序)【这样合理?分解模块之间应该是流水线的关系,即,一个分解模块的答案,应该为另一个分解模块输入问题的一部分】

 

模型:

总体架构:

基于span prediction 将multi-hop 问题分解为多个single-hop 问题 (会产生多个推理类型) ----> 对于每种推理类型, DECOMPRC模块利用single-QA 模型回答每个子问题,并根据推理类型回答每个子问题 ---> 利用一个打分器判断哪种分解器是最合适的,并确定multi-hop 问题的最终答案

1.Decomposition

核心思想:对multi-question 进行span  prediction 进而创造subquestion

The key idea is that, in practice, each sub-question can be formed by copying and lightly editing a key span from the original question


具体操作: 训练一个\text{pointer}_c模型,目的是学习将一个问题映射成c个点,这些点随后被用于组成子问题;

  • 利用BERT 对输入序列S(一个问题序列)进行编码

  • 计算pointer 评分矩阵:

其中Y_{ij}表示输入序列中第i个词为pointer 生成的第j个索引的概率 (j最大为c).

\text{pointer}_c的最终目标为抽取c个索引(span):

2.Single-hop Reading Comprehension

  • 计算四个得分,表示该子问题第i个段落中答案是文本端,yes, no,和没有答案的概率:

其中U_i=\text{BERT}([S_i;\text{subquestion]}),S_i为第i个paragraph 的序列。

并计算答案块的开始位置和结束位置:

3.Decomposition Scorer

  • 为第t个推理类型打分(一个multi-hop 问题可以分解为多种推理类型的组合):

其中U_t=\text{BERT}(A)A为问题,推理类型t,答案t, 和证据t 的拼接。

最终的推理类型t为,该推理类型对应的答案即为最终的multi-hop question的答案。

 

4. 可替换Decomposition Scorer 的pipeline 方法:在模型一开始就确定推理类型,具体如下:

其中\hat{S}=\text{BERT}(multi-hop-question)p_t是一个四维向量,每一个维度表示the reasoning type is bridging, intersection, comparison or original. (original 是啥?)

IDEA:

1. 本文中所提出的三种推理类型:bridging, intersection 和 comparison 并不足以覆盖所有的类型;

2. 每种推理类型,模型都为其计算一个答案,并且多次反复用到bert模型, 可想而知,该模型本身简单,但是存在许多冗余操作导致其运行时间很长

 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值