很多应用通常都需要用定向展示广告来进行获客,对信用卡广告来说,由于用户转化存在较长的链路,持续有效的获客比传统广告更具挑战性。本文结合美团联名信用卡业务中的具体实践,以及今年发表在KDD 2021上的论文,介绍了一种自适应信息迁移多任务(AITM)框架,通过该框架可建模用户多步转化之间的序列依赖关系,并提高端到端获客转化率。希望能对从事相关研究的同学有所帮助或者启发。
一、摘要
很多应用通常都需要用定向展示广告来获客,比如电子商务平台或者金融应用。随着这类应用的爆炸式增长,如何进行持续有效的获客,已经成为现实世界中这些大规模应用最大的挑战之一。在这些应用中,获客通常是一个用户多步转化的过程。例如在电子商务平台中,用户转化通常表现为一个曝光->点击->购买的过程。而在金融广告,比如信用卡业务中,用户转化通常是一个曝光->点击->申请->核卡->激活的过程。所以,信用卡广告中获客比传统广告更加具有挑战性:
- 用户多步转化过程中的路径序列依赖更长。
- 在多步转化的长序列依赖中,正反馈(正样本)是逐步稀疏的,类别不平衡越来越严重。
在美团的信用卡业务中,我们通常希望用户能完成最后两个转化阶段(即曝光->核卡、曝光->激活),这才被认为是有效转化。因此,用前边任务的丰富的正样本信息,来缓解后续任务的类别不平衡问题是很有必要的。而在这个方向上,多任务学习是一个提高端到端获客转化率的典型解决方案。
二、背景介绍
在我们的信用卡业务中:
- 曝光(Impression):意味着广告被展示给了特定的用户,这些用户是根据一些排序指标选中的,比如CTR、CVR等等。
- 点击(Click):用户如果对这个广告内容感兴趣的话,他会点击这个广告,点击后,就会进入申请表格页。
- 申请(Application):进入申请表格页后用户可以填写申请表格,并且点击申请按钮来申请一张信用卡。
- 核卡(Approval):也称授信,意味着用户信用良好,通过申请并被授予了一定的信用卡额度。在我们的系统中,这在多数情况下也是一个系统实时判断的过程。
- 激活(Activation):用户在授信并且收到邮寄的信用卡之后,可以激活信用卡并使用。是否激活的标签通常比较难获得,因为信用卡邮寄需要一定的时间,而且用户主动去激活也需要一定的表现期,所以这里类别不平衡更为严重。在这里,我们通常看用户是否会在核卡后14天内激活信用卡。
以上的转化步骤有序列依赖,这意味着只有前一个步骤发生了,后一个步骤才可能发生。基于这个约束,用户只可能有5个不同的转化阶段如下图所示:
在工业界和学术界,多任务学习是一个提高端到端获客转化率的典型解决方案。近年来,在多任务学习中建模任务间关系的研究取得了很大的进展。我们将这些主要研究分为两大类:
1)控制多任务模型底部的专家模块如何在任务间参数共享[1,2,3],顶部的多塔模块分别处理每个任务,正如图3(a)所示,我们称这一类为**专家底(Expert-Bottom)**模式。然而,专家底模式只能在任务间传递浅层表示,但在靠近输出层的网络中往往包含更丰富、更有用的表示[4,5],这已被证明能带来更多的增益[6]。另外,由于专家底模式不是专门为具有序列依赖的任务设计的,因此这些具有专家底模式的模型不能显式地对序列依赖进行建模。
2)在不同任务的输出层中迁移概率[7,8,9,10],如图3(b)所示,我们称之为**概率迁移(Probability-Transfer)**模式。概率迁移模式只能通过标量乘积传递简单的概率信息,而忽略了向量空间中更丰富、更有用的表示,导致了信息的损失。如果其中任何一个概率没有被准确预测,多个任务将会受到影响。
本文针对序列依赖任务,提出了一种自适应信息迁移多任务(Adaptive Information Transfer Multi-task,AITM)框架,该框架通过自适应信息迁移(AIT)模块对用户多步转化之间的序列依赖进行建模。AIT模块可以自适应地学习在不同的转化阶段需要迁移什么和迁移多少信息。此外,通过在损失函数中加入行为期望校准器,AITM框架可以更准确地识别端到端转化。该框架被部署在美团App中,利用它来为对美团联名卡有高转化率的用户实时展示联名卡广告。
三、系统概览
上图给出了一个多任务排序系统示意图。在我们的信用卡业务中,除了被动的曝光步骤外,我们建模了四个任务。其中核卡、激活是主要任务,点击、申请是辅助任务。这是因为如果用户只完成了点击和申请步骤,而核卡步骤还没有完成,那么就不是一次有效转化,就会造成资源的浪费(例如计算和流量资源)。因此,我们主要关注最后两个端到端的转化任务,即曝光->核卡和曝光->激活。由于后两个任务的正样本数较少,且激活是延迟反馈的,而前两个辅助任务的正样本数较多,因此可以通过前两个任务来缓解后两个任务的类别不平衡问题。
另外,美团联名信用卡是与不同的银行合作发行的,不同的银行处于不同的业务发展阶段,因此对核卡和激活有不同的要求。信用卡业务刚刚起步的银行往往希望发行更多的信用卡以迅速占领市场,而发展成熟的银行则希望提高激活率以实现快速盈利。因此,我们的系统中有一个选择器,可以为不同的银行输出不同的转化目标,多任务框架可以很好地处理不同的业务需求。
此外,由于美团不同的业务都需要流量来为各自业务获客,而且不同用户对不同业务的兴趣也不同,所以不能简单地将流量划分给不同的业务。我们需要一个多业务排序机制来分配流量从而最大化整体的利益。
四、模型介绍
上图(c)中展示了我们提出的AITM框架。该框架利用AIT模块来建模用户多步转化过程中的序列依赖。这个模型图显示了两个相邻的任务:和。
首先,输入特征经过任务共享的Embedding分别输出到多个Tower网络中。通过共享Embedding模块,一方面可以用前边任务的丰富的正样本信息来学习Embedding表示,从而缓解后续任务的类别不平衡问题,另一方面可以减少模型参数。Tower网络可以根据自己需要定制,这里我们只使用了简单的MLP。然后,AIT模块利用当前任务Tower输出的向量以及前一个任务传来的信息来学习任务间如何融合信息。AIT模块如下定义: