利用用户标签数据
推荐系统的目的是联系用户的兴趣和物品,这种联系需要依赖不同的媒介
推荐系统联系用户和物品的几种途径
1、利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品
2、利用和用户兴趣相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品
3、通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征和物品
标签是一种无层次化的结构、用来描述信息的关键词,它可以用来描述物品的语义。根据给物品打标签的人的不同,标签应用一般分为两种:一种是让作者或者专家给物品打标签,另一种是让普通用户给物品打标签,也就是UGC的标签应用
标签系统的最大优势在于可以发挥群体的智能,获得对物品内容信息比较准确的关键词描述,而准确的内容信息是提升个性化推荐系统性能的重要资源
标签系统中的推荐问题主要有以下两个:
1、如何利用用户打标签的行为为其推荐物品(基于标签的推荐)?
2、如何在用户给物品打标签时为其推荐合适该物品的标签(标签推荐)?
不是所有标签都能反映用户的兴趣,因此要对一些没有意义的标签进行清理
一般来说,标签清理的方法如下:
- 去除词频很高的停止词
- 去除因词根不同造成的同义词
- 去除因分隔符造成的同义词
给用户推荐标签有以下好处
1、方便用户输入标签
2、提高标签的质量
利用上下文信息
用户所处的上下文,包括访问推荐系统的时间、地点、心情等,对于提高推荐系统是非常重要的,因此,准确了解用户的上下文信息,并将该信息应用于推荐算法是设计好的推荐系统的关键步骤
时间上下文信息
时间是一种重要的上下文信息,对用户兴趣有着深入而广泛的影响
时间信息对用户兴趣的影响表现在以下几个方面
- 用户兴趣是变化的
- 物品是有生命周期的
- 季节效应
在给定时间信息后,推荐系统从一个静态系统变成了一个时变的系统,而用户行为数据也变成了时间序列
用户兴趣是不断变化的,其变化体现在用户不断增加的新行为中。一个实时推荐系统需要能够实时响应用户的新行为,让推荐列表不断变化,从而满足用户不断变化的兴趣
实现推荐系统的实时性除了对用户行为的存取有实时性要求,还要求推荐算法本身具有实时性,而推荐算法本身的实时性意味着:
- 实时推荐系统不能每天都给所有用户离线计算推荐结果,然后在线展示昨天计算出来的结果。所以,要求在每个用户访问推荐系统时,都根据用户这个时间点前的行为实时计算推荐列表
- 推荐算法需要平衡考虑用户的近期和长期行为,即要让推荐列表反映出用户近期行为所体现的兴趣变化,又不能让推荐列表完全受用户近期行为的影响,要保证推荐列表对用户兴趣预测的延续性
使推荐结果具有一定时间多样性的方法:
1、在生成推荐结果时加入一定的随机性
2、记录用户每天看到的推荐结果,然后在每天给用户进行推荐时,对他前几天看到过很多次的推荐结果进行适当地降权
3、每天给用户使用不同地推荐算法
地点上下文信息
除了时间,地点作为一种重要地空间特征,也是一种重要地上下文信息
不同地区地用户兴趣有所不同,用户到了不同的地方,兴趣也会有所不同
用户兴趣和地点相关的两种特征:
- 兴趣本地化:不同地方的用户兴趣存在着很大的差别
- 活动本地化:一个用户往往在附近的地区活动