一种基于特征交叉联合深度神经网络的广告推荐方法转让专利

申请号 : CN201810433774.1

文献号 : CN108629630B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余志文麦文军张乙东郭丽娟郑洁纯施一帆

申请人 : 广州太平洋电脑信息咨询有限公司

摘要 :

本发明公开了一种基于特征交叉联合深度神经网络的广告推荐方法,包括步骤:1)服务器收集广告平台的广告日志进行数据清洗,将数据样本加入样本流中,并将数据存储到分布式文件系统的存储模块中;2)服务器利用召回层对样本流的数据进行筛选,得到初步的针对用户的候选推荐广告ID子集;3)服务器对候选推荐广告ID子集进行排序预测,得到对应的用户广告推送子集。本发明具有提高了广告推荐的有效性以及提升了广告CTR指标等优点。

权利要求 :

1.一种基于特征交叉联合深度神经网络的广告推荐方法,其特征在于,包括以下步骤:

1)服务器收集广告平台的广告日志进行数据清洗,将数据样本加入样本流中,并将数据存储到分布式文件系统的存储模块中;

2)服务器利用召回层对样本流的数据进行筛选,得到初步的针对用户的候选推荐广告ID子集,其中ID表示标识码;

3)服务器对用户的候选推荐广告ID子集进行排序预测,得到对应的用户广告推送子集,其过程如下:

3.1)对类别特征进行独热编码处理,对数值型特征进行离散值操作,对广告转化率特征进行贝叶斯平滑处理得到特征为F1;

3.2)复制一份步骤3.1)处理好的类别特征,将这部分特征分别做特征嵌入操作,即embedding操作,记这部分特征为F2;

3.3)将步骤3.1)经过处理的类别特征加入交叉网络中,进行m层的特征交叉操作,最终得到这部分的特征为F3;

3.4)将特征F1和特征F2以及特征F3进行堆叠操作,即Stacking操作,加入n层的全连接深度神经网络中进行训练,其中网络的激活函数使用线性校正单元,即ReLu Units,输出函数为激活函数,即Sigmoid函数;

3.5)采用对数似然函数的损失函数以及自适应矩阵估计算法即Adam算法来对步骤

3.4)的网络进行优化,利用在线学习的方式,实时更新网络的参数,得到预测候选广告子集的模型,进行候选子集排序。

2.根据权利要求1所述的一种基于特征交叉联合深度神经网络的广告推荐方法,其特征在于:在步骤1)中,对广告日志进行数据清洗,包括对存在作弊的数据和噪声数据进行过滤,对作弊数据和噪声数据的过滤主要是指广告日志的所有记录中,按设定的时间粒度里,对广告在广告平台频繁出现的广告展示、点击的广告动作,并且上述广告动作发生的频率超过正常用户对广告的交互频率,会将这些广告数据视为不合理、作弊的;噪声数据的过滤是将广告平台在收集日志时可能发生的网络异常、用户错误点击、时间戳偏差以及数据基础特征缺失的不正常因素,导致广告数据与正常广告数据差异大于设定值,这些数据就会被视为噪声数据;上述的作弊数据和噪声数据会在数据清洗阶段被剔除;

将清洗后的数据保存到以分布式文件系统HDFS为实现基础的存储模块中,并创建相应的Hive数据库表。

3.根据权利要求1所述的一种基于特征交叉联合深度神经网络的广告推荐方法,其特征在于:在步骤2)中,利用召回层对样本流的数据进行筛选的过程为:从HDFS读出的经过处理的广告日志,将其作为模型训练的样本流,召回层会结合用户属性,包括用户性别、用户年龄、用户兴趣类目、用户以往点击广告ID的特征结合步骤1)中产生的广告日志,形成新的样本流,利用逻辑斯蒂回归模型初步选出针对用户和广告位的广告推荐候选子集;其中,逻辑斯蒂回归模型评分计算公式:式中,θ是对应的特征参数,e-xθ是指数函数,hθ(x)是对样本x在(0,1)之间的评分;

对每个用户和每个广告位对应的广告样本集按评分进行排序,并选取计算结果最高的n个样本集,作为该用户以及广告位的推荐候选子集,用于后续的排序。

4.根据权利要求1所述的一种基于特征交叉联合深度神经网络的广告推荐方法,其特征在于:在步骤3.2)中,将特征分别做特征嵌入操作的过程为:将经过独热编码处理和离散化特征分别进行低维嵌入操作,即加入到embedding层中,其中embedding操作公式为:xembed,i=Wembed,ixi

