# [[BM25]]

## 📌 Brief Summary
BM25는 정보 검색(IR) 시스템과 전통적인 키워드 기반 검색에서 널리 사용되는 대표적인 확률 모델이자 랭킹 알고리즘이다 [1-3]. 이 알고리즘은 용어의 빈도와 문서의 길이 등 다양한 구조적 요소를 평가하여 특정 쿼리와 문서 간의 관련성 확률을 산출하고 순위를 매긴다 [2, 3]. 최근에는 텍스트 유사도를 측정하는 단독 모델을 넘어, 의미론적 벡터 검색과 결합된 하이브리드 검색(Hybrid Search)이나 검색 증강 생성(RAG) 파이프라인에서 정확도를 보완하는 핵심 요소로 활발히 활용되고 있다 [4, 5].

## 📖 Core Content
* **관련성 확률 및 랭킹 산출**: BM25는 전통적인 검색 엔진에서 용어 빈도(Term Frequency)와 역문서 빈도(IDF) 등 가중 통계를 기반으로 검색 결과의 순위를 매기는 역색인(Inverted index) 기반 알고리즘이다 [1-3, 6]. 이는 텍스트의 유사도를 측정하는 주요 방법론 중 하나로 기능한다 [7].
* **학습 기반 랭킹(LTR)에서의 활용**: 기계 학습을 이용해 검색 순위를 최적화하는 LTR(Learning To Rank) 모델에서 BM25 점수는 매우 중요한 쿼리-문서 간 피처(Feature) 데이터로 사용된다 [8]. 예를 들어 문서의 제목, 본문, 앵커 텍스트, URL 영역 등에 대한 BM25 점수가 랭킹 모델의 학습 데이터(예: LETOR 데이터셋)로 포함되어 관련성을 평가하는 데 기여한다 [9].
* **1차 문서 검색(Top-k Retrieval) 모델로의 역할**: BM25는 연산 비용이 낮고 빠른 쿼리 평가가 가능하다는 특징이 있다 [6, 10]. 따라서 복잡하고 계산 비용이 많이 드는 기계 학습 기반 랭킹 모델을 적용하기 전에, 전체 코퍼스 중에서 잠재적으로 관련성이 높은 소수의 문서 집합을 1차로 빠르게 추출해 내는 모델로 유용하게 쓰인다 [10].
* **하이브리드 검색 파이프라인 통합**: 최신 AI 검색 아키텍처에서는 밀집 벡터 검색(Dense Vector Search)과 전통적인 키워드 기반 검색인 BM25를 결합하는 '하이브리드 검색(Hybrid Search)' 방식이 널리 채택되고 있다 [4, 5]. 이 결합을 통해 검색 엔진은 벡터 기반의 의미론적 이해력을 얻으면서도, 고유 명사나 전문 용어에 대한 정확한 일치(Exact-match) 검색의 강점을 잃지 않고 더욱 신뢰할 수 있는 결과를 도출할 수 있다 [4, 5].

## ⚖️ Trade-offs & Caveats
BM25와 같은 키워드 기반 알고리즘은 정확한 명칭이나 키워드를 검색할 때 직관적이고 쿼리 평가 속도가 빠르며 컴퓨팅 연산 비용이 낮다는 뚜렷한 장점이 있다 [6, 10]. 하지만 단어의 물리적 일치 여부나 표면적인 형태, 빈도에 의존하기 때문에 검색어의 숨겨진 문맥(Context)이나 유의어, 사용자의 의도를 깊이 있게 파악하는 데는 근본적인 한계가 존재한다 [2, 6]. 예를 들어, 사용자가 입력한 단어가 동음이의어(예: 프로그래밍 언어로서의 'Java'와 커피로서의 'Java')일 경우 이를 구분하지 못하고 엉뚱한 결과를 반환할 위험이 있다 [2]. 결과적으로 모호하거나 의미론적인 관계 파악이 필수적인 검색 환경에서는 BM25 단독 사용이 오히려 정확도를 떨어뜨릴 수 있으므로, 벡터 기반의 의미론적 검색을 보완재로 함께 사용하는 하이브리드 접근법을 채택해야만 정밀도와 문맥 이해력을 온전히 확보할 수 있다 [2, 4, 5].

---
*Last updated: 2026-05-04*