4-1 item2vec算法的背景與物理意義

item2vec的原型:word2vec

一、背景

1. Item2item的推薦方式效果顯著:

很多場景下item2item的推薦方式要優於user2item;

item2item的推薦方式:在獲取item相似度矩陣之後,根據用戶的最近的行爲,根據行爲過的item找到相似的item,完成推薦,如itemCF。

user2item:根據用戶的基本屬性和歷史行爲等基於一定的模型,算出最可能喜歡的item列表寫在KV存儲中;當用戶訪問系統的時候,將這些item列表推薦給用戶,像userCF、LFM、personal rank算法等。

2. NN model的特徵抽象能力

深層要比淺層的特徵抽象能力更強,主要有兩方面原因:

(1)輸入層與隱含層之間是全連接;

(2)激活函數的去線性化;

基於上述,基於神經網絡的item2item的個性化召回算法item2vec也就在這個大背景下產生了。

二、物理意義

在介紹item2item之前,先介紹一下原型word2vec。

1. word2vec

根據所提供的語料,語料可以想象成一段一段的文字,將語料中的詞embedding成詞向量,embedding成詞向量之間的遠近可以表示成詞與詞之間的遠近。

2. item2item

(1)將用戶行爲序列轉換成item組成的句子。

解釋:在系統中,無論是用戶的評分系統,還是信息流場景下用戶的瀏覽行爲,或者是電商場景下用戶的購買行爲。在某一天內,用戶會進行一系列的行爲,那麼將這一系列的行爲抽象出來。每一個用戶組成的item與item之間的這種序列的連接關係就變成了之前所說的文字組成的一段一段的句子。

(2)模仿word2vec訓練word embedding 將item embedding。

word embedding的過程只需要提供語料,也就是一段一段的文字,那麼訓練得到的word embedding可以表示詞語義的遠近,那麼同樣希望得到item之間內涵的遠近。

所以,可以將第一步構成的item語料放到word2vec中,也能夠完成item embedding。embedding完成的向量同樣可以表示item之間的隱語義的遠近,也就是說,可以表示item之間的相似性。

以上就是item2vec的物理意義。

三、缺陷

(1)用戶的行爲序列時序性缺失:

在介紹物理意義的時候,說過將用戶的行爲轉化成由item組成的句子,這裏句子之間詞與詞之間的順序與按照用戶行爲順序進行排列和不按照用戶行爲順序進行排列的結果是幾乎一致的。

也就是用戶的行爲順序性,模型是丟失的。

(2)用戶行爲序列中的item強度是無區分性的:

這裏比如說,在信息流場景中,觀看短視頻的50%或者80%或者100%,在用item組成的句子當中,同樣都是出現一次的,而不是說觀看100%就會出現2次。

再如,在電商場景中,可能你購買一件商品,或者說你加了購物車,都會出現一次;而不會說,你購買了就會出現兩次。

四、item2vec算法的主流程

(1)從log中抽取用戶行爲序列

按照用戶“天”級別,構成一個完整的句子,這裏的行爲根據不同的推薦系統所指的不同。比如:在信息流場景下,用戶點擊就可以認爲是行爲;那麼在評分系統中,我們可能需要評分大於幾分;在電商系統中,可能希望用戶購買,得到用戶行爲序列所構成的item句子。

(2)將用戶序列當做語料訓練word2vec得到item embedding

在訓練過程中,word2vec代碼不需要書寫,但是有很多參數是需要我們具體設定的。

(3)得到item sim關係用於推薦

根據item embedding向量,可以計算每一個item最相似的top k個,然後將相似度離線寫入到KV當中,當用戶訪問我們的推薦系統的時候,用戶點擊了哪些item,推出這些item所最相似的top k個給用戶,就完成了推薦。

eg:

原始:

轉化爲句子:

放入word2vec模型(三層的神經網絡:輸入層、隱含層、輸出層)

經過word2vec模型的訓練,會得到每一個item對應的embedding向量:

得到item向量之後,就得到item的sim關係。

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