式中,xembed,i是对应的特征嵌入层,xi是对应的第i个特征的离散输入,是对应的嵌入矩阵,Wembed,i的优化是根据深度神经网络整体的优化得到的, 是实数域集合,ne、nv分别是对应特征嵌入层大小和特征维度大小;经过特征嵌入层操作的特征,最后将会以x0输入到深度神经网络中,公式为:式中,k是进行特征嵌入操作的特征数目,最终得到这部分的特征为F2。

5.根据权利要求1所述的一种基于特征交叉联合深度神经网络的广告推荐方法,其特征在于:在步骤3.3)中,将处理的类别特征加入交叉网络的过程为:将经过独热编码处理和离散化特征加入特征交叉网络中,交叉操作的公式为:式中,xl,xl+1∈Rd对应的是第l层特征交叉层和第l+1层特征交叉层,Rd是实数域集合,是xl的转置矩阵,x0是输入的初始层;wl和bl是第l特征交叉层对应学习到的参数,每一层的训练优化都是基于神经网络整体优化得到的;进行m层的特征交叉操作,最终得到这部分的特征为F3。

6.根据权利要求1所述的一种基于特征交叉联合深度神经网络的广告推荐方法,其特征在于:在步骤3.4)中,将堆叠操作后的特征加入n层的全连接深度神经网络中进行训练的过程为:将特征F1和特征F2以及特征F3进行Stacking操作,操作公式为:xinput=[F1,F2,F3]

式中,xinput是输入的总特征,将xinput加入n层的全连接深度神经网络中进行训练,每一层的网络是全连接神经网络,其公式表达为:hl+1=f(Wlhl+bl)

式中, 分别对应第l层网络和第l+1层隐藏层网络, 都

是实数域集合; 是第l层网络对应的参数, 都是实

数域集合;f(·)是线性校正单元,其公式为:

最后一层是针对预测样本是否被点击的概率输出,其公式为:

p=σ(hn·Wlogits)

式中,hn∈Rs是深度神经网络的输出,Rs是实数域集合,Wlogits是最后一层的参数,s是输出层向量大小,并且σ(·)为:-x

式中e 是指数函数。

说明书 :

一种基于特征交叉联合深度神经网络的广告推荐方法

技术领域

[0001] 本发明涉及在线程序化广告平台的技术领域,尤其是指一种基于特征交叉联合深度神经网络的广告推荐方法。

背景技术

[0002] 随着移动互联网的普及和飞速发展,在线广告应运而生。在线广告,也称为网络广告、互联网广告,顾名思义,指的是在线媒体投放的广告。与传统广告不同的是,在线广告在其短短十几年的发展过程中,已经形成了以人群为投放目标、以产品为导向的技术型投放模式。在线广告不仅为广告主带来了以准确接触目标受众为方法论的全新的营销渠道,也为互联网免费产品和媒体供应商们找到了规模化变现的手段。
[0003] 当前,程序化广告平台利用技术手段进行广告交易和管理,广告主可以程序化采购媒体资源,并利用算法和技术自动实现精准的目标受众向,只把广告投放给对的人。广告服务商可以程序化售卖跨媒体、跨终端(电脑、手机、平板、互联网电视等)的媒体资源,并利用技术实现广告流量的分级,进行差异化定价。然而,随着移动用户和数据的急剧增长,用户兴趣点越来越多,如何利用推荐算法来将广告投放到对的人成为一个关键问题。

发明内容

[0004] 本发明的目的在于克服现有技术的不足,提出了一种基于特征交叉联合深度神经网络的广告推荐方法,可有效解决特征工程工作过于繁琐的缺点,已达到自动挖掘特征来提高广告投放的精准度,从而提高了广告推荐的有效性以及提升了广告CTR指标。
[0005] 为实现上述目的,本发明所提供的技术方案为:一种基于特征交叉联合深度神经网络的广告推荐方法,包括以下步骤:
[0006] 1)服务器收集广告平台的广告日志进行数据清洗,将数据样本加入样本流中,并将数据存储到分布式文件系统的存储模块中;
[0007] 2)服务器利用召回层对样本流的数据进行筛选,得到初步的针对用户的候选推荐广告ID子集,其中ID表示标识码;
[0008] 3)服务器对用户的候选推荐广告ID子集进行排序预测,得到对应的用户广告推送子集,其过程如下:
[0009] 3.1)对类别特征进行独热编码处理,对数值型特征进行离散值操作,对广告转化率特征进行贝叶斯平滑处理得到特征为F1;
[0010] 3.2)复制一份步骤3.1)处理好的类别特征,将这部分特征分别做特征嵌入(embedding)操作,记这部分特征为F2;
[0011] 3.3)将步骤3.1)经过处理的类别特征加入交叉网络中,进行m层的特征交叉操作,最终得到这部分的特征为F3;
[0012] 3.4)将特征F1和特征F2以及特征F3进行堆叠(Stacking)操作,加入n层的全连接深度神经网络中进行训练,其中网络的激活函数使用线性校正单元(ReLuUnits),输出函数为激活(Sigmoid)函数;
[0013] 3.5)采用对数似然函数的损失函数以及自适应矩阵估计(Adam)算法来对步骤3.4)的网络进行优化,利用在线学习的方式,实时更新网络的参数,得到预测候选广告子集的模型,进行候选子集排序。
[0014] 在步骤1)中,对广告日志进行数据清洗,包括对存在作弊的数据和噪声数据进行过滤,对作弊数据和噪声数据的过滤主要是指按广告日志的所有记录中,按设定的时间粒度里,对广告在广告平台频繁出现的广告展示、点击的广告动作,并且上述广告动作发生的频率超过正常用户对广告的交互频率,会将这些广告数据视为不合理、作弊的;噪声数据的过滤是将广告平台在收集日志是可能发生的网络异常、用户错误点击、时间戳偏差以及数据基础特征缺失的不正常因素,导致广告数据与正常广告数据差异大于设定值,这些数据就会被视为噪声数据;上述的作弊数据和噪声数据会在数据清洗阶段被剔除;
[0015] 将清洗后的数据保存到以分布式文件系统HDFS为实现基础的存储模块中,并创建相应的Hive数据库表。
[0016] 在步骤2)中,利用召回层对样本流的数据进行筛选的过程为:从HDFS读出的经过处理的广告日志,将其作为模型训练的样本流,召回层会结合用户属性,包括用户性别、用户年龄、用户兴趣类目、用户以往点击广告ID的特征结合步骤1)中产生的广告日志,形成新的样本流,利用逻辑斯蒂回归模型初步选出针对用户和广告位的广告推荐候选子集;其中,逻辑斯蒂回归模型评分计算公式:
[0017]
[0018] 式中,x是样本的特征,θ是对应的特征参数,e-xθ是指数函数,hθ(x)是对样本x在(0,1)之间的评分;
[0019] 对每个用户和每个广告位对应的广告样本集按评分进行排序,并选取计算结果最高的n个样本集,作为该用户以及广告位的推荐候选子集,用于后序的排序。
[0020] 在步骤3.2)中,将特征分别做特征嵌入(embedding)操作的过程为:将经过独热编码处理和离散化特征分别进行低维嵌入操作,即加入到embedding层中,其中embedding操作公式为:
[0021] xembed,i=Wembed,ixi
[0022] 式中,xembed,i是对应的特征嵌入层,xi是对应的第i个特征的离散输入,( 是实数域集合)是对应的嵌入矩阵,Wembed,i的优化是根据深度神经网络整体的优化得到的,ne、nv分别是对应特征嵌入层大小和特征维度大小;经过特征嵌入层操作的特征,最后将会以x0输入到深度神经网络中,公式为:
[0023]
[0024] 式中,k是进行特征嵌入操作的特征数目,最终得到这部分的特征为F2。
[0025] 在步骤3.3)中,将处理的类别特征加入交叉网络的过程为:将经过独热编码处理和离散化特征加入特征交叉网络中,交叉操作的公式为:
[0026]
[0027] 式中,xl,xl+1∈Rd(Rd是实数域集合),对应的是第l层特征交叉层和第l+1层特征交叉层, 是xl的转置矩阵,x0是输入的初始层;wl和bl是第l特征交叉层对应学习到的参数,每一层的训练优化都是基于神经网络整体优化得到的;进行m层的特征交叉操作,最终得到这部分的特征为F3。
[0028] 在步骤3.4)中,将stacking操作后的特征加入n层的全连接深度神经网络中进行训练的过程为:将特征F1和特征F2以及特征F3进行堆叠(Stacking)操作,操作公式为:
[0029] xinput=[F1,F2,F3]
[0030] 式中,xinput是输入的总特征,将xinput加入n层的全连接深度神经网络中进行训练,每一层的网络是全连接神经网络,其公式表达为:
[0031] hl+1=f(Wlhl+bl)
[0032] 式中, ( 都是实数域集合)分别对应第l层网络和第l+1层隐藏层网络; ( 都是实数域集合)是第l
层网络对应的参数;f(·)是线性校正单元(ReLu Units),其公式为:
[0033]
[0034] 最后一层是针对预测样本是否被点击的概率输出,其公式为:
[0035] p=σ(hn·Wlogits)
[0036] 式中,hn∈Rm(Rm是实数域集合)是深度神经网络的输出,Wlogits是最后一层的参数,m是输出层向量大小,并且σ(·)为:
[0037]
[0038] 式中e-x是指数函数。
[0039] 在步骤3.5)中,得到预测候选广告子集的模型的过程为:对基于特征交叉联合深度神经网络进行求解,使用的损失函数加了正则项的对数损失函数,公式为:
[0040]
[0041] 式中,pi是计算出的概率,yi是真实的标签,即广告是否被点击(0、1),N是输入网络的样本总数,λ是高斯正则化参数,wl是被约束的参数;对上述公式使用的Adam算法来进行优化;然后利用在线学习的方式从样本流中读入每个batch的数据来实时更新网络的参数,并且每次模型的更新都保存该模型的参数到服务器,服务器接收来自所述召回层过来的候选子集,利用最新模型来对候选广告子集进行排序,得到前k个广告,最后,广告平台得到服务器推送的广告推荐集,并在所述广告平台中展示。
[0042] 本发明与现有技术相比,具有如下优点与有益效果:
[0043] 1、本发明有效解决了现有技术的广告推荐问题,降低了人工设计特征成本以及能自动学习广告推荐场景下的交叉特征,提高了广告推荐的有效性以及提升了广告CTR指标。
[0044] 2、本发明的特征交叉联合深度神经网络包括对收集到的广告日志中的特征通过使用两种不同的输入结构来处理特征,处理后的特征分为两部分;一部分是基于多层交叉特征网络提取出的交叉组合特征,这种网络并不需要人为设计的特征工程,足够简单同时也有效,并且能有效地节约内存;另一部分是经过低维嵌入(embedding)处理的特征,低维嵌入的特征可以挖掘特征隐含的信息,使得不同维度代表不同的含义,提高模型的泛化能力。将交叉组合特征和低维嵌入特征一起加入到深度神经网络中,通过深度神经网络,模型可以自动挖掘更深次的特征关系,提高模型的泛化能力,从而挖掘更准确的用户兴趣点,提高广告推荐的有效性和广告CTR指标。

