AI資格ドリル
資格を選ぶ↓

用語比較

バッグ・オブ・ワーズとTF-IDFの違い|出現回数をそのまま使うか、稀な語を重くするか(G検定)

バッグ・オブ・ワーズとTF-IDFは、G検定の自然言語処理で、文章を数のベクトルにする方法として並んで出てきます。TF-IDFはバッグ・オブ・ワーズの出現回数を土台にした重みづけなので、混ざりやすい組です。

バッグ・オブ・ワーズは語の出現回数を語順を無視して並べた表現で、TF-IDFはその回数を、多くの文書に出る語ほど軽く、稀な語ほど重くして置き換えたものと覚えると、選択肢を切り分けられます。

このページは、scikit-learnのユーザーガイド(テキスト特徴量の抽出)の記述と、3文書の計算例をもとに比べます。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。

結論

バッグ・オブ・ワーズ

トークン化・出現回数の数え上げ・正規化で文書を数のベクトルにする。語の相対的な位置情報は完全に無視される。

TF-IDF

tf(その文書での語の出現回数)にidf(多くの文書に出る語ほど小さくなる値)を掛けて、語の重みを付け直す。もとは検索エンジンの順位づけのために開発された。

見分け方

選択肢に「出現回数」「語順を無視」があればバッグ・オブ・ワーズ、「稀な語を重く」「多くの文書に出る語を軽く」「idf」があればTF-IDF。

違いを表で確認

比較軸バッグ・オブ・ワーズTF-IDF
ベクトルの値バッグ・オブ・ワーズ:語がその文書に出た回数TF-IDF:出現回数tf × idf。語ごとに重みが変わる
よく出る語の扱いバッグ・オブ・ワーズ:回数が大きいまま入る。とても頻出する語(英語のthe・a・isなど)が、稀で興味深い語の頻度を覆い隠すTF-IDF:多くの文書に出る語ほどidfが小さくなり、重みが軽くなる
語順バッグ・オブ・ワーズ:完全に無視する。句や複数語の表現は捉えられないTF-IDF:回数の重みづけなので、語順は捉えない
位置づけバッグ・オブ・ワーズ:文書を数のベクトルにする基本の表現TF-IDF:その回数を再重みづけする変換。分類器に入れる前によく使われる

どこで迷っているかを切り分ける

01

「語順を無視して出現回数を数える」という語が出る人

バッグ・オブ・ワーズです。文書は語の出現で表され、語の位置情報は使いません。

02

「多くの文書に出る語ほど重要度を下げる」という語が出る人

TF-IDFです。idfが、語を含む文書が多いほど小さくなります。

03

「検索エンジンの順位づけ」「文書分類」という用途が出る人

TF-IDFです。もとは情報検索の順位づけ関数として開発され、文書分類にも使われると、scikit-learnのガイドは述べます。

具体例で使い分ける

例 1

3文書で、theとcatの重みを比べる場合(架空の文書)

文書が「the cat sat」「the dog sat」「the cat ran」の3つです。1つ目の文書で、バッグ・オブ・ワーズとTF-IDFのthe・cat・satの値を比べます。

  • バッグ・オブ・ワーズでは、the・cat・satはどれも1回出るので、値はすべて1です。
  • scikit-learnの既定の式 idf(t)=log((1+n)/(1+df(t)))+1 で、n=3、dfはthe=3・cat=2・sat=2・dog=1・ran=1です。計算すると idf は the が1.0000、cat と sat が1.2877、dog と ran が1.6931です(小数4桁、正規化の前)。
  • tfは1なので、TF-IDFの値は the=1.0000、cat=sat=1.2877です。3文書すべてに出るtheが、いちばん軽くなります。

結論: 出現回数が同じでも、TF-IDFでは文書をまたいで多く出る語ほど軽くなります。

例 2

選択肢に「語順を考慮する」が出る場合

