본문 바로가기

ReinforcementLearning

[paper]Dense Passage Retrieval for open-Domain Questionestions and passages Answering(2020)

[paper]Dense Passage Retrieval for open-Domain Questionestions and passages Answering(2020)

질문이 주어졌을 때, 질문에 대한 답을 찾기 위해 위키피디아 문서에서 검색을 하고, 분석을 진행

🟨Open-domain Question Answering

질문과 위키피디아 안에서의 연관성을 찾아서 답을 찾아가는 과정

-> TF-IDF 와 BM25를 사용

🟨ORQA: Learnable retriever

학습하는 과정에서 질문과 유사한 문장을 찾는 것 ( 임베딩을 통해서 유사도를 산출) 

의미상 유사한 단어가 있어도 문장을 잘 파악해서 찾아냄.

🟨ORQA: Inverse Close Task(ICT)

Inverse Close Task(ICT) : 사전 학습을 먼저 진행

1. 각 Passage들을 가지고있고,각 Passage의 임의의 문장을 추출해 옴

2. 임의로 추출해온 문장이 그 Passage와 유사한지를 확인

3. 나머지 Passage와 유사한 context인지 확인  

=> 사전학습 Block encoder는 freezer, question encoder 만 fine-tuning 수행

 

Can we train a better dense embedding model using only pairs of questions and passages (or answers) without additional pertaining?

 

 

 

DPR - Inference

 - 학습 후 Inference 단계에서는 Faiss라이브러리를 사용하여 passage encoder의 임베딩 벡터 미리 계산

  • 새로운 질문이 입력으로 들어왔을떄 연관된 passage를 빠르게 반환

DPR - training

  • 목적 : 연관된 question-passage끼리 가까운 공간에 위치하는 vector space 구축

 

DPR - training(1) : positive/ negative passages

  • Negative example을 선정할 수 있는 범위가 너무 넓음
  • Negative example에 대한 신중한 선택이 뛰어난 encoder를 만들 수 있음

DPR - training(2) : in-batch negatives

  • 간단하고 메모리 효율적이다
  • 각 문장과 정답(?)문장을 제외한 것들은 다 오답지로 사용할 수 있다 ( 아래 그림의 흰부분)

 

 

 

 

참고 : 고려대학교 산업경영공학부 DSBA 연구실 [ https://www.youtube.com/watch?v=u4GE0sloBQU ].