slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
如何评价一个推荐系统的好坏?
17611538698
webmaster@21cto.com

如何评价一个推荐系统的好坏?

资讯 0 2899 2021-02-26 01:26:05

现如今,推荐系统几乎无处不在。

 

  • 电商购物,有猜你喜欢。
  • 资讯阅读,有个性推荐。
  • 听歌看电影,都能识别你的兴趣。
  • 就连工作社交,也会提示你可能认识的人...

 

推荐系统火爆的背后,是信息过载的现状下,人们需要通过算法,来帮助自己找到恰当的内容。

 

每个人的兴趣和需求不同,每个内容的特点也各不相同。如何在内容和用户之间,根据不同的场景环境做出恰当的匹配,也就是推荐系统的核心任务。

 

举个简单的例子,你平时用美团点餐,它推荐的可能都是你常吃的附近美食,而如果你去了一个新的旅游地,它会给你推荐当地的热门特色餐饮。

 

精准识别并满足用户不同需求的能力,构成了推荐系统的能力壁垒。

 

那么,我们该如何量化评估这种差异呢?

 

单一的衡量标准不存在

 

推荐得好不好,大家最容易想到的指标,就是点击率。

如果我推荐的内容,就是你满意的,你肯定会点击使用。理论上来说,完美的推荐系统,似乎应该做到100%的点击率。

 

以资讯产品举例,你每次刷新,刷出来的10条内容你都很喜欢,全都点开看了,这说明我们的推荐非常准。

 

但这样会带来明显的问题,因为我们追求高点击率,所以会减少冒险尝试,任何不确定的内容,我们都不敢推给用户。结果就是我们只能把用户曾经点过的品类,反复推给他,形成信息茧房,造成用户审美疲劳,然后离开。

 

这样,尽管我们的点击率上去了,用户留存率却下降了,商业收入也自然而然下降了。

此外,如果我们只关注点击率,就很容易忽略点击质量。举个例子,推荐系统追求点击率的结果,自然就是推荐更多的标题党内容,造成用户点击率很高,阅读时长却非常短。用户被忽悠了两三次以后,很可能愤而离开。

 

同样的,如果我们只追求阅读时长,可能会推出来大量的长时视频内容,减少短内容的曝光机会。

 

甚至在产品商业化阶段,我们有时候为了提升广告收益,还愿意牺牲一点点击率、阅读时长等用户指标...

 

显然,单一的衡量标准,无法确保推荐系统满足我们的需要。

 

多元的评估方式

 

推荐系统通常服务于某个具体业务,业务在不同的时间阶段、场景、用户群体下,都有不同的目标,需要灵活考虑。

 

下面以资讯类APP举例说明:

 

  1. 不同的阶段:产品发展初期,我们更关注用户的粘性和留存,因此重点会放在用户的点击率、PV、阅读时长上。等到追求商业变现的阶段,更多考虑的就是付费率、广告点击量等商业指标。对应的,推荐系统在不同的阶段也要做相应调整。
  2. 不同的场景:搜索场景考虑的是用户的搜索结果点击排序,追求用完即走。但是feeds流考虑的是用户的CTR、阅读时长、内容多样性。两者完全不同,不可混在一起。因此,对于不同场景,我们可以使用完全不同的推荐模型,将场景隔离开。
  3. 不同的用户:新用户考虑的是快速留存,积攒PV。老用户考虑的是探索兴趣,诱导分享。此外,不同偏好的用户需求各不相同,财经的用户希望内容权威、及时、高效,情感的读者希望内容贴近生活,足够有趣。二者追求的指标显然不需要一致。

 

考虑到各种不同的诉求,我们的评估方式也要灵活变化。

 

对不同的场景和用户模型,设定单独的衡量标准。对不同的业务指标,拆解出推荐系统的上线与评估标准。

 

所谓拆解,其实就是用高频变化的指标,去近似代表我们追求的长期业务指标。

 

举个例子,在资讯类APP发展早期,我们希望提升日活用户数,提升用户的使用时长。但是只看这些结果指标,并不能指导我们改进业务。

 

因此,我们可以把这些指标拆解成一些日常容易衡量评估的指标。比如日活用户数等于新增*留存,新增不是推荐系统直接影响的,这里暂不考虑。而留存取决于用户对我们产品的满意度,而满意度又近似等于人均PV(点击)、CTR(点击率)、阅读时长、播放完成率、评论、分享、收藏、点赞等等指标。

 

