(4강) Passage Retrieval - Sparse Embedding

  • 단어기반 문서 검색

  • 문서 검색이란 어떤 문제인지에 대해 알아보고 문서를 검색하는 방법

  • 검색을 위해 문서를 embedding 형태로 변환해주는 passage embedding 소개

  • sparse embedding, TF-IDF 에 대해 소개

[Reference + Further Reading]

1. Introduction to Passage Retrieval

1.1. Passage Retrieval

질문(Query)에 맞는 문서(Passage)를 찾는 것.

1.2. Passage Retrieval with MRC

  • open-domain Question Answering: 대규모의 문서중에서 질문에 대한 답을 찾는 Task

    • 질문에 대한 문서를 찾는 passage retrieval

    • 질문에 대한 답을 찾는 MRC

1.3. Overview

Query와 Passage를 임베딩한 뒤 유사도로 랭킹을 매기고, 유사도가 가장 높은 Passage를 선택

  • Passage에 대한 임베딩은 미리 만들어 두게 되고, 실시간으로 Query에 대한 임베딩을 통해 유사도를 측정한다.

  • nearest neighbor, 내적 곱 같은 탐색법을 사용한다.

2. Passage Embedding and Sparse Embedding

2.1. passage embedding space

  • passage embedding의 벡터공간

  • 벡터화 된 passage를 이용하여 passage간의 유사도 등을 알고리즘으로 계산할 수 있

2.2. 🌟Sparse Embedding

BoW (Bag-of-Words)

  • BoW를 구성하는 방법 -> n-gram

    • unigram(1-gram): It was the best of times => It, was, the, best, of, times

    • bigram(2-gram): It was the best of times => It was, was the, the best, best of, of times

  • Term value 를 결정하는 방법

    • Term이 document에 등장하는지(binary)

    • Term이 몇번 등장하는지 (term frequency), 등. (e.g. TF-IDF)

2.3. Sparse Embedding 특징

  • Dimension of embedding vector -> number of terms

    • 등장하는 단어가 많아질수록 증가

    • N-gram의 n이 커질수록 증가 (최대 n제곱개만큼 커질 수 있음)

  • Term overlap을 정확하게 잡아 내야 할 때 유용하다.

    • 실제로 그 단어가 문장에 포함되어있는지를 체크하기에 좋음

  • 반면, 의미(semantic)가 비슷하지만 다른 단어인 경우 비교가 불가

3. TF-IDF

3.1. TF-IDF (Term Frequency - Inverse Document Frequency)

  • Term Frequency (TF): 단어의 등장 빈도

  • Inverse Document Frequency (IDF): 단어가 제공하는 정보의 양

  • ex) It was the best of times

    • it, was, the, of : 자주 등장하지만 제공하는 정보량이 적음

    • best, times: 더 많은 정보를 제공

3.2. TF (Term Frequency)

해당 문서 내 단어의 등장 빈도

  • Raw count

  • Adjusted for doc length: raw count / num words (TF)

  • Other variants: binary, log normalization

3.3. IDF (Inverse Document Frequency)

단어가 제공하는 정보의 양

IDF(t)=log(NDF(t))IDF(t) = log(\frac{N}{DF(t)})

  • DF(document frequency) = Term t가 등장한 document의 개수

    • the 같은 term은 모든 문서에 나타날 것이다. -> log1 = 0

  • N: 총 Document의 갯수

3.4. Combine TF & IDF

TF-IDF(t, d): TF-IDF for term t in document d

TF(t,d)×IDF(t)TF(t, d) \times IDF(t)

  • a, the 등의 관사는 위 3.3) 에서 본 것과 같이 DF의 값이 0에 가까워 TF-IDF 값이 작다.

  • 자주 등장하지 않는 고유명사(사람이름, 지명)는 IDF값이 커지면서 전체적인 TF-IDF의 값이 증가한다.

위 두 가정은 많은 수의 document를 가질 때 일반적으로 나타나는 현상으로 봐야한다.

3.5. TF-IDF 계산하기

3.6. BM25란

  • TF-IDF 의 개념을 바탕으로, 문서의 길이까지 고려하여 점수를 매김

    • TF 값에 한계를 두어 일정한 범위를 유지하도록 둠

    • 평균적인 문서의 길이보다 더 은 문서에서 단어가 매칭된 경우 그 문서에 대해 가중치를 부여

    • 실제 검색엔진, 추천 시스템 등에서 아직까지도 많이 사용되는 알고리즘

Last updated