推荐系统的公平性:用户侧与生产侧

文章作者:冯伟

原文专栏地址:https://zhuanlan.zhihu.com/mlexplained

我理解的公平性

我从用户侧和生产侧理解推荐系统的公平性:

  • 用户侧:我观看了“体育”和“二次元”的内容,但系统却只推荐出体育,因为体育在平台上更加流行,更容易收集到大量的用户反馈

  • 生产侧:是否优质内容能够得到足够的曝光机会,流量是否会偏爱早期入住平台的生产者

01. 用户侧

为什么要重视用户公平性

用户侧的公平性是可以上升到“平台价值观”和“算法善恶论”的。比如审美,一线城市的小资情怀和广大农村的看点是很难共存的;比如性取向,如果平台中的用户侧是以异性为主,那么可以想象一下同性用户的体验;比如肤色,如果平台中以白人为主,可以想象一下有色人种的体验。对于公司来说,一旦平台被曝出“歧视”,报道是能够广泛传播,造成负面影响的。

用户侧的公平性影响垂直社区能否顺利发展成为主流平台。比如说知乎,以专业性、精英范起家,用户增长到天花板后,难免引入“八卦向“内容,吸引更加广泛的受众。早期精英用户是否依旧能看到不变味的知乎,决定了高粘性的核心用户群体的去留。

排查思路

从索引+召回、排序、重排序三个环节来说

1. 索引 + 召回

索引是为召回服务的,细分为两种

  • key-value索引,以基于标签的召回为例,key是“体育”这个标签,value是“体育”相关的内容。如果标签体系内没有“二次元”,那么也就不可能召回二次元的内容了。

  • knn索引,以embedding召回为例,输入是user embedding,索引返回k个最相似的内容,相似性= (user embedding, item embedding)。如果用户embedding被“体育”所主导,那么也就不可能召回到二次元。

召回需要索引的配合,召回分为两种

  • Item-to-Item (I2I) 召回,第一个Item来自于用户的观看历史,第二个Item是推荐候选集,需要排查两个环节:

    • 观看历史中有二次元,但没有选中:用户的观看历史动辄上百,从里面挑出30个,很容易错过了二次元

    • 从观看历史中挑中了二次元,但相关视频却是体育,因为系统中充斥着大量的体育视频,“90%的用户观看过二次元还观看了体育“

  • User-to-Item (U2I) 召回,User是指用户观看历史的聚合,Item是推荐候选集。对user的表示,可以分为两种:

    • 用标签表示用户,从用户观看的所有视频中,提炼出最经常出现的标签,在这里很容易错过二次元

    • 用embedding表示用户,从item embbeding聚合成为user embedding时,由于体育内容居多,掩盖了二次元的内容

2. 排序

排序是召回的下一步,决定哪些召回可以通过,如果对二次元有歧视,也就做不到公平了。如果平台的90%用户都喜欢体育,那么模型以100%的概率把二次元排在体育之上就是一个不错的选择。所以更难的是,如何对10%的二次元用户,把二次元排在体育之上。

如果把排序抽象成 

  •  是模型结构

  • x是样本及特征

  •  是模型参数,由优化目标决定

排查问题就可以从三个方向入手

  • 模型结构:排序可以细分为粗排和精排,粗排的典型模型结构是双塔,根据user embedding去查询top-k item embedding,跟User-to-Item召回一样,很容易在user embedding上错失二次元的信息,在这里就对如何构建user embedding提出了很高的要求,推荐算法论文在这里提出了很多技巧。或者,在双塔试试粗排的情况下,引入非实时粗排。

  • 样本以及特征:针对样本,如果二次元展示数量少,并且主流受众的点击率低,很容易埋没在大量的体育样本中;针对特征,如果在粗排阶段使用双塔模型,就注定不能引入用户-物品交叉特征,可以想象“当前用户对二次元的点击率”是一个非常好用的特征

  • 优化目标:优化目标是在每个样本的加合,所以二次元样本的多少、权重、以及负样本如何采集是值得细细研究的,也有很多论文探讨这里的技巧。优化函数是否倾向解决10%的二次元,而不是解决90%的体育内容,粗排在缺少交叉特征的情况下,是否能跟精排优化方向保持一致,也是值得细究方向。

