1、時間上下文信息
1.1 時間效應簡介
時間信息對用戶興趣的影響主要表現在以下幾個方面:
- 用戶興趣是變化的,應該關注用戶最近的行爲
- 物品也是有生命週期的
- 季節效應,節日也是
1.2 系統時間特性的分析
包含時間信息的用戶行爲數據集由一系列三元 組構成,其中每個三元組(u,i,t)代表了用戶u在時刻t對物品i產生過行爲
可以通過統計如下信息研究系統的時間特性
- 數據集每天獨立用戶數的增長情況
- 系統的物品變化情況 ,這個可以使用以下指標來探查
- 物品平均在線天數:如果一個物品在某天被至少一個用戶產生過行爲,就定義該物品在這一天在線
- 相隔T天系統物品流行度向量的平均相似度
- 用戶訪問情況
1.3 推薦系統的實時性
- 對用戶行爲的存取有實時性要求
- 推薦算法本身具有實時性
- 要求在每個用戶訪問推薦系統時,都根據用戶這個時間點前的行爲實時計 算推薦列表
- 推薦算法需要平衡考慮用戶的近期行爲和長期行爲
1.4 推薦算法的時間多樣性
-
推薦系統每天推薦結果的變化程度被定義爲推薦系統的時間多樣性
-
保證時間多樣性可以提升用戶的滿意度
-
解決方法可以被分爲兩步:
- 需要保證推薦系統能夠在用戶有了新的 行爲後及時調整推薦結果,使推薦結果滿足用戶最近的興趣
- 每天離線生成推薦結果,那麼就無法做到實時
- 不同實時推薦算法有不同的時間多樣性
- 需要保證推薦系統在用戶沒 有新的行爲時也能夠經常變化一下結果,具有一定的時間多樣性
- 在生成推薦結果時加入一定的隨機性
- 對推薦過的結果降權
- 每天給用戶使用不同的推薦算法
- 需要保證推薦系統能夠在用戶有了新的 行爲後及時調整推薦結果,使推薦結果滿足用戶最近的興趣
-
推薦系統需要首先保證推薦的精度,在此基礎上適當地考慮時間多樣性
1.5 時間上下文推薦算法
1.5.1 最近最熱門
給用戶推薦歷史上最熱門的物品
1.5.2 時間上下文相關的ItemCF算法
- 計算步驟
- 利用用戶行爲離線計算物品之間的相似度
- 根據用戶的歷史行爲和物品相似度矩陣,給用戶做在線個性化推薦
- 時間效應需要關注的點
- 物品相似度 用戶在相隔很短的時間內喜歡的物品具有更高相似度。
- 在線推薦 用戶近期行爲相比用戶很久之前的行爲,更能體現用戶現在的興趣。
- 相似度計算公式
- 計算用戶u對物品i的興趣p(u,i),控制用戶現在的行爲應該和用戶最近的行爲關係更大。
1.5.3 時間上下文相關的UserCF算法
- 時間效應需要關注的點
- 用戶興趣相似:在同一時間喜歡的物品相似的用戶之間興趣更相似
- 相似新區用戶的最近行爲更接近用戶可能感興趣的內容
- 計算相似度的公式
- 計算興趣程度
1.6 時間段圖模型
- 圖表現
- 推薦算法:路徑融合
- 首先提取出兩個頂點之間長度小於一個閾值的所有路徑
- 然後根據每條路徑經過的頂點給每條路徑賦予一定的權重
- 最後將兩個頂點之間所有路徑的權重 之和作爲兩個頂點的相關度
1.7 離線模型
當時效性要求比較高時,考慮時間因素的算法效果更好。
- Pop 給用戶推薦當天最熱門的物品
- TItemCF 融合時間信息的ItemCF算法
- TUserCF 融合時間信息的UserCF算法
- ItemCF 不考慮時間信息的ItemCF算法
- UserCF 不考慮時間信息的UserCF算法
- SGM 時間段圖模型
- USGM 物品時間節點權重爲0的時間段圖模型
- ISGM 用戶時間節點權重爲0的時間段圖模型
2、地點上下文信息
- 用戶興趣和地點相關的兩種特徵
- 不同地方的用戶興趣存在着很大的差別。
- 一個用戶往往在附近的地區活動。
- 基於位置的推薦算法
- 數據字段:(用戶,用戶位置,物品,評分)
- 將數據集根據用戶位置劃分成爲樹狀結構,對所有包含該位置的葉節點的父節點訓練推薦模型,然後根據這些推薦結果加權之後進行推薦
- 數據字段:(用戶,物品,物品位置,評分)
- 利用ItemCF計算用戶的喜愛程度,再加上一個距離懲罰項
爲了避免計算用戶對所有物品的TravelPenalty,LARS在計算用戶u對物品i的興趣度 RecScore(u,i)時,首先對用戶每一個曾經評過分的物品(一般是餐館、商店、景點),找到和他距離小於一個閾值d的所有其他物品,然後將這些物品的集合作爲候選集,然後再利用上面的 公式計算最終的RecScore。
- 利用ItemCF計算用戶的喜愛程度,再加上一個距離懲罰項
- 數據字段:(用戶,用戶位置,物品,評分)
- 從實踐的結果來看,上面兩者的算法都要優於普通的itemCF算法