推荐系统是随着互联网的发展而形成的一个系统,他主要是为了解决信息过载的一些问题。随着互联网的深入发展,越来越多的信息在互联网上传播,产生了严重的信息过载,假设不採取一定的手段用户非常难从如此多的信息中找到对自己有价值的信息。
推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另外一方面让信息能够展如今对它感兴趣的用户面前。推荐系统不须要用户提供明白的需求,而是通过分析用户的历史行为给用户的兴趣建模。从而主动给用户推荐能够满足他们兴趣和需求的信息。为了解决信息过载问题主要是通过两个方面。一方面是通过搜索。另外一方面是通过推荐。搜索是解决用户明白的需求,推荐是解决用户不明白的需求。推荐系统广泛地应用于电子商务。电影视频站点,社交站点,个性化广告等领域。
推荐系统经常使用的方法
1.基于用户的推荐
基于用户的推荐就是将目标用户和其它用户的数据进行比較,来实现推荐,主要是找到和目标用户兴趣同样的其它用户喜欢的商品,并且目标用户没有听说过的物品,推荐给目标用户。
2.基于物品的推荐
基于用户的协同过滤算法有自身的缺点,随着站点的用户数目越来越大,用户类似度矩阵也越来越大。计算用户兴趣类似度矩阵就变得越来越困难,运算的时间复杂度和空间复杂度会随用户的增长而变大。
并且基于用户的协同过滤也非常难对推荐结果作出解释。基于物品的协同过滤算法并不利用物品的内容属性来计算类似度。它主要通过分析用户的行为记录来计算物品之间的类似度。一般来说,物品a和物品b有非常大的类似度是由于喜欢物品a的用户大都也喜欢物品b。
3.基于内容的推荐
此方法在新闻站点,电商站点中用的比較多,由于电商站点其中,可能非常多商家卖同一种商品,然后须要对商品名做分词处理,然后依据用户的查询keyword来触发。
4.基于位置的推荐
不同的位置反映了不同的用户场景。我们能够依据目标用户的当前位置,依据用户的历史消费历史浏览记录。找出区域消费热单。区域购买热单。
5.基于标签的推荐
基于标签的推荐主要是给目标用户推荐那些具有目标用户喜欢的特征的物品,这些特征有不同的表现方式能够表现为物品的属性,或者有同样的隐含意义。标签主要有两种,一种是系统内部设定,第二种是系统的外部用户设定,如常见的UGC标签。
无论採用何种算法,都要涉及到类似度的计算。类似度的计算方法一般有欧式距离。明可夫斯基距离,马氏距离,向量的余弦值,皮尔逊相关系数,简单匹配系数。jaccard系数。广义jaccrd(tanimoto)系数,一般来说。推荐系统的预測精确性不受类似度度量方法选择的影响。在实际应用中,向量的余弦值。皮尔逊相关系数等用的比較多。
一般来说,不可能一种推荐算法就能够解决我们碰到的问题。在实际应用中我们通常是组合各种不同的推荐算法,给不同的推荐算法赋予不同的权重,然后通过排序输出结果。