検索エンジンでキーワードを入力すると、自分が探している情報に近いページが上位に表示されます。
また、文章から重要キーワードを自動抽出したり、似た文書を探したりする技術も広く使われています。
こうした自然言語処理(NLP)の基礎技術として長年利用されているのが「TF-IDF(Term Frequency–Inverse Document Frequency)」です。
TF-IDFは、文章内で頻繁に登場し、なおかつ他の文書にはあまり出現しない単語を「重要な単語」と判断する考え方です。
シンプルな手法ながら、検索・文書分析・機械学習など多くの分野で現在も活用されています。
本記事では、TF-IDFの仕組みや計算の考え方、活用事例、メリット・課題までわかりやすく解説します。
TF-IDFとは
TF-IDFとは、単語の重要度を数値化するための指標です。
名称は次の2つの要素から構成されています。
- TF(Term Frequency)
- IDF(Inverse Document Frequency)
これらを組み合わせることで、文章の特徴を表す重要語を抽出します。
基本的な考え方は非常にシンプルです。
「ある文書では頻繁に登場するが、全体では珍しい単語ほど重要」という考え方です。
TF(Term Frequency)とは
TFは「単語の出現頻度」を表します。
つまり、ある単語が特定の文書内に何回出現したかを示します。
例えば次の文章を考えます。
文章:
「AI技術は急速に進化している。AIは多くの業界で利用されている。」
出現回数:
- AI:2回
- 技術:1回
- 業界:1回
この場合、「AI」は出現頻度が高いため、TFの値が大きくなります。
ただし、頻度が高いだけでは重要語とは限りません。
IDF(Inverse Document Frequency)とは
IDFは「文書全体でどれくらい珍しい単語か」を示します。
例えば大量の文書の中で次の単語があるとします。
頻繁に登場する語:
- です
- する
- の
- これ
あまり登場しない語:
- 深層学習
- Transformer
- 自己注意機構
「です」や「の」はどの文書にも現れます。
しかし、それだけで文章の特徴は分かりません。
一方、「Transformer」のような専門用語は、特定テーマの文書に強く関連します。
IDFでは、多くの文書に現れる単語の価値を低くし、珍しい単語の価値を高く評価します。
TF-IDFはどのように重要度を決めるのか
TF-IDFでは次の考え方で評価します。
TF × IDF
つまり、
- 文書内で頻繁に登場する
- 他の文書にはあまり出現しない
この2条件を満たす単語ほど高スコアになります。
例えばAI関連の記事なら、高評価される可能性がある単語:
- 機械学習
- 深層学習
- Transformer
- LLM
低評価になりやすい単語:
- の
- は
- です
- する
文章の特徴を表すキーワードだけを効率的に抽出できます。
なぜ単純な出現回数では不十分なのか
単語出現回数だけを使うと問題があります。
例えば次の文章を考えます。
「私は昨日映画を見ました。そして今日は映画について友人と話しました。」
頻度だけ見ると「映画」が重要そうに見えます。
しかし実際の文書群全体で「映画」が頻出するなら、その単語だけでは特徴が弱い可能性があります。
また日本語には次のような高頻度語があります。
- は
- を
- に
- です
英語なら:
- the
- is
- and
こうした単語は頻繁に現れても文書内容の特徴を示しません。
TF-IDFはIDFを組み合わせることで、この問題を解決しています。
TF-IDFで文章をベクトル化する仕組み
TF-IDFでは、文章を「単語の重みの集合」として表現します。
これを「ベクトル化」と呼びます。
例:
| 単語 | TF-IDF値 |
|---|---|
| AI | 0.8 |
| 機械学習 | 0.9 |
| です | 0.05 |
| 画像 | 0.4 |
このように数値化すると、コンピュータは文章同士の比較ができます。
活用例:
- 文書の類似度比較
- 検索順位付け
- 自動分類
- クラスタリング
自然言語を数学的に扱えるようになる点が重要です。
TF-IDFの活用例
TF-IDFは現在も多くのシステムで利用されています。
検索エンジン
検索語と文書のTF-IDFを比較して、関連性の高いページを抽出します。
例えば:
検索:
「生成AI」
上位表示:
- LLM解説記事
- AI技術記事
- 最新AIニュース
関連度を計算して順位付けします。
キーワード抽出
ニュース記事や論文から重要語を抽出できます。
例えば論文で:
- 手法
- データセット
- 技術名称
などを自動取得できます。
文書分類
メール分類やレビュー分析にも利用されています。
例:
- スパム判定
- 問い合わせ分類
- 感情分析
文章の特徴量として機械学習モデルへ入力します。
TF-IDFのメリット
計算が軽量
複雑な深層学習が不要です。
比較的小さな計算資源でも利用できます。
解釈しやすい
なぜその単語が重要なのか説明しやすい特徴があります。
AIの説明可能性(Explainability)でも利点があります。
少量データでも利用可能
大規模学習データが不要なため、小規模システムでも導入しやすい手法です。
TF-IDFの課題
便利な一方、限界もあります。
文脈を理解できない
TF-IDFは単語の頻度のみを見ます。
例えば:
「車を運転する」
「自動車を運転する」
意味は近いですが、「車」と「自動車」は別単語として扱われます。
意味的な近さは理解できません。
単語の順番を考慮しない
次の2文:
「犬が人を追った」
「人が犬を追った」
単語が同じなら似た文章と判断される可能性があります。
語順や文脈を理解できない点は大きな課題です。
現代AIとの関係
近年は単語の意味関係を学習できる技術が登場しています。
例:
- Word2Vec
- BERT
- Transformer
- 埋め込み(Embedding)
これらは文脈を考慮できます。
ただしTF-IDFは今でも利用されています。
理由:
- 高速
- 実装が簡単
- 解釈しやすい
- 基礎技術として重要
実際のシステムでは、最新AIと組み合わせて利用されるケースも少なくありません。
まとめ
TF-IDFは、単語の出現頻度と希少性を組み合わせて重要度を計算する自然言語処理の基本技術です。
ポイントを整理すると次の通りです。
- TFは文書内の出現頻度
- IDFは文書全体での希少性
- 両者を組み合わせて単語重要度を算出
- 文書検索やキーワード抽出に活用
- 計算が軽く解釈しやすい
- 文脈理解は苦手
現在は生成AIが注目されていますが、その土台にはTF-IDFのような古典的手法があります。
自然言語処理を理解するうえで、押さえておきたい重要な基礎知識の一つです。
こちらもご覧ください:N-gramとは?自然言語処理の基礎技術をわかりやすく解説|文章予測やAIで使われる仕組み

