基於隱語義模型的推薦系統

img

如何根據上邊兩位豆瓣用戶的圖書列表做出推薦?

傳統的推薦方法

UserCF,首先需要找到和他們看了同樣書的其他用戶,然後給他們推薦那些用戶喜歡的其他書。

ItemCF,需要給他們推薦和他們已經看的書相似的書。

基於隱語義模型

通過矩陣分解建立用戶和隱類之間的關係,物品和隱

類之間的關係,最終得到用戶對物品的偏好關係。

隱語義模型(LFM)

假設我們想要發現 F 個隱類, 我們的任務就是找到兩個矩陣 U 和 V,使這兩個矩陣的乘積近似等於R,即將用戶物品評分矩陣 R 分解成爲兩個低維矩陣相乘,如下所示:

然後定義損失函數,利用隨機梯度下降法處理損失函數,求出U和V。

1、利用隱語義模型主要解決了以下問題

  • 分類的可靠性。分類來自對用戶行爲的統計,代表了用戶對物品分類的看法。

  • 可控制分類的粒度。允許我們自己指定有多少個隱類。

  • 將一個物品多類化。通過統計用戶行爲來決定某物品在每個類中的權重。

2、通過舉例理解隱語義模型

這裏寫圖片描述

其中P矩陣是user-class矩陣,矩陣值Pij表示的是user i對class j的興趣度;Q矩陣式class-item矩陣,矩陣值Qij表示的是item j在class i中的權重,權重越高越能作爲該類的代表

ToyExample

這裏寫圖片描述

User-Item Matrix

ToyExample的分解U、V

這裏寫圖片描述

Class-User Matrix

這裏寫圖片描述

Class-Item Matrix

注意:每次得到的U、V可能有所不同,原因是初始值是隨機的。

ToyExample的預測

這裏寫圖片描述

Predicted User-Item Matrix

3、隱語義模型核心代碼分析

這裏寫圖片描述

4、隱語義模型在實際應用的缺點

  • 數據稀疏會導致性能降低。甚至不如UserCF和 ItemCF的性能。

  • 不能在線實時推薦。因爲LFM在生成推薦列表時速度太慢。

  • 不能給出推薦解釋。因爲LFM計算的是各個隱類,但每個類別不會自動生成這個類的類別標籤。

改進的隱語義模型

1、基於標籤的隱語義模型

標籤是一種表示用戶興趣和物品語義的重要方式,當一個用戶對一個物品打上了一個標籤,這個標籤一方面描述了用戶的興趣,另一方面則表示了物品的語義,利用社交標籤可以提高推薦的精度

1.1、標籤關係分解
TagRec算法、SoRecUser算法、SoRecItem算法。標籤關係分解算法舉例:
TagRec:同時考慮了用戶物品評分矩陣,用戶標籤矩陣和物品標籤矩陣,構建了一個統一的概率矩陣分解模型,用戶的隱特徵向量既可以從用戶物品評分矩陣中學習,也可以從物品標籤矩陣中學習。
缺點:標籤存在質量不高和語義等問題。

1.2、標籤關係不分解
NHPMF算法、TagiCoFi算法。標籤關係不分解算法舉例:
NHPMF:根據用戶標籤詞頻和物品標籤詞頻分別計算用戶最鄰近和物品最鄰近,然後將領域信息融入矩陣分解模型之中,同時對用戶和物品的相似關係進行了傳播。
缺點:標籤存在質量不高和語義等問題。

2、基於社交的隱語義模型

利用社交信任來提高推薦精度。而且,通過社交信任,能緩解數據的稀疏性和冷啓動問題。當一個新的用戶幾乎沒有評分的狀態下,使用相似度來計算相似用戶幾乎不可行,但是在系統中我們存在大量的社交信任關係的話,那我們就可以根據信任關係進行推薦。

