计算广告是根据个体用户信息投送个性化内容的典型系统之一。在介绍计算广告系统的架构之前,先看看一般的个性化系统是如何构成的。
由4个主题部分构成:
协作流程是:在线投放系统的日志接入数据高速公路,再由数据高速公路快速转运到离线数据处理平台和在线流计算平台;离线数据处理平台周期性地以批处理方式加工过去一段时间的数据,得到人群标签和其他模型参数,存放在缓存中,供在线投放系统决策时使用;与此相对应,在线流计算平台则负责处理最近一小段时间的数据,得到准实时的用户标签和其他模型参数,也放到缓存中,供在线投放系统决策时使用,这些是对离线处理结果的即时补充和调整。
各种个性化系统之间有共性,但由于其数据来源、产品形态、优化目标的不同,系统架构的细节也会呈现很大的区别。在Web规模问题上的区别是决定系统架构不同的关键原因。
广告系统的优化目标是提高广告产品的利润:
任何一个具体的计算广告系统,都是为了优化上面的目标而设计的。对应于个性化系统一般框架,在广告系统中,每次展示的r是由在线的投放引擎来决策的,离线数据处理平台和流计算平台所做的,都是为了准备
这3个变量或其组合的一些特征。
不同的广告产品,优化目标有不同的表现形式,有时会有额外的约束。
在展示量合约的GD系统中,只要各合约达成,系统的收益就是确定的,主要优化目标是在满足各合约带来的约束,成本是媒体静态产生,与广告优化过程无关,认为是常数;ADN需要估计点击率
,并与广告主出的点击单价
相乘得到期望收入,成本是与收入成正比的媒体分成;ADX直接用广告主出的展示单价
作为期望收入,成本也是与收入成正比的媒体分成;在DSP中,点击率、点击价值和成本q都可能是需要预估和优化的,算法挑战较大。
在一个完整的广告系统架构中数据的记录、交易、流转、建模和使用,这些是广澳系统最核心的驱动力,也从本质上决定了广告产品的变现能力和利润空间。
广告投放引擎
一般来说,广告系统的投放引擎采用类搜索的架构,即检索加排序的两阶段决策过程。广告投放引擎还有一个独特模块–从全局优化的角度对整体收益进行管理。广告投放引擎的主要模块有以下几个:
数据高速公路
将在线投放的数据准实时传输到离线分布式计算平台与流式计算平台,供后续处理和建模使用。由于在进行受众定向建模时需要用到广告系统以外的其他用户产品日志,或者第三方提供的数据,数据高速公路也担负着收集这些数据源的任务。
离线数据处理
离线数据处理有两个输出目标:一是统计日志得到报表、仪表盘等,供人进行决策时作为参考;二是利用数据挖掘、机器学习技术进行受众定向、点击率预估、分配策略规划等,为在线的机器决策提供支持。离线数据处理的主要模块有下面几个: