TF-IDFとは?文章内の単語の重要度を測る仕組みをわかりやすく解説

AIの初心者
『TF-IDF』って単語をよく聞くんですけど、何を表すものなんですか?

AI専門家
簡単に言うと、ある単語が特定の文書にとってどれくらい重要かを数値で表す方法だよ。文書内でよく出て、他の文書ではあまり出ない単語ほど高く評価されやすいんだ。

AIの初心者
つまり、たくさん出てくる単語ほど重要だと考えればいいんですか?

AI専門家
出現回数は大事だけれど、それだけでは不十分だよ。どの文書にも出る単語は特徴になりにくいから、TF-IDFでは「文書内での多さ」と「文書集合全体での珍しさ」を組み合わせて考えるんだ。
TF-IDFとは。
TF-IDFは、文書の中で単語がどれほど重要かを測るための代表的な指標です。TFという値とIDFという値を掛け合わせ、文章の特徴を表す単語を見つけやすくします。
TF-IDFとは何か

TF-IDFは、ある文書にとって特徴的な単語を数値で見つける方法です。英語では Term Frequency-Inverse Document Frequency と呼ばれ、日本語では「単語頻度・逆文書頻度」と説明されます。
考え方はシンプルです。ある単語が一つの文書に何度も出てくるなら、その文書の内容に関係している可能性があります。ただし、「です」「ます」「こと」のように多くの文書に出る言葉は、出現回数が多くても内容の特徴をあまり表しません。そこでTF-IDFでは、文書内でよく出ることに加えて、他の文書ではあまり出ないことも評価します。
例えば、お菓子のレシピ集を考えると、「砂糖」や「小麦粉」は多くのレシピに出るため、特定のレシピだけを特徴づける力は弱くなります。一方で「カルダモン」や「ピスタチオ」のように一部のレシピに偏って出る単語は、その文書の特徴語として扱いやすくなります。
| 単語の性質 | 文書内の出現 | 他文書での出現 | TF-IDFでの見え方 |
|---|---|---|---|
| 一般的な単語 | 多いことがある | 多い | 特徴語になりにくい |
| 文書に固有の単語 | 一定以上ある | 少ない | 重要度が高くなりやすい |
TFとは:文書内での単語の出現割合

TFは Term Frequency の略で、対象の単語が一つの文書内でどれくらい出てくるかを表します。最も単純には出現回数を数えますが、実際には文書の長さを考慮して、文書全体の単語数で割ることがよくあります。
\(TF = \frac{\text{対象単語の出現回数}}{\text{文書内の総単語数}}\)例えば、100語の文書に「りんご」が5回出る場合、TFは 5 ÷ 100 = 0.05 です。1000語の文書に同じく5回出る場合は 5 ÷ 1000 = 0.005 になります。同じ5回でも、短い文書の中で5回出るほうが、その単語の存在感は大きいと考えられます。
TFは「その文書の中でどれくらい目立つか」を見る値です。ただし、TFだけでは「多くの文書に共通して出る単語」も高く評価してしまうため、次に説明するIDFと組み合わせます。
| 文書 | 総単語数 | 「りんご」の出現回数 | TF |
|---|---|---|---|
| 短いレシピ | 100 | 5 | 0.05 |
| 長い解説文 | 1000 | 5 | 0.005 |
IDFとは:多くの文書に出る単語の重みを下げる考え方

IDFは Inverse Document Frequency の略で、ある単語が文書集合全体の中でどれくらい珍しいかを表します。多くの文書に出る単語ほどIDFは小さくなり、少数の文書にしか出ない単語ほどIDFは大きくなります。
\(IDF = \log \frac{\text{全文書数}}{\text{対象単語を含む文書数}}\)例えば、1000件の文書のうち500件に「りんご」が出るなら、IDFは \(\log(1000/500)\) です。一方で、1000件のうち10件にしか「マンゴー」が出ないなら、IDFは \(\log(1000/10)\) になります。後者のほうが文書集合の中では珍しいため、IDFが高くなります。
IDFは「どの文書にも出る言葉を重要視しすぎない」ための調整です。検索や分類では、一般的すぎる単語よりも、特定の内容を絞り込める単語のほうが役に立ちます。
| 単語 | 出現文書数 | 珍しさ | IDFの傾向 |
|---|---|---|---|
| りんご | 500/1000 | 比較的一般的 | 低め |
| マンゴー | 10/1000 | 比較的珍しい | 高め |
TF-IDFの計算方法と例

