728x90
반응형
SMALL
1. BM25 개요
BM25(Best Matching 25)는 정보 검색(Information Retrieval, IR) 및 자연어 처리(NLP, Natural Language Processing) 분야에서 문서와 쿼리(Query) 간의 관련성을 평가하는 대표적인 랭킹 함수입니다.
📌 핵심 개념
- BM25는 TF-IDF의 개선된 형태로, 문서 길이 보정(Length Normalization)과 비선형적인 빈도 반영을 수행
- 검색 엔진, 챗봇, QA 시스템 등에서 문서의 랭킹을 결정하는 핵심 알고리즘
2. BM25 공식 및 수학적 해석
BM25는 쿼리 q와 문서 d가 주어졌을 때, 해당 문서가 쿼리에 얼마나 관련이 있는지를 측정하는 점수를 반환합니다.
2.1. 수식 요소 설명
- q: 사용자 입력 쿼리 (Query)
- d: 검색 대상 문서 (Document)
- qi : 쿼리 내 특정 단어 ii (Term in Query)
- TF(qi,d) : 문서 d내에서 단어 qi가 등장하는 빈도 (Term Frequency)
- IDF(qi) : 단어 qi의 역문서 빈도 (Inverse Document Frequency)
- ∣d∣ : 문서 d 의 총 단어 수
- avglen : 전체 문서의 평균 길이
- k1 : TF 스무딩(Smoothing)을 위한 가중치 (보통 1.2~2.0 사이의 값)
- b: 문서 길이 보정을 위한 파라미터 (보통 0.75)
3. BM25의 유도 과정과 가설 증명
BM25는 TF-IDF의 단점을 보완하고, 현실적인 검색 시스템에서 더 효과적인 점수 계산이 가능하도록 설계된 모델입니다.
이를 증명하는 주요 가설을 분석하면 다음과 같습니다.
3.1. 주요 가설 ①: 문서 내 단어 빈도(TF)가 높을수록 관련성이 높다
TF 반영 방식
- 기본적인 TF는 단어가 많이 등장할수록 중요도가 증가하지만, 과도하게 높은 TF가 있는 경우 과도한 가중치를 방지하기 위해 비선형적인 변환을 수행함.
- TF를 직접 사용하면 특정 단어가 문서에서 매우 많이 등장할 경우 랭킹이 왜곡될 수 있기 때문.
- 이를 해결하기 위해 BM25는 TF를 비선형 함수로 변환하여 문서 내 특정 단어가 과도하게 많은 경우 중요도를 조정함.
- k1이 클수록 TF의 증가에 따른 가중치 변화가 완만해짐.
- k1이 작으면 TF의 변화가 민감해져 적은 빈도의 단어에도 영향을 크게 줌.
📌 가설 증명:
TF가 증가할수록 중요도는 증가하지만, 그 증가 속도를 제한해야 과도한 편향을 막을 수 있다.
3.2. 주요 가설 ②: 문서가 너무 길면 검색 정확도가 낮아질 수 있다
문서의 길이가 길면 단어 등장 횟수(TF)가 자연스럽게 커지는데, 이렇게 되면 긴 문서일수록 높은 점수를 받는 문제가 발생할 수 있음.
이를 보정하기 위해 문서 길이 보정 (Length Normalization) 기법을 적용.
- 문서가 평균보다 길면 보정값이 커져 TF의 영향을 감소시키고,
- 문서가 평균보다 짧으면 보정값이 작아져 TF의 영향을 증가시킴.
📌 핵심: 길이가 긴 문서라고 해서 무조건 중요한 문서는 아니다.
📌 가설 증명:
문서의 길이가 길수록 TF도 증가하므로, 이를 보정하지 않으면 검색 결과가 왜곡될 수 있다.
3.3. 주요 가설 ③: 특정 단어가 희귀할수록 검색 결과에서 더 중요한 역할을 한다
IDF 반영 방식
- 특정 단어가 전체 문서에서 많이 등장하면 중요도가 낮아지고, 희귀한 단어일수록 중요도가 높아짐.
- IDF는 이를 반영하여 전체 문서에서 특정 단어의 희귀도를 측정하는 지표로 사용됨.
- DF(qi) : 특정 단어 qi 가 등장한 문서의 개수 (Document Frequency)
- N: 전체 문서 수
- 상수 0.5를 추가하여 IDF가 극단적으로 커지는 것을 방지하고, 문서가 적을 때도 안정적인 값을 유지하도록 함.
📌 가설 증명:
드문 단어일수록 의미 있는 검색어일 가능성이 높으므로, IDF를 적용해 가중치를 높인다.
4. BM25의 현실적 적용 및 기대값
4.1. BM25가 활용되는 분야
- 검색 엔진 (Search Engine)
- Google, Bing 등에서 문서와 쿼리의 유사도를 계산하는 핵심 알고리즘 중 하나.
- TF-IDF보다 더 정밀한 검색 결과 제공.
- 자연어 처리 (NLP, Natural Language Processing)
- 챗봇, 질의응답 시스템(QA, Question Answering)에서 적절한 문서를 찾는 데 활용.
- Wikipedia, Stack Overflow 같은 데이터베이스에서 답변을 찾을 때 사용.
- 추천 시스템 (Recommendation System)
- 사용자 리뷰 데이터에서 키워드를 추출하고, 문서 간의 유사도를 계산하는 데 활용.
- 법률 및 의료 문서 검색 (Legal & Medical Document Retrieval)
- 판례 검색, 의학 논문 검색 등에서 가장 관련성이 높은 문서를 찾는 데 사용됨.
4.2. BM25의 발전 가능성
- 기존 BM25의 한계를 개선한 BM25+, BM25F 등의 변형 모델이 등장하여 더 정교한 검색을 가능하게 함.
- 딥러닝 기반 검색 모델과 결합하여 하이브리드 검색 시스템을 구축하는 방향으로 발전 중.
5. 결론: BM25의 의의 및 정리
- BM25는 TF-IDF를 개선한 검색 랭킹 알고리즘으로, 검색 엔진 및 NLP에서 중요한 역할을 함.
- 단순한 TF-IDF보다 더 정밀한 검색 결과를 제공할 수 있도록 설계됨.
- 문서 길이 보정 및 단어 빈도 보정을 통해 현실적인 검색 시스템에서 효과적으로 활용됨.
- 검색 엔진, 챗봇, QA 시스템, 추천 시스템 등 다양한 응용 분야에서 사용됨.
- 딥러닝 모델과 결합하여 더 발전할 가능성이 크며, 앞으로도 검색 기술의 핵심 알고리즘 중 하나로 남을 것.
BM25는 단순한 TF-IDF보다 더 정확하고 현실적인 검색 결과를 제공하며, 향후 NLP 및 검색 엔진 분야에서 계속해서 핵심적인 역할을 할 것이다.
728x90
반응형
LIST
'인공지능 > 랭체인' 카테고리의 다른 글
4. Retrieval-Augmented Generation (RAG): 대규모 언어 모델(LLM)과 정보 검색의 결합 (0) | 2025.04.02 |
---|---|
(궁금) 시맨틱 검색(Semantic Search)와 코사인 유사도(Cosine Similarity)이란 뭘까? (0) | 2025.04.02 |
(궁금) TF-IDF (Term Frequency-Inverse Document Frequency)가 뭘까 (0) | 2025.04.01 |
3. LLM의 활용과 학습 과정: 이론적 접근과 응용 (0) | 2025.04.01 |
2. LLM 생성 과정 (데이터 수집, 모델설계, 모델학습, 평가 및 검증, 배포 및 유지보수) (0) | 2025.04.01 |
댓글