作者:九羽
信息流场景展示内容在实际业务场景中并不是单一的同类内容,可能有图文、视频等主场景信息流内容,也会有广告、商品等商业内容,同时,针对特殊场景还存在着引流入口的穿插。不同类型内容往往来自不同业务部门,有不同的业务目标上的诉求。如何针对多源内容,在现有推荐机制的基础上,利用混排的方法,对流量实现二次分发,从而实现整体收益最大化是一个比较有挑战的问题。
核心重点
在实际的广告推荐业务中,无论是LinkedIn原论文提到的广告场景,还是知乎、抖音、快手等内容流广告场景,都面临着同样的一个问题,在原始的运营流量或者推荐流量中,增加广告流量、带货流量后,不同内容类型将如何呈现给用户?
我们知道,不同的业务有着不同的目标导向,负责内容流的业务在意的可能是CTR和停留时长等指标,负责广告的业务可能在意的是CTR指标,负责带货的业务更偏向于CVR、GMV等转化指标。因此,兼顾各方需求的混排机制,在流量为王的时代,对于实现流量的价值转化,是极其重要的。
基本认知
如上图所示,推荐流对内容的排序是一个单独的流程,同时,广告推荐也是单独的排序流程,向不同的种子用户得到的lookalike用户展示不同的广告。如果扩展到带货上,也是大同小异的。在实际业务中,往往不同的内容类型由不同的团队负责,每个团队都有自己一套召回、粗排、排序逻辑,乃至系统。
工业界推荐系统中,常用的召回策略有:
- 传统召回方法:热度召回,LBS,用户标签(兴趣标签、地理标签、偏好标签)召回,ItemCF,频繁模式挖掘,二部图挖掘等;
- 向量召回,各种Embedding(Word2vec、BERT、双塔模型)通过Faiss快速计算相似度召回
对向量召回有兴趣的可以看下往期文章<是"塔"!是"塔"!就是它,我们的双塔>。
同时,工业界推荐系统中,在Ranking阶段,常用的模型如下:
Ranking相关综述型总结可读一下一些两篇文章:<CTR预估系列炼丹入门手册>和<CTR预估总结>
混排,在Matching和Ranking之后,比较常见的方法是通过计分公式,将需要考虑的不同类型的内容指标,进行统一的度量,用最后得分Score来进行流量分配。
问题定义
解决混排问题,首先我们要通过可量化的方式将具体问题定义出来。
混排问题可以定义为在保证A指标的前提下,最大化B指标。
业务逻辑限制
混排除了不同类型的内容通过一定的方法进行最大利益化的展示之外。可能还存在着其他业务逻辑上的限制。比如,在内容流的推荐中,相同作者不能被连续几屏进行推荐、相同类型的内容不能连续被推荐展示(广告投放时,连续出现广告会影响用户的使用体验)等。
论文中,出现的业务逻辑限制是任意两个广告之间在展示上间隔k个位置,具体的在下文的Gap Effect中具体讨论。
这种限制的存在,一方面是从用户的体验角度出发,保证推荐生态的良性运作;另一方面是从各项指标出发,过分的放大某一点,会导致其他指标的下降,从而影响整个流量场中的整体收益。
Position Bias与Gap Effect
放广告的位置间隔,在混排机制中是不得不去考虑的问题。从上图我们可以看到,随着Gap位置的增加CTR的变化情况。
在设计混排机制时,比如流量带货推荐场景下,需要考虑到CVR转化率不能低于某个值,否则会影响业务收入;当然,如果是满屏的带货,不考虑两个带货位置间的gap,用户在内容流上的CTR和停留时长会变得异常难看,甚至会增加流失。
同时,如果用户指标
分布和广告指标
的分布差异很大,也会对排序结果有影响。
公式推导
相较于原论文过多的细节,这里分享一下yymWater@zhihu同学的公式推导,如果想了解每一步,可以看下论文第四章的内容。
针对信息流里一次用户请求,我们假设可展示的位置有
个,可候选的Item(例如文章、视频、广告、商品)有
个,
表示第
个位置展示第
个item的概率,
表示第
个位置展示第
个item时用户指标,
表示第
个位置展示第
个item时商业指标,针对推荐结果其商业侧指标为0。
问题定义
问题定义为在保证用户侧指标的前提下最大化商业侧指标,其中目标函数中增加后面一项从而变成强凸。
可看做是一个基准的分配方案,希望最优解不偏离
太多。
转换形式可得原问题:
原问题的拉格朗日函数:
对
对
求导,可得
。这里为了后续方便引入了
。
问题求解
下面讨论如何求解得到
。
首先有一个推论:
在最优解中,如果有
和
,则有
。
根据KKT条件可得,
如果
则有
,
因此如果有
很容易得到
。
给定
,针对
个商品,对
排序后有
。
存在
满足
,对于
有
,对于
有
满足下面条件,可以从1遍历到
判断求出 。
混排Score公式
给定
,
的相对大小只和
有关(
固定,和item无关),而且实际中只能有整数解。
所以最终按
进行排序即可,选择最大的
对应的item放到位置
上。
实验效果
线上效果
参考文献
- Ads Allocation in Feed via Constrained Optimization
- https://dl.acm.org/doi/pdf/10.1145/3394486.3403391
- https://zhuanlan.zhihu.com/p/345828169
- https://www.zhihu.com/people/yuconan/posts