网络广告点击率预估的特征学习及技术研究进展
2019-10-16刘华玲恽文婧林蓓丁宇杰
刘华玲,恽文婧,林蓓,丁宇杰
(1.上海对外经贸大学统计与信息学院,上海201620;2.上海财经大学信息管理与工程学院,上海200433)
随着互联网技术的快速发展,广告形式趋于多样化,从线下发展到线上,网络广告作为互联网商业模式中的主流盈利模式,市场规模超过3 000亿。其中,搜索广告和电商广告在互联网广告中占比最高,以其巨大的商业和研究价值成为计算广告学备受关注的研究对象。
据艾瑞咨询发布的《2017年Q3中国网络广告及细分媒体市场数据发布研究报告》,搜索广告,包括关键字广告及联盟广告;电商广告,包括垂直搜索类广告和展示类广告[1]。搜索广告,根据用户主动输入的查询关键词获取用户意图和兴趣点,而展示类广告仅依据用户历史行为得到兴趣标签。谷歌在售卖关键词竞价广告产品AdWords时,通过给用户投放点击率高和出价高的广告来获得营收。淘宝直通车采用同样的eCPM排序方式,投放点击率较高的广告,提升卖家产品转化率,从而提高收益[2]。因此,点击率(click through tate,CTR)是衡量广告变现能力的一个重要指标。
如今,海量用户数据给网络广告的精准投放提供了可能,随着工业界和学术界对广告点击率转化问题的进一步研究,有必要对相关文献进行系统梳理,通过分析总结国内外广告点击率转化的研究现状,探讨针对提高广告投放中投资回报率(ROI)的研究展望。目前可见的关于广告点击率预估的文献综述有纪文迪等[3]的研究。笔者在“中国知网”以“点击率预估”“特征工程+广告”等作为主题和在arXiv电子预印本文献库以“CTR”为主题进行检索,对检索结果进行筛选,发现该领域文献的研究内容大致可分为4类:原始数据特点及解决方法、点击率预估的特征学习、点击率预估模型的构建、评价指标的选取(见图1)。
图1 网络广告点击率预估综述框架图Fig.1 The framework of online advertising click rate estimation review
1 关于网络广告原始数据特点的研究
网络广告原始数据具有高维稀疏性,且类别分布不均衡(正负比例相差较大)。下文将对此两特点进行分类综述。
1.1 特征数据高维稀疏
目前,主流的解决数据稀疏问题的方法有矩阵分解、机器学习算法、潜语义模型等。
张志强等[4]提出基于张量分解的方法实现特征降维。而矩阵分解是张量分解的特殊形式。潘博等[5]和魏晓航等[6]利用因子分解机模型(factorization machine models)自动拟合特征间的交互,该模型是由RENDLE[7]提出的一种基于矩阵分解的机器学习算法,该算法结合支持向量机和因子分解模型的优点,具有线性复杂度和普适性,再结合Bagging和Boosting的集成思想进行集成学习,来处理高维稀疏问题。JUAN等[8]提出了改进的FFM(field-aware factorization machine)模型,即在FM(factorization machine)模型中引入field的概念,将相同特征归为同一field。
巴麒龙[9]使用应对广告数据的稀疏特征学习方法(advertising data-oriented sparse feature learning method,ADoSFLM),以解决数据高维稀疏的特征学习问题。ADoSFLM方法包括数据降维、复杂特征学习和CTR预估模型3个环节,本文只讨论数据降维环节。该方法采用基于距离的K均值聚类算法对提供的大类数据(如搜搜某实验数据集中的查询和广告就是两大类数据,而天池某比赛数据集中的基础数据、广告商品信息、用户信息、上下文信息和店铺信息就是五大类数据)进行聚类,得到同一簇中对象相似度较高的初始聚合数据,各大类的聚类过程相互独立。张志强等[4]先对广告数据中相似对象进行聚类,然后对于不同类型对象之间存在的复杂关联关系,采用张量结构对其建模,并运用张量分解法得到近似张量。AGARWAL等[10]针对广告数据的高维多元可分层特性,提出了多层次Log线性模型。
朱志北等[11]提出LDA-FMs算法,首先对广告文档建立主题模型,使用该模型对训练集进行分割,得到的各子训练集中包含主题相似性较高的广告;其次,对不同主题下的训练集采用因子分解机预估模型,以解决数据的稀疏问题。YAN等[12]介绍了阿里所采用的对偶群(coupled group lasso,CGL)模型,利用group lasso分别正则化用户特征和广告特征参数,避免引入过大的关系矩阵。
1.2 不均衡分类
针对不平衡数据,大多解决方案为从数据角度出发,对原始数据集进行抽样,从而得到相对均衡的数据集。
潘博等[5]对正负样本分别进行采样,即正例进行全采样或过采样,负例进行欠采样,得到的多个数据集经转换后输入训练模型。施梦圜等[13]通过平衡采样删除大量负样本集,缩短训练时间,提升系统性能。刘冶等[14]通过二次采样来减缓样本不均衡带来的误差,具体做法是以远小于1的比例从原负样本集中选取部分负样本,以提高正样本在数据集中的比重。由于历史数据足够丰富,刘唐[15]直接从数据集中随机抽取400 000条正例和400 000条负例,将其平均分成训练集和测试集。杨程远[16]通过滑窗和下采样等方式解决正负样本极度不平衡的问题。
此外,百度的shooting算法[17]通过改进以往算法中迭代求解的方向和步长,来应对数据特征分布不均衡问题,实验结果比工业界常用的大规模优化算法LBFGS快10倍。
1.3 其 他
互联网数据中的广告点击或购买行为均呈现长尾分布,即只有少量商品被用户多次购买,而大部分商品的销量很少,甚至为0。巴麒龙[9]的实验数据统计结果显示,53.2%的广告未能得到充分展示,其中31.5%的广告的展示量为1次。基于此类过去稀疏的广告历史数据预估得到的点击率是不置信的,而广告数据本身体量庞大,因此,多篇文献中提到通过删减数据来应对该问题。
纪文迪[18]以天为单位,过滤掉购买任何商品的用户、被点击少于50次和购买次数少于10次的品牌。陈巧红等[19]认为,以device开头的特征数过多,所以产生了很多长尾特征,为了提高模型学习的稳定性,应适当过滤掉一些长尾特征值(如device_ip和device_id出现频次低于10次的特征样本)。巴麒龙[9]对用户性别未知、广告展示次数低于阈值的数据做了删除。刘唐[15]将数据集中所有总展示数不足100的广告记录和广告记录数排名前10%的广告商的所有记录过滤掉,目的是避免过多总展示数不足的广告影响结果,同时避免只考虑总展示数过多的广告。
2 关于网络广告点击率的特征研究
点击率是衡量访问网站、点击广告等事件次数占展示总次数(即看到广告的总人数)比例的指标,用百分比表示:
其中,hi表示第i次操作是否被点击,若该事件被点击则取值为1,否则取0。
大多文献中使用的实验数据集来自算法比赛,如:阿里移动推荐算法大赛、腾讯社交广告算法大赛、国际知识发现和数据挖掘竞赛(KDD-CUP)和kaggle竞赛。
在广告点击率预估问题中,特征工程决定预估模型性能的上限[20]。一般可以分为广告自身特征、用户特征、上下文特征、店铺特征等。特征处理,一般指特征提取及变换的过程,包括单特征提取、连续特征离散化、非线性变换、特征组合学习等[20]。
2.1 单特征处理
2.1.1 连续特征
如用户年龄、注册时长等,按照一定标准划分区间,将连续型变量转化为离散变量。
2.1.2 分类特征
通常情况下进行One-hot(独热)编码。对于取值较多的类别特征,如用户编号、商品编号等,直接对其进行One-hot编码会造成特征矩阵过大,徐田[21]通过统计id的一些统计量(如历史平均点击率、历史平均浏览率等)作为特征值代替id取值。
2.1.3 文本特征
如广告标题、产品描述等,用word2vec进行词向量训练,对训练得到的广告标题进行聚类,对聚类结果进行One-hot编码。付小飞[22]分析了大型门户网站的广告投放页面数据,其中广告推送页面为文本形式,用复杂最大匹配算法对广告页面进行分词处理,依据处理结果生成特征项集。
对所有广告而言,触发关键字的数量远远多于广告号的数量,因此,直接对关键字构建特征向量很有可能会出现“维灾难”。刘唐[15]以广告号建立特征向量,对广告触发关键字聚类,依据聚类结果对广告进行分类。此外,针对广告关键字这一特征,杨程远[16]用TFIDF(term frequency-inverse document frequency)计算用户检索词与广告标题、广告描述、广告购买关键字的相似性。HILLARD等[23]提出将搜索词拆分成单词和词组,然后分别计算平均点击率,进而得到搜索词与候选广告之间的关系。
2.1.4 多维统计特征
刘唐[15]从原始数据中提取出多维用户行为特征,如:点击主页商品的次数、点击商品详情页次数、收藏商品次数、浏览店铺数量、收藏商品数量、搜索展现商品总点击数、添加到购物车的商品数、下订单数量和支付订单数量等。
陈巧红等[19]用人工神经网络算法选取对广告点击率影响较大的重要特征,如:用户点击的整体广告排序,检索词长度,浏览器类型和广告的知名度等。
2.1.5 时间特征
常见的原始特征分类有基本特征和用户实时反馈特征,前述4类特征均属于基本特征,而用户实时反馈特征往往与时间有关,如用户距离上次点击广告的时间、距离上次见到广告的时间、用户在广告页的驻留时长等。
ZHOU等[24]认为,内外部环境的变化会影响用户对广告的兴趣,其程度会随时间的推移动态变化,在DIEN(deep interest evolution network)模型中通过加入时间-兴趣特征的提取部分,来抓取用户的实时偏好。
对于原始数据集中提供的时间戳属性,通常需要分离成年、月、日、小时、分钟、秒等多个维度,不同场景可选择不同维度。还可以将时间与其他特征结合创造出新特征,如“时间+地理位置”可得到时区这一新特征,提高变量的可解释性。
2.2 组合特征处理
特征之间存在高度非线性关联关系,复杂度高,人工选择特征方式由于组合特征耗时长、效率低而很少被人使用,目前较多选择的是通过模型算法自动学习新特征。
Facebook在2014年提出用GBDT(梯度提升决策树)模型挖掘具有区分性的特征并构建特征组合[25]。魏晓航等[6]和CHENG等[20]均基于GBDT模型对输入特征进行非线性转化,得到了高维特征,有益于提高模型性能和预估准确率。巴麒龙[9]使用的ADoSFLM方法中包含特征学习阶段,借助深度学习——栈式自编码网络算法(stacked auto encoder network,SAEN)的多层结构,学习特征之间的高度非线性关联关系。AGARWAL等[26]指出,LinkedIn的LASER系统中引入上下文信息,并利用笛卡尔积表示组合特征,可以有效解决推荐系统中的冷启动问题。CHAN等[27]在使用基于卷积神经网络(CNN)的模型来预测点击率时,考虑到特征学习得到的所有特征组合对可能对输出结果产生不同的影响,即特征组合对具有不同的优先性,因此通过贪心算法和随机生成方法,在模型嵌入层中生成了多特征序列。SONG等[28]改进了自注意神经网络(selfattentive neural networks),将高维特征学习自动化,并提高了模型的可解释性。
但是,自动化组合特征可能会造成过拟合和特征冗余,为了解决这一问题,谢桂林[29]基于待评估的单一特征对电商用户进行分类,若各类用户的召回率基本一致,则表明该特征对用户的区分性很弱,为无效特征,否则,该特征的区分性强,可以保留为主特征。实验证明:“最后一次购买的主类目”“最后一次购买时间在X天前”“注册时间”是能影响用户后续购买的区分性强的特征。而地域对后续的购买行为影响较小,属于不重要的特征,可剔除。
2.3 CTR影响因素
杨诚[30]研究了用户实时反馈对CTR的影响,即同一会话中用户当前的点击率与其先前行为是否呈高度相关性,分析了4个用户实时反馈因素与实时CTR的关系,见表1。
表1 用户实时反馈因素与实时CTR的关系Table 1 The relationship between users'real-time feedback factors and real-time CTR
巴麒龙[9]研究了广告位置对CTR的影响,认为排序越靠前的广告,点击率越高。这与JOACHIMS等[31]的研究结论相符,即排名第一位的广告占据绝对高可能性的点击概率。基于该结论,刘唐[15]将显式特征中的广告位置和广告深度(一页的展示广告总数)特征转化为隐式的广告相对位置,且相对位置与广告位置成反比、与广告深度成正比。
巴麒龙[9]还研究了用户性别、年龄对CTR的影响,认为不同性别的用户倾向于点击不同类型的广告,这与日常现象相符;作者将用户年龄离散化为6个年龄段,其中年龄为12~18岁的用户,其广告CTR值高于其他年龄段。
刘唐[15]对地域和时段2个特征进行研究,发现这2个因素对广告点击率的影响与用户或者检索词是否变化无关,地域对CTR的影响呈现规律性,而时段对CTR的影响无规律,但后者影响程度更大、波动更剧烈。
不同特征对模型准确性的影响不同,去除冗余的无关特征通常会降低学习模型的难度,同时可避免因属性过多造成的“维灾难”。常见的特征选择方法主要有:过滤式、包裹式和嵌入式。除此之外,巴麒龙[9]使用卡方检验、单特征AUC等方法检验各特征对广告点击率的影响,其做法是在原有特征中加入待验证的特征,训练模型,判断其有效性。
3 关于网络广告点击率预估模型的研究
3.1 传统预估模型
传统的点击率预估模型,如支持向量机(support vector machine,SVM)、贝叶斯和逻辑回归模型,在历史数据丰富的场景下表现良好。JOACHIMS[32]通过使用SVM从web搜索引擎日志中挖掘相关广告数据来预估点击率。GRAEPEL等[33]提出了一种基于在线贝叶斯概率回归(online bayesian probability regression,OBPR)模型的点击率预估方法,但该模型要求使用特定的广告特征,这增加了个性化推荐难度。CHAPELLE等[34]基于动态贝叶斯网络模型引入“满意度”概念,目的在于模拟登录页面及搜索结果页面可感知的相关性。
CHAPELLE等[12]提到Criteo公司选择利用用户特征、广告特征及关系矩阵来修正LR模型,但关系矩阵的计算较为复杂,矩阵很大且稀疏。借助特征哈希来降维,又会导致冲突情况下无法判别组合特征信号的强弱。
3.2 深度学习模型
考虑到逻辑回归模型的易用性,训练时易于并行化,以往工业界大多用该模型结合人工提取的特征来预估广告点击率,但随着数据量的不断扩大、广告业务更加复杂、逻辑回归模型无法处理大规模稀疏矩阵等问题的出现,神经网络、深度学习等非线性模型逐渐成为主流。
ZHANG等[35]提出了一种基于递归神经网络(RNN)的广告点击率预估方法,但这种反向传播算法训练模型在使用梯度下降算法时会造成梯度消失或梯度爆发等问题。
GAI等[36]提出了一种混合逻辑回归算法(mixed logistic regression,MLR),利用分片线性模式的分治思路来拟合高维空间的非线性分类面,创造性地实现了原始空间学习特征之间的非线性关系,效率较高。该算法应用了结构化先验、增量训练、线性偏置等高级技巧,让模型从数据中自动总结并拟合,此方法精度更高,在实际应用中可迭代性更强。
郭子萱[37]提出采用一种基于门控循环单元神经网络(the gated recurrent unit neural networks,GRU)模型预估广告点击率,通过优化改进门控循环单元神经网络的步长控制方法,使得模型在更少的迭代轮次下,更好、更快地到达最优点,从而提高模型的预估能力。
王孝舒[38]使用卡内基梅隆大学开发的Petuum平台提供的深层神经网络模型,分别选取Sigmoid和Relu 2种激活函数进行训练,结果表明,深度学习模型的预估效果优于逻辑回归模型。
4 关于网络广告点击率预估模型评价指标的研究
文献中使用的评价指标主要有:平均绝对误差MAE(means absolute error)、F-measure、AUC值 、Log-loss、PR曲线、ROC曲线、RIG(relative information gain)、准确率和召回率。表2为各指标的使用情况,表3为混淆矩阵表。
各数值型指标的计算公式如下:
(3)常用的损失函数:
表2 模型评价指标使用统计表Table 2 Model evaluation indicators
表3 混淆矩阵Table 3 Confusion matrix
5 研究展望
高点击率并不一定意味着高收益,如果目标网页或产品对用户无任何帮助,即投放的广告未能精准定位客户群,那么付出的广告费就不能得到对等的回报。因此,网站转化比网站流量更加重要,由此提出了“转化率(conversion rate,CVR)”概念,即点击人数占购买人数的比例,此指标比“点击率”更能反映企业的投资回报率和盈利能力。
潘书敏等[40]指出,传统的CVR模型通过训练点击、展示的样本,并利用所有展示样本推断空间,易导致样本选择偏差和产生极端的数据稀疏性问题。由此,提出了全空间多任务模型(entire space multitask model,ESMM),利用用户操作的顺序模式,即印象→点击→转换,来预估点击后的转化率。
YOSHIKAWA等[42]指出,广告点击与转化之间通常存在时间上的延迟,而延迟的最佳分布取决于数据,并提出了用于CVR预估的非参数延迟反馈模型(nonparametric delayed feedback model,NoDeF),该模型在拟合延迟分布方面优于其他现有方法[42]。
FATTA等[43]用探索性回归方法分析提高中小企业商品转化率的因素或因素组合。研究表明,提高转化率的关键性因素是质量和促销策略。
目前,国内外对广告转化率研究的相关文献较少,今后的研究重点:(1)挖掘有效提高广告转化率的因素;(2)从广告转化率角度定量分析ROI。
6 结 论
对计算广告学的热门研究领域之广告点击率预估中的特征学习及模型进行了综述,预估过程通常由特征提取、特征选择、预估模型、评价指标4个步骤组成,本文从原始数据特点及解决方法、点击率预估的特征学习、点击率预估模型的构建、评价指标的选取四方面综述了相关文献。点击率预估可应用于互联网广告投放、推荐系统等领域,对提升企业的投资回报率有重要作用,具有较高的研究价值。虽然在广告点击率预估研究上已有一定成果,但因广告投放效果常通过曝光、点击和转化3个环节来衡量,对最后一个环节的转化率预估研究非常重要,对转化率影响因素和分析模型等相关研究尚需加强。