3.1 冷启动问题简介
冷启动问题主要分为三类:
用户冷启动:新用户到来时如何给新用户推荐
物品冷启动:当系统中添加新的物品时,如何将新物品推荐给可能感兴趣的用户
系统冷启动:新开发的网站没有用户和物品时怎么设计个性化推荐系统。
3.2 利用用户注册信息
用户的注册信息分3种:
1.人口统计学信息:用户的年龄,性别,职业,民族,学历,居住地等。
2.用户兴趣的描述:有一些网站会让用户用文字描述他们的兴趣
3.从其他网站导入的用户站外行为数据:比如通过豆瓣微博账号登陆的,可以在允许情况下获取用户的一些社交网络数据。
基于注册信息的个性化推荐流程基本如下:
1.获取用户的注册信息
2.根据用户的注册信息对用户分类
3.给用户推荐他所属分类中用户喜欢的物品
比如一个用户注册信息为28岁男性物理学家,我们首先查询出3张表:年龄-电视剧相关表,性别-电视剧相关表,职业-电视剧相关表。然后将三张表按照一定权重相加得出最后的推荐结果。
因此核心问题为:计算每种特征的用户喜欢的物品,对于每个特征f,计算具有这种特征的用户对各个物品的喜爱程度p(f,i),p(f,i)可以简单定义为物品i在具有f特征的用户中的热门程度:
其中N(i)为喜欢物品i的用户集合,U(f)是具有特征f的用户集合。
但是此定义存在热门物品的N(i)非常大会导致p(f,i)过大,因此改为:
此公式可以理解为,具有f特征的用户在喜欢物品i的用户中所占的比例,分母增加α的原因为:若一个物品只有一个用户喜欢,而这个用户刚好具有特征f,则p(f,i)=1,但是并没有实际意义。
3.3 选择合适的物品启动用户的兴趣
解决用户冷启动的另一个方法是在新用户第一次访问时,不立即推荐,而是提供一些物品,让用户反馈他们对这些物品的兴趣,然后再根据用户反馈提供个性化的推荐。
用来启动用户兴趣物品的选取一般有以下特点:
1.比较热门,太冷门的用户不知道自然也不知道怎么评价
2.具有区分性和代表性,选择大众受欢迎的得到的都是好的评价,无法得到个性化推荐
3.启动物品需要具有多样性,因为用户的兴趣可能会非常多
启动物品选取方法如下,通过如下方式度量一个物品的区分度D(i):
其中为用户集合u中所有评分的方差,
代表喜欢物品i的用户集合,
是不喜欢物品i的用户集合,
是没有对物品i评分的用户集合,所以
是喜欢物品i的用户集合对其他物品的评分的方差,其他同理,若D(i)的值很大代表物品i有很大的区分度。
首先从所有用户中找到具有区分度最高的物品i,用物品i将用户分为三类:喜欢物品i的,不喜欢的,不知道的。然后在三类用户中再分别选取三个区分度最高的物品,这三个物品又将每类用户分为三类,此时共有9类用户,根据新用户在哪类中来进行个性化推荐。
3.4 利用物品的内容信息
物品的内容可以通过向量空间模型表示,将物品表示成一个关键词向量,可能需要用到NLP技术进行抽取关键词,关键词向量的生成过程如下:
对于物品d,可以将其内容用关键词变量表示:
其中e为关键词,w为权重,若物品是文本,可以用TF-IDF公式计算词的权重:
在给定物品内容的关键词向量后,可通过向量的余弦相似度计算内容相似度:
计算出内容相似度后可通过ItemCF进行推荐即可。
3.5 发挥专家的作用
当没有用户和物品时,可以请专家对物品进行标注,对每个物品都标注多个特征(也称为基因)来进行推荐。