# [[TF-IDF 및 BM25]]

## 📌 Brief Summary
TF-IDF(단어 빈도-역문서 빈도)와 BM25는 전통적인 키워드 검색에서 검색 관련성을 계산하고 검색 결과의 순위를 매기기 위해 사용되는 알고리즘입니다 [1, 2]. TF-IDF는 특정 단어가 문서 내에서 쓰인 빈도와 전체 문서 집합에서 나타나는 빈도를 비교하여 단어의 중요도를 측정하며, BM25는 이 개념을 기반으로 널리 사용되는 가장 대중적인 모델입니다 [3, 4]. 이들은 역색인(Inverted index)과 결합하여 용어의 빈도와 문서 구조를 바탕으로 검색 결과의 순위를 결정하는 핵심 역할을 수행합니다 [2].

## 📖 Core Content
*   **작동 원리 및 개념**: TF-IDF는 문서 내에서 단어가 얼마나 자주 사용되는지를 측정하는 동시에, 역문서 빈도(Inverse document frequency)를 통해 해당 단어가 전체 말뭉치(Corpus)에서 얼마나 흔하거나 희귀한지를 비교하여 단어의 중요도를 조정합니다 [4]. 이는 과거의 "Bag of words" 방식을 한층 더 개선한 접근법입니다 [4]. BM25는 이러한 TF-IDF의 개념을 바탕으로 결과의 순위를 매기는 대표적인 텍스트 유사도 측정 모델입니다 [3, 5].
*   **전통적 검색에서의 역할**: 전통적인 키워드 검색 엔진은 역색인을 통해 검색어와 문서를 연결하며, 이때 TF-IDF나 BM25 알고리즘을 사용하여 단어의 빈도와 문서 구조를 기준으로 결과의 순위를 계산합니다 [2]. 이는 벡터 검색에서 코사인 유사도나 L2 거리 등을 사용하는 것과 대비되는 전통적인 텍스트 일치 기반의 관련성 계산 방식입니다 [1].
*   **최신 검색 시스템(LTR 및 RAG)에서의 활용**: 기계 학습을 활용하여 검색 순위를 최적화하는 LTR(Learning to Rank) 시스템에서, TF-IDF와 BM25 점수는 특정 질의에 대한 문서의 문맥적 정보를 제공하는 '질의-문서 피처(Query-document features)'로 사용됩니다 [6, 7]. 또한 최신의 검색 증강 생성(RAG) 환경에서도 하이브리드 RAG(Hybrid RAG) 아키텍처를 구성할 때, 밀집 벡터 검색(Dense vector search)의 의미론적 이해력과 BM25 같은 키워드 기반 검색의 정확한 일치(Exact-match) 검색 능력을 결합하여 보다 신뢰할 수 있는 결과를 도출하는 데 적극적으로 활용되고 있습니다 [8].

## ⚖️ Trade-offs & Caveats
TF-IDF와 BM25는 키워드의 정확한 일치(Exact match)를 기반으로 작동하기 때문에 단순하고 빠른 쿼리 처리에는 매우 효율적이지만, 언어의 모호성을 처리하거나 단어 간의 의미론적 관계를 이해하는 데는 근본적인 한계가 있습니다 [2, 9]. 예를 들어, 동의어 처리가 명시적으로 되어 있지 않다면 "dog"를 검색할 때 "canine"이나 "puppy"가 포함된 관련 문서를 누락할 수 있습니다 [9]. 따라서 의미와 문맥 파악이 중요한 비정형 데이터나 자연어 검색에서는 한계가 뚜렷하며, 이 때문에 최근에는 이러한 단점을 보완하고 정확도를 높이기 위해 의미론적 벡터 검색을 함께 사용하는 하이브리드 접근법(Hybrid approach)이 선호되는 추세입니다 [8, 10, 11].

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