BM25

BM25은 질의어와 문서의 단어 빈도·역문서 빈도·문서 길이를 결합해 검색 관련성을 점수화한다 정보 검색 순위 함수 분야에서 사용되며, 자료에 대한 조작·검색·집계 결과를 계산하는 중요한 기법이다. 자료의 표현과 계산 모델을 구분해 설계하면 결과의 정확성 및 시간·공간 비용을 체계적으로...

분류알고리즘 · 정보 검색 순위 함수
목적질의어와 문서의 단어 빈도·역문서 빈도·문서 길이를 결합해 검색 관련성을 점수화한다
처리 방식질의어별 빈도 항을 포화 함수로 조절하고 문서 길이 정규화를 적용한다
복잡도·성능질의어가 나타난 역색인 posting 조회량에 의존
필수 조건토큰화·문서 길이·문서 빈도와 파라미터 선택이 필요하다
참고 문헌기술 참고 자료
관련 분야알고리즘, 자료구조

BM25은 질의어와 문서의 단어 빈도·역문서 빈도·문서 길이를 결합해 검색 관련성을 점수화한다 정보 검색 순위 함수 분야에서 사용되며, 자료에 대한 조작·검색·집계 결과를 계산하는 중요한 기법이다. 자료의 표현과 계산 모델을 구분해 설계하면 결과의 정확성 및 시간·공간 비용을 체계적으로 분석할 수 있다.[1]

처리 과정은 질의어별 빈도 항을 포화 함수로 조절하고 문서 길이 정규화를 적용한다. 일반적으로 k1과 b 매개변수로 용어 빈도의 영향과 길이 보정을 제어한다. 실제 구현에서는 각 단계의 결과가 어떤 의미를 갖는지 불변식을 정하고, 입력·갱신·질의의 처리 경로를 구분한다.

성능은 질의어가 나타난 역색인 posting 조회량에 의존 올바르게 적용하려면 토큰화·문서 길이·문서 빈도와 파라미터 선택이 필요하다 데이터의 범위와 해시·비교·수치 처리 규칙, 실패 시의 동작 등을 명확히 해야 구현체에 따라 결과가 달라지는 상황을 줄일 수 있다.

활용 및 관련 기법과 비교하면 문서 검색 엔진의 고전적인 어휘 순위 기법이다. 문장 의미의 직접적인 이해와는 달리 통계적 단어 일치에 기반한다. 성능 평가에서는 초기 자료구조 구성과 질의·갱신, 저장 공간을 분리하여 분석하고, 실제 하드웨어의 캐시 및 메모리 접근 비용도 함께 고려한다.[2]

역사와 기원

문제 정의

입력

연산과 출력

설계 구조

핵심 아이디어

자료 표현

처리 단계

정확성과 한계

계산 복잡도

시간 복잡도

공간 복잡도

구현

의사 코드

최적화

경계 조건

변형과 관련 알고리즘

활용 분야

관련 문서

  1. 관련 기술 문헌 ↩
  2. MIT Algorithms and Data Structures ↩