embedding: 嵌入, 在數學上表示一個映射f:x->y, 是將x所在的空間映射到y所在空間上去,而且在x空間中每個x有y空間中惟一的y與其對應。 嵌入,也就是把x在y空間中找到一個位置嵌入,一個x嵌入爲一個惟一的y。算法
也就是把當前預料文本庫中每個詞語都嵌入到一個向量空間當中,而且每個詞語對應惟一的詞向量,也就是詞向量。學習
因此, one-hot也是word Embedding的一種實現,word2Vec也是爲了實現 word embedding而提出的一種方案。編碼
本質的想法是,把語料庫中的每個詞語,映射成向量空間當中的惟一貫量,這個向量在空間中的方向和位置能某種程度上衡量這個詞的意思、感情色彩等。因此從傳統的基於統計的n-gram模型以後,提出了one-hot模型,開始走向詞向量,而後發現one-hot模型屬於硬分類,只有詞語不一樣和相同的信息,丟失了詞義、不通詞之間的詞義,因而又提出了深度學習訓練出的詞向量模型,以後又通過改進,有了如今比較有名的word2vec模型。
word2vec模型自己實際上是包含兩種算法的模型,把語料庫中的詞語映射到向量空間,得到詞向量的一種手段。深度學習
初學nlp知識的時候,常常聽到embedding層,一直不知道是什麼意思。
我理解的embedding層,是一個全鏈接層。 這個全鏈接層的參數,也就是一個矩陣。將詞的one-hot編碼與這個全鏈接層的係數矩陣相乘,獲得了一個新的向量,這個向量就是詞向量,這樣一層全鏈接層被稱做了embedding層,其實就是一個用於講詞映射爲向量的映射矩陣。那麼這樣一個係數矩陣的參數,也就是embedding層這個全鏈接層的參數是怎麼獲得的,要詳細學習一下word2vec模型裏面的兩個算法,說的直白點是在用深度學習對詞作其餘任務的時候,將第一層全鏈接層的係數保留了下來,也就是則個映射矩陣,也就是embedding層。數學
具體word2vec模型是怎麼樣的,暫且不在這裏細說。只是我再學習的過程當中,絕大多數講解中都講wordEmbedding 和 word2vec混在一塊兒說,也沒說清楚什麼是word embedding,看到有前輩講的很清楚,我將本身的理解記錄下來,以供他人蔘考。固然,個人理解多是不對的,歡迎批評指正統計