由此,我们把推荐系统的评价指标,就拆成了以下这些:

 

  1. PV:阅读数量,通常我们用人均值代替。对于资讯类APP来说,PV通常意味着用户的使用深度,同时更多的PV也会带来更多的广告曝光和点击,因此PV是对商业模式的一种近似简化,通过灵敏的PV,来间接提升我们的商业收益。用于推荐算法模型训练的素材,其实最关键就是用户对各篇推荐内容点击与否的数据
  2. CTR:点击率,越高代表用户对你的推荐结果越满意。
  3. 阅读时长、播放完成率:阅读时长、播放完成率配合PV,可以规避掉一些无效点击,提升指标的有效性
  4. 评论、分享、收藏、点赞数:这些行为比一般的阅读更重,更能代表用户的偏好,这些指标的加入(权重计分形式),可以让推荐系统更准确把握用户兴趣
  5. 主观评估满意度、新颖性、惊喜度:这三项其实是偏主观的评价,之所以加入,是因为很多用户体验并不能用数据衡量,往往需要用户凭主观感受打分来反映。具体做法有很多种,比如1)给出两篇内容,让用户进行点对点的对比。(2)给单篇内容提供打分选项,建议用户从内容与自身偏好的相关性、内容的信息量等角度给予1~5分的评分。(3)以提出开放性问题的方式来收集用户对自己信息流的反馈
  6. 内容多样性:对用户来说,产品需要经常有新意,不能陷入信息茧房,因此要评估内容多样性指标。比如可以统计用户的展示历史中各种题材、类目、话题的丰富程度如何,丰富度越高代表个体体验的多样性越好。从内容生产的角度,还可以计算基尼系数、推荐覆盖率,来判断各个内容是否都被推出去了。

具体在日常工作中,我们每次迭代推荐系统,通常都会进行AB实验,考虑对以上指标的影响,如果实验整体正向并且效果显著,那么我们会考虑把实验策略推全到全部用户上。

 

算法侧的评估标准

 

当然,除了业务指标外,我们还需要考虑算法本身的评估方式。毕竟推荐系统的主体是算法模型,在日常的系统迭代中,有大量的离线场景,需要评估算法效果好坏。

 

一般而言,算法是用模型去拟合训练数据,然后去预测新数据。它的评估方式也很直接,即预测的准确性。具体来说有召回率、精准率、准确率、F1值、AUC、RMSE...

 

分类预测类

 

  1. 召回率:也叫做查全率,全部正样本里,有多少被命中了
  2. 精准率:也叫做查准率,即预测为正的样本里,有多少是真的为正
  3. 准确率:一个综合评价指标,计算的是全部预测项里,有多少是正确的
  4. F1值:综合考虑了召回率和精准率,既考虑是否把全部正样本找出来,也考虑找的这些正样本精准率如何,对不平衡类别非常有效
  5. AUC:综合考虑假正例率和真正例率,得到ROC曲线后,计算曲线下的面积。简单理解,就是0~1之间的值,值越大模型分类效果越好,对不平衡类别非常有效

 

回归预测类

 

  1. SSE(和方差)、均方误差(MSE)、MAE(平均绝对误差)、均方根误差(RMSE):这几个都很相似,都是衡量预测值和真实值之间的差别
  2. R Squared:基于方差计算出来的一个比值,取值0~1之间,值越大,模型拟合效果越好

 

从日常的工作流程上来说,我们会先考核算法模型的AUC,AUC比以往模型有所增长时,我们再做线上AB实验,判断业务指标的增减。

 

通过灵敏的业务拆解指标,来反映我们对业务目标的迫近。

 

写在最后

 

随着业务的发展,推荐系统越大,它的评估复杂度也会跟着提升。

 

许多新的目标、特殊的场景都需要纳入考虑范围。

 

比如推荐系统的健壮性(是否容易被攻击)、推荐时效性、推荐地域性、推荐内容质量高低、推荐重复度、用户投诉率等等...

 

因此,推荐系统的评估方式也需要动态调整。

 

灵活调整评价体系,让推荐系统更好的服务业务发展,才能让推荐系统永葆生机。

 

 

作者:Nemo

评论