TFIDF とは、自然言語処理で使われる「とある文書における,とある単語の重要度」を表す指標です。このページでは、TFIDFの意味や計算方法について詳しく解説します。
TFIDFとは
TFIDF は、単語 $w$ と文書 $d$ ごとに決まる量なので、$\mathrm{TFIDF}(w,d)$ と書くことにします。
では「文書 $d$ における単語 $w$ の重要度」をどのように定義すればよいでしょうか?
TFIDF では,以下の2つの考え方に基づいて重要度を計算します:
1. 文書 $d$ 内で出現頻度が高い単語ほど、その文書の特徴を表すのに重要
2. ただし、一般的にどの文書にも登場する「a」とか「the」などの単語は重要ではない
つまり、TFIDF は
1の意味での重要度を表す $\mathrm{TF}(w,d)$ と
2の意味での重要度を表す $\mathrm{IDF}(w)$
の積で定義されます:
$\mathrm{TFIDF}(w,d)=\mathrm{TF}(w,d)\times\mathrm{IDF}(w)$
1. 出現頻度が高い単語ほど重要
次に、TF と IDF の意味をそれぞれ解説します。
まずは
1. 文書 $d$ 内で出現頻度が高い単語ほど、その文書の特徴を表すのに重要
という意味での重要度を表す TF からです。
・TF は、Term Frequency(単語の出現頻度)の略です。
・単語 $w$、文書 $d$ ごとに定まる量なので、このページでは $\mathrm{TF}(w,d)$ と書くことにします。
・「単語の出現頻度」を定義する方法はいくつかありますが、例えば、単純に単語の出現回数とすることが多いようです。つまり、この定義では、$\mathrm{TF}(w,d)$ は、文書 $d$ に単語 $w$ が登場する回数です。
・TF が大きい単語ほど、よりたくさん登場する → 重要そうな単語 と考えることができそうです。
2. どの文書にも登場する単語は重要でない
次に、
2. 一般的にどの文書にも登場する「a」とか「the」などの単語は重要ではない
という意味での重要度を表す IDF の意味です。
・IDF は、Inverse Document Frequency の略です。
・a とか the とかは、出現頻度は多いですが、ほぼ全ての文書に登場するので、特定の文書の特徴をうまく表す単語ではありません。文書の特徴を抽出するには、多くの文書には登場しないような珍しい単語を考える必要があります。この「多くの文書には登場しなさそうな度合い」を表すのが IDF です。
・IDF は、単語 $w$ ごとに定まる量なので、このページでは $\mathrm{IDF}(w)$ と書くことにします。
・こちらも同じく定義が複数考えられますが、例えば、$\mathrm{IDF}(w)=\log\dfrac{|D|}{n(w)}$ と定義されます。$D$ は文書数で、$n(w)$ は、$w$ が含まれる文書数です。例えば、考えている文書の総数が $100$ で、そのうち $w$ が $5$ 個の文書に登場する場合、$\mathrm{IDF}(w)=\log 20$ となります。
・IDF が大きい単語ほど、多くの文書には登場しない → もし登場したら重要そうな単語 と考えることができます。
余談
TF-IDF のように、TF と IDF の間にハイフンを入れたほうが良さそうですが、数式内でハイフンがうまく出力できないので省略しました。
次回は 反射律、対称律、推移律の意味と例 を解説します。