BM25 검색 원리
BM25: 검색어와 문서 관련성을 TF, IDF, 문서 길이로 정교하게 계산하여 최적 검색 결과를 찾아주는 핵심 알고리즘.
BM25 검색 원리:
BM25는 어떤 문서가 특정 검색어에 얼마나 '관련'되어 있는지를 점수로 매기는 알고리즘입니다. BM25는 주로 세 가지 요소를 고려하여 점수를 매깁니다.
- 용어 빈도 (Term Frequency, TF):
- 개념: 검색어가 특정 문서에 얼마나 자주 등장하는가?
- 의미: 어떤 단어가 문서에 많이 나올수록 그 문서는 해당 단어와 관련성이 높을 가능성이 큽니다. 하지만 무작정 많이 나온다고 점수를 계속 높여주지는 않습니다. (예: 10번 나온 것과 100번 나온 것의 중요도 차이는 1번과 10번의 차이보다 작습니다.)
- 역문서 빈도 (Inverse Document Frequency, IDF):
- 개념: 검색어가 전체 문서 중에서 얼마나 희귀하게 등장하는가?
- 의미: '대한민국'처럼 거의 모든 문서에 나오는 단어보다는, 'BM25'처럼 특정 문서들에만 나오는 단어가 검색어로 들어왔을 때 더 중요한 단서가 됩니다. 즉, 희귀한 단어일수록 높은 가중치를 받습니다.
- 문서 길이 (Document Length):
- 개념: 문서의 길이를 고려합니다.
- 의미: 다른 조건이 같다면, 긴 문서보다 짧은 문서에 검색어가 등장했을 때 더 중요하게 간주될 수 있습니다. (문서가 길면 우연히 단어가 포함될 확률이 높기 때문입니다.)
결론적으로 BM25는 이 세 가지 요소(TF, IDF, 문서 길이)를 조합하여, 검색어와 가장 관련성이 높다고 판단되는 문서를 찾아 순위를 매기는 정교한 '점수 계산기'입니다.