推荐引擎-推荐系统实战

转移

信息过载information overload。对于信息消费者和信息生产者都是挑战,信息消费者难以找到感兴趣的信息,而信息生产者的信息难以被关注到。搜索引擎和推荐引擎就是完成消费者和生产者之间联系关系的技术。

历史发展上,先是分类目录,再是搜索引擎。国内对标的hao123,百度。分类目录缺陷是涵盖的信息少。

亚马逊推荐预览标签包括,物品标题,物品图片,物品平均分,推荐理由。

1基于Facebook好友,向用户推荐他们好友在亚马逊上喜欢的东西。推荐理由写喜欢过相关物品的好友头像。、

2打包销售关联物品。购买某个物品的时候,告诉你其他用户购买这个商品的时候还买了别的商品,同时购买有优惠。

亚马逊三成的销售来源于推荐系统。杰夫贝佐斯讲,每个用户应该拥有自己的购物商店,符合自己需求的购物商店。



评价推荐系统优劣:

考虑用户,物品提供者,和推荐系统本身。要满足用户的需求,推荐他们满意的图书;要满足物品提供者的要求,如图书系统不能只是推荐某几个大型出版社;对于推荐系统本身,要能完善优化推荐质量,提高系统收入。

好的推荐系统不仅仅能预测用户的行为,还能拓展用户的视野,帮助用户发现那些他可能感兴趣但是却不那么容易发现的东西。准确的推测并不是好的推荐。

1、用户满意度。

2、预测准确度。评分预测算法,TopN算法。前者是根据用户实际评分对比预测评分计算预测误差。后者的召回率为成功的推荐除以用户所有的点击行为,准确率为成功的推荐行为除以对用户的所有推荐。为了全面评测召回率和准确率,通常会选取不同的推荐数目,根据图形比对。实际上,TopN更加具有实际意义,我们需要的用户最有可能看的东西,而不是东西有什么评分。

3、覆盖率。推荐系统推荐出来的物品占总物品集合的比例。实际上,无论是搜索引擎,还是现在主流的推荐系统,都是具有马太效应的,即强者更加强,弱者更加弱。

4、多样性。用户具有广泛的兴趣,推荐列表具有多样性,覆盖用户大多数兴趣点,更加容易提高用户找到感兴趣物品的概率。可以使用多样性算法量化两个物品之间的不相似度。推荐系统的整体多样性可以定义为为所有用户推荐列表多样性的平均值。从内容相似度角度描述可以获取到内容多样性平均值,从协同过滤角度可以获取到协同过滤多样性平均值。多样,且考虑用户兴趣的权重。

5、新颖性。不应该向用户推荐他们已经看过,浏览过,评过分的内容,推荐他们没有听说的物品。需要注意如何在不牺牲精度的情况下提高多样性和新颖性。

6、惊喜度。推荐的新颖性取决于用户是否听说过这个推荐结果,而惊喜度是推荐结果与用户的兴趣不相符,但是让用户满意,那么惊喜度就很高。

7、提高推荐系统的信任度。如同推荐系统是一个朋友,你是否信任他讲的话,还是他说什么你都不信。提高系统信任度可以考虑增加推荐系统的透明度,提供推荐解释,让用户了解运行机制才会提高信任度。考虑社交关系,利用用户的好友信息作为推荐,并用好友进行推荐解释。

8、实时性。很多物品都具有时效性,在物品还具有时效性的时候推荐给用户。推荐昨天的新闻显然不如推荐今天的新闻,一个用户买了iPhone,越早一天推荐配件显然更有价值。很多推荐系统都是在离线状态下计算用户的推荐列表,然后在在线时间的时候展示,这种方式显然无法满足实时性。实时性的第二个方面是把新加入的物品推荐给用户,这是推荐系统处理物品冷启动的能力,对于新物品的推荐能力,我们还可以利用用户推荐列表中有多大比例是当天新物品来评估。

9、健壮性。任何一种带来利益的算法系统都会被攻击。如搜索引擎的反作弊斗争。健壮性考量了一个系统抗作弊的能力。作弊方法最有名的是注入攻击,算法健壮性的评测主要是利用模拟攻击,用攻击方法向数据集中注入噪声数据,然后评估算法健壮性,如果攻击前后推荐列表变化不大,那么就具有较强的健壮性。为了提高健壮性,除了使用健壮性高的算法以外,重点考虑使用有实际价值的数据以及对数据的清理

一个推荐算法,它有可能整体性能不好,但是在某种情况下性能好,增加评测的维度就可以知道算法什么情况下最好。评测维度包括以下三个方向,用户维度(人口统计学信息,活跃度,是不是新用户),物品维度(物品属性,流行度,平均分,是不是新加入的物品),时间维度(季节,工作日周末,白天晚上)。从不同维度去评估推荐算法。发现比较弱的算法的强项,发现比较强的算法的弱项。

——————————————————————————————

核心目标是建立多维度综合指标优秀,且具备良好可发展生态的算法模式。制定多个核心指标来衡量的产品状态。列表流的人均阅读数量、用户在推荐流的使用时长、点击率,这些是推荐的关键性指标。以今日头条为例,CTR (click through rate) 是常见的用来衡量搜索或推荐产品的指标,比如今日头条推荐了一条新闻,10000个人看到了,最后有多少人点击了这条新闻去查看了详细内容呢?理论上,推荐的质量越高,点击率就应该越高。但是正如 Evan 所言,片面的追求单一指标是有很大的风险的。为了提高点击率,推荐了很多标题党、与色情、暴力沾边的内容,都可能使 CTR 上升,但这并不意味产品或推荐的质量有提升(至少我是这么认为的)。所以在制定 key metrics 的时候,必须非常慎重。

前期推荐会进入一个收缩的阶段,最后出来的会越来越相似(好的推荐系统,会兼顾了收敛和发散),所以指标应该是一个综合值(总阅读时长,人均阅读篇数,单篇阅读时长,互动数等来综合评定)。

你可能感兴趣的:(推荐引擎-推荐系统实战)