TF-IDF

Term Frequency-Inverse Document Frequency の略。文書内での単語の重要度を数値化する手法。

TF-IDF (Term Frequency-Inverse Document Frequency) は、文書集合の中で特定の単語がどれだけ重要かを数値化する手法です。情報検索、テキストマイニング、自然言語処理の分野で 1970 年代から使われている古典的かつ実用的な指標であり、検索エンジンのランキングアルゴリズムの基礎としても知られています。

TF-IDF は TF (Term Frequency: 単語頻度) と IDF (Inverse Document Frequency: 逆文書頻度) の積で算出されます。TF は対象文書内での単語の出現回数を文書の総単語数で割った値で、その文書における単語の重要度を示します。IDF は全文書数をその単語を含む文書数で割った値の対数で、文書集合全体における単語の希少性を示します。「の」「は」「が」のような頻出語は IDF が低く、専門用語や固有名詞は IDF が高くなります。情報検索と自然言語処理の書籍で計算方法を学べます。

TF-IDF の実務での活用場面は多岐にわたります。検索エンジンではクエリと文書の関連度スコアリングに使われ、文書分類ではテキストを特徴ベクトルに変換する手法として利用されます。キーワード抽出では TF-IDF 値の高い単語を文書の代表的なキーワードとして選定し、文書要約では重要な文を特定する指標として活用されます。SEO の分野では、ページ内のキーワード密度の分析に TF-IDF の考え方が応用されています。

TF-IDF にはいくつかの限界があります。単語の出現頻度のみに基づくため、単語の意味や文脈を考慮できません。「銀行」が金融機関と川岸のどちらを指すかは TF-IDF では判別できません。また、同義語 (「車」と「自動車」) を同一概念として扱えないため、検索の再現率が低下することがあります。これらの限界を補うために、Word2Vec や BERT などの分散表現モデルが登場しましたが、TF-IDF はその計算の軽さと解釈のしやすさから、現在でも広く使われています。

類似の指標として BM25 があります。BM25 は TF-IDF を改良したもので、文書の長さによる正規化と TF の飽和関数を導入しています。Elasticsearch や Apache Solr などの検索エンジンではデフォルトのスコアリング関数として BM25 が採用されています。

文字数カウントの観点では、TF-IDF は単語の出現回数 (頻度) に基づくため、テキストの文字数や単語数が直接的に影響する指標です。文書の文字数が多いほど TF の分母が大きくなり、個々の単語の TF 値は相対的に小さくなります。そのため、文書の長さを正規化する処理が TF-IDF の精度向上に重要です。機械学習とテキストの書籍も参考になります。