推荐系统小结

推荐系统(RecSys)作为电子商务中一个很火的应用,主要是为了帮助用户发现可能感兴趣的东西,这种就叫做个性化推荐系统;而广告商还可以利用结果将内容投放给可能会对它们感兴趣的用户,这就成了个性化广告。比较著名的推荐系统有亚马逊,被RWW(读写网)称为“推荐系统之王”,你从亚马逊买了一本书以后,会发现它会经常向你的邮箱发一些相关的书籍,这个有时比较恼人,呵呵;此外还要电影和视频网站,像YouTube和Hulu等会美国比较著名的视频网站;个性化音乐网络电台,像国际的Pandora和Last.fm以及国内的豆瓣电台;社交网络,如Facebook等;个性化阅读,如GoogleReader等;个性化邮件和个性化广告等。

架构

主流的推荐系统的架构如下图:

推荐系统小结_第1张图片

而动态推荐系统的架构如下:

推荐系统小结_第2张图片

关于推荐系统的架构,这几篇文章写得不错,这里mark一下。

推荐系统的架构,

http://www.cnblogs.com/kobedeshow/p/3569525.html?utm_source=tuicool

淘宝推荐系统,

http://www.biaodianfu.com/taobao-recommendation-system.html?utm_source=tuicool

InfoQ上关于Hulu的视频推荐系统架构经验,

Hulu推荐系统构建经验谈,

http://www.infoq.com/cn/presentations/hulu-recommendation-system-construction-experiences/


算法

推荐系统的实现算法,按照使用的数据,主要分为以下三种算法:

−      协同过滤:用户的行为数据,像点击、评分、购买等;

−      内容过滤:用户内容属性和物品内容属性;

−      社会化过滤:用户之间的社交网络关系,如朋友、关注关系等。

按照模型划分,主要有以下三种:

−      最近邻模型:基于用户/物品的协同过滤算法;

−      Latent Factor Model:基于矩阵分解的模型;

−      图模型:二分图模型,社会网络图模型等。

除了推荐系统自身的问题,像冷启动、数据的稀疏性问题等,还有一个需要关注的问题,就是推荐系统的时间效应问题,比较常见的时间效应问题主要反映在用户兴趣的变化、物品流行度的变化以及商品的季节效应。即下面主要考虑三个问题,如何建立动态用户兴趣模型,如何建立用户长期兴趣和短期兴趣的动态用户兴趣模型,还有网站时效性对用户行为和推荐系统设计的影响。

考虑到推荐系统的时间效应问题,可以将协同过滤所使用的数据集归结为一个四元组,即{用户,物品,行为,时间},那么现在就面临一个问题,如何通过研究用户的历史行为和兴趣爱好,预测用户将来的行为和喜好。需要解决以下三个问题:动态评分预测、动态Top-N推荐、时效性的影响。

对于第一个问题,动态评分预测问题。数据集可以选用比较直观的显性反馈数据集,即(用户,物品,评分,时间),研究是这样一个问题,给定用户u,物品i,时间t,预测用户u在时间t对物品i的评分r。对于该类问题,相关的算法已经有了很多的研究,与时间无关的评分预测问题算法主要有以下几种:

−      基于用户/物品的协同过滤算法;

−      基于矩阵分解的模型LatentFactor Model;

−      受限波尔兹曼机RBM。

与时间相关的评分预测问题算法主要是基于下面两种想法:

−      用户会喜欢和他们最近喜欢的物品相似的物品;

−      用户会喜欢和他们兴趣相似的用户最近喜欢的物品。

当然上面的这些算法是提出来了,但是有些地方有待优化。

上述算法需要考虑的时间效应问题主要有以下几个方面:

用户兴趣的变化,比如说:年龄增长,从青年长成中年壮年;生活状态的变化,由以前的学生到踏上工作岗位;社会热点问题的影响,奥运会等。此外还有季节效应问题,一些在夏季很流行的,在秋冬季节未必就很流行。如何解决上述问题,提出优化还有待进一步思考。

对于动态Top-N推荐问题,数据集选用的是不太直观的隐性反馈数据集,{(用户,物品,时间)},研究的是这样的一个问题,给定用户u,时间t,预测用户u在时间t可能会喜欢的物品列表R(u)。在这方面的相关研究也很成熟,有基于邻域的协同过滤算法,主要分为两种,一种是ItemCF,推荐给用户那些跟他们之前喜欢的物品类似的物品;还有一种是UserCF,推荐给用户那些跟他们兴趣相似的用户喜欢的物品。还有基于评分数据的Top-N推荐算法,该想法的思路是推荐给用户那些他们可能评分最高的物品。该想法都是围绕用户的兴趣展开的,需要考虑到,用户兴趣分为短期兴趣和长期兴趣,短期兴趣的特点是临时、易变;长期兴趣的特点是长久、稳定;用户的短期兴趣可能会转化为长期兴趣,所以需要在推荐时综合考虑长期兴趣和短期兴趣。该问题的解决有待进一步思考。

对于时效性的影响,每个在线系统都是一个动态系统,但它们有不同的演化速率。比如说,新闻,博客演化的很快,但音乐,电影的系统演化的却比较慢。这就带来这样一个问题,不同演化速率的系统需要不同类型的推荐算法,如何解决该问题,也是应该进一步深入思考的。






你可能感兴趣的:(Data,Mining)