首页> 中国专利> 一种基于用户偏好的广告点击率预估方法

一种基于用户偏好的广告点击率预估方法

摘要

本发明公开了一种基于用户偏好的广告点击率预估方法。所述方法包括以下步骤:采集数据获得每个用户的广告点击序列;对广告点击序列进行预处理,获得序列训练数据集;构建基于用户偏好网络的点击率预估模型;采用预处理得到的训练数据集对基于用户偏好网络的点击率预估模型进行迭代训练;输入用户完整的广告点击序列,利用训练获得的基于用户偏好网络的点击率预估模型学习用户偏好特征,获得点击率预估结果。本发明引入了新颖的注意力机制,不仅同时考虑了用户序列中隐含的长短期偏好,还进一步地学习用户漂移偏好及融合偏好,能克服现有方法在用户偏好多样多维与漂移建模上的不足,从用户偏好学习的角度有效提升广告点击率预估的准确性。

著录项

  • 公开/公告号CN112700274A

    专利类型发明专利

  • 公开/公告日2021-04-23

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN202011605515.6

  • 发明设计人 王振宇;吴逸群;

    申请日2020-12-29

  • 分类号G06Q30/02(20120101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构44102 广州粤高专利商标代理有限公司;

  • 代理人何淑珍;江裕强

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-06-19 10:43:23

说明书

技术领域

本发明涉及推荐系统领域,更具体地,涉及一种基于用户偏好的广告点击率预估方法。

背景技术

点击率预估是广告投放和推荐中的关键环节。点击率预估在在线广告领域中即广告点击量与投放量之比,衡量了广告被用户点击的概率.其准确性直接关系着平台用户体验与在线广告平台收益,具有极其重要的研究价值。在点击购买等一系列行为中体现的偏好信息极大影响着用户是否会点击一个广告商品。

目前,广告点击率预估方法大致分为两种,一种是基于传统机器学习方法作点击率预估,如逻辑回归、梯度提升树、因子分解机等,这类方法难以学习特征高阶交互关系,同时十分依赖领域知识和特征工程。另一种则基于深度学习方法作点击率预估,这一类方法目前多围绕提高模型特征表示与交互能力的角度设计新的结构,借助DNN建模高阶特征,通过低阶与高阶特征组合提高模型特征表示能力,如Wide&Deep、DeepFM、PNN、DSTN等。

这些方法关注于提高模型学习低阶和高阶特征及其交互关系的能力,忽视了从挖掘用户偏好的角度提升点击率预估的效果,难以充分利用行为序列中隐含的用户偏好信息。少有的从偏好学习角度提出的方法如DIN、DIEN等存在仅仅考虑局部短期偏好或偏好学习结构过于原始等的不足,目前的点击率预估方法还缺乏对用户偏好多样多维特性、漂移特性的深入发掘和利用。

发明内容

本发明针对上述现有技术的不足,提供了一种基于用户偏好的广告点击率预估方法,既能同时学习全局长期历史偏好和局部短期历史偏好,实现长短期偏好特征互补,也能提取细粒度多维度的偏好漂移特征与偏好融合特征,可以有效提高点击率预估的准确性。

本发明的目的至少通过如下技术方案之一实现。

一种基于用户偏好的广告点击率预估方法,所述方法包括以下步骤:

S1、采集商业平台中的用户广告点击记录及用户和广告相应属性数据,按时间先后整理获得每个用户的广告点击序列;

S2、对广告点击序列进行预处理,对长度不足或长度超出限定长度的点击序列进行异常处理,获得序列训练数据集;

S3、构建基于用户偏好网络的点击率预估模型,包括用户长短期偏好子网、偏好漂移子网、偏好融合子网的构建;

S4、采用预处理得到的训练数据集对基于用户偏好网络的点击率预估模型进行迭代训练;

S5、输入用户完整的广告点击序列,利用训练获得的基于用户偏好网络的点击率预估模型学习用户偏好特征,获得点击率预估结果。

进一步地,步骤S1中,所述用户广告点击记录包括用户id编号、点击查看且购买的广告商品id编号、购买时间,用于记录用户点击查看且购买过的广告商品;所述用户和广告相应属性数据包括用户性别、用户年龄段、用户平台等级、广告商品价格、广告商品评价等级、广告商品销量大小。

进一步地,按时间先后整理获得每个用户的广告点击序列具体如下:

将每个用户的购买行为按unix时间戳进行排序;

可以在python中编写程序将采集的数据按照unix时间戳进行排序,或者采用excel按时间戳进行排序。

进一步地,步骤S2包括以下步骤:

S2.1、点击率预估模型的嵌入层需要根据规范的索引查找广告、用户对应的嵌入向量,对广告点击序列中出现过的所有用户、广告分别建立新的统一索引编号,将广告点击序列中的用户id编号、广告商品id编号分别映射为新建的索引编号;

S2.2、为了有利于点击率预估模型的训练,保证点击率预估的效果,对长度不符合要求的广告点击序列异常处理:剔除长度低于指定长度a的广告点击序列,截断长度超过限定长度b的广告点击序列,截断方法只保留最近发生的广告点击序列,丢弃时间过于久远的部分;

S2.3、对每一条用户广告点击序列,假设序列包括n个购买行为,a≤n≤b,则分割前n-1个购买行为和第n个购买行为,在后续点击率预估模型训练时点击率预估模型输入前n-1个购买行为,利用第n个购买行为作监督,在训练完成后点击率预估模型作预测时输入的则是完整的用户行为序列。

进一步地,步骤S3中,所述基于用户偏好网络的点击率预估模型包括输入层、嵌入层、用户偏好提取层、特征全连接层和输出层,具体如下:

输入层的输入包括用户广告点击序列、点击率预估的用户属性和点击率预估的商品属性;用户广告点击序列由按时间顺序排列的用户点击购买过的广告商品的索引编号构成;点击率预估的用户属性包括点击率预估用户的索引编号及用户性别、年龄段、用户平台等级;点击率预估的商品属性包括需要判断是否进行推荐的点击率预估商品的索引编号及商品价格、评价等级、销量大小;

嵌入层用户id编号和广告商品id编号将输入层输入的用户广告点击序列、点击率预估的用户属性及商品属性映射为固定长度、随机初始化的嵌入向量;

用户偏好提取层在设计的三个偏好子网中引入多头注意力机制(Multi-HeadAttention)与压缩-激发注意力机制(Squeeze-and-Excitation Attenton,SE Attention)两种注意力机制,基于门控循环单元(Gated Recurrent Unit,GRU)与融合偏好注意力门的门控循环单元(Gated Recurrent Unit with Preference Attention Gate,PAGRU)学习用户长短期偏好、漂移偏好和融合偏好;

全连接层将长短期偏好特征、漂移偏好特征和融合偏好特征与嵌入层根据用户id编号和广告商品id编号进行映射得到的嵌入向量、采用独热编码嵌入得到的用户和广告商品的附加属性对应的特征向量进行向量拼接,通过基于多层感知机(Multi-LayerPerceptron,MLP)的全连接神经网络(Fully Connected Neural Network,FNN)学习特征间的高阶交互关系;

输出层借助Softmax函数获得点击率预估结果。

进一步地,输入层的输入中,构成用户广告点击序列的广告商品的索引编号、点击率预估用户的索引编号、点击率预估商品的索引编号这三者为最基本的输入数据,不可缺失;其他的用户和商品属性为附加属性,在实际中若采集不到这些附加属性可选择统一不输入,不会影响点击率预估模型的运行及有效性的验证。

进一步地,所述用户偏好提取层包括长短期偏好子网、偏好漂移子网、偏好融合子网;用户偏好提取层的具体构建步骤如下:

S3.1、基于GRU搭建长短期偏好子网:将经由嵌入层转换后的用户广告点击序列依次输入GRU单元,GRU单元每一个时间步长的隐状态向量视为用户在不同时间的历史偏好向量,反映用户在不同时间即每一个时间步长的历史偏好信息,GRU单元在最后一个步长的输出即为提取的短期偏好表示,长期偏好的表示则由GRU所有时间步长的输出构成;获得用户的长短期偏好表示后,借助Multi-Head Attention在不同子空间下对用户长短期偏好与广告商品的多维度关系进行建模,提取出不同维度下细粒度多维度的长短期偏好特征;

S3.2、基于PAGRU单元搭建偏好漂移子网:偏好漂移子网接收长短期偏好子网中GRU单元在每一个时间步长的隐状态向量即历史偏好向量和用户广告点击序列作为输入,以差位结合的方式借助PAGRU融合t时刻用户广告点击行为与长短期偏好子网在t-1时刻学习到的偏好上下文信息提取偏好漂移特征;

S3.3、基于SE Attention中的压缩-激活结构搭建偏好融合网络:偏好融合网络接收长短期偏好提取网络和偏好漂移网络提取的长短期偏好特征和偏好漂移特征作为输入,采用全局平均池化(Global Average Pooling)将多偏好特征压缩至单通道,通过双层bottlenect结构的FNN进行偏好融合,学习多特征跨通道间的复杂交互关系,获得偏好融合特征。

进一步地,步骤S3.2中,所述PAGRU单元设计了偏好注意力门,控制偏好上下文信息对漂移偏好的影响程度,对偏好上下文信息进行激活或抑制,计算方法如下所示:

a

r

z

其中,h

进一步地,步骤S4具体如下:

将整个训练数据集按照9:1的比例划分为训练集和测试集,采用负对数似然函数作为点击率预估模型的损失函数,如公式(6)所示:

其中,

同时在损失函数中添加一个辅助项,利用用户i点击序列中t+1时刻点击的广告

其中σ表示激活sigmoid函数。整体损失函数如公式(8)所示:

L=L

其中α是超参,用于平衡辅助偏好学习损失和CTR预估损失的权重。

进一步地,步骤S5具体包括以下步骤:

S5.1、输入用户整个完整的点击序列,由嵌入层映射为低维稠密向量;

S5.2、依次经由长短期偏好子网和偏好漂移子网引入Multi-head Attention提取出长短、期偏好特征与偏好漂移特征;

S5.3、经由偏好融合子网引入SE Attention提取出偏好融合特征;

S5.4、将长短期偏好特征、偏好漂移特征、偏好融合特征与用户、商品其他属性特征在特征全连接层融合,通过基于MLP的FNN网络在输出层获得最终的点击率预估结果。

本发明与现有技术相比,具有的优点和有益效果是:

1.本发明基于用户广告点击序列挖掘对CTR预估有重要影响的用户偏好,不仅同时考虑全局长期偏好和局部短期偏好的影响,实现长短期偏好互补,还提出并设计基于PAGRU的偏好漂移建模与基于SE Attention的偏好融合。同时,借助Multi-head Attention提取根据细粒度和多维度的偏好特征,从而有效提高了点击率预估的准确性。

2.本发明采用基于深度神经网络的方法构建模型,模型能借助深度神经网络自动学习有效的用户偏好特征并建模多特征间的复杂交互关系,不依赖成本高昂的特征工程,具有节省人力资源、降低成本、泛用性高的优点。

附图说明

图1为本发明实施例的整体流程图。

图2为本发明实施例基于用户偏好网络的点击率预估模型的整体架构图。

图3为本发明实施长短期偏好子网结构图。

图4为本发明实施例偏好漂移子网PAGRU结构图。

图5为本发明实施例偏好融合子网结构图。

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

具体实施方式

下面结合附图和实施例对本发明的技术方案做进一步的说明,但本发明的实施方式不限于此。

实施例:

一种基于用户偏好的广告点击率预估方法,如图1所示,包括以下步骤:

S1、采集商业平台中的用户广告点击记录及用户和广告相应属性数据,按时间先后整理获得每个用户的广告点击序列;

所述用户广告点击记录包括用户id编号、点击查看且购买的广告商品id编号、购买时间,用于记录用户点击查看且购买过的广告商品;所述用户和广告相应属性数据包括用户性别、用户年龄段、用户平台等级、广告商品价格、广告商品评价等级、广告商品销量大小。

按时间先后整理获得每个用户的广告点击序列具体如下:

将每个用户的购买行为按unix时间戳进行排序;

可以在python中编写程序将采集的数据按照unix时间戳进行排序,或者采用excel按时间戳进行排序。

本实施例采集1689187条记录,整理获得192403个用户的点击行为序列。

S2、对广告点击序列进行预处理,本实施例中,设置指定长度为4,限定长度为100,对长度不足或长度超出限定长度的点击序列进行异常处理,获得序列训练数据集,包括以下步骤:

S2.1、点击率预估模型的嵌入层需要根据规范的索引查找广告、用户对应的嵌入向量,对广告点击序列中出现过的所有用户、广告分别建立新的统一索引编号,将广告点击序列中的用户id编号、广告商品id编号分别映射为新建的索引编号;

S2.2、为了有利于点击率预估模型的训练,保证点击率预估的效果,对长度不符合要求的广告点击序列异常处理:过滤长度低于指定长度4的广告点击序列,截断长度超过限定长度100的广告点击序列,截断方法只保留最近发生前100个的广告点击商品,丢弃时间过于久远的部分;

S2.3、对每一条用户广告点击序列,假设序列包括n个购买行为,4≤n≤100,则分割前n-1个购买行为和第n个购买行为,在后续点击率预估模型训练时点击率预估模型输入前n-1个购买行为,利用第n个购买行为作监督,在训练完成后点击率预估模型作预测时输入的则是完整的用户行为序列。

S3、构建基于用户偏好网络的点击率预估模型,包括用户长短期偏好子网、偏好漂移子网、偏好融合子网的构建;

如图2所示,所述基于用户偏好网络的点击率预估模型包括输入层、嵌入层、用户偏好提取层、特征全连接层和输出层,具体如下:

输入层的输入包括用户广告点击序列、点击率预估的用户属性和点击率预估的商品属性;用户广告点击序列由按时间顺序排列的用户点击购买过的广告商品的索引编号构成;点击率预估的用户属性包括点击率预估用户的索引编号及用户性别、年龄段、用户平台等级;点击率预估的商品属性包括需要判断是否进行推荐的点击率预估商品的索引编号及商品价格、评价等级、销量大小;

输入层的输入中,构成用户广告点击序列的广告商品的索引编号、点击率预估用户的索引编号、点击率预估商品的索引编号这三者为最基本的输入数据,不可缺失;其他的用户和商品属性为附加属性,在实际中若采集不到这些附加属性可选择统一不输入,不会影响点击率预估模型的运行及有效性的验证。

嵌入层用户id编号和广告商品id编号将输入层输入的用户广告点击序列、点击率预估的用户属性及商品属性映射为固定长度、随机初始化的嵌入向量,本实施例中,将用户、广告商品的嵌入向量长度统一设置为36;

本实施例中,对于用户和商品附加属性采用独热编码的方式,对于附加属性中的用户性别、广告商品评价等级,采用独热编码嵌入为固定长度的特征向量,例如特征向量“01”表示性别为男,特征向量“10”表示性别为女;对于附加属性中的用户年龄段、用户平台等级、广告商品价格、广告商品销量大小通过划分区间,同样采用独热编码嵌入为固定长度的特征向量,例如商品价格在1-100、100-1000,1000-10000,10000以上分别用特征向量“1000”、“0100”、“0010”、“0001”表示;

用户偏好提取层在设计的三个偏好子网中引入多头注意力机制(Multi-HeadAttention)与压缩-激发注意力机制(Squeeze-and-Excitation Attenton,SE Attention)两种注意力机制,基于门控循环单元(Gated Recurrent Unit,GRU)与融合偏好注意力门的门控循环单元(Gated Recurrent Unit with Preference Attention Gate,PAGRU)学习用户长短期偏好、漂移偏好和融合偏好,本实施例中,将Multi-Head Attention超参注意力头数设置为4;

所述用户偏好提取层包括长短期偏好子网、偏好漂移子网、偏好融合子网;用户偏好提取层的具体构建步骤如下:

S3.1、基于GRU搭建长短期偏好子网:将经由嵌入层转换后的用户广告点击序列依次输入GRU单元,GRU单元每一个时间步长的隐状态向量视为用户在不同时间的历史偏好向量,反映用户在不同时间即每一个时间步长的历史偏好信息,GRU单元在最后一个步长的输出即为提取的短期偏好表示,长期偏好的表示则由GRU所有时间步长的输出构成;获得用户的长短期偏好表示后,借助Multi-Head Attention在不同子空间下对用户长短期偏好与广告商品的多维度关系进行建模,提取出不同维度下细粒度多维度的长短期偏好特征,长短期偏好子网结构如附图3所示;长短期偏好特征的提取算法分别如表1和表2所示。

表1基于Multi-Head Attention的短期偏好特征提取算法

表3-2基于Multi-Head Attention的长期偏好特征提取算法

S3.2、基于PAGRU单元搭建偏好漂移子网:偏好漂移子网接收长短期偏好子网中GRU单元在每一个时间步长的隐状态向量即历史偏好向量和用户广告点击序列作为输入,以差位结合的方式借助PAGRU融合t时刻用户广告点击行为与长短期偏好子网在t-1时刻学习到的偏好上下文信息提取偏好漂移特征;

如图4所示,所述PAGRU单元设计了偏好注意力门,控制偏好上下文信息对漂移偏好的影响程度,对偏好上下文信息进行激活或抑制,计算方法如下所示:

a

r

z

其中,h

S3.3、基于SE Attention中的压缩-激活结构搭建偏好融合网络:偏好融合网络接收长短期偏好提取网络和偏好漂移网络提取的长短期偏好特征和偏好漂移特征作为输入,采用全局平均池化(Global Average Pooling)将多偏好特征压缩至单通道,通过双层bottlenect结构的FNN进行偏好融合,学习多特征跨通道间的复杂交互关系,获得偏好融合特征,偏好融合子网结构如图5所示。

全连接层将长短期偏好特征、漂移偏好特征和融合偏好特征与嵌入层根据用户id编号和广告商品id编号进行映射得到的嵌入向量、采用独热编码嵌入得到的用户和广告商品的附加属性对应的特征向量进行向量拼接,通过基于多层感知机(Multi-LayerPerceptron,MLP)的全连接神经网络(Fully Connected Neural Network,FNN)学习特征间的高阶交互关系;

输出层借助Softmax函数获得点击率预估结果。

S4、采用预处理得到的训练数据集对基于用户偏好网络的点击率预估模型进行迭代训练,具体如下:

本实施例中,训练参数Epoch设成3,Batch size设成128,最优化算法采取Adam,初始学习率设成0.001,每个epoch训练完后学习率衰减为原来的二分之一;将整个训练数据集按照9:1的比例划分为训练集和测试集,采用负对数似然函数作为点击率预估模型的损失函数,如公式(6)所示:

其中,

同时在损失函数中添加一个辅助项,利用用户i点击序列中t+1时刻点击的广告

其中σ表示激活sigmoid函数。整体损失函数如公式(8)所示:

L=L

其中α是超参,用于平衡辅助偏好学习损失和CTR预估损失的权重,本实施例中,设置α为0.5。

S5、输入用户完整的广告点击序列,利用训练获得的基于用户偏好网络的点击率预估模型学习用户偏好特征,获得点击率预估结果,具体包括以下步骤:

S5.1、输入用户整个完整的点击序列,由嵌入层映射为固定长度为36的低维稠密向量;

S5.2、依次经由长短期偏好子网和偏好漂移子网引入Multi-head Attention提取出长短、期偏好特征与偏好漂移特征;

S5.3、经由偏好融合子网引入SE Attention提取出偏好融合特征;

S5.4、将长短期偏好特征、偏好漂移特征、偏好融合特征与用户、商品其他属性特征在特征全连接层融合,通过基于MLP的FNN网络在输出层获得最终的点击率预估结果。

本实施例采用Tensorflow 1.2开源平台,编程语言Python3.5,GPU加速组件是CUDA8.0、cuDNN 7.0.5构建和训练模型,本实施例在运行时显卡需有5G以上可分配的显存。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号