Paper Review

[Paper Review] HOTPOTQA: A Dataset for Diverse, Explainable Multi-hop Question Answering

dotudy 2025. 6. 13. 09:39

0. Abstract

문제 인식

  • 기존 QA 데이터셋들은 복잡한 추론을 수행하고 답변에 대한 설명을 제공하는 QA 시스템을 학습시키기 부족함.

제안: HOTPOTQA

  • 위키백과 기반의 113,000개 QA 쌍으로 구성되어 있음.
  • 핵심 특징
    • 다중 문서 추론: 여러 문서를 같이 읽고 연결해서 답을 찾아야 함.
    • 다양하고 자유로운 질문: 특정 지식베이스에 묶이지 않아서 질문이 더 자연스럽고 현실적임.
    • 문장 수준 근거 제공: 모델이 왜 그 답을 했는지 설명할 수 있도록 도와주는 문장 단위의 supporting facts 포함
    • 비교형 질문 포함: 비교 질문을 통해 논리적 사고력 테스트 가능

1. Introduction

문제 인식

  • multi-hop reasoning, 두 개 이상의 문서에 걸쳐있는 정보를 연결해서 답을 도출해야하는 추론에서 능력을 테스트하는데 한계가 있음.
  • 단일 문단, 단일 추론 만을 테스트하는 데 주로 초점이 맞춰져 있고 질문과 문장 하나를 매칭시키는 것만으로 답을 찾을 수 있음.
  • 기존 지식베이스 기반으로 생성됨. → 지식베이스 스키마에 제약을 받게 되고 질문과 답변의 다양성 제한.
  • 근거 문장 미제공: 모델은 정답을 알 수 있지만, 답을 도출한 근거를 제공받지 못함.
  • → 모델이 정답을 이끌어낸 추론 과정을 학습하기 어려움. → 설명 가능한 예측 수행하기도 힘듦.

제안: HOTPOTQA

  • 여러 개의 문서를 보여주고, 그 모든 문서를 기반으로 추론이 필요한 질문을 생성함.
  • 질문에 사용한 근거 문장도 작성하게 함.
  • 비교 질문도 포함.

2 Data Collection

목표!

  • 다양하고 설명가능한 질문 응답 데이터셋을 수집하는 것!
  • multi-hop reasoning이 필요한 질문들을 포함하는 것!

방법: 텍스트 기반 QA

  • 주어진 문단들과 질문을 보고, 모델이 문맥 속에서 정답 문구를 뽑는 구조를 만들기로 함.
  • 단순히 문단 몇 개를 주고 질문 생성을 요청하면 비효율적이고 품질 낮은 질문만 생성됨.
  • → design a pipeline to collect text-based multi-hop questions

Building a Wikipedia Hyperlink Graph

데이터 출처: 전체 영어 Wikiqedia 덤프 사용 (2017년 10월 버전의 Wikipedia dump 기준)

방법

  • 위키백과 문서 중 첫 문단에 하이퍼링크가 포함된 문단들을 선별해서 방향 그래프 G 구성
  • 각 간선 (a, b)는 문서 a의 첫 문단에 문서 b로 향하는 하이퍼링크가 존재한다는 뜻.

Generating Candidate Paragraph Pairs

목표: multi-hop 질문을 만들기 위한 좋은 문서 쌍 (a, b)를 찾자!

방법

  • Bridge Entity를 사용하자!(a, b)에서 bridge entity는 b이다.
  • → 답을 얻기 위해 반드시 도달해야하는 지점으로 추론의 다리 역할
  • 문제: 실제로 모든 문서 b가 좋은 bridge entity가 되지 않음. 관련성이 약하거나 너무 기술적이면 의미 있는 질문을 만들기 어려움.
  • 해결: bridge entity 후보 B를 사람이 직접 선별 → G에서 b ∈ B인 간선 (a, b)만 뽑아서 candidate paragraph pairs 생성.

Comparison Questions

목표: bridge entity를 기반으로 한 질문 외에도 또 다른 유형의 multi-hop 질문, comparison questions도 수집하자!

