计算广告学是一个十分庞大的学科,里面涵盖了自然语言处理、机器学习、推荐系统等众多研究方向。而且广告作为互联网行业的三大盈利模式(广告、电商、游戏)之一,也是这三大模式中最有技术含量的,计算广告学一直都吸引着无数学术界/工业界的精英投入其中(ps:计算广告学也是机器学习在商业界最成功的应用之一)。计算广告学的海洋如此浩瀚,以至于其中的任何一个研究方向都足够一个人研究很多年。在长年累月的参考各种计算广告学公开课和互联网各种资料后,我初步编写了这篇计算广告学基础知识的概述。本文初步介绍了计算广告学相关的基础知识、评价标准、搜索广告相关模型、推荐系统及广告反作弊基础知识。本文仅为学习/学术讨论使用,如果哪一段不小心侵犯了哪位的利益,请联系我修改,我会一直修改到大家满意为止。由于仅仅是漫谈的文章,对于每个具体的点介绍的也不是特别充分,如果对本文的某些领域感兴趣,请参考文章末尾列出的参考论文。本文初步完成60%,我还在逐步完善中。

主要目录如下:

一、计算广告学基础。

二、搜索广告相关。

三、网盟广告相关。

四、广告反作弊相关。

五、推荐系统相关。

六、DSP广告的新挑战。

七、数据挖掘算法在计算广告学应用点。

图1. 计算广告学概略图

一、计算广告学基础知识:

1. 计费机制、竞价机制:

a). 计算广告学的计费机制可以分为:

a. CPM::(Cost per thousand impressions) 每千人浏览的计费

b. CPC:按照点击计费。

c. CPA:(Cost per Action):按照广告投放实际效果计费,如有效问答券或者订单数目计费。

d. CPS:(Cost per sale)按照销售额计费。

e. CPT:按照时间计费

其他的诸如PFP,CPR, CPP,PPM并不常用。

b). 计算广告学的竞价机制:

a. GFP:广义一阶价格

b. GSP:广义二阶价格

c. VCG:通过一个广告主参加给其他广告主带来的损失来计费

各种竞价机制的比对如下:

a. GFP易爆发价格战,没有价格均衡。

b. GSP价格均衡并不唯一。

c. VCG真话占优策略均衡。

2. 模型优化评价标准:

a). CTR:广告点击率。因为广告展现最终是预估点击率、出价和质量度的综合结果,因此为了实现变现最大化,我们就需要对广告的点击率预估越准确越好。

b). AUC/AOC/ROC曲线:仅仅使用CTR评价和训练模型并不完善,因此我们又引入了ROC曲线来衡量模型的稳定性和效果。ROC曲线的横坐标为False positive rate (FPR=FP/F) (预测为0,实际上为1),纵坐标为True positive rate(TPR=TP/R)(预测为1,实际上为1)。ROC曲线下方的面积为AUC (Area under curve),ROC曲线上方的面积为AOC (Area Over Curve)。AUC的数值越大表示模型效果越好,一个随机的二分类器的AUC=0.5。

c). MAE/MSE:Mean Average Error/ Mean Squared Error

d). NDCG: (Normalized Distributed Cumulated Gain)  DCG/IDCG: 当前排序的得分除以最优排序的得分,常用来衡量排序和推荐系统中。

3. 常用定义:

对于搜索广告来说我们优化的方向有:

RPM (千次广告单元带来的收入)

CPM(千次网页展示带来的收入)

EPCM(千次展示可获得的广告收入)

CPC(单次点击收费)

CTR(广告点击数除以广告展现次数)

ACP(平均点击价格)

ASN(平均展现条数)

PVR(出广告检索/检索总数)。

其中因为不是每个检索都适合出广告的、每个检索出的广告数量又是不同的。因此CTR又可以细分为CTR1、CTR2、CTR3。其中:

a. CTR1 检索点击比率: 有效点击量/检索量。

b. CTR2 展现点击比率: 有效点击量/展现条数。

