앞선 MRC와는 다르게 웹 전체, 혹은 위키피디아 전체와 같이 광범위한 Domain에서 Passage retrieval을 수행해야 한다. input, output format은 동일하다.
Text retrieval conference(TREC)에서 다뤄진 QA Tracks(1997-2007)에서 ODQA의 형태를 띈 task를 연구.
Question Processing, Passage retrieval, Answer processing으로 이루어지는 것은 현재의 구조와 매우 유사하다. 단순한 Information retrieval(IR)이 아니라 short answer with support를 목표로 했다고 한다. support가 의미하는 것은 답이 담겨 있는 문서를 의미한다. 즉, Question에 대한 답과 해당 문서를 함께 반환하길 원하는 task다.
DL, ML model이 발전되지 않았기 때문에 질문으로부터 키워드를 선택하고, 해당 키워드에 대한 answer type selecting을 진행하는 형태였다.
현재 ODQA와 매우 유사하다.
1. 기존 IR을 이용해 연관된 document 추출
2. document를 passage 단위로 자르고 선별
3. Named entity, passage 내 question 단어 개수 등의 hand-crafted features 활용해 선별. e.g.,) TF-IDF, BM25
Hand-crafted features와 heuristic을 활용한 Classifer를 통해 주어진 Question에 대해서 어떤 document가 사용될지 결정.
최근의 MRC가 passage 뿐만 아니라 span level에서 답을 도출하기에 answer processing에서는 현재와 차이가 있다.
앞선 MRC에서 활용했던 Retriever와 Reader(MRC model)을 활용해서 ODQA를 해결할 수 있다.
Quesition, Answer만 존재하는 dataset들은 answer가 어느 document에 존재하는지 알려주지 않는다.
e.g., CuratedTREC, WebQuestions, WikiMovies
하지만 Reader를 학습하기 위해서는 question, answer 외에 document가 필요하다! 따라서 supporting document가 필요한 경우 직접 answer가 어디에 위치하는지 찾아야 한다. 이러한 행위를 distance supervision이라고 한다.
Wikipedia 데이터를 사용한다고 할 때, 어떠한 기준으로 index를 정의할지 사전에 정의해야 한다. 보통 article, paragraph, sentence를 기준으로 한다.
따라서 Retriever는 top-k를 정의할 때, granularity에 따라 k가 달라지게 된다. 보통은 위 표와 같이 k를 정의하게 된다. 또한 granularity에 따라서 점수도 약간식 차이가 발생한다.
k를 늘릴 때 보통 성능이 향상되지만 아닌 경우도 존재한다. MRC 대회에서는 k를 튜닝하는 것도 관건이다.
Single-passage training
지금까지 배운 방식이다. Retriever는 k개의 문서를 반환하고 Reader는 k개의 문서에 대한 답변과 점수를 구해 최선의 답을 구하는 방식이다. 여러 개의 문서를 보지만 결국 reader의 관점에서는 passage를 개별적으로 보기 때문에 single passage training이라고 한다. Retriever가 건네준 문서들 간의 상관관계를 고려하지 않기 때문이다.
Multi-passage trainig
Retrived passage 전체를 하나의 passage로 간주하는 것이다. single-passage 방식과는 다르게 전체 passage 간의 관계를 고려해서 Reader를 학습시키고자 한다.
학습 문서가 매우 길어지므로 GPU cost가 커진다.
Retriever에서 얻은 Passage들의 score를 버리지말고 최종 score를 얻을 때 활용하고자 하는 방법론이다.