《计算广告学》学习

广告的基本知识

广告(Advertising)
广告是由已确定的出资人通过各种媒介进行的有关产品(商品、服务和观点)的,通常是有偿的、有组织的、综合的、劝服性的非人员的信息传播活动。

广告的主体:

  • 出资人(sponsor) 即广告主(advertiser)
  • 媒介(medium)
  • 受众(audience)

广告的本质功能:是借助某种有广泛受众的媒体的力量,完成较低成本的用户接触(reach)

广告 vs 推荐

广告系统和推荐系统很类似,但也有很大区别。

一个例子:同一广告位同样广告内容的情况下,文字链广告点击率通常大于图片广告,但对推荐来说,图片的推荐效果远远好于单纯的文字推荐。

广告的有效性模型

广告的有效性模型

在线广告的两个评价指标:CTR和CVR (RPM和ROI呢?)

在线广告的特点:精细的受众定向 + 以精确计算为中心

标准化:进行受众定向之后,广告售卖方式由广告位为载体变成以人群为载体。所以希望广告本身的格式、尺寸大小是标准化的。

效果广告 vs 品牌广告:评价指标?收费方式?不同的媒体?

在线广告市场

需求方 (Demand) <—> 供给方 (Supply)

广告主 <—> 媒体

一般media直接接入ad network或者ad exchange,比如一个独立网站接入百度联盟。

由于ad exchange优化都是为其自身利益,所以后来出现了SSP。SSP是为media优化的,它可以同时接入很多ad network,比如百度联盟、adsense、淘宝、广点通等等,具体media的某个广告位可以出不同ad network上的广告。

在线广告的核心计算问题:

Find the best match between a given user (u), in a given context (c), and a suitable ad (a).

\[\max_{a_1,\cdots,a_T} \sum_{i=1}^T {\rm ROI}(a_i,u_i,c_i)\]

从优化角度来看

  • 特征提取:受众定向 (提取u和c的特征)
  • 微观优化:CTR预估 (单次投放的优化)
  • 宏观优化:竞价市场机制
  • 受限优化:在线分配
  • 强化学习:探索与利用 (reinforcement learning)
  • 个性化重定向:推荐技术 (retargeting)

搜索、广告与推荐的比较

维度 搜索 搜索广告 展示广告 推荐
首要准则 相关性(relevance) 投资回报率(ROI) 用户兴趣
其他需求 各垂直领域独立定义 质量、安全性(Safety) 多样性(diversity), 新鲜度(freshness)
索引规模 ~十亿级 ~百万-千万级 ~百万级 ~百万-亿级
个性化 较少个性化需求 亿级用户规模上的个性化
检索信号 较为集中 较为丰富
Downstream优化 不适用 适用

ROI的分解

在线广告系统的ROI

  • $Investment = \sharp X \times CPX$
  • $Return = \sum_{i=1}^T \mu(a_i,u_i,c_i) v(a_i,u_i)=\sum_{i=1}^Te(a_i,u_i,c_i)$

其中,$\mu$ 点击率(CTR),$v$ 点击价值(bid),$e$ eCPM。

优化广告系统ROI的关键就在于提升eCPM(注意不是在说广告主的ROI)

不同的分解对应不同的市场形态:

  • CPM市场: 固定eCPM。对media有利,适用于品牌广告。
  • CPC市场: 动态CTR,固定click value。supply估计ctr,而demand估计click value。比如google adwords
  • CPA/CPS/ROI市场: 动态CTR与动态click value。比如淘宝直通车,统一的转化流程,可以统一的模型。

常用统计模型

指数族分布

Canonical form:

\[p(x|\theta)=h(x)g(\theta)\exp\brace{\theta^T u(x)}\]

举例: Gaussian, multinomial, maximum entropy

最大似然(Maximum likelihood, ML)估计可以通过充分统计量(sufficient statistics)链接到数据

\[-\nabla\ln g(\theta) = \braket{u(x)}\]

指数族分布从数据加工出充分统计量后跟数据就不在发生联系了,这之后的运算就可以完全在内存里进行了。比如求高斯分布的均值和方差,那就只需要求两个参数,以后使用这两个参数就可以。而混合高斯分布就没有这样的特性,不可能一次从数据里求出$\theta$?

指数族混合分布

举例: Mixture of Gaussians, Hidden Markov Models, Probabilistic Latent Semantic Analysis (PLSI)

ML估计可以通过EM算法迭代得到. 每个迭代中, 我们使用上一个迭代的统计量更新模型.

如果是非指数族分布,就只能使用梯度方法求解。

合约广告系统

担保式投送(Guaranteed Delivery, GD)

GD的三个基础功能:CTR预测、流量预测 和 Audience Targeting

广告三方博弈:广告主、媒体、用户

在线分配(Online Allocation)问题,在量一定的情况下优化质 —— 二部图匹配问题

受众定向

