推荐系统是互联网发展以来最常见、最重要的技术之一。 如今吉祥物,各种应用、网站、小程序等提供内容的地方,背后都有推荐系统在起作用。
开发一个真正优秀的推荐系统是非常有价值的,但也非常艰巨。 大观数据是国内主要的推荐系统第三方供应商,一直在探索中不断进步。 在尝试开发一个强大的推荐系统来很好地服务客户的时候,我也一直在思考推荐系统的评价方法。 众所周知,业内有句话:“没有评价就没有进步”。 这意味着海报设计比赛评分标准,如果没有科学的方法来评估推荐系统的有效性,那么就没有优化和改进的方向,也就不可能构建出优秀的推荐系统。
作者几年前写过一篇文章《如何定量评估搜索引擎的结果质量》,首发于InfoQ(另见知乎)。 与搜索引擎相比,移动互联网时代的推荐系统有着更广泛的应用范围和更复杂的评价指标。
评价指标就像一把尺子,指导着我们产品优化的方向。 如何科学合理地评价推荐系统的结果质量? 各种文献和网络文章中可以看到几十个评价公式,让人眼花缭乱。 这些指标各有什么优缺点,我们该如何选择呢? 本文从我们的实践经验出发,对此进行一些深入的分析,希望对大家有所裨益(大观数据陈韵文)。
1、针对不同的推荐场景,必须因地制宜选择合适的评价方法。
制定评价指标时,推荐场景最为关键。 没有推荐场景就谈评价指标,犹如鱼无水。 所谓“推荐场景”与推荐的内容类型、呈现方式以及推荐所满足的用户需求有很大关系,而且这种关系有时是非常微妙的。
比如,它们都是推荐视频,但推荐电影(一般是长视频)和推荐短视频(一般只有几秒长)时,背后的用户需求是完全不同的。 前者显示电影海报、名称、评分、主演和故事梗概。 用户观看这些内容的目的是为了尽快选择一部合适的电影来观看。 因此,推荐系统强调如何更快、更准确地提供高质量的结果。 后者的短视频推荐(如常见的抖音快手等)在浏览过程中目的性不强,且由于时长短、决策成本低,用户浏览的目的是为了消磨时间,而推荐系统的目的就是让用户在这个app上花费的时间足够长,粘性足够高。
对于前面的场景,用户在推荐页面停留的时间越长(注意不是在播放页面),满意度必然越低。 没有人愿意把钱浪费在一堆电影名字+海报的精选页上。 太多时间。 如果选择十几分钟后仍然找不到值得观看的电影,用户会对推荐系统感到极大的失望。 但对于后者来说,推荐过程本身就涉及到不断观看短视频。 为了满足用户的消磨时间需求,多样性、新颖性等更为重要。
从评价方式来看,在推荐电影等长视频时,更重要的是观看发布时间足够短、用户可以持续观看的电影,并且观看后用户认为是“评分高的好电影”。看着他们。 观看电影的时间是值得的,也是理想的指标。 对于后者,留住用户、增加浏览时长、考虑到短视频制作者在平台上的曝光度和健康生态,是推荐系统的关键考核因素。
通过这个简单的例子,我们大观想要向读者说明的是,我们必须从产品场景中深刻理解推荐的作用,这样我们才能更好地选择评估方法,为众多的推荐评估公式找到合适的用途。 土地。
2.影响推荐系统评价方法的几个因素
场景的细微差别决定了评估方法应该有所不同。 俗话说“什么场合穿什么样的衣服”,无论是西装还是运动装,都有适合的场合。 根据我们对场合细微差别的理解,有几个因素在发挥作用:
因素1:推荐的显示槽位是固定数量还是扩展的信息源流?
具有固定数量槽位的推荐更接近搜索引擎或定向广告的结果。 由于展示的数量有限,并且可能存在顺序(类似于搜索结果从上到下排列),因此推荐结果的准确性要求很高。 这种场景称为Top-N推荐。 这时,推荐结果的前N个结果的点击率CTR(Click-Through-Rate)就是一个常见的指标(点击/曝光)。
如果推荐结果有明显的顺序(比如app上结果是从上到下显示的),那么往往可以考虑位置衰减因素,比如NDCG(Normalized Discounted Cumulatie Gain)、MRR(Mean Reciprocal Rank) ),或 MAP(平均精度)被整合到位置因子中)
右侧红框为常见的Top-N推荐结果
常见展示推荐/广告
还有一种展示推荐,与经典的效果广告非常相似。 唯一的区别在于充电方式,如上图所示。 这种情况下,推荐系统可以借鉴广告系统中常见的评价方法,比如AUC、ROC等指标。
而如果是移动APP上常见的Feed流推荐,由于推荐展示槽位数量较多(甚至可以认为是无限),并且用户可以轻松滑动屏幕,此时位置顺序因素并不是特别重要,常用曝光点击率(点击数/曝光数)来衡量推荐质量。 此外,PV点击率(点击次数/总PV)和UV点击率(点击次数/总UV)也是Feed流中常用的方法。 此时首屏第一条结果的重要性不如Top-N推荐,因此评价指标也有所不同。
因素2:推荐背后的商业模式是基于电子商务交易还是基于广告收入?
很多推荐系统都用在电商平台上,以更好地促进买家和卖家之间的交易,比如各大电商网站、外卖APP等。 推荐的核心目的是促成交易(例如用户完成商品购买,或者用户点播电影,或者用户开始阅读小说); 此时,推荐带来的交易数占总交易数的比例,或者说总交易额与GMV的比率是最直接的评价指标。
由于从推荐激发购物者兴趣到用户完成订单有很长的操作链条,因此也可以将操作进行分解,以更好地衡量每个环节的效果。 例如ip形象,购物车添加率(推荐引导添加购物车次数/推荐总曝光量)、商品详情页阅读率(推荐引导商品详情页进入次数/推荐总曝光量)等。
有些平台以广告点击和曝光作为主要收入来源,比如常见的新闻资讯类APP,或者短视频、免费阅读(漫画、小说)类APP。 广告是主要的收入来源,因此期望推荐系统能够更好地扩大用户在APP上的停留时间海报设计比赛评分标准,增加用户点击量等。这意味着平台可以获得更多的广告收入,因为无论是CPM或者CPC计费广告形式,用户越活跃,用户浏览就越多。 次数越多,平均利润越高。
在这种情况下,推荐系统力求满足的用户需求是消磨时间或“闲逛”的场景。 此时用户的平均停留时长、推荐引导的成功阅读数等,就更符合需求了。
因素三:推荐评估是线下进行还是实时在线完成
离线评估和在线评估的数据准备条件不同,因此相应的方法也不同。 当离线数据收集通常难以做到完全详细和全面时(例如,由于性能成本太高而难以完整记录大量用户的隐式反馈数据),离线评估方法会有所不同。
典型的线下评测包括著名的NetflixPrice竞赛、KDD杯以及Kaggle上的一些大数据算法竞赛。 这些比赛有固定的数据集,并使用静态评估方法,例如MSE(Mean Absolute Error)平均绝对误差、RMSE(Root Mean Squared Error)均方根误差或R-Squared(R平方)来计算:
例如,在电影和电视剧的推荐中,经常使用用户-项目评分矩阵(User-Item-Rating)进行离线评估,尤其是在学术界。 由于大学和学术界很难接触到真实的在线环境,因此采用线下评测的方式来评价算法的好坏更为方便,这也算是学术界的无奈。
但我们都知道,用户实际评价产品的显式数据(Explicit Feedbacks)非常稀缺。 有时候我们要创建一些评分映射关系,比如多少分映射到分享,多少分映射到点赞等,来近似生成一个评价矩阵,计算上面这些静态指标。
各种推荐效果指标在线实时计算
在线评估的好处是可以随时进行AB测试,效果一目了然,工程师非常喜欢。 有两个困难。 首先是线上环境极其复杂,会受到很多其他因素的干扰,可能无法真实体现推荐算法的有效性。 例如,某些指标容易受到攻击和作弊。 其他操作活动也会干扰效果。尤其是当提取对比的流量比例太小时,数据抖动会很大,AB测试的结果可能无法真正反映实际效果。
第二个难点是评估数据往往反映的是最终结果,而不是中间模块的直接质量。 如果想通过AB测试转入更深层次的内部算法模块,往往需要在工程架构上做大量的开发来传递内部参数。 例如,虽然通过在线评估很容易计算出哪种推荐排序策略(Ranking Strategy)更好,但分析之前哪种召回策略(Recall Strategy)更有效却要困难得多。 正向传参需要在大数据工程架构上下功夫,这也是大观推荐一直致力于的。
一线算法工程师经常遇到的另一个问题是,离线评估和在线测试的结果完全不同。 离线测试时表现得非常好的算法,在上线后可能会被遗忘,看不到任何波澜。 这恰恰证明选择正确的评估方法是多么重要。
因素4:推荐系统当前的目标是最大化运营指标,还是考虑生态平衡和来源多样性?
如果推荐的内容来自于平台本身,那么往往只需要关注平台的最大、最优的关键运营指标,比如完成更多的交易来增加GMV,或者拥有更高的读者留存率,或者增加阅读量。整个平台上用户的活跃度等等。就是这样。
但还有另一种复杂的情况。 一些平台上推荐的内容来自各种UGC或PGC。 这些内容提供商依赖平台的推荐来获得内容曝光和利润。 在这种情况下,平台必须考虑自身的生态平衡和系统的长期健康。 需要考虑给予长尾UGC或PGC一些推荐曝光机会,避免被少数头部内容渠道绑架而造成“大客户问题”。 “霸凌店”问题,同时支持更多中小内容创作者可以让生态系统更健康、更繁荣。 毕竟,大树下连一根小草都没有枯死,绝对不是平台所乐见的现象。 这时,推荐系统就是最重要的指挥棒,其评价指标必须包括内容来源覆盖率(Source Coverage)、多样性(Novelty)等指标。
经济学中的基尼系数也可以作为评价生态健康的辅助指标。 推荐系统的初衷是为了消除马太效应,让不同的商品能够展示给特定类型的人。 然而研究表明,主流的推荐算法(如协同过滤)都存在马太效应。 基尼系数用于评价推荐系统马太效应的强弱。 如果Gini1是根据初始用户行为计算出的商品流行度基尼系数,Gini2是根据推荐列表计算出的商品流行度基尼系数,如果Gini2>Gini1,则说明推荐算法具有马太效应。
因素五:推荐结果要迎合人性或引导人性
推荐系统本质上是让计算机系统通过大规模数据挖掘来“弄清楚”人性。 但深一点讲,人性是最复杂、最矛盾的东西。 它既有理性的一面,也有感性的一面。
一味迎合人性的推荐系统会显得“媚俗”,最终会被用户所唾弃。 比如,人性有好奇贪婪的一面,而人性通常都是不耐烦的——这也证明了为什么几秒的短视频越来越流行,为什么电视剧有“倍速”功能,而短视频标题吓人的文章在推荐时总是比内容深入而长的文章有更好的指标。
人类是群居动物,他们总是关心同胞们在观看什么。 大量基于协同过滤思想的算法满足了相关需求。 如果你充分去迎合的话,你会发现有很大一部分人往往喜欢看低俗、快餐内容。 如果不进行干预,推荐结果往往会充斥着色情、赌博、毒品、头条新闻、危言耸听、精彩内容或廉价劣质产品。
然而引导人性、倡导更高质量的内容才是推荐系统的责任。 这时,评价指标不能只关注点击率、转化率等量化指标,因为如果只用这些指标来优化算法,最终的结果一定是劣质内容填满页面、降低排名。整个平台的风格。
在评估推荐系统时,往往会从人性推测方面来探讨那些常常不清楚的“Serendipity”和“Novelty”。 这些指标计算的最大困难在于评价指标具有主观性,难以直接利用在线行为计算。 一般只能通过事后调查问卷或者用户对内容的评分和转发来间接支持。 或者用7天或N天的留存率来判断用户对推荐结果的总体满意度。 (大观数据陈允文)
3、实战中推荐评价指标设置的常用方法
方法一:针对不同细分群体设定不同的评价指标
推荐算法会根据用户的整体评价,引导推荐结果满足“大多数人的口味”,但这背离了千人千面的个性化初衷。 我们希望社区中不同的人能够通过推荐获得满意的体验。 利基偏好通常被淹没在整体数据中。 我们一线算法工程师经常遇到这样的情况:一个新的推荐算法上线后,整体指标明显好很多,但你的领导/客户可能会抱怨。 说他感觉推给他的东西已经不如以前了。 个人和群体经常会发生类似的冲突。 某种推荐算法可能对整个群体有好处,但不一定对另一群人有好处。
理想的方法是对组进行细分。 例如,电商网站既有对价格敏感的大众用户,也有追求品质的高端用户。 在计算指标时,如果对不同的群体进行计算,可以更好地体现推荐效果的具体差异。 比如我们希望新用户能够快速完成交易并安定下来,那么针对这一人群的推荐指标、下单率以及次日或7日留存就非常重要。 高端人群的情况则有所不同。 需要更加认真地对待个体差异和利基品味。
方法二:根据不同的推荐地点制定不同的指标
在同一个推荐APP或产品中,需要有针对性地设置不同地点的推荐评价指标。 如上所述,不同地点、不同场景,推荐指标的制定规则可能有所不同。 例如,基于首页首屏的Banner推荐(Top-N推荐)、信息流推荐、内容详情页下方的相关推荐(常用的Precision-Recall或F1-Score)进行计算。 也没有搜索结果页面、购物车页面、退出确认页面等。不同地点要因地制宜选择合适的评价指标。
方法三:组合多个不同的评价指标,得到总体数据指标
每个指标都有局限性。 推荐系统需要平衡很多因素(业务、用户体验、技术实现、资金、人力等)。 如何达到良好的平衡是一门哲学。 通常可以对几个因素进行加权求和,作为一个总体指标。
指标的选取与产品的主要定位相关。 例如,对于一个特别强调快速、新鲜内容的APP,结果的时效性应该有更大的权重。 对于一款讲究风格和品位的APP来说,单篇文章的阅读时间就显得更加宝贵。 对于强调社区活跃度的平台,内容的用户分享率、互动率等,应该在整体指标中更加突出。 (大观数据陈允文)
在产品运营的不同阶段,不同偏好指标的选择也应该有所不同。 产品上线初期,可能需要照顾用户体验,大力拓展新用户。 当用户足够多的时候,你可能会专注于商业变现(推荐付费视频、在列表中插入更多广告等),通过推荐找到让产品尽快盈利的方法。 如果是电商推荐,就要仔细考虑用户购买前后的差异,以及标准产品和非标准产品的差异。 在购买之前,往往可以推荐更多类似的产品,更好地让用户进行比较和选择。 当购买动作完成后,尤其是耐用消费品,继续推荐会适得其反。
灵活选择各种推荐算法和指标
4、推荐指标汇总
推荐系统的本质是满足每一个消费者。 这些指标只是从不同角度衡量“满意”程度。 本摘要下常见的指标类型包括以下几种:
指示器类型
场景转化指标:曝光点击率、PV点击率、UV点击率、UV转化率、购物车率、分享率、收藏率、购买率、人均点击数、CTR、AUC等。
推荐内容质量指标:结果多样性(Diversity)、结果新颖性(Novelty)、结果时效性(timelility)、结果可信度(Confidence&Trust)等。
内容消费满意度指标:留存率、停留时间、播放完成率、平均阅读时长、交易量、沉浸感(Engagement)、惊喜(Serendipity)等。
在同一个推荐场景下,指标不宜过多,因为过多的指标不利于最终的优化决策。 只要把握几个准确发挥各个场景核心作用的推荐指标即可。 但不能只有一个指标,太单一的指标会导致推荐算法的优化误入歧途。 迷信认为单一指标表现好并不能说明产品就是好的,事物走向极端会导致相反的结果。 过度优化后虽然指标上去了,但用户体验往往会降低。
很多推荐评价指标本身就很脆弱、容易受到攻击。 如果某些推荐算法严重依赖各种反馈指标来自动优化结果,则往往会被恶意利用。 因此,要灵活运用推荐评价指标,但不能完全迷信技术指标。 因为指标的背后是用户的人性。 寻找商业利益与人性之间的最佳平衡点,是推荐系统开发和推荐效果评估的最高境界。
关于 | 关于作者
陈允文:大观数据创始人兼CEO,博士复旦大学计算机科学博士,国家“万人计划”专家,第九届上海市青年科技人才,担任复旦大学、上海财经大学校外研究生导师。 在人工智能领域有丰富的研究成果。 在IEEE Transactions、SIGKDD等国际顶级学术期刊和会议上发表数十篇高水平科研论文。 翻译人工智能经典著作《智能网络算法》(第2版)。 多次在ACM KDD CUP、CIKM、EMI Hackathon等全球顶级数据挖掘竞赛中获得第一、第二名。 曾任盛大文学首席数据官、腾讯文学高级总监、百度核心技术研发工程师。 他在机器学习、自然语言处理、搜索推荐等领域拥有丰富的研究和工程经验。
- 本文固定链接: https://wen.nuanque.com/bisai/20718.html
- 转载请注明: nuanquewen 于 吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计 发表
- 文章或作品为作者独立观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。本文之内容为用户主动投稿和用户分享产生,如发现内容涉嫌抄袭侵权,请联系在线客服举报,一经查实,本站将立刻删除。本站转载之内容为资源共享、学习交流之目的,请勿使用于商业用途。