“詞”向量應用的一些思考

對於搞自然語言處理的人來說,google的word2vec是比較流行的詞向量生成工具。一些開源框架,也集成了它,如JAVA語言的deeplearning4j,Python語言的gensim。對於大規模文字語料經word2vec訓練後,可以得到wordvectors,即詞向量,它用多維空間的點來表示一個詞,因而可以通過計算向量的空間距離(Cosine )來衡量詞的(語義)距離,如,與詞“暴跌”語義相近的:

./distance negative.bin 
Enter word or sentence (EXIT to break): 暴跌

Word: 暴跌  Position in vocabulary: 1478

                                              Word       Cosine distance
------------------------------------------------------------------------
                                            下挫                0.902400
                                            大跌                0.877469
                                            下跌                0.876485
                                            跳水                0.871455
                                            震盪                0.865968
                                               跌               0.864824
                                            拉昇                0.843199
                                            暴漲                0.830831
                                            深跌                0.830196
                                            崩盤式             0.829867
                                            反彈                0.824941
                                            高位                0.818257
                                            一度                0.818016

這表明,和“暴跌”相關聯的詞是“下挫”、“大跌”等。
從數學角度來講,word2vec實際上是利用了矩陣模型,所以,矩陣裏面的數據可以是任意信息。因此,“詞”不僅僅是文檔中的詞,而可以是任意構成序列的信息。大自然還是挺奇妙的,因爲人性(性格、習慣等)的原因,大多數人的語言和行爲,還是可以有規律的。語言產生了文字,形成了信息;而行爲同樣產生了信息。舉幾個例子:
人們購物的行爲,會產生一系列信息,如超市收銀條:
這裏寫圖片描述
可以把“商品名稱”看成“詞”,超市所有的電子收銀條記錄進行詞向量訓練,可以得到商品的關聯性,用來指導超市商品的擺放順序。這是實體超市的應用場景。電子商務網站同樣可以這麼做,把用戶的瀏覽行爲,購買記錄,當做“詞”,同樣可以給用戶做關聯推薦。類似的消費行爲有很多,如點菜單上的菜名當做“詞”向量,可以通過大量的菜單來制定套餐。
這裏寫圖片描述
知乎上也提到了,根據詞向量做成app推薦系統、社交網絡大V推薦等應用。

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