3. 重排序

重排序是排序的下一步,决定了最终的排序结果,任何改动都非常重要。重排序又经常被称作打散,最常用的手段是设置gap。举例来说,体育类内容不能连续出现3次,那么二次元就有更多的机会展现在第三个位置。

八卦一下,重排序大概是实战中见效最快,但又是在论文里最难找到的技术手段了。提升召回、排序的迭代速度是以周为单位的,但重排序的迭代速度是以天为单位,并且直接决定了排序结果,以后可以专门写一篇推荐系统的多样性来说说重排序的那些事。

02. 生产侧

怎样才叫公平

假设系统中只有两位内容生产者:“二次元”和“体育”,我们来讨论公平性

  • 实际的公平性(左图)

    • 二次元的圆圈小(展示次数小),但是位置高(点击率高)

    • 体育的圆圈大(展示次数多),但是位置低(点击率低)

    • 二次元是值得更多的展示的,因为二次元的点击率高

  • 理想的公平性(右图)

    • 减少体育的展示,增加二次元的展示,直到二次元的点击率等于体育的点击率。这里有一个假设,就是点击率会随着展示次数的增加而降低,直白说来,就是小众喜爱的二次元,放在大众用户那里就不一定喜欢了

如何做到公平

从上图左侧的不公平,跨越到右侧的公平,推荐系统需要作出巨大的努力:

  • 内容表示:系统怎么知道哪个内容是二次元,哪个内容是体育?需要两个方向的努力

    • 人工标注 + 模型标注:建立跟业务特有的标签体系(电商、美剧、音乐各不相同),人工标注积累高质量的标注数据,训练模型进行大规模标注

    • 向量表示:不依赖于人工标注,根据大量样本进行聚类(降维),用embedding表示内容

  • 流量探索:在内容表示就位前,推荐系统需要拿出流量,在不知道内容是二次元还是体育的境况下,向用户展示新内容,收集点击率数据。怎么样高效的利用流量进行探索,可以参见Bandit系列的文章:

    https://zhuanlan.zhihu.com/p/32356077

从技术投入上,有三点想探讨:

  • 产品初期 vs 产品后期:产品初期发力内容向量表示 + 流量探索见效更快,回报率更高,产品后期,市场得到验证后,发展内容标注,这里需要很多很多NLP、CV相关的人才,但实际收益是否能够大于人力投入,则取决于业务的规模。对于信息流、短视频这种高频产品来说,ROI大概率是正的

  • 公平 vs 效率:追求公平是以牺牲流量的效率为代价的,因为探索流量的点击率大概率很低,影响用户体验,切身的例子就是刷抖音刷出只有几个点赞的视频。往大的说,在短期用户体验,和长期建设内容生态,需要作出权衡,并且很难找到可以在短期AB测试中就能挪动的指标

  • 充分利用“关注”功能:关注功能极大的解决了内容冷启动问题,新内容推荐给老粉丝是天经地义的。如果把推荐系统看成是一个经济体,粉丝量就是创作者的信用水平,流量就是投资,想要获得低风险的回报,理应将流量倾斜到信用高的创作者上。

「 更多干货,更多收获 」

【干货】如何从0到1构建用户画像系统?推荐系统工程师技能树
2020年8月十大热门报告盘点【电子书分享】美团机器学习实践.pdf
全网最全短视频直播电商资料包(附下载链接)

全网最全数字化资料包(附下载链接)关注我们

智能推荐

个性化推荐技术与产品社区

长按并识别关注

一个「在看」,一段时光????

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值