基于卷积注意力网络深度会话序列的点击率预测方法及系统与流程

文档序号:23305822发布日期:2020-12-15 11:36阅读:152来源:国知局
基于卷积注意力网络深度会话序列的点击率预测方法及系统与流程

本申请涉及计算机技术领域,特别是涉及一种基于卷积注意力网络深度会话序列的点击率预测方法及系统。



背景技术:

推荐系统(rs)在协助用户在web规模的应用程序(例如amazon和taobao)中找到他们喜欢的物品时变得越来越不可缺少。推荐系统就是系统根据用户的属性(如性别、年龄、学历、地域、职业),用户在系统里过去的行为(例如浏览、点击、搜索、购买、收藏等),以及当前上下文环境(如网络、手机设备、时间等),从而给用户推荐用户可能感兴趣的物品(如电商的商品、feeds推荐的新闻、应用商店推荐的app等),从这个过程来看,推荐系统就是一个给用户匹配(match)感兴趣的项目的过程。

通常,推荐系统包括两个阶段:候选者生成和候选者排名。候选生成阶段采用一些幼稚但高效的推荐算法(例如,基于项目的协作过滤。从庞大的整个项目集中提供相对较小的一组项目进行排名。在候选排名阶段,复杂但功能强大的模型对候选者进行排名,以选择推荐的前k个项目。我们主要关注候选者的排名阶段和点击率(ctr)预测任务,这意味着假设一个相对较小的项目集已提供排名,将根据其ctr得分预测对项目进行排名。

虽然有了比较成熟的框架,但是推荐系统还是面临着比较繁多的问题,比如新用户的冷启动问题,用户的数据的噪声问题,许多用户的历史行为数据大量稀疏缺小问题和用户个人兴趣不同的问题都会导致对用户推荐的效率下降。基于目前对用户推荐的准确度不高的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够解决目前用户推荐的准确率不高问题的基于卷积注意力网络深度会话序列的点击率预测方法及系统。

一种基于卷积注意力网络深度会话序列的点击率预测方法,所述方法包括:

获取用户历史行为产生的点击数据;

将所述点击数据输入预先训练的卷积神经网络,提取用户的长期交互特征;

根据所述点击数据的时间信息,将所述点击数据转化为会话序列,将所述会话序列输入预先训练的双向长短时记忆网络,提取用户的短期交互特征;

将所述长期交互特征和所述短期交互特征进行融合,得到融合特征;

将所述融合特征输入预先训练的全连接神经网络模型,得到用户当前的兴趣类型,根据所述兴趣类型进行点击率预测。

在其中一个实施例中,还包括:获取用户会话产生的稀疏数据;对所述稀疏数据向量化,得到低维密度矢量的点击数据。

在其中一个实施例中,还包括:通过自注意力池化层对所述点击数据进行处理如下:

其中,αi表示自注意力系数,表示自注意力的得分向量,wj和bj分别表示权重矩阵和偏置;对所述自注意力系数进行归一化为:

其中,α′i表示归一化结果,x′i∈xj表示所述点击数据中的会话子数据;根据所述归一化结果对所述点击数据进行池化,得到自注意力点击数据。

在其中一个实施例中,还包括:根据自注意力点击数据之间的外积,构建二维交互特征;根据由所述点击数据中所有所述二维交互特征,构建三维张量;将所述三维张量输入预先训练的卷积神经网络,提取得到用户的长期交互特征。

在其中一个实施例中,还包括:根据时间信息,将所述点击数据转化为会话序列;根据预先设置的时间间隔,将所述会话序列转化为短期点击数据。

在其中一个实施例中,还包括:根据所述会话序列中点击数据的位置信息,设置偏编码;根据所述偏编码对所述短期点击数据进行更新,得到偏置短期点击数据;采用多头自注意力机制对所述偏置短期点击数据进行池化,并将池化后的结果输入预先训练的双向长短时记忆网络,提取用户的短期交互特征。

在其中一个实施例中,还包括:采用串联和平滑方式,将所述长期交互特征和所述短期交互特征进行融合,得到融合特征。

一种基于卷积注意力网络深度会话序列的点击率预测系统,所述系统包括:

数据获取模块,用于获取用户历史行为产生的点击数据;

长期特征提取模块,用于将所述点击数据输入预先训练的卷积神经网络,提取用户的长期交互特征;

短期特征提取模块,用于根据所述点击数据的时间信息,将所述点击数据转化为会话序列,将所述会话序列输入预先训练的双向长短时记忆网络,提取用户的短期交互特征;

特征融合模块,用于将所述长期交互特征和所述短期交互特征进行融合,得到融合特征;

点击预测模块,用于将所述融合特征输入预先训练的全连接神经网络模型,得到用户当前的兴趣类型,根据所述兴趣类型进行点击率预测。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取用户历史行为产生的点击数据;

将所述点击数据输入预先训练的卷积神经网络,提取用户的长期交互特征;

根据所述点击数据的时间信息,将所述点击数据转化为会话序列,将所述会话序列输入预先训练的双向长短时记忆网络,提取用户的短期交互特征;

将所述长期交互特征和所述短期交互特征进行融合,得到融合特征;

将所述融合特征输入预先训练的全连接神经网络模型,得到用户当前的兴趣类型,根据所述兴趣类型进行点击率预测。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取用户历史行为产生的点击数据;

将所述点击数据输入预先训练的卷积神经网络,提取用户的长期交互特征;

根据所述点击数据的时间信息,将所述点击数据转化为会话序列,将所述会话序列输入预先训练的双向长短时记忆网络,提取用户的短期交互特征;

将所述长期交互特征和所述短期交互特征进行融合,得到融合特征;

将所述融合特征输入预先训练的全连接神经网络模型,得到用户当前的兴趣类型,根据所述兴趣类型进行点击率预测。

上述基于卷积注意力网络深度会话序列的点击率预测方法、系统、计算机设备和存储介质,一方面通过卷积神经网络从点击数据中提取用户的长期交互特征,另一方面,构建了会话序列,通过双向长短时记忆网络从会话序列中提取用户的短期交互特征,从而更加有效的提取用户短期的动态兴趣和用户长期的隐藏兴趣,从而在进行预测时,可以显著的提高预测的准确率。

附图说明

图1为一个实施例中基于卷积注意力网络深度会话序列的点击率预测方法的流程示意图;

图2为一个实施例中提取长期交互特征步骤的流程示意图;

图3为一个实施例中卷积神经网络的示意性结构图;

图4为一个实施例中卷积层处理步骤的流程示意图;

图5为一个实施例中提取短期交互特征步骤的流程示意图;

图6为一个实施例中基于卷积注意力网络深度会话序列的点击率预测系统的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种基于卷积注意力网络深度会话序列的点击率预测方法,包括以下步骤:

步骤102,获取用户历史行为产生的点击数据。

历史行为指的是用户在互联网、局域网或者本地通过点击相对应的内容产生的交互数据,交互数据中可能隐含了用户的兴趣的偏向或者趋势。

点击数据即用户历史行为产生的数据,通过对点击数据的分析,可以提取出用户的兴趣。

步骤104,将点击数据输入预先训练的卷积神经网络,提取用户的长期交互特征。

预先训练的卷积神经网络指的是根据预先获取的点击数据构建的训练集训练的得到的,从而在点击数据输入预先训练的卷积神经网络后,可以提取出用户的长期交互特征。

卷积神经网络(convolutionalneuralnetworks,cnn),是深度学习算法之一,通过对点击数据进行池化、卷积等处理,可以有效的提取出用户的长期交互特征。

步骤106,根据点击数据的时间信息,将点击数据转化为会话序列,将会话序列输入预先训练的双向长短时记忆网络,提取用户的短期交互特征。

会话序列中带有时间信息,而双向长短时记忆网络向前或者向后均会保留上一时刻的信息,因此,利用双向长短时记忆网络,可以准确的提取出用户的短期交互特征。

步骤108,将长期交互特征和短期交互特征进行融合,得到融合特征。

可以采用拼接、叠加等方式进行特征融合。

步骤110,将融合特征输入预先训练的全连接神经网络模型,得到用户当前的兴趣类型,根据兴趣类型进行点击率预测。

指的说明的是,可以将点击率的预测融入全连接神经网络模型的输出层,再次不做具体的限制。

上述基于卷积注意力网络深度会话序列的点击率预测方法中,一方面通过卷积神经网络从点击数据中提取用户的长期交互特征,另一方面,构建了会话序列,通过双向长短时记忆网络从会话序列中提取用户的短期交互特征,从而更加有效的提取用户短期的动态兴趣和用户长期的隐藏兴趣,从而在进行预测时,可以显著的提高预测的准确率。

在其中一个实施例中,可以通过以下方式获得点击数据:获取用户会话产生的稀疏数据;对稀疏数据向量化,得到低维密度矢量的点击数据。

具体的,稀疏数据x通过embedding向量化,将大规模稀疏数据转化为了低维密度矢量的点击数据vi,其中,vi∈rd,d是embedding的尺寸。

在另一个实施例中,还需要对点击数据进行如下处理:通过自注意力池化层对点击数据进行处理如下:

其中,αi表示自注意力系数,表示自注意力的得分向量,wj和bj分别表示权重矩阵和偏置;对自注意力系数进行归一化为:

其中,α′i表示归一化结果,xi∈xj表示点击数据中的会话子数据,根据归一化结果对点击数据进行池化,得到自注意力点击数据。

本实施例中,由于输入数据存在大量的稀疏性导致点击数据vi规模太大增加了模型的时间复杂度,为此采用自注意力池化层以增加对有效特征的提取。

具体的,根据归一化结果对点击数据进行池化,得到自注意力点击数据可以是:

其中,ej表示自注意力点击数据。

在又一实施例中,如图2所示,提取长期交互特征的步骤包括:

步骤202,根据自注意力点击数据之间的外积,构建二维交互特征。

步骤204,根据由点击数据中所有二维交互特征,构建三维张量。

即任意两个点击数据之间可以进行交互,本步骤需要计算点击数据中所有二维交互特征,从而按照预定的顺序,可以构建三维张量。

步骤206,将三维张量输入预先训练的卷积神经网络,提取得到用户的长期交互特征。

具体的,对于步骤202,若自注意力点击数据ei和ej进行交互,得到的二维交互特征为:

二维交互特征为d×d矩阵,可以看作是一个二维“图像”,既包含交互信号又包含嵌入维数相关性。假设点击数据包含p个特征场,则生成的“图像”总数为p(p-1)/2。

对于步骤204,构建的三维张量为:

c=[m1,2,m1,3,...,mi,j,...,mp-1,p]

由公式可知,上述所有“图像”都堆叠在一起以形成3d张量c。

对于步骤206,如图3所示,卷积神经网络采用的是三维卷积神经网络以处理三维张量。稀疏数据输入之后,进行编码层进行编码,然后进行自注意力池化,得到自注意力点击数据,通过特征交汇层进行处理,最终输出用户的长期交互特征。

三维卷积神经网络进行卷积处理的过程如下,假设嵌入尺寸d=64,特征场数p=10,则三维张量的尺寸为64×64×45。图4说明了具有6个隐藏层的堆叠式三维卷积神经网络的结构,其中每个隐藏层具有32个通道,并且在所有三个方向上都进行了卷积运算。

在其中一个实施例中,会话序列构建的步骤如下:根据时间信息,将点击数据转化为会话序列,根据预先设置的时间间隔,将会话序列转化为短期点击数据。

具体的,会话序列s=[b1;....;bi;....;bn]∈rn×d,其中,其中n是会话的数量,bi表示第i个点击数据。为了提取更精确的用户会话兴趣,将用户的行为序列s划分为会话q,其中第k个会话qk=[b1;...;bi;...;bt]∈rt×d,t是数量,在会话中保留的行为,bi是用户在会话中的第i个数据。

具体的,用户会话的细分存在于时间间隔超过30分钟的相邻行为之间。

在其中一个实施例中,如图5所示,提取短期交互特征的步骤如下:

步骤502,根据所会话序列中点击数据的位置信息,设置偏编码;

步骤504,根据偏编码对所述短期点击数据进行更新,得到偏置短期点击数据;

步骤506,采用多头自注意力机制对偏置短期点击数据进行池化,并将池化后的结果输入预先训练的双向长短时记忆网络,提取用户的短期交互特征。

具体的,对于步骤502和步骤504,利用序列的顺序关系,自我注意机制将位置编码应用于输入的嵌入。此外,还需要捕获存在于不同表示子空间中的会话的顺序关系和偏差。因此,在位置编码的基础上提出了偏编码be∈rk×t×dmodel,其中be中的每个元素定义如下:

其中是会话的偏差向量,k是会话的索引,是会话中位置的偏差向量,t是会话中数据的索引,是偏差向量行为嵌入中单元位置的,而c是数据嵌入中单元的索引。添加偏差编码后,用户的行为sessionq将更新如下:

q=q+be

对于步骤506,多头自我注意机制可以捕获不同表示子空间中的关系。从计算的角度来看,令qk=[qk1;...;qkh;...;qkh]其中,qkh∈rt×dh是qk的h个头,h是头数,而dh=1/hdmodel。headh的输出计算如下:

其中wq,wk,wv线性矩阵。将不同头的向量连接起来,然后馈入前馈网络:

其中ffn(·)是前馈网络,wo是线性矩阵。依次进行残余连接和层归一化。用户的第k个会话的兴趣ik计算如下:

其中avg(·)是平均池。权重在不同会话的自我注意机制中共享的。

另外,用户的会话兴趣与上下文之间具有顺序关系。对动态变化进行建模可以丰富会话兴趣的表示。双向长短时记忆网络bi-lstm可以有效的捕获顺序关系,并且应用于它对会话兴趣的交互进行建模。lstm存储单元的实现方式如下:

it=σ(wxiit+whiht-1+wcict-1+bi)

ft=σ(wxfit+whfht-1+wcfct-1+bf)

ct=ftct-1+ittanh(wxcit+whcht-1+bc)

ot=σ(wxoit+whoht-1+wcoct+bo)

ht=ottanh(ct)

其中σ(·)是逻辑函数,it,ft,ot分别为输入门、忘记门、输出门。权矩阵的形状用下标指示。双向表示存在前向和后向rnn,并且隐藏状态h的计算如下:

其中是前向lstm的隐藏状态,而是后向lstm的隐藏状态。

然后通过激活层,可以由双向长短时记忆网络输出短期交互特征。

在其中一个实施例中,得到融合特征的步骤包括:采用串联和平滑方式,将长期交互特征和短期交互特征进行融合,得到融合特征。

具体的,全连接神经网络模型可以如下:

其中,其中d是训练数据集,x表示为[xu,xi,s]是网络的输入,y∈{0,1}表示用户是否单击了项目,p(·)是表示预测的网络的最终输出用户单击该项目的可能性。

应该理解的是,虽然图1、2、5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、2、5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图6所示,提供了一种基于卷积注意力网络深度会话序列的点击率预测系统,包括:数据获取模块602、长期特征提取模块604、短期特征提取模块606、特征融合模块608和点击预测模块610,其中:

数据获取模块602,用于获取用户历史行为产生的点击数据;

长期特征提取模块604,用于将所述点击数据输入预先训练的卷积神经网络,提取用户的长期交互特征;

短期特征提取模块606,用于根据所述点击数据的时间信息,将所述点击数据转化为会话序列,将所述会话序列输入预先训练的双向长短时记忆网络,提取用户的短期交互特征;

特征融合模块608,用于将所述长期交互特征和所述短期交互特征进行融合,得到融合特征;

点击预测模块610,用于将所述融合特征输入预先训练的全连接神经网络模型,得到用户当前的兴趣类型,根据所述兴趣类型进行点击率预测。

在其中一个实施例中,数据获取模块602还用于获取用户会话产生的稀疏数据;对所述稀疏数据向量化,得到低维密度矢量的点击数据。

在其中一个实施例中,数据获取模块602还用于通过自注意力池化层对所述点击数据进行处理如下:

其中,αi表示自注意力系数,表示自注意力的得分向量,wj和bj分别表示权重矩阵和偏置;

对所述自注意力系数进行归一化为:

其中,α′i表示归一化结果,x′i∈xj表示所述点击数据中的会话子数据;

根据所述归一化结果对所述点击数据进行池化,得到自注意力点击数据。

在其中一个实施例中,长期特征提取模块604还用于根据自注意力点击数据之间的外积,构建二维交互特征;根据由所述点击数据中所有所述二维交互特征,构建三维张量;将所述三维张量输入预先训练的卷积神经网络,提取得到用户的长期交互特征。

在其中一个实施例中,短期特征提取模块606还用于根据时间信息,将所述点击数据转化为会话序列;根据预先设置的时间间隔,将所述会话序列转化为短期点击数据。

在其中一个实施例中,短期特征提取模块606还用于根据所述会话序列中点击数据的位置信息,设置偏编码;根据所述偏编码对所述短期点击数据进行更新,得到偏置短期点击数据;采用多头自注意力机制对所述偏置短期点击数据进行池化,并将池化后的结果输入预先训练的双向长短时记忆网络,提取用户的短期交互特征。

在其中一个实施例中,特征融合模块608还用于采用串联和平滑方式,将所述长期交互特征和所述短期交互特征进行融合,得到融合特征。

关于基于卷积注意力网络深度会话序列的点击率预测系统的具体限定可以参见上文中对于基于卷积注意力网络深度会话序列的点击率预测方法的限定,在此不再赘述。上述基于卷积注意力网络深度会话序列的点击率预测系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入系统。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于卷积注意力网络深度会话序列的点击率预测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入系统可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1