Tf-idf
ここで、tf-idfは次のように計算される。
t f i d f ( t , d , D ) = t f ( t , d ) ⋅ i d f ( t , D ) {\displaystyle \mathrm {tfidf} (t,d,D)=\mathrm {tf} (t,d)\cdot \mathrm {idf} (t,D)}
tf-idfの重みが高くなるのは、(与えられた文書内で)その単語の単語頻度(term frequency, tf)が高く、かつ、文書集合全体においてその単語の文書頻度(document frequency, df)が低い場合である。それゆえに、重みは普遍的な語をフィルタする傾向がある。idfの対数内の分数は常に1以上となるため、idf(とtf-idf)の値は常に0以上になる。単語がより多くの文書に現れる場合、対数の中の分数は1に近づき、それゆえにidfとtf-idfは0に近づく。
"the"という語が非常に普遍であるために、より意味のある単語である"brown"や"cow"に十分な重みを与えず、term frequencyは、"the"という語をより高頻度に含む文書を誤って強調してしまう傾向がある。"the"という語は、普遍的ではない"brown"や"cow"という語とは異なり、文書や単語がクエリに関連している・関連していないと区別するためのキーワードとしてよいものではない。それゆえに、文書集合において非常に出現頻度の高い語の重みを減らし、珍しい語の重みを増加させるため、inverse document frequencyが用いられている。
Karen Spärck Jones(英語版)(1972) はInverse Document Frequency (idf) と呼ばれる単語の特異性の統計的解釈を考案し、その考えは単語の重み付けの基礎概念となっている。
tf-idfの背後にある考えは、単語以外の存在にも応用される。1998年にはidfのコンセプトが引用分析に応用された。筆者は「もし非常に珍しい引用が2つの文書によって共有されたならば、その引用された文書はたくさんの文書によって引用されている文書よりもより高く重み付けされるべきである。」と主張した。加えて、動画や内における物体マッチングを行うための「visual words(英語版)」や全文検索にもtf-idfは応用されている。しかし、tf-idfのコンセプトは、すべての手法において、単純な(idf成分を除いた)tfのみの手法よりも効果的であるという証明はされていない。tf-idfを引用分析に応用する際には、研究者はidf重みをもたない単純な引用回数重みを超える精度向上を確認することができなかった。
term frequency (tf) は文書dの中での、語tの相対度数である。 t f ( t , d ) = f t , d ∑ t ′ ∈ d f t ′ , d {\displaystyle \mathrm {tf} (t,d)={\frac {f_{t,d}}{\sum _{t'\in d}{f_{t',d}}}}} ,
ft,dは文書に含まれるその語の出現頻度(raw count)である。すなわち、語tが文書dに何回出現したかを意味する。単純には、分母には文書dに含まれる単語数を用いる(この場合、同じ単語が複数出現しても区別して数える)。tf(t,d)の定義は他にも様々なものがある。
ブール代数に基づく「頻度」(binary): tがdに存在すれば、 tf(t,d) = 1、 それ以外の場合はtf(t,d) = 0;
出現頻度をそのまま用いる(raw count): tf(t,d) = ft,d;