一种深度特征提取的广告点击率预测系统及其预测方法转让专利

申请号 : CN201610983314.7

文献号 : CN106529721B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许荣斌谢莹张磊张兴义张以文

申请人 : 安徽大学

摘要 :

本发明公开了一种深度特征提取的广告点击率预测系统及其预测方法。所述系统包括:广告日志数据采集子系统,其用于采集广告点击日志数据;分区检测子系统,其用于对所述广告点击日志数据进行分区检测;十层稀疏约束特征提取隐层子系统,其用于在经过分区检测后的广告点击日志数据中提取广告数据的深度特征;空间约束模型生成子系统,其用于根据所述深度特征进行空间约束得到预测模型。其中,当有新的广告点击日志数据输入时,所述预测模型就能得到对应的预测结果。本发明能提取广告点击日志数据中的深度特征,针对大量广告点击日志数据先进行分区模块检测,加强稀疏规划,融合空间约束进而生成预测模型。

权利要求 :

1.一种深度特征提取的广告点击率预测系统,其特征在于:其包括:广告日志数据采集子系统,其用于采集广告点击日志数据;

分区检测子系统,其用于对所述广告点击日志数据进行分区检测;

十层稀疏约束特征提取隐层子系统,引入十层稀疏堆栈自编码器,用于在经过分区检测后的广告点击日志数据中提取广告数据的深度特征;

空间约束模型生成子系统,其用于根据所述深度特征进行空间约束得到预测模型;

其中,当有新的广告点击日志数据输入时,所述预测模型就能得到对应的预测结果;

所述分区检测子系统将所述广告点击日志数据建模为无向无权图G,G=(V,E),其中,V={V1,V2,…VN}是N个数据节点的集合;E=[eij]是V中两个数据节点i和j连接边的集合;分区检测子系统目的在于针对所述广告点击日志数据分析进而找到K个模块所述分区检测子系统引入索引矩阵 hik代表数据节点i属于模块K的概率, 表示概率值为N*N的正实数矩阵;所述分区检测子系统捕获数据节点i属于模块K的概率,索引矩阵H的每一行表示为属于同一个模块K内数据节点的分布;并设计wij为连接数据节点i和j的概率,这个概率被认为是由数据节点i和j生成的边属于同一个社区的概率,数据节点i和j的连接概率是: 邻接矩阵W表示为内含非负元素的对称矩阵 若数据节点i和j之间有边则wij=1,否则wij=0;对于所有1≤i≤N,wii=0;所述分区检测子系统将分区检测问题看作非负元素的对称矩阵的分解问题,令通过分区检测方法来寻找索引矩阵H以重建邻接矩阵W,获得数据的K个模块;

采用基于W和HHT两个矩阵之间的L1范式来衡量W和HHT之间的损失;索引矩阵H的第i行表示节 点 i 所 属 的 模 块 , 借 助 辅 助 矩 阵 Z , 得 到 :采用方程(1)在低维空间中寻找

新的最具代表力的信息并重建邻接矩阵;

在分区检测子系统中建立分区模块最大化模块函数S,S定义为在分区内部边的数量和在所有成对的数据节点期望数值之间的差值,最大化模块函数S设计为:T

其中,h为H的列向量数据,Q为模块化矩阵;采用hh=N来简化,当方程(2)扩展到模块数K>2时,获得:S=LKL(H,Q)=Tr(HQHT) (3);其中,Tr(.)是矩阵的迹;

基于Rayleigh商,方程(3)的结果是模块化矩阵Q的最大特征向量。

2.如权利要求1所述的深度特征提取的广告点击率预测系统,其特征在于:所述广告点击日志数据来自广告空间数据、地理信息数据、页面上下文数据,Cookie数据,所述广告点击日志数据的主要字段有:广告的点击次数、曝光次数、广告链接信息、广告位置信息、查询标号信息、查询关键字信息、广告标题信息、用户标号信息、所用设备信息。

