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算法