上海论文网提供MBA论文选题服务,专业提供硕士毕业论文服务。
导航 当前位置:上海论文网 > 计算机论文 > 正文
广告推荐投放系统的设计与实现[计算机论文]
  • 论文价格:150
  • 用途:硕士毕业论文 Master Thesis
  • 编辑:vicky
  • 点击次数:
  • 论文字数:35226
  • 论文编号:el2021082413043123346
  • 日期:2021-10-03
  • 来源:上海论文网
计算机应用技术论文哪里有?本文根据对广告系统的相关计算流程及使用情况进行调研,设计了数据预处理、候选广告召回、CTR 预估、广告推荐等核心模块,分析相关模型的使用可行性及其优劣势,对整体结构分析设计,深入了解相关算法和神经网络模型,对业务方面需求、功能性需求及非功能性需求等进行分析,运用 Hadoop,Spark(Spark SQL,Spark ML,Spark-Streaming)、深度神经网络、注意力机制等相关理论技术完成对系统的相关模块设计与实现。

第 1 章  绪论

1.2.2  推荐模型研究现状
广告推荐和推荐系统在近些年的快速发展密不可分,推荐系统中多数人将研究的方向着眼于CTR的预测,推荐系统分为两个主要策略召回、精排,而召回过程主要是利用少量的特征和简单的模型或规则进行候选集的快速筛选,减少精排阶段的时间开销,而这个阶段的策略则多为多路召回策略,该策略在计算速度和召回率之间进行了权衡,其中“多路”则包含热门新闻、兴趣标签、协同过滤等多种召回方式,这其中的协同过滤则是在2003年Amazon的经典论文中得以广为人知[1]。而另一种召回策略名为基于Embedding的召回方法,在2016年YouTube的论文中有所体现[2]。在深度学习广泛应用之前,还产生许多算法应用于推荐系统中,如矩阵分解算法,它针对协同过滤算法的头部效应明显、泛化能力较弱的问题提出了改进,加入了隐向量的概念,也加强了模型处理稀疏矩阵的能力[3]。随着逻辑回归概念提出,推荐系统的另一个研究方向开始逐渐进入人们眼帘,相对协同过滤只能通过用户和物品之间的交互行为信息进行推荐,逻辑回归模型能够合理的使用用户、物品、上下文等多种类型特征,其另一种表现形式“感知机”作为神经网络中最基础的单一神经元,是深度学习的基础型结构,它将推荐领域所存在的问题视作分类问题并以此建模,通过对物品的点击概率进行排序,最终经过CTR预估的方式完成推荐[4]。在2010年Rendle提出了FM模型,该模型相比逻辑回归,具备了二阶特征交叉能力,模型的表达能力得到增强,其在模型中加入了二阶特征交叉部分,为每一维特征训练得到相应特征隐向量,通过隐向量间的内积运算得到交叉特征权重[5]。而2015年基于FM的FFM模型在多项CTR预估大赛中夺魁,并被多家公司应用于推荐系统中,它在FM的基础上,加入了“特征域”的概念,使每个特征在不同特征域的特征交叉时采用不同的隐向量[6]。而Facebook的GBDT+LR模型则是通过GBDT进行自动化的特征组合,将原始特征向量转换成为离散型特征向量,并输入逻辑回归模型,进行最终的CTR预估[7]。广告推荐投放系统的设计与实现
广告推荐投放系统的设计与实现 
.........................

第 3 章  广告推荐投放系统需求分析

3.1  业务需求分析
广告行业其历史可回溯到很久以前,在大数据兴起前其载体通常为纸质媒体、电视广告以及线下实体广告牌等,随着大数据的崛起,互联网广告也逐步替代传统广告行业达到了广告行业的新高度,成为了广告的主要载体。广告的业务流程包括广告主通过投放平台发布广告,同时设置定向条件和出价等,在广告进入广告库及索引库之后,C 端发送请求,经过候选广告召回、广告点击率预估等一系列逻辑,最终筛选出 Top-N 个广告,实现对不同受众人群的不同广告推荐,从而让广告平台产生收益,广告的形态与数据天然契合,即利用有限的资源进行流量的匹配,最终获得更好的投放效果[45]。
广告系统的核心作用在于将广告主的资源和用户进行匹配推荐,并不断进行优化以达到更好的匹配度。在广告主端做到以有限的预算达到最大效率的转化,而平台方则是去做到精确匹配广告和用户,从而提高平台方收益并提升广告主的广告转化率,广告系统的本质可以理解为针对用户做候选资源即广告资源的排序问题,在此基础上可以进行进行优化匹配,提升广告的转化率,并权衡竞价及投放的问题。
系统中为了达到精准匹配广告给适合的用户,需要经过以下几个计算阶段,即候选资源的召回、候选资源的排序、推荐的策略规则逻辑、服务化输出等[46]。召回阶段通常利用离线模式召回,并利用推荐中的召回算法,也是广告候选资源的初筛阶段,对标签体系有所要求。而作为广告系统中投入技术成本最多的排序阶段则是以用户等特征做点击率的预估,并最终达到高的转化率,广告系统中对于点击率预估的要求极高,该模块涉及系统的核心收益,也是系统的核心模块。
........................

