推荐策略产品血泪避坑指南:badcase排查全流程解密
推荐系统并非完美无缺,它也常常会遇到各种“坏案例”(badcase)。这些问题不仅影响用户的满意度,也对推荐策略的优化提出了挑战。本文将深入剖析推荐系统中badcase的排查全流程,供大家参考。
在我从事推荐策略的历史长河中,总有两个灵魂问题常伴着我:
1.这篇为什么给我推?
这条内容质量太差/我明明点了负反馈/数据不好没人看,为什么还给我推?
2.这篇为什么没给我推?
我明明点击并评论了某个电视剧的内容,为什么后续没有继续给我推?
我在其他平台都能刷到珠宝首饰内容,为什么在你这就刷不到?
推荐是黑盒,排查起来并不容易。
早期当我接到badcase的时候,会有一种别扭、无力的感觉。一方面,推荐黑盒到抓任何一个开发来都无法描述其全貌。另一方面,推荐系统应以数据导向,而不是badcase导向,不去计较一城一池的得失,方能实现整体数据的库库提升。话都没错,以至于我经常用这些冠冕堂皇的理由搪塞过去。
但问题并没有解决。
时隔三年,这次用badcase开篇,就是想警示自己:
1.不要先入为主地认为用户在无理取闹。弱小和无知不是排查的障碍,傲慢才是。
2.别被推荐系统唬住,怀着敬畏和耐心查到底,真相即便不在当下浮现,也会在下次、下下次本地调试的时候向你走来。
排查,并非是拒不掉的脏活儿,而是了解用户、了解推荐的机会。
一、Badcase:为什么给我推?
用户在抱怨的时候,通常认为这篇内容:质量不佳/不感兴趣/低互动。
这条内容质量太差/我明明点了负反馈/数据不好没人看,为什么还给我推?
质量不佳的case,往往需要审核、运营、模型通力合作、上下一心,将低质内容标记出来,不管是粗暴过滤也好、做精细的用户容忍度策略也罢,是个结构性问题,这里不做展开。
不感兴趣/低互动 这两类排查方法一致。查已推荐出来的内容,一般倒着看:用户-接口-重排强插规则-精排-重排过滤规则、提权降权规则-过滤器-召回
这个问题相对来说比较好查,我直接罗列原因:
- 是否是新用户?新用户阶段,用户行为很少很少甚至没有,推荐把握不准兴趣是正常的
- 进入兜底或关闭推荐模式?推荐策略和模型失效
- 重排规则性强插出来。通常见于运营策略、保量和试投策略,低互动内容有可能在这里被拽上来
- 精排模型打分排序高,被自然排序出来。如果是多目标的预估模型,还需要更详细的分目标的预估分数日志,再进一步排查和这个目标相关的特征以及训练、归一化的方式。比如互动预估分数很高,可以排查互动特征的可信度,是否容易被攻击?
- 为满足重排对其他内容的打散、提权、降权策略,把精排模型打分不怎么高的给排上来了
- 过滤器或者降权没有干掉这些内容。badcase有重复推荐、相似推荐、低互动的内容推荐、用户点了负反馈仍继续推荐、用户持续不点击还是推荐,这时候得分情况设计策略如强负反馈过滤、隐性负反馈降权
- 召回这一步容错率很高,故不会苛责召回,但如果大量用户都出现了不该出现的内容,召回可以抽象出来共性,作为改善方案之一
二、Badcase:为什么不给我推?
这几乎是推荐系统中的无头冤案了,需要从前往后查,甚至要追溯到盘古开天辟地之时。
用户的抱怨通常分两种:我点过的内容没给我推/其他平台推的内容没给我推
我点过的内容没给我推
我明明点击并评论了某个电视剧的内容,为什么后续没有继续给我推这个电视剧?
这时候的排查链路是:点击历史-召回-找排查标的-过滤器-粗排-精排-重排
1.排查用户点击、评论数据通路是否生效,端上埋点再到后台的点击历史记录是否正常。
2.排查应用点击计算用户偏好的召回里是否有这类内容。但我们手头上没有这类内容的集合怎么办?
3.先找内容标的。用户提供内容id固然好,若是泛指,则需要我们自己搜罗。从内容库筛出具体特征,如标题、标签或者类别包含某个关键词,或者和他浏览内容向量相近的内容。你会得到内容id的列表。将用户的曝光历史、浏览历史和内容id列表做比对,滤出用户没有曝光和浏览的内容列表,作为排查标的。
要是发现筛不出来多少甚至没有了,需要向上游提需求补充内容,此刻推荐这边排查基本结束。
有且有一大堆标的内容,就继续向下排查。
4.召回列表里没有标的内容
可以去排查某几个重点召回的索引。索引里有内容却没被召回,需要找召回开发一起排查,比如召回有做虚假点击处理,或者召回排序没有偏向这类内容,上限满了把这些内容截断了。若召回索引里也没有,但我们标的内容很充足。需检查召回索引用的内容池是否有这些内容?这时候会发现内容池的漏洞,补充上就完事了。
5.召回列表里有标的内容,继续排查是否被过滤器过滤,优化过滤器。
6.过滤器清白,就排查粗排和精排,他俩对这类内容打分可能不高。
涉及到黑盒的排序环节,需要开发协助排查。理论上,无论用户兴趣丰富与否,近几次的点击都是很好用的特征。
7.若是打分高呢?可能在重排环节被调了位置。这时候排查重排规则,通常是提权降权打散,可以适当做一些瘦身。
其他平台推的内容没给我推
我在其他平台都能刷到珠宝首饰内容,为什么在你这就刷不到?
这时候原因还是比较明确的:这类内容数据效果一般,自然也就很难协同出。
至于为什么效果一般,有可能是特征不够准确,致使这些内容都在试投阶段飞蛾扑火;也有可能是生产质量需要改进。改善这类内容的数据效果需要和推荐策略同时进行。
策略层面如何托举这类内容,让它更容易出来呢?增加探索强插固然见效快,但推荐是平衡沉浸感和新鲜感的艺术,更为推荐的方法是:补充特征让它更容易被自然协同出来。珠宝是女性爱看的,看看珠宝内容的消费数据有没有很强的性别倾向性?可以考虑在精排模型增加用户性别特征和内容性别点击率特征、增加用户性别协同召回等等。如果还是出不来,说明这类内容的数据效果还是无法脱颖而出,强扭的瓜不甜。在资源有限、产品有自己基因的前提下,上下游很难顾及所有品类。
三、写在最后
用badcase创造goodcase,才是策略产品经理的使命。记得用数据分析开场、用A/B测试数据优雅收尾。
当然了,道理都懂,实际情况总有很多不得已。只愿你享受追寻真相的过程。
本文由 @鹿的策略产品思维 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!