구분희소 벡터 (Sparse)밀집 벡터 (Dense)
구성대부분 0 (예: [0, 1, 0, 0, 0, …])대부분 실수 (예: [0.1, -0.5, 0.8, …])
차원 수매우 높음 (수만~수백만)낮음 (수백~수천)
주요 강점키워드 매칭, 정확한 일치의미적 유사성, 문맥 파악
저장 방식0이 아닌 값의 위치와 값만 저장모든 값을 순서대로 저장
사용 예시전통적 검색 엔진, 스팸 필터챗봇, 추천 시스템, 시맨틱 검색

sparse vector

벡터의 구성 요소 중 대부분이 0이고, 의미 있는 값은 아주 일부만 존재하는 형태

  • 특징: 차원(Dimension)이 매우 높음

    • ex) 1만 개의 단어가 포함된 사전에서 특정 문장에 포함된 단어만 1로 표시하면, 나머지는 모두 0
  • 장점:

    • 특정 단어의 존재 여부를 정확히 알 수 있음
      • 따라서 키워드 매칭(Keyword Search) 에 강력하다
    • 결과가 왜 나왔는지 설명하기 쉽다 (해석 가능성)
  • 단점:

    • 단어의 의미나 맥락을 이해하지 못한다
    • ex) ‘자동차’와 ‘차량’을 완전히 다른 데이터로 인식함
  • 대표 사례: 원-핫 인코딩(One-Hot Encoding), TF-IDF, BM25 알고리즘

dense vector

벡터의 모든 차원이 **0이 아닌 실수(Real Number)**로 가득 차 있는 형태

  • 고차원의 공간에서 밀집하게 분포되어 있다.

고차원의 공간에서 모든 원소가 실수값인 벡터

  • 특징: 상대적으로 차원이 낮다 (보통 100~1,000차원 내외)

    • 각 숫자는 고정된 의미가 아니라 학습을 통해 얻어진 **추상적인 특징(Feature)**을 나타낸다.
  • 장점:

    • 데이터의 특징을 잘 나타낸다
    • 단어의 의미적 유사성(Semantic Similarity) 을 파악할 수 있음
      • ‘자동차’와 ‘차량’이 비슷한 공간에 위치하도록 학습된다
      • 따라서 검색 품질이 높음
    • 희소 벡터에 비해 메모리 공산을 더 효율적으로 사용한다.
    • 벡터 간의 유사도 계산 등, 다양한 연산에 사용될 수 있다
  • 단점:

    • 각 차원의 숫자가 무엇을 의미하는지 사람이 직관적으로 이해하기 어렵다.
    • 계산 비용이 발생한다.
  • 대표 사례: Word2Vec, BERT, GPT와 같은 딥러닝 기반 임베딩 모델