第 5 章  广告推荐投放系统详细设计与实现

5.1  系统软硬件开发环境
广告投放推荐系统的核心在于算法模型的构建和训练,其算法涉及机器学习以及深度学习。为了防止延迟,本系统在架构设计上对当前主流开发技术进行调研,最终选取如下技术作为系统组成:
数据预处理:Python、Spark SQL
算法:Python、Spark ML
数据库:HDFS、Redis
本系统在算法模型上采用 Python 作为语言,作为一种动态的脚本语言,其在机器学习及深度学习方面极其有优势。可跨平台执行作业,在应用程序接口上极为广泛,并拥有丰富的开源工具包,有着 sk-learn、pytorch、TensorFlow 等三方库,方便构建相关模型。Spark 适合处理大规模的数据量,并有极高的计算效率。而 Redis作为在性能和并发方面都较为出色的数据库,且能够通过缓存的方式达到迅速响应的效果,因此也是系统中数据库的首选[53]。
.......................

5.2  数据预处理模块

5.2.1  数据预处理模块流程设计
在设备限制的条件下,对 raw_sample 数据集的用户进行部分采集,并依据所选取的用户映射相关的用户行为日志数据。为了召回阶段的模型输入,需将映射后的用户行为日志数据经过透视转换统计出用户对于广告的各种行为次数,并根据用户对于类别的各种行为次数指定打分规则,把这些次数转换成最终的评分情况。
而针对 CTR 预估模型所需数据,则需要对其分析并将独热向量 embedding 成为低维稠密向量,并依据时间戳将数据划分为训练数据和测试数据,对用户基本信息表中所涉及的字段值缺失情况,采用随机森林对缺失值进行填充,最后根据系统中相关数据库设计将处理过的数据缓存至 Redis 数据库,数据预处理模块流程如图5-1 所示。
图 5-1.  数据预处理模块流程图
图 5-1.  数据预处理模块流程图
.........................

结论
当前我们置身于一个信息化的时代,数据的价值和作用也愈加明显,而如何使用这些信息产生价值就成为了核心需要去解决的问题。而互联网广告作为商业产品有效产出的渠道之一,也让信息的价值得到体现,随着大量优秀的模型、算法的产出,针对用户的广告推荐也越来越符合用户的预期结果,通过有效利用用户相关画像数据、与广告的交互数据及广告相关数据并设计个性化广告推荐投放系统,在广告的投放过程中可有效避免消耗资源的人工特征,同时提高投放精确程度,更有效地平衡广告主、媒体平台和用户之间各方利益以及维护用户的体验。
根据对广告系统进行需求分析并针对结构完成设计后,可将系统的功能模块分为数据预处理模块、候选广告召回模块、广告点击率预估模块、广告推荐模块等,该系统依赖于分布式存储计算平台 Hadoop、Spark,结合主流的理论技术和算法,如深度神经网络、注意力机制等完成了系统的需求分析和功能模块的设计与实现,具体包括: 
1.  数据预处理模块。该模块首先对系统中的用户广告点击行为日志、广告自身特征、用户自身特征、用户的购物行为日志等进行清洗,针对字段特征缺失,通过机器学习中随机森林等算法对 null 值进行填充。之后则通过对用户购物行为日志数据进行透视转换、指定打分规则等方式,最终形成后续模块所需数据格式。
2.  候选广告召回模块。通过 Spark 的 ALS 隐因子模型进行候选广告召回,该模型通过交替最小二乘法求解,通过矩阵分解技术,将数据进行降维处理。模型传入用户 id,广告类别 id,用户-广告类别评分作为输入训练 ALS 模型,最终召回一定数量级的候选广告,并将之保存至 Redis。
3.  广告点击率预估模块。该模块基于 DIEN 模型对广告点击率进行预估,首先将大规模稀疏特征映射到低维 embedding 向量,经过兴趣提取层通过GRU 网络模拟用户行为序列及兴趣迁移过程,并引入兴趣进化层加入注意力机制以模拟与目标广告相关的兴趣进化过程。最终将处理好的特征输入DIEN 网络完成点击率预测。
4.  广告推荐模块。该模块实现以上模块的结合并实现实时推荐产生推荐结果,该模块的核心在于将实时数据预处理成 CTR 模型可用数据的过程,并将各模块所处理结果相结合,最终实现键入用户 id 和广告资源位实时计算输出推荐列表,从而实现了广告推荐投放系统。
参考文献(略)