방법

  • 위키백과에서 동일 카테고리의 엔티티 리스트 42개를 사람이 직접 구성
  • ex) NBA 선수 목록, 여성 정치인 목록, 유럽 국가 목록 등
  • 이 후, 각 리스트 L에서 무작위로 2개의 문서를 뽑아 두 문서를 비교하는 질문을 만들게함.
  • why? 리스트 L을 통해 의미 있는 비교 대상만 제공해서 좋은 질문을 수집하기 위해서! 엉뚱한거 비교하지 말아라..

ADDITION

목표: multi-hop 질문의 다양성을 높이기 위해 비교 질문 안에 yes/no 형태의 질문을 포함시키자!

  • 예시
    • 이 질문은 사실 Iron Maiden 문서만 읽고도 답할 수 있기 때문에 multi-hop 추론이 필요 없음.
    "Iron Maiden과 AC/DC는 같은 나라 출신인가요?"
    • 이건 두 문서를 모두 보고 각각의 출신 국가를 확인하고 비교한 뒤에야 답할 수 있으므로 multi-hop 추론이 필요
  • "Iron Maiden과 AC/DC 중 누가 영국 출신인가?"
  • 산술 비교가 필요한 경우도 포함됨.

Collecting Supporting Facts

목표: QA 모델이 정답만 맞히는 것이 아니라 왜 그런 정답을 냈는지도 설명할 수 있게 만들자!

방법

  • crowd worker가 질문에 대한 정답뿐 아니라 그 정답을 도출하는 데 필요한 문장들도 함께 supporting facts로 지정하게끔 함.
  • why? 학습 시: 어떤 문장을 보고 정답을 유도해야하는지 명시. / 평가 시: 모델이 정답은 맞췄지만 틀린 문장을 근거로 들었는지 확인 가능.

3 Processing and Benchmark Settings

  • 데이터 수집
    • 112,779개 예제 수집
    • multi-hop과 single-hop 질문을 분류하기 위해서 한 문단으로 충분히 답이 가능한 질문은 train-easy 데이터셋으로 따로 분류.
    • 최신 QA 모델로 multi-hop 질문에 대해 3-fold cross-validation 수행해서 결과를 기준으로 데이터 분할
    • 모델이 높은 신뢰도로 정확하게 맞춘 질문을 train-medium으로 한 후, hard examples를 4개의 셋으로 나눔.

  • 두 가지 벤치마크 평가 방식
    1. Distractor Setting(복합 문단 평가)
      • 목적: 정답 문단이 섞여 있어도 모델이 진짜 supporting facts를 잘 찾는지 확인
      • 방법:
        • 질문을 쿼리로 사용해 Wikipedia에서 TF-IDF로 유사한 문단 8개를 뽑음.
        • 이미 알고 있는 정답 문단 2개와 함께 섞음.
        • 총 10개 문단을 모델에 줌.
        • 모델은 방해 문단에 속지 않고 정답 문단을 식별해서 답을 찾을 수 있어야함.
    2. Full Wiki Setting (전체 Wikipedia 평가)
      • 목적: 현실적인 상황에서 모델이 정보 검색부터 추론까지 전부 다 할 수 있는지 테스트
      • 방법:
        • Wikipedia 전체 문서의 첫 문단들을 모두 제공
        • 정보 검색 + multi-hop 추론 능력까지 모두 필요함.

4 Dataset Analysis

Question Types

Answer Types

Multi-hop Reasoning Types

  1. Chain Reasoning
  2. Intersection Reasoning
  3. Bridge Entity Reasoning

5 Experiments

5.1 Model Architecture and Training

목적: HOTPOTQA dataset이 얼마나 어려운지 측정하기 위해 최신 QA 모델을 구현해서 성능 실험 진행.

5.2 Results

평가 방법

  1. 1차 후보 문단 5,000개 추출
  2. TF-IDF로 상위 10개 문단 최종 선택
  3. distractor 세팅에서 학습된 모델로 평가