c. CTR3 有结果点击比率:有效点击量/出广告的检索量。

它们之间的计算公式如下所示:

CPM1 = CTR1 × ACP × 1000

CTR1 = CTR2× PVR

CTR2 = CTR3 × ASN

二、搜索广告相关:

搜索广告的研究主要集中在商业意图识别、相似度匹配、广告分类、badcase过滤和CTR预估、排序。

1. query/广告分类:

a. query分类和意图识别体系:

一般而言可以根据query分类来给用户出不同的广告(至少分类相同广告展示就八九不离十了,不像电商搜索个性化这么强)。根据IR领域查询分类体系,我们可以得到基于导航、信息、交易/资源类、实体的查询意图分类体系。具体的也可以根据不同查询的商业意图不同,再次给出细分的行业,如信息类还可以继续根据用户的查询修改为方法类、评价类、价格类、选择累、确认类、结果类等。

b. 贝叶斯模型。

c. 主题模型。

2. query/广告匹配:

a). query规范化:Term删减(中心词、词语权重分析、同义词替换)、SimRank、错误矫正。

a. SimRank使用随机游走的方式传播相似度,并计算query/广告间的相似度。

b. 错误矫正:

b). query扩展: 如果两个广告有一定的相似性,或者用户的查询词与广告之间有一定的相似性,那么这对识别词语之间的相似性有很强的指导意义。我们也可以根据查询词/广告、广告/广告、查询词/查询词之间的相似性,计算关键词之间的相似性,用来做query扩展。

c). query聚类: 可以将query-ad看成一个二部图,那么如果两个搜索词语最终指向同一个广告就意味着这两个搜索词语具有一定的相似性;或者同一个搜索词语指向两个不同的广告,那么就意味着这两个广告具有一定程度的相似性。可以根据这些特定对广告/搜索词的相似性进行聚类。使用query聚类也可以扩展query匹配的关键词/广告,有效的提升覆盖率。

d). 用户请求历史分析:用户的兴趣点和意图的持续时间是有限的,因此用户的查询历史对该用户对广告的点击倾向有很强的指导性。特别的对于某些行业/事情,用户的兴趣点有限而另外一些行业用户的兴趣点持续的时间比较长,我们也可以根据用户的兴趣对用户的长期兴趣和短期兴趣分别建模。

e). 广告点击历史分析:同样的我们也可以使用用户点击的广告对新用户打一些行业/兴趣的标签。

f).  广告展现位置分析:在广告展现时,不同位置的被用户看到的概率不同。因此可以把点击率细分为广告被看到的概率和广告被点击的概率。同样的在排序过程中,我们也可以考虑如果某个广告之后的广告被点击才统计这个广告展示并且用户并未产生兴趣。

g). 主题模型:LDA可以有效的扩充广告分类模型和对新增的广告进行分类和分析。而且LDA支持多分类,对搜索广告分类和新增广告处理很合适。

3. 广告质量度:

4. 不相关广告过滤:

由于广告搜索词与广告描述之间存在一定的差异,而对于无商业意义的广告词或者对搜索词出不相关的广告词会极大的损害用户的体验,因此我们需要对不相关的广告做出过滤规则。仔细分析搜索词语与广告的描述之间的关系,我们可以对广告扩展规则和过程做出一定的限制,对无商业意图的查询词语出的广告做出一定的过滤规则;同样的我们也可以根据关键词黑名单、广告的查询意图、人工标注、地域属性、低关键词权重进行再次的过滤;对广告和查询词做中心词分析,对广告分类继续细化用户的查询意图。

a). 特别的对医疗行业来说,具体的疾病和症状;对于地理位置较强的行业,对学习/教育行业,科目出国等都是需要特殊额外处理的,这可以较大程度提升这些行业的搜索相关性。

5. CTR预估:

三、网盟广告相关:

网盟广告的主要研究主要集中在人群画像、大规模稀疏条件下CTR预估。

1. 人群画像:

a). 男/女识别:

