在學習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