第三章:推荐系统冷启动与CB

3.1冷启动问题简介:
冷启动问题(cold start)主要分三类:
•     用户冷启动
•     物品冷启动
•     系统冷启动
参考解决方案:
•     推热门
•     利用用户的信息。(如:性别、年龄、地域等)
•     利用登录帐号的社交网络信息
•     要求新用户登录时做一些反馈
3.2利用用户注册信息
下面介绍一种最简单的,基于用户信息的推荐算法。其核心问题就是计算每种特征的用户喜欢的物品。 也就是说,对于每种特征f, 计算具有这种特征的用户对各个物品的喜欢程度p(f,i)
p(f,i)可以简单定义为物品i在具有f的特征的用户中的热门程度:
Image
N(i)是喜欢物品i的用户集合,U(f)表示具有特征f的用户集合。
可以看出具有比较高的N(i)就很可能有比较高的p(f,i), 所以推出的结果很可能就是热门结果。因此我们可以将p(f,i)定义为喜欢物品i的用户中具有特征f的比例:
Image
在数据集做实验Last.fm
代码待写:
3.4 利用物品的内容信息
对于user-cf 来说,物品冷启动问题并不非常敏感。因为很多网站,给用户的内容不止有基于推荐的。
对于item-cf, 物品冷启动必须频繁更新物品相似度表,时间复杂度高。
基于物品内容的模型,没有冷启动问题,可适当解决冷启动。一般来说,物品内容可以通过向量空间模型(vector space model)表示。该模型会将物品表示成一个关键词向量。对于文本,可能会用到自然预言处理里面的分词技术。
image
向量空间模型在长文本可能会取得比较好的效果。(短文本不行,可以考虑word2vec,有待学习)
话题模型(Topic model)
代表性的LDA. LDA有三种元素,文档,话题,词语。每篇文档都会表现为词的集合,称为bag of words. 每个词在一篇文章中属于一个话题。
有待学习。。。。

posted @ 2014-09-18 19:18 joey周琦 阅读(...) 评论(...) 编辑 收藏