(5강) Passage Retrieval - Dense Embedding
dence embedding의 개념
dence embedding을 학습하고 문서검색을 수행할 수 있을지에 대한 실습
[Reference & Further Reading]
1. Introduction to Dense Embedding
Passage Embedding
구절(passage)을 벡터로 변환하는 것
Sparse Embedding
TF-IDF 벡터는 매우 큰 차원이지만 실제로 값을 가지는 차원은 극소수이다.
차원의 수가 매우 크다.
compressed format으로 극복 가능하다.
유사성을 고려하지 못한다.
동음이의어를 이해하지 못한다.
1.1. Dense Embedding
더 작은 차원의 고밀도 벡터를 통해 term이 각 차원에 대응되지 않게된다.
1.2. Sparse Embedding vs Dense Embedding
Sparse Embedding
중요한 Term들이 정확하게 일치해야하는 경우
임베딩이 구축되고 나서는 추가적인 학습이 불가능함
🌟Dense Embedding
단어의 유사성 또는 맥락을 파악해야하는 경우 성능이 뛰어남
학습을 통해 임베딩을 만들며 추가적인 학습이 가능함
1.3. Overview
Question에 대한 Dense embedding 값과 각 passage의 embedding값의 내적곱을 통해서 유사도를 파악할 수 있다.
2. Training Dense Encoder
2.1. 학습 목표와 학습 데이터
연관된 question과 passage dense embedding 간의 거리를 좁히는 것 (또는 inner product를 높이는 것)
연관된 question / passage를 어떻게 찾을 것인가?
기존 MRC 데이터 셋을 활용하여 학습을 진행
Negative Sampling
연관된 question과 passage 간의 dense embedding 거리는 좁히고, 연관 없는 것은 멀게 하여 학습을 진행함.
negative example을 뽑는 법
Corpus 내에서 랜덤하게 뽑기
높은 TF-IDF 스코어를 가지지만 답을 포함하지 않는 샘플을 뽑기(더 도움이 될 수 있음)
2.2. Objective function
positive passage에 대한 negative log likelihood loss를 사용
2.3. Evaluation Metric
Top-k retrieval accuracy: retrieve 된 passage 중에 답을 포함하는 passage의 비율
3. Passage Retrieval with Dense Encoder
3.1. From dense encoding to retrieval
3.2. Retrival to open domain question answering
Retriever를 통해 찾아낸 Passage를 활용해서 MRC 모델로 답을 찾음
3.3. 성능 향상을 위한 방법
학습방법 개선 (e.g. DPR)
인코더 모델 개선 (BERT보다 크고 정확한 Pre-trained 모델)
데이터 개선 (더 많은 데이터, 전처리 등)
실습코드 Link
Last updated