TF-IDF(term frequency-inverse document frequency、単語頻度・逆文書頻度)は、コレクションまたはコーパス内の文書において、ある単語がどれほど重要であるかを反映することを目的とした数値統計量である。これは、文書内での用語の出現頻度を測定する単語頻度(TF)と、多くの文書に頻繁に出現する用語の重みを下げる逆文書頻度(IDF)という2つの要素の積である。この手法は1970年代に開発され、機械学習やニューラルネットワークに基づくアプローチが台頭する以前に、情報検索、テキスト分類、検索エンジンのランキングにおける基礎的な手法となった。
TF-IDFの背後にある核心的な直感は、単一の文書内で頻繁に出現するが、コーパスの他の部分ではまれにしか出現しない用語は、その文書の内容をよく表している可能性が高いということである。逆に、「the」や「and」のような一般的な単語はほぼすべての文書に出現するため、識別力はほとんどない。局所的な頻度と全体的な希少性を組み合わせることで、TF-IDFは各用語と文書のペアに重みを割り当て、文書を高次元空間のベクトルとして表現することを可能にし、類似度計算やクラスタリングを可能にする。
歴史的発展
文書頻度による用語の重み付けの概念は1950年代から1960年代に遡り、Xerox PARCのハンス・ピーター・ルーンらによる初期の研究がある。TF-IDFの現代的な定式化は、1972年に「A Statistical Interpretation of Term Specificity and Its Application in Retrieval」と題する画期的な論文を発表したカレン・スパーク・ジョーンズに帰せられることが多い。彼女の研究は、逆文書頻度の要素を対数スケーリング係数として確立した。その後、コーネル大学のジェラード・サルトンとその同僚による改良により、TF-IDFはSMART情報検索システムに統合され、標準的な研究プラットフォームとなった。
数学的定式化
文書 \( d \) 内の用語 \( t \) について、単語頻度 \( tf(t,d) \) は通常、出現回数の生のカウントであるが、対数スケーリングやバイナリ存在を使用する変種もある。逆文書頻度は次のように定義される:
\[ idf(t) = \log \frac{N}{df(t)} \]
ここで、\( N \) はコーパス内の文書の総数、\( df(t) \) はその用語を含む文書の数である。TF-IDFの重みは次のようになる:
\[ tfidf(t,d) = tf(t,d) \times idf(t) \]
実際には、コーパスに存在しない用語のゼロ除算を避けるために平滑化が追加されることが多く、文書ベクトルには長さの偏りを軽減するための正規化(L2正規化など)が適用される。
情報検索における応用
古典的な情報検索システムでは、TF-IDFの重みを使用して、ユーザーのクエリに対する文書のランキングを決定する。クエリはTF-IDFの重みのベクトルとして表現され、文書はクエリベクトルと各文書ベクトルのコサイン類似度によってランク付けされる。サルトンによって普及したこのベクトル空間モデルは、1980年代から1990年代の検索エンジンにおける支配的なアプローチであった。TF-IDFはまた、文書クラスタリング、キーワード抽出、自動要約など、多くのテキストマイニングタスクの基盤となっている。
限界と現代の文脈
TF-IDFにはいくつかの既知の限界がある。用語を独立したものとして扱い、意味的な関係や単語の順序を無視する。また、短い文書やクエリでは、用語の重なりがまばらであるため、パフォーマンスが低下する。大規模言語モデルやトランスフォーマーベースのアーキテクチャの登場により、文脈上の意味を捉える密なベクトル埋め込みが多くのタスクでTF-IDFに取って代わった。しかし、TF-IDFはベースラインとして、伝統的な機械学習モデルの特徴として、また計算リソースが限られた領域で、依然として広く使用されている。また、疎な信号と密な信号を組み合わせたハイブリッド検索システムの一般的な構成要素でもある。
変種と拡張
TF-IDFにはいくつかの変種が存在し、用語頻度の飽和と文書長の正規化を導入するBM25(Best Matching 25)が含まれ、現代の検索システムではしばしば好まれる。他の拡張には、品詞タグ付けの組み込みや、サブリニアTFスケーリングの使用がある。1990年代にスティーブン・ロバートソンとカレン・スパーク・ジョーンズによって開発されたOkapi BM25ランキング関数は、情報検索における標準であり、Elasticsearchのような多くのオープンソース検索エンジンで使用されている。