3.如权利要求1所述的深度特征提取的广告点击率预测系统,其特征在于:对于每一层自编码器采用神经网络提取深度特征。

4.如权利要求3所述的深度特征提取的广告点击率预测系统,其特征在于:所述空间约束模型生成子系统引入重构空间图正则化来进行最终模型的生成。

5.如权利要求3所述的深度特征提取的广告点击率预测系统,其特征在于:所述空间约束模型生成子系统设计空间相似约束来生成预测模型;对数据节点进行成对空间约束。

6.如权利要求5所述的深度特征提取的广告点击率预测系统,其特征在于:融入数据节点i和j属于同一个空间的先验知识:首先,为了将两个相似数据节点分类到同一空间,数据节点i和j的新表示数据行hi和hj是相似的;其次,这些先验知识被编码到空间约束模型生成子系统中去进一步影响其他数据节点的嵌入。

7.一种深度特征提取的广告点击率预测方法,其应用于如权利要求1至6中任意一项所述的深度特征提取的广告点击率预测系统中,其特征在于:深度特征提取的广告点击率预测方法包括以下步骤:采集广告点击日志数据;

引入十层稀疏堆栈自编码器,对所述广告点击日志数据进行分区检测;

在经过分区检测后的广告点击日志数据中提取广告数据的深度特征;

根据所述深度特征进行空间约束得到预测模型;

其中,当有新的广告点击日志数据输入时,所述预测模型就能得到对应的预测结果。

说明书 :

一种深度特征提取的广告点击率预测系统及其预测方法

技术领域

[0001] 本发明涉及广告投放领域的一种广告点击率预测系统及其预测方法,尤其涉及一种深度特征提取的广告点击率预测系统及其预测方法。

背景技术

[0002] 目前所能查到的专利中大多数基于逻辑回归、贝叶斯等方法进行模型优化训练,这类线性模型不能学习到数据中的非线性特征信息,而且参数较多容易造成过拟合。此类模型采用最大似然估计,需要大量数据以保证性能,不适合对稀疏广告数据的预估。虽然有少部分专利及技术目前涉及到深度学习的一些方法,但是在海量广告日志数据中,广告的展示频率和点击率均呈幂率分布,搜索关键词频率也按幂率分布。由于海量的广告点击数据涉及大规模数据分析;且大量的广告和查询的点击日志都是稀疏的,特征之间存在高度非线性关联,目前提出的相关方法在实际应用中存在很多前提条件,并且对广告点击数据的深度特征提取能力不够。现有专利和文献采用的方法随着数据量越来越大,分析需求越来越迫切,不能满足应用现状。
[0003] 如,中国专利说明书CN105787767A《一种广告点击率预估模型获取方法与系统》分别对所述用户、所述查询关键词和所述广告的数据进行聚类降维,分别得到聚类后的用户数据,聚类后的查询关键词数据和聚类后的广告数据,建立张量,使用塔克张量分解法对所述张量进行分解,得到所述张量降维后的近似张量;根据其他目标属性特征数据和所述近似张量,进行基于径向基函数的支持向量机学习,得到广告点击率预估模型。这种方法采用基于径向基函数的SVM学习,借助二次规划来求解支持向量,而求解二次规划将涉及到N(样本个数)阶矩阵相关计算,在实际使用中对大规模训练样本是难以实施的。
[0004] 再如,中国专利说明书CN105654200A《一种基于深度学习的广告点击率预测方法及装置》提出一种方法和装置,内容包括:获取预设量的训练广告,以及每个训练广告对应的训练点击率及训练特征;将每个训练广告的训练特征转换成训练向量,利用训练向量及每个训练广告的训练点击率训练深度学习模型,其中,深度学习模型为基于非线性函数实现的;获取由待测广告的待测特征转换成的待测向量,并将待测向量作为深度学习模型的输入,得到与待测广告对应的预测点击率。这类方法主要是基于一般深度学习的非线性函数进行转换工作,没有在转换前对原始数据先进行有效的属性预分区检测;而且大规模的广告点击数据如果只是简单地基于非线性函数再将特征转换成向量作为输入,并不能很好地捕捉广告点击日志数据的内部特征结构。

