一种基于卷积协同过滤的电影组推荐方法及系统转让专利

申请号 : CN202010696335.7

文献号 : CN112016000B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨青李贺永

申请人 : 桂林电子科技大学

摘要 :

本发明涉及一种基于卷积协同过滤的电影组推荐方法及系统,所述推荐方法包括:通过运营商获取用户数据和商品内容数据组成用户组,并处理成模型能识别的格式;使用基于卷积协同过滤推荐算法对以上数据进行处理,得到用户组的推荐列表;给相关用户组进行推荐,同时获取用户的反馈数据,并将反馈数据返回给系统,处理成相应格式,然后使用基于卷积协同过滤算法进行数据处理计算推荐列表,继续推荐商品给用户组。本发明的优点在于:将用户嵌入和项目嵌入特征进行线性融合之后,直接将处理的融合嵌入向量送入单层的卷积神经网络;会减少很多的参数。可以有效的提高模型的推荐商品的命中率。

权利要求 :

1.一种基于卷积协同过滤的电影组推荐方法,其特征在于:所述推荐方法包括:通过运营商获取用户数据和商品内容数据组成用户组,并处理成模型能识别的格式;

使用基于卷积协同过滤推荐算法对以上数据进行处理,得到用户组的推荐列表;

给相关用户组进行推荐,同时获取用户的反馈数据,并将反馈数据返回给系统,处理成相应格式,然后使用基于卷积协同过滤推荐算法进行数据处理计算推荐列表,继续推荐商品给用户组;

所述基于卷积协同过滤推荐算法对数据进行处理包括注意力神经网络的用户组嵌入聚合步骤、项目组嵌入聚合步骤和卷积协同过滤的特征交互学习步骤;所述注意力神经网络的用户组嵌入聚合步骤包括:

收集处理原始数据并进行清洗重组,得到用户数据和项目数据;

采用注意力神经网络对用户组的用户数据进行嵌入处理,通过整个模型学习该用户从属于某个特定组的加权权重;

根据所述该用户从属于某个特定用户组的加权权重对用户的嵌入特征进行加权聚合,从而得到该用户组的嵌入特征;

所述项目组嵌入聚合步骤包括:根据项目的属性数据、项目ID,通过神经网络embedding算法对这些高维稀疏数据进行embedding操作,将高维稀疏数据进行降维转化为低维度、稠密的嵌入特征向量;

所述卷积协同过滤的特征交互学习步骤包括:将获取的用户组的嵌入特征和项目组的嵌入特征按照对应元素做点乘的方式融合,并将融合后的结果再和用户组的嵌入特征、项目组的嵌入特征按照列做叠加处理得到数据的维度;叠加之后的数据维度为256*96;

将获取的数据维度的融合特征送入卷积神经网络进行卷积操作处理;

将卷积操作输出的数据输入到全连接层网络,继续对模型训练,不断提高模型准确度;

首先是卷积操作,当进行卷积操作时,假设卷积核为k*k,边界填充设置为P,步长为S,假设输入维度为H*W,那么输出的维度,H变为 W变为 令卷积核k*k=3*3,填充P=1,步长S=1,经过卷积之后,输入的维度256*96保持不变;

卷积之后,经过卷积的嵌入和原始嵌入进行元素点乘,V=F(A,E)=[a1·e1,···,af·ef]=[c1,···,cf],其中,A表示原始嵌入,E表示卷积嵌入,V表示经过卷积处理,能够建模原始特征重要度的嵌入;

然后使用全连接层:s=RELU(W2(RELU(W1V+b1))+b2),其中,V是嵌入交互得到的数据;

a1:原始嵌入特征的一列向量;e1:原始嵌入特征经过卷积层处理之后获取的卷积嵌入的一列向量;c1:a1·e1计算得到的结果;b1、b2:神经网络前向传播的偏置向量,通过优化算法和W1、W2同步进行训练,其中W1、W2表示映射参数矩阵。

2.根据权利要求1所述的一种基于卷积协同过滤的电影组推荐方法,其特征在于:所述方法还包括:不定期将新的有效用户按照规则组合成新的用户组,通过所述卷积协同过滤推荐算法获取新的用户组的推荐商品信息。

