美团到店广告负责美团搜索流量的商业变现,服务于到店餐饮、休娱亲子、丽人医美、酒店旅游等众多本地生活服务商家。质量预估团队负责广告系统中CTR/CVR以及客单价/交易额等质量分预估,在过去几年中,我们通过位次上下文建模[1]、时空超长序列建模[2]等创新技术,在CTR预估问题中的用户、上下文等方向都取得了一些突破[3],并整理成论文发表在SIGIR、ICDE、CIKM等国际会议上。
不过以上论文重在模型精度,而模型精度与广告候选共同决定着排序系统的质量。但在广告候选角度,相比于传统电商的候选集合,美团搜索广告因LBS(Location Based Services, 基于位置的服务)的限制,所以在某些类目上门店候选较少,而候选较少又严重制约了整个排序系统的潜力空间。当用传统方式来增加候选数量的方法无法取得收益时,我们考虑将广告候选进行扩展与优化,以期提升本地生活场景排序系统的潜能上限。
单一的门店广告不足以满足用户找商品、找服务的细粒度意图诉求。部分场景将商品广告作为门店广告的候选补充,两者以竞争方式来确定展示广告样式;此外,还有部分场景商品广告以下挂形式同门店广告进行组合展示。多种形式的异构广告展示样式,给到店广告技术团队带来了机遇与挑战,我们根据业务场景特点,针对性地对异构广告进行了混排优化。下文以美团结婚频道页和美团首页搜索为例,分别介绍两类典型异构混排广告:竞争关系异构广告和组合关系异构广告。
目前,搜索广告模型线上为基于DNN(深度神经网络)[4-6]的门店粒度排序模型,门店候选数量受限(约150)且缺失商品等更直接且重要的决策信息。因此,我们将商品广告作为门店的候选补充,通过门店与门店下多商品的混排打开候选空间,候选量可以达到1500+。此外,考虑广告上下文影响,同时进一步扩展打分候选以提升排序上限,我们将门店粒度升级为异构广告组合粒度的排序,基于此构建生成式广告组合预估系统,候选极限达到了1500X(考虑线上性能我们最终选择1500X)。而在探索过程中,我们遇到了以下三大挑战:
针对上述挑战,技术团队经过思考与实践,分别进行如下针对性的优化:
目前,高性能异构混排和生成式广告组合预估已经在多个广告场景落地,视场景业务不同,在衡量广告营收的千次广告展示收益(RPM,Revenue Per Mille)指标上提升了4%~15%。异构广告冷启动优化在各业务生效,在精度不下降的前提下给予流量10%随机性。下文将会对我们的具体做法进行详细的介绍。
打分粒度从门店下沉为商品后,排序候选量从150增加到1500+,带来排序潜力提升的同时,如果使用门店模型直接进行商品预估,则会给线上带来无法承担的耗时增加。通过分析,我们发现门店下所有商品共享门店基础特征,占用了80%以上的网络计算,但对于多个商品只需要计算一次,而商品独有的、需要独立计算的商品特征只占用20%的网络计算。所以基于这个特性,我们参照组合预估[7]的做法,来实现异构混排网络。主网络的高复杂性门店表征通过共有表达的迁移学习,实现对门店网络输出层的复用,从而避免在进行商品预估时对门店网络的重复计算。
如下图4所示,整个网络分为门店网络和商品网络。在离线训练阶段,门店网络(主网络)以门店特征作为输入,得到门店的输出层,计算门店Loss,更新门店网络;商品网络(bias网络)以商品特征为输入,得到商品输出层,与门店网络的输出层门店向量作CONCAT操作,然后计算最终的商品Loss,并同时更新门店网络和商品网络。
为了实现线上预估时对门店网络输出层的复用,我们将商品以List的方式喂入模型,实现请求一次打分服务,获得1(门店)+n(商品)个预估值。另外,对于门店的商品数不固定这一问题,我们通过维度动态转换的方式保证维度对齐。实现保持网络规模情况下扩大了10倍打分量,同时请求耗时仅增加了1%。
通过异构混排网络,我们在性能约束下得到了门店和各个商品的预估值,但是由于广告出口仍然以门店作为单元进行计费排序,所以我们需要根据不同业务场景特点进行预估值应用。为了描述方便,下文中用“P门店”代表门店的预估值,“P商品_i”代表第i个商品的预估值。
筛选频道页的竞争关系异构广告
首页搜索的组合关系异构广告
虽然系统整体架构相似,但是因使用场景不同,样本生成方式也不同,模型最终输出的P商品有着不同的物理含义。在竞争关系广告中,P商品作为和门店并列的另一种展示类型;组合关系广告中,P商品则为门店广告展示信息的补充,因此也有着不同预估值的应用方式。最终高性能异构混排系统在多个广告场景落地,视场景业务不同,RPM提升范围在2%~15%之间。
在商品列表中,商品的点击率除了受到其本身质量的影响外,还会受到其上下展示商品的影响。例如,当商品的上下文质量更高时,用户更倾向于点击商品的上下文,而当商品上下文质量较低时,用户则倾向于点击该商品,这种决策差异会累积到训练数据中,从而形成上下文偏置。而消除训练数据中存在的上下文偏置,有利于更好地定位用户意图以及维护广告系统的生态,因此我们参照列表排序的思路[8-9],构建生成式商品排序系统,建模商品上下文信息。
获取上下文信号可以通过预估商品列表的全排列,但是全排列的打分量极大(商品候选数10的全排列打分数为10!=21,772,800)。为了在耗时允许的情况下获取上下文信号,我们采用二次预估的方式对全排列结果进行剪枝。首次预估时采用Base模型打分,仅取Top N商品进行排列,二次预估时再利用上下文模型对排列的所有结果进行打分。将全排列的打分量从10!减少到N!(在线上,我们选择的N为3)。
但是二次预估会给服务带来无法承受的RPC耗时,为了在性能的约束下上线,我们在TensorFlow内部实现了二次预估模块。如下图5所示,我们最终实现了基于剪枝的高性能组合预估系统,整体耗时和基线持平。
通过剪枝和TF算子,任一商品输入可以感知其上下文信号。为了建模上下文信息,我们提出基于Transformer的上下文自适应感知模型。模型结构如图6所示:
为了避免马太效应,我们也会主动试探用户新的兴趣点,主动推荐新的商品来发掘有潜力的优质商品。我们在模型上线前,通过随机展示的方式来挖掘用户感兴趣的商品。但是给用户展示的机会是有限的,展示用户历史喜欢的商品,以及探索用户新兴趣都会占用宝贵的展示机会,此外,完全的随机展示从CTR/PRS等效果上看会有较为明显的下降,所以我们考虑通过更合理的方式来解决“探索与利用”问题。
相对于传统随机展示的E&E算法,我们采用基于汤普森采样的Exploration算法[10],这样可以合理地控制精度损失,避免因部分流量进行Exploration分桶的bias问题。汤普森采样是一种经典启发式E&E算法,核心思路可以概况为,给历史曝光数(HI,Historical Impressions)较多的商品较低的随机性,历史曝光较少的商品给予较高的随机性。具体的做法是我们使商品的预估值(pCTR)服从一个beta(a,b)分布,其中:
$${\frac{{a}}{{a+b}}=p} ,a + b = n $$
其中p是以pCTR为自变量的函数,n是以EI为自变量的函数。根据经验,我们最终使用的函数为:
$${n=hyperN*\text{(}log\mathop{{}}\nolimits_{{10}}\text{(}HI+10\text{))}\mathop{{}}\nolimits^{{2}}} ,p = hyperP * pCTR$$
我们通过调节hyperP和hyperN两个参数来控制最终呈现结果的随机性。如下图7所示,action1相比action2分布的均值更高,action3相比另外两个分布的随机性更强。较高的随机性可能会带来准确性的下降,我们通过参数离线模拟,确定全量版本的超参数。最终上线的模型在精度和效果没有下降的前提下,展示的商品有10%的随机性。
异构混排和广告组合预估有效地解决了LBS限制下门店候选较少的问题。对于前文介绍的两类典型异构广告:竞争关系异构广告和组合关系异构广告,我们根据其展示样式和业务特点,将相应的技术探索均进行了落地,并取得了一定的效果。如下图8所示:
本文介绍了美团到店搜索广告业务中异构广告混排的探索与实践,我们通过高性能的异构混排网络来应对性能挑战,并根据业务特点对异构预估进行了应用。为了建模广告的上下文信息,我们将商品预估流程由单点预估升级为组合预估模式,并提出上下文组合预估模型,建模商品位次及上下文信息,然后,通过基于汤普森算法的E&E策略对商品冷启动问题进行了优化,在多个场景均取得了一定的成果。近期,已经有越来越多业务场景开始了展示样式的升级,例如美食类目由门店调整为菜品广告,酒店类目由门店调整为房型展示,本文提到的方案与技术也在逐步的推广落地过程中。
值得一提的是,相比于美团以门店作为广告主体,业界的广告主体以商品和内容为主,本文提到的共有表达迁移和生成式组合预估的技巧,可以应用在商品和创意的组合问题上,更进一步拓展候选规模。
广告异构混排项目也是从业务视角出发,勇于打破原来迭代框架下的一次重要尝试。我们希望该项目能够通过技术手段来解决业务问题,然后再通过业务理解反推技术的进步。此外,我们也将在广告候选问题上进行更多的探索,寻找新的突破点,从而进一步设计更完善的网络结构,不断释放排序系统的潜力空间。
美团到店事业群广告平台算法团队全面负责所有到店相关业务的广告算法优化,在保证用户体验和广告商户ROI的前提下,持续提升商业流量的变现效率。主要技术方向包括触发策略、质量预估、机制设计、创意生成、创意优选、反作弊、商家策略等。团队的技术氛围浓厚,通过对前沿技术不断突破,以驱动业务持续发展。团队视人才培养,具备完善成熟的培养机制,帮助大家快速成长。
感兴趣的同学可投递简历至:chengxiuying@meituan.com(邮件标题请注明:广平算法团队)。