From Easy to Hard: 两阶段选择器与阅读器在多跳问答中的应用

From Easy to Hard: 两阶段选择器与阅读器在多跳问答中的应用

发表信息:本文发表于 ICASSP 2023(CCF-B 类会议)

1. 什么是多跳阅读理解?

多跳阅读理解(Multi-hop Question Answering)是自然语言处理领域中的一个极具挑战性的任务。与单跳问答不同,多跳问答需要模型在多个文档中进行推理,找到关联信息后才能给出正确答案。

1.1 "跳"的含义

"跳"指的是推理的步骤数量。每一跳都需要从文档中提取相关信息,并将这些信息连接起来形成最终答案。

1.2 多跳问题示例

中文示例:

flowchart TD
    subgraph Hop1
    Q1[Q: Who directed The Wandering Earth]
    D1[Doc A: The Wandering Earth directed by Guo Fan]
    end
    
    subgraph Hop2
    Q2[Q: When was Guo Fan born]
    D2[Doc B: Guo Fan was born in 1980]
    end
    
    subgraph Answer
    Answer[Answer: Guo Fan, 1980]
    end
    
    Q1 --> D1
    D1 --> Q2
    Q2 --> D2
    D2 --> Answer
    
    style Q1 fill:#f9f,color:#333
    style D1 fill:#bbf,color:#333
    style Q2 fill:#ff9,color:#333
    style D2 fill:#bbf,color:#333
    style Answer fill:#bfb,color:#333

问题解析:

跳数 任务 涉及的文档
第一跳 找出《流浪地球》的导演 文档A
第二跳 查找该导演的出生年份 文档B
最终 整合两跳信息给出完整答案 合并结果

多跳体现在哪里?

  1. 无法直接回答:看第一个文档只能知道导演是谁,但问题问的是出生年份
  2. 需要链式推理:第一跳的结果(导演名)是第二跳的输入
  3. 两步信息整合:必须把两个文档的信息合在一起才能完整回答问题

2. 论文摘要

Title: From Easy to Hard: Two-stage Selector and Reader for Multi-hop Question Answering

作者: Weijun Lei et al. (南京大学)

Abstract:

多跳问答是一个具有挑战性的任务,需要QA系统在多个文档上进行复杂推理并提供支持性事实和准确答案。现有方法倾向于使用基于图的推理和问题分解来获取推理链,但这不可避免地引入了额外的复杂性和累积误差。

为了解决上述问题,我们提出了一个简单而有效的新框架——From Easy to Hard (FE2H),该框架通过移除干扰信息来获得更好的多跳QA任务上下文表示。

FE2H的核心理念:

  • 借鉴人类迭代文档选择过程和渐进式学习习惯
  • 将文档选择器和阅读器分为两个阶段,遵循从易到难的方式

具体来说:

  1. 文档筛选阶段:首先选择与问题最相关的文档,然后利用该文档进一步选择其他相关文档
  2. 问答阶段:阅读器首先在单跳QA数据集上训练,然后迁移到多跳QA任务

我们在流行的多跳QA基准测试HotpotQA上进行了全面评估,实验结果表明,我们的方法在HotpotQA排行榜(distractor设置)上优于所有其他方法。

论文链接: arXiv:2205.11729

代码链接: GitHub: hotpotqa_mrc

HotpotQA排行榜: https://hotpotqa.github.io/


3. 核心创新点

3.1 创新点一:两阶段文档筛选器

3.1.1 传统方法的痛点

在多跳问答任务中,每个问题通常配有10个干扰文档(distractors)。传统方法通常:

  1. 直接全局推理:将所有文档一起输入模型
  2. 一次性选择:一次性选出所有相关文档

这会导致:

  • 无关信息带来的噪声干扰
  • 推理复杂度呈指数级增长
  • 错误在多跳推理过程中累积

3.1.2 FE2H 的解决方案:渐进式筛选

