初識nlp (2 (word2vec基礎

2021-07-29 15:14:34 字數 2549 閱讀 5606

人工創造dict

基於統計 hmm,crf,svm

one-hot

1xn矩陣只有乙個元素是1,其他是0

john likes to watch movies mary likes too -> [1,2,1,1,1,0,0,0,1,1]或[1,1,1,1,1,0,0,0,1,1]

john also likes watchfootball games

用於tf-idf weight : log(1+n/nt) n總數,nt含t文件數

bag of words 不能區分i love you 和you love i/me

用2-gram john likes :1 likes to:2 ···

考慮了 詞順序 但 模型引數多

1 :2 *10 2 : 4*100 3 :8*1000 4 :16*10000 類似這樣

1-gram

p(w1,w2,w3) = p(w1) x p(w2|w1) x p(w3|w1,w2)= p(w1) x p(w2) x p(w3)

2-gram

p(w1,w2,w3) = p(w1) x p(w2|w1) xp(x3|x2)

酒店[1,0,0,0]

賓館[0,1,0,0]

旅社[0,0,1,0]

及語料膨脹

i like enjoy 接近

window length 設為1(一般5-10)

向量維數太大 空間消耗大 且過稀疏

解決方法 用svd pca 降維

svd o(n^3) 計算量過大

目標 l = σlog p(wt|w t-n-1,···,w t-1)

視窗長度 n-1

用最下 w1 w2 w3 來** 最上 w4

w1,w2,w3都是 one-hot矩陣 1 x 10w

從最下到上 第一層 projection layer matrix c ,c是投影矩陣 300 x 10w

c 把 w1 從10w降到300

c * w1(t)

[c * w1(t), c * w2(t) ,c * w3(t) ] concat 將300 x 1 合為 900 x 1

上一層 hidden layer 500個節點 得到 900 x 500

#運用deep learning 裡的 tanh 函式

輸出層 softmax y=wx+b 得到1 x10w 概率向量 最大的就是結果

目標函式 第乙個 應該是∏ 不是∑

無隱層

用上下文**該詞

目標函式 第一式與第二式 log exp

將hidden 和projection 合2為1

300維 到10 w 維 計算量太大

1用 樹的結構 (哈夫曼樹) 把權重放在節點 2分決策

在節點i上做決策時 該點為邏輯回歸模型 向左走 1/(1+e -θix) 向右走1-1/(1+e -θix)

降低計算量log2

max 概率連乘

2 負例取樣

把 10w 壓縮到 500

1個正 v-1個負(v=500) 負代表 錯誤向量

用 詞頻/總次數 x m 做該次的段

與cbow相似

極大樣本 用skip-gram

好用**

徹底理解 NLP中的word2vec

首先簡單概括一下 word2vec 的思想 word2vec的目的是用指定維度的向量來表示詞庫中的每乙個詞,這些向量更利於後期進行各種nlp任務 每個詞語對應的詞向量本質上是語言模型中的一些權重引數,因此我們需要通過訓練網路的方式得到這些權重的最優值,換句話說,我們通過 未知詞的方式訓練網路,目的並...

與word2vec 原來word2vec那麼簡單

說到word2vec,它可謂非結構化資料裡面的佼佼者,尤其是在推薦和nlp當中,足以體現它的優勢所在,並且多年一直備受工業界喜愛.那麼word2vec到底是怎麼個原理的,發現身邊總是有很多人問,確不能準確的說出為什麼是兩個矩陣,到底是怎麼自動反向傳播的,以及對於softmax之後那麼大的維度資料,是...

NLP17 word2vec的一些想法

word2vec確是挺好用的。關於原理網上比較多。大白話講解word2vec到底在做些什麼 word2vec是乙個最初級的入門白話講述。作為乙個感性認識的講述。word2vec原理及實現 這篇會稍帶有模型來疏理一下 word2vec 中的數學原理詳解 這有一系列文章,是最全面,最透徹的乙個博文講解。...