🚦 Important
1. Bag of Words (BoW)、TF-IDF、Word Embeddings の違いは何ですか?それぞれの長所と短所を説明してください。
答え
簡単に言うと、以下となります。
- Bag of Words (BoW) は、テキスト内の単語の出現頻度を数えるシンプルな方法であり、単語の順序や文脈を無視します。
- TF-IDF は、単語の出現頻度に、他の文章での出現の希少性を組み合わせた方法で、重要度の高い単語を見つけやすくします。
- Word Embeddings は、意味を考慮して単語をベクトルで表現し、類似の意味を持つ単語を似たベクトルに配置します。
詳細
- Bag of Words (BoW)
- Bag of Wordsは、テキストをベクトル表現に変換する最も単純な方法の1つです。ドキュメントやコーパス内のすべてのユニークな単語の語彙を作成し、各ドキュメントを、その語彙に基づいて単語の出現有無または頻度を示すベクトルで表現します。単語の順序は無視されます。
- 長所
- シンプルで実装が容易。
- 小規模なデータセットに対して有効。
- 短所
- 単語の順序を無視するため、コンテキストや意味が失われる。
- 大規模な語彙では、高次元でスパースなベクトルになる。
- 単語間の意味的な関係を捉えることができない。
- TF-IDF (Term Frequency - Inverse Document Frequency)
- TF-IDFは、BoWの改良版で、単語の頻度と全体のコーパス内での希少性を考慮して、単語に重みを付けます。特定のドキュメントで頻繁に出現し、全体のコーパスでは希少な単語に高い重みが付与され、重要な単語が強調されます。
- 長所
- 一般的に使われる単語(例:「the」「is」)の影響を減らし、意味のある単語を強調。
- BoWよりもドキュメント間の重要な単語の抽出に優れる。
- 短所
- 依然としてスパースで高次元のベクトルになる。
- 単語の順序や意味を無視する。
- 単語間の関係(同義語など)を捉えられない。
- Word Embeddings(例: Word2Vec、GloVe、FastText)
- Word Embeddingsは、語彙内の単語を低次元の密なベクトルとして表現し、類似した意味を持つ単語をベクトル空間内で近くに配置します。これらのベクトルは、大規模なコーパスから学習され、単語の意味的な関係を捉えることができます。
- 長所
- 単語の意味や関係性を捉えることができる。
- 密なベクトルを使用するため、計算と空間効率が良い。
- ベクトル演算を使って、king - man + woman = queen のような関係性も捉えることができる。
- 短所
- 意味のある埋め込みを学習するためには、大規模なデータセットが必要。
- 事前学習された埋め込みは、特定の分野固有の言語やニュアンスを捉えられないことがある。
- 多義語(意味が複数ある単語)には弱い(文脈に敏感なモデル(例:BERT)が必要)。