一、个性化系统
个性化系统:推荐系统、计算广告系统、个人征信系统等。
构成四大主体:
- 在线投放引擎(用于实时响应请求,完成决策)
- 分布式计算平台(用于离线数据处理)
- 流计算平台(用于在线实时反馈)
- 数据高速公路(连接以上三部分)
二、计算广告系统框架
1、 广告投放引擎
广告系统的投放引擎采用类搜索的架构,即检索加排序的两阶段决策过程。
- 广告投放机器(ad server)
接受广告前端 Web 服务器发来的请求,完成广告投放决策并返回最后页面片段的主逻辑。广告投放机的主要任务是与其他各个功能模块打交道,并将它们串联起来完成在线广告投放决策。最重要的指标是每秒查询数(Query per Second,QPS)以及广告决策的延迟(latency)。
- 广告检索(ad retrieval)
在线时根据用户标签(user attributes)与页面标签(page attributes)从广告索引(ad index)中查找符合条件的广告候选。
- 广告排序(ad ranking)
是在线高效地计算广告的 eCPM,并进行排序的模块。eCPM 的计算主要依赖于点击率估计,这需要用到离线计算得到的 CTR 模型和特征(CTR Model&Features),有时还会用到流计算得到的实时点击率特征(real-time features)。在需要估计点击价值的广告产品(如按效果结算的 DSP)中,还需要一个点击价值估计的模型。
- 收益管理(yield management)
在各种广告系统中将局部广告排序的结果进一步调整,以全局收益最优为目的做调整的功能,如 GD 系统中的在线分配、DSP 中的出价策略等。
- 广告请求接口
- 定制化用户划分(customized audience segmentation)
由于广告是媒体替广告主完成用户接触,那么有时需要根据广告主的逻辑来划分用户群,这部分也是具有鲜明广告特色的模块。
2、 数据公路高速
3、离线数据处理
用户会话日志生成、行为定向、上下文定向、点击率建模、分配规划、商业智能、广告管理系统
4、在线数据处理
在线反作弊、计费、在线行为反馈、实时索引
5、计算广告系统主要技术
特征提取、eCPM估计(点击率预估)、在线分配、强化学习(reinforement learning)、个性化推荐(效果类DSP重定向)
6、 用开源工具搭建计算广告系统
nginx+zookeeper+lucene+thrift+flume+hadoop+redis+storm+spark