常见受众定向方式

  • 人口、地域 都属于传统广告商比较容易接受的定向语言,其实不一定有很好的效果。
  • 上下文、行为定向 f(u), f(c), f(u, c)
  • 网站、频道定向
  • Hyper-local 对应于地域定向,传统地域到城市或省的级别,而Hyper-local是非常细的粒度,比如清华园的主楼级别。
  • look-alike 比如银行、汽车网站,给supply提供一些种子人群,映射到supply的海量用户数据,相当于retargeting的一种扩量方式
  • 重定向 targeting效果最好,但量很少,完全由广告主网站的流量决定。

行为定向 f(u)

利用用户的历史行为,对受众打标签。

九种原始行为:

行为 说明
Transaction, Pre-transaction(如商品浏览) 很强。其中Transaction最强,所以淘宝直通车很能赚钱。
Paid search click, Ad click, Search click, Search 较强
Share, Page View, Ad view 较弱。PV被动行为,效果较差;ad view经常是一个负系数。

Share虽然是主动行为,但一般很难在demand端找到诉求,对广告主没有意义。 这些行为越往demand对转化越有效,越往supply越弱。没有人比广告主更了解他的用户,媒体虽然有海量数据,但没有广告主的数据有用,所以淘宝的交易数据是最有价值的。

直接使用tagger程序把原始行为简单转化成标签及强度,shallow挖掘即可。

受众定向评测:Reach/CTR曲线。评估标签是否有效。

上下文定向 f(c)

和行为定向类似,但行为定向打标签是离线的,而上下文定向是接近在线的,称作near-line上下文定向。

利用在线cache系统存储 url -> 特征表 以提供实时访问。对于cache中不存在的url,返回空特征,同时触发fetcher去爬取页面并提取特征。可以设置cache系统合适的失效时间以完成特征自动更新。

Topic Model

PLSA, LDA, GaP 经验贝叶斯 Empirical Bayes 是LDA更一般的形式。

  • Deterministic inference - VBEM方法
  • Probabilistic inference - Gibbs-sampling方法

no free lunch定理

竞价广告系统

竞价广告是标签精细化之后的必然选择。

Position auctions

定价机制:VCG, GSP

广告网络 (Ad Network)

特征:

  • 竞价系统
  • 淡化广告位概念。售卖的是人群,淡化媒体。
  • 最合适的计价方式是CPC。因为淡化广告位概念,比如百度联盟,广告位位置千奇百怪,曝光率差别巨大,没法估计impression,所以也就没办法使用CPM。(对比实时竞价,是使用CPM)
  • 不足:不易支持定制化用户划分。关键词由广告网络制定,广告主需要自己把自己的需求划分到指定的广告词。

Ad network只需要估计ctr,而click value由demand出价。

广告检索

布尔表达式检索

长query情况下相关性检索 - WAND算法

点击率预估

点击预测概率模型:

p of click given a, u, c

\[\mu(a,u,c) = p(click |a,u,c)\]

新广告的cold start: 利用广告层级结构(creative, solution, campaign, advertiser),以及广告标签对新广告点击率估计。

由于click是一个binomial变量,大家很直观的去使用LR模型。

  • LR模型是Generalized linear model在Binomial error情形下的特例。
  • LR模型是Maximum entropy model在类数目等于2的情形下的特例。

LR优化方法

BFGS (Broyden, Fletcher, Goldfarb, Shanno)

Quasi-Newton方法的一种,思路为用函数值和特征的变化量来近似Hession矩阵,以保证正定性,并减少计算量。

BFGS方法Hession计算公式 (空间复杂度为$O(n^2)$ ):

\[\begin{align} H_{k+1} &= H_k - \frac{H_ky_ky_k^TH_k}{y_k^TH_ky_k}+\frac{s_ks_k^T}{y_k^Ts_k} \\ y_k &= \nabla_{k+1} - \nabla_k \\ s_k &= x_{k+1} -x_k \end{align}\]

L(imited memory)-BFGS 是实际使用的算法,在大规模数据中降低空间复杂度的经典方法。

L-BFGS也是LR和最大熵模型求解的最常用方法。

搜索广告和广告网络demand技术

Explore & Exploit

数学上通常描述为Multi-arm Bandit(MAB)问题,基本方法为e-greedy,将e比例的小部分流量用于随机探索。

UCB(upper confidence bound)

arm太多的情况,工程上解决方案:降维。比如不再使用广告a的id号,而是转换成颜色、尺寸等特征矢量。

搜索广告

搜索广告就是一个典型的ad network,但由于它太重要了,其相关技术比展示广告之类的ad network要丰富得多。

特点:

  • 用户定向标签f(u),远远弱于上下文f(c)影响,一般可以忽略。(因为用户query意图太强了)
  • session内的短时用户搜索行为作用很重要
  • 上下文定向标签f(c):关键词

查询词扩展

