Open domain question answering에서 고민해야할 issue

1. passage의 단위?

 

앞에서 passage의 엄밀한 정의를 하지 않았는데 위키피디아 같은 경우도 passage를 어떻게 볼지 엄밀하게 정의하지 않았다

 

 

 

영어 위키피디아에서 article로 보면 500만개 정도 있고 paragraph로 보면 3000만개 정도 있고 sentence로 보면 7600만개 정도 있다고 한다

 

retriever가 reader한테 질문과 관련된 passage를 넘겨줄 때 몇개를 넘겨줘야 적당한가?

 

passage를 정의한 범위에 따라서도 몇개를 넘겨줄지 고려해야함

 

몇개의 passage를 넘겨주느냐에 따라 모형의 성능도 다르다

 

 

 

 

 

위와 같이 큰 단위일수록 적게 넘겨줌

 

위는 article일때 k=5, paragraph는 k=29, sentence는 k=78로 그냥 설정해보고 실험한 논문 예시

 

k가 크면 그만큼 많이 보고 신중하게 여러 답안을 내니까 성능이 오를 수 있는데 항상 그런건 아니다

 

그렇다고 k=1로 해버리면 그 하나에 정답이 있을 가능성을 100퍼센트 보장 못하니까 위험하다 그래서.. 보통 k=1은 안하는듯

 

 

2. single passage를 볼 것인가? multi passage를 볼 것인가?

 

일반적인 single passage 방식은 TOP-k로 출력한 연관 문서 각각에서 질문에 대한 가장 그럴듯한 답을 찾은 뒤에 점수를 측정하고

 

측정한 점수들 중 가장 높은 점수를 받은 span을 최종 정답으로 내는 방식

 

 

 

근데 이렇게 구하는 방식은 사실 전체 k개의 passage를 한번에 보지않고 각각 독립적으로 바라봤다는 점에서 아쉬울 수 있음

 

그래서 생각한 multi passage 방식은 k개의 retrieve된 passage를 전부 하나의 passage로 묶은 다음에 Reader model이 그것으로부터 정답을 찾도록함

 

그러나 k가 너무 크면 문서가 너무 길어져 GPU 메모리가 바닥날수있고 연산량도 엄청날 수 있어 주의해야함

 

 

 

 

3. retrieve된 passage의 중요성?

 

retrieve할 때 질문과 연관성이 가장 높은 TOP-k passage로 출력했다는 것은 질문과 연관성이 높은 정도의 차이가 있다는 것

 

그런데 이 문서를 reader model에 그냥 넘겨주면 reader는 어떤 passage가 더 연관성있는지는 사실 잘 모르고 전부 동등하게 바라보면서 정답을 찾음

 

만약 retrieve 당시 연관성 점수를 reader가 정답을 낼때 정답일 확률 점수에 가산하여 정답을 낸다면 더 정확한 정답을 도출할 수 있을 것임

 

 

 

 

retrieve passage score를 마지막 answer score에 가산하여 정답을 도출했음

 

전부 BERTserini? 여기서 나온건데 이거 좀 읽어볼만한데?

TAGS.

Comments