쉬엄쉬엄블로그

(MRC) Linking MRC and Retrieval 본문

부스트캠프 AI Tech 4기

(MRC) Linking MRC and Retrieval

쉬엄쉬엄블로그 2023. 9. 14. 11:17
728x90

이 색깔은 주석이라 무시하셔도 됩니다.

Linking MRC and Retrieval

Introduction to ODQA

  • Linking MRC and Retrieval : Open-domain Question Answering (ODQA)

    • MRC : 지문이 주어진 상황에서 질의응답

    • ODQA : 지문이 따로 주어지지 않음. 방대한 World Knowledge에 기반해서 질의응답

      • Ex) Modern search engines : 연관 문서 뿐만 아니라 질문의 답을 같이 제공

  • History of ODQA

    • Text retrieval conference(TREC) - QA Tracks (1999-2007) : 연관문서만 반환하는 information retrieval(IR)에서 더 나아가서, short answer with support 형태가 목표

      • 1) Question processing + 2) Passage retrieval + 3) Answer processing

      1. Question processing
        - Query formulation : 질문으로부터 키워드를 선택 / Answer type selection
        (ex. LOCATION : country)

      2. Passage retrieval
        - 기존의 IR 방법을 활용해서 연관된 document를 뽑고, passage 단위로 자른 후 선별(Named entity / Passage 내 question 단어의 개수 등과 같은 hand-crafted features 활용)

      3. Answer processing
        - Hand-crafted features와 heuristic을 활용한 classifier
        주어진 question과 선별된 passage들 내에서 답을 선택

    • IBM Watson (2011)

      • The DeepQA Project

      • Jeopardy! (TV quiz show) 우승

  • Recent ODQA Research

Retriever-Reader Approach

  • Retriever-Reader 접근 방식

    • Retriever : 데이터베이스에서 관련있는 문서를 검색(search) 함

    • Reader : 검색된 문서에서 질문에 해당하는 답을 찾아냄

    • Retriever

      • 입력
        • 문서셋(Document corpus)
        • 질문(query)
      • 출력
        • 관련성 높은 문서(document)
    • Reader

      • 입력
        • Retrieved된 문서(document)
        • 질문(query)
      • 출력
        • 답변(answer)
  • 학습 단계

    • Retriever
      • TF-IDF, BM25 → 학습 없음
      • Dense → 학습 있음
    • Reader
      • SQuAD와 같은 MRC 데이터셋으로 학습
      • 학습 데이터를 추가하기 위해서 Distant supervision 활용
  • Distant supervision

    • 질문-답변만 있는 데이터셋(CuratedTREC, WebQuestions, WikiMovies)에서 MRC 학습 데이터 만들기
    • Supporting document가 필요함
    1. 위키피디아에서 Retriever를 이용해 관련성 높은 문서를 검색
    2. 너무 짧거나 긴 문서, 질문의 고유명사를 포함하지 않는 등 부적합한 문서 제거
    3. answer가 exact match로 들어있지 않은 문서 제거
    4. 남은 문서 중에 질문과 (사용 단어 기준) 연관성이 가장 높은 단락을 supporting evidence로 사용함
    • 각 데이터셋 별 distant supervision을 적용한 예시

  • Inference

    • Retriever가 질문과 가장 관련성 높은 5개 문서 출력
    • Reader는 5개 문서를 읽고 답변 예측
    • Reader가 예측한 답변 중 가장 score가 높은 것을 최종 답으로 사용함

Issues & Recent Approaches

  • Different granularities of text at indexing time

    • 위키피디아에서 각 Passage의 단위를 문서, 단락, 또는 문장으로 정의할지 정해야 함

    • Article : 5.08 million

    • Paragraph : 29.5 million

    • Sentence : 75.9 million

    • Retriever 단계에서 몇 개(top-k)의 문서를 넘길지 정해야 함

    • Granularity에 따라 k가 다를 수 밖에 없음

    • e.g. article → k=5, paragraph → k=29, sentence → k=78

      • k를 늘릴수록 성능이 올라가는 경우가 있을 수도 있음
      • k값은 태스크에 맞춰서 튜닝해야 함

Yang et al., 2019, End-to-End Open-Domain Question Answering with BERTserini

  • Single-passage traning vs Multi-passage training

    • Single-passage : 현재 우리는 k개의 passages를 reader가 각각 확인하고 특정 answer span에 대한 예측 점수를 나타냄. 그리고 이 중 가장 높은 점수를 가진 answer span을 고르도록 함
      • 이 경우 각 retrieved passages에 대한 직접적인 비교라고 볼 수 없음
      • 따로 reader 모델이 보는 게 아니라 전체를 한 번에 보면 어떨까?
    • Multi-passage : retrieved passages 전체를 하나의 passage로 취급하고, reader 모델이 그 안에서 answer span 하나를 찾도록 함
      • 이 경우 문서가 너무 길어지므로 GPU에 더 많은 메모리를 할당해야함
      • 처리해야하는 연산량이 많아짐
  • Importance of each passage

    • Retirever 모델에서 추출된 top-k passage들의 retrieval score를 reader 모델에 전달

      Yang et al., 2019, End-to-End Open-Domain Question Answering with BERTserini

출처: 부스트캠프 AI Tech 4기(NAVER Connect Foundation)

Comments