3.根据权利要求2所述的一种基于卷积协同过滤的电影组推荐方法,其特征在于:所述用户数据和商品内容数据包括:用户ID、用户年龄、用户性别、用户所选偏好、用户地址信息、用户浏览信息、用户购买信息、商品ID和商品所属类别。

4.一种基于卷积协同过滤的电影组推荐系统,其特征在于:所述电影组推荐系统包括:数据获取模块:用于获取用户数据和商品内容数据组成用户组,并处理成模型能识别的格式;

数据处理模块:用于使用基于卷积协同过滤推荐算法对以上数据进行处理,得到用户组的推荐列表;

推荐模块:用于给相关用户组进行推荐,同时获取用户的反馈数据,并将反馈数据返回给系统,处理成相应格式,然后使用基于卷积协同过滤算法进行数据处理计算推荐列表,继续推荐商品给用户组;

所述数据处理模块包括:用户组嵌入聚合单元、项目组嵌入聚合单元和特征交互学习单元;

所述用户组嵌入聚合单元:通过注意力神经网络对用户组的用户数据进行嵌入处理得到用户权重,再对用户的嵌入特征进行加权聚合得到用户组的嵌入特征;

所述项目组嵌入聚合单元:根据项目的属性数据、项目ID,通过神经网络embedding算法对这些高维稀疏数据进行embedding操作,将高维稀疏数据进行降维转化为低维度、稠密的嵌入特征向量;

所述特征交互学习单元:获取用户组和项目组的嵌入特征进行融合,然后按照列进行拼接,拼接之后将总的特征输入到单通道卷积神经网络进行卷积操作,最后将卷积操作输出的数据输入到全连接层网络;

具体为:首先是卷积操作,当进行卷积操作时,假设卷积核为k*k,边界填充设置为P,步长为S,假设输入维度为H*W,那么输出的维度,H变为 W变为 令卷积核k*k=3*3,填充P=1,步长S=1,经过卷积之后,输入的维度256*96保持不变;

卷积之后,经过卷积的嵌入和原始嵌入进行元素点乘,V=F(A,E)=[a1·e1,···,af·ef]=[c1,···,cf],其中,A表示原始嵌入,E表示卷积嵌入,V表示经过卷积处理,能够建模原始特征重要度的嵌入;

然后使用全连接层:s=RELU(W2(RELU(W1V+b1))+b2),其中,V是嵌入交互得到的数据;

a1:原始嵌入特征的一列向量;e1:原始嵌入特征经过卷积层处理之后获取的卷积嵌入的一列向量;c1:a1·e1计算得到的结果;b1、b2:神经网络前向传播的偏置向量,通过优化算法和W1、W2同步进行训练,其中W1、W2表示映射参数矩阵。

说明书 :

一种基于卷积协同过滤的电影组推荐方法及系统

技术领域

[0001] 本发明涉及推荐服务技术领域,尤其涉及一种基于卷积协同过滤的电影组推荐方法及系统。

背景技术

[0002] 随着社会发展越来越快,人们在上网时每天都要筛选很多信息;为了解决信息过载的问题,推荐系统被广泛应用于电子商务平台、移动app等在线信息系统中。一个高效的
推荐系统不仅可以带给服务商流量和利润,同时,还可以帮助用于挑选出他们更感兴趣的
商品。
[0003] 传统的推荐算法往往没有应用神经网络在系统中,这导致系统性能还有很大的提升空间,而今年来,有推荐系统已经应用到各种神经网络中,但是他们大多是多层感知机等
前向传播网络,存在着参数复杂繁多的问题,导致系统训练模型需要花费很长的时间;同
时,传统的推荐系统往往是对单个用户进行推荐他们感兴趣的商品,这样的推荐系统的效
率相对于组推荐的效率是很低的。

发明内容

