Boostcamp week12 Retrieval Process

Dae Hee Lee·2021년 10월 22일
0

BoostCamp_level2_Pstage_MRC

목록 보기
13/15

이제 Baseline에 대한 코드 리뷰도 끝났고, QA Task에 대한 어느정도 학습이 끝이 났다. 마무리하는 과정으로 Retrieval하는 과정을 이야기해보려한다.

1. Sparse Retrieval

Sparse Retrieval에는 TF-IDF, BM25가 있다. 학습이 필요하지 않은 방법으로, 미리 Corpus에 대해서 Vectorizer fit_transform을 미리 진행시켜놓아야한다.

현재 베이스라인에서 Inference시 Retrieval이 동작하도록 설계되어있는데, 데이터의 쿼리벡터에 대해 TF-IDF Transform 후 top k개를 가져와서 Reader로 보내준다.

2. Dense Retrieval

Dense Retrieval은 Bert모델과 같은 학습가능한 모델을 바탕으로 passage와 query를 임베딩하는 역할을 한다.

이 때, 미리 학습을 진행하는데 Question-Passage를 가진 데이터로 학습을 한다. (Passage만 있는 데이터에 대해서도 만들어줄 수 있을까?)현재 대회에서 제공하는 데이터는 약 3~4천개 가량의 데이터가 있다. KoGPT를 활용한 Question Generation을 통한 Data Augmentation도 가능한 부분인 것 같다.(토론 게시판)

이렇게 학습을 마친 모델을 Q,P Encoder라 하고 저장한다. 그 다음, 전체 Corpus(Wekipedia파일)에 대한 Embedding을 실시한다. Inference시 이 Passage Embedding과 Query Embedding을 통해 유사도를 비교하고 가장 높은 스코어를 내는 Passage들을 topk개 가져와서 Reader로 보내준다.

profile
Today is the day

0개의 댓글