初识推荐系统
什么是推荐系统
在信息过载的时代,推荐系统的任务就是联系用户和信息,帮助用户发现对自己有价值的信息,同时让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
推荐系统的运用领域有:电影和视屏推荐、个性化音乐推荐、图书推荐、电子商务、邮件、位置、广告、社交等。
以下是与推荐系统相关的一些重要术语。
物品/文档
指的是系统推荐的实体,如爱奇艺上的电影,抖音上的视频和网易云音乐上的歌曲。
查询/上下文
推荐系统利用一些信息来推荐物品,这些信息构成了查询信息。查询信息还可以是以下各项的组合:
用户信息,可能包括用户ID用户属性(性别、年龄、地区、手机机型)或用户先前交互过的物品。
嵌入
嵌入是将分类特征表示为连续值特征的一种方法。换句话说,嵌入是将高维向量转换到叫做嵌入空间的低维空间。嵌入方法是指通过数学变换(机器学习算法)将高维空间的对象映射到低维空间并保持相关性质的一种方法。在这种情况下,要推荐的查询或物品必须映射到嵌入空间。很多推荐系统依赖于学习查询和物品的适当嵌入表征。
一个完整的推荐系统通常由以下部分组成:用户端前台展示、后台日志系统、推荐算法引擎。
其中推荐算法为核心,它一般又可以分为三层:基础层,推荐(召回)层,排序层。基础层为召回层提供特征,召回层为排序层提供候选集,排序层输出排序后的推荐结果。
比较通用的架构
推荐引擎的分类:推荐引擎的分类可以根据很多指标进行分区:根据目标用户进行区分:根据这个指标可以分为基于大众行为的推荐引擎和个性化推荐引擎。 1.根据公众行为的推荐引擎,向每个用户提供相同的推荐。 这些建议可以由系统管理员手动设置,也可以根据系统所有用户的反馈统计信息进行计算。 文章。
2.个性化的推荐引擎,根据他们的喜好和偏好向他们提供更准确的推荐。此时,系统需要通过查找与当前用户可以实现推荐的用户具有相同偏好的用户来了解要推荐的内容的特征以及用户,或者基于社交网络。
为什么越来越多产品需要做推荐系统?
主要有以下两方面的原因:
(1)信息过载
互联网上每天都在产生海量的信息,用户想要迅速和准确地找到他们感兴趣的内容或商品越来越困难。如果用户的目标明确,他可以使用搜索(其实搜索也是有关键字的推荐、推荐是无关键字的搜索),但很多时候我们的用户是没有明确目标的。这时候如果产品能够高效匹配用户感兴趣的内容或商品,就能提高用户体验和粘性,获取更多的商业利益。
(2)长尾效应
绝大多数用户的需求往往是关注主流内容和商品,而忽略相对冷门的大量“长尾”信息, 导致很多优秀的内容或商品没有机会被用户发现和关注。如果大量长尾信息无法获取到流量,信息生产者就会离开平台,影响平台生态的健康发展。
推荐系统中常用的算法
一、基于内容推荐
基于内容的推荐是信息过滤技术的延续与发展,基于内容的推荐系统以属性来描述物品,使用这些内容属性来进行推荐,这种方法很适用于新物品推荐。它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度基于内容的推荐系统,将物品与用户之前所喜欢的物品做匹配,不使用别的用户的评分信息。属性来源:物品描述,如文字、图片等,用户画像,从用户对于各种物品的反馈生成。
二、协同过滤推荐
协同过滤推荐技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。与基于内容的过滤方法相比,协作过滤具有以下优点:
1)它可以过滤难以对机器进行自动内容分析的信息。
2)共享他人的经验,避免内容分析不完整和不准确。
3)推荐新信息的能力。 可以发现内容完全不同的信息,并且用户的推荐信息的内容事先是意外的。
4)有效利用其他类似用户的反馈,减少用户反馈,并加快个性化学习。
三、基于关联规则推荐
基于关联规则的推荐是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购 买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。
四、基于效用推荐
基于效用的推荐是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数关联规则是常见的推荐算法,从发现大量用户行为数据中发现有强关联的规则。它是一种无监督的机器学习方法,用于知识发现。基于关联规则的推荐是根据历史数据统计不同规则出现的关系,形如:X->Y,表示X事件发生后,Y事件会有一定概率发生,这个概率是通过历史数据统计而来。对于一个规则X->Y,有两个指标对该规则进行衡量。一个是支持度,表示在所有样本数据中,同时包含X和Y样本的占比。另一个是置信度,表示在所有包含X的样本中,包含Y的样本占比。
五、基于知识推荐
基于知识的推荐在某种程度是可以看成是一种推理技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。基于知识的推荐系统不需要评分数据,因此没有启动问题。根据知识推荐,互动非常紧密,因此它是一个对话系统。基于知识的推荐不仅仅是一个过滤系统,而是以个性化的方式引导用户在大量潜在候选人中找到有趣或有用的项目,或将这些项目作为输出生成的系统。基于知识的推荐系统有两种基本类型:基于约束的推荐和基于实例的推荐。
六、组合推荐
由于各种推荐方法各有利弊,因此在实践中经常采用组合推荐。研究和应用最多的是内容推荐和协作过滤推荐的组合。最简单的方法是使用基于内容的方法和协作过滤推荐方法来生成推荐的预测,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,例如美团推荐系统从框架的角度来看,推荐系统基本上可以分为数据层,触发层,融合过滤层和排序层。数据层包括数据生成和数据存储,主要使用各种数据处理工具来清理原始日志,将其处理为格式化的数据,并将其放入不同类型的存储系统中,以供下游算法和模型使用。候选集触发层主要使用各种触发策略从用户的历史行为,实时行为和地理位置的角度生成推荐的候选集。候选集融合和过滤层具有两个功能。一种是融合由起始层生成的不同候选集,以提高推荐策略的覆盖范围和准确性。此外,它还必须承担一定的过滤责任,并从产品和操作的角度确定一些责任。手动规则以筛选出不符合条件的项目。排序层主要使用机器学习模型对由触发层过滤的候选集进行重新排序。
如何评价推荐系统
推荐系统通常有三个参与者:用户,项目提供者和提供推荐系统的产品。
[if !supportLists]l [endif]从用户的角度出发,好的推荐系统不仅可以准确地预测用户的行为,而且可以扩大用户的视野,并帮助用户发现自己感兴趣但又不易发现的事物。
[if !supportLists]l [endif]从项目提供者的角度来看,良好的推荐系统可以帮助他们将长尾隐藏的美好事物介绍给可能对其感兴趣的用户。
良好推荐系统具有双重优势,可以帮助用户和项目提供者优雅地解决问题。
作为推荐系统的产品经理,除了我们主观去评估推荐系统质量,那么还有哪些客观指标可以评估一个推荐系统的质量的?
1.用户满意度
用户作为推荐系统的重要参与者,其满意度是评测推荐系统的重要指标,通常通过用户调查和用户在线行为分析获得。
2.准确度
将用户划分为A,B两组,A实验组用户,接受所设计的推荐算法推荐的商品,B对照组用户,接受基线方法推荐的商品。通过对比两组用户的行为来评估推荐算法的性能。
CTR:用户点击率,通过该算法计算出的被点击的项目占推荐项目总数的百分比
CR:用户转化率,用户购买的项目占被点击的项目的比率。
高点击率高转化率,代表着推荐系统的准确度高。
3.覆盖率
覆盖率=能够推荐出来的商品数量/总物品数量
如果所有的物品都有机会被推荐,且推荐次数差不多,那么说明覆盖率越好。
如果一个系统会增大热门物品和非热门物品的流行度差距,让热门的物品更热门,不热门的物品更加不热门,那么这个系统就有马太效应。推荐系统的初衷就是消除马太效应,使得各种物品都能被展示给对它们感兴趣的某一类人群。但是推荐系统的初衷是希望消除马太效应的,这个也是推荐系统魅力的体现。
5.惊喜度
马斯洛需求层次理论是人本主义科学的理论之一,由美国心理学家亚伯拉罕·马斯洛在1943年年,书中将人类需求像阶梯一样从低到高按层次分为五种,分别是:生理需求,安全需求,社交需求,尊重需求和自我实现需求。我们经常在分析需求的时候,会把需求分为几个层次:痛点需求,痒点需求,和啊哈需求。
好的产品就要让用户有一个啊哈时刻,也就是要有意外惊喜,好的推荐系统也是一样,给用户惊喜才是好的推荐系统。
也就是,推荐给用户潜意识里需要,但是又没有明确表达出来的。换句话说,跟用户历史行为不相似,但是用户却觉得满意的推荐。
6.实时性
想想看:如果抖音总是推荐前几天的新闻,如果淘宝总是推荐我一年前购买的类似物品,我们会是什么样?
实时,包括两个方面:
首先,及时更新用户的兴趣,以满足用户的新行为变化,我们现在在淘宝上,今天买了一本烹饪图画书,如果您再次访问淘宝,那么主页将推荐与美食有关的用品和其他书籍;
第二是及时向用户推荐新的货架。这也解决了物品冷启动的问题。如果未在平台中推荐商品,则该商品肯定不会带来浏览和转换,那么该商品提供者可能没有太多的心情,并会继续提供良好的内容。
7.商业目标
我们评测一个推荐系统,很多时候更加注重商业目标是否达成。
因为任何一个成功的产品,除了解决用户的问题以外,还需要解决盈利的问题。
一般来说,商业目标就是一个用户给公司带来的盈利,电子商务产品的目标可能是销售额,内容消费产品可能是广告收入。
而好的推荐系统一定是用户问题和商业目标平衡做的很好的。
推荐系统的冷启动
推荐系统需要已有的连接去预测未来用户和物品之间会出现的连接。
对于BAT(百度腾讯阿里)、TMD(头条美团滴滴)这样的巨头他们已经积累了大量的用户数据,在某个产品上智能推荐的时候不存在冷启动的问题。
对于很多没有大量用户数据的产品来说,如何在这种情况下设计推荐系统并且让用户对推荐结果满意,从而愿意使用推荐系统,就是冷启动的问题。
冷启动问题主要分两大类:
(1)用户冷启动
用户冷启动主要解决如何给新用户或者不活跃用户做个性化推荐的问题。当新用户到来时,我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣,从而无法借此给他做个性化推荐。
(2)物品冷启动
物品冷启动主要解决如何将新的物品或展示次数较少的物品推荐给可能对它感兴趣的用户这一问题。
可以参考如下方式来解决冷启动的问题:
使用用户提供的年龄,性别等数据进行粗粒度的个性化推荐;
使用用户的社交网络帐号登录(需要用户授权),在社交网站上导入用户的好友信息,然后向用户推荐其好友喜欢的商品;
要求新注册用户首次登录时要选择一些兴趣标签,并根据收集到的用户兴趣信息向用户推荐类似物品;
给新用户或不活跃的用户推荐流行的排行榜,然后等到用户数据收集到一定时间后,再切换到个性化推荐。
网友评论