PStage MRC 7강 - Linking MRC and Retrieval

Introduction to Open-domain Question Answering (ODQA)

MRC는 지문이 주어진 상황에서 질의응답을 하는 과제이다. 이에 반해 ODQA는 비슷한 형태이지만, 지문 부분이 주어지는 것이 아니라 위키 혹은 웹 전체가 주어지게 되기 때문에 매우 많은 지문을 봐야하는 Large Scale 과제가 된다.

ODQA라는 문제는 꽤 예전부터 다루었던 문제이며, short answer with support의 형태를 목표로 했었다.

1) Question processing

질문으로부터 키워드를 선택하여 답변의 타입을 선택할 수 있도록 했다.

2) Passage Retrieval

기존 IR 방법을 활용하여 연관된 document를 뽑고, passage 단위로 자른 후 선별한다.

3) Answer processing

주어진 질문과 passage들 내에서 답을 선택하는 휴리스틱한 분류문제로 진행했다.

ODQA는 꽤 역사가 길며, 지금까지는 위와 같은 방식으로 진행되고 있었는데, 2011년 IBM Watson을 통해 발전하게 된다.

Retriever-Reader Approach

ODQA에서 가장 많이 쓰이는 approach로, DB에서 관련있는 문서를 검색하는 Retriever과 검색된 문서에서 질문에 해당하는 답을 찾아내는 Reader로 이루어진다.

학습 단계

Retriever

  • TF-IDF, BM25 -> 학습없음
  • Dense -> 학습필요

Reader

  • SQuAD와 같은 MRC 데이터셋으로 학습
  • 학습 데이터를 추가하기 위해서 Distant supervision 활용

Distant supervision

질문-답변만 있는 데이터셋에서 MRc 학습 데이터 만드는 방법. Supporting document가 필요함.

  1. 위키피디아에서 Retriever를 이용하여 관련성 높은 문서를 검색한다.
  2. 너무 짧거나 긴 문서, 질문의 고유명사를 포함하지 않는 등 부적합한 문서를 제거한다.
  3. answer가 exact match로 들어있지 않은 문서를 제거한다.
  4. 남은 문서 중에 질문과 (사용 단어 기준) 연관성이 가장 높은 단락을 supporting evidence로 사용한다.

Inference

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

Issues and Recent Approaches

Different granularities of text at indexing time

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

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

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

Single-passage training vs. Multi-passage training

k개의 passage들을 따로따로 보는 것이 아니라 retrieval이 가져온 문서 전체를 하나의 passage로 취급하여 reader모델이 그 안에서 answer span 하나를 찾도록 하는 것임. 다만 문서가 너무 길어지므로 GPU에 더 많은 메로리를 할당해야하고, 처리해야하는 연산량이 많아진다.

Author

Yohan Lee

Posted on

2021-10-16

Updated on

2023-11-18

Licensed under

댓글