詞向量 詞嵌入 word embedding

2021-10-01 03:51:36 字數 1151 閱讀 8752

embedding 嵌入

embedding: 嵌入, 在數學上表示乙個對映f:x->y, 是將x所在的空間對映到y所在空間上去,並且在x空間中每乙個x有y空間中唯一的y與其對應。 嵌入,也就是把x在y空間中找到乙個位置嵌入,乙個x嵌入為乙個唯一的y。

word embedding 詞嵌入

也就是把當前預料文字庫中每乙個詞語都嵌入到乙個向量空間當中,並且每乙個詞語對應唯一的詞向量,也就是詞向量。

所以, one-hot也是word embedding的一種實現,word2vec也是為了實現 word embedding而提出的一種方案。

為什麼要提出 word embedding?

本質的想法是,把語料庫中的每乙個詞語,對映成向量空間當中的唯一向量,這個向量在空間中的方向和位置能某種程度上衡量這個詞的意思、感**彩等。所以從傳統的基於統計的n-gram模型之後,提出了one-hot模型,開始走向詞向量,然後發現one-hot模型屬於硬分類,只有詞語不同和相同的資訊,丟失了詞義、不通詞之間的詞義,於是又提出了深度學習訓練出的詞向量模型,之後又經過改進,有了現在比較有名的word2vec模型。

word2vec模型本身其實是包含兩種演算法的模型,把語料庫中的詞語對映到向量空間,獲得詞向量的一種手段。

embedding層

初學nlp知識的時候,經常聽到embedding層,一直不知道是什麼意思。

我理解的embedding層,是乙個全連線層。 這個全連線層的引數,也就是乙個矩陣。將詞的one-hot編碼與這個全連線層的係數矩陣相乘,得到了乙個新的向量,這個向量就是詞向量,這樣一層全連線層被稱作了embedding層,其實就是乙個用於講詞對映為向量的對映矩陣。那麼這樣乙個係數矩陣的引數,也就是embedding層這個全連線層的引數是怎麼得到的,要詳細學習一下word2vec模型裡面的兩個演算法,說的直白點是在用深度學習對詞做其他任務的時候,將第一層全連線層的係數保留了下來,也就是則個對映矩陣,也就是embedding層。

寫在最後

具體word2vec模型是怎麼樣的,暫且不在這裡細說。只是我再學習的過程中,絕大多數講解中都講wordembedding 和 word2vec混在一起說,也沒說清楚什麼是word embedding,看到有前輩講的很清楚,我將自己的理解記錄下來,以供他人參考。當然,我的理解可能是不對的,歡迎批評指正

python生成詞向量 詞向量是如何生成的

遇到這個問題的時候,網上有個很經典的 word2vec的數學原理 上面一文解釋得很詳細,但小白入門會看得很蒙逼,不知道初始向量值是怎麼來的,全域性來呼叫是怎樣執行的。所以我就希望寫一篇文章,舉一些例子,去闡述這個詞向量到底是怎樣產生的。word2vec的數學原理 傳送門 word2vec數學原理 這...

詞向量原始碼解析 (1)詞向量(詞表示)簡單介紹

在未來的一段時間內,我會全面細緻的解析包括word2vec,glove,hyperwords,context2vec,ngram2vec等一系列詞向量 詞表示 工具包。用合理的向量去表示單詞是自然語言處理 nlp 領域中很經典很基本的乙個任務。乙份高質量的詞向量或是詞表示是很多任務取得更好表現的關鍵...

keras 生成句子向量 詞向量 詞向量評估方法

作者 一句話概述鏈結原始碼資料詞向量評估方法cornellacl 2015 得出兩個結論 詞向量是在大規模語料上訓練出來的中間產物。本文是對如何評估word embeding的質量的乙個綜述。詞向量提供語法 語義資訊。目前評估詞向量的方法可以分為兩類 通過亞馬遜勞務眾包平台 amazon mecha...