跨域社交推薦:如何透過用戶社交信息「猜你喜歡」?
來自專欄 PaperWeekly
在碎片化閱讀充斥眼球的時代,越來越少的人會去關注每篇論文背後的探索和思考。 在這個欄目里,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。 點擊即刻加入社區,查看更多最新論文推薦。
本期推薦的論文筆記來自 PaperWeekly 社區用戶 @spider。不同於傳統推薦方法將社交信息作為用戶的附加信息,在同一個域預測用戶偏好。本文選擇在信息域中學慣用戶偏好,然後將其沿社交網路進行傳播,使原本不在該域的用戶也可以學到他的偏好信息,角度新穎。
關於作者:黃若孜,復旦大學軟體學院碩士生,研究方向為推薦系統。
論文 | Item Silk Road: Recommending Items from Information Domains to Social Users
鏈接 | http://www.paperweekly.site/papers/1885
作者 | Xiang Wang / Xiangnan He / Liqiang Nie / Tat-Seng Chua
論文動機
在線平台一般分為兩種,一種是信息導向的,比如一些電商的網站,強調 user-item 的相互作用;另一種是社交導向的,比如推特等提供社交網路服務,有豐富的 user-user 鏈接。雖然這兩種 domain 是異構的,但是他們會共有一些用戶,稱為橋樑用戶(bridge users),通過他們我們可以進行跨域社交推薦,也就是在社交網路中的一些潛在用戶推薦信息 domain 中的相關 items。
當前大部分的 -cross domain 的推薦方法都是對同構的域,而針對本文的 task,存在的困難有:
- 數據集中橋樑用戶的不足
- 在信息域中的 attribute 充足,但是很少有人關注利用這些 attribute 來提高對社交網路中用戶的推薦結果
本文提出了一種稱為 Neural Social Collaborative Ranking (NSCR) 的方法來利用信息域中 user-item connection 和社交域中的 user-user connection。在信息域,利用屬性增強對 user 和 item embedding 的效果,在社交域中,將橋樑用戶的 embedding 結果通過社交網路傳播給非橋樑用戶。
問題描述
在信息域中,用戶集合 U1,項目集合 I,用戶給項目的打分信息為矩陣 Y,關於用戶和項目的 attributes 分別為 Gu 和 Gi 表示;在社交域中,用戶集合 U2,社交關係為 S。兩個域的橋樑用戶為 U=U1∩U2。
輸入:信息域 {U1,I,Y,Gu,Gi},社交域 {S,U2},U1∩U2 非空。
輸出:為社交域中每一個用戶 u 確定一個對 items 的排名函數。
NSCR Solution
矩陣分解模型(MF)是推薦系統重要的一個模型,這裡先引入一個觀點,即 CF 模型可以看做是一個淺層神經網路模型。
如下圖所示,我們輸入用戶項目 ID 的 one-hot 的表示,然後將其映射到一個 embedding 層,將兩者 embedding 向量進行逐元素相乘,得到向量 h(如果直接將 h 映射到一個打分值的話,那麼這個模型就是 MF 模型)。
本文認為,MF 的表現受限於使用內積來捕捉 user-item 交互作用;同樣,在常規的對 attributes 的利用上,單純的讓用戶 embedding 和 attribute embedding 相加,也不足以捕捉 user、item、attribute 之間的聯繫。
由於 task 是為社交網路中的用戶進行跨域推薦,本文使用了基於表示學習(embedding)的方法,認為問題的關鍵在於如何將 item 和來自社交網路的用戶映射到相同的 embedding 空間。
由於兩個域的用戶只有少量的重合,本文給出的解決方案是分開學習兩個域的 embedding,而強迫兩個學習過程共享相同橋樑用戶的 embedding。優化目標為:
等號右邊分別是兩個域各自的目標函數。
1. Learning of Information Domain
學習 cf 模型的參數,有兩種目標函數:point-wise 和 pair-wise 目標函數,前者最小化預測分值和真實分值之間的損失,後者本質上是負採樣,適合於本文中使用隱式反饋,同時要得到每個用戶的個性化 item 排序的任務。
首先取三元組 (u,i,j),其中 u 是一個用戶,i 是該用戶評分過的項目 (yui = 1),j 是用戶沒有評分過的項目 (yuj = 0)。目標函數想要學到 (i,j) 的正確順序:
其中 yuij = yui – yuj,^yuij = ^yui – ^yuj,其中 ^yui 是預測打分值。
確定目標函數之後,我們來看預測值 ^yui 是通過怎樣的模型得到的。本文在 Neural Collaborative Filtering 模型的基礎上,進一步加入了 attribute 的信息,結構如下圖所示:
輸入層:輸入四種信息的 id,用 one-hot 向量表示。
embedding:將四種信息分別進行 embedding。
pooling 層:由於 attributes 的數量不確定,embedding 後的向量集大小不確定,為了給後面的 nn 一個定長的信息,進行 pooling 操作。
由於最大平均 pooling 不能捕捉用戶和各 attributes 之間的交互作用,所以設計了一種 pairwise pooling 的方法:
對項目也做類似處理,最後將 pu⊙qi 的結果作為後面 MLP 的輸入,MLP 輸出預測結果。
2. Learning of Social Domain
在社交域中,本文使用了半監督學習的方法將信息域中用戶 embedding 結果從橋樑用戶傳播到非橋樑用戶。這基於這樣的一個假設:如果兩個用戶有很強的社交關係,那麼他們可能會有相似的偏好,從而在 latent space 有相似的特徵表示。
學習包括兩部分:
平滑約束(smoothness constrain):定義了結構一致性損失,希望相鄰的用戶的表示相似;su,u 是兩個用戶社交關係的強度,du 是節點 u 的出度,稱為平滑約束是因為為每個用戶的特徵表示除以了出度的開方,進行了平滑,如果沒有這個處理,那麼社交關係多的活躍用戶將會產生更有效的傳播。
擬合約束:為了使兩個域的 latent space 保持一致,迫使橋樑用戶的兩種表示接近,也就是擬合損失:
訓練完成後,將 pu 輸入信息域中的預測框架,得到預測 item 的排名。
實驗結果
信息域數據集來自 http://trip.com,同時找到其中一些用戶相關的 Facebook 和 Twitter 信息。評估指標為個性化排序的指標 AUC 和 Recall@k。
由於非橋樑用戶沒有評分信息,無法驗證預測是否正確,所以使用了一部分的橋樑用戶作為測試集。可以看到預測結果優於 state of art。
評價
不同於傳統推薦方法將社交信息作為用戶的附加信息,在同一個域預測用戶偏好,本文是在信息域中學習了用戶偏好,然後將其沿社交網路進行了傳播,使原本不在該域的用戶也可以學到他的偏好信息,角度新穎。關於異構的推薦,是一個很有意思的 task,值得去 follow。
本文由 AI 學術社區 PaperWeekly 精選推薦,社區目前已覆蓋自然語言處理、計算機視覺、人工智慧、機器學習、數據挖掘和信息檢索等研究方向,點擊即刻加入社區!
#作 者 招 募#
讓你的文字被很多很多人看到,喜歡我們不如加入我們
關於PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智慧前沿論文成果的學術平台。如果你研究或從事 AI 領域,歡迎在公眾號後台點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
微信公眾號:PaperWeekly
新浪微博:@PaperWeekly
推薦閱讀:
※4· |網路新生時代俗稱自己為「寶寶們」
※一個產品經理眼中的社交齋戒實驗及其15天感受
※產品中的分類、分級和排序(Part1)
※手機先吃?
※音樂是秘密,你已經暴露了自己