7. Linking MRC and Retrival
7.1 ODQA(Open-domain Question Answering)란?
ODQA : 지문이 따로 주어지지 않고, 방대한 지식에 기반하여 질의 응답을 함
Ex) Modern search engines: 연관문서 뿐만 아니라 질문의 답을 같이 제공

7.2 ODQA의 역사
(추후 추가 예정)
7.3 Retriever-Reader Approach
- Retriever : 데이터베이스에서 관련있는 문서를 검색(search) 함
-> 입력 : 문서셋(Document corpus), 질문(query)
-> 출력 : 관련성 높은 문서(document)
-> TF-IDF, BM25 : 학습 없음
-> Dense : 학습 있음
- Reader : 검색된 문서에서 질문에 해당하는 답을 찾아냄
-> 입력 : Retrieved한 문서(document), 질문(query)
-> 출력 : 답변(answer)
-> SQuAD와 같은 MRC 데이터셋으로 학습
-> 학습 데이터를 추가하기 위해서 Distant supervision 활용

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

- Inference
-> Retriever가 질문과 가장 관련성 높은 5개 문서 출력
-> Reader는 5개 문서를 읽고 답변 예측
-> Reader가 예측한 답변 중 가장 score가 높은 것을 최종 답으로 사용함
7.4 Issues & Recent Approaches
- 인덱싱 시간에서 텍스트의 다른 세분성(granularity)
위키피디아에서 각 Passage의 단위를 문서, 단락, 또는 문장으로 정의할지 정해야 함.
-> Article: 5.08 million
-> Paragraph: 29.5 million
-> Sentence: 75.9 million

Retriever 단계에서 몇개 (top-k)의 문서를 넘길지 정해야 함 Granularity에 따라 k 가 다를 수 밖에 없다
(ex. article à k=5, paragraph-> k=29, sentence -> k=78)

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

댓글