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