BM25란 무엇인가?

BM25는 정보 검색(IR, Information Retrieval) 분야에서 널리 사용되는 가중치 기반 검색 알고리즘입니다. 검색 쿼리와 문서 간의 유사도를 계산하여 관련도가 높은 문서를 반환하는 데 사용됩니다. BM25는 TF-IDF를 기반으로 확장된 모델로, 특히 텍스트 검색 시스템에서 효율성과 정확도를 높이는 데 매우 효과적입니다.


BM25의 핵심 개념

BM25는 TF-IDF의 한계를 보완하며, 문서 길이 정규화와 단어 빈도의 포화 현상을 고려하여 설계되었습니다. 이를 통해 텍스트 데이터의 가변성과 현실적인 단어 분포를 더 잘 반영합니다.

BM25의 주요 구성 요소

BM25의 점수 계산 공식은 다음과 같습니다:

  1. IDF (Inverse Document Frequency)
    • 단어가 전체 문서 집합에서 얼마나 드문지를 나타냅니다.
    • 자주 등장하는 단어는 낮은 가중치를, 드문 단어는 높은 가중치를 갖습니다.
  2. f(t, D)
    • 단어가 문서에서 등장한 빈도(TF, Tem Frequency)를 나타앱니다.
    • BM25는 단어 빈도의 포화 효과를 적용하여, 단어가 빈도가 증가해서 가중치가 무한히 증가하지 않도록 설계되었습니다.
  3. 문서 길이 정규화
    • 문서의 길이(단어 수)
    • 전체 문서 집합에서 평균 문서 길이
    • 문서 길이 정규화를 제어하는 하이퍼파라미터
    • 문서 길이를 무시합니다.
    • 문서 길이에 완전한 정규화를 적용합니다.
  4. (조정 파라미터)
    • 단어 빈도의 포화 정도를 제어하는 파라미터입니다.
    • 일반적으로 값은 1.2에서 2.0 사로 설정됩니다.

BM25의 특징

  1. 단어 빈도의 포화 효과
    • 단어가 여러번 등장한다고 해서 무조건적으로 가중치가 증가하지 않으므로, 더 현실적인 단어 중요도를 반영합니다.
  2. 문서 길이 정규화
    • 긴 문서와 짧은 문서 간의 불균형을 줄이고, 공정한 관련도 계산을 가능하게 합니다.
  3. 확장 가능성
    • 검색 엔진, 추천 시스템, 질문-응답 시스템 등 다양한 분야에서 사용됩니다.

BM25의 활용 사례

  1. 검색 엔진
    • BM25는 사용자가 입력한 검색 쿼리에 가장 관련성이 높은 문서를 반환하는 데 사용됩니다. 검색 엔진은 BM25를 통해 사용자 경험을 향상시킬 수 있습니다.
  2. 질문-응답 시스템
    • BM25는 질문에 대해 가장 적절한 답을 포함하는 문서를 데이터베이스에서 찾아내는 데 활용됩니다.
  3. 추천 시스템
    • 문서와 사용자 프로필 간의 매칭을 통해 개인화된 추천을 생성하는 데 사용됩니다.

BM25와 TF-IDF의 차이점

특징 TF-IDF BM25
문서 길이 고려 문서 길이를 고려하지 않음 문서 길이를 정규화하여 관련도를 계산
단어 빈도 효과 단어 빈도가 높을수록 선형적으로 가중치 증가 단어 빈도 증가가 제한적으로 반영됨
파라미터 유연성 추가 조정 파라미터 없음 하이퍼파라미터로 유연하게 설정 가능

간단한 예시

  • 쿼리 “고양이와 강아지”
  • 문서 1: “고양이는 귀엽다.”
  • 문서 2: “강아지는 사랑스럽다.”
  • 문서 3: “고양이와 강아지는 친구다.”

BM25는 각 문서에 대해 다음을 계산합니다.

  • IDF : “고양이”와 “강아지”의 희귀도를 계산합니다.
  • TF : 각 문서에서 “고양이”와 “강아지”가 등장하는 빈도를 고려합니다.
  • 문서 길이 : 각 문서의 길이를 고려하여 점수를 정규화합니다.

결과적으로, BM25는 쿼리와 가장 관련성 높은 문서를 반환합니다.


결론

BM25는 TF-IDF를 개선한 모델로, 문서 길이와 단어 빈도를 더 현실적으로 반영하여 검색 정확도를 높입니다. 검색 엔진, 추천 시스템 등 다양한 응용 분야에서 그 효과를 입증하고 있으며, 하이퍼파라미터를 조장하여 다양한 데이터셋에 최적화할 수 있습니다. 텍스트 검색이 필요한 프로젝트에서 BM25를 고려해볼 수 있습니다.