今天给大家分享京东的一篇CTR预估的论文,用于建模页面上下文(用户感知到的其他展示的item)对于目标item是否点击的影响。但是在精排阶段,往往采用point-wise预估的方式,准确的上下文信息是难以获取的,因此往往需要一个模拟的过程。接下来,我们一起看下本文提出的方法是怎么实现的吧。
1、背景
在搜索广告场景,所有的候选item往往都与用户的搜索关键词相关,而在用户的决策过程中,对于某个目标的item,用户往往会将其与其他的感知到的item进行比较。如果一个item相较于其他的item有突出的亮点,如更经济实惠,那么往往更能吸引用户的注意力,从而点击率更高。相比之下,如果一个item没有太多特色,往往很难吸引用户的注意力,则不容易被点击。
但是在精排阶段,往往采用point-wise的预估方式,用户感知到的上下文item信息是无法获取到的,需要采取一些方式进行模拟。为了解决这一问题,本文提出了CIM (Candidate Item Modeling)框架,包含Select、CIE和backbone三个模块,一起来看一下CIM框架的具体内容。
2、CIM框架介绍
2.1 CIM概览
可以看到,CIM主要包含三个模块,分别是Select、CIE和backbone。其中,Select模块用于建模所有候选item的曝光概率,CIE模块建模用户感知到的其他候选items与当前目标item的影响,Backbone模块可以引入当前最先进的CTR预估框架,来对点击率做出合理的预估。接下来,对这三个模块进行分别的介绍。
2.2 Select模块
Select模块用于建模粗排阶段保留的所有候选item的曝光概率,可以算作是一种对上下文item信息的模拟。Select可以是一个简单的多层全连接神经网络,得到候选集中每一个候选item的曝光概率。Select模块对于一个请求来说,需要在精排预估前进行提前预估。
为了使得预估更准确,论文也是引入了曝光的辅助损失(曝光label为1,未曝光label为0),会在后续进行介绍。
2.3 CIE模块
CIE模块式CIM框架的核心部分,针对每一个候选item,将用户感知的所有item建模为一个上下文向量:
CIE模块采用了Transformer的架构,在输入Encoder前,会将每个候选item的embedding乘上其在select模块得到的曝光概率。而在Decoder阶段,使用target-attention建模用户感知到的其他item对于当前目标item的影响,与目标item相关性更高的item会有更高的权重,并加权得到上下文向量。
2.4 backbone模块
backbone是点击率预估模块,可以引入当前最先进的点击率预估框架,其输入包括用户特征,搜索query特征,目标item特征以及CIE模块得到的上下文向量。
2.5 优化目标
论文的损失函数包含两部分,一方面是点击率损失,另一方面是Select模块的曝光概率预估损失:
两部分均采用logloss的形式。
3、实验结果及分析
最后来看一下实验部分,论文将CIM应用在了不同的点击率预估模型中,其中下表中CI代表不使用Select模块,SM表示完整的CIM,可以看到,完整的CIM在应用在不同的点击率预估模型上,均取得了相应的效果的提升:
好了,论文就介绍到这里了,论文的出发点还是比较合理的,其做法也具有有一定的借鉴意义。