flowchart TD
    subgraph Traditional
    T1[Q + 10 docs] --> T2[Select all at once]
    T2 --> T3[Multi-hop reasoning]
    end
    
    subgraph FE2H
    F1[Q + 10 docs] --> F2[Stage 1: Select relevant doc]
    F2 --> F3[Combine Q + doc1]
    F3 --> F4[Stage 2: Select 2nd hop]
    F4 --> F5[Reason on filtered docs]
    end
    
    style F2 fill:#bfb,color:#333
    style F4 fill:#bfb,color:#333

核心思想:借鉴人类的迭代阅读习惯,先找到"入口文档",再基于它找到后续相关文档。

3.1.3 为什么这样更有效?

特性 传统方法 FE2H两阶段
信息利用 全局搜索 聚焦式检索
噪声引入 高(10个文档全量) 低(逐阶段筛选)
推理难度 O(n²) O(n)
错误累积 多跳同时推理 分步验证

3.2 创新点二:从易到难的渐进式学习

3.2.1 核心灵感

人类在学习复杂任务时,天然地采用"从易到难"的方式:

flowchart LR
    subgraph Human Learning
    H1[Learn to speak] --> H2[Learn to read] --> H3[Learn comprehension] --> H4[Learn to write]
    end
    
    subgraph FE2H Training
    E1[Single-hop QA] --> E2[Simple reasoning] --> E3[Multi-hop QA]
    end
    
    style E1 fill:#bbf,color:#333
    style E3 fill:#f9f,color:#333

3.2.2 渐进式训练策略

flowchart TD
    subgraph Stage 1: Single-hop Pre-training
    P1[Train on SQuAD]
    P1 --> P2[Learn basic reading comprehension]
    P2 --> P3[Understand question intent]
    P3 --> P4[Locate answer boundaries]
    end
    
    subgraph Stage 2: Multi-hop Transfer
    P4 --> M1[Transfer to HotpotQA]
    M1 --> M2[Two-stage document selection]
    M2 --> M3[Multi-hop reasoning]
    end
    
    style P1 fill:#bbf,color:#333
    style M1 fill:#f9f,color:#333

3.2.3 为什么单跳数据很重要?

  1. 数据规模大:单跳问答数据集(如SQuAD)规模远大于多跳数据集
  2. 噪声少:单跳文档通常直接包含答案,干扰较少
  3. 学习基础能力
    • 问题理解
    • 实体识别
    • 答案定位
    • 上下文推理

3.3 创新点三:简洁有效的框架设计

3.3.1 拒绝复杂,拥抱简单

特性 主流方法 FE2H
图结构 需要构建实体关系图 无需图结构
问题分解 需要显式分解问题 无需分解
预训练模型 复杂的多任务学习 简单的两阶段训练
推理复杂度 O(n²) 甚至更高 O(n)

3.3.2 框架对比

flowchart TD
    subgraph Traditional (Graph-based)
    G1[Build knowledge graph] --> G2[Entity linking]
    G2 --> G3[GNN reasoning]
    G3 --> G4[Multi-hop aggregation]
    end
    
    subgraph FE2H (Selection + Reader)
    F1[Document selection] --> F2[Single-hop pretrain]
    F2 --> F3[Multi-hop fine-tune]
    F3 --> F4[Answer generation]
    end
    
    style G1 fill:#fbb,color:#333
    style F1 fill:#bfb,color:#333

3.3.3 消融实验结果

论文中的消融实验证明了各组件的有效性:

模型变体 Joint F1 提升
基础模型 74.2 -
+ 第一阶段筛选 75.8 +1.6
+ 第二阶段筛选 76.1 +0.3
+ 渐进式学习 76.5 +0.4

4. FE2H框架详解

4.1 整体架构

flowchart TD
    Q[Question] --> DS1[Stage 1 Doc Selector]
    
    subgraph Document Selection Stage
    DS1 -->|Select relevant doc| D1[Relevant Doc 1]
    DS1 -->|Combine Q + Doc1| DS2[Stage 2 Doc Selector]
    DS2 -->|Select 2nd hop doc| D2[Relevant Doc 2]
    end
    
    subgraph QA Stage
    D1 --> Reader[Two-stage Reader]
    D2 --> Reader
    Reader -->|Single-hop mode| Output1[Answer + Support]
    Reader -->|Multi-hop mode| Output2[Final Answer]
    end
    
    style DS1 fill:#f9f,color:#333
    style DS2 fill:#f9f,color:#333
    style Reader fill:#ff9,color:#333