「バッグ・オブ・ワーズは、語順の情報を保ったまま文書をベクトルにする」という文の正誤を問う問いがあります。

  • scikit-learnのガイドは、バッグ・オブ・ワーズでは語の相対的な位置情報が完全に無視されると述べます。
  • 語の並びを部分的に捉えたいときは、連続する語の組(n-gram)を数える方法があると、同じガイドは述べます。

結論: バッグ・オブ・ワーズは語順を捉えません。誤りです。

例 3

選択肢に「TF-IDFは出現回数を使わない」が出る場合

「TF-IDFは、語の出現回数を使わずに重みを決める」という文の正誤を問う問いがあります。

  • TF-IDFは、tf(語の出現回数)にidfを掛けた値です。
  • 回数を使わないのではなく、回数に重みを掛け直しています。

結論: TF-IDFは出現回数を土台にします。誤りです。

問題文から答えを選ぶ手順

  1. 1

    値の中身を見る

    ただの出現回数ならバッグ・オブ・ワーズ、回数に語ごとの重みを掛けるならTF-IDFです。

  2. 2

    よく出る語の扱いを見る

    多くの文書に出る語を軽くするのはTF-IDFのidfです。

  3. 3

    語順の記述を見る

    どちらも語順は捉えません。「語順を保つ」とあれば誤りの選択肢です。

試験での見分け方

  • 1バッグ・オブ・ワーズは、語の出現を数え、語の相対的な位置情報を完全に無視する。
  • 2TF-IDFは、tf(t,d)×idf(t)。idfは語を含む文書が多いほど小さくなる。
  • 3TF-IDFはもともと情報検索の順位づけ関数として開発され、文書分類にも使われる。

誤答しやすい選択肢

TF-IDFは語順を考慮すると考える

修正: TF-IDFは回数の重みづけで、語順は捉えません。語の並びを捉えたいときはn-gramなど別の方法を使います。

idfが大きい語ほどどの文書にも多く出ると考える

修正: 逆です。idfは、その語を含む文書が少ないほど大きくなります。稀な語が重くなります。

idfの式は一つに決まっていると考える

修正: このページの式はscikit-learnの既定の実装です。教科書によって式は少しずつ異なるので、設問の定義に従います。

確認問題

Q1語の相対的な位置情報を無視して、語の出現を数える文書の表現は?

答え: バッグ・オブ・ワーズ

scikit-learnのガイドは、文書は語の出現で表され、語の相対的な位置情報は完全に無視されると述べます。

Q2TF-IDFのtfとidfは、それぞれ何を表しますか?

答え: tfは語の出現回数、idfは文書の逆頻度(その語を含む文書が多いほど小さくなる値)

TF-IDFは、tfにidfを掛けた値です。

Q3とても頻出する語の出現回数をそのまま分類器に入れると、どんな問題がありますか?

答え: 稀で興味深い語の頻度を覆い隠す

scikit-learnのガイドが、tf-idf変換で再重みづけする理由として述べます。

到達チェック

  • バッグ・オブ・ワーズは出現回数で、語順を無視すると言える
  • TF-IDFはtf×idfで、多くの文書に出る語を軽くすると言える
  • TF-IDFがバッグ・オブ・ワーズの回数を土台にしていると言える

同じ資格で次に知りたいこと

よくある質問

Qバッグ・オブ・ワーズとTF-IDFの違いは?

A

バッグ・オブ・ワーズは語の出現回数を、語順を無視して並べた表現です。TF-IDFはその出現回数に、多くの文書に出る語ほど小さくなるidfを掛けて、重みを付け直した値です。

QTF-IDFのidfは何ですか?

A

inverse document-frequency(文書の逆頻度)です。scikit-learnの既定では log((1+n)/(1+df(t)))+1 で、nは文書の総数、df(t)は語tを含む文書の数です。

QTF-IDFは何のために作られましたか?

A

scikit-learnのガイドは、もとは情報検索で検索エンジンの結果を順位づけする関数として開発され、文書分類などにも使われると述べます。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)