word2vec計算文本相似度 卷積神經網絡,文本分類時,預訓練word2vec的詞向量?
卷積神經網絡,文本分類時,預訓練word2vec的詞向量?影響因素很多。例如,我需要花60個小時來訓練544m商品標題語料庫。但是,打開fast uux版本后僅需20分鐘(需要安裝Python)卷積神
卷積神經網絡,文本分類時,預訓練word2vec的詞向量?
影響因素很多。例如,我需要花60個小時來訓練544m商品標題語料庫。
但是,打開fast uux版本后僅需20分鐘(需要安裝Python)卷積神經網絡文本分類,預先訓練的word2vec的詞向量
word2vec本質上是一個矩陣分解模型。簡言之,矩陣描述了每個單詞和上下文中的一組單詞之間的相關性。對矩陣進行分解,只取隱藏空間中每個單詞的向量。
所以word2vec適用于一個數據序列,該序列的本地數據之間有很強的相關性。典型的是文本的順序,相鄰的詞是密切相關的,甚至一個詞的上下文都可以大致預測中間的詞是什么。所學習的詞向量表示詞的語義,可用于分類、聚類和相似度計算。另外,word2vec的分層分類器或抽樣方法實際上對流行項做了大量的懲罰,因此不會像一般的矩陣分解那樣,語義相似的最后一個詞就是流行詞,這是word2vec的一個很好的特點。
對于短文本分類,我們直接在文檔中加入所有的詞向量作為文本特征來訓練分類器,效果也很好。該方法也應用于word2vec的訓練過程中。另外,如果改用RBF核支持向量機等非線性分類器,分類精度會更高,也符合預期。
其他序列的數據也可以這樣做。我記得去年關于KDD的文章deepwalk,使用社交網絡上的隨機游走來生成節(jié)點序列,然后使用word2vec來訓練每個節(jié)點對應的向量。但我用這種方法在QQ社交網絡上做了一些實驗,發(fā)現效果很不理想,這可能與QQ社交網絡的復雜性有關。
我非常滿意的一個應用程序是將word2vec應用到用戶的應用程序下載序列。根據用戶的app下載序列,將app視為一個詞,也可以形成這樣的序列數據,然后訓練每個app對應的向量。利用這個向量來計算應用之間的相似度,效果非常好。它可以聚合真正與內容相關的應用程序,同事可以避免受流行應用程序的影響。類似的場景應該有很多,而且應用也很廣泛,比如推薦系統和廣告系統。