如果非要在推荐系统里找出机器学习最能大展拳脚的领域,那一定是排序部分。同属于推荐系统的召回和重排序,其算法基本上都可以用规则或者策略的方式平替,虽然效果不一定好,但可以支撑业务的正常运转。然而对于排序这一部分,可以说就是天然为了模型而生的,只有模型化的排序,才可能为广告系统和排序系统带来大的收益。
由于排序模型在推荐和广告领域有着举足轻重的地位。本章里,我们不谈具体排序方法,先从整体对排序模型进行概要了解。
排序模型的重要性
为什么排序如此重要?在广告系统中,早期排序是完全面向点击率的。按点击付费的广告,哪怕提升百分之一的点击率,都会带来大量真金白银。一次用户请求中带过来的广告位,通常只有一个(最多三个),为有限的资源位筛选出最可能带来点击的广告,是广告系统的重中之重。因此,早期广告领域的模型工程师,基本都在孜孜不倦地研究如何在排序系统中不断提升点击率。而推荐系统其实是对广告系统的沿袭,虽然推荐系统返回结果要远多于广告系统(通常有十几到几十条条),但头几条内容的作用仍然举足轻重。尤其是对新用户来说,能否吸引用户持续消费,成败可谓在此一举。
我们在最早的文章里,介绍过推荐系统线上推荐的流程:召回阶段会将全库数据精简到几十到几百个,再由排序模型进行排序,接着会根据业务逻辑重排序,最终将截断的结果呈现给用户。如果召回阶段返回了几百上千个物品,而排序性能不足以在短时间内完成,那么中间还会插入粗排模型,一般粗排模型可以看作是精排模型的精简版,或使用更少的特征,或使用更浅的网络,总之,保证系统在极短时间内能快速排完并截断,然后将结果送给精排模型。
后面的几章,笔者会介绍若干工业实践中常用的排序模型。如无特殊说明,我们所指的排序,都是指精排。
排序模型的目标
点击率排序
明确排序模型的目标之前,我们先了解下排序模型属于哪种机器学习任务。通常来说,有标签指导的主流机器学习模型大致分为两类:分类任务和回归任务(提一句,近些年兴起的强化学习并不在其中,算是第三类)。其中,分类任务是针对离散值,预测样本属于哪个或哪几个标签,常见场景如图片分类、商品类别识别、文章情感识别等;而回归任务则是针对连续值,预测样本的输出值,常见场景如房价预测、票房预测、外卖时间预估等。
那么排序模型属于哪种任务呢?既然是模型用于排序,那自然需要排序标准。业界最为常用的标准便是点击率(CTR),因此通常称排序模型为CTR模型。CTR模型以当前用户对于当前物品点击和未点击来设计目标,因此,排序模型便可看作是二元分类模型。在早期,逻辑回归模型(Logistics Regression,LR)被应用于来训练点击率指标----逻辑回归虽名为回归,其实属于分类任务。它在训练时使用二元分类目标,预测时则输出点击的概率,从而根据概率来排序项目。
多目标排序
广告的收益取决于点击和单次广告出价。因此点击率高,就意味着收益的水涨船高。但对于推荐系统来说,仅考虑点击率,则会带来较多问题。比如发布者使用美女图,或UC震惊体来诱导点击,等。一般情况下,推荐系统希望在提升用户点击率的基础上,同时提高用户的关注、点赞、评论等交互行为,从而维护良好的社区氛围。即使对于广告,只关注点击,而不关心转化,则给平台带来收益的同时,伤害的是广告主的利益。因此,多目标学习(Multi-task)这种“既要又要”的诉求,会大量存在于广告和推荐系里。
广告领域里,重排阶段广告最终排序的公式是:ecpm=pctrk∗bidecpm = pctr^k * bidecpm=pctrk∗bid,其中,pctr是预估CTR,由精排模型给出,bid是广告主出价。这个公式可以看作多目标任务的简单实现。它同时考虑了广告质量(CTR)和价格(bid)。公式中,k是价格挤压因子,通过对k的调节,增大或缩小排序公式中CTR部分的重要度。当k趋近于无穷时,相当于只根据点击率来排序;k为0时,相当于只根据bid来排序。根据不同时期业务需求,通过k来调整广告的排序目标:对广告质量有较高要求时,则增大CTR的比重;月底或季度底,需要对广告预算冲消费时,则减小CTR的比重。
上面这种方式其实就是多目标调和的方式,但它只是最简单的一种思路。实际上,如何更合理、更深度地融合多目标,是工业界,也是学术界对于排序研究的一个主流方向。其思路可大体分为两类:线上多目标融合和线下的多任务学习。
-
线上多目标融合:
线上多目标融合是把融合的时机放在模型预测之后。线下先按照目标各自训练模型,线上每个模型分别预测打分,乘以各自权重,继而进行加和或乘积汇总。通常采用如下公式:y=∑i=1kbi∗(ai+yi)y=∏i=1k(ai+yi)bi \begin{align} y = \sum_{i = 1}^{k}{b_i * (a_i + y_i)} \\ y = \prod_{i=1}^{k}{(a_i+y_i)^{b_i}} \end{align} y=i=1∑kbi∗(a

排序模型在推荐系统和广告领域扮演关键角色,尤其对于CTR(点击率)的优化。早期的排序模型如逻辑回归(LR)逐渐发展到包含多目标排序,以平衡点击率和其他交互行为。线上多目标融合和线下多任务学习是处理多目标问题的两种策略。现代模型如深度学习的Wide+Deep模型进一步提升了排序性能。文章探讨了模型的演变和各种方法的优劣,强调理解模型历史对未来发展的重要性。
1823

被折叠的 条评论
为什么被折叠?