[0004] 本发明的目的在于克服现有技术的缺点,提供了一种基于卷积协同过滤的电影组推荐方法及系统,解决了目前推荐方法存在的不足。
[0005] 本发明的目的通过以下技术方案来实现:一种基于卷积协同过滤的电影组推荐方法,所述推荐方法包括:
[0006] 通过运营商获取用户数据和商品内容数据组成用户组,并处理成模型能识别的格式;
[0007] 使用基于卷积协同过滤推荐算法对以上数据进行处理,得到用户组的推荐列表;
[0008] 给相关用户组进行推荐,同时获取用户的反馈数据,并将反馈数据返回给系统,处理成相应格式,然后使用基于卷积协同过滤算法进行数据处理计算推荐列表,继续推荐商
品给用户组。
[0009] 进一步地,所述基于卷积协同过滤推荐算法对数据进行处理包括注意力神经网络的用户组嵌入聚合步骤、项目组嵌入聚合步骤和卷积协同过滤的特征交互学习步骤;所述
注意力神经网络的用户组嵌入聚合步骤包括:
[0010] 收集处理原始数据并进行清洗重组,得到用户数据和项目数据;
[0011] 采用注意力神经网络对用户组的用户数据进行嵌入处理,通过整个模型学习该用户从属于某个特定组的加权权重;
[0012] 根据所述该用户从属于某个特定用户组的加权权重对用户的嵌入特征进行加权聚合,从而得到该用户组的嵌入特征。
[0013] 进一步地,所述卷积协同过滤的特征交互学习步骤包括:
[0014] 将获取用户组的嵌入特征和项目组的嵌入特征按照对应元素做点乘的方式融合,并将融合后的结果再和用户组的嵌入特征、项目组的嵌入特征按照列做叠加处理得到数据
的维度;
[0015] 将获取的数据维度的融合特征送入卷积神经网络进行卷积操作处理;
[0016] 将卷积操作输出的数据输入到全连接层网络,继续对模型训练,不断提高模型准确度。
[0017] 进一步地,所述项目组嵌入聚合步骤包括:根据项目的属性数据、项目ID,通过神经网络embedding算法对这些高维稀疏数据进行embedding操作,将高维稀疏数据进行降维
转化为低维度、稠密的嵌入特征向量。
[0018] 进一步地,所述方法还包括:不定期将新的有效用户按照规则组合成新的用户组,通过所述卷积协同过滤推荐算法获取新的用户组的推荐商品信息。
[0019] 进一步地,所述用户数据和商品内容数据包括:用户ID、用户年龄、用户性别、用户所选偏好、用户地址信息、用户浏览信息、用户购买信息、商品ID和商品所属类别。
[0020] 一种基于卷积协同过滤的电影组推荐系统,所述电影组推荐系统包括:
[0021] 数据获取模块:用于获取用户数据和商品内容数据组成用户组,并处理成模型能识别的格式;
[0022] 数据处理模块:用于使用基于卷积协同过滤推荐算法对以上数据进行处理,得到用户组的推荐列表;
[0023] 推荐模块:用于给相关用户组进行推荐,同时获取用户的反馈数据,并将反馈数据返回给系统,处理成相应格式,然后使用基于卷积协同过滤算法进行数据处理计算推荐列
表,继续推荐商品给用户组。
[0024] 进一步地,所述数据处理模块包括:用户组嵌入聚合单元和特征交互学习单元;
[0025] 所述用户组嵌入聚合单元:通过注意力神经网络对用户组的用户数据进行嵌入处理得到用户权重,再对用户的嵌入特征进行加权聚合得到用户组的嵌入特征;
[0026] 所述特征交互学习单元:获取用户组和项目组的嵌入特征进行融合,然后按照列进行拼接,拼接之后将总的特征输入到单通道卷积神经网络进行卷积操作,最后将卷积操
作输出的数据输入到全连接层网络。
[0027] 本发明的有益效果为:一种基于卷积协同过滤的电影组推荐方法及系统,将用户嵌入(或用户组嵌入)和项目嵌入特征进行线性融合之后,直接将处理的融合嵌入向量送入
单层的卷积神经网络;因为卷积神经网络在计算的过程中,网络之间的神经元局部连接,并
且一组连接可以共享一个权重,这样会减少很多的参数。同时,卷积神经网络的池化特性也
可以很好的学习到用户嵌入(或用户组嵌入)和项目嵌入特征的有用数据,这样可以更有效
的获取用户或用户组对项目的偏好得分。从而可以有效的提高模型的推荐商品的命中率。

附图说明