发明内容

[0005] 为了解决以上不足,本发明提出一种深度特征提取的广告点击率预测系统及其预测方法,其能提取广告点击日志数据中的深度特征,针对大量广告点击日志数据先进行分区模块检测,加强稀疏规划,融合空间约束进而生成预测模型,是一种可以对潜在广告点击进行预测的系统及其方法。
[0006] 本发明的解决方案是:一种深度特征提取的广告点击率预测系统,其包括:广告日志数据采集子系统,其用于采集广告点击日志数据;分区检测子系统,其用于对所述广告点击日志数据进行分区检测;十层稀疏约束特征提取隐层子系统,其用于在经过分区检测后的广告点击日志数据中提取广告数据的深度特征;空间约束模型生成子系统,其用于根据所述深度特征进行空间约束得到预测模型;其中,当有新的广告点击日志数据输入时,所述预测模型就能得到对应的预测结果。
[0007] 作为上述方案的进一步改进,所述广告点击日志数据来自广告空间数据、地理信息数据、页面上下文数据,Cookie数据,所述广告点击日志数据的主要字段有:广告的点击次数、曝光次数、广告链接信息、广告位置信息、查询标号信息、查询关键字信息、广告标题信息、用户标号信息、所用设备信息。
[0008] 作为上述方案的进一步改进,所述分区检测子系统将所述广告点击数据建模为无向无权图G,G=(V,E),其中,V={V1,V2,…VN}是N个数据节点的集合;E=[eij]是V中两个数据节点i和j连接边的集合;分区检测子系统目的在于针对所述广告点击数据分析进而找到K个模块
[0009] 进一步地,所述分区检测子系统引入索引矩阵 hik代表数据节点i属于模块K的概率, 表示概率值为N*N的正实数矩阵,索引矩阵H的每一行表示为属于同一个模块K内数据节点的分布;并设计wij为连接数据节点i和j的概率,这个概率被认为是由数据节点i和j生成的边属于同一个社区的概率,数据节点i和j的连接概率是:
邻接矩阵W表示为内含非负元素的对称矩阵 含
义为若数据节点i和j之间有边则wij=1,否则wij=0;对于所有1≤i≤N,wii=0;接着,令基于索引矩阵分解分区检测方法来寻找索引矩阵H以重建邻接矩阵W,获得数据的K个模块;采用基于W和HHT两个矩阵之间的L1范式来衡量之间的损失;索引矩阵H的第i行 表 示 节 点 i 所 属 的 模 块 ,借 助 辅 助 矩 阵 Z ,得 到 :
采用方程(1)在低维空间中寻找
新的最具代表力的信息并重建邻接矩阵表示。
[0010] 再进一步地,在分区检测模块中建立分区模块最大化模型;定义在分区内部边的数量和在所有成对的数据节点期望数值之间的差值,其模块化函数S设计为:h为H的列向量数据,Q为模块化矩阵;采用hTh=N来简化,方程(2)
T
扩展到模块数K>2,获得:S=LKL(H,Q)=Tr(HQH ) (3);其中,Tr(.)是矩阵的迹;基于Rayleigh商,方程(3)的解决方法是模块化矩阵Q的最大特征向量。
[0011] 作为上述方案的进一步改进,所述十层稀疏约束特征提取隐层子系统在非线性特征提取模型中建立十层稀疏堆栈自编码器,对于每一层自编码器采用神经网络提取深度特征。
[0012] 进一步地,所述空间约束模型生成子系统设计空间相似约束来生成预测模型;对数据节点进行成对空间约束,引入重构空间图正则化来进行最终模型的生成。
[0013] 再进一步地,融入数据节点i和j属于同一个空间的先验知识:首先,为了将两个相似数据节点分类到同一空间,数据节点i和j的新表示数据行hi和hj应该是相似的;其次,这些先验知识被编码到模型生成系统中去进一步影响其他数据节点的嵌入。
[0014] 本发明还提供一种深度特征提取的广告点击率预测方法,其应用于上述任意深度特征提取的广告点击率预测系统中,深度特征提取的广告点击率预测方法包括以下步骤:采集广告点击日志数据;对所述广告点击日志数据进行分区检测;在经过分区检测后的广告点击日志数据中提取广告数据的深度特征;根据所述深度特征进行空间约束得到预测模型;其中,当有新的广告点击日志数据输入时,所述预测模型就能得到对应的预测结果。
[0015] 目前所能查到的相关技术大多数基于逻辑回归函数进行模型训练,对广告点击数据的深度特征提取能力不够,并且由于海量的广告点击数据涉及大规模数据分析,现有专利和文献在对特征提取中采用的方法较为简单,提取的特征表现力较弱。随着广告业务数据量越来越大,分析需求越来越迫切,目前的方法和系统不能满足应用现状。

