詞嵌入、word2vec


  • 詞匯表使用one-hot編碼,一個詞在一列向量里只有一個位置是1,其他位置為0,缺點是浪費空間,而且看不出各個單詞之間的關系。
  • 詞嵌入用一個高維向量表示一個單詞,意思相近的詞的詞嵌入比較接近,泛化能力強。
  • 高維空間不好表示,t-SNe算法可將高維空間映射為二維空間。apple與orange挨得較近。
  • 學習詞嵌入通常會考察很大文本集,幾十億單詞很常見。可以下載詞嵌入矩陣,用於自己訓練集很小的模型作為輸入。
  • 通常只有自己訓練集很大時,才會微調詞嵌入矩陣。一般情況下,詞嵌入不用調整。
  • 詞嵌入的一個應用是類比推理,比如man對women,算法可以推知king對queen。余弦相似度函數被用於衡量兩個向量的相似性。
  • 如果是學習語言模型,使用目標詞前幾個詞作為上下文。如果是學習詞嵌入,使用目標詞鄰近詞作為上下文。
  • word2vec算法采用skip-Gram模型。隨機選擇某個詞作為上下文詞,然后選擇上下文詞附近單詞作為目標詞,來學習詞嵌入。
  • word2vec主要難點是輸出計算概率公式中分母的計算量過大。分級sorftmax和負采樣被用來解決這個問題。
  • 實際上上下文詞並不是隨即均勻選擇的,而是采用不同的分級來平衡不常見的詞和常見的詞。
  • word2vec還有一個連續詞袋模型(CBOW),獲得中間詞兩邊的上下文,然后預測中間詞。更適合小型語料庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM