在 Google 的提出 word2vec 之後,Embedding 的想法從 NLP 領域擴散到所有機器學習領域。現在已成為深度學習領域的重要技術。
其主要作用是:將稀疏向量轉成稠密向量,以便給深度神經網路處理。它還有 2 個特色
之前提到的矩陣分解,產生了使用者的隱向量和電影的隱向量,站在 Embedding 的角度思考,這就是一種使用者的Embedding 和 物品的 Embedding。
那我們可不可以結合 Word2Vec 的想法用在推薦系統上?例如把 word 換成電影來思考?
這想法就是 item2vec 基本思路!
相比於 Word2vec 利用詞序列生成詞的 Embedding,Item2vec利用電影序列產生電影的 Embedding。 其中電影序列是由指定用户的瀏覽行為產生的序列。
Word2Vec 有CBOW 及 skip-gram 兩種作法。skip-gram 這個作法效果比 CBOW 來得好。
Skep-gram 怎麼做呢?它是用中心詞預測周詞。
item2vec 其實就是 word2vec,不同處在於把 word 換成了item 。
但這邊有些區別, word2vec 是用句子訓練,所以 word 是有順序的,它在item2vec 裡,item是個集合,是無序的。也就是說一個使用者的所有觀看記錄,我們就不在乎他看的順序了。
那 item2vec 怎麼找相似的 item 呢?剛提到 embedding 會讓相似的 item 在附近,所以用 cosine 相似度,就可以找到相似的 item 了。
item2vec 的想法非常簡單,但很實用。要解決不大的問題又要一個快速方案,item2vec效果算是不錯的。