1) SentenceBERT 란?

(1) 개요

BERT로부터 문장 벡터를 얻는 방법은 여러 가지가 존재

그중 대표적인 3가지 방법

  1. 첫번째 방법은 [CLS] 토큰의 출력 벡터를 문장 벡터로 간주하는 것입니다.

Untitled

  1. 두번째 방법은 BERT의 모든 단어의 출력 벡터에 대해서 평균 풀링을 수행한 벡터를 문장 벡터로 보는 것

Untitled

이는 CNN 방식에서 사용하는 Pooling과 동일하다

  1. 세번째 방법은 2번과 동일하지만 평균 풀링이 아닌 Max Pooling을 진행해주는 것

이때 평균 풀링을 하느냐와 맥스 풀링을 하느냐에 따라서 해당 문장 벡터가 가지는 의미는 다소 다른데, 평균 풀링을 얻은 문장 벡터의 경우에는 모든 단어의 의미를 반영하는 쪽에 가깝다면, 맥스 풀링을 얻은 문장 벡터의 경우에는 중요한 단어의 의미를 반영하는 쪽에 가깝다.

CNN이란?

(2) 등장 배경

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks 라는 논문에서 처음 등장