推荐系统实践---第三章:推荐系统冷启动问题

下面简单介绍书中提到的问题以及有哪些解决办法,方便大家对正本书有个整体的把握,同时我也会上传这本书的高清PDF版,本来想不用积分下载,但是系统最少2个,要是哪位没有积分,可以私信我。下载链接如下:

http://download.csdn.net/download/wtt561111/10163609

其他章节内容

推荐系统实践---第一章:好的推荐系统

推荐系统实践---第二章:利用用户行为数据

推荐系统实践---第三章:推荐系统冷启动问题

推荐系统实践---第四章:利用用户标签数据

推荐系统实践---第五章:利用上下文信息

推荐系统实践---第六章:利用社交网络数据

推荐系统实践--第七章:推荐系统实例 第八章:评分预测问题


前面介绍的基于用户行为数据的推荐,那么如果对于一个新注册用户,没有行为数据,如何对其进行推荐?对于一个新加入商品,没被任何人购买,所以推荐的时候也不会被推荐给任何用户,如何把新加入的商品推荐给用户?对于一个新的网站,还没有用户,只有商品,如何进行个性化推荐?

3.1    冷启动问题简介

冷启动问题的解决方案:提供非个性化的推荐。为新注册用户推荐热门的商品,等用户数据搜集到一定程度后,切换到个性化推荐;

利用用户注册时提供的年龄性别等数据做粗粒度的个性化;

要求用户在登录时对一些商品进行反馈,然后给用户推荐那些与反馈结果好的商品相似的商品;

利用用户的社交网络登录,导入用户在社交网络的好友信息,为用户推荐其好友喜欢的商品;

对于新加入的商品,可以利用商品内容信息,将其推荐给 喜欢过与它们内容类似的商品 的用户;

对于系统冷启动问题,可以引入专家的信息,通过一定的高效方式迅速建立起商品的相关度表;

3.2    利用用户注册信息

用户的注册信息主要包括:人口统计学信息。包括用户的年龄、性别、职业、民族、学历和居住地;用户兴趣的自我描述;从其他网站导入的用户站外行为数据;

基于注册信息的个性化推荐流程:获取用户的注册信息;利用用户的注册信息对用户进行分类(一个用户根据不同特征会分到不同的类);给用户推荐他所属的所有分类中用户最喜欢的商品。

组合特征:可以将多个特征组合起来作为一个特征。比如男性程序员,就是将性别和职业组合起来,作为一个新的特征。但是要注意不是所有的用户都同时具有两个特征,比如可能某个用户在注册时没写职业。

如何用特征进行推荐:核心问题时计算每种特征的用户喜欢的商品,也就是计算具有特征f的用户,对某个商品的i的喜爱程度p(f,i)。

具体的计算公式 p(f,i)=( N(i)^U(f) ) / (N(i) + alpha )

分子表示具有特征f,并且喜欢物品i的用户的数量。分子表示喜欢物品i的用户数量+一个约束值。该收敛值的意义:加入一个商品i只被买过一次,而该用户u刚好具有特征f,就会导致p(f,i)=1。意思是,所有具有该特征的用户,都喜欢改商品,这明显不合理。

3.3    选取合适的物品启动用户的兴趣解决用户冷启动

能够用来启动用户兴趣的商品一般具有的特征:首先比较热门。用户看到一个商品,发现根本不了解,没法反馈到底喜欢不;其次必须具有代表性和区分性。如果选择的商品,大家都喜欢或者都不喜欢,那么反馈结果没有太大意义;最后要求启动物品集合需要多样性。如果给用户反馈的物品都是一个类型下的,那么我们无法知道用户对其他分类的商品的喜好程度。

如何自动挑选启动物品:首先从所有用户中找到区分度最高的商品i,根据商品i将所有用户分成三部分(喜欢i的用户,不喜欢i的用户,没有对i评分的用户)。然后在三部分用户中,分别找到这三类用户中区分度最高的商品,重复上述操作。遇到冷启动用户时,从根节点开始询问用户对该节点商品的看法,然后根据用户的选择将用户放到不同的分支,直到进入最后的叶子节点。

如何找到区分度最高的商品:一个商品的区分度D(i)由 三部分用户分别对除i之外的所有商品的评分的 方差累加得到。如果这3类用户集合内的用户对其他的物品兴趣很不一样,说明商品i具有较高的区分度。

3.4    利用商品的内容信息解决商品冷启动

常见的商品的内容信息

图书:        标题、作者、出版社、出版年代、丛书名、目录、正文

论文:        标题、作者、作者单位、关键词、分类、摘要、正文

电影:        标题、导演、演员、编剧、类别、剧情简介、发型公司

新闻:        标题、正文、来源、作者

微博:        作者、内容、评论

如何表示商品的内容: 空间向量模型。对于物品d,它的内容表示成一个关键词向量    D={ (e1,w1),(e2,w2),… } 。其中e表示关键词,w表示该关键词的权重。对于关键词的获取:如果是演员演员等实体,可以直接将他们作为实体。但是如果是文本,比如论文的内容,需要先进行分词,检测出实体;对于权重的确定:如果是演员,可以根据演员在剧中的重要程度进行赋值。如果是文本分词得到的关键词,可以根据信息检索领域著名的TF-IDF公式计算。W=TF(e) /log(DF(e))。

如何计算商品间的相似度:商品的相似度可以根据向量之间的余弦相似度计算. Wij=(Di*Dj)  / ( ||Di|| * ||Dj|| 开方)。

时间复杂度的改进:倒排表。如果有N个商品,平均每个商品有m个实体组成,那么计算商品两两之间的相似度的时间复杂度为 O(N*N*m)。利用前面章节提到的倒排表来进行加速。

实体相似但是不相同:关键词“动态”和“基于时间”虽然不一样,但是却意思相同。如果用之前的方法计算,发现结果也是这两个词是完全不同的词。可以利用话题模型解决该问题。首先获得关键词的话题分布,然后计算关键词之间的相似度。代表性的话题模型时LDA。书中简单介绍了LDA模型的计算过程。

3.5    发挥专家的作用解决系统冷启动问题

书中介绍了专家对商品的属性进行标注,生成 VSM ,但是没介绍怎么对用户进行推荐?

猜你喜欢

转载自blog.csdn.net/wtt561111/article/details/78884051