머신러닝 & 딥러닝/LLM

[LLM] 임베딩 기반 검색(Embedding-Based Retrieval) vs. 전통적인 검색 기법

Haru_29 2025. 3. 5. 00:06

1. BM25: 전통적인 검색 기법의 대표 주자

BM25(Best Matching 25)는 TF-IDF의 발전형 알고리즘으로, 문서의 길이를 고려한 가중치를 적용하여 검색 성능을 향상시킵니다.

📌 BM25의 핵심 특징

문서 길이 정규화

  • 문서가 길면 특정 단어가 더 자주 등장할 가능성이 크므로, 이를 보정하여 보다 공정한 검색이 가능하도록 함

단어 빈도를 반영하여 검색 성능 향상

  • 특정 키워드가 문서에서 자주 하면 검색 순위를 높임

여전히 널리 사용되는 검색 알고리즘

  • 딥러닝 이전의 검색 시스템에서 강력한 성능을 보였으며, 현재도 많은 기업에서 활용 중

2. 토큰화(Tokenization)와 텍스트 전처리

검색 시스템에서 입력된 쿼리(query)를 효율적으로 처리하려면, 토큰화(Tokenization) 과정이 필요합니다.

📌 토큰화의 주요 과정

1️⃣ 쿼리를 단어 단위로 분리

  • 예: "hot dog" → "hot", "dog"
  • 이렇게 하면 "hot dog"과 "dog"을 같은 의미로 취급하는 오류 발생 가능
  • 해결책: N-그램(N-gram)을 활용하여 "hot dog"을 하나의 단위로 인식

2️⃣ 불필요한 단어(Stop Words) 제거

  • "the", "a", "is" 같은 불필요한 단어 제거하여 검색 정확도 향상

3️⃣ 소문자 변환 및 문장 부호 제거

  • "Transformers." → "transformers"

NLP 라이브러리 활용

📌 예제: 텍스트 전처리 전후 비교

입력: "The Transformers movie was amazing!"
전처리 후: ["transformers", "movie", "amazing"]

3. 임베딩 기반 검색(Embedding-Based Retrieval)

📌 기존 검색 vs. 임베딩 검색

비교 항목 전통적 검색 (BM25, TF-IDF) 임베딩 검색 (Embedding-Based Retrieval)

검색 방식 키워드 기반 검색 의미 기반 검색 (Semantic Search)
키워드 필요성 정확한 키워드가 필요 키워드 없이도 의미적 유사성을 기반으로 검색 가능
유연성 단어 변형에 취약 (예: "AI" ≠ "인공지능") 의미적으로 유사한 단어도 검색 가능 (예: "AI" ≈ "인공지능")
계산 비용 상대적으로 낮음 벡터 연산 필요 (계산량 증가)
검색 정확도 단어 일치에 의존 문맥과 의미를 고려하여 더 정교한 검색 가능

임베딩 기반 검색은 의미(Semantic) 기반 검색을 가능하게 하며, 자연어 이해(NLU)가 중요한 작업에서 매우 효과적!


4. 임베딩 기반 검색의 원리

임베딩 검색은 텍스트를 벡터(Vector)로 변환하여 의미적으로 유사한 문서를 검색하는 방식입니다.

📌 임베딩 기반 검색의 주요 과정

1️⃣ 임베딩 모델을 사용하여 쿼리를 벡터로 변환

  • "What is deep learning?" → [0.32, 0.74, 0.11, …]2️⃣ 벡터 데이터베이스(Vector DB)에 저장된 문서 벡터들과 비교하여 유사도 측정
  • 코사인 유사도(Cosine Similarity) 또는 유클리디언 거리(Euclidean Distance)를 활용3️⃣ 유사도가 높은 문서를 검색하여 응답 생성

📌 임베딩 검색 구조 (Figure 6-3 참고)

  1. 데이터 전처리
    • 문서를 쪼개서(Indexing & Splitting) 저장
    • 문서를 임베딩(Embedding Model)하여 벡터 데이터베이스(VectorDB)에 저장
  2. 검색(Query Processing)
    • 사용자의 쿼리를 임베딩하여 벡터로 변환
    • 벡터 데이터베이스에서 가장 유사한 문서 검색
  3. 결과 생성
    • 검색된 문서를 기반으로 생성 모델(Generative Model)이 응답 생성

임베딩 검색은 RAG(Retrieval-Augmented Generation)에서 핵심적인 역할을 함!


5. RAG 시스템에서의 임베딩 검색 활용

임베딩 기반 검색은 RAG(Retrieval-Augmented Generation) 시스템에서 필수적인 기술입니다.

  • RAG 시스템에서는 외부 데이터를 검색하여 AI 모델의 답변을 보강
  • 기존의 BM25 방식보다는 임베딩 검색이 의미적으로 유사한 정보를 더 잘 찾아냄

📌 실제 사용 사례

챗봇(Chatbot): 고객의 질문을 의미적으로 이해하고 가장 관련성이 높은 문서를 검색하여 응답

검색 엔진(Search Engine): 키워드 일치뿐만 아니라 의미적으로 유사한 문서를 검색

추천 시스템(Recommendation Systems): 사용자의 선호도를 벡터화하여 유사한 콘텐츠 추천


6. 결론: 전통적인 검색 vs. 임베딩 검색, 어떤 방식이 더 좋을까?

📌 BM25 (전통적인 검색)

✅ 키워드 기반 검색이 필요할 때 유용

✅ 빠르고 계산 비용이 낮음

✅ 문서 길이를 고려하여 검색 정확도를 높일 수 있음

🚨 하지만 의미적으로 유사한 문서를 검색하는 데 한계가 있음

📌 임베딩 기반 검색

✅ 의미적으로 유사한 문서를 찾을 수 있음

✅ 자연어 이해(NLU)가 필요한 작업에서 뛰어난 성능 발휘

✅ 챗봇, AI 검색 엔진, RAG 시스템에서 필수적

🚨 하지만 벡터 연산이 필요하므로 계산 비용이 높고, 데이터베이스가 커질수록 검색 속도가 느려질 수 있음

📌 최신 트렌드: 하이브리드 검색(Hybrid Search)

  • BM25 + 임베딩 검색을 결합하여 최적의 성능 제공
  • 빠른 검색 속도(BM25) + 의미적 검색(임베딩)을 동시에 활용

미래의 검색 시스템은 "하이브리드 검색(Hybrid Search)"을 통해 최상의 검색 경험을 제공할 것이다!