본문 바로가기

데이터/NLP 공부

[Ranking] BM25 (=Best Matching 25)

BM25

정의

BM25는 'Best Matching 25'의 줄임말

쿼리와의 관련성에 따라 문서의 연관성을 평가하여 순위를 매기는 데 사용되는 Ranking function에 사용되는 알고리즘이다. 

 

설명

기존의 TF-IDF (Term Frequency-Inverse Document Frequency) 의 변형으로, 

기존 TF-IDF 수식을 바탕으로하지만, 용어(term)와 문서(document)와의 관계를 더 잘 모델링하기 위해 추가 파라미터를 도입한다. 

 

Term Frequency (TF): term이 document에 나타나는 횟수

특정 문서에서 많이 언급된 term은 중요한 키워드일 것이라는 가정.

 

Inverse Document Frequency (IDF): 모든 document를 고려했을 때, document collection에서 특정 term이 희귀한 정도

모든 document에서 해당 term이 나타난 횟수의 역수를 취하므로, term이 나타난 횟수가 많을 수록 IDF값이 적어진다. 

IDF값이 클 수록 term이 document들에 공통적으로 나타나는 횟수가 적다는 뜻이므로, 주요하게 봐야 하는 단어.

예를 들어, The, This, That, What, a/an 등과 같이 모든 문서에 어디에나 공통적으로 나타나는 단어이지만 큰 의미가 없는 단어일 경우 IDF값이 매우 작게 나타나게 되어, 해당 term의 ranking은 낮아진다.

 

Document length normalization (문서 길이 정규화)

문서 길이가 길면 관련성이 떨어지더라도 자연스럽게 term이 많이 나타날 수 있다는 사실을 고려하기 위한 조정(adjustment)방법.  

예를 들어, 10페이지의 문서에서 term이 한번 언급되는 것과, 트위터 와 같이 짧은 문장에서 term이 한 번 언급되는 경우, 두 번째 경우가 더 의미있다고 간주한다. 

 

b: 문서 길이 정규화 구성요소 스케일 제어

일반적으로 0.75를 쓴다고 함. 

 

 

k1: 용어 빈도 

Elastic Search에서 k1=1.2로 설정되어 있다고 함. 

 

 

 

 

 

 

활용 분야

Information Retrieval(정보 검색)분야 , 특히 검색 엔진

 


참고한 자료

ChatGPT

https://velog.io/@jkl133/BM25

'데이터 > NLP 공부' 카테고리의 다른 글

[ML] Metrics  (0) 2023.04.09
[IR] Beam Search  (0) 2023.04.09
(-ing) [NLP] 쉽게 설명하는 RNN과 LSTM 그리고 Transformer 까지의 흐름  (0) 2023.04.04