Multi-hop Question Answering via Reasoning Chains
论文:2019-Multi-hop Question Answering via Reasoning Chains
基于推理链的多跳问题回答
任务
本文提出了一种在文本中提取离散推理链的方法,模型不依赖于gold annotated chains or “supporting facts,使用基于命名实体识别和共指消解的启发式算法得到的pseudogold reasoning chains。
推理链是一系列的句子,逻辑上把问题与一个事实联系起来,这个事实与给出一个合理的答案相关(或部分相关)。
方法(模型)
提出一个two-stage model
extractor model:提取推理路径。extractor模型对句子序列进行评分,并通过beam search生成n-best链列表。
answer module:将提取的推理链输入到BERT中提取最终的答案。
Learning to Extract Chains
Heuristic oracle chain construction
-
使用命名实体识别提取句子中的实体,如果两个句子中有匹配的实体,则在这两个节点上添加一条边。对段落中的所有句子进行这一操作。
-
从问题的节点开始,搜索所有可能的推理链。
使用两种方式选择heuristic oracles:
Shortest Path:选择最短的推理链。
Question Overlap:计算每条链的Rouge-F1,选择得分最高的推理链,这样可以找到更完整的答案链。
Chain extraction model
输入:文档+问题
处理流程:sentence encoding and chain prediction
Sentence Encoding
- 将输入问题和段落使用BERT编码。句子可以从段落中提取出来。
s j = S p a n E x t r a c t o r ( p i , s j S T A R T , s j E N D ) s_j = Span Extractor(p_i, s^{START}_j , s^{END}_j ) sj=SpanExtractor(pi,sjSTART