APP下载

基于广告与用户相似度的点击率预估模型

2022-04-09杨泽平吴巨聪熊文龙刘诗薇王恒岩

电脑知识与技术 2022年6期

杨泽平 吴巨聪 熊文龙 刘诗薇 王恒岩

摘要:点击率预估是广告推荐系统中的一个重要方向,现有的点击率预估模型大多是基于特征feature与CTR之间的关系预测一条广告是否被用户点击,但是仍有许多能提高点击率模型性能的信息被忽略。文章提出了一种基于广告特征与用户特征相似度的模型,该模型在DeepFM点击率预测算法的基础上,增加了一个能够拟合广告特征与用户特征之间关系的模块,即Match Subnet。在训练时,将此模块与DeepFM一起进行训练,但是在预测时,只用DeepFM进行预测,在公共数据集上对比了两种模型,发现添加了拟合用户特征与广告特征关系的模块后,相比原算法有了更好表现。

关键词:广告点击率;DeepFM;Match Subnet;用户特征;广告特征

中图分类号:TP183        文献标识码:A

文章编号:1009-3044(2022)06-0076-03

开放科学(资源服务)标识码(OSID):

广告点击率(Click-Through Rate,CTR)预测在学术界和工业界都是一个比较重要的问题,传统的点击率预测算法,利用逻辑回归(Logistic Regression)拟合的是特征与CTR之间的线性关系[1],后来考虑到二阶特征组合对CTR的影响,提出因子分解机模型(Factorization Machine)[2]。近些年,随着深度学习的兴起,将深度学习带入到点击率预测中,比如:使用DNN自动学习高阶特征组合对CTR的影响[3],将逻辑回归(LR)与DNN进行组合的Wide & Deep,将因子分解机(FM)与DNN组合提升模型记忆能力的DeepFM等。

以上主流的点击率预测算法学习,基本是特征与CTR间的关系,但是同样包含重要信息的特征与特征之间的关系却被忽略了。基于以上问题,阿里团队提出了DeepMCP模型[4],该模型在DNN的基础上增加了能够学习广告特征与用户特征之间关系的模块(Match Subnet),以及能够学习广告特征与广告特征之间关系的模块(Correlation Subnet)。该模型在两个公共数据集上的表现均好于其他主流的点击率预估算法。

本文提出了DeepMFM模型,基于DeepMCP模型,在DeepFM的基础上,增加Match Subnet模块来学习广告特征与用户特征之间的关系,并且在相同的数据集上进行对比,证明该模型能够有效地提升点击率预测的精度。

1 DeepMFM模型

本节内容将详细介绍DeepMFM模型,如图1所示。。首先介绍Embedding部分,然后再分别介绍预测的DeepFM模块以及Match Subnet模块。

1.1 特征的表征

首先将特征分为四个部分,分别是:用户特征(User-features),即用户的id和用户的年龄等;查询特征(Query-features),即具体的查询或类别查询等;广告特征(Ad-features),即广告的标题、广告id等;其他特征(Other-features),即时间特征等。

其中DeepFM部分用到了全部的特征,而Match Subnet部分只用到了用户特征、查询特征以及广告特征。

1.2 Embedding

首先一个特征[xi∈R],经过Embedding层之后转换成其对应的embedding向量[ei∈Rk],其中[k]是向量的维度。然后再将所有的特征Embedding集合成一个Embedding矩阵[E∈Rn×k],其中[n]是特征的数量。

1.3 DeepFM层

Embedding矩阵会先转换成一个长向量[m],向量[m]的长度为[n×k],其中[n]是特征的数量,[k]是Embedding的维度,DeepFM层中的Deep部分的输入是[m]向量,而FM部分输入的是经过处理后的数据。

1.3.1 FM层

FM部分是一个因子分解机[5],可以同时学习低阶和高阶的组合特征,在学习特征之间线性关系的基础上,因子分解机提出用一对特征中,各自的特征隐向量的内积来捕捉特征之间的二阶交互:

[yFM=<w,x>+n1=1dn2=n1+1d<Vi,Vj>xn1⋅xn2]

其中[<w,x>]反應的是一阶特征,[w∈Rd],[Vi]和[Vj]分别是[xn1]和[xn2]的因向量,一阶特征后面的部分属于是二阶特征交互,[yFM]是[FM]层的输出。

1.3.2 DNN层

DNN部分就是一个前向反馈网络,用来学习高阶的特征交互,[m]向量会首先进入两个全连接层,对每一层全连接层,都用了一个dropout[6]。在特征学习期间,通过将一部分隐藏单元设置为0,防止过拟合,最后再经过一个sigmoid的输出单元,得到DNN部分的CTR预估值:

[yDNN=LH+1=σ(WHLH+bH)]

其中[H]是全连接的数量。

1.3.3 DeepFM层的输出

将DNN的输出和FM部分的输出拼接在一起,然后再用sigmoid函数得到DeepFM层的输出:

[y=sigmoid(yDNN+yFM)]

其中[yDNN]是DNN部分的输出,[yFM]是[FM]部分的输出。

1.3.4 损失函数

选择交叉熵损失函数作为该部分的损失函数:

[lossp=-1Υy∈Υ[ylogy+(1-y)log(1-y)]]

其中[y∈{0,1}],是否点击目标广告的真实标签。

1.4 Match SubNet

Match SubNet是受到网络搜索语义匹配模型的启发[7],模块模拟的是用户和广告之间的关系,即一条广告是否与用户的兴趣匹配,目的是学习到有用的用户和广告表征。

