word2vec的理解

bbird2018發表於2018-11-15

在學習LSTM的時候,瞭解了word2vec,簡單的理解就是把詞變成向量。看了很多書,也搜尋了很多部落格,大多數都是在word2vec的實現原理、數學公式,和一堆怎麼樣重新寫一個word2vec的python程式碼。對於我這種數學弱鳥級別的人來說,這顯然是沒有什麼意義的,更別說價值了。我所需要的就是理解幾個簡單的問題:

1、什麼是word2vec?

2、為什麼是word2vec?

3、word2vec能幹什麼?

4、怎麼用word2vec來達到目的?

 

最起碼目前我能理解這幾個問題,以及足夠了,至於那些數學公式,還需要時間,我高中數學都忘光了,已經在京東上購買了高中數學書,估計學到能看懂這些數學公式,都天荒地老了,有沒有word2vec的演算法都不好說了。

什麼是word2vec?

word2vec是谷歌提出的一種演算法,能把文字表述成一種向量表。在這種向量表裡,關係相近的詞語向量距離比較近。通過這個向量表可以十分清晰的看出來詞語和詞語的分佈。

為什麼是word2vec?

因為計算機不懂得人類的語言,必須把詞語變成數字化得東西,才能進一步的參與運算,可以把詞語簡單的對映,行程one-hot的詞典,然後就可以參與lstm的網路訓練了。但是這樣的情況有幾個問題。

1、one-hot的方式是一個稀疏矩陣,佔用很大的位置。計算起來十分不方便。

2、one-hot僅僅是把詞語或者文字數字化了,而沒有詞語和詞語之間的聯絡和關係。如果能把語義上相近的詞語放到一起,這樣就可以一眼看出來詞語和詞語的關係,同時根據詞語和詞語分佈進行語義方面的分析和計算。

而為了實現既可以語義上分佈有規律,有可以縮小矩陣減少計算。人類進行了很多摸索和演算法,而目前為止,word2vec就恰恰好可以實現這個目的,同時避免缺點。

word2vec能幹什麼?

我個人的理解,word2vec主要達到兩個效果

1、把詞語進行數字化以後,可以參與其他的計算了。

2、詞語根據語義分佈的有規律了,可以根據這個進行一些有意思的玩法了。

關於把詞語放入詞典,可以參與其他的計算。這個暫且不去探討,因為我也還不懂。說了也是胡說

詞語語義有規律的分佈以後,就可以進行一些有意思的玩法,比如

1、一個網站的內容可以提取出來詞語,得到空間向量,然後廣告內容也可以得到空間向量,計算向量之間的距離,就可以知道哪個廣告匹配哪個內容了?

2、興趣推薦,內容推薦,商品推薦,大概的意思都這樣,社交網路的大V推薦

我能想到的大概就這麼多:

看看別人怎麼說吧:

https://x-algo.cn/index.php/2016/03/12/281/

https://www.jianshu.com/p/f58c08ae44a6

 

相關文章