上个月写过一篇产品推荐的文章,详情请见《我所了解的产品推荐》,内容很泛,多为工作心得。本周读了几篇相关的论文,收获颇多,分享点干货。
以下内容摘自《个性化推荐系统的研究进展》,该文发表于2009年1月的《自然科学进展》专题评述,作者是刘建国、周涛、汪秉宏。
互联网技术的迅速发展使得大量的信息同时呈现在我们面前,传统的搜索算法只能呈现给所有的用户一样的排序结果,无法针对不同用户的兴趣爱好提供相应的服务。信息的爆炸使得信息的利用率反而降低,这种现象被称之为信息超载。个性化推荐,包括个性化搜索,被认为是当前解决这个问题最有效的工具之一。推荐问题从根本上说是代替用户评估它从未看过的产品,这些产品包括书、电影、CD、网页、甚至可以是饭店、音乐、绘画等等。
个性化推荐系统通过建立用户与信息产品之间的二元关系,利用已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象,进而进行个性化推荐。高效的推荐系统可以挖掘用户潜在的消费倾向,为众多的用户提供个性化服务。 一个完整的推荐系统由3个部分组成:
推荐算法模块是最核心的部分。根据推荐算法的不同,推荐系统可以分为如下几类:
第一代被提出并得到广泛应用的推荐系统。如amazon的书籍推荐,Jester的笑线)核心思想:
在计算用户之间相似度时,大部分都是基于用户对共同喜好产品的打分。最常用的方法是Pearson相关性和夹角余弦。
由于是基于用户对产品的评分,所以对新用户进行推荐或者是对用户推荐新产品,精度不高
例如,在电影推荐中,基于内容的系统首先分析用户已经看过的打分较高的电影的共性(演员、导演、风格等),再推荐与这些用户感兴趣的电影内容相似度很高的其他电影。基于内容的推荐算法根本在于信息获取和信息过滤。因为在文本信息获取与过滤方面的研究较为成熟,现有很多基于内容的推荐系统都是通过分析产品的文本信息进行推荐。 在信息获取中,最常用的是TF-IDF方法。
受到信息获取技术的约束,例如自动提取多媒体数据(图形、视频流、声音流等)的内容特征具有技术上的困难
仅仅把用户和产品的内容特征看成抽象的节点,所有算法利用的信息都藏在用户和产品的选择关系中。
对于任意目标用户i,假设i选择过所有的产品,每种产品都具有向i推荐其他产品的能力,把所有i没有选择过的产品按照他喜欢的程度进行排序,把排名靠前的推荐给i。
同样面临着新用户新产品的问题。新用户或新产品刚进入系统时没有任何选择或被选信息,系统无法与其他用户或产品建立关联网络
将上述几种推荐方法有机结合,实际的推荐系统中最常见的是基于协同过滤和基于内容的。
1)关联规则分析:关注用户行为的关联模式。如买了香烟的人大多会购买打火机,因此可以在香烟和打火机间建立关联关系,通过这种关系推荐其他产品。