作者He Xiangnan在此篇文章之前也有幾篇相關工作,本文提到的論文連結是

https://www。

comp。nus。edu。sg/~xiangn

an/papers/ijcai18-ConvNCF。pdf

,發表在IJCAI2018。使用外積衡量embedding向量相關性的做法值得借鑑。

推薦系統中矩陣分解模型非常重要,它將使用者和物品抽象表示成隱向量,然後使用使用者和物品的隱向量(embedding vector)進行點乘來度量兩者的相關性。整個過程涉及兩個子問題,一個是使用者和商品的表示(representation),另一個是基於模型對兩者的相關性建模(model)。針對建模這塊,最近一些工作是將要麼將user embedding和item embedding直接concat,要麼就是將兩者進行點乘,然後再接全連線層。文章指出這樣對embedding處理較為粗糙,無法較好地建模兩者的相關性。這也就是文章的出發點。下圖就是文章工作的框架圖。

推薦系統和深度學習結合

文章提出了在embedding層使用外積的做法。假如embedding大小為k,透過外交操作得到的k*k矩陣稱作interaction map。文章提到這種方式特別適合協同過濾任務,因為該矩陣不僅包含了矩陣分解中的interaction signal(對角線元素就是前面提到的直接點乘結果),還包含了其他潛在的pairwise interaction。這樣就為後續的非線性層提供了更多的語義資訊。

那後續怎麼處理呢?文章這裡並沒有使用全連線MLP,而是引入了卷積網路CNN。因為得到的interaction map是一個二維的矩陣,進行卷積操作的想法也很順暢。使用CNN的話,可以使得模型的引數量明顯得到降低。