하이브리드 검색

[Dense 검색][BM25]함께 쓰는 것.

왜 합치나

둘이 서로 다른 실패를 한다.

Dense가 놓치는 것BM25가 놓치는 것
ISO 4373 같은 코드사업기간용역기간 같은 표현 차이

한쪽이 놓친 걸 다른 쪽이 잡아주면 전체가 좋아진다 — 단, 두 검색기의 실력이 비슷할 때만 그렇다.

실력 차가 크면 안 된다

40문항 예비 측정에서는 이 조건이 성립하는 듯 보였다.

조건DenseBM25하이브리드 이득
전체 코퍼스0.5770.349+0.002 (효과 없음)
문서 한정0.5770.532+0.073

“BM25를 제 실력 나오는 조건(문서 한정)에 두면 합치는 의미가 생긴다”고 읽었다.

그런데 164문항에서 뒤집혔다 (e5-small 베이스)

조건Dense하이브리드이득
전체 코퍼스0.63590.6004−0.036
문서 한정0.64020.6096−0.031

양쪽 모두 손해. 36문항짜리 이득은 노이즈였다.

교훈이 둘이다.

  1. 소표본에서 나온 +0.07은 근거가 못 된다 — 이득 문항이 16개뿐이었다
  2. 크로스인코더 리랭커가 있으면 하이브리드는 무의미하다 — 리랭커가 후보를 자기 점수로 재정렬하므로 RRF가 만든 순서가 통째로 지워진다

상세 → 검색 실험 결과

합치는 방법

RRF가 표준이다. 점수 척도가 다른 문제를 등수만 써서 회피한다.

관련

Dense 검색 · BM25 · RRF · 크로스인코더 리랭커