1、word2vec

1、以前怎麼計算兩句話的相似度呢?就是詞袋模型

      我很帥   》[1(我),1(帥),1(很),0(不)]

      我不帥   》[1,1,0,1]

2、現在怎麼計算呢?就是把每個字轉換成一個向量(也可以把一句話變成一個向量)下面是兩種經典模型

CBOW簡單說一下:一共N個字,上下文各兩個字,每個字是一個1*N向量,對應位置是1,其餘全爲0.然後呢乘以一個N*K的矩陣,K就是詞向量的維度,再疊加,再乘以一個K*N的矩陣再softmax,得到一個1*N的向量,與這個字做比較,計算損失就行了,bp算法,最後得到N*K的矩陣用來計算每個字的詞向量。

這樣是不是就完美了?但是這樣一個字一個字來很慢啊,效率很重要呀,

解決方案:Hierarchical SoftmaxNegative Sampling兩種方法

我之前上傳的資料裏面有一個講Word2vec數學原理的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章