35

BM25 알고리즘: 키워드 검색의 수학

Day 2: Hybrid Search

학습 목표

BM25 공식의 각 요소(TF, IDF, 문서 길이 정규화)를 이해한다 k1, b 파라미터의 역할을 설명할 수 있다 제조 문서에 최적화된 BM25 파라미터를 선택할 수 있다

BM25: 30년 된 알고리즘이 아직도 강력한 이유

"임베딩이면 다 되는 거 아니야? 왜 옛날 알고리즘을 배워?"

BM25(Best Matching 25)는 1994년에 만들어졌다. 30년이 지났지만 정확한 키워드 매칭에서는 여전히 최고다.

Elasticsearch, Lucene, Solr... 모든 검색 엔진의 기본이 BM25다.


BM25 공식 해부

에디터 로딩 중...

복잡해 보이지만, 세 가지 요소의 곱이다:

1. IDF (역문서 빈도): "희귀한 단어일수록 중요"

에디터 로딩 중...

제조 예시:

에디터 로딩 중...

"설비"를 검색해도 별 도움이 안 되지만, "E-4521"은 딱 그 문서를 찾아준다. IDF 덕분이다.

2. TF (단어 빈도): "많이 나올수록 관련 있다"

에디터 로딩 중...

k1의 역할:

에디터 로딩 중...

"OEE"가 10번 나오는 문서가 1번 나오는 문서보다 관련성이 높지만, 10배 더 좋진 않다. 이것이 "포화(saturation)" 효과다.

3. 문서 길이 정규화: "긴 문서에 불이익"

에디터 로딩 중...

b의 역할:

에디터 로딩 중...

제조 문서 최적화 파라미터

파라미터기본값제조 권장이유
k11.21.2기본값이 대부분 적합
b0.750.5제조 문서 길이 편차가 크므로 약한 정규화

왜 b=0.5인가?

제조 문서의 특성:

  • SOP: 200단어 (짧음)
  • 장비 매뉴얼: 10,000단어 (김)
  • 도면 설명: 50단어 (매우 짧음)

길이 차이가 극심하다. b=0.75면 짧은 도면 설명이 과도하게 유리해진다. b=0.5로 완화하면 문서 길이에 덜 민감해진다.


한국어 + 제조 용어 토크나이징 전략

BM25의 핵심은 토크나이저다. 한영 혼합이 많은 제조 문서에서는 주의가 필요하다.

에디터 로딩 중...

BM25 vs Semantic 정리

특성BM25Semantic
정확한 코드/번호강함약함
동의어 이해약함강함
문맥 이해약함강함
속도빠름 (인덱스)느림 (임베딩)
설명 가능성높음 (TF-IDF)낮음 (블랙박스)
다국어설정 필요좋음
신조어/전문용어바로 가능학습 필요