[0028] 图1为本发明方法的流程图;
[0029] 图2为本发明基于注意力神经网络的用户组嵌入聚合结构示意图;
[0030] 图3为本发明基于卷积协同过滤的特征交互学习结构示意图;
[0031] 图4为原始嵌入(Original Embedding)映射到卷积嵌入(CNN Embedding)的计算细节放大图;
[0032] 图5为原始嵌入(Original Embedding)和卷积嵌入(CNN Embedding)进行向量元素的点积示意图。

具体实施方式

[0033] 为使本申请实施例的目的、技术方案和有点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实
施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实
施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定
实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的
所有其他实施例,都属于本申请保护的范围。下面结合附图对本发明做进一步的描述。
[0034] 如图1所示,本发明涉及一种基于卷积协同过滤的电影组推荐方法,其包括:
[0035] S1、通过大数据运营商获取新登录用户信息,包括用户ID、用户年龄、用户性别、用户所选偏好、以及用户不定期更新的地址等信息;
[0036] S2、利用步骤S1获取的用户数据,通过一定的数据处理方式组成新的用户组,对于商品的数据,进行数据清洗、统计,便于后续的模型处理工作,以上数据处理工作便于后续
对新用户进行商品的首次的定向推荐;
[0037] S3、将步骤S2得到的用户和项目数据,推送给本产品的模型。通过数据的清洗重组,并不定期将新的有效用户按照规则组合成新的用户组;通过卷积协同过滤推荐算法,首
先获取用户组和项目组的嵌入特征,然后将特征按照“列”拼接,拼接之后将总的特征输入
到单通道卷积神经网络,将卷积输出的数据继续输入全连接层网络。通过训练模型,不断提
高模型准确度。最终,使用训练好的模型获取用户组的商品推荐列表;
[0038] S4、从运营商大数据系统中获取新用户和商品的原始数据,包括用户登录信息、用户年龄和性别、用户近期浏览数据、用户历史购买数据、新的和旧的商品ID等数据。利用这
批用户的新的点击数据,对用户进行进一步的推送商品;
[0039] S5、获取有效用户组关于推荐商品的浏览时间、浏览次数和有效操作类别等数据。继续对现有用户组进行模型学习、商品推荐。同时,通过大数据运营商获取新用户,定期组
成新的用户组,进行商品的定向推荐。
[0040] 如图2所示,基于注意力神经网络的用户组聚合算法步骤为:
[0041] A1、收集处理原始数据,对原始数据进行清洗重组,得到用户数据和项目数据,用户数据包括用户的数量,ID,以及归属的组。商品的数据包括商品的数量、商品的ID等;
[0042] A2、在步骤A1基础上,对每个用户组的用户数据进行加权聚合处理,加权的方式采用的是注意力神经网络。具体的实施包括:对每个用户的数据进行嵌入处理,通过整个模型
学习该用户从属于某个组的加权权重。同时也学习到了项目的权重。学习到的用户权重为:
[0043]
[0044] 其中,上式的h(i,t)代表经过全连接传播的用户、项目嵌入组合。在此基础,经过softmax激活函数就得到单个用户嵌入的注意力权重。
[0045] A3、应用步骤A2学习到的用户从属于特定组的权重对用户的嵌入特征进行加权聚合,从而得到组的嵌入特征。以便于后续的特征融合操作。经用户嵌入特征聚合的组嵌入特
征表示为:
[0046]
[0047] 这里,基于CAMRA2011数据获得的组嵌入特征gl(i)的维度为256*32。
[0048] 进一步地,所述项目组的嵌入特征的实现包括:根据项目的属性数据、项目ID,通过神经网络embedding算法对这些高维稀疏数据进行embedding操作,将高维稀疏数据进行
降维转化为低维度、稠密的嵌入特征向量。
[0049] 其中,项目指的是推荐列表中的商品或者物品,包括很多类型的商品,如淘宝、京东、拼多多等app上的商品;或者虚拟商品,例如电影、音乐等。
[0050] 如图3所示,基于卷积协同过滤的特征交互学习算法为:
[0051] B1、将获取的组特征和项目特征按照对应元素做点乘的方式融合:gl(i)⊙vj,将融合后的结果再和组特征、项目特征按照“列”叠加。叠加之后的数据维度为256*96。
[0052] B2、将步骤B1获取的维度为256*96的融合特征送入卷积神经网络,对他们进行卷积操作处理。
[0053] B3、本模型卷积结构的具体操作包括:嵌入层映射交互、全连接层和预测层。
[0054] 首先是卷积操作,当进行卷积操作时,假设卷积核为k*k,边界填充设置为P,步长为S,假设输入维度为H*W,那么输出的维度,H变为 W变为 我们
令卷积核k*k=3*3,填充P=1,步长S=1。那么经过卷积之后,输入的维度256*96保持不变。
卷积之后,经过卷积的嵌入和原始嵌入进行元素点乘。
[0055] V=F(A,E)=[a1·e1,···,af·ef]=[c1,···,cf]
[0056] 其中,A表示原始嵌入,E表示卷积嵌入,V表示经过卷积处理,能够建模原始特征重要度的嵌入。
[0057] 然后使用全连接层:
[0058] s=RELU(W2(RELU(W1V+b1))+b2)
[0059] 其中,V是嵌入交互得到的数据;a1:原始嵌入特征(用户嵌入特征和项目嵌入特征融合之后)的一列向量(我们设一共f列);e1:原始嵌入特征经过卷积层处理之后获取的卷
积嵌入的一列向量(我们设一共f列);c1:a1·e1计算得到的结果,他们之间采取的就是图5
向量计算方式;b1、b2:神经网络前向传播的偏置向量,通过优化算法和W1、W2同步进行训练,
其中W1、W2表示映射参数矩阵。
[0060] 最后使用预测层就可以获取预测分数。
[0061] 我们可以通过改变W1,W2来决定参数量。一个单层卷积增加的卷积核的参数为9个参数,而当W1:96*32,W2:32*1。全连接层的参数量为3104(96*32+32*1)参数。可以看出卷积
所增加的参数量是很少的。
[0062] 其中,256*96数据维度的由来:首先将程序的批次设置为每批次256条数据,即每批训练集包括256个用户(组)的数据和256个项目的数据,每个实体的特征维度设置为32。
如图3所示,用户(组),项目嵌入特征,以及用户(组)和项目交互的嵌入特征维度均相同:,
表示如下:
[0063] gl(i),vj,gl(i)⊙vj∈R256*32
[0064] 在融合阶段,我们将三组嵌入特征按‘列’进行融合,那么行数保持不变,列数相加即可,融合之后的维度变为:
[0065] Original Embedding∈R256*96
[0066] 如图4所示,使用3*3的卷积核,对边界进行了补0:令P=1,令卷积的步长等于1,那么使用卷积核进行卷积操作之后,嵌入特征的维度会保持不变。如图5所示,对原始嵌入
(Original Embedding)和卷积嵌入(CNN Embedding)进行向量元素之间的点积。得到的公
式为:
[0067] V=F(A,E)=A⊙E=[a1·e1,···,af·ef]=[c1,···,cf]
[0068] 该处的原始嵌入特征和卷积嵌入特征已经是用户(组)和项目交互之后的特征。
[0069] 本发明在具体实验中将数据分为290个用户组。经过统计,该数据包括了113334条用户评分训练数据,3010条用户评分测试数据,143618条组评分训练数据,1450条组评分测
试数据。以及针对用户测试数据构建了3010条负采样数据,针对用户组测试数据构建了
1450条负采样数据,每条测试数据跟随了100个负采样项目(没有被该组或该用户点击的负
样本)。其中,用户和用户组的负采样数据在对模型评价时使用。
[0070] 线上数据通过采集大数据平台的活跃用户数据而得,通过流式处理定期采集的数据,就可以具备定对组或者单个用户推荐合适商品的功能。
[0071] 本发明通过使用卷积神经网络,在卷积增加之后参数的增加机会可以忽略不计,卷积神经网络(CNN)9个参数相当于多层感知器(MLP)3104个参数;通过卷积对原始嵌入
(Original Embedding)的处理获得卷积嵌入,这一部分作为原始嵌入的特征权重,也就是
将卷积嵌入和原始嵌入点乘,点乘之后我们就成功对原始嵌入的特征的重要度进行建模。
[0072] 以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本
文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进
行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围
内。