WeDoSoft
디지털 전환

"야구공은 과일이 아니에요" 임베딩 검색의 한계를 넘는 영리한 방법

We Do Soft

임베딩 없이도 똑똑한 검색이 가능할까? BM25와 LLM의 영리한 만남

최근 몇 년간 검색 기술의 혁신은 '임베딩(Embedding)'이라는 이름으로 대표되어 왔습니다. 단어를 벡터 공간에 배치하여 의미적 유사성을 계산하는 이 방식은, 키워드 매칭의 한계를 뛰어넘어 사용자의 의도를 정확히 파악하는 '시맨틱 검색(Semantic Search)' 시대를 열었죠. 하지만 이 강력한 기술에도 그림자는 존재합니다. 과연 임베딩만이 똑똑한 검색의 유일한 해답일까요? 우리는 이제 전통적인 검색 알고리즘인 bm25와 최신 언어 모델(llm)의 영리한 결합을 통해, 임베딩 없이도 강력한 시맨틱 검색을 구현하는 새로운 길을 모색해볼 수 있습니다.

벡터 검색의 그림자: 임베딩이 놓치는 것들

임베딩 기반의 벡터 검색은 분명 혁신적이지만, 몇 가지 근본적인 한계를 안고 있습니다. 가장 큰 문제는 '매칭 부재(Mismatch)'입니다. 예를 들어, 사용자가 "빨간색 과일"을 검색했을 때, 임베딩 모델이 학습하지 못한 새로운 종류의 빨간색 과일이 데이터베이스에 있다면, 아무리 유사한 벡터 공간에 있더라도 정확한 결과를 도출하기 어렵습니다. 이는 특히 빠르게 변화하는 산업이나 전문 분야에서 치명적인 약점이 될 수 있습니다.

A shadowy figure standing in front of a complex network of interconnected vectors, symbolizing the limitations and blind spots of vector search

또 다른 문제는 '콜드 스타트(Cold Start)' 문제입니다. 새로운 문서나 데이터가 추가될 때마다 해당 데이터에 대한 임베딩을 생성하고 인덱스를 업데이트해야 하는데, 이 과정은 상당한 시간과 컴퓨팅 자원을 요구합니다. 또한, 임베딩 모델 자체의 편향성이나 학습 데이터의 한계로 인해, 모델이 의도하지 않은 방식으로 의미를 해석하거나 중요한 맥락을 놓치는 경우도 발생합니다. 이러한 한계들은 임베딩 기반 검색이 모든 상황에서 만능이 아님을 시사하며, 보다 안정적이고 유연한 대안의 필요성을 제기합니다.

전통과 혁신의 만남: BM25와 LLM의 시너지

이러한 임베딩의 한계를 극복하기 위해, 우리는 전통적인 키워드 기반 검색의 대명사인 bm25(Best Match 25)와 최신 llm의 지능을 결합하는 방식을 제안합니다. bm25는 문서 내 키워드의 빈도와 역문서 빈도(IDF)를 계산하여 관련성을 측정하는 매우 빠르고 안정적인 알고리즘입니다. 하지만 bm25는 단어의 의미적 유사성을 파악하지 못한다는 고질적인 문제가 있었죠.

이때 llm이 등장하여 bm25의 약점을 보완합니다. llm은 단순히 키워드를 매칭하는 것을 넘어, 사용자의 쿼리가 내포하는 '의도'를 파악하고, 데이터베이스 내의 문서들을 의미적으로 분류하는 '관리형 분류 체계(taxonomy)'를 구축하는 데 활용됩니다. 즉, llm은 검색의 '지능'을 담당하고, bm25는 검색의 '속도와 안정성'을 담당하는 영리한 분업 구조가 탄생하는 것입니다. 이 조합은 임베딩 생성 및 관리의 복잡성을 제거하면서도, 시맨틱 검색의 정확도를 유지하거나 오히려 향상시키는 결과를 가져올 수 있습니다.

계층적 토큰화와 LLM의 분류 마법

그렇다면 이 새로운 검색 시스템은 어떻게 작동할까요? 핵심은 '계층적 토큰화(Hierarchical Tokenization)'와 llm을 활용한 분류 과정에 있습니다. 먼저, 데이터베이스의 모든 문서는 llm에 의해 의미적으로 분석되고, 계층적인 분류 체계에 따라 태그가 지정됩니다. 예를 들어, "빨간색 사과"라는 문서는 '과일' > '사과' > '색상: 빨강'과 같은 방식으로 계층적으로 토큰화될 수 있습니다.

A complex flow chart showing data being processed through hierarchical tokenization and then categorized by an LLM into a structured taxonomy

사용자가 "빨간색 과일"을 검색하면, llm은 이 쿼리를 분석하여 가장 적절한 분류 태그(예: '과일', '빨강')를 생성합니다. 이후, 이 태그들은 bm25 알고리즘의 입력으로 사용되어, 해당 태그를 포함하는 문서를 빠르게 검색합니다. 이 방식은 단순히 '빨간색'과 '과일'이라는 단어가 포함된 문서를 찾는 것을 넘어, llm이 부여한 의미적 맥락(taxonomy)을 통해 검색의 정확도를 비약적으로 높입니다. 예를 들어, "야구공"을 검색하면 llm은 이를 '스포츠 장비' > '구기 종목' > '야구'로 분류하여, '야구공'이라는 단어가 직접 언급되지 않은 관련 문서까지도 찾아낼 수 있게 됩니다.

'환각'을 이용한 매칭 최적화: LLM의 역발상 활용

이 시스템의 가장 흥미로운 부분 중 하나는 llm의 '환각(Hallucination)' 특성을 역이용하는 것입니다. 일반적으로 llm의 환각은 부정적인 것으로 간주되지만, 여기서는 검색 매칭을 최적화하는 도구로 활용됩니다. llm은 사용자의 쿼리를 분석한 후, 해당 쿼리와 관련될 수 있는 다양한 '가상의 키워드'나 '대체 표현'을 생성하도록 요청받습니다.

예를 들어, 사용자가 "오렌지색 과일"을 검색했을 때, llm은 '오렌지', '귤', '감귤류'와 같은 직접적인 키워 외에도, '비타민 C가 풍부한 과일', '겨울철 과일' 등 의미적으로 연관된 확장 키워드를 생성합니다. 이 확장된 키워드 목록은 bm25 검색에 추가적인 입력으로 사용되어, 검색 범위를 넓히고 정확도를 높입니다. 이는 임베딩 모델이 학습하지 못한 새로운 의미적 연결고리를 llm이 실시간으로 생성해냄으로써, 콜드 스타트 문제나 매칭 부재 문제를 효과적으로 해결하는 혁신적인 접근 방식입니다.

A stylized brain icon with light bulbs flickering around it, representing the creative and unexpected use of LLM 'hallucination' for search optimization

결론적으로, 임베딩 없는 시맨틱 검색은 단순한 키워드 매칭을 넘어, llm의 강력한 의미 이해 능력과 bm25의 안정적인 검색 속도를 결합한 새로운 패러다임을 제시합니다. 이 방식은 임베딩 관리의 복잡성을 줄이고, 데이터의 변화에 유연하게 대응하며, 더욱 정확하고 맥락적인 검색 결과를 제공할 수 있는 잠재력을 가지고 있습니다. 검색 기술의 미래는 반드시 하나의 기술에만 의존할 필요가 없으며, 전통과 혁신이 만나 시너지를 창출할 때 더욱 강력해질 수 있음을 보여주는 사례입니다.

[출처] https://softwaredoug.com/blog/2026/01/08/semantic-search-without-embeddings.html