附图说明

[0045] 图1为本发明方法的逻辑流程图。

具体实施方式

[0046] 下面结合具体实施例对本发明作进一步说明。
[0047] 如图1所示,本实施例所提供的基于特征交叉联合深度神经网络的广告推荐方法,包括以下步骤:
[0048] 1)服务器收集广告平台的广告日志进行数据清洗,将数据样本加入样本流中,并将数据存储到分布式文件系统的存储模块中;
[0049] 1.1)对广告日志进行数据清洗,包括对存在作弊的数据和噪声数据进行过滤,对作弊数据和噪声数据的过滤主要是指按广告日志的所有记录中,按设定的时间粒度里,对广告在所述广告平台频繁出现的广告展示、点击等广告动作,并且上述广告动作发生的频率超过正常用户对广告的交互频率,会将这些广告数据视为不合理、作弊的;噪声数据的过滤是将广告平台在收集日志是可能发生的网络异常、用户错误点击、时间戳偏差以及数据基础特征缺失等不正常因素,导致所述广告数据与正常广告数据差异过大,这些数据就会被视为噪声数据。上述的作弊数据和噪声数据会在数据清洗阶段被剔除;
[0050] 1.2)将清洗后的数据保存到以分布式文件系统HDFS为实现基础的存储模块中,并创建相应的Hive数据库表。
[0051] 2)通过召回层得到候选广告子集;
[0052] 2.1)从HDFS读出的经过处理的广告日志,将其作为模型训练的样本流数据;
[0053] 2.2)所述召回层按用户属性,比如用户性别、用户年龄、用户兴趣类目、用户以往点击广告ID等的特征结合得到初步的样本集合,使用逻辑斯蒂回归模型对每条样本进行评分,逻辑斯蒂回归模型评分计算公式:
[0054]
[0055] 式中,x是样本的特征,θ是对应的特征参数,e-xθ是指数函数,hθ(x)是对样本x在(0,1)之间的评分;
[0056] 2.3)对每个用户和每个广告位对应的广告样本集按评分进行排序,并选取计算结果最高的n个样本集,作为该用户以及广告位的推荐候选子集,用于后序的排序。
[0057] 3)基于特征交叉联合深度神经网络的广告推荐算法对候选集进行排序;
[0058] 3.1)对步骤2得到的数据中的类别特征进行独热编码处理,独热编码即One-hot编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,只有一位有效。例如对用户性别特征进行编码,就是{男,女,其他},若该用户为男性用户,则编码为{1,0,0};
[0059] 3.2)将连续特征离散化为一系列0、1特征,比如用户年龄,划分的年龄区间是{<18岁,18岁-30岁,>30岁},若该用户为20岁,则该连续特征离散化为{0,1,0};
[0060] 3.3)对按时间区间划分的广告点击率或用户点击转化率等特征进行贝叶斯平滑操作,得到其归一化值,记为F1;
[0061] 3.4)将所述经过独热编码处理和离散化特征分别进行低维嵌入操作,即加入到embedding层中,其中embedding操作公式为:
[0062] xembed,i=Wembed,ixi
[0063] 式中,xembed,i是对应的特征嵌入层,xi是对应的第i个特征的离散输入,(ne,nv分别是对应特征嵌入层大小和特征维度大小, 是实数域集合)是对应的嵌入矩阵,Wembed,i的优化是根据深度神经网络整体的优化得到的;
[0064] 经过特征嵌入层操作的特征,最后将会以x0输入到深度神经网络中,公式为:
[0065]
[0066] 式中,k是进行特征嵌入操作的特征数目,最终得到这部分的特征为F2;
[0067] 3.5)将所述经过独热编码处理和离散化特征加入特征交叉网络中,交叉操作的公式为:
[0068]
[0069] 式中,xl,xl+1∈Rd(Rd是实数域集合)对应的是第l层特征交叉层和第l+1层特征交叉层, 是xl的转置矩阵,x0是输入的初始层,wl和bl是第l特征交叉层对应学习到的参数,每一层的训练优化都是基于神经网络整体优化得到的;进行m层的特征交叉操作,最终得到这部分的特征为F3;将特征F1和特征F2以及特征F3进行Stacking操作,操作公式为:
[0070] xinput=[F1,F2,F3]
[0071] 式中,xinput是输入的总特征,将xinput加入n层的全连接深度神经网络中进行训练,每一层的网络是全连接神经网络,其公式表达为:
[0072] hl+1=f(Wlhl+bl)
[0073] 式中, ( 都是实数域集合)分别对应第l层网络和第l+1层隐藏层网络, ( 都是实数域集合)是第l
层网络对应的参数;
[0074] f(·)是线性校正单元(ReLu Units),其公式为:
[0075]
[0076] 最后一层是针对预测样本是否被点击的概率输出,其公式为:
[0077] p=σ(hn·Wlogits)
[0078] 式中,hn∈Rm(Rm是实数域集合)是深度神经网络的输出,Wlogits是最后一层的参数,m是输出层向量大小,并且σ(·)为:
[0079]
[0080] 式中e-x是指数函数。
[0081] 随后是对整体的深度神经网络进行求解,使用的损失函数加了正则项的对数损失函数,公式为:
[0082]
[0083] 式中,pi是计算出的概率,yi是真实的标签,即广告是否被点击(0、1),N是输入网络的样本总数,λ是高斯正则化参数,wl是被约束的参数;对上述公式使用的ADAM算法来进行优化;
[0084] 利用在线学习的方式从样本流中读入每个batch的数据来实时更新网络的参数,并且每次模型的更新都保存该模型的参数到服务器,服务器接收来自所述召回层过来的候选子集,利用最新模型来对候选广告子集进行排序,得到前k个广告;
[0085] 进一步的,所述广告平台得到服务器推送的广告推荐集,并在所述广告平台中展示。
[0086] 以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。