テキストマイニング機械学習自然言語処理

バッグ・オブ・ワーズ

ばっぐおぶわーず · Bag-of-Words
4 views

バッグ・オブ・ワーズは、文書や文章に登場する単語の出現回数を数え、文法や語順を無視して単語の集合としてデータを表現する手法です。自然言語処理やテキストマイニングにおいて、テキストを数値化する最も基礎的なアプローチとして広く利用されています。

バッグ・オブ・ワーズとは

バッグ・オブ・ワーズとは、文章を単語の順序や文法構造を一切考慮せず、単語の「袋(バッグ)」のように集めて出現頻度だけを数えて数値化するテキスト表現手法です。

詳しく解説

自然言語処理では、コンピュータが理解できるようにテキストを数値データに変換する必要があります。バッグ・オブ・ワーズでは、まず対象となる全文書から重複を除いた単語リスト(語彙集)を作成します。次に、個々の文書においてそれぞれの単語が何回出現したかをカウントし、ベクトルとして表現します。文書の長さや語順が無視される一方で、文章全体にどのような単語がどれくらい含まれているという特徴をシンプルに捉えられるため、機械学習モデルの入力データとして長年重宝されてきました。

具体例・使われ方

例えば、「猫が魚を食べた」と「猫が大きな魚を食べた」という2つの文がある場合、出現する単語のカウントを集計し、それぞれの文書を数値のベクトルに変換して文書分類や感情分析に利用します。スパムメールの検出において、「当選」「無料」「リンク」といった特定の単語が多く含まれているかを判定する際にも活用されています。

似た用語との違い

単語の出現回数だけを数えるバッグ・オブ・ワーズに対し、TF-IDFは単語の出現頻度に加えて、文書全体でのレア度(逆文書頻度)を考慮して重要度を重み付けします。また、Word2Vecなどの単語埋め込み手法は、単語の意味的な文脈や類似性を高次元のベクトル空間に配置する点が大きく異なります。

注意点

バッグ・オブ・ワーズの最大の限界は、語順や文脈が完全に失われる点です。「犬が人を噛んだ」と「人が犬を噛んだ」は、語順が異なるだけで意味が正反対ですが、バッグ・オブ・ワーズではまったく同じベクトルとして表現されてしまいます。また、語彙が増えるほどベクトルの次元数が非常に大きくなり、出現しない単語が多くなることでデータが疎になるという課題もあります。

更新日時: 2026年8月27日 19:51