# Word2Vec 筆記
- [Word Embedding and Word2Vec, Clearly Explained!!! 影片連結](https://www.youtube.com/watch?v=viZrOnJclY0)
## 簡介
Word2Vec 是一種用於學習單詞向量表示的神經網絡模型。它能夠有效地捕捉單詞之間的語義和語法關係,被廣泛應用於自然語言處理(NLP)領域。
## 基本原理
Word2Vec 模型主要有兩種策略:
1. **連續詞袋模型(CBOW)**: 給定上下文單詞,預測目標單詞。
2. **跳躍模型(Skip-Gram)**: 給定目標單詞,預測上下文單詞。
這兩種都是通過最小化單詞預測誤差來學習單詞向量表示。
1. **模型架構**:
- Word2Vec 模型的基本架構是一個簡單的前饋神經網絡,包含一個輸入層、一個隱藏層和一個輸出層。
- 這個基本架構在 CBOW 和 Skip-Gram 中是相同的。
2. **訓練策略**:
- CBOW (Continuous Bag-of-Words) 模型:預測目標詞,給定上下文詞。
- Skip-Gram 模型:預測上下文詞,給定目標詞。
- 雖然訓練策略不同,但它們使用的是同一個基本模型架構。
3. **訓練目標**:
- CBOW 和 Skip-Gram 的訓練目標都是最小化單詞預測誤差,從而學習出高質量的詞向量表示。
所以可以說,CBOW 和 Skip-Gram 是 Word2Vec 模型中的兩種不同的訓練方法,但它們共享相同的基本模型架構。
## 範例應用
1. **文本分類**:
- 利用 Word2Vec 將文本轉換為向量表示,再輸入分類模型進行文本分類。
2. **關聯詞分析**:
- 根據單詞之間的相似度,找出與某個單詞最相關的其他單詞。
- 例如: `king - man + woman = queen`
3. **機器翻譯**:
- 利用 Word2Vec 將不同語言的單詞映射到同一個向量空間,有助於跨語言的詞彙對齊和句子翻譯。
## 實現方式
1. **訓練 Word2Vec 模型**:
- 使用 Gensim 或 TensorFlow 等工具訓練 Word2Vec 模型。
- 需要大量的文本語料作為輸入。
2. **使用 Word2Vec 模型**:
- 獲取單詞的向量表示。
- 計算單詞之間的相似度。
- 進行詞彙關聯分析。
## 注意事項
1. 預訓練模型的選擇:可以使用開源的預訓練模型,如 Google News 預訓練模型。
2. 超參數調整:模型的架構、訓練時間、學習率等超參數會對最終效果產生影響。
3. 語料質量和數量:語料的質量和數量會直接影響模型的性能。