Multi-hop Question Answering via Reasoning Chains

论文:2019-Multi-hop Question Answering via Reasoning Chains

基于推理链的多跳问题回答

任务

​ 本文提出了一种在文本中提取离散推理链的方法,模型不依赖于gold annotated chains or “supporting facts,使用基于命名实体识别和共指消解的启发式算法得到的pseudogold reasoning chains。

image-20210124163210620

推理链是一系列的句子,逻辑上把问题与一个事实联系起来,这个事实与给出一个合理的答案相关(或部分相关)。

方法(模型)

提出一个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$表示段落$p_i$中第i句话

  • BERT-para

    本文设计的paragraph-factored model,比在整个上下文运行BERT更高的效率和可拓展性。

    使用bert-base-uncased预训练模型。

image-20210124182342557

Chain Prediction

​ 将所有编码的句子表示作为一个句子包,并采用基于LSTM的pointer network来提取推理链。

在第一步中,使用问题q的max-pooled表示初始化pointer network中的隐藏状态$h_0$,并提供一个特殊的令牌SOS作为第一个输入。

$c1, . . . , c{t−1}$:推理链中句子索引。

W:要学习的权重。

Training the Chain Extractor

step t的损失:

$c^∗_1$:目标句子

数据集

  • WikiHop
  • HotpotQA

性能水平&结论

Comparison of Chain Extraction Methods

  • 使用更多的上下文有助于链提取器找到相关的句子。
  • one-best推理连通常包含答案。
  • Q-Overlap有助于找到更多的支持事实。
  • 可以通过跨多个链使用并集来提高性能。(BRRT-Para(top5))

image-20210124194515730

Results compared to other systems

HotpotQA:使用RoBERTa 预模型作为权重。

  • 性能超过了使用标记支持事实的模型,说明本文提出的heuristicallyextracted chains可以有效的替代标记支持事实进行监督。

image-20210129092022793

Evaluation of chains

  • 有序抽取优于无序抽取。

    在HotpotQA-Hard上,更需要多跳推理。

image-20210129092925076

  • 链接提取的性能已接近HotpotQA上的性能极限。
  • Table4中人类评估的得分与模型在oracle上的F1的分相近,表明本文提出的模型不再需要人工注释的支持事实。

image-20210129093850960