附图说明

[0016] 图1是本发明的深度特征提取的广告点击率预测系统的结构示意图。

具体实施方式

[0017] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0018] 请参阅图1,本发明的深度特征提取的广告点击率预测系统包括广告日志数据采集子系统、分区检测子系统、十层稀疏约束特征提取隐层子系统、空间约束模型生成子系统。
[0019] 广告日志数据采集子系统用于采集广告点击日志数据;分区检测子系统用于对所述广告点击日志数据进行分区检测;十层稀疏约束特征提取隐层子系统用于在经过分区检测后的广告点击日志数据中提取广告数据的深度特征;空间约束模型生成子系统用于根据所述深度特征进行空间约束得到预测模型。其中,当有新的广告点击日志数据输入时,所述预测模型就能得到对应的预测结果。
[0020] 广告日志数据采集子系统:采集广告空间数据、地理信息数据、页面上下文数据,Cookie数据等。所述广告点击日志数据的主要字段有:广告的点击次数、曝光次数、广告链接信息、广告位置信息、查询标号信息、查询关键字信息、广告标题信息、用户标号信息、所用设备信息。
[0021] 分区检测(subarea detection)子系统:首先将采集到的广告点击数据建模为无向无权图G=(V,E),V={V1,V2,…VN}是N个数据节点的集合。E=[eij],是V中两个数据节点连接边的集合。分区检测子系统目的在于针对广告点击数据分析进而找到K个模块这K个模块的内部数据间关系比与外部数据间关系更加紧密。
[0022] 本系统引入索引矩阵 hik代表数据节点i属于社区即模块k的概率。分区检测模块将捕获数据节点i属于模块k的概率,H的每一行表示为属于同一个模块区内数据节点的分布;并设计wij为连接数据节点i和j的概率。这个概率可以进一步被认为是由数据节点i和j生成的边属于同一个社区的概率。数据节点i和j的连接概率是:
[0023]
[0024] 邻接矩阵W表示为内含非负元素的对称矩阵 含义为若数据节点i和j之间有边则wij=1,否则wij=0。对于所有1≤i≤N,wii=0。接着,本系统将分区模块检测问题看作索引矩阵分解 基于索引矩阵分解分区检测方法来寻找索引矩阵H以重建邻接矩阵W,获得数据的K个模块。采用基于W和HHT两个矩阵之间的L1范式来衡量之间的损失。索引矩阵H的第i行表示节点i所属的模块,借助辅助矩阵Z,得到:
[0025]
[0026] 我们采用方程(1)在低维空间中寻找新的最具代表力的信息并重建邻接矩阵表示。
[0027] 基于以上分析,我们在分区检测子系统中建立分区模块最大化模型。本方法提出一种最大化模块函数S,S定义为在分区内部边的数量和在所有成对的数据节点期望数值之间的差值。例如,考虑两个社区的网络,S为:
[0028]
[0029] 数据节点i属于第一个社区时hi1=1,属于第二个社区则hi2=1。 是数据节点i和j的期望边的数量,di是数据节点i的度为di=∑jwij。定义模块化矩阵Q=[qij]∈RN*N,其元素是qij=wij-didj/N。模块化函数S可以写成:
[0030]
[0031] 最大化方程式(2)是一个NP难问题,为此业界提出了许多优化算法,如极值优化。本方法在实际应用中,我们允许hTh=N来简化问题。推广方程(2)到模块数K>2,获得:
[0032] S=LKL(H,Q)=Tr(HQHT)   (3)
[0033] Tr(.)是矩阵的迹。基于Rayleigh商,方程(3)的解决方法是模块化矩阵Q的最大特征向量。
[0034] 十层稀疏约束特征提取隐层子系统:针对广告点击率预测工作,我们希望得到结果为处于0至1之间的预测数值来表示预测概率。与传统使用的线性模型和一般深度学习不一样的是,本方法和系统设计在特征提取系统中引入十层堆栈自编码器,并加以稀疏约束,寻找最能重构特征的非线性嵌入表示。经过分区检测模块之后,本方法和系统可以依据十层稀疏约束特征提取隐层子系统提取深度特征。
[0035] 十层自编码器用于学习尽可能近似于原始数据的新表示的神经网络结构。在本系统中,我们采用广告点击日志数据模块矩阵Q=[qij]∈RN*N作为自编码器的输入。在这里,Q中的元素表示为qij=wij-didj/N。自编码器包含了两个主要的部分:编码和解码。编码把原d*N始数据Q映射到低维的嵌入H=[hik]∈R 中,其中d<N,hi代表在隐藏层的数据节点i所含一行数据。经过自编码后可得:
[0036] hi=s(FHqi+cH);
[0037] 并加以稀疏约束: s.t.rank(FH1FH2)≤r;其中FH∈Rd*1,cH∈Rd*1是在编码过程中需要学习的参数,s(.)为非线性映射tanh函数[0038] 解码时将隐藏层表示H映射回原始数据空间,以从隐藏层表示中重构原始数据:mi=s(FMhi+cM),并加以稀疏约束:
[0039] s.t.rank(FM1FM2)≤r;其中FM∈RN*1,cM∈RN*1是在解码中被学习的参数。十层堆栈自编码器在本系统中学习可以在参数θ={FH,cH,FM,cM}下重构原始数据Q来最小化Q和重构数据M之间低维非线性表示H。
[0040]
[0041] 其中Lθ(qi,s(f(qi)))为测量重构误差的距离函数。本方法采用sigmoid交叉熵作为距离函数。sigmoid交叉熵使用sigmoid函数 将qi=[qji]∈RN*1和mi=[mji]∈RN*1映射为[0,1]之间的所需结果,之后计算它们的交叉熵为:
[0042]
[0043] 接着训练自编码器,得到的FH和cH用来对所有的节点产生新的表示。
[0044] 方程(4)可以用随机梯度下降的反向传播算法来求解。在每一次的迭代过程中,参数θ={FH,cH,FM,cM}的更新如下所示:
[0045]
[0046]
[0047] 其中α={H,M}。通过定义Aα=FαX+cα,我们可以得到
[0048]
[0049]
[0050] 其中 表示j节点对于重构误差的贡献。
[0051]
[0052] 其中s′(x)是s(x)的导数。
[0053] 本系统通过重构原始数据模块矩阵Q以及获得 来训练第一层自编码器,之后本系统再通过重构第i-1个自编码器的输出来获得下一个新表示 来训练第i层自编码器。一般业界所采用的自编码器,随着层数的增加参数成指数级增加,从而使得优化效率低下。本方法为了提取广告数据中的深度特征,在非线性特征提取模型中建立十层稀疏堆栈自编码器,对于其中的每一层自编码器神经网络提取深度特征。
[0054] 空间约束模型生成子系统:广告数据经过以上的深度特征提取后,本方法和系统设计空间相似约束来生成预测模型。对数据节点进行成对空间约束,引入重构空间图正则化来进行最终模型的生成。本方法融入数据节点i和j属于同一个空间的先验知识:首先,为了将两个相似数据节点分类到同一空间,数据节点i和j的新表示数据行hi和hj应该是相似的;其次,这些先验知识被编码到模型生成系统中去进一步影响其他顶点的嵌入。
[0055] 定义成对约束矩阵 如果数据节点i和j属于相同空间,oij=1,反之oij=0 。将空间约束写为 :
其中Tr(.)是矩阵的迹,对角矩阵 为规则化拉普拉斯矩阵。通过最小
化RLSE(O,H),我们可以发现若其中相应的元素oij=1,则认为这两个数据节点i和j在新的表示空间里是相似的。
[0056] 通过在等式(5)中合并成对约束和在等式(4)重构损失函数,本方法和系统得到广告点击预测模型的目标函数为:
[0057]
[0058] 其中λ是在重构误差(第一项L(Q,M))和带有先验信息(第二项 )的新表示之间进行权衡的参数。
[0059] 方程(6)解为:
[0060]
[0061] 原始广告点击日志数据经过清理之后,进入分区检测系统,对原始数据进行分区检测,再将检测后的数据输入十层稀疏约束隐层特征提取系统,得到广告数据的深度特征,进行空间约束得到本系统的预测模型。当有新的广告点击日志数据输入预测模型时,可以得到对应的预测结果。
[0062] 本方法和系统的有益效果是:目前所能查到的相关技术大多数基于逻辑回归函数进行模型训练,对广告点击数据的深度特征提取能力不够,并且由于海量的广告点击数据涉及大规模数据分析,现有专利和文献在对特征提取中采用的方法较为简单,提取的特征表现力较弱。随着广告业务数据量越来越大,分析需求越来越迫切,目前的方法和系统不能满足应用现状。
[0063] 本方法和系统的关键在于以下几个发明:
[0064] a)分区检测(subarea detection);
[0065] b)隐层分解稀疏约束(hidden level factorization sparse constrained);
[0066] c)空间约束生成技术(subspace constrained generative technology)。
[0067] 本系统的模型和算法基于GTX980GPU编写,采用PYTHON语言。各个模块基于numpy和scipy的工具包sklearn。与目前现有的因子分解机(Factorization Machine,FM)模型、逻辑回归(Logistic Regression,LR)模型以及深度学习方法进行了多组比较,LR逻辑回归是广告点击率预测的常见线性模型,较为简单,容易扩展及在线更新;FM因子分解机基于因子分解,可以捕捉特征之间的相关性来处理高维数据。与目前涉及的深度学习类方法相比,本方法提取的深度特征不仅能够提升模型的广告点击率预测效果,还能减少特征提取的成本和时间。不同于以往方法的将特征库中特征进行筛选,也不同于将各类特征进行组合,我们的方法挖掘出区分度较高的深度特征,并对特征进行稀疏非线性变化及空间约束,消除了噪声的干扰。
[0068] 我们在本系统中采用AUC(Area Under roc Curve)为广告点击率预测模型的评价指标,这个指标越接近于1则说明所检测模型效果越好。本系统先将广告点击日志原始数据进行分区检测,进一步加快后期处理能力;在十层非线性隐层中针对广告点击日志数据特点进行稀疏约束;在生成预测模型时候融入空间约束模型以更好的利用部分先验信息得到优秀的预测能力。本方法和系统可以广泛应用于互联网广告行业,具有较高的应用前景。
[0069] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。