TensorFlow 讀書筆記 Word2Vec

2021-09-09 02:41:16 字數 865 閱讀 4810

由於暫時不會深入接觸nlp相關領域,所以本章的內容就不過多涉及了,以後會進行學習,應該。

word2vec又稱word embeddings,中文稱為"詞向量"、"詞嵌入"等。

影象和語音天然可以表示為稠密向量,自然語言處理領域在word2vec之前都是使用離散符號,如"中國"表示為5178,"北京"表示為3987這樣,即one_hot_encoder,乙個詞對應乙個向量(向量中乙個值為1其餘值為0),這使得整篇文章變為乙個稀疏矩陣。而在文字分類領域,常使用bag of words模型,將文章對應的稀疏矩陣進行合併,比如"中國"出現23次,則5178位置特徵值為23這樣。

由於one_hot_encoder的特徵編碼是隨機的,完全忽視了字詞之間可能的關聯。而且稀疏向量作為儲存格式時,其效率比較低,即我們需要更多的訓練資料,另外,稀疏矩陣計算也非常麻煩。

向量表達可以有效的解決這些問題,向量空間模型會將意思相近的詞對映到鄰近的位置。向量空間模型在nlp中依賴的假設是distributional hypothesis,即相同語境**現的詞其意義也相近。

向量空間模型有兩個子類,

word2vec就屬於一種**模型,其分為兩個模式,

**模型一般是給定前h個詞的情況下去最大化目標詞的概率,cbow模型並不需要計算全部詞彙表中的可能性,隨機選擇k個詞彙和目標詞彙進行計算loss,這個方法由tf.nn.nce_loss()已經實現了。

以一句話為例;「the quick brown fox jumped over the lazy dog」為例,滑窗尺寸為一時對映關係有:【the、brown】->【quick】這樣的,而skip-gram中相反,我們希望得到的是(quick,the)、(quick,brown)這樣的關係。面對隨機生成的負樣本時,我們希望概率分布在the的位置盡可能的大。

mysql運維 讀書筆記 Mysql 讀書筆記

mysql儲存時間有兩種型別 datetime和timestamp。分別說一下兩者的區別。datetime,以8位元組儲存時間,理論上可以從0000年儲存到9999年。並且沒有時區的概念,它儲存的就是乙個時間點的概念。timestamp和datetime最主要的不同就是,它是以4個位元組儲存,由19...

struts in action讀書筆記

struts in action 學習筆記 一 struts的控制流 因為web 應用是動態的,所以很難表現 乙個真正固定的控制流 取決於環境,不同的方式下有很多不同的事情發生 特別是在web 應用中。但是事情仍然有乙個通用的秩序。如果你是個struts,應用框架,甚至web 應用的新手,這些流程剛...

中 斷(讀書筆記)

裝置的中斷會打斷核心中程序的正常排程和執行,系統對更高吞吐率的追求勢必要求中斷服務程式盡可能地短小精悍。但是這個良好的願望往往與現實並不吻合。在大多數的系統中,當中斷到來時,要完成的工作往往並不是短小的,它可能要求進行較大量的耗時處理。為了在中斷執行時間盡可能短和中斷處理需要完成大量工作之前找乙個平...