TF-IDF의 변형
$$ \operatorname{score}(D, Q)=\sum_{i=1}^n \operatorname{IDF}\left(q_i\right) \cdot \frac{TF\cdot\left(k_1+1\right)}{TF+k_1 \cdot\left(1-b+b \cdot \frac{|D|}{\text { avgdl }}\right)} $$
$$ \operatorname{score}(D, Q)=\sum_{i=1}^n TF(q_i)\cdot IDF(q_i)\cdot\frac{\left(k_1+1\right)}{1+\frac{k_1}{TF(q_i)} \cdot\left(1-b+b \cdot \frac{|D|}{\text { avgdl }}\right)} $$
$TF(q_i):$ log를 취하지 않은 문서 내 $q_i$의 빈도를 의미한다.
$k_1:$ Saturation 정도를 조절하는 하이퍼 파라미터
하나의 토큰이 문서 점수에 줄 수 있는 영향을 제한한다.
해당 값 덕분에 TF-IDF에서 TF가 무작정 커질수록 문서 점수가 올라가는 문제점을 해결한다.
Elastic Search에서는 $k_1 = 1.2$로 설정되어 있다.
$\frac{|D|}{\text{avgdl}}:$ 문서 $D$의 상대적 길이를 의미한다.
$b:$ 문서 길이의 영향력을 조절한다.
b 값이 작을수록 문서의 길이가 점수에 적게 반영된다.