主要是搜索广告运营商希望攫取更多利润。比如 “家具” 扩展到“家具店”、“搬家”,1)转化率会变差,词的价值变低,广告主出价不变的话,运营商的利润会更高;2)让广告主竞价词的范围增大,让市场充分竞争,利于市场盘子做大,营收增加。

  • 基于推荐的方法,利用搜索数据
  • 基于语义的方法,利用其他文档数据
  • 基于收益的方法,利用广告数据

搜索广告的个性化

一般来说搜索结果不应该做个性化,但搜索广告的展示条数可以深度个性化的。原因在于:即使在美国,也有约一半的用户无法明确区分广告与搜索结果。

短时用户行为反馈

session: 短时间内的几次query行为 (需要用到流式计算平台)

  • 短时受众定向:根据短时行为为用户打上的标签
  • 短时点击反馈:根据短时广告交互计算的动态特征

流式计算平台

与Hadoop的区别在于:调度数据而非调度计算。——这决定了storm无法处理海量数据计算。

Hadoop是调度计算,尽量不调度数据。它会把每个执行binary复制到数据所在的node上计算。而Storm的数据会在每个node之间流转。

Trading Desk

为Demand服务,比如如何选择关键词,如何为关键词定价。

EfficientFrontier公司

核心业务:为搜索广告主提供大量关键词情形下的ROI优化服务。

转换为金融领域的Portfolio Optimization问题

广告交易市场

广告交易平台 (Ad Exchange)

特征:

  • 用实时竞价(RTB)方式连接广告和 上下文/用户
  • 按照展示上的竞价收取广告主费用(意味着把ctr和click value都交给demand)

Adx无需估计ctr和click value,即eCPM是由demand出价,RTB返回,所以实现逻辑其实比较简单。

潜在问题(对adx):

  • 存在浏览数据的泄漏风险,比如dsp恶意采集用户信息
  • 对latency有较大影响(通常最大100ms),无形中影响了ctr
  • 由于adx要多接多家dsp,流量成本有可能直接翻n倍(call out optimization)

call out optimization: 预先估计可能出价并赢得bid的DSP,思路类似GD online allocation问题。

Cooking Mapping

三个核心问题:谁发起?在哪里发起?谁存mapping表?

  • DSP –> ADX –> DSP (存mapping表)
  • supply –> DMP –> supply (存mapping表)

供应方平台 (Supply Side Platform)

特征:

  • 提供媒体端的用户划分和售卖能力
  • 可以灵活接入多种变现方式(首先按天排期售卖,排不了的就dynamic allocation,比如接cpm、广告联盟、rtb)
  • 收益管理:统一network optimization和RTB

需求方平台 (Demand Side Platform)

特征:

  • 定制化用户划分(customized audience segmentation),即DSP需要帮广告主实现在市场日常通用的标签里拿不到的用户划分,比如电商网站需要对老客户做营销,这个老客户即所谓的定制化用户划分。
  • 跨媒体流量采购
  • 通过ROI估计来支持RTB

DSP的系统会比较复杂,因为它代理广告主的广告库,并且最终根据eCPM出价,既要估计ctr也要估计click value,所以ad retrieval, ranking, yield management这些模块全都需要实现,并且需要做定制化人群划分。

click value predict

DSP里的click value估计是要求最高的。

挑战:

  • 非常稀疏的训练数据
  • 与广告主类型强烈相关的行为模式

比如电商和游戏的转化是完全不同的,在稀疏的数据上还需要分类型训练,所以对ML来说是巨大挑战。

retargeting

重定向是customized audience segmentation的一种方式。

  • 网站重定向
  • 搜索重定向
  • 个性化重定向 (购买追踪 + 站外推荐)

新客推荐(look-alike)

$f(a, u)$ targeting方式

  • 由广告商提供一部分种子用户,DSP通过网络行为的相似性为其找到潜在用户
  • 是一种广告商自定义标签,可以视为扩展的重定向
  • 在同样reach水平下,效果应好于通用标签
  • 应该尽量利用非demand数据,注意避免在竞争对手之间倒卖用户

网络行为的相似性维度:pv, search, ad click, share

推荐算法概述

协同过滤算法(collaborative filtering)

  • 内存方法,或非参数方法 Neighbor-based methods, Item-based/user-based top-N
  • 模型方法,或参数方法 Matrix factorization, Bayesian belief nets

基于内容算法(Content-based algorithm)

比较适合新闻类推荐。

推荐算法的本质:是对 $\brace{u, a}$ 的co-occurence这一稀疏矩阵的参数或非参数化的描述。

推荐算法举例 SVD++

协同关系矩阵

  • 每个元素 $r_{ua}$ 表示u在a上的交互强度
  • 此矩阵的大多数元素为未知,推荐算法的目标就是预测这些位置上的强度值

对比Topic Model,协同关系矩阵位置元素的地方,在Topic Model里为0.

参考