1. 程式人生 > >基於內容的推薦、協同過濾

基於內容的推薦、協同過濾

基於內容的推薦

需要分析內容,無需考慮其他使用者的行為,例如基於使用者喜歡的item的屬性/內容進行推薦

 

通常使用在文字相關產品上進行推薦     

使用詞袋模型來衡量不同文字的相似度,每個詞的權重可以使用頻率或者tf-idf表示

相似度計算公式一般使用餘弦相似度

 

 

 

協同過濾(CF)

基於使用者的協同過濾

找到和使用者最近的其他使用者,找到其他使用者看過或者買過但當前使用者沒有看過或者買過的item,根據使用者與其他使用者距離的遠近進行打分,找到得分最高的item進行推薦。

 

Tip: 基於使用者的協同過濾求相似度時應該先去均值

 

基於物品的協同過濾

根據使用者對商品或者內容的行為,計算item與item的相似度,找到和當前item最近的進行推薦

 

相似度/距離度量方法

歐式距離:

 

 

Jaccard相似度:

 

 

餘弦相似度:

 

 

Pearson相似度:

 

 

User CF vs Item CF

 

工業上一般使用Item CF,應為一般情況下使用者太多,遠多於商品的數量,並且Item CF更加穩定,例如隨著時間的推移,物品之間的相似度基本不發生變化,而由於個人興趣的改變,User CF的使用者之間的相似度很可能發生較大的變化。

 

 

 

CF優缺點

協同過濾優點

基於使用者行為,因此對推薦內容無需先驗知識

只需要使用者和商品關聯矩陣即可,結構簡單

在使用者行為豐富的情況下,效果好

 

協同過濾缺點

需要大量的顯性/隱性使用者行為

需要通過完全相同的商品關聯,相似的不行

假定使用者的興趣完全取決於之前的行為,而和當前上下文環境無關

在資料稀疏的情況下受影響。可以考慮二度關聯。(如U1與U2無關聯,而U1、U2與U3都關聯)

 

冷啟動問題

 

對於新使用者,所有推薦系統對於新使用者都有這個問題,一般的解決辦法:

1) 推薦非常熱門的商品,收集一些資訊

2) 在使用者註冊的時候收集一些資訊

3)在使用者註冊完之後,用一些互動遊戲等確定喜歡與不喜歡

4)對於新商品,根據本身的屬性,求與原來商品的相似度。Item-based協同過濾可以推薦出去。