阅读论文--2007 Predicting Clicks: Estimating the Click-Through Rate for New Ads
简介
本文做的是搜索广告的CTR估计,方法比较老但是其中工程的点感觉很细致,值得参考。
为什么做CTR估计
- 提高媒体的收入,在搜索页面上展示点击率高的广告。
- 提升用户的浏览体验,给用户展示用户愿意点击的广告。
原始的解决方法:用极大似然方式来估计点击率,即广告被点击的次数除以广告的总展示次数。
缺点如下
-
广告实际被点击的次数可能很少,计算误差会比较大
-
对于新广告,无法解决冷启动问题
在搜索广告中,CTR估计模型如下所示
click pos click ad, seen seen pos
其中ad为广告,pos为搜索页面中展示位置,seen为广告被用户看到(不同展示位置概率不一样),click为被用户点击。
seen pos 可以通过相应的实验获得,因此点击率预估最后转化为得到 click ad, seen 。
数据
本文通过逻辑回归预测点击率,输入数据如下:
- 登陆页:用户在点击广告时被重定向到的URL
- 竞价词:该广告应该显示的查询(可能是多个词,例如“机器学习书籍”)
- 标题:广告展示的标题
- 正文:广告的正文描述
- 展示URL:广告底部展示给用户的URL
- 点击:广告在被曝光后的点击次数
- 曝光:广告被曝光的次数
训练的真实CTR估计为:,然而真实的CTR是无法获知的。当展示次数较少时,上述估计可能不准确,因此文章中将曝光次数小于100的广告进行过滤。
模型
使用逻辑回归估计CTR
,
其中为广告中第i个特征,为特征对应的权重。
评价指标
使用MSE和KL散度进行评价
CTR估计
Term CTR
其中为数据中具有相同搜索关键词的广告数,为这类广告的平均CTR值(估计的),为数据集中所有广告的平均CTR,用于调节先验的强度。
Related Term CTR
定义用于扩展搜索词。
对于t为red shoes时,buy red shoes出现在,shoes出现在,blue shoes出现在。
根据上述定义,计算相关的CTR
实验结果如下
特征选择
广告特征
考虑以下因素
- 外观:广告是否美观
- 吸引注意力:广告吸引用户吗
- 声誉:广告客户是知名品牌还是信誉良好的品牌?如果用户对广告主不熟悉,会不会猜出广告主是好品牌?
- 登陆页面质量:虽然登陆页面只有在用户点击广告后才会被看到,但我们假设很多广告点击都是用户已经熟悉的广告商(如eBay、Amazon等)。因此,登陆页面的质量可能预示着用户点击广告的概率。
- 相关性:广告与搜索关键词的相关性有多大
通过上述特征,加入85个广告的特征(+Ad Quality),同时考虑10000个常用词(unigrams),使用0-1进行编码,实验结果如下
搜索覆盖类别
搜索覆盖范围越广,定向越不准确,可能点击率越低。文章中将搜索结果进行分类,使用朴素贝叶斯分74类,将分布的熵作为特征输入,实验结果如下
额外搜索数据
使用以下特征(为啥要用这些数据呢,看着感觉作者就是想多用点数据试试)。
- 搜索词在互联网上出现次数
- 用户使用该搜索词的次数
实验结果如下(一点点提升)
讨论
- 使用逻辑回归模型中参数来分析特征的重要程度,结果不展示。
- 作者讨论在不同曝光次数下点击率估计的误差,部分细节没看懂,意思是曝光次数在50-100次后使用均值预估和使用文章模型预估的才会显著不同。
- 曝光次数越多的广告,模型提升越明显,文章给出的解释是曝光越多的广告噪声越小。
作者控制变量对比特征重要程度,单独用某类特征,取得的提高如下:
- 广告质量特征,提升12%(其中,广告词语的unigram特征就提升了10%)
- 广告specificity特性,提升9%
- 搜索数据体征(外部数据特征)提升3%
总结
文章中作者也提到:提升模型做好的方法是将更多的特征利用进去。全文虽然使用了简单的逻辑回归来预估CTR,但是在特征方面做了较多的探索,感觉蛮有意义的。