当用户点击了一个广告,假设点击的广告至少有一部分是与用户的需求相关的,所以希望用户特征的表征和广告特征的表征能够更好地匹配。

1.4.1 输入

Match SubNet的输入分为两个部分,其中User-features和Query-features经过Embedding之后,组合成一个长向量[mu∈RNu],代表的是用户特征。而Ad-features经过Embedding后,相似的轉换成长向量[ma∈RNa],其中[Na]是向量的维度,代表广告特征。

1.4.2 user部分

首先[mu]经过两层全连接层,学习更抽象和更高阶的特征表示,其中第一层使用的是relu激活函数,第二层使用的是tanh激活函数,[tanh(x)=1-exp(-2x)1+exp(-2x)]。

最后user部分的输出,是高阶的用户部分的表示向量Vu∈Rm,其中[m]是向量维度。

1.4.3 ad部分

相似的[ma]经过两层全连接层,第一层使用的是relu激活函数,第二层用的是tanh激活函数,得到高阶的广告表示向量[Va∈Rm],其中[m]是向量的维度。

值得注意的是,因为用户的特征数量和广告的特征数量可能并不相等,所以用户部分输入的长度和广告部分输入的长度并不相等,即[Nu≠Na],但是经过Match Subnet后,得到用户特征的表征[vu]和广告特征的表征[va]的长度是一样的,即将两种不同的特征映射到了一个公共的低维空间中。

1.4.4 输出

将最后广告部分和用户部分经过一个公式得到两部分的匹配分数:

[s(va,vu)=11+exp(vTuva)]

其中,如果用户[u]点击了广告[a],则[s(va,vu)→1],否则[s(va,vu)→0],在这里,解释了为什么第二层全连接层的激活函数使用的是tanh,而不是relu,因为如果使用relu激活函数,输出会包含大量的0,导致[vTuva→0]。

1.4.5 损失函数

将最小化Match Subnet的损失函数如下:

[lossm=-1Υy∈Υ[y(u,a)logs(vu,va)+(1-y(u,a))log(1-s(vu,va))]]

其中如果用户[u]点击了广告[a],则[y(u,a)=1],否则[y(u,a)=0]。

1.5 损失函数

最终DeepFMF的联合损失函数如下:

[loss=lossp+αlossm]

其中[lossp]是DeepFM部分的损失函数,[lossm]是Match Subnet部分的损失函数,[α]是平衡DeepFM和Match Subnet的超参数。

2 实验部分

本文采用点击率领域中常用的公开数据集Criteo,在该数据集上进行了对比试验,比较了DNN、DeepFM、DeepMP(DNN与Match Subnet结合)以及DeepMFM的表现,并且对该实验结果展开讨论。

2.1 数据集以及评价指标

本实验采用Criteo作为实验数据集,采用的评价指标是AUC[8]和logloss[9],其中AUC表示的是ROC曲线下与坐标轴围成的面积,其取值范围一般在0.5~1之间,AUC越接近1,说明模型的效果越好,AUC越接近0.5甚至在0.5之下,说明模型效果差。而logloss越小,模型的效果越好。

2.2 实验结果及分析

文章以DNN为参照,发现DeepFM的性能要比DNN好,因为增加了FM部分可以同时学习低阶和高阶的特征交互。同时在加了Match Subnet之后,模型的提升很显著,如果将DeepMP中的Prediction Subnet的DNN换成DeepFM的话,即DeepMFM,模型的性能也会有所提升。

3 结束语

本文提出了DeepMFM模型,其中包括用于预测的DeepFM模块和用于学习用户特征与广告特征的相似度来提升模型性能的Match Subnet模块,在DeepMP的基础上,将Prediction Subnet的DNN网络替换成了能够学习特征二阶交互的DeepFM网络。通过对比一些典型的点击率预测算法,在广告点击率预测数据集上进行实验,明显观察到DeepMFM的性能更好一些,可能是因为考虑到了用户和广告特征,并且DeepFM可以同时学习低阶和高阶的特征交互。

参考文献:

[1] Richardson M,Dominowska E,RagnoR.Predicting clicks:estimating the click-through rate for new ads[C]//WWW '07:Proceedings of the 16th international conference on World WideWeb.2007:521-530.

[2] Rendle S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.December13-17,2010,Sydney,NSW,Australia.IEEE,2010:995-1000.

[3] LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-444.

[4] Ouyang W T,Zhang X W,Ren S K,et al.Representation learning-assisted click-through rate prediction[C]//Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence.August10-16,2019.Macao,China.California:International Joint Conferences on Artificial IntelligenceOrganization,2019.

[5] Rendle S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.December13-17,2010,Sydney,NSW,Australia.IEEE,2010:995-1000.

[6] Srivastava N,Hinton G E,Krizhevsky A,et al.Dropout:asimple way to prevent neural networks from overfitting[J].Journal of Machine Learning Research,2014,15(1):1929-1958.

[7] Huang P S,He X D,Gao J F,et al.Learning deep structured semantic models for web search using clickthrough data[C]//CIKM'13:Proceedings of the 22nd ACM international conference on Information &Knowledge Management.2013:2333-2338.

[8] Lobo J M,Jiménez-Valverde A,Real R.AUC:a misleading measure of the performance of predictive distribution models[J].Global Ecologyand Biogeography,2008,17(2):145-151.

[9] Altun Y,Johnson M,Hofmann T.Investigating loss functions and optimization methods for discriminative learning of label sequences[C]//Proceedings of the 2003 conference on Empirical methods in natural language processing -.NotKnown.Morristown,NJ,USA:Association for Computational Linguistics,2003.

【通聯编辑:唐一东】