본문 바로가기

Projects

[Open-domain question answering(ODQA)] 1. 프로젝트 개요

1. 프로젝트 개요

Question Answering은 다양한 종류의 질문에 대해 대답하는 AI를 만드는 연구분야 입니다. 다양한 QA 시스템 중, Open-Domain Question Answering주어진 지문이 따로 존재하지 않고 사전에 구축되어 있는 Knowledge resource에서 질문에 대해 대답할 수 있는 문서를 찾는 과정이 추가되기 때문에 더 어려운 문제입니다. 네이버 커넥트재단 부스트캠프에서 개최한 대회에서 진행한 프로젝트입니다.

대회 기간

2022.12.19 ~ 2023.01.05

평가 방법

Exact Match (EM): 모델의 예측과, 실제 답이 정확하게 일치할 때만 점수가 주어집니다. 즉 모든 질문은 0점 아니면 1점으로 처리됩니다.

F1 Score: EM과 다르게 부분 점수를 제공합니다. 예를 들어, 정답은 "Barack Obama"지만 예측이 "Obama"일 때, EM의 경우 0점을 받겠지만 F1 Score는 겹치는 단어도 있는 것을 고려해 부분 점수를 받을 수 있습니다.

2. Open-domain question answering (ODQA)

지문이 따로 주어지지 않고, 방대한 World Knowledge에 기반해서 질의응답

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

 

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

2.1. History of ODQA

Text retrieval conference (TREC) QA Tracks(1999-2007)

연관 문서만 반환하는 Information Retrieval(IR)에서 더 나아가서, short answer with support 형태가 목표

1) Question processing

Query formulation: 질문으로부터 키워드를 선택

2) Passage retrieval

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

3) Answer processing

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

2. 2. Retriever-Reader Approach

Retriever-Reader 접근 방식

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

  • 입력
    • 문서셋(Document corpus)
    • 질문(query)
  • 출력
    • 관련성높은문서(document)
  • TF-IDF, BM25 → 학습 없음
  • Dense → 학습 있음

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

  • 입력
    • Retrieved된문서(document)
    • 질문(query)
  • 출력
    • 답변(answer)
  • SQuAD와 같은 MRC 데이터셋으로 학습
  • 학습 데이터를 추가하기 위해서 Distant supervision 활용

Distant Supervision

  • 목적: 질문-답변만 있는 데이터셋에서 MRC 학습 데이터(Supporting documents)를 만들기 위함
  • 방법
    1. 위키피디아에서 Retriever를 이용해 관련성 높은 문서 검색
    2. 너무 짧거나 긴 문서, 질문의 고유명사를 포함하지 않는 등의 부적합한 문서 제거
    3. answer가 EM으로 들어잇지 않은 문서 제거
    4. 남은 문서 중 질문과 연관성이 가장 높은 단락을 supporting evidence로 채택!

Inference

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

2.3. Issues and Recent Approaches

Different granularities of text at indexing time

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

Granularity에 따라 k 가 다를 수 밖에 없음 (e.g. article → k=5, paragraph → k=29, sentence → k=78)

Single-passage training

(Single-passage): 현재 우리는 k 개의 passages 들을 reader이 각각 확인하고 특정 answer span에 대한 예측 점수를 나타냄. 그리고 이 중 가장 높은 점수를 가진 answer span을 고르도록 함

→ 이 경우 각 retrieved passages 들에 대한 직접적인 비교라고 볼 수 없음

Importance of each passage

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