计算广告学漫谈

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

      主要目录如下:

      一、计算广告学基础。

      二、搜索广告相关。

      三、网盟广告相关。

      四、广告反作弊相关。

      五、推荐系统相关。

      六、DSP广告的新挑战。  

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

              计算广告学漫谈_第1张图片

                                                                                                         图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定义与基础知识:

          a). 

          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


你可能感兴趣的:(数据挖掘)