b). 年龄识别:

c). 兴趣标签判定:语义网络。

d). 用户url聚类。

e). 搜索关键词聚类。

2. CTR预估:

a). 大规模稀疏条件下CTR预估:

Google FTRL算法。

3. 计费竞价机制设计:

四、广告反作弊:

广告反作弊的研究主要集中在作弊点击、作弊的渠道的识别。

1. 作弊策略包括:模拟http请求、回放人工点击、模拟浏览器输入。

a. 模拟http请求(易识别):通过分析请求的参数规则,填充请求的参数,可是模拟http请求很难模拟出交互时的所有请求参数。

b. 重放人的输入(易识别):操纵按键精灵记录人点击位置。

c. 模拟浏览器输入:常见htmlunit,phantomjs和webdriver,这些都可以模拟人在浏览器的所有操作(包括打开网页、点击链接、前进后退、鼠标移动等行为)。

2. 反作弊技术:

因为作弊技术在日新月异的更新,而反作弊技术也要求较高的可信性和强可解释性。作弊技术一般以规则配合少量机器学习算法来配合使用。反作弊技术一般分为:请求参数校检、用户请求行为分析、页面访问分析、请求有效验证和作弊访问的关联分析。

a. 用户请求校检:主要基于访问的http请求的参数匹配和有效性分析。可选的特征包括时间戳、Referer、IP(黑白名单)、请求操作系统、请求参数匹配/有效性分析、请求源识别。

b. 用户请求行为分析:鼠标和键盘事件检测、留存时间、访问时间分析。正常情况下,这些特征的数值都会服从正态/高斯分布,可以引入卡方距离衡量正常的分布与作弊分布的距离,并选取合适的阀值来界定作弊点击/渠道。

c. 页面访问分析: 该网页的搜索词分析、点击率分析(一跳、二跳、到达分析)、页面访问行为分析。

d. 请求有效性验证:放置虚假广告诱导作弊系统点击、回ping有效性分析。

e. 作弊访问的关联分析:分析判定作弊的用户/渠道点击的广告,分析各个点击之间的关联关系。

3. 作弊点击的关联分析:

4. 低质量广告过滤:

有些广告主会恶意的展现一些欺诈/违法/色情的广告,这对搜索引擎广告平台来说意味着法律和经营风险。因此我们需要将这些低质量的广告进行过滤。而不法广告主喜欢使用的技术有欺骗性重定向、门页技术、恶意修改广告内容,搜索引擎公司可选的对抗技术有:

a. 工程方向:将执行js的匿名爬虫和搜索引擎的爬虫分别爬取的结果进行比对。

b. 研究方向:根据恶意广告主的广告、行为特征进行学习。

c. 运营方向/机制设计:增加广告主审核标准,增加恶意广告主惩罚。

五、推荐系统相关:

1. 推荐系统构成和评价标准:

2. 推荐系统主要方法:

a). popularity based:

b). content based:

c). collabrative filtering:

3. 模型融合和稳定性:

六、DSP广告的新挑战:

1. DSP定义与基础知识:

b). DMP?

1. 限定条件下CTR预估:

2. 实时竞价:

七、机器学习各算法在计算广告学中的应用:

1. 特征工程:PCA、LDA(一词多义)

a. 连续变量离散化:

因为普遍对连续变量的处理是离散成0、1值。而连续变量的离散化的方法有:等距离离散化、等样本离散化、熵离散化。

b. 特征交叉:

c. 特征选择:

2. CTR预估:LR、GBDT

a. LR是工业界目前唯一能够处理超大规模的特征的模型,适用于特征纬度较高,且每个特征的效果小的情况。线性快速、可解释性强。

b. GBDT适用于大规模的特征效果较强的问题。非线性、速度慢。

3. 搜索广告:LR、LDA

4. 网盟广告:LR(主要关注高纬稀疏矩阵运算)

5. 广告反作弊:决策树、关联规则。

6. Ranking相关:

八、 自然语言基础:

