35분
BM25 알고리즘: 키워드 검색의 수학
Day 2: Hybrid Search
BM25 알고리즘: 키워드 검색의 수학
RAG 심화 > 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의 역할:
에디터 로딩 중...
제조 문서 최적화 파라미터
| 파라미터 | 기본값 | 제조 권장 | 이유 |
|---|---|---|---|
| k1 | 1.2 | 1.2 | 기본값이 대부분 적합 |
| b | 0.75 | 0.5 | 제조 문서 길이 편차가 크므로 약한 정규화 |
왜 b=0.5인가?
제조 문서의 특성:
- SOP: 200단어 (짧음)
- 장비 매뉴얼: 10,000단어 (김)
- 도면 설명: 50단어 (매우 짧음)
길이 차이가 극심하다. b=0.75면 짧은 도면 설명이 과도하게 유리해진다. b=0.5로 완화하면 문서 길이에 덜 민감해진다.
한국어 + 제조 용어 토크나이징 전략
BM25의 핵심은 토크나이저다. 한영 혼합이 많은 제조 문서에서는 주의가 필요하다.
에디터 로딩 중...
BM25 vs Semantic 정리
| 특성 | BM25 | Semantic |
|---|---|---|
| 정확한 코드/번호 | 강함 | 약함 |
| 동의어 이해 | 약함 | 강함 |
| 문맥 이해 | 약함 | 강함 |
| 속도 | 빠름 (인덱스) | 느림 (임베딩) |
| 설명 가능성 | 높음 (TF-IDF) | 낮음 (블랙박스) |
| 다국어 | 설정 필요 | 좋음 |
| 신조어/전문용어 | 바로 가능 | 학습 필요 |