쉬엄쉬엄블로그

(MRC) Passage Retrieval-Sparse Embedding 본문

부스트캠프 AI Tech 4기

(MRC) Passage Retrieval-Sparse Embedding

쉬엄쉬엄블로그 2023. 9. 11. 13:26
728x90

이 색깔은 주석이라 무시하셔도 됩니다.

Passage Retrieval-Sparse Embedding

Sparse Embedding

Introduction to Passage Retrieval

  • Passage Retrieval

    • 질문(query)에 맞는 문서(passage)를 찾는 것

  • Passage Retrieval with MRC

    • Open-domain Question Answering : 대규모의 문서 중에서 질문에 대한 답을 찾기

      • Passage Retrieval과 MRC를 이어서 2-Stage로 만들 수 있음

  • Overview of Passage Retrieval

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

Passage Embedding and Sparse Embedding

  • Passage Embedding Space

    • Passage Embedding의 벡터 공간

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

  • Sparse Embedding 소개

    • Sparse는 Dense의 반대어로써 0이 아닌 숫자가 상당히 적게 있는 것을 의미함

    • Bag-of-Words (BoW)

      • 벡터의 길이는 vocabulary의 사이즈와 같아짐
    1. 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
    2. Term value를 결정하는 방법

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

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

  • Sparse Embedding 특징

    1. Dimension of embedding vector = number of terms

      • 등장하는 단어가 많아질수록 증가
      • N-gram의 n이 커질수록 증가

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

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

TF-IDF

  • 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 : 좀 더 많은 정보를 제공

  • Term Frequency(TF)

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

      1. Raw count

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

      3. Other variants : binary, log normalization, etc.

  • Inverse Document Frequency(IDF)

    • 단어가 제공하는 정보의 양

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

    • Document Frequency(DF) = Term t가 등장한 document의 개수
      N : 총 document의 개수

  • Combine TF & IDF

    • TF-IDF(t, d) : TF-IDF for term t in document d, $TF(t,d)\times IDF(t)$
    • ‘a’, ‘the’ 등 관사 ⇒ Low TF-IDF
      : TF는 높을 수 있지만, IDF가 0에 가까울 것
      (거의 모든 document에 등장 ⇒ $N\sim DF(t)$ ⇒ $log(N/DF)\sim 0$)
    • 자주 등장하지 않는 고유 명사 (ex. 사람 이름, 지명 등) ⇒ High TF-IDF
      : IDF가 커지면서 전체적인 TF-IDF 값이 증가
  • TF-IDF 계산하기

    • 실험할 데이터

      문서 제목 문서 내용
      음식 주연은 과제를 좋아한다
      운동 주연은 농구와 축구를 좋아한다
      영화 주연은 어벤져스를 가장 좋아한다
      음악 주연은 BTS의 뷔가 가장 잘생겼다고 생각한다
    • 토크나이저

    • Term Frequency(TF) : 단어의 등장 빈도
      $TF(t,d)$ : TF for term t and document d

    • Inverse Document Frequency(IDF) : 단어가 제공하는 정보의 양
      $IDF(t)=log\frac{N}{DF(t)}$

    • TF-IDF 계산
      $TF(t,d)\times IDF(t)$

  • TF-IDF를 이용해 유사도 구해보기

    • 목표 : 계산한 문서의 TF-IDF를 가지고 질의 TF-IDF를 계산한 후 가장 관련있는 문서를 찾기

    1. 사용자가 입력한 질의를 토큰화

    2. 기존에 단어 사전에 없는 토큰들은 제외

    3. 질의를 하나의 문서로 생각하고, 이에 대한 TF-IDF 계산

    4. 질의 TF-IDF 값과 각 문서별 TF-IDF 값을 곱하여 유사도 점수 계산

    5. 가장 높은 점수를 가지는 문서 선택

  • BM25란?

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

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

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

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

        [참조자료] Pyserini BM25 MSMarco Document Retrieval 예시

출처: 부스트캠프 AI Tech 4기(NAVER Connect Foundation)

'부스트캠프 AI Tech 4기' 카테고리의 다른 글

(MRC) Passage Retrieval-Scaling Up  (0) 2023.09.13
(MRC) Passage Retrieval-Dense Embedding  (0) 2023.09.12
(MRC) Generation-based MRC  (0) 2023.09.08
(MRC) Extraction-based MRC  (1) 2023.09.07
(MRC) MRC Intro  (0) 2023.09.06
Comments