1. 分词原理:

2. 分词基础知识:

1. 分词词库:分词词库是分词的基础,需要针对具体问题搜集修改重要的分词。

2. 分词校正:可以对分词后的切分的结果做出,再次的合并和校正。

3. LDA算法:

参考文献:

1. 搜索引擎竞价排名机制简介: http://wenku.baidu.com/link?url=5uv_M6G53V66mPtTCMZGWorbCaIYO67lLtL0hCst3GWLa3FsyqeN39z5DE2kLhN7YCEDEsXbwFFHFX3TcqzgwrdaoVpZK_E8-ONfWvua2xO

2. ROC曲线-阀值评价标准: http://blog.csdn.net/abcjennifer/article/details/7359370

3. DSP和RTB 广告相关知识: http://blog.sina.com.cn/s/blog_4cb4227901018rc5.html

4. 互联网广告中的匹配和排序算法: http://www.cnblogs.com/CheeseZH/p/3908446.html

5. 网络营销词汇表: http://neoremind.net/2012/03/%E7%BD%91%E7%BB%9C%E8%90%A5%E9%94%80%E8%AF%8D%E6%B1%87%E8%A1%A8/

6. 谷歌搜索引擎作弊的解释:http://www.yxad.com/News/wangluoyingxiao/News_108775.shtml

6. 数据挖掘算法在搜索/互联网广告中的应用:

7. 自然语言处理相关基础算法:

6. 搜索引擎反作弊技术综述:

7. 搜索引擎作弊技术与反作弊技术综述: http://www.docin.com/p-585340207.html

8. 百度计算广告学公开课: http://openresearch.baidu.com/courses/1301.jhtml

9. 秒针系统互联网广告反作弊白皮书: http://www.meihua.info/TODAY/post/channel_10/post_5dc5469a-7ef1-469d-9a75-b0930f3d8a4a.aspx

10. DSP 算法初探: http://pan.baidu.com/share/link?shareid=322913515&uk=3138366223

11. 大规模主题模型在腾讯业务中的应用(耗费大量资源,效果一般): http://pan.baidu.com/share/link?shareid=990805913&uk=2452582877

12. 搜索引擎的意图识别: http://blog.csdn.net/zhoubl668/article/details/7857756  

13. DSP与网盟广告推广对比: http://down.51cto.com/data/1097390 

14. 百度技术沙龙---广告数据上的大规模机器学习:http://blog.csdn.net/three_body/article/details/24913343

15. 计算广告学-刘鹏: http://study.163.com/course/introduction.htm?courseId=321007#/courseDetail

【CTR预估】

1. Follow-the-regularized-Leader and Mirror Descent: Equivalence Theorems and L1 Regularization

2. Predicting Clicks Esitimating the Click-Through Rate for New Ads

3. Ad Click Prediction: a view from the Trenches

【广告分类】

1. A taxonomy of web search

【广告反作弊】

1. Collaborative Click Fraud Detection and Prevention System
2. Click Fraud Resistant Methods for Learning advertising network streams

【相关工具】

1. Decision Tree: http://www.aispace.org/downloads.shtml

2. libsvm: http://www.csie.ntu.edu.tw/~cjlin/libsvm/

3. ICTLAS:ICTLAS提供了方便的C++/JAVA/C#接口,具体下载地址:http://ictclas.nlpir.org/downloads

