본문 바로가기

AI

오픈도메인 QA 리서치: Open Domain Question Answering

Open-domain question answering

: 다양한 주제에 대한 대량의 문서 집합으로부터 자연어 질의에 대한 답변을 찾아오는 태스크

 


DATA & TASKs

[ Natural Questions ]

<Natural Questions 데이터셋 예시>

구글에 입력된 real query에 대해 long / short / others 타입의 QA

 

- Open-domain QA 테스트를 위해 질문만 취하고, 답변을 찾을 수 있는 문단 정보는 삭제하는 방식으로 실험 진행

- long answer type의 경우 extractive snippet이라고 판단, 제거하고 실험

- (예. 답변이 5토큰 이내인 질문에 대해서만 실험, Lee et al., 2019)

- 링크:  ai.google.com/research/NaturalQuestions/

 

 

 

 

 

[ CuratedTrec ]

TREC QA에서 파생한 데이터지만, 데이터 소스는 실제 쿼리 (MSNSearch 등)에서 비롯함

- 즉, 사용자들이 문서를 보지 않고 던진 질문이라는 점에서 real world 데이터셋에 가까움

- 링크: github.com/brmson/dataset-factoid-curated

 

[ TriviaQA ]

웹에서 나온 쿼리-답변 쌍에 대한 데이터 (real-world x)

- 링크: nlp.cs.washington.edu/triviaqa/

 

[ SQuAD ]

질문자가 문단을 보고 답변 영역과 그에 대한 자연어 질문을 만들어낸 데이터셋 (real-world x)

- 링크: rajpurkar.github.io/SQuAD-explorer/

 

[ MS MARCO ] ✅

Question Answering과 Passage re-ranking 태스크가 있음

- 쿼리에 대해 10개의 후보가 주어졌을 때 가장 관련있는 문단을 골라 답변을 찾아내는 태스크

- BM25가 리턴한 top-1000개의 문단 / 혹은 전체 880만개 문단에 대해 관련도에 따라 문서를 reranking하는 태스크

- 링크: microsoft.github.io/msmarco/

 

[ WebQuestions ]

<WebQuestions 추론 예시>

Google Suggest API에서 샘플링된 질문을 포함한 QA 데이터셋

 

- 답변은 대규모 지식그래프인 Freebase에 대해 annotation되어 있음.

- 개체에 대한 string representation만 사용해 open-domain QA로 테스팅

- 링크: github.com/brmson/dataset-factoid-webquestions

 

 

 

 

<데이터셋 예시: SQuAD, CuratedTREC, WebQuestions, WikiMovies>

출처: Reading Wikipedia to Answer Open-Domain Questions(https://arxiv.org/pdf/1704.00051.pdf) 


METHODs

전통적인 접근 방법

오픈도메인 QA를 풀기 위해 전통적으로는 Retriever-Reader 프레임워크에서 2 스텝 추론 방법을 사용한다.

  1) Retriever - 질문과 관련있을법한 문서를 찾아옴

  2) Reader   - 주어진 문서에 대해 구체적인 답변을 찾아냄

 

Retriever로는 전통적으로 sparse vector를 활용하는 TF-IDF, BM25 등의 기법을 사용하고,

Reader은 뉴럴넷 기반의 모델을 사용하는 것이 일반적이다.

 

[ 대표적인 연구 ]

DrQA (FAIR, 2017)

- 논문 : arxiv.org/pdf/1704.00051.pdf

▼ Full Wiki result, Top-1 EM score 결과 

 

Dense Retriever 학습

최근에는 전통적인 IR 방식의 한계를 극복하기 위해 retriever을 학습하는 방법들이 제안됨.

이러한 dense 벡터 공간을 학습하고, 서치를 진행하는 것은 어려운 작업인데, 모델의 search space가 방대하기 때문이다.

(일반적으로 Open domain QA의 대상 문서는 백만~수십억개의 문서를 아우름)

 

[ 대표적인 연구 ]

Passage Re-ranking with BERT (2019) 

- 논문 : arxiv.org/pdf/1901.04085.pdf

▼ Passage re-ranking 태스크 결과

 

Latent Retrieval for Weakly Supervised Open Domain Question Answering (2019)

- 논문 : arxiv.org/pdf/1906.00300.pdf

- IR 시스템 없이 retriever와 reader을 QA쌍으로부터 동시에 학습하는 방법을 제안

 QA의 범위를 아래와 같이 정의함

실험 범위 및 결과

 

REALM (2020)

- 논문: arxiv.org/pdf/2002.08909.pdf

- 사전학습 과정에서 질문에 대한 답변을 찾을 수 있는 문서를 찾아오는 것을 학습

▼Open-QA 데이터셋에 대한 accuracy report

 

Dense Passage Retrieval for Open-Domain Question Answering (2020) 

- 논문: arxiv.org/pdf/2004.04906.pdf

- retrieval을 dense representation만 사용해서 찾아올 수 있다

▼ Top-20 / Top-100 retrieval accuracy report

 

Dense-sparse PI (2019, 서민준님)

- 논문: arxiv.org/pdf/1906.05807.pdf

▼ SQuAD-Open에 대한 결과

 

Retriever-free 방식

Open domain QA에서 새로운 추세로 떠오르는 방법은 대규모 사전학습 모델에 기반해 내제된 KB를 활용하는 것이다.

이 방식에서는 추론 시 직접적으로 text data에 접근하지 않는다.

GPT-3와 같이 잘 사전학습된 모델은 zero-shot 셋팅에서 사용자의 질문에 바로 답변을 리턴한다.

 

[ 대표적인 연구 ]

GPT-3 (OpenAI, 2020)

- 논문: arxiv.org/pdf/2005.14165.pdf

 

 

참고자료: www.aclweb.org/anthology/2020.acl-tutorials.8.pdf