作者:hooly
微信公众号:一口袋星光
一、推荐引擎的工作原理:
推荐引擎的工作原理
二、推荐引擎的分类:
基于大众行为的推荐引擎和个性化推荐引擎
根据大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管理员人工设定的,或者基于系统所有用户的反馈统计计算出的热度比较高的商品
个性化推荐引擎,对不同的用户,根据他们的口味和喜好给出更加精确的推荐,这时,系统需要了解需推荐内容和用户的特质,或者通过找到与当前用户相同喜好的用户,实现推荐。
大部分人们讨论的推荐引擎都是个性化的推荐引擎,因为从根本上说,只有个性化的推荐引擎才是更加智能的信息发现过程。
三、根据推荐引擎的数据源
1、根据系统用户的基本信息发现用户的相关程度,这种被称为基于人口统计学的推荐(Demographic-based Recommendation)
基于人口统计学的推荐
2、根据推荐物品或内容的元数据,发现物品或者内容的相关性,这种被称为基于内容的推荐(Content-based Recommendation)
基于内容的推荐
3、根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,这种被称为基于协同过滤的推荐(Collaborative Filtering-based Recommendation)。(口口相传的推荐方式)
三个基本步骤:
1.用户给产品评分
2.协同过滤找到有相似评分(即品味)的用户,成为邻近者
3.产品不是由用户评分,而是由用户的邻近着的混合评分决定(领袖者的评价可能权重更大)
基于用户的协同过滤
进一步研究涉及协同推荐领域的可信度和能力,其基本思想是,区分推荐的生产者和使用者,判断生产者提供的信息质量。在这种情况下,推荐的使用者是用户;反过来用户的邻近者是生产者,生产者评分的质量可以根据生产者与使用者评分之间的差异来衡量。
基于物品的协同过滤
四、混合的推荐机制
在现行的 Web 站点上的推荐往往都不是单纯只采用了某一种推荐的机制和策略,他们往往是将多个方法混合在一起,从而达到更好的推荐效果。关于如何组合各个推荐机制,这里讲几种比较流行的组合方法。
加权的混合(Weighted Hybridization): 用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。
切换的混合(Switching Hybridization):前面也讲到,其实对于不同的情况(数据量,系统运行状况,用户和物品的数目等),推荐策略可能有很大的不同,那么切换的混合方式,就是允许在不同的情况下,选择最为合适的推荐机制计算推荐。
分区的混合(Mixed Hybridization):采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。其实,Amazon,当当网等很多电子商务网站都是采用这样的方式,用户可以得到很全面的推荐,也更容易找到他们想要的东西。
分层的混合(Meta-Level Hybridization): 采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐。
五、冷启动的处理
1基于人口统计学和基于内容的推荐,一般来说在初始就需要维护好用户或者物品基本属性数据。所以冷启动问题比较容易解决
2.基于用户的协同过滤,当新用户进来时,通常是根据用户类型、属性特征,看相同类型的用户的喜好,然后假设当前用户的喜好,然后推荐
3.基于物品的协同过滤,当新物品出现时,通常是根据物品的类型、属性特征,看相同类型的物品都被哪些商户喜欢,假设这些商户同样喜欢这个新物品,然后推荐。
六、评估推荐系统
用户认为与推荐系统的交互有用吗?他们对收到的推荐结果满意吗?是什么驱使用户贡献知识?比如有助于提高系统预测质量的评分或评论?或或者用户关于接受推荐真正喜欢的是什么?是意外和新奇,还是他们知识不想继续找下去了?
概念的有效性、可靠性和灵敏度
实验研究涉及一般会通过控制一个或多个独立变量。
七、个性化推荐的重点:
1.能吸引更多地用户到商品详情页面(物品浏览转化率)
2.有助于将更多访问者变成购买者(销售转化)
3.促使单个用户浏览更多物品
4.促使单个用户购买更多物品
注意有些算法对点击量有明显促进作用;有些算法对销售转化有明显促进作用;不同的算法促进的点不同。所以要针对推荐的目的选择合适的算法。
八、算法
这里面并没有特别关注算法实现的东西,大部分公司这些是技术需要考虑的问题。
九、整体架构
推荐系统整理架构设计
一、特征仓库
1.用户维度数据:是用来描述用户的特征数据。了解用户,一般从用户标签属性和行为属性两个层面即可。
用户标签属性用来描述用户静态特征:性别、年龄、爱好、家庭住址等等
用户行为数据简单来说就是行为日志:用户查看了什么、点击了什么、收藏了、添加购物车了;分为显性和隐形两类:显性的就是指能看出用户的偏好比如收藏、添加购物车,而隐形的看不出用户明显的偏好,比如浏览行为,很可能只是因为这个页面是首页而已。
2.内容维度数据:表示内容的细节特征,比如内容是商品,则商品的价格、重量、颜色、型号等都是内容维度的数据
3.时间维度、城市维度:比如用户在北京的行为数据、用户在晚上12点的行为数据。分析用户特征的时候,要考虑用户的地点和实效。
二、计算逻辑层
用户内容匹配:用户喜欢某些特征的内容;如果有些内容包含这些特征,则认为用户喜欢这些内容
内容匹配:利用用户之前喜欢的内容,找到与这些内容相似的内容,认为是用户喜欢的。
用户匹配:根据用户特征寻找相似的用户,相似的用户喜欢的东西,认为这个用户也喜欢。
三、针对初步结果集的分析
1.过滤:把之前的推荐历史过滤掉,把不符合要求、质量差的内容过滤掉
2.排名:制定结果集的优先级
3.选择优质内容,整理,进行推荐
十、其他:
在算法层有些东西还是可以细分
比如N中推荐策略的叠加组合权重的灵活设置(可配置)
热销商品惩罚系数设置(可配置)
业务突发要求,某类商品的推荐降权处理等等。
这些都不应该写死在算法中,应该做成灵活可配置的,适应各种情况下的需求。
作者:hooly
微信公众号:一口袋星光
我会在微信公号上持续更新我的文章,你来讨论我很欢迎。