Skip to the content.

最終更新日:2026年7月18日

G検定トップ > Bag of Words(BoW)とは?【文章の数値化手法|G検定対策】

まず結論

  • Bag of Words(BoW)とは、文書を語彙ごとの出現回数を並べたベクトルとして表す手法です。
  • 単語の順序を捨てるため、語順や文脈は表現できません。
  • G検定では、TF-IDF・n-gram・Word2Vec・BERTとの違いを切り分けることが重要です。

直感的な説明

BoWは、文章を袋の中に入れて、単語の並びを崩してから数えるイメージです。

たとえば、

私は AI を学ぶ

AI を私は学ぶ

この2文は語順が違いますが、含まれる単語と回数は同じです。

BoWでは、両方とも同じ特徴量になります。

一方、

犬が人をかむ

人が犬をかむ

も単語の集合は同じです。 しかし意味は大きく異なります。

この違いを表せないことが、BoWの代表的な弱点です。

定義・仕組み

BoWでは、まず対象文書全体から語彙を作ります。

例として、語彙を次の3語とします。

  • AI
  • 学ぶ
  • Python

文書ごとの出現回数を並べると、次のように表現できます。

文書 AI 学ぶ Python
AIを学ぶ 1 1 0
Pythonを学ぶ 0 1 1
AIとPythonを学ぶ 1 1 1

各行が1つの文書を表すベクトルです。

0と1だけで表す場合もある

単語が何回出たかではなく、出たかどうかだけを表す方法もあります。

  • 出現した:1
  • 出現しない:0

これはバイナリBoWと呼ばれます。

したがって、BoWは必ず生の出現回数だけを使うとは限りません。 本質は、固定した語彙に対して文書を数値ベクトルへ変換することです。

疎な高次元ベクトルになりやすい

語彙数が10,000語なら、文書ベクトルも10,000次元になります。 しかし1文書に実際に出る単語は一部だけなので、多くの要素が0になります。

このようなベクトルを、

  • 高次元:要素数が多い
  • 疎(スパース):0が多い

と表現します。

前処理の影響を受ける

BoWを作る前には、通常次の処理を検討します。

  • 単語分割
  • 大文字・小文字の統一
  • ストップワード除去
  • ステミングやレンマ化

たとえば「学ぶ」「学んだ」を別の単語として数えるか、同じ語として扱うかで特徴量が変わります。

いつ使う?(得意・不得意)

得意

  • 文書分類
  • スパム判定
  • 感情分析の簡単なベースライン
  • 単語の出現傾向が重要なタスク
  • 学習結果を説明しやすい特徴量が必要な場合

不得意・注意点

  • 語順を考慮できない
  • 同じ単語でも文脈による意味の違いを表せない
  • 同義語を別の特徴として扱う
  • 語彙数が増えると次元数が大きくなる
  • 未知語は既存の語彙ベクトルでは表現できない

G検定ひっかけポイント

BoWとTF-IDF

  • BoW:単語の回数や有無を特徴量にする
  • TF-IDF:文書内で多く、他文書では珍しい単語を重くする

TF-IDFも語順や文脈を直接は表現しません。

TF-IDFにすれば意味を理解できる

という説明は誤りです。

BoWとn-gram

通常のBoWは単語を1つずつ数えるため、語順を無視します。 一方、n-gramでは連続する複数語を1つの特徴として扱います。

例:

  • unigram:機械学習
  • bigram:機械 学習

n-gramを使えば局所的な並びは一部保持できますが、長い文脈を理解するわけではありません。

BoWと分散表現

手法 表現 語順・文脈
BoW 語彙ごとの回数 基本的に無視
TF-IDF 重要度で重み付けした語彙ベクトル 基本的に無視
Word2Vec 単語を低次元の密なベクトルで表現 周辺語から意味的関係を学ぶ
BERT 文脈に応じた単語表現 前後の文脈を考慮

よくある誤解

  • 単語の意味を直接表現する
    • BoWは単語の位置ごとの回数を表します。
  • 語順を保持する
    • 通常のBoWでは語順を捨てます。
  • 低次元で密なベクトルになる
    • 一般に高次元で疎なベクトルです。
  • TF-IDFは文脈を理解する
    • TF-IDFは単語の重要度を調整する手法です。

選択肢を切る判断基準

  • 語彙ごとの出現回数」→ BoW
  • 語順を無視」→ BoW
  • 珍しい単語を重くする」→ TF-IDF
  • 連続する複数語を特徴にする」→ n-gram
  • 単語を低次元の密なベクトルにする」→ Word2Vecなど
  • 前後の文脈によって単語表現が変わる」→ BERTなど

まとめ(試験直前用)

  • BoWは文書を語彙ごとの出現回数ベクトルで表す
  • 語順・文脈・意味を直接は考慮しない
  • 高次元で疎なベクトルになりやすい
  • TF-IDFはBoW系の表現に重要度を加える
  • 「回数」「語順を無視」ならBoW

© 2024-2026 stemtazoo. All rights reserved.