很多负责推荐系统质量监控的运营人员头疼的很,推荐算法是黑盒子,我们不知道推荐结果是如何计算出来、如何排序的,也不知道每个用户看到的是什么推荐结果,那领导让我们评测推荐系统的推荐质量我们该怎么操作呢?找几个测试的同事帮忙测试时发现,每个同事看到的结果都不同,毕竟是千人千面,况且测试同事看到的结果和实际用户看到的仍然不同,那该怎么去评测推荐结果的质量好坏呢?
为了更好地监督和评测推荐结果的质量,我们将每个用户的用户行为、推荐结果及推荐原因可视化,使每个用户的每条推荐结果都具备可解释性,从而运营人员通过随机抽样的方式判断推荐结果是否合理,为进一步推荐结果的优化和算法策略的调整提供理论依据。
下图是艾克斯智能的推荐管理后台,我们可以看到系统是实时收集了用户的行为,包括用户的ID、所属的应用、数据类型、数据对象、行为和用户发生行为时的操作时间。如图5–5所示。
图5–5 艾克斯智能的推荐管理后台
在点击某一用户ID时,还可以纵览当前用户的所有行为。如图5–6所示。
图5–6 纵览当前用户的所有行为
下图为冷启动用户的推荐结果,我们可以看到所包含以下几个信息:数据对象ID、数据对象、权重、排序、分类ID、分类名称和内容时间,每条数据对象文字后的数字代表的是人工干预的权重。这几个信息,也是推荐系统计算完推荐结果后所返回给服务器的信息。同时,我们还可以看到冷启动推荐结果的权重值是非常高的。我们之前分享过,冷启动推荐结果是多种推荐策略的融合,其中很重要的是“实时受欢迎内容”的榜单,而“实时受欢迎内容”是全平台用户30分钟内用所有用户行为共同投票的结果,意味的是全平台内用户行为权重最高的内容。也代表了推荐模型是每30分钟跑完一次,冷启动结果也是每30分钟更新一次。如图5–7所示。
图5–7 冷启动用户的推荐结果
下图看到的是老用户(非第一次登录或已在平台发生过行为)的推荐结果,其包含的信息与冷启动用户并无二异,但不同的是每条推荐结果的底部都包含了这条推荐结果的推荐原因。
我们可以看到,“小品《心病》……发生了什么”这条内容是根据当前用户的近邻用户所感兴趣的内容推荐出来的;“王思聪爸爸是王健林……飞扬跋扈”是根据“揭秘:马云贤惠妻子和儿子……秒杀王思聪”的语义推荐出来的;而“四川一小伙……一夜暴富”则根据系统的多样性策略推荐出来的。值得注意的是,语义推荐并不仅是语义相似度的推荐,语义推荐还包含了多种权重的计算,例如多算法模型的权重、用户行为时间权重、物料权重、行为反馈权重、人工权重等。如图5–8所示。
图5–8 老用户的推荐结果
通过可视化的方式,我们可以从主观上判断用户的推荐结果是否合理,也可以纵览到一个用户前端内容的整体调性,那么我们通过科学的抽样调查方法便可以得到结果的质量的主观判断。
将推荐原因可视化不仅可以作为运营人员和算法人员进行策略和模型优化的依据,还可以返回给前端的用户,例如:微信读书的图书和资讯推荐。在前端调用推荐理由,使推荐系统计算过程透明化,有助于增强用户对于推荐的宽容度和信心,用户对该推荐内容更有点击的冲动。同时,将推荐理由推送可以使用户快速判断结果是否会符合自己的兴趣,辅助用户做出快速地决策。如图5–9所示。
图5–9 推荐结果可视化
通过可视化的方式,我们还可以看到语义模型的质量情况,如图5–10所示。
图5–10 语义模型的质量情况
与“钟南山院士……专业”内容语义相似度最高的前5篇文章,权重值越高说明语义相似度越高。而这些结果则是资讯、短视频详情页的相关推荐的结果。
综上所述,在上线推荐系统时,建议对用户的行为、推荐结果及推荐原因进行实时地监控,避免算法黑盒化带来的运营和调参的盲目性,同时在前端调用推荐原因可以使用户对推荐结果的接受度更高,更有利于提高用户的点击率和黏性。