retriever-reader 방식을 이용한 Open domain question answering 문제 접근 방법

1. motivation

 

가장 일반적인 ODQA의 해결방법

 

retriever model과 reader model을 그대로 연결하여 ODQA를 해결

 

retriever-reader approach의 그림

 

 

retriever가 대형 문서셋 corpus와 질문을 input으로 받으면 질문과 관련성이 높은 지문 문서를 출력함

 

retrieve된 지문을 받은 reader는 질문과 함께 input으로 받으면 최종 답안을 출력해줌

 

 

2. training

 

2-1) retriever

 

TF-IDF와 BM25활용한 embedding은 label을 통한 일반적인 training없음

 

self-supervise training이라는데 기본적으로 생각하는 training이라고 보기는 솔직히 좀 어렵다

 

dense embedding은 가지고 있는 MRC set을 이용하여 training을 통해 embedding을 수행

 

 

2-2) Reader

 

SQuAD같은 MRC set으로 학습

 

학습데이터가 부족하다면 distant supervision을 이용하여 학습데이터를 늘릴수 있다?

 

 

3. distant supervision

 

일반적인 MRC dataset은 지문, 질문, 답변이 주어져있음

 

SQuAD dataset

 

 

 

근데 어떤 dataset은 질문과 답변만 있는 경우가 있다.

 

TrecQA sample

 

 

 

실제로 MRC model은 질문을 받으면 정답을 내놓는 것이 아니라

 

지문과 지문에 관련된 질문을 받아 정답을 내놓으므로 질문,답변으로는 학습하기가 어렵다

 

이런경우 supporting document, 그러니까 질문에 관련된 지문을 직접 찾아서

 

MRC model에 학습 데이터로 줄 수 있는데 이것을 distant supervision이라 부른다

 

구체적인 방법은 위키피디아 같은 대형 웹에서 retriever를 이용해서 질문을 주어 관련성이 높은 문서를 검색함

 

너무 짧거나 긴 문서, 질문의 고유명사를 포함하지 않은 등 부적합한 문서는 제거한다

 

answer이 exact match로 들어있지 않은 문서는 제거한다(당연하지만 extraction based MRC라면 해당되는거고 generation based MRC는 아니겠지)

 

남은 문서 중에 질문과 사용 단어 기준, 연관성이 가장 높은 단락을 supporting evidence, 즉 질문의 context로 가져와 학습 데이터로 사용한다

 

물론 직접 찾은거니까 이게 진짜 정답을 포함할지, 관련성이 있을지는 사실 100% 보장하기는 어렵긴해

 

근데 있다고 생각하고 학습을 하는거지 어쩔 수 없기도 하고 실제로는 대부분 있을 가능성이 높긴한가봐 좋은 알고리즘을 썼다면

 

결론은 dataset에 question, answer pair만 있는 경우는

 

retriever를 이용해 question의 supporting document를 찾아 MRC의 학습데이터로 사용한다는 것이 distant supervision이다.

 

distant supervision 예시

 

 

SQuAD같은 경우는 보면 지문이 있는데도 distant supervision을 썼는데 이거는 지문이 있어도 학습데이터를 늘리기 위해 사용할 수 있다는 것을 시사하는거겠지?

 

 

4. inference

 

retriever가 질문을 받으면 가지고 있는 corpus 내에서 질문과 가장 관련된 Top-5 문서를 retrieve함

 

Top-5의 5는 예로 든 값이고 늘릴수도 있고 줄일수도 있고 선택의 문제

 

reader는 retrieve된 5개의 문서와 질문을 보고 각각 답변을 예측하여 확률이 가장 높은 span을 최종 답변으로 출력

TAGS.

Comments