推荐引擎概述
什么是推荐引擎?
推荐引擎,是主动发现用户当前或潜在需求的定律,并主动推送信息给用户的信息网络。挖掘用户的喜好和需求,主动向用户推荐其感兴趣或者需要的对象。
推荐引擎的特点
推荐引擎不是被动查找,而是主动推送;不是独立媒体,而是媒体网络;不是检索机制,而是主动学习。
推荐引擎利用基于内容、基于用户行为、基于社交关系网络等多种方法,为用户推荐其喜欢的商品或内容。
基于内容的推荐是分析用户正在浏览的内容的"基因",选择与当前内容有相似"基因"的对象推荐给用户。
基于用户行为的推荐则是利用群体智慧算法,分析用户的群体行为,综合分析用户与用户之间的相似度、用户对小众商品的个性化需求,从而同时提高推荐的精准性、多样性与新颖性。
推荐引擎算法
a) Item based collective filtering
这种方法靠的是 item 之间的相关性进行推荐,推荐的 item 一般都和喜欢的 item 内容或者特性高度相似,很难推荐出用户潜在喜欢的 item,多样性也比较差。
b) user based collective filtering
可以发现和用户具有同样 taste 的人,找到用户的相似用户,通过相似用户喜欢的 item 推荐给该用户。
c) content based
基于内容的推荐,很大程度上是在进行文本挖掘。web 应用提供的内容或者爬取的内容在推给用户之前可以做一些挖掘。将抓取到的资讯,通过文本分析那一套算法提取出每篇资讯的关键词,以及统计频次和逆向文档频率来聚类或者笨一点地话计算出资讯的相似度矩阵,即共同的 key words 越多,两篇资讯的相似度越高。
d) slope one
推荐系统的最最本质的事情就是把 user-item rating 矩阵中的空白填好,
e) svd
svd 的全称是:Singular Value Decomposition,翻译过来是奇异值分解,是一种矩阵分解的方法。
f) 聚类算法
聚类算法中,性能最好的也是最简单的就是 k-means。
g) 组合算法
任何一个算法都有它独特的优势和固有的缺陷,因此单用一个算法的 web 应用很少,往往是将各种算法组合起来用。
一种方式是:将多种算法计算出来的结果,加权之后排序推荐给用户。
一种方式是:将多种算法计算出来的结果,各取前几个推荐给用户,这样做的好处是结果很丰富多彩。
一种方式是:用 svd 算法填充后的矩阵作为输入,用普通 cf 做计算来输出,然后排序推荐。这种叫做层次推荐,可以得到两种方法的好处。
一种方式是:对新用户做基于内容的推荐,因为新用户没有任何评分数据,对老用户用 cf 来做。
评论