TF-IDFは、TFとIDFを掛け合わせて求めます。
\(TF\text{-}IDF = TF \times IDF\)「りんご」のTFが0.05、IDFが0.301なら、TF-IDFは 0.05 × 0.301 = 0.01505 です。「マンゴー」のTFが0.01、IDFが2なら、TF-IDFは 0.01 × 2 = 0.02 です。この例では、「マンゴー」は出現割合だけを見ると少ないものの、文書集合の中で珍しいため、最終的な重要度は「りんご」より高くなります。
ここで大切なのは、TF-IDFが単純な出現回数ランキングではないことです。TF-IDFは「その文書でよく出る」と「他の文書では珍しい」を同時に満たす単語を高く評価します。そのため、文書の特徴語抽出に向いています。
| 単語 | TF | IDF | TF-IDF |
|---|---|---|---|
| りんご | 0.05 | 0.301 | 0.01505 |
| マンゴー | 0.01 | 2 | 0.02 |
TF-IDFは何に使われるのか

TF-IDFは、自然言語処理や情報検索の基本的な手法として広く使われてきました。文章を数値として扱うための特徴量になるため、検索、分類、要約、類似度判定などに応用できます。
検索では、利用者が入力したキーワードと文書内の単語の関係を評価する手がかりになります。文書分類では、ニュース記事、問い合わせメール、レビューなどをカテゴリごとに分けるとき、各文書に特徴的な単語を見つける材料になります。要約では、重要語を含む文や段落に注目することで、文章の中心的な内容を拾いやすくなります。
また、TF-IDFで作った文書ベクトルを使うと、文書同士の似ている度合いも比較できます。例えば、同じ分野の記事をまとめたり、問い合わせ内容に近いFAQを探したりする用途です。近年は埋め込み表現や大規模言語モデルも使われますが、TF-IDFは仕組みが分かりやすく、軽量に試せる基礎手法として今でも有用です。
| 用途 | TF-IDFの役割 |
|---|---|
| 検索 | 検索語と文書の関連性を測る手がかりにする |
| 文書分類 | カテゴリごとの特徴語を抽出しやすくする |
| 要約 | 中心的な単語や文を見つける補助にする |
| 類似度判定 | 文書を数値ベクトルにして比較する |
TF-IDFの利点と注意点
TF-IDFの利点は、計算方法が比較的簡単で、少ない計算量で文書の特徴をつかめることです。大量の文書を扱う場合でも導入しやすく、機械学習の前処理や探索的な分析にも向いています。値の意味も説明しやすいため、初学者が自然言語処理の考え方を学ぶ入り口として適しています。
一方で、TF-IDFには限界もあります。まず、単語の順序や文脈を深く理解するわけではありません。「AIが文章を生成する」と「文章がAIを生成する」は意味が違いますが、単語の集合として見ると近く見える場合があります。また、「人工知能」と「AI」のような同義語や表記ゆれは、そのままでは別の単語として扱われます。
TF-IDFを使うときは、前処理と文書集合の選び方が重要です。日本語では形態素解析で単語に分け、助詞や記号など分析に不要な語を除くことがあります。また、IDFは比較対象となる文書集合に依存するため、同じ単語でもニュース記事群で計算する場合と料理レシピ群で計算する場合では、重要度が変わります。
現代のAIでは、単語の意味や文脈を扱える埋め込み表現や言語モデルが使われることも増えています。それでも、TF-IDFは軽量で理解しやすく、検索や分類の基礎を学ぶうえで欠かせない考え方です。
更新履歴
| 日付 | 内容 |
|---|---|
| 2025年2月1日 | 初回公開 |
| 2026年5月28日 | TFとIDFの式、計算例、前処理の注意点を補足 |
