Open domain question answering 개요

1. MRC와 ODQA의 차이

 

MRC는 지문이 주어진 상황에서 주어진 지문에 대한 질문에 대답하는 문제

 

반면 ODQA는 지문이 특정해서 주어지는 상황은 아니다.

 

방대한 world knowledge로 위키피디아나 웹 전체같은 대용량의 지문 데이터 베이스에서 질문에 답을 하는 문제

 

 

 

 

open domain question answering은 방대한 지문 데이터베이스를 가진 machine에 어떤 질문을 하여 답을 내주길 원하는 문제

 

결정적인 차이는 MRC는 단 하나의 지문(상대적으로 적은 지문)을 보고 그 지문에 대한 질문의 답을 하는데

 

ODQA는 똑같은 형태로 질문을 하더라도 machine이 지문 하나를 보는 것이 아니라 방대한 지문을 보면서 그 속에서 답을 찾아야함

 

영어 위키피디아만 해도 약 300만개라고함

 

그러니까 어떤 지문에 답이 있는지도 찾아야하고 그 지문 내에서도 진짜 정답을 찾아야하는 더 어려운 문제

 

2. ODQA를 서비스하는 회사

 

대표적으로 구글이 있는데 초창기에는 유저가 질문을 검색하면 관련된 문서를 나열했었음

 

근데 최신 search engine을 사용하는 요즘에는 질문을 검색하면 연관된 문서뿐만 아니라 질문에 대한 답도 같이 제공함

 

구글에 질문을 검색해본 예시

 

 

 

밑에 신세경과 연관된 문서 뿐만 아니라 신세경 생일 정답도 맨 위에 보여줌

 

 

3. ODQA의 역사

 

3-1) 초창기

 

최근에 관심받던 주제는 아니고 1999년~2007년 Text retrieval conference라는 협회에서 QA track으로 연구 시작

 

당시 연관문서만 반환하는 information retrieval(IR)로 인한 정답을 담은 문서인 supporting evidence를 출력하는 것에서

 

더 나아가 질문에 대한 짧은 답까지 내놓는 형태가 목표였다

 

당시 접근 방식은 question processing + passage retrieval + answer processing으로 최근이랑 크게 다르진 않다

 

1999~2007에 ODQA를 해결하기 위해 접근한 방식

 

 

3-2) question processing

 

어떻게하면 machine이 질문을 잘 이해할 수 있을까?

 

당시에는 딥러닝이나 advanced model이 존재하지 않아 질문으로부터 keyword를 뽑아 answer type를 select하는 방식을 따름

 

answer type이란 “이 질문은 답변의 형태가 장소여야 한다”, “장소 중에서도 나라여야 한다.” 같은 것

 

question에서 keyword를 탐색하여 그에 맞는 answer type을 결정함

 

 

3-3) passage retrieval

 

기존의 information retrieval로 연관된 문서를 뽑은 뒤

 

문서가 너무 기니까 passage 단위로 자른 후 직접 만든 feature를 이용해서 선별을 함

 

feature는 named entity나 passage내에 존재하는 question token의 수, TF-IDF나 BM25도 당시에 존재는 했었다고 하는데.?

 

 

3-4) answering processing

 

직접 만든 feature나 heuristic한 방법을 이용한 classifier 이용

 

heuristic은 모든 정보를 사용할 수 없을 때, 신속하고 직관적으로 판단하는 것

 

주어진 question과 선별된 passage를 이용해서 classifier가 어떤 passage에 question의 답이 있는지 분류하는 문제

 

당시에는 단순히 답이 있을 법한 passage를 내놓는 것에 그쳤다면

 

요즘에는 passage내에 어떤 span이 답이 될지까지 내놓는 알고리즘으로 진화함

 

당시에는 span level로 답을 낼 기술이 부족했거나 passage 전체를 읽는 것보다 부분적으로 정확한 답 근방을 얻고싶은 유저의 니즈를 파악했다고 볼 수 있어

 

아무튼 99년도부터 많은 관심을 받았고 역사가 오래된 분야가 ODQA

 

 

3-5) 2011 IBM Watson

 

당시 DeepQA project라고 부름

 

Jeopardy!라는 퀴즈쇼에 출현하여 당시 인간 챔피언들과 상대하여 우승한 AI

 

pipeline자체는 QA track과 크게 다른 것이 없다

 

question을 분석하고 관련된 document를 추출한 뒤 정답을 내는 방식

 

 

 

당시에도 딥러닝을 활용하기 전이라 여러 feature들과 SVM같은 초기 머신러닝 모델을 활용하여 답변을 얻어냈다고함

 

 

3-6) 이후

 

2012~2013, 2014~2015에 딥러닝 발전으로 각각 CV,NLP에서 패러다임 변화가 일어났음

 

2016~2017 이후로 이러한 변화에 힘입어 많은 QA, ODQA 모델들과 데이터셋들이 등장하면서 성능도 많이 향상됨

 

 

 

SQuAD에는 2019/08의 multi passage BERT가 성능이 가장 좋고

 

TriviaQA는 BM25에 DPR을 쓴것이 성능이 가장 좋았고

 

나머지 데이터에는 RAG가 성능이 제일 좋네 이 친구 심상치 않은데???

 

데이터 셋에 따라 모형들 성능이 다 다르고 어떤 모형이 어떤 데이터 셋에 가장 잘 맞는지 다 다르다는거지 그래서 사실 해보지 않으면 몰라

 

이런 모형들의 성능을 잘 average하는 것이 final 대회의 주요 목표

 

 

 

TAGS.

Comments