推荐系统实践笔记 (五)

第五章 利用上下文信息

5.1 时间上下文信息

  给定时间信息后,推荐系统从一个静态的系统变成了一个时变的系统.有一个三元组(u,i,t)表示用户u在时刻t对物品i有过行为.

  (a) 评价物品的生命周期的指标:

    (1) 物品平均在线天数:如果一个物品在某天被至少一个用户产生过行为,就定义该物品在这一天在线

    (2) 相隔T天物品流行度向量的平均相似度(余弦相似度) 用来评估一个系统的时效性

  (b) 推荐算法的时间多样性: 推荐系统每天推荐结果的变化程度被定义为推荐系统的时间多样性

  (c) 在用户没有行为的情况下如何保证推荐结果具备一定的时间多样性:

    (1) 在生成推荐结果时加入一定的随机性

    (2) 记录用户每天看到的推荐结果,然后在推荐的时候对用户已经看过的推荐降底权重

    (3) 每天给用户使用不同的推荐算法

  (d) 时间上下文推荐算法

    (1) 最近最热门:给用户推荐最近一段时间最热门的物品,给定时间T,物品i最近的流行度$n_i(T)$可以定义为:

    

     (2) 时间上下文相关的itemCF算法

     itemCF的核心部分为:利用用户行为离线计算物品之间的相似度;根据用户的历史行为和物品相似度矩阵,给用户做在线个性化推荐。

     利用时间信息对计算物品相似度的矩阵做一个改进:

  

     公式中$f(\left|{t_{u,i}-t_{u,j}}\right|)$是和时间有关的衰减项目,$t_{u,i}$是用户u对物品i产生行为的时间.f函数的意义是用户对物品i和物品j产生行为的时间间隔越大则f的值越小,具体函数如下($\alpha$是衰减系数,为超参数,需要通过多次的训练获取合适的值):

     

    同理在预测的时候也需要利用时间的信息来修正预测的结果,相应的公式如下:

    (3) 时间上下文相关的userCF算法  

    采取的方法和itemCF类似,引入了时间衰减因子,就不累述了.    

    (4) 时间段图模型

    时间段图模型 G ( U , $S_U$ , I , $S_I$ , E , w , $\sigma$ ) 也是一个二分图.U是用户节点结合,$S_U$是用户时间段节点集合.一个用户时间段节点$V_{ut}{\in}S_U$会和用户在时间t所有感兴趣的物品相连。I是物品集合,$S_I$是物品时间段集合。一个物品时间段节点$V_{it}{\in}S_I$和在时间t对物品i有过行为的所有用户通过边连接。E是边的集合,主要包含了三种边(a) 用户u对物品i有行为,则有$e(v_u,v_i){\in}E$;(b)如果用户u在时间t对物品i有行为,那么存在两条边$e(v_{ut},v_i),e(v_u,v_{it}){\in}E$.$w(e)$定义了边的权重,$\sigma(e)$定义了顶点的权重。通过路径融合算法来计算图上两个顶点之间的相关性。示例图如下所示:

 

  (d) 基于位置的推荐算法  

    > 兴趣本地化

    > 活动本地化

    算法介绍本章比较清楚就不叙述了.      

posted @ 2019-08-21 18:15  猪突猛进!!!  阅读(258)  评论(0编辑  收藏  举报