Sparse Embedding
BM25로 문장을 embedding한 후에 각 vector들에 대한 self.embedding과 keyword의 embedding
행렬곱을 normalization 한 후에 가장 높은 것 + 일정 수치 이상
각 키워드에 대한 행렬곱을 살펴보고 어느 정도 수치가 나오는지 정성적 평가 -> threshold 정하기
문장이 "모르겠어요." 혹은 얼토당토하지 않은 문장을 적었음에도 top 순위로 하면 키워드를 필수적으로 찾아야하므로 오히려 오답을 매칭하는 경우가 있을 것
그렇다고 threshold를 너무 높이다보면 오히려 EM으로 찾을 수 있는 단어들만이 출현할 것
결국 정성적인 평가밖에 방식이 없나 싶다.
Dense Embedding
Dense Retriever의 경우 우리의 키워드가 문장의 어떤 단어와 연관이 높은지를 학습시켜줄 label이 필요하다
ex) 기온 - 온도가 연관이 있다는 label 필요
하지만 현재 그러한 데이터셋이 존재하지 않는 상황이기 때문에 이를 위한 작업은 너무 많은 시간을 소요하게 될 것 같다.
따라서 이는 제외하는 것이 맞아보인다.
결과적으로 BM25로만의 embedding 이후에 결과를 살펴봐야 할 것 같다