CN109543112A - 一种基于循环卷积神经网络的序列推荐方法及装置 - Google Patents
一种基于循环卷积神经网络的序列推荐方法及装置 Download PDFInfo
- Publication number
- CN109543112A CN109543112A CN201811457888.6A CN201811457888A CN109543112A CN 109543112 A CN109543112 A CN 109543112A CN 201811457888 A CN201811457888 A CN 201811457888A CN 109543112 A CN109543112 A CN 109543112A
- Authority
- CN
- China
- Prior art keywords
- item
- convolution
- horizontal
- sequence
- vertical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 82
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000013598 vector Substances 0.000 claims abstract description 96
- 239000011159 matrix material Substances 0.000 claims abstract description 76
- 230000003993 interaction Effects 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 14
- 238000006243 chemical reaction Methods 0.000 claims abstract description 11
- 230000002452 interceptive effect Effects 0.000 claims description 42
- 238000013527 convolutional neural network Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 11
- 230000007774 longterm Effects 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于循环卷积神经网络的序列推荐方法,包括以下步骤:获得用户历史互动项目序列后,在预先训练获得的循环卷积神经网络的循环层,对每个项目做转换处理,获得隐藏状态向量,在循环卷积神经网络的卷积层,对基于隐藏状态向量确定的窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果,在全连接层,根据水平卷积结果、垂直卷积结果和隐藏状态向量,获得用户与项目集合中每个项目的互动概率预测结果,根据该预测结果,确定推荐给用户的项目。应用本发明实施例所提供的技术方案,增强了推荐性能,实现了更加高效的序列推荐。本发明还公开了一种基于循环卷积神经网络的序列推荐装置,具有相应技术效果。
Description
技术领域
本发明涉及推荐技术领域,特别是涉及一种基于循环卷积神经网络的序列推荐方法及装置。
背景技术
随着移动互联网技术不断发展,网络中的信息量以指数规律迅速扩展和增加,网络上的信息过载和信息迷航问题日益严重。为了给用户提供满意的信息和服务,推荐系统应运而生,成为众多研究学者关注的研究领域。推荐系统通过预测用户对信息资源的喜好程度来进行信息过滤。为了构建有效的推荐系统,一个关键的因素是如何准确的表征和理解用户动态变化以及不断发展的兴趣和品味,因此序列推荐系统被提出来实现这一目标。序列推荐是基于用户过去的活动序列来为用户推荐未来可能与之互动项目的一种推荐方法。
传统的推荐方法,比如标准的矩阵分解技术,都不能很好的解决序列推荐的任务,因为它们都是建模静态的用户-项目交互行为。因此,基于马尔科夫链的序列方法提出来建模相邻两个项目之间的局部序列模式,然而它们却不能建模用户-项目之间更高阶的关系。而近年来,深度学习在图像处理、自然语言处理等领域取得了突破性的进展,为序列推荐系统的研究也带来了新的机遇。例如循环神经网络(Recurrent Neural Network,RNN)已经成为了一个很流行的序列神经模型。为了更好地建模用户的长期依赖性,RNN的两个变体,长短期记忆网络(Long-Short Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)也被广泛的运用。此外,基于会话的RNN,层次化的个性RNN和基于注意力的RNN都对建模序列数据产生很大的帮助。
然而,RNN模型是基于一个假设,即时间依赖性是单调变化的。这意味着当前项目或者其隐藏状态比其之前的项目或隐藏状态更加重要,RNN的这种单调时间依赖性削弱了用户短期兴趣的建模。尽管后来基于注意力的RNN模型对缓解这一问题做了一些努力,但它并没有考虑到建模短期序列模式时的特征交互,使得推荐性能不佳。
发明内容
本发明的目的是提供一种基于循环卷积神经网络的序列推荐方法及装置,以提升推荐性能。
为解决上述技术问题,本发明提供如下技术方案:
一种基于循环卷积神经网络的序列推荐方法,包括:
获得用户历史互动项目序列;
在预先训练获得的循环卷积神经网络的循环层,对所述历史互动项目序列中的每个项目做转换处理,获得所述历史互动项目序列中每个项目对应的隐藏状态向量;
在所述循环卷积神经网络的卷积层,基于所述循环层获得的隐藏状态向量,确定窗口矩阵,对所述窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果;
在所述循环卷积神经网络的全连接层,根据所述水平卷积结果、所述垂直卷积结果和所述隐藏状态向量,获得所述用户与项目集合中每个项目的互动概率预测结果;
根据所述互动概率预测结果,确定推荐给所述用户的项目。
在本发明的一种具体实施方式中,所述对所述历史互动项目序列中的每个项目做转换处理,获得所述历史互动项目序列中每个项目对应的隐藏状态向量,包括:
将所述历史互动项目序列中的每个项目转换成一个隐含空间内的嵌入向量,通过LSTM的循环结构,获得所述历史互动项目序列中每个项目对应的隐藏状态向量。
在本发明的一种具体实施方式中,通过以下步骤对所述窗口矩阵进行水平卷积操作,获得所述水平卷积结果:
根据所述窗口矩阵,确定多个水平窗口矩阵;
将每个所述水平窗口矩阵分别与每个相同大小的水平卷积过滤器互动,生成多个水平卷积值,获得所述水平卷积结果。
在本发明的一种具体实施方式中,通过以下公式将所述水平窗口矩阵与一个所述水平卷积过滤器互动:
其中,·表示向量的内积运算,j是水平窗口矩阵E(u,t)每个行向量的位置,b∈R是一个偏置向量,f是一个ReLU激活函数,水平卷积过滤器F∈R1×w,高度为1,宽度为w,对于用户u的历史互动项目序列Iu中的每个时间步t,均有一个水平窗口矩阵E(u,t)∈R1×d。
在本发明的一种具体实施方式中,通过以下步骤对所述窗口矩阵进行垂直卷积操作,获得所述垂直卷积结果:
根据所述窗口矩阵,确定多个垂直窗口矩阵;
将垂直卷积过滤器分别在每个所述垂直窗口矩阵的每列上以一个固定的方式滑动d次,生成多个垂直卷积值,获得所述垂直卷积结果。
在本发明的一种具体实施方式中,所述根据所述窗口矩阵,确定多个垂直窗口矩阵,包括:
通过以下公式确定所述垂直窗口矩阵:
其中,对于用户u的历史互动项目序列Iu中的每个时间步t,均有一个垂直窗口矩阵表示个连续项目的隐藏状态向量,每个逗号表示行向量的拼接,的整个宽度等于d。
在本发明的一种具体实施方式中,所述根据所述水平卷积结果、所述垂直卷积结果和所述隐藏状态向量,获得所述用户与项目集合中每个项目的互动概率预测结果,包括:
通过以下公式确定所述用户与项目集合中每个项目的互动概率预测结果:
其中,W'∈R|I|×(2d+n)和b'∈R|I|分别是输出层的权重矩阵和偏见向量,ht倾向于捕捉用户的长期偏好,ot用于学习项目具体的特征,用来捕捉用户的短期序列模式,是用户u在时刻t+1和项目i的互动概率值。
一种基于循环卷积神经网络的序列推荐装置,包括:
序列获得模块,用于获得用户历史互动项目序列;
循环层处理模块,用于在预先训练获得的循环卷积神经网络的循环层,对所述历史互动项目序列中的每个项目做转换处理,获得所述历史互动项目序列中每个项目对应的隐藏状态向量;
卷积层处理模块,用于在所述循环卷积神经网络的卷积层,基于所述循环层获得的隐藏状态向量,确定窗口矩阵,对所述窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果;
全连接层处理模块,用于在所述循环卷积神经网络的全连接层,根据所述水平卷积结果、所述垂直卷积结果和所述隐藏状态向量,获得所述用户与项目集合中每个项目的互动概率预测结果;
项目推荐模块,用于根据所述互动概率预测结果,确定推荐给所述用户的项目。
在本发明的一种具体实施方式中,所述循环层处理模块,具体用于:
将所述历史互动项目序列中的每个项目转换成一个隐含空间内的嵌入向量,通过LSTM的循环结构,获得所述历史互动项目序列中每个项目对应的隐藏状态向量。
在本发明的一种具体实施方式中,所述卷积层处理模块具体用于通过以下步骤对所述窗口矩阵进行水平卷积操作,获得所述水平卷积结果:
根据所述窗口矩阵,确定多个水平窗口矩阵;
将每个所述水平窗口矩阵分别与每个相同大小的水平卷积过滤器互动,生成多个水平卷积值,获得所述水平卷积结果。
应用本发明实施例所提供的技术方案,获得用户历史互动项目序列后,在预先训练获得的循环卷积神经网络的循环层,对每个项目做转换处理,获得隐藏状态向量,在循环卷积神经网络的卷积层,对基于隐藏状态向量确定的窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果,在全连接层,根据水平卷积结果、垂直卷积结果和隐藏状态向量,获得用户与项目集合中每个项目的互动概率预测结果,根据该预测结果,确定推荐给用户的项目。通过循环神经网络的循环结构捕捉复杂的长期依赖性,通过卷积神经网络的卷积操作提取循环隐藏状态的短期序列模式,通过对卷积层的输出和隐藏状态向量的拼接形成用户兴趣的高阶混合表征,增强了推荐性能,实现了更加高效的序列推荐。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种循环卷积神经网络的框架示意图;
图2为本发明实施例中一种基于循环卷积神经网络的序列推荐方法的实施流程图;
图3为本发明实施例中一种基于循环卷积神经网络的序列推荐装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种基于循环卷积神经网络的序列推荐方法,该方法基于预先训练获得的循环卷积神经网络进行序列推荐。该循环卷积神经网络为一种全新的整合循环神经网络和卷积神经网络两种深度神经网络的序列推荐模型-RCNN,循环神经网络的循环结构用于捕捉复杂的长期依赖性,卷积神经网络的卷积操作用于提取循环隐藏状态的短期序列模式,然后将卷积层的输出和循环层的隐藏状态向量拼接起来形成一个用户兴趣的高阶混合表征来产生推荐。
循环神经网络(RNN)在捕捉和表征序列推荐的时间依赖性方面是有效的,但是RNN在处理长序列的时候会遭遇“梯度消失”的问题。LSTM(Long-Short Term Memory)是RNN的一种变体,它通过使用长短期记忆单元和相关的门类型神经元结构可以减少梯度消失的问题。本发明实施例即使用LSTM网络来捕捉用户长期依赖性,实现简明和通用的目的。给定一个输入向量xt,这个LSTM隐藏层的输出ht由以下公式计算:
其中,h0=0,σ(·)是一个sigmoid层,映射0到1之间的值,1代表“完全保留”,0代表“完全放弃”。Wi、Wf、Wc、Wo是门的权重,bi、bf、bc、bo是相应的偏置,表示两个向量之间的哈达玛乘积运算。it、ft、ot和ct分别表示第t个物体的输入门、遗忘门、输出门和单元状态向量。ht是用于记忆和存储过去状态结点的隐藏状态向量。
RNN中最常用的优化算法是随时间反向传播算法,即Back-Propagation ThroughTime(BPTT),是一种适合于多层神经元网络的一种学习算法。与反向传播算法(BP)类似,它是在时间上反传的梯度下降算法,建立在梯度下降法的基础上。BPTT网络的输入输出关系实质上是一种映射关系:一个输入m输出的BPTT神经网络所完成的功能是从n维欧氏空间向m维欧氏空间中一有限域的连续映射,这一映射具有高度非线性。它的信息处理能力来源于简单非线性函数的多次复合,因此具有很强的函数复现能力。这是BPTT算法得以应用的基础。反向传播算法主要由两个环节(激励传播、权重更新)反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。
BPTT算法的学习过程由正向传播过程和反向传播过程组成。在正向传播过程中,输入信息通过输入层经隐含层,逐层处理并传向输出层。如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,网络的学习在权值修改过程中完成。误差达到所期望值时,网络学习结束。
下面先对循环卷积神经网络的训练过程进行说明。
本发明实施例考虑的序列内容主要是每个用户的项目交互记录。假设有|U|个用户u1,u2,...,u|U|,分别将其收录到用户集合U,可表示为U={u1,u2,...,u|U|};同样地,将|I|个项目收录到项目集合I,可表示为I={i1,i2,...,i|I|}。主要关注隐式反馈的推荐场景,关心用户u在t时刻和项目i是否进行过互动。每位用户u都有其按照时间排序的项目序列,将这些项目统一放在集合中,其中it u∈I并且|Iu|是用户u互动的项目总数量。另外it u中的索引t采用的是类似于时间推荐中的相对索引而不是绝对索引。即给定了|U|位用户和|I|个项目,以及用户u的历史互动项目序列Iu。
图1所示为本发明实施例所提供的循环卷积神经网络的框架示意图,该循环卷积神经网络包括循环层(Recurrent Layer)、卷积层(Convolutional Layer)和全连接层(Fully-connected Layer)。循环层中的虚线矩形框部分为窗口矩阵,卷积层上方虚线矩形框部分为水平卷积过滤器,卷积层下方虚线矩形框部分为垂直卷积过滤器。通过LSTM的循环结构来生成每个时间步的隐藏状态,然后把每个时间步最近的几个隐藏状态作为一个“图像”,通过水平卷积过滤器和垂直卷积过滤器来搜索短期序列模式和特征互动。
在循环层,即一个长短期记忆神经网络,给定一位用户u在t时刻曾经互动过的项目it u,将其转换成一个隐含空间内的嵌入向量xt,然后将这个嵌入向量xt输入进LSTM的循环结构中,得到一个隐藏状态向量ht,用来建模用户u在t时刻的序列偏好。
在卷积层,将上一层循环层的输出同时输入进水平卷积层和垂直卷积层。借用CNN在文本分类中的操作,可以把每个时间步最近的k个隐藏状态向量作为一个k×d的窗口矩阵E(u,t),其中d是隐藏状态向量的大小,然后对该窗口矩阵分别作水平卷积和垂直卷积。通过水平卷积过滤器捕获非线性特性相互作用,针对非单调短期序列模式引进垂直卷积过滤器。
隐藏状态的水平卷积。卷积是一个过滤器在一条序列上进行滑动,然后在不同的时间步提取序列信息的过程。假设一个水平卷积过滤器F∈R1×w,其中过滤器的高度为1,宽度为w,对于项目序列Iu中的每个时间步t,均有一个水平窗口矩阵E(u,t)∈R1×d,相当于序列中的每一个ht,最后E(u,t)与F互动的结果为:
其中,·表示向量的内积运算,j是水平窗口矩阵E(u,t)每个行向量的位置,b∈R是一个偏置向量,f是一个ReLU激活函数。
通过n个相同大小的水平卷积过滤器可以生成多个水平卷积值,最后的水平卷积结果是:
ot=[vt 1 vt 2 ... vt n] (3)
其中,vt l是由第l个水平卷积过滤器生成的卷积值,ot是由n个水平卷积过滤器生成的一个新的特征表征,相当于当前项目的特征互动。
隐藏状态的垂直卷积。标记一个垂直卷积过滤器为对于项目序列Iu中的每个时间步t,均有一个垂直窗口矩阵表示个连续项目的隐藏状态向量,可以标记为:
其中,每个逗号表示行向量的拼接,的整个宽度等于d。在的每列上以一个固定的方式滑动d次,生成垂直卷积值vt∈Rd,
垂直卷积结果为:
其中,相当于最近几个项目隐藏特征的权重,是垂直卷积的最终输出,表示用户u在时间t的局部序列模式。这里只使用一个垂直卷积过滤器。通过使用垂直卷积过滤器可以增强前k个项目的隐藏状态对用户u当前兴趣的影响,突出了用户在最近个时间步内的短期兴趣。另外,由于LSTM是为序列输入和输出指定的,因此在水平卷积和垂直卷积运算后没有应用池化层。
在全连接层,为了捕获用户u当前的总偏好,可以将两个卷积层的输出和LSTM的隐藏状态向量拼接在一起,映射到全连接层,得到最终的概率预测:
其中W'∈R|I|×(2d+n)和b'∈R|I|分别是输出层的权重矩阵和偏见向量。ht倾向于捕捉用户的长期偏好,ot用于学习项目具体的特征,用来捕捉用户的短期序列模式,是用户u在时刻t+1和项目i的互动概率值。
最后,可以采用交叉熵损失函数为循环卷积神经网络进行优化,通过最小化以下目标函数优化相关参数:
其中,y(u,t)是用户u在时刻t+1和所有项目的互动概率值。是一个独热向量,如果用户u在时刻t+1和项目i互动,则否则θ是网络中的所有超参数,λ是正则化权重。
还可以使用Adam(随机梯度下降的一个变种)来优化循环卷积神经网络RCNN中的参数。Adam通过对频繁的参数进行较小的更新和对不频繁的参数进行较大的更新,以此来适应每个参数的学习速率。
本发明实施例的循环卷积神经网络的时间复杂度就是循环神经网络的时间复杂度和卷积神经网络的时间复杂度之和。将每个用户的互动项目序列长度设为n,则循环神经网络层的时间复杂度为O(n);由于卷积层的两个过滤器都是一维的,窗口矩阵的宽度为隐藏状态向量的大小d,因此卷积神经网络的时间复杂度为O(nd),最后整个循环卷积神经网络的时间复杂度为O(n+nd)。
经过训练获得循环卷积神经网络后,可以利用循环卷积神经网络进行序列推荐。
参见图2所示,为本发明实施例所提供的一种基于循环卷积神经网络的序列推荐方法的实施流程图,该方法可以包括以下步骤:
步骤S210:获得用户历史互动项目序列。
用户历史互动项目序列可以通过不同平台收集得到,为用户互动过的项目的集合。
S220:在预先训练获得的循环卷积神经网络的循环层,对历史互动项目序列中的每个项目做转换处理,获得历史互动项目序列中每个项目对应的隐藏状态向量。
在上述训练获得的循环卷积神经网络的循环层,可以针对历史互动项目序列中的每个项目,对该项目做转换处理,获得该项目对应的隐藏状态向量。
具体的,可以将历史互动项目序列中的每个项目转换成一个隐含空间内的嵌入向量,通过LSTM的循环结构,获得历史互动项目序列中每个项目对应的隐藏状态向量。即针对于历史互动项目序列中的每个项目,将该项目转换成一个隐含空间内的嵌入向量,然后将这个嵌入向量输入进LSTM的循环结构中,得到一个隐藏状态向量,表征用户在该项目对应时刻的序列偏好。
S230:在循环卷积神经网络的卷积层,基于循环层获得的隐藏状态向量,确定窗口矩阵,对窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果。
将上一层循环层的输出同时输入进卷积层,确定窗口矩阵,具体的,可以把每个时间步最近的几个隐藏状态向量作为一个窗口矩阵,对窗口矩阵分别进行水平卷积操作和垂直卷积操作。
在本发明的一种具体实施方式中,可以通过以下步骤对窗口矩阵进行水平卷积操作,获得水平卷积结果:
步骤一:根据窗口矩阵,确定多个水平窗口矩阵;
步骤二:将每个水平窗口矩阵分别与每个相同大小的水平卷积过滤器互动,生成多个水平卷积值,获得水平卷积结果。
在本发明实施例中,根据窗口矩阵,可以确定出多个水平窗口矩阵,每个水平窗口矩阵对应于一个隐藏状态向量。
针对每个水平窗口矩阵,将该水平窗口矩阵与一个水平卷积过滤器互动,可以生成水平卷积值。具体可以通过上述公式(2)将水平窗口矩阵与一个水平卷积过滤器互动。
生成多个水平卷积值后,可以获得水平卷积结果,如上述公式(3)所示。
在本发明的一种具体实施方式中,可以通过以下步骤对窗口矩阵进行垂直卷积操作,获得垂直卷积结果:
第一个步骤:根据窗口矩阵,确定多个垂直窗口矩阵;
第二个步骤:将垂直卷积过滤器分别在每个垂直窗口矩阵的每列上以一个固定的方式滑动d次,生成多个垂直卷积值,获得垂直卷积结果。
在本发明实施例中,根据窗口矩阵,可以确定出多个垂直窗口矩阵,每个垂直窗口矩阵表示几个连续项目的隐藏状态向量。具体可以通过公式(4)确定垂直窗口矩阵。
针对每个垂直窗口矩阵,可以将垂直卷积过滤器在该垂直窗口矩阵的每列上以一个固定的方式滑动d次,生成垂直卷积值。
生成多个垂直卷积值后,可以获得垂直卷积结果,如公式(5)所示。
S240:在循环卷积神经网络的全连接层,根据水平卷积结果、垂直卷积结果和隐藏状态向量,获得用户与项目集合中每个项目的互动概率预测结果。
获得水平卷积结果和垂直卷积结果后,可以将水平卷积结果和垂直卷积结果及LSTM的隐藏状态向量拼接在一起,映射到全连接层,获得用户与项目集合中每个项目的互动概率预测结果。具体可以通过公式(6)确定。
S250:根据互动概率预测结果,确定推荐给用户的项目。
获得用户与项目集合中每个项目的互动概率预测结果后,可以根据互动概率预测结果,确定推荐给用户的项目。
具体的,可以按照互动概率值的大小进行排序,在前面选择设定个数的项目推荐给用户,或者在前面选择设定个数的用户没有交互过的项目推荐给用户。
应用本发明实施例所提供的方法,获得用户历史互动项目序列后,在预先训练获得的循环卷积神经网络的循环层,对每个项目做转换处理,获得隐藏状态向量,在循环卷积神经网络的卷积层,对基于隐藏状态向量确定的窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果,在全连接层,根据水平卷积结果、垂直卷积结果和隐藏状态向量,获得用户与项目集合中每个项目的互动概率预测结果,根据该预测结果,确定推荐给用户的项目。通过循环神经网络的循环结构捕捉复杂的长期依赖性,通过卷积神经网络的卷积操作提取循环隐藏状态的短期序列模式,通过对卷积层的输出和隐藏状态向量的拼接形成用户兴趣的高阶混合表征,增强了推荐性能,实现了更加高效的序列推荐。
相应于上面的方法实施例,本发明实施例还提供了一种基于循环卷积神经网络的序列推荐装置,下文描述的一种基于循环卷积神经网络的序列推荐装置与上文描述的一种基于循环卷积神经网络的序列推荐方法可相互对应参照。
参见图3所示,该装置包括:
序列获得模块310,用于获得用户历史互动项目序列;
循环层处理模块320,用于在预先训练获得的循环卷积神经网络的循环层,对历史互动项目序列中的每个项目做转换处理,获得历史互动项目序列中每个项目对应的隐藏状态向量;
卷积层处理模块330,用于在循环卷积神经网络的卷积层,基于循环层获得的隐藏状态向量,确定窗口矩阵,对窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果;
全连接层处理模块340,用于在循环卷积神经网络的全连接层,根据水平卷积结果、垂直卷积结果和隐藏状态向量,获得用户与项目集合中每个项目的互动概率预测结果;
项目推荐模块350,用于根据互动概率预测结果,确定推荐给用户的项目。
应用本发明实施例所提供的装置,获得用户历史互动项目序列后,在预先训练获得的循环卷积神经网络的循环层,对每个项目做转换处理,获得隐藏状态向量,在循环卷积神经网络的卷积层,对基于隐藏状态向量确定的窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果,在全连接层,根据水平卷积结果、垂直卷积结果和隐藏状态向量,获得用户与项目集合中每个项目的互动概率预测结果,根据该预测结果,确定推荐给用户的项目。通过循环神经网络的循环结构捕捉复杂的长期依赖性,通过卷积神经网络的卷积操作提取循环隐藏状态的短期序列模式,通过对卷积层的输出和隐藏状态向量的拼接形成用户兴趣的高阶混合表征,增强了推荐性能,实现了更加高效的序列推荐。
在本发明的一种具体实施方式中,循环层处理模块320,具体用于:
将历史互动项目序列中的每个项目转换成一个隐含空间内的嵌入向量,通过LSTM的循环结构,获得历史互动项目序列中每个项目对应的隐藏状态向量。
在本发明的一种具体实施方式中,卷积层处理模块330具体用于通过以下步骤对窗口矩阵进行水平卷积操作,获得水平卷积结果:
根据窗口矩阵,确定多个水平窗口矩阵;
将每个水平窗口矩阵分别与每个相同大小的水平卷积过滤器互动,生成多个水平卷积值,获得水平卷积结果。
在本发明的一种具体实施方式中,卷积层处理模块330具体用于通过以下公式将水平窗口矩阵与一个水平卷积过滤器互动:
其中,·表示向量的内积运算,j是水平窗口矩阵E(u,t)每个行向量的位置,b∈R是一个偏置向量,f是一个ReLU激活函数,水平卷积过滤器F∈R1×w,高度为1,宽度为w,对于用户u的历史互动项目序列Iu中的每个时间步t,均有一个水平窗口矩阵E(u,t)∈R1×d。
在本发明的一种具体实施方式中,卷积层处理模块330具体用于通过以下步骤对窗口矩阵进行垂直卷积操作,获得垂直卷积结果:
根据窗口矩阵,确定多个垂直窗口矩阵;
将垂直卷积过滤器分别在每个垂直窗口矩阵的每列上以一个固定的方式滑动d次,生成多个垂直卷积值,获得垂直卷积结果。
在本发明的一种具体实施方式中,卷积层处理模块330具体用于:
通过以下公式确定垂直窗口矩阵:
其中,对于用户u的历史互动项目序列Iu中的每个时间步t,均有一个垂直窗口矩阵表示个连续项目的隐藏状态向量,每个逗号表示行向量的拼接,的整个宽度等于d。
在本发明的一种具体实施方式中,全连接层处理模块340,具体用于:
通过以下公式确定用户与项目集合中每个项目的互动概率预测结果:
其中,W'∈R|I|×(2d+n)和b'∈R|I|分别是输出层的权重矩阵和偏见向量,ht倾向于捕捉用户的长期偏好,ot用于学习项目具体的特征,用来捕捉用户的短期序列模式,是用户u在时刻t+1和项目i的互动概率值。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于循环卷积神经网络的序列推荐方法,其特征在于,包括:
获得用户历史互动项目序列;
在预先训练获得的循环卷积神经网络的循环层,对所述历史互动项目序列中的每个项目做转换处理,获得所述历史互动项目序列中每个项目对应的隐藏状态向量;
在所述循环卷积神经网络的卷积层,基于所述循环层获得的隐藏状态向量,确定窗口矩阵,对所述窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果;
在所述循环卷积神经网络的全连接层,根据所述水平卷积结果、所述垂直卷积结果和所述隐藏状态向量,获得所述用户与项目集合中每个项目的互动概率预测结果;
根据所述互动概率预测结果,确定推荐给所述用户的项目。
2.根据权利要求1所述的方法,其特征在于,所述对所述历史互动项目序列中的每个项目做转换处理,获得所述历史互动项目序列中每个项目对应的隐藏状态向量,包括:
将所述历史互动项目序列中的每个项目转换成一个隐含空间内的嵌入向量,通过LSTM的循环结构,获得所述历史互动项目序列中每个项目对应的隐藏状态向量。
3.根据权利要求1所述的方法,其特征在于,通过以下步骤对所述窗口矩阵进行水平卷积操作,获得所述水平卷积结果:
根据所述窗口矩阵,确定多个水平窗口矩阵;
将每个所述水平窗口矩阵分别与每个相同大小的水平卷积过滤器互动,生成多个水平卷积值,获得所述水平卷积结果。
4.根据权利要求3所述的方法,其特征在于,通过以下公式将所述水平窗口矩阵与一个所述水平卷积过滤器互动:
其中,·表示向量的内积运算,j是水平窗口矩阵E(u,t)每个行向量的位置,b∈R是一个偏置向量,f是一个ReLU激活函数,水平卷积过滤器F∈R1×w,高度为1,宽度为w,对于用户u的历史互动项目序列Iu中的每个时间步t,均有一个水平窗口矩阵E(u,t)∈R1×d。
5.根据权利要求1所述的方法,其特征在于,通过以下步骤对所述窗口矩阵进行垂直卷积操作,获得所述垂直卷积结果:
根据所述窗口矩阵,确定多个垂直窗口矩阵;
将垂直卷积过滤器分别在每个所述垂直窗口矩阵的每列上以一个固定的方式滑动d次,生成多个垂直卷积值,获得所述垂直卷积结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述窗口矩阵,确定多个垂直窗口矩阵,包括:
通过以下公式确定所述垂直窗口矩阵:
其中,对于用户u的历史互动项目序列Iu中的每个时间步t,均有一个垂直窗口矩阵表示个连续项目的隐藏状态向量,每个逗号表示行向量的拼接,的整个宽度等于d。
7.根据权利要求1至6之中任一项所述的方法,其特征在于,所述根据所述水平卷积结果、所述垂直卷积结果和所述隐藏状态向量,获得所述用户与项目集合中每个项目的互动概率预测结果,包括:
通过以下公式确定所述用户与项目集合中每个项目的互动概率预测结果:
其中,W'∈R|I|×(2d+n)和b'∈R|I|分别是输出层的权重矩阵和偏见向量,ht倾向于捕捉用户的长期偏好,ot用于学习项目具体的特征,用来捕捉用户的短期序列模式,是用户u在时刻t+1和项目i的互动概率值。
8.一种基于循环卷积神经网络的序列推荐装置,其特征在于,包括:
序列获得模块,用于获得用户历史互动项目序列;
循环层处理模块,用于在预先训练获得的循环卷积神经网络的循环层,对所述历史互动项目序列中的每个项目做转换处理,获得所述历史互动项目序列中每个项目对应的隐藏状态向量;
卷积层处理模块,用于在所述循环卷积神经网络的卷积层,基于所述循环层获得的隐藏状态向量,确定窗口矩阵,对所述窗口矩阵分别进行水平卷积操作和垂直卷积操作,获得水平卷积结果和垂直卷积结果;
全连接层处理模块,用于在所述循环卷积神经网络的全连接层,根据所述水平卷积结果、所述垂直卷积结果和所述隐藏状态向量,获得所述用户与项目集合中每个项目的互动概率预测结果;
项目推荐模块,用于根据所述互动概率预测结果,确定推荐给所述用户的项目。
9.根据权利要求8所述的装置,其特征在于,所述循环层处理模块,具体用于:
将所述历史互动项目序列中的每个项目转换成一个隐含空间内的嵌入向量,通过LSTM的循环结构,获得所述历史互动项目序列中每个项目对应的隐藏状态向量。
10.根据权利要求8所述的装置,其特征在于,所述卷积层处理模块具体用于通过以下步骤对所述窗口矩阵进行水平卷积操作,获得所述水平卷积结果:
根据所述窗口矩阵,确定多个水平窗口矩阵;
将每个所述水平窗口矩阵分别与每个相同大小的水平卷积过滤器互动,生成多个水平卷积值,获得所述水平卷积结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811457888.6A CN109543112A (zh) | 2018-11-30 | 2018-11-30 | 一种基于循环卷积神经网络的序列推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811457888.6A CN109543112A (zh) | 2018-11-30 | 2018-11-30 | 一种基于循环卷积神经网络的序列推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109543112A true CN109543112A (zh) | 2019-03-29 |
Family
ID=65851882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811457888.6A Pending CN109543112A (zh) | 2018-11-30 | 2018-11-30 | 一种基于循环卷积神经网络的序列推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543112A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008408A (zh) * | 2019-04-12 | 2019-07-12 | 山东大学 | 一种会话推荐方法、系统、设备及介质 |
CN110008409A (zh) * | 2019-04-12 | 2019-07-12 | 苏州市职业大学 | 基于自注意力机制的序列推荐方法、装置及设备 |
CN110060097A (zh) * | 2019-04-01 | 2019-07-26 | 苏州市职业大学 | 基于注意力机制和卷积神经网络的用户行为序列推荐方法 |
CN110119467A (zh) * | 2019-05-14 | 2019-08-13 | 苏州大学 | 一种基于会话的项目推荐方法、装置、设备及存储介质 |
CN110598766A (zh) * | 2019-08-28 | 2019-12-20 | 第四范式(北京)技术有限公司 | 一种商品推荐模型的训练方法、装置及电子设备 |
CN110796313A (zh) * | 2019-11-01 | 2020-02-14 | 北京理工大学 | 一种基于带权图卷积和项目吸引力模型的会话推荐方法 |
CN111159473A (zh) * | 2019-12-25 | 2020-05-15 | 天津中科智能识别产业技术研究院有限公司 | 一种基于深度学习与马尔科夫链的连接的推荐方法 |
CN111931054A (zh) * | 2020-08-14 | 2020-11-13 | 中国科学院深圳先进技术研究院 | 一种基于改进残差结构的序列推荐方法和系统 |
EP3786851A1 (en) * | 2019-08-29 | 2021-03-03 | Siemens Aktiengesellschaft | Method and apparatus for providing recommendations for completion of an engineering project |
CN113254679A (zh) * | 2021-06-28 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 多媒体资源推荐方法、装置、电子设备以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108648049A (zh) * | 2018-05-03 | 2018-10-12 | 中国科学技术大学 | 一种基于用户行为区别建模的序列推荐方法 |
-
2018
- 2018-11-30 CN CN201811457888.6A patent/CN109543112A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108648049A (zh) * | 2018-05-03 | 2018-10-12 | 中国科学技术大学 | 一种基于用户行为区别建模的序列推荐方法 |
Non-Patent Citations (1)
Title |
---|
JIAXI TANG等: "Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding", 《HTTPS://ARXIV.ORG/ABS/1809.07426》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110060097A (zh) * | 2019-04-01 | 2019-07-26 | 苏州市职业大学 | 基于注意力机制和卷积神经网络的用户行为序列推荐方法 |
CN110008408A (zh) * | 2019-04-12 | 2019-07-12 | 山东大学 | 一种会话推荐方法、系统、设备及介质 |
CN110008409A (zh) * | 2019-04-12 | 2019-07-12 | 苏州市职业大学 | 基于自注意力机制的序列推荐方法、装置及设备 |
CN110119467A (zh) * | 2019-05-14 | 2019-08-13 | 苏州大学 | 一种基于会话的项目推荐方法、装置、设备及存储介质 |
CN110598766A (zh) * | 2019-08-28 | 2019-12-20 | 第四范式(北京)技术有限公司 | 一种商品推荐模型的训练方法、装置及电子设备 |
CN110598766B (zh) * | 2019-08-28 | 2022-05-10 | 第四范式(北京)技术有限公司 | 一种商品推荐模型的训练方法、装置及电子设备 |
WO2021037603A1 (en) * | 2019-08-29 | 2021-03-04 | Siemens Aktiengesellschaft | Method and apparatus for providing recommendations for completion of an engineering project |
EP3786851A1 (en) * | 2019-08-29 | 2021-03-03 | Siemens Aktiengesellschaft | Method and apparatus for providing recommendations for completion of an engineering project |
CN110796313A (zh) * | 2019-11-01 | 2020-02-14 | 北京理工大学 | 一种基于带权图卷积和项目吸引力模型的会话推荐方法 |
CN110796313B (zh) * | 2019-11-01 | 2022-05-31 | 北京理工大学 | 一种基于带权图卷积和项目吸引力模型的会话推荐方法 |
CN111159473A (zh) * | 2019-12-25 | 2020-05-15 | 天津中科智能识别产业技术研究院有限公司 | 一种基于深度学习与马尔科夫链的连接的推荐方法 |
CN111931054A (zh) * | 2020-08-14 | 2020-11-13 | 中国科学院深圳先进技术研究院 | 一种基于改进残差结构的序列推荐方法和系统 |
CN111931054B (zh) * | 2020-08-14 | 2024-01-05 | 中国科学院深圳先进技术研究院 | 一种基于改进残差结构的序列推荐方法和系统 |
CN113254679A (zh) * | 2021-06-28 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 多媒体资源推荐方法、装置、电子设备以及存储介质 |
CN113254679B (zh) * | 2021-06-28 | 2021-09-28 | 北京达佳互联信息技术有限公司 | 多媒体资源推荐方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543112A (zh) | 一种基于循环卷积神经网络的序列推荐方法及装置 | |
CN109947912B (zh) | 一种基于段落内部推理和联合问题答案匹配的模型方法 | |
CN113905391B (zh) | 集成学习网络流量预测方法、系统、设备、终端、介质 | |
CN110119467B (zh) | 一种基于会话的项目推荐方法、装置、设备及存储介质 | |
CN109544306B (zh) | 一种基于用户行为序列特征的跨领域推荐方法及装置 | |
CN111079601A (zh) | 基于多模态注意力机制的视频内容描述方法、系统、装置 | |
CN111079532A (zh) | 一种基于文本自编码器的视频内容描述方法 | |
CN114817663A (zh) | 一种基于类别感知图神经网络的服务建模与推荐方法 | |
CN110781401A (zh) | 一种基于协同自回归流实现的Top-n项目推荐方法 | |
CN110781893A (zh) | 特征图的处理方法、图像处理方法、装置以及存储介质 | |
CN114117232B (zh) | 节点和元路径对比学习增强的推荐方法及系统 | |
CN113761359B (zh) | 数据包推荐方法、装置、电子设备和存储介质 | |
CN115964568A (zh) | 一种基于边缘缓存的个性化推荐方法 | |
CN117058276A (zh) | 图像生成方法、装置、设备及存储介质 | |
CN114116995B (zh) | 基于增强图神经网络的会话推荐方法、系统及介质 | |
CN113705402B (zh) | 视频行为预测方法、系统、电子设备及存储介质 | |
CN113283400B (zh) | 一种基于选择性超图卷积网络的骨架动作识别方法 | |
CN110674181A (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
CN113868466A (zh) | 视频推荐的方法、装置、设备和存储介质 | |
US20240037133A1 (en) | Method and apparatus for recommending cold start object, computer device, and storage medium | |
CN111010595B (zh) | 一种新节目推荐的方法及装置 | |
CN112364852A (zh) | 融合全局信息的动作视频段提取方法 | |
CN113449176A (zh) | 基于知识图谱的推荐方法及装置 | |
CN115659019A (zh) | 一种基于轻量级图神经网络的协同过滤推荐方法、系统、装置及介质 | |
CN110659962B (zh) | 一种商品信息输出方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |
|
RJ01 | Rejection of invention patent application after publication |