4.2 两阶段文档选择器

第一阶段

  • 输入:问题 + 所有候选文档
  • 输出:选择最相关的文档(top-k)

第二阶段

  • 输入:问题 + 第一阶段选中的文档
  • 输出:进一步筛选出与推理链相关的其他文档

4.3 两阶段阅读器

第一阶段(单跳模式)

  • 在单跳问答数据集(如SQuAD)上进行预训练
  • 学习基础的问答能力

第二阶段(多跳模式)

  • 迁移到多跳问答任务
  • 利用第一阶段学到的知识进行更复杂的推理

5. 与大模型Chain-of-Thought的联系与区别

5.1 Chain-of-Thought (CoT) 简介

Chain-of-Thought(思维链)是近年来大语言模型(如GPT-4、PaLM)的重要推理范式。其核心思想是:

flowchart LR
    Q1[Question] --> CoT1[Step-by-step reasoning
Step 1: ...
Step 2: ...
Step 3: ...] CoT1 --> A1[Final Answer] style Q1 fill:#f9f,color:#333 style CoT1 fill:#ff9,color:#333 style A1 fill:#bfb,color:#333

CoT的优势:

  • 显式展示推理过程
  • 提高模型的可解释性
  • 在数学、逻辑推理任务上效果显著

5.2 FE2H vs Chain-of-Thought

特性 FE2H Chain-of-Thought
推理方式 显式的文档筛选+阅读 隐式的思维链
信息利用 筛选相关文档,减少干扰 使用全部上下文
可解释性 高(清晰的文档选择过程) 中(推理步骤可见)
计算成本 较低(筛选减少输入) 较高(完整上下文)
适用场景 结构化文档检索 开放域推理

5.3 两者的联系

  1. 渐进式推理:两者都采用"逐步推理"的思想

    • FE2H:从简单文档到复杂文档,从单跳到多跳
    • CoT:从简单推理步骤到复杂推理步骤
  2. 中间结果:都依赖中间结果来增强最终答案

    • FE2H:筛选出的相关文档
    • CoT:推理过程中的中间结论
  3. 减少幻觉:通过结构化信息减少模型编造答案的风险

5.4 未来结合方向

flowchart TD
    Q[Question] --> Selector[Doc Selector]
    
    Selector -->|Filter relevant docs| Context[Filtered Context]
    Context --> CoT[Chain-of-Thought]
    CoT -->|Verify intermediate steps| Selector
    
    CoT --> Answer[Final Answer]
    
    style Q fill:#f9f,color:#333
    style Selector fill:#bbf,color:#333
    style CoT fill:#ff9,color:#333
    style Answer fill:#bfb,color:#333

可能的结合方向

  • 用CoT来解释为什么选择某些文档
  • 用文档筛选结果来约束CoT的推理空间
  • 迭代式:筛选 → 推理 → 验证 → 再筛选

6. 实验结果

在HotpotQA数据集(distractor设置)上的表现:

模型 Answer EM Answer F1 Support EM Support F1 Joint EM Joint F1
FE2H (ALBERT) 71.89 84.44 64.98 89.14 50.04 76.54
R3 71.27 83.57 65.25 88.98 49.81 76.02
SAE+ 70.74 83.61 63.70 88.95 48.15 75.72

FE2H在排行榜上取得了Joint F1 76.54的成绩,位列第一。


7. 总结

FE2H的核心贡献:

  1. 两阶段文档筛选:通过渐进式筛选有效减少干扰信息,提高信息利用率
  2. 从易到难的学习范式:先在简单任务上学习,再迁移到复杂任务
  3. 简洁有效:不依赖复杂的图结构或问题分解,方法简单但效果显著

这种方法为多跳问答提供了一种新的思路,同时也为大型语言模型的推理能力增强提供了参考。


参考资料

  1. From Easy to Hard: Two-stage Selector and Reader for Multi-hop Question Answering
  2. HotpotQA数据集
  3. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
  4. GitHub: hotpotqa_mrc

文章作者: 小风雷
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小风雷 !
评论
  目录