3.1 冷启动问题简介
1. 用户冷启动:主要解决如何给新用户做个性化推荐的问题
- 利用用户注册时提供的年龄、性别等数据做粗粒度的个性化推荐(3.2节)
- 让用户在注册登陆时收集用户的兴趣信息(对多种物品进行评分,选择喜欢的物品类别等)(3.3节)
- 利用用户的社交帐号登陆,导入其好友信息,推荐给用户其好友喜欢的东西
2. 物品冷启动:主要解决如何将新物品推荐给可能对它感兴趣的用户的问题
- 利用新物品的内容信息,将它们推荐给喜欢过和它们相似的物品的用户(3.4节)
3. 系统冷启动:主要解决如何在一个新开发的网站上(没有用户、用户行为,只有一些物品信息)设计个性化推荐系统
- 先进行非个性化的推荐(热门排行榜等),等到收集到一定用户数据的时候,切换为个性化推荐
- 引入专家只是,通过一定的高效方式建立物品的相关度表
3.2 利用用户注册信息
- 用户的注册信息可以分为3种(本节仅讨论如何通过人口统计学信息提供粗粒度的个性化推荐):
- 人口统计学信息:用户的年龄、性别、职业、民族、学历、居住地等
- 用户兴趣的描述
- 从其它网站导入的用户站外行为数据
- 基于注册信息的个性化推荐流程如下:
- 获取用户的注册信息
- 基于注册信息对用户进行分类
- 给用户推荐他所属分类中用户喜欢的物品
- 如何计算每种特征的用户喜欢的物品?
N ( i ) N(i) N(i)表示喜欢物品i的用户集合, U ( f ) U(f) U(f)表示具有特征f的用户集合
-
普通版:该公式是缺点是容易给用户推荐热门物品,因为热门物品会在各种特征的用户中都具有较高权重
-
改进版:加大了对热门物品的惩罚,分母使用参数 α \alpha α是为了解决数据稀疏问题
- 利用BookCrossing数据集检验上述两公式:
目的:统计小于25岁、大于50岁这两类用户最经常看的5本书
普通版公式(表3-1):5本书中3本重复,不是很符合针对不同年龄段用户的个性化推荐
改进版公式(表3-2):实现了对不同年龄段的个性化推荐
- 利用Lastfm数据集对比使用不同人口统计学特征预测用户行为的精度
3.3 选择合适的物品启动用户的兴趣
- 解决用户冷启动问题的另一个方法是让新用户在第一次访问推荐系统时,给用户提供一些物品,让用户反馈它们对这些物品的兴趣,然后根据用户反馈提供个性化推荐
- 一般来说,用来启动用户兴趣的物品需要具有以下特点:
-
比较热门:让用户对物品进行反馈,前提是用户知道这个物品是什么
-
具有代表性和区分性:启动用户兴趣的物品不能是大众化或者老少皆宜的
-
启动物品集合应该具有多样性:物品集合应该要覆盖几乎所有主流的用户兴趣
-
可以将此问题看作决策树问题,利用用户对物品评分的方差度量用户兴趣的一致程度:
-
举个栗子:
3.4 利用物品的内容信息
一. 内容过滤算法:
-
将物品的内容表示成关键词向量
-
通过向量之间的余弦相似度公式计算相似度(两两计算、倒排表计算)
-
给用户推荐和他历史上喜欢的物品内容相似的物品