忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】文章を数字の列に変える!Bag-of-Words(BoW)の仕組み

コンピュータは「言葉」をそのまま理解できません。テキストを「単語の出現回数」という数字のリストに変換するのが、Bag-of-Words(BoW)です。

1. 【 問題 】

自然言語処理における前処理(ベクトル化)の手法において、文章中の語順や文法構造をすべて無視し、どの単語が何回出現したかという「頻度」のみに着目して文書を数値化する手法を何と呼ぶでしょうか?

① Word2Vec
② Bag-of-Words(BoW)
③ 形態素解析
④ N-gram


2. 【 解答 】

正解: ② Bag-of-Words(BoW)

3. 整理:文章が「数字のリスト」になるイメージ

例えば、あらかじめ辞書に「私」「カレー」「食べた」「テニス」という単語が登録されているとします。このとき、2つの文章は以下のように数値化(ベクトル化)されます。

【 ベクトル化の具体例 】

辞書の並び: [ 私, カレー, 食べた, テニス ]

・文章A:「私はカレーを食べた」
[ 1, 1, 1, 0 ] (テニスは0回)

・文章B:「私はテニスをした後にカレーを食べた」
[ 1, 1, 1, 1 ] (各1回ずつ)

--------------------------

メリット: 構造が非常にシンプルなため、計算が高速で、ナイーブベイズなどのアルゴリズムと組み合わせて「スパムメール判定」などに古くから大活躍しています。

4. Bag-of-Wordsの限界と発展形

1. 語順が無視される: 「私があなたを好き」と「あなたが私を好き」は、BoWでは全く同じ数値になってしまい、意味の違いを区別できません。
2. 「てにをは」が強くなる: 出現回数だけを数えるため、「〜です」「〜ます」のような、どの文章にも出る定番ワードが一番重要だと誤判定されがちです。

これを解決するのが「TF-IDF」です!
「よく出る単語の価値を低く、特定の文章にしか出ないレア単語の価値を高く」補正するTF-IDFは、BoWの発展形としてDS検定の超・超頻出ポイントです。


5. DS検定形式:実戦4択クイズ

問:Bag-of-Wordsのように単語単位で区切るのではなく、文字や単語を「連続するN個の塊」として区切ることで、語順の情報をある程度残したまま頻度を数える手法を何と呼ぶか。

① TF-IDF   ② コサイン類似度   ③ N-gram   ④ 感情極性辞書

【 正解: ③ 】

解説: 例えば「テニス」を2文字ずつ区切って「テニ」「ニス」として数えるような手法を「N-gram(この場合はBi-gram)」と呼びます。BoWの「語順が消える」という弱点を補うためによく使われます。


6. まとめ

DS検定において「どの単語が何回出現したかを数値化」「語順を無視」というキーワードが出たら「Bag-of-Words(BoW)」です。テキストデータをAIに投入するための第一歩となる重要な手法として、しっかり記憶にセットしておきましょう!

PR