TF-IDFは、文書を数値化する古典的なNLP手法で、文書内でよく出る語(TF)とコーパス全体では珍しい語(IDF)を掛け合わせて重みをつけます。BoWが「とにかく数える」だけなら、TF-IDFは「どの語がこの文書らしさを語るか」に目を通す——本記事は対数の細部より、この二段の目に焦点を当てます。
試験で問われる見方
TF-IDFの定義は次の一文が骨格です(G-333)。
文書内で頻出し、文書集合全体では珍しい語を重視する重み付けである。
TF-128の×問題は逆を問います——「全体でありふれた語ほど高く重み付けする」は誤り。ありふれた語は下げるのがTF-IDFです。
演習で確認する
G検定:G-333(定義)、TF-128(ありふれた語の重み)、G-344(NLP特徴量の区別)、G-355(BoWとの対比)
TFとIDF——二つの目
TF-IDFは名前の通り、2つの係数の積です。試験では記号の計算式より、それぞれが何を見ているかを押さえれば足ります。
| 要素 | 英名 | 見ているもの | 直感 |
|---|---|---|---|
| TF | Term Frequency | この文書の中での出現の多さ | 「この文書では何度も出てくる語」 |
| IDF | Inverse Document Frequency | コーパス全体での希少性 | 「どの文書にもいる語は信用しない」 |
| TF-IDF | — | TF × IDF | 文書内では目立つが、全体では珍しい語が高得点 |
例えば技術文書コーパスで、「Transformer」が1文書に5回出て、かつ全1000文書のうち10文書にしか出ない——TFもIDFも相対的に高く、その文書のトピックを示す手がかりになりやすいです。逆に「の」「する」はTFは高くても、ほぼ全文献に出るためIDFが低く、総合スコアは抑えられます。
ありふれた語の罠
BoWだけだと、日本語・英語ともに機能語——「です」「the」「a」——がカウントを支配し、文書の違いが埋もれます。これは検索でも分類でも困ります。「どの文書にもある語」は識別に役立たない(G-333の解説)からです。
- BoWの限界 — 素の出現回数。ありふれた語がベクトルを占有
- TF-IDFの修正 — IDFで全体頻度の高い語を割り引く
- 残る課題 — 語順は依然として捨てる。同義語は別語として扱う
TF-IDFは「賢い重み付け」ですが、意味理解までは担いません——そこからGloVeや埋め込みへ進化します(G-344)。
文書ベクトルとして使う
語彙を決め、各語のTF-IDF値を並べれば文書ベクトルができます。BoWと手順は似ていますが、各次元の値が「生の回数」ではなく重み付きスコアになる点が違います。
- 前処理 — 形態素解析(MeCabなど)で語に分割
- TF計算 — 文書内の各語の頻度
- IDF計算 — コーパス全体の文書数と、その語を含む文書数から希少性を算出
- ベクトル化 — 語彙次元のTF-IDF値を並べ、分類器や検索に渡す
2文書のベクトル間のコサイン類似度などで似ている文書を探す——キーワード検索の古典的な土台です。
検索と分類
- 文書検索 クエリ語のTF-IDFベクトルと文書ベクトルの類似度でランキング——BM25の祖先(G-333)
- 文書分類 スパム判定・トピック分類の特徴量としてロジスティック回帰やSVMに入力
- キーワード抽出 文書内TF-IDFが高い語を「この文書のキーワード」候補に
現代のセマンティック検索やRAGは埋め込みモデルが主流ですが、TF-IDFは軽量・解釈しやすい——小規模コーパスやベースラインとして今も現場に残ります。
BoW・BM25・埋め込みへの流れ
| 手法 | 文書の見方 | 試験の接点 |
|---|---|---|
| BoW | 出現回数をそのまま数える | G-332 |
| TF-IDF | ありふれた語を割り引く | G-333、TF-128 |
| BM25 | TF-IDF系を検索ランキング向けに洗練 | TF-0236 |
| word2vec / GloVe | 語の意味ベクトルを学習 | G-343、G-344 |
| 埋め込み | 密なベクトルで意味的類似を扱う | RAG・現代検索 |
G-344では「BoW、TF-IDF、word2vecはNLPの特徴表現、MFCCは音声」——分野の線引きが問われます。TF-IDFは深層学習の前の章として確実に押さえておきましょう。
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| ありふれた語ほど重くする | 下げる(TF-128は×、G-333) |
| TF-IDF=畳み込みフィルタ | NLPの重み付け vs 画像の局所演算(G-333のC) |
| TF-IDF=強化学習の割引率 | 文書特徴量 vs RLのγ(G-333のD) |
| TF-IDF=GloVe | 文書スコア vs 語ベクトル学習(G-344) |
| TF-IDF=MFCC | NLP vs 音声特徴量(G-344、G-355) |
| TF-IDF=語順を保持 | BoW同様、基本的に語順は捨てる |
よくある質問
TF-IDFのTFとIDFは何ですか?
TF(Term Frequency)は、その文書の中で語がどれだけ頻繁に出るかを表します。IDF(Inverse Document Frequency)は、文書集合全体でその語がどれだけ珍しいか——多くの文書に出る語ほどIDFは小さくなる——を表します。TF-IDFはこの2つを掛け合わせ、文書内では目立つが全体では珍しい語を高く評価します。
TF-IDFとBoWの違いは?
BoWは文書内の出現回数(または有無)をそのまま特徴量にします。TF-IDFはBoWの発展形で、コーパス全体にありふれた語(例:「です」「こと」)の重みを下げ、文書を識別しやすい語を相対的に強調します。どちらも語順は基本的に捨てる古典的な文書表現です。
TF-IDFは畳み込みフィルタですか?
いいえ。TF-IDFは自然言語処理の文書特徴量・重み付け手法です。画像の局所特徴を抽出する畳み込みフィルタ(G-333の誤答C)とは無関係です。