モデル・技術

Bag of Wordsとは?語順を捨てて数える——古典的な文書の数値化

読み:ばっぐおぶわーず / 英:Bag of Words(BoW)

更新日: 読了目安:約6分

Bag of Words(語袋モデル/BoW)は、文書を単語の出現有無や出現回数だけで表す——いわば「語を袋に入れてシャッフルした」——古典的な自然言語処理の手法です。LLMが文脈を深く読む時代にも、試験では語順を捨てる設計が意図的なトレードオフとして問われます。本記事は実装の細部ではなく、「なぜ数えるだけでも一度は有用だったか」に焦点を当てます。

袋のたとえ

文書から単語を取り出し、順序を無視して袋に入れる——それが Bag of Words のイメージです。袋の中身は「どの語が何個あるか」だけが分かり、元の並びは失われます。

試験の定義は次の一文が骨格です(G-332TF-127)。

文書を単語の出現有無や出現回数で表す表現方法である。

機械学習は数値入力を要求するため、テキストを数値ベクトルに変換する必要があります。BoWはその最も素朴な答えの一つです。

文書ベクトルの作り方

概念としての手順は次のとおりです。

  • 語彙の決定 — コーパス全体から単語一覧(語彙)を作る
  • カウント — 各文書で、語彙の各語が何回出たかを数える
  • ベクトル化 — 出現回数(または0/1の有無)を並べたベクトルが文書の特徴量になる

1語だけを語彙数次元で1にするワンホットベクトルTF-134)は、BoWの極端な特殊例——1語だけを見る——に近いイメージです。BoWは文書全体の語カウントをベクトルにします。

語順を捨てるトレードオフ

観点BoWの性質
着目点語順より出現有無・回数(TF-127)
利点シンプル。文書分類・検索の入門で使いやすい
弱点語順情報が失われやすい(G-332の解説)
意味「犬が猫を追う」と「猫が犬を追う」が同じベクトルになりうる

現代のTransformerLLMは語順・文脈を扱えますが、BoWはNLPの古典層として試験に残ります(NLP記事の歴史表)。

TF-IDF・埋め込みへの流れ

BoWは単独で終わらず、次の発展形へつながります。

手法BoWからの変化試験の接点
BoW素の出現回数G-332、TF-127
TF-IDFありふれた語の重みを下げるG-333
word2vec等低次元の意味ベクトルG-343、G-344
埋め込み検索・RAG向けの密な表現現代のRAG

G-344では「BoW、TF-IDF、word2vecはNLPの特徴表現、MFCCは音声特徴量」——という分野の区別が問われます。

試験で押さえるポイント

  • 定義 — 文書を単語の出現有無・回数で表す(G-332)
  • 略称 — Bag-of-Words=BoW
  • 特徴 — 語順より出現情報。順序は失われやすい
  • 位置づけ — 古典NLPの文書表現。LLMBPEとは別

演習で確認する

G検定:G-332TF-127G-344G-343TF-134

すり替えに注意

誤った説明正しい理解
BoW=Transformer古典的特徴量 vs 深層モデル(G-332のB)
BoW=MFCCNLP vs 音声特徴量(G-344、G-355の誤答)
BoW=HMM・DQN文書表現 vs 系列モデル・強化学習(G-357、G-362)
BoW=BPE文書ベクトル vs サブワードトークン化
BoW=語順を保持語順より出現回数(TF-127)

よくある質問

Bag of Words(BoW)とは何ですか?

文書を単語の出現有無や出現回数で表す方法です。語順よりも単語が何回出たかに着目し、文書を数値ベクトルに変換します。Bag-of-Wordsの略でBoWとも呼ばれます(G-332TF-127)。

BoWの弱点は何ですか?

単語の順序情報が失われやすい点です。「犬が猫を追う」と「猫が犬を追う」が同じベクトルになりうる。ただしシンプルで文書分類などの入門的タスクでは有効に使われてきました。

BoWとLLMは同じですか?

いいえ。BoWは古典的な文書の特徴表現です。LLMは大規模なニューラルネットによる言語モデルであり、文脈や語順を扱えます。NLPの歴史の異なる章として整理します。