BM25과 하이브리드 검색 통합 전략
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

BM25와 하이브리드 검색·리랭킹 파이프라인 통합 전략

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

검색 알고리즘, 정보 검색

대상자

- 정보 검색 시스템 개발자, 검색 엔진 아키텍처 설계자

- 자연어 처리(NLP) 및 머신러닝 모델과의 통합이 필요한 개발자

- 고성능 검색 시스템 설계에 관심 있는 데이터 엔지니어

핵심 요약

  • BM25는 하이브리드 검색 시스템에서 키워드 정확도를 보장하고, 리랭킹 파이프라인에서 뉴럴 모델과의 협업을 강화하는 핵심 알고리즘
  • RRF(Reciprocal Rank Fusion)와 가중치 조합을 통해 BM25와 벡터 검색 결과를 통합
  • RRF_score = sum(1 / (k + rank_position))
  • Final_score = α⋅BM25_score + (1−α)⋅Vector_score
  • BM25F는 필드 가중치를 적용해 제목, 본문 등 구조화된 데이터에 최적화
  • BM25F_score = Σ(wf ⋅ TFf / (k1 ⋅ (1−b + b ⋅ DLf/avgDLf) + TFf) ⋅ IDF)

섹션별 세부 요약

1. 하이브리드 검색 시스템의 BM25 역할

  • 키워드 기반 검색(BM25)과 의미적 벡터 검색을 결합해 정확도와 회수율 균형 유지
  • BM25는 키워드 정확도, 희귀 용어 우선순위 보장
  • 벡터 검색은 문맥적 관계 추출

2. Elasticsearch/Weaviate에서의 BM25-벡터 검색 통합

  • RRF 알고리즘
  • 두 검색 방법의 순위를 1/(k + rank_position) 공식으로 합성
  • 가중치 조합
  • α(0~1)로 BM25와 벡터 유사도 점수 조합 (예: Final_score = 0.8⋅BM25 + 0.2⋅Vector)

3. 지연 감수형 애플리케이션에서의 BM25 활용

  • 키워드 기반 필터링 후 벡터 검색 실행
  • SELECT * FROM documents WHERE bm25_match(query) ORDER BY vector_similarity DESC LIMIT 100
  • 불필요한 문서 제거로 계산 오버헤드 감소

4. BM25F: 필드 가중치 기반 확장

  • 제목, 본문 등 필드별 가중치(wf)를 적용한 BM25 확장
  • Weaviate에서 구조화된 데이터에 활용 (예: BM25F_score = wf1⋅TF1/(k1(1−b + b⋅DL1/avgDL1) + TF1) ⋅ IDF1 + wf2⋅TF2/...)

5. 리랭킹 파이프라인에서의 BM25 통합

  • BM25 점수를 리랭킹 모델의 입력 특성으로 주입
  • 예: {"document":"text", "bm25_score":0.85, "vector_score":0.92}
  • TREC Deep Learning Track 실험 결과
  • BM25 점수를 텍스트 토큰으로 추가 시 BERT 기반 리랭커의 MRR@10 성능 7.3% 향상
  • 네이버 리랭커 점수 동일 시 BM25로 순위 결정

```python

sorted_results = sorted(tied_results, key=lambda x: (x['rerank_score'], x['bm25_score']))

```

6. BM25의 한계와 해결 방안

  • 한계

- 의미적 관계(예: "car" vs. "automobile") 미비

- 저자원 언어의 장단말 쿼리 처리 불량

- 인덱스 간 점수 비교 불가 (연합 검색 복잡성)

  • 해결 방안

- BM25-기반 예선 필터링: BM25 < 1.5 이하 문서 제외

- 다국어 지원: Cohere Rerank, Vectara Multilingual 모델 활용

- 스플레이드(SPLADE) 하이브리드 모델: BM25 유사도와 BERT 성능 결합 (94% 속도, 98% 정확도)

7. 파라미터 튜닝 및 동적 가중치 설정

  • k1, b 조정:

- 기술 문서: k1=1.2, b=0.75

  • 쿼리 분류 기반 α 조정:

- 네비게이션 쿼리("Facebook 로그인"): α=0.8

- 탐색 쿼리("AI 윤리"): α=0.3

결론

  • BM25는 하이브리드 검색의 예선 필터링 및 리랭킹 모델의 특성 주입에 필수적
  • 최적화 전략:
  • BM25 → 벡터 검색 → 리랭킹 3단계 파이프라인 구축
  • BM25 점수를 텍스트 토큰으로 추가 또는 SPLADE 모델 활용
  • 고자원, 복잡한 의미적 쿼리엔 순수 뉴럴 리랭킹 적용