2.1、社交關係分解
SoRec算法、CTRPMF算法。社交關係分解算法舉例:
SoRec:假定社交關係矩陣表徵了用戶在社交網絡中重要交互信息,對其進行分解可以學習到用戶社交行爲的低維潛在重要特徵。通過共享用戶隱特徵向量空間把用戶評分信息和用戶社交信息聯繫起來,用戶的隱特徵向量既從用戶物品評分矩陣中學習,又從用戶社交矩陣中學習。
缺點:可能泄露用戶隱私。

2.2、社交關係不分解
SocialMF算法、STE算法、RSTE算法、RWD算法、RWT算法。社交關係不分解算法舉例:
SocialMF:根據用戶之間的信任關係,在計算用戶隱特徵向量的時候,考慮了這個用戶信任的用戶對其隱特徵向量的影響,同時對用戶的信任關係進行了一步或者兩步的傳播。
缺點:可能泄露用戶隱私。

3、基於時間的隱語義模型

利用時間信息來提高推薦精度。不同的時間,對應了用戶、物品以及用戶-物品的變化情況。通過分析這一系列的變化,做出合理的推薦。

3.1、時間關係分解
TimeSVD算法。時間關係分解算法舉例:
TimeSVD:整個社會的興趣隨着時間在變化,用戶的興趣隨着時間在變化,物品的流行度隨着時間在變化,用戶對物品的興趣隨着時間在變化。
缺點:在實時系統中,算法的可擴展性還不夠好。

3.2、時間關係不分解
TimeSVD++算法、Sequential-MF算法。時間關係不分解算法舉例:
SequentialMF:通過時序信息,構建用戶物品之間的結構關係,建立了用戶消費網絡和產品消費網絡。
缺點:在實時系統中,算法的可擴展性還不夠好。

4、其他改進的隱語義模型

  • 貝葉斯概率矩陣分解模型BPMF,採用馬爾可夫鏈蒙特卡羅進行採樣
  • 隱語義模型的泛化表示形式——因子分解機FM(Factorization Machines)
  • 貝葉斯因子分解機模型BFM

研究趨勢

1、標籤:利用標籤的遷移學習來做交叉領域的推薦

例如,豆瓣網含有豐富的電影標籤和評論的信息,但不提供電影服務;優酷網提供電影服務,但電影的標籤和評論信息較少。

2、社交:社交信任傳播算法與用戶物品的評價結合

社交信任包含了信任和不信任兩種情況,根據不信任的關係來約束信任關係的傳播。

3、時間:與其他信息相結合來做推薦

例如,時間與位置信息相結合,來計算用戶在特定時間,特定地方對物品的偏好程度。

4、其它:將隱語義模型與交叉領域推薦相結合

例如,將深度信度網絡DBN與概率矩陣分解PMF相結合做推薦。現在很多學者已經用深度學習來做推薦。

2016 RecSys大會

來自工業界的經驗分享報告《Lessons learned from build real-life Recsys》

觀點:MF是最好的single approach,MF的變形包括FM,SVD++,ALS等;Quora開源了他們的MF模型QMF

工業界推崇的矩陣分解技術

SVD++,factorization machine,ALS等

值得關注的幾篇論文

1.Field-awareFactorization Machines for CTR Prediction

2.AreYou Influenced by Others When Rating? Improve Rating Prediction by ConformityModeling

3.Recommendingfor the World (Netflix)

4.Tutorial:Lessons Learned from Building Real-life Recommender Systems (Xavier’ tutorial)

參考文獻

[1] 王升升, 趙海燕, 陳慶奎,等. 個性化推薦中的隱語義模型[J]. 小型微型計算機系統, 2016, 37(5):881-889.

[2] 項亮. 推薦系統實踐[M]. 人民郵電出版社, 2012.

[3] MaH, Yang H, Lyu M R, et al. SoRec: Social Recommendation Using ProbabilisticMatrix Factorization[C]// ACM Conference on Information and KnowledgeManagement, CIKM 2008, Napa Valley, California, Usa, October. 2008:931-940.

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