# tf–idf > 특정 단어가 특정 문서 내에서 얼마나 중요한지를 계산하는 방법 중 하나. 특정 단어가 특정 문서 내에서 얼마나 중요한지를 계산하는 방법 중 하나. ## 직관적인 의미 다른 문서들에는 잘 안나오는 단어(즉 $idf(t, D)$가 높음)가 특정 문서에 유독 자주 나오면(즉 $tf(d, t)$가 높음), 그 단어는 해당 문서의 키워드일 가능성이 높다. ## Term frequency $tf(d, t)$는 특정 문서 $d$에서 특정 단어 $t$가 나오는 비율이다. 일반적인 계산식 중 하나: $$ tf(d,t) = \frac{f_{t,d}}{\sum_{t' \in d} f_{t', d}} $$ 위 식에서 $f_{t,d}$는 문서 $d$ 안에 단어 $t$가 나오는 빈도를 뜻한다. ## Inverse document frequency $idf(t, D)$는 전체 문서 집합 $D$ 중에서 단어 $t$가 담긴 문서가 얼마나 희소한지를 나타낸다. 희소할수록 값이 커진다. $$ idf(t, D) = log \frac{N}{n_t} $$ 위 식에서 $D$, $N$, $n_t$는 각각 다음과 같다: - $D$는 말뭉치를 구성하는 모든 문서의 집합 - $N$은 문서의 수, 즉 집합 $D$의 크기 $|D|$ - $n_t$는 단어 $t$가 한 번이라도 나오는 문서의 수, 즉 $|{d \in D : t \in d}|$. $t$가 말뭉치에 앖다면 분모가 0이므로 1을 더해주기도 한다(smoothing). 어떤 단어가 모든 문서에서 한 번 이상 나오면 $idf(t, D)$는 0이 된다. ## tf-idf tf-idf는 아래와 같이 구한다. $$ tfidf(t, d, D) = tf(t, d) \cdot idf(t, D) $$ ## See also - [Okapi BM25](https://wiki.g15e.com/pages/Okapi%20BM25.txt)