CTR(点击通过率):就是指一些公司通过付费竞价的方式支付给搜索引擎,当用户进行感兴趣的查询后,搜索结果页会展示出一系列与查询相关的广告(广告可以根据竞价来决定其显示在查询结果页中的位置:靠前还是靠后),如果用户点击了查询结果页中的某一广告,该广告的点击通过次数就+1.所以点击通过率=广告被点击的次数/广告展示的次数。
CTR可以作为一个判别标准。当某一条广告CTR超过了预计的CTR,它就出现在搜索结果中靠前的位置。但是这会产生两个问题:1.如果它没有被点击,就失去了这条ad的收益,此外,也失去了在这个ad后面ads的收益。2.基于CTR的方式,导致一些ads位置偏后,甚至可能并未出现在搜索结果页中,降低了这些ads可能会创造的收益。
目前大多数的CTR模型都是依靠大量已经定义好了的特征来预测点击通过率。但是存在以下问题:1.选择正确的特征是极具挑战的。2.处理特征稀疏问题和大规模管理。3.当遇到了一个新环境(如新的query,新的ad或新的query-ad对),这些模型不能够进行准确的预测。大多数预测模型的预测特征都是捕获点击的历史信息作为点击频率来预测用户在一个特定环境中的喜好。对于这些问题,有两种解决:1.通过混合方法,从观测到的数据上学习模式和潜在的表示来泛化到未观测到的数据上。2.只依赖于基于内容的特征,这与历史点击无关。
CTR预测模型依赖:设计好的历史,环境和基于内容的特征。在本文中,只依赖于文本的内容来直接预测query-ad对的CTR。提出了两种深度卷积神经网络:基于字符级的和基于单词级的。第一个模型:在一堆字母中,直接学习文本的二进制编码;第二个模型:需要预训练(因此需要预先存在的单词词典,但是可以引入关于这些单词额外的信息)的词向量作为输入。
在本次实验中解决以下问题:1.不需要任何的特征设计,能够自动的学习到query-ad内容的表示。2.字符级和单词级的CTR在性能上有何不同。3.这两个模型和基准模型相比如何?4.这两个提出的模型能否用以提升商业搜索引擎的CTR模型。本文提出的模型不需要进行繁重的特征设计,只需要使用query-ad对中出现的文本内容。
字符级模型不需要词嵌入作为输入。虽然字符级模型已经成功地应用到了许多不同的任务中,但是他们都没有学习两条文本(query-ad)的相似性。
将CTR形式化
为了给query-ad对的CTR分布建模,query-ad样本取自Q表示所有可能的查询集合,A表示所有可能的广告。QA是一个时间间隔t内所有可能impression(广告被显示的次数)的query-ad的子集。
,
,1表示被点击,0表示没有点击。为了获得良好的标准的CTR预测,创建交叉熵损失函数:
是query-ad对被点击的概率,
是模型参数。将
分解为DCNN参数,其目标是从一系列组合成query和ad的字符直接建模
。
模型的关键组件
Temproalmodules:(我们处理的文本数据是一维的,且是temproal的)这些模块和用于图像的spatial modules工作相似,只有输入的维度不同。
temporal convolution模块:由一系列的filter组成,这些filter的权重在训练时获得。因为filter权重共享,所以不需要局部学习(局部学习会有很多参数,维度太高)。Filter的大小为3,步长为1,无需padding填充。“TempConv, X, Y”,X是filter的数量,Y是激活函数。
temporal max-pooling模块:非线性的减采样,为了降低输入的维度。通过一个最大化filter应用在初始的一维输入(无重叠的分区)上。“Max−pool/X”,X是filter的大小。
temporal batch normalization模块:正则化它的输入。可以加速训练。
Convolutional Block:
其他函数:使用全连接层,用“FC,X, Y”表示,X是神经元数量,Y是激活函数。
DeepCharMatch Model
图1
字符级表示的输入
Ad和query的表示方法一样
模型架构。包含两个并行的深度架构,通过交叉卷积操作连接在一起,其后跟一个final bloc来为query和ad的关系建模。
Qery and Ad Blocs.两个并行的结构,query-ad的one-hot presentation作为输入。
每个bolck由:一个时间卷积,两个卷积block(输出下一级输入的向量表示)序列组成。学到的表示可以视为query-ad的高级表示。
Cross-convolutional Operator.将query-ad的高级表示作为输入,在query-ad的向量积上进行卷积。例如,HQ表示维度为k*l的查询矩阵高级表示,HA表示维度为m*r的广告矩阵高级表示。HAQ表示维度为(k*m)*(l+r)的HA与HQ的向量积。HAQ的每一行设置为:
通过这种操作,我们意图捕获query-ad词内和句间的可能关系。在这操作之后应用一个时间最大池层。
Final Bloc.最后的操作由两个连续的block块开始,每个block有一个卷积块其后跟一个时间最大池层组成。以三个全连接层作为输出。Final block为query-ad间的关系建模。其输出为pq_a(用于query-ad对深度字符匹配的CTR)。
DeepWordMatch Model
在单词级的深度卷积神经网络。它同样训练以最大化点击和没点击的赞助印象传统的极大似然函数。
输入表示。需要预训练,以单词向量作为输入。可以使用查询日志或者额外的资源(如维基百科)来学习单词向量。发明一种好方式来训练单词向量是一个开放有趣的问题,但是与我们提出的模型独立。考虑一个给定的单词词典W,单词向量的维度dw,固定的查询长度和广告长度dq和da。查询用一个维度为dq*dw的查询矩阵表示。同样,广告用一个维度为da*dw的广告矩阵表示。
模型架构。它包括一个交叉卷积操作,最后用一个final block来捕获query-ad之间的共性。广告和查询矩阵包含预训练的单词向量,直接作为交叉卷积操作的输入。为了控制维度,时间最大池操作的内核大小设置为2.除此之外,其他结构与字符级相同。
实验
1. 如何收集数据集进行实验,不同基准,与CTR预测模型相关的度量,在这项研究中都很重要。
2. 描述了运行实验的平台和选择的参数。
3. 深入introduction中提出的问题,讨论实验相关的结果。
实验设置
数据集:我们随机抽样log(训练集),有1.5百万个query-ad对(从2016年8月6日-2016年9月5日)。我们只考虑出现在查询结果页正上方的赞助广告。每个query-ad样本包括:查询,广告标题,广告描述和广告登陆页的URL,在这种标准形式中,一个二进制变量表示一个ad时候被点击。从2016年9月6日到2016年9月20日这15天,我们随机抽样了27百万的query-ad对,没有任何的网页位置限制(即,我们也同样测试了搜索结果页的东部和南部)
为了研究我们的模型在不用流行程度的查询和广告上的性能,我们用了一段时间(2016年连续几个月)在测试集上计算查询频率分布,广告频率分布一级query-ad对频率分布。图3展示了与查询,广告和query-ad频率相关的广告印象总数量分布。注意这一阶段完全覆盖训练集和测试集生成的这些阶段。因此,低频率在相对于整个阶段的impression数量几乎为0.
基准。
Feature-engineeredlogistic regression(FELR).我们实现了一个基于内容特征的逻辑回归模型作为基准。目标:测试假设——DeepCharMatchand Deep-WordMatch直接从有意义表示的文本输入要比特征设计模型好。逻辑回归模型优化和DeepCharMatchand DeepWordMatch相同的交叉熵损失函数。在这种情况中,仅仅是一个参数向量,表示带偏差的学到的每个特征的权重。我们使用185个设计的先进特征来捕获一个query和一个广告(三个部分:ad标题,ad描述和显示的URL)之间成对的关系。整个特征集包含:12 common counts features, 12 Jaccard features, 10length features, 4 cosine similarity features, 4 BM25 features, 8 Brandfeatures, 4 LSI features, 3 semantic coherence features, and 128 hash embeddingfeatures.
Search2Vec.基于word2vec的方法,从query和ad的查询会话中学习语义嵌入,在学习到的向量间使用余弦相似定理,可以测量一个query和ad之间的相似性。这个方法可以实现在赞助搜索中高质量的query-ad匹配。与DeepCharMatchand DeepWordMatch不同,Search2Vec并不直接学习CTR,相反,它间接使用会话中的点击作为query和ad的上下文环境。因此,该方法被认为是弱监督的。另一个重要的不同是Search2Vec工作在查询级和广告级,意味着它对于词汇以外的问题更敏感。
Productionmodel.这个模型是一个机器学习模型,训练了大量的特征集合:click features, query features,ad features, query-ad pair features, vertical features, contextual featuressuch as geolocation or time of the day, and user features.这个学习算法也是等式1.这个模型包含了许多相关的设计特征,特别是从query-ad关系中提取的基于内容的特征。目标:研究当增加一个基于内容维度(DeepChar-
Match or DeepWordMatch预测)的深度学习到模型中时,什么(被期望出现在生产production中)是相对改进了的。我们使用一个简单的方法平均深度模型CTR和生产模型CTR。余下我们设计DCP和DWP算法,用于字符级和单词级模型分别与production相结合。虽然这些方法非常简单,但是它显示基于内容的深度学习方法可以被用来在商业搜索引擎的production中(不是自动学习基于内容的query-ad表示的)提升模型。
评估标准。(1)ROC曲线(AUC)(2)CTR刻度
AUC。为了比较不同的基准,我们使用AUC来评估不同模型预测哪个ad被点击的能力。在ad印象显示的学习期间,AUC用来测量被点击的ad印象是否比未被点击的排名高。最佳排名的AUC为1,随机排名的平均AUC为0.5.
Calibration.它是预期点击的数量和实际观测到的点击数的比率。一个好的CTR刻度预测能够保证一个广告被支付以一个合理的价格,因此对于在线广告拍卖至关重要。最接近的刻度测量为1.
实验平台。
使用在一个异步方式的多重CPU上分布的TensorFlow平台。
Adam Optimizer用来优化交叉熵损失函数。使用[13]中的策略来初始化参数。最小的批处理大小为64.对于DeepCharMatch,查询长度固定为35个字符,广告的长度固定为140个字符。对于DeepWordMatch,查询单词长度固定为7,广告单词固定为40. DeepWordMatch输入的单词向量(已下载)。
实验结果
通过回答下列研究问题,我们调研这两种CTR预测模型的性能。
研究问题1.为了预测赞助搜索中的CTR,我们能否自动从query-ad内容中学到表示而不需要任何的特征设计?
目标测试哪种表示在CTR预测中最有效。Table1表明,前两个比FELR能自动学到更有效的query-ad表示。
图4和表2强调当queries,ads和query-ad频率高时,自动学习生成表示比特征设计更好。
研究问题2.CTR预测的两种模型有何性能不同?
我们研究两种模型的曲线性能。换言之,当我们增加训练样本的数量时,我们期待在什么AUC在同样独立随机的样本测试集上。我们假设通过学习字符级要比单词级的模型更好地适应CTR分布。假设基于的事实:字符级模型的自由度更高,它需要学习1672002个参数,比单词级模型高出16.21%。
为了回答这一问题,我们在DeepCharMatchand DeepWordMatch上进行并行实验,所有的模型研究都是在相同的条件下,即,在相同的训练的上学习,在相同的测试点上评估。
在训练点数量超过一百万时,学习潜在的query-ad匹配,DeepCharMatch比DeepWordMatch更灵活。在1.5百万点的时候,差距显著:在27百万个测试点上,
DeepCharMatch and DeepWordMatch分别达到AUC0.862和0.859(图5和表1)。这表明提供足够训练点时,DeepCharMatch从头学习潜在的表示而不需要预计算的词典。有趣的是,从query,ad和query-ad的分布来看,在头部(这里体积最高)DeepCharMatch比DeepWordMatch更出色或相等。
而在尾部的分布来看是相反的。DeepWordMatch在尾部的优势是他能够在最初始化的时候通过预训练的向量获取初始信息。而DeepCharMatch忽略了这一点。另一方面,移动到头部,DeepCharMatch能够从头开始学习其表示来创建该域更好的理解。
研究问题3.两模型与基准模型相比如何?在qeries,ads和query-ad对的头,中,尾部预测精度有怎样的提升?
从全局来看,Search2Vec性能要比FELR出色,但是在query,ad和query-ad的尾部时性能却很差。这表明,Serach2Vec是工作在查询和广告标识符级别的,。换言之,这种方法不能基于内容关联广告和查询的相似性,只能基于他们在相同环境中的出现。DeepCharMatchand DeepWordMatch的性能在ad分布的尾部AUC提升最小有0.041到查询分布的头部最大有0.088.有趣的是,在表1中,手机设备的性能提升更明显,这表明,介绍的深度模型对样本偏差没有那么敏感(因为我们的培训数据天生就有更多的桌面印象)。我们将样本在各设备上进行更深入的分析作为进一步的研究工作。
研究问题4.提出的两个模型可以用来提高在商业搜索引擎的CTR预测模型吗?
当前系统依赖于从查询和广告关系中提取的相关内容特征。我们的目标是研究当添加一个基于内容的维度到模型中去,AUC和标准能够改进多少。我们使用两种简单的方法进行测试,DCP和DWP。
ALL表示完整的测试集,在mobile设备上提升的性能明显
字符级模型主要是在head分布的提升明显,单词级模型主要是在tail分布的提升明显。要强调的是DWM主要得益于尾部预训练的向量,然而DCM能够在头部从单次级获得其表示个更佳理解。
为了校准分析,我们考虑校准模型M和生产模型的相对增益:
发现校准增益如下:
我们发现特别是DCP中,head比tail的校准高
结论
两种模型用的是卷积神经网络架构,一种监督的方式,从一个流行的商业搜索引擎日志中获得点击和未被点击的query-ad impression样本。大规模的实验(1.5百万的query-ad训练样本),query-ad表示可以从头开始学得,在字符级别,预测CTR,对于连续的查询,ads和query-ad对是特别精准的。在查询,ad和query-ad分布的尾部,单词级模型比字符级模型更精准。一个重要的贡献就是在字符级直接预测query-ad对的CTR比传统的机器学习模型(基于设计良好的特征)更为出色。特别的,将深度学习CTR预测模型与一系列丰富的基于内容和点击的特征相结合,能够提高模型的精度。