Bag of Words(語袋モデル/BoW)は、文書を単語の出現有無や出現回数だけで表す——いわば「語を袋に入れてシャッフルした」——古典的な自然言語処理の手法です。LLMが文脈を深く読む時代にも、試験では語順を捨てる設計が意図的なトレードオフとして問われます。本記事は実装の細部ではなく、「なぜ数えるだけでも一度は有用だったか」に焦点を当てます。
袋のたとえ
文書から単語を取り出し、順序を無視して袋に入れる——それが Bag of Words のイメージです。袋の中身は「どの語が何個あるか」だけが分かり、元の並びは失われます。
試験の定義は次の一文が骨格です(G-332、TF-127)。
文書を単語の出現有無や出現回数で表す表現方法である。
機械学習は数値入力を要求するため、テキストを数値ベクトルに変換する必要があります。BoWはその最も素朴な答えの一つです。
文書ベクトルの作り方
概念としての手順は次のとおりです。
- 語彙の決定 — コーパス全体から単語一覧(語彙)を作る
- カウント — 各文書で、語彙の各語が何回出たかを数える
- ベクトル化 — 出現回数(または0/1の有無)を並べたベクトルが文書の特徴量になる
1語だけを語彙数次元で1にするワンホットベクトル(TF-134)は、BoWの極端な特殊例——1語だけを見る——に近いイメージです。BoWは文書全体の語カウントをベクトルにします。
語順を捨てるトレードオフ
| 観点 | BoWの性質 |
|---|---|
| 着目点 | 語順より出現有無・回数(TF-127) |
| 利点 | シンプル。文書分類・検索の入門で使いやすい |
| 弱点 | 語順情報が失われやすい(G-332の解説) |
| 意味 | 「犬が猫を追う」と「猫が犬を追う」が同じベクトルになりうる |
現代のTransformerやLLMは語順・文脈を扱えますが、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は音声特徴量」——という分野の区別が問われます。
試験で押さえるポイント
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| BoW=Transformer | 古典的特徴量 vs 深層モデル(G-332のB) |
| BoW=MFCC | NLP 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-332、TF-127)。
BoWの弱点は何ですか?
単語の順序情報が失われやすい点です。「犬が猫を追う」と「猫が犬を追う」が同じベクトルになりうる。ただしシンプルで文書分類などの入門的タスクでは有効に使われてきました。
BoWとLLMは同じですか?
いいえ。BoWは古典的な文書の特徴表現です。LLMは大規模なニューラルネットによる言語モデルであり、文脈や語順を扱えます。NLPの歴史の異なる章として整理します。