1.背景点击率预估(pCTR)是广告投放过程中的一个重要环节,精准的点击率预估对于广告投放系统收益最大化具有重要意义。pCTR的优化主要有算法优化,系统改进,特征探索等几种途径。2015年下半年微信公众号位置,在引入了多种新特征,优化已有特征的准确度和覆盖率,并使用深度学习的算法框架后,效果取得了明显提升。A/B test结果显示,2015下半年微信公众号位置,CTR+ECPM有12%以上的提升。在此将最近微信公众号pCTR特征优化的一些经历和想法记录下来,欢迎大家讨论。

2.特征探索篇

一般而言,广告推荐场景中的特征包括:用户侧特征(包括用户的年龄、性别、地域等),广告侧特征(广告所属的类别等),广告位侧特征(广告位上下文等)。2015年下半年在微信公众号位置,做了较多特征方面的尝试,其中包括引入微信商业兴趣、基于主题模型的订阅兴趣、提高了反馈特征和用户画像的准确度和覆盖率等,这些尝试都取得了较明显的效果。本节先简要叙述实验前的特征选择和实验后的效果分析的一般方法,再以基于主题模型的订阅兴趣特征和广告文本相关性特征为例,列举说明2015下半年公众号位置的两个重要特征的构建。

2.1 特征的选择方法

特征选择按照先计算信息增益,再计算离线AUC,并综合[1][2]所列的特征选择方法,选出有效特征加入模型进行实验。特征选择遵循先粗选再细选的方法。

信息增益:信息增益反应的是特征对点击行为的区分度,计算公式为:

H(y)表示目标y的信息熵,H(y|f)表示引入了特征f后的信息熵通过计算特征f的IG(即信息熵的增加量)来判断对点击率的区分性,从而确定是否加入点击率预估模型当中去。信息增益存在的一个问题是无法体现对广告的区分性,这里我们使用了二阶信息增益:设?为某特征,ad为某广告,y为目标值(y=-1,1)即代表用户点击或者不点击广告。

此处IG可理解为针对某确定的广告,某特征的信息增益。也即将广告出现的概率作为先验信息引入,计算某特征区分广告的信息增益。引入先验信息后,针对某广告的点击行为的后验概率计算如下:

前向特征选择:关于前向特征选择,已经文章进行了专门的详细论述[2],在此不展开介绍。我们在使用该方法时,是在原有特征集合的基础上从候选特征集合中逐步挑选特征添加入当前模型。

2.2特征效果的分析

特征实验A/B test一般会进行一周左右的时间,将实验时间窗口调为一周是因为一周之内不同天用户的行为可能有变化。积累到一周数据后,对实验效果进行分析,找出实验效果有提升或者无提升甚至变差的原因,为以后的优化做准备。以用户特征为例,在上线用户侧特征之后,我们将会着重观察在新特征划分的各个用户群体上订单投放情况的变化。以用户兴趣为例,该兴趣将用户分为了“汽车”、“服饰”、“数码产品”等近百个用户群体,pCTR模型在加入这个特征之后,在“服饰”兴趣群体上投放出了更多的女装订单,从而使得这个人群的CTR有较大提高,如图2所示。

图 2 加入了用户兴趣之后A/B test中“服饰”人群上的top订单有比较大的变化,实验组的top1“女装丝袜”在对照组没有进top10。其余几个女装订单在实验组的曝光也高于对照组。136是实验算法,137是对照算法。

2.3基于主题模型的用户订阅兴趣

用户在点击、阅读、转发微信公众号图文信息的行为隐含着大量的信息,能够反映出用户的兴趣,挖掘出这些隐含信息,构建出一套适用于广告投放的兴趣体系对于推荐算法无疑是十分有利的。

图 3 基于主题模型的公众号聚类兴趣标签的产生方式示意图,公众号的聚类主要由订阅关系来产生

我们尝试了一种新的订阅兴趣体系的方法:基于主题模型的兴趣人群挖掘方法。对于N个用户订阅M个公众号的场景,我们采用类似LDA的方法,从中抽取出k个隐含的订阅兴趣。其效果如图3所示,对于一个N*M的user-item矩阵,有相似粉丝用户(user)的公众号(相当于item)会归为相似的topic,订阅了属于某类topic公众号的用户会被赋予相应的兴趣权重(图3中省略了权重部分)。A/B test结果显示,这种主题模型的兴趣挖掘方法在广告推荐场景比较有效。

2.4广告与文章内容的相似度

由于微信公众号位置的流量媒体的特殊性,微信公众号广告位有丰富的媒体信息。同时广告内容也有文本描述信息。广告与文章的上下文内容相关一方面能提高用户的阅读体验,另一方面对用户是否点击广告也有较大的影响[3]。我们尝试将公众号推送文章与广告内容的相似度作为特征加入pCTR模型,以期能取得提高用户体验和投放效果的作用,如图4。

图 4 广告与文章内容相似度加入pCTR模型提高投放效果和阅读体验

3.算法优化篇CMU的李沐在2014年的博文中提到,“线性模型+特征工程”的机器学习方法,随着数据量的增长和特征的不断挖掘会面临瓶颈的到来[4]。大数据时代,我们需要更好的自动学习的算法。深度学习算法,能更好地抽取特征中的信息,更好的发挥特征的作用。在探索特征的同时,我们也在向复杂的非线性模型转向。深度学习是我们尝试的方向之一。DNN(深度神经网络)有多种开源工具 [5-6],在此不再叙述DNN的原理与实现。在微信公众号位置,DNN算法能较好的实现特征数据的端到端学习,一定程度上减低了特征选择的工作量。4.系统架构篇

全流程实时计算,是承载算法和数据的框架。框架的优化以及重构,虽然不能直接带来效果提升,但是更加可靠的系统和框架使得算法运行更加稳定更加易于维护。目前我们承载推荐系统的系统架构如图5。

5.总结展望篇目前微信公众号位置的效果优化方向的选择依然较多,特征方面,除了继续进一步精细化用分群特征,挖掘特殊人群,探索上下文特征外,还可以尝试GBDT+LR[1],GLASSO(Group LASSO)[7]等方法进行自动化的特征选择;算法方面,DNN算法仍有很多可挖掘和优化的地方,通过进一步优化参数和挖掘并行计算潜力,有望进一步提升效果;系统方面,框架的稳定性和可靠性的提高将有利于更多算法思想的落地实现。

参考文献

[1] CTR预估中GBDT与LR融合方案,腾讯大数据,2015-08-27

[2]Singh S, Kubica J, Larsen S, et al. Parallel Large ScaleFeature Selection for Logistic Regression[C]//SDM. 2009: 1172-1183.

[3] 《计算广告学》,http://study.163.com/course/introduction.htm?courseId=321007#/courseDetail

[4] 大数据:“人工特征工程+线性模型”的尽头, http://www.36dsj.com/archives/15621

[5] http://torch.ch/

[6] http://caffe.berkeleyvision.org

[7] A note on the group lasso and a sparse group Lasso, http://statweb.stanford.edu/~tibs/ftp/sparse-grlasso.pdf

文章来源于腾讯云开发者社区,点击查看原文