word2vec實例詳解 word2vec有什么用?
word2vec有什么用?Word2vec本質(zhì)上是一個矩陣分解模型。簡言之,矩陣描述了每個單詞和上下文中的一組單詞之間的相關(guān)性。對矩陣進行分解,只取隱藏空間中每個單詞的向量。所以word2vec適用于
word2vec有什么用?
Word2vec本質(zhì)上是一個矩陣分解模型。簡言之,矩陣描述了每個單詞和上下文中的一組單詞之間的相關(guān)性。對矩陣進行分解,只取隱藏空間中每個單詞的向量。
所以word2vec適用于一個數(shù)據(jù)序列,該序列的本地數(shù)據(jù)之間有很強的相關(guān)性。典型的是文本的順序,相鄰的詞是密切相關(guān)的,甚至一個詞的上下文都可以大致預(yù)測中間的詞是什么。所學(xué)習(xí)的詞向量表示詞的語義,可用于分類、聚類和相似度計算。另外,word2vec的分層分類器或抽樣方法實際上對流行項做了大量的懲罰,因此不會像一般的矩陣分解那樣,語義相似的最后一個詞就是流行詞,這是word2vec的一個很好的特點。
對于短文本分類,我們直接在文檔中加入所有的詞向量作為文本特征來訓(xùn)練分類器,效果也很好。該方法也應(yīng)用于word2vec的訓(xùn)練過程中。另外,如果改用RBF核支持向量機等非線性分類器,分類精度會更高,也符合預(yù)期。
其他序列的數(shù)據(jù)也可以這樣做。我記得去年關(guān)于KDD的文章deepwalk,使用社交網(wǎng)絡(luò)上的隨機游走來生成節(jié)點序列,然后使用word2vec來訓(xùn)練每個節(jié)點對應(yīng)的向量。但我用這種方法在QQ社交網(wǎng)絡(luò)上做了一些實驗,發(fā)現(xiàn)效果很不理想,這可能與QQ社交網(wǎng)絡(luò)的復(fù)雜性有關(guān)。
我非常滿意的一個應(yīng)用程序是將word2vec應(yīng)用到用戶的應(yīng)用程序下載序列。根據(jù)用戶的app下載序列,將app視為一個詞,也可以形成這樣的序列數(shù)據(jù),然后訓(xùn)練每個app對應(yīng)的向量。利用這個向量來計算應(yīng)用之間的相似度,效果非常好。它可以聚合真正與內(nèi)容相關(guān)的應(yīng)用程序,同事可以避免受流行應(yīng)用程序的影響。類似的場景應(yīng)該有很多,而且應(yīng)用也很廣泛,比如推薦系統(tǒng)和廣告系統(tǒng)。
word2vec詞向量怎么來的?
2013年,谷歌推出了一款開源的word矢量計算工具word2vec,引起了業(yè)界和學(xué)術(shù)界的關(guān)注。首先,word2vec可以在數(shù)百萬個詞典和數(shù)億個數(shù)據(jù)集上進行有效的訓(xùn)練;其次,wordembedding工具的訓(xùn)練結(jié)果可以度量量詞之間的相似度。隨著深度學(xué)習(xí)在自然語言處理中的普及,許多人錯誤地認(rèn)為word2vec是一種深度學(xué)習(xí)算法。實際上,word2vec算法的背后是一個淺層的神經(jīng)網(wǎng)絡(luò)。需要強調(diào)的另一點是,word2vec是一個用于計算worddirector的開源工具。當(dāng)我們談到word2vec算法或模型時,實際上是指用于計算wordvector的cbow模型和skip-gram模型。很多人認(rèn)為word2vec是指一種算法或模型,這也是一種謬誤。接下來,本文將從統(tǒng)計語言模型入手,詳細(xì)介紹word2vec工具背后算法模型的起源和發(fā)展。詳細(xì)信息:網(wǎng)頁鏈接
~],是通過word2vec查找句子之間的相似度。
今天我想介紹一個簡單有效的方法,就是用word2vec來尋找句子之間的相似度。
首先,選擇同義詞庫,例如500000個單詞。然后,使用word2vec計算所有單詞的向量。然后,為每個句子構(gòu)造一個200000維向量。向量的每個維度是對應(yīng)單詞和句子中每個單詞之間的最大相似度。這樣,句子的向量就被構(gòu)造出來了。因為句子不太長,所以200000維向量的大多數(shù)位置的值是0,因為解是稀疏的并且沒有計算挑戰(zhàn)。