sklearn不仅提供了机器学习基本的预处理、特征提取选择、分类聚类等模型接口,还提供了很多常用语言模型的接口,LDA主题模型就是其中之一。本文除了介绍LDA模型的基本参数、调用训练以外,还将提供两种LDA调参的可行策略,供大家参考讨论。考虑到篇幅,本文将略去LDA原理证明部分。 1、CTR: (1)几个概念:   impression(展示):用户看到该广告的次数。也就是一个广告被显示了多少次,它就计数多少。比如:打开网站的一个页面,网站上的所有广告就被显示了一次,每个广告增加1个,如果刷新就再增加一个。   click(点击):用户点击该广告的次数   CTR:click through rate 广告点击率   CTR = click次数 / impress... 计算 广告学 于2008年由Yahoo Research的A.Broder提出,详细的定义参看百度百科,广义的定义是通过科学 计算 来选择最优的广告投放,主要研究的是互联网上的广告投放,其中典型的是在搜索引擎上查询关键词结果页出现的“推广链接”。 计算 广告(或者说互联网广告)相比于传统的媒体广告的优势在于以下几点: 投放的介质范围更广。传统的媒体广告一般只有相对较少的场合,例如报纸 为什么需要商业变现策略指标体系 一般情况下,一个互联网产品,或是一个移动端产品在发展前期,主要会关注流量及用户量的增长。当流量,用户量做到一定程度时,就会考虑商业变现。例如今日头条,美丽说,高德地图这样的产品现在都开始商业化变现。而要从变现效果,效率衡量整个系统,以及监控技术策略对系统变现的贡献时,就需要建立一套完善的策略指标体系监控系统当前的状况, 发现系统策略效果瓶颈并有 •CPM1= Charge / FSearch * 1k, CPM2 = Charge / Show * 1k, CPM3 = Charge / ADSearch *1k • CTR1 = Click / FSearch, CTR2 = Click / Show, CTR3 = Click / ADSearch •ASN= Show / ADSearch, ACP = Charge / Clic ROI(投资回报,Return on Investment):指从广告中获得的收益与在广告上支出的费用之比。投资回报率衡量的是广告收益与广告费用的比率。 广告系列投资回报率的估算方式为:广告产生的收入减去广告的费用,然后除以广告总费用。 投资回报率 =(收入 - 费用)/ 费用 PV(Page View,浏览量): PV(Page View):页面访问量,即页面浏览量或点击量,用户每打开一个网站页面就被记录1次。用户多次打开同一页面(刷新),浏览量值累计。可以统计服务一天的访问日志得到。 1.   ctr:点击到达率( CTR1 /2/3)ctr包括 ctr1 ctr2 、ctr3,评估的时候要看具体需要评估哪个ctr。 cpm:每千人印象费用或每千次展示费用 ectr:预估ctr,根据历史数据预估的广告被点击的概率 ecpm:一千个展示所获得的收益 2.      kr扩展的扩展词来源:QT簇词,CT簇词。 3.      功能和性能: 功能:事物所具有的作用。 性能:事物 毫无疑问这个任务的是个二分类任务,预测点击与否。 CTR 预估的特征一般是 用户的日志特征和画像特征,包含类别特征和数值型特征两种。 此任务的评估指标是 AUC 得分 或者 Logloss,facebook2014年的论文指出Logloss可能是相对来说较好的一个评估指标。 而这个任务有如下一些挑战: 特征稀疏性的问题如何解决。 特征直接的组合关系如何挖掘,交互特征如何学习。 如何感知用 1. CTR 模型建模 在讲 CTR 模型之前,我们首先要清楚 CTR 模型是什么,用来解决什么问题。所以我们先描述 CTR 问题,并对其进行数学建模。 一个典型的推荐系统架构如下图所示: 一般会划分为召回和排序两层。 召回负责从百万级物品中粗选出千级数量物品,常用算法有协同过滤、用户画像等,有时候也叫粗排层; 排序负责对召回层召回的千级物品进行精细排序,也叫精排层; CTR,Click-T... 随着在线广告技术的快速发展以及流量渠道的广泛延伸,衡量和评估网络广告效果的难度也在逐渐上升。如果没有一套完整的衡量体系用户评估广告效果,各种滥竽充数、以次充好的现象将会层出不穷,真正的广告技术和流量渠道却容易被“劣币”驱逐,市场难以和谐健康的发展。本文,聊一下广告投放中的基础指标、效果指标、品牌指标等,以便在实际工作中能灵活地进行多维度、多指标的数据分析,从而更清晰、更客观地评估各广告平台或流量...