基于CNN-LFM模型的推荐方法、系统及存储介质与流程

文档序号:16252758发布日期:2018-12-12 00:10阅读:272来源:国知局
基于CNN-LFM模型的推荐方法、系统及存储介质与流程

本发明涉及互联网技术领域,具体地涉及一种基于cnn-lfm模型的推荐方法、系统及存储介质。

背景技术

互联网的普及和移动互联网的高速发展使电子商务服务日益丰富,数字化电影、在线音乐、购物等服务成为人们生活中的重要组成成分。每天都会产生大量信息,我们在上网时会有浏览数据、在社交网络中会产生发表的评论信息等等的网络数据、以及各式各样的商品信息。商家为了营造更好的消费体验,为消费者提供便利,推荐系统应运而生。在推荐系统中,推荐方法扮演了相当重要的角色,直接影响着推荐系统的质量和推荐性能。好的推荐方法能够帮助用户快速找到需求,节省大量的时间,提升用户体验。虽然推荐系统在各大网站和应用中已经应用,但目前仍有很高的提升空间,研究仍然在继续。

由于用户和物品数量的爆炸式增长,评分数据的稀疏性和新物品的冷启动问题成为了阻碍推荐系统进一步发展的难题。



技术实现要素:

本发明的目的是提供一种基于cnn-lfm模型的推荐方法、系统及存储介质,该推荐方法、系统及存储介质可以根据用户在互联网站点上浏览或购买过的物品以及对物品的评分数据计算用户对物品的未知评分,并根据该未知评分进一步向用户推荐相关商品,使得互联网站点的使用更加方便,提高了用户的使用体验。

为了实现上述目的,本发明的一方面提供一种基于cnn-lfm模型的推荐方法。该推荐方法可以包括:

收集网络数据,所述网络数据包括用户浏览的商品的图像和对所述商品的评分数据;

对所述图像和所述评分数据进行预处理,将所述图像调整为同一尺寸,去除所述图像和所述评分数据中的异常数据;

将所述图像输入卷积神经网络模型(convolutionalneuralnetwork,cnn)中以提取所述图像的图像特征和参数;

将所述评分数据转化成评分矩阵,采用隐语义模型(latentfactormodel,lfm)对所述用户的评分矩阵进行矩阵分解;

以所述图像特征和参数为条件约束物品的潜在特征,得到所述物品的潜在特征和所述用户的潜在特征;

根据所述物品的潜在特征和所述用户的潜在特征预测所述用户对所述物品的未知评分;

结合所述未知评分生成损失函数;

计算所述损失函数中的梯度;

判断所述梯度是否为0;

在判断所述梯度为0的情况下,输出所述未知评分;

在判断所述梯度不为0的情况下,对所述卷积神经网络模型和所述隐语义模型进行更新并再次将所述图像输入卷积神经网络模型中以提取所述图像的图像特征和参数直到所述梯度为0。

可选地,所述卷积神经网络模型包括:

输入层,用于接收所述图像;

在所述输入层后交替排列的卷积层和池化层,位于所述输入层后的所述卷积层用于从所述图像中提取多个特征图,所述池化层用于降低所述多个特征图的维度,位于所述池化层后的所述卷积层用于从被所述池化层处理后的所述多个特征图中进一步提取多个特征图;

输出层,包括非线性映射,用于将所述多个特征图转化成所述图像特征。

可选地,所述位于所述池化层后的所述卷积层用于从被所述池化层处理后的所述多个特征图中进一步提取多个特征图包括:

根据公式(1)计算所述卷积层提取的所述多个特征图,

其中,mm为选择输入的特征图,m为当前计算的所述特征图的编号,为位于第l层的所述卷积层提取的所述特征图,*为卷积运算,为位于第l-1层的所述池化层处理后的第n个所述特征图,为位于第l层的所述卷积层的第m个卷积核的权重参数,为偏置参数,f为非线性激活函数。

可选地,所述池化层用于降低所述多个特征图的维度包括:

根据公式(2)降低所述多个特征图的维度,

其中,为所述池化层的权值,m为当前计算的所述特征图的编号,l为位于当前的所述池化层之前的所述卷积层所在的层数,down为下采样函数,l+1为当前的所述池化层所在的层数,为当前的所述池化层处理后的所述特征图,为位于第l层的所述卷积层提取出的所述特征图。

可选地,所述将所述多个特征图转化成所述图像特征包括:

根据公式(3)将所述多个特征图转换为所述图像特征,

其中,z为所述图像特征,均为预设的参数矩阵,为预设的偏置向量,xm为提取出的所述多个特征图,f为非线性激活函数。

可选地,所述以所述图像特征和参数为条件约束物品的潜在特征,得到所述物品的潜在特征和所述用户的潜在特征包括:

根据公式(4)计算所述物品的潜在特征和所述用户的潜在特征,

r=utv(4)

其中,r为所述未知评分,ut为所述用户的潜在特征的转置矩阵,v为所述物品的潜在特征。

可选地,所述根据所述物品的潜在特征和所述用户的潜在特征预测所述用户对所述物品的未知评分包括:

根据公式(5)计算所述未知评分,

其中,为所述未知评分,uut为所述用户的潜在特征的转置矩阵,w为cnn模型中的参数,vi为编号为i的所述物品的潜在特征,pi为输入到所述卷积神经网络模型中的图像,cnn为所述卷积神经网络模型,bi为偏置参数。

可选地,所述根据所述未知评分生成损失函数包括:

根据公式(6)生成所述损失函数,

其中,l(u,v,w)为所述损失函数,a为所述用户的数量,b为所述物品的数量,i为当前的所述物品的编号,u为当前的所述用户的编号,rui为根据所述用户的评分数据得到的已知评分,uu为所述用户的潜在特征,uut为所述用户的潜在特征的转置矩阵,wl为所述卷积神经网络模型中的第l个参数,所述参数包括权重参数和偏置参数,vi为编号为i的所述物品的潜在特征,w为所述卷积神经网络模型中的参数,λ为正则化项的系数,pi为输入的所述图像。

本发明的另一方面还提供一种基于cnn-lfm模型的系统,所述系统包括处理器,所述处理器用于执行上述所述的推荐方法。

本发明的再一方面还提供一种存储介质,所述存储介质存储有控制指令,所述控制指令用于被读取以使得计算机执行上述所述的推荐方法。

通过上述技术方案,本发明提供的基于cnn-lfm模型的推荐方法、系统及存储介质利用物品自身的图像信息,通过cnn模型提取图像特征并采用lfm模型对用户的评分数据进行处理,计算用户对商品(物品)的未知评分,从而根据用户对各个商品的用户评分的高低来向该用户推荐商品,进一步提高了商品推荐的准确率。

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是根据本发明的一个实施方式的基于cnn-lfm模型的推荐方法的流程图;

图2是根据本发明的一个实施方式的cnn模型的结构框图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

如图1所示是根据本发明的一个实施方式的基于cnn-lfm模型的推荐方法。在图1中,该推荐方法可以包括:

在步骤s1中,收集网络数据,该网络数据可以包括用户浏览的商品的图像和对商品的评分数据。在本发明的该实施方式中,该网络数据可以包括例如用户在购物平台(例如阿里巴巴、亚马逊等)浏览的商品的图像和对购买过的商品的评分数据,或用户对观看过的电影评分数据和电影的海报数据。在本发明的一个示例中,该网络数据可以包括a个用户和b个物品,其中,a、b均可以为自然数。

在步骤s2中,对图像和评分数据进行预处理。在该实施方式中,该预处理可以是将该商品的图像调整为同一尺寸,去除图像和评分数据中的异常数据。

在步骤s3中,将图像输入卷积神经网络模型中以提取图像的图像特征和参数。在该实施方式中,如图2所示,该cnn模型可以包括输入层input、卷积层conv、池化层pool和输出层output。在图2中,该卷积层conv和池化层pool均为多个,且两者在输入层input和输出层output之间交替排列。在项目实施的过程中,可以根据实际情况(例如被输入的图像的复杂程度)确定卷积层conv和池化层pool的数量。该输入层input可以用于接收图像,位于输入层input后的第一个卷积层conv用于从该图像中提取多个特征图。每个卷积层conv后的池化层pool用于降低排列在该池化层pool前的卷积层conv提取的多个特征图的维度。位于池化层pool后的卷积层conv用于从被池化层pool处理后的多个特征图中进一步提取特征图。优选地,在每个卷积层conv后可以接relu(激活函数)以增强对非线性的表示,每个卷积层conv的卷积核的参数可以在多个卷积核之间共享,每个卷积核可以采用梯度下降法进行求解。

在本发明的一个实施方式中,如图2所示,“conv1_1:3,64”可以表示卷积层的卷积核尺寸为3×3,“64”表示该卷积层输出的特征图个数。对于池化层pool,“pool:2,2”表示该池化层的池化核大小为2×2,步长为2,这些数值可以根据实际情况而调整。

在本发明的一个示例中,假定该cnn模型中的第l层为卷积层(第l-1个即为池化层),那么,可以采用公式(1)表示该位于第l层的卷积层提取的特征图的计算公式,

其中,mm表示(被)选择输入的特征图,m为当前计算的特征图的编号,为位于第l层的卷积层提取的特征图,l为该cnn模型中的层的编号,*为卷积运算,为位于第l-1层的池化层处理后的第n个特征图,n为特征图的编号,为位于第l层的卷积层的第m个卷积核的权重参数(可以采用不同的数据对该cnn模型进行训练得到),为(预先通过大量数据训练得到的)偏置参数,f为非线性激活函数。

在每个卷积层conv后,可以采用relu激活函数来对该对个卷积层conv的处理结果进行计算,避免出现梯度饱和的问题。此外,采用relu激活函数与其他激活函数相比计算速度更快。

在该示例中,以位于该第l层的卷积层之后的池化层(位于第l+1层)为例。那么,可以采用公式(2)来表示该位于第l+1层的池化层的特征图的计算公式,

其中,为该池化层的权值,m为当前计算的特征图的编号,l为位于当前的池化层之前的卷积层所在的层数。对于该示例中的2×2的池化核,该权值可以是例如1/4。down为下采样函数,l+1为当前的池化层所在的层数,为当前的池化层处理后的特征图,为位于第l层的卷积层提取出的特征图。在该示例中,该下采样函数可以选用max-pooling。上述给出的权值和下采样函数仅限于解释本发明,并不对本发明的保护范围造成限制。在本发明的同一技术构思下,根据实际解决的具体问题的不同,该权值也可以为其他值,该下采样函数可以选用其他的函数。

在经过多个卷积层conv和池化层pool处理后,从输入的图像中提取的特征图由局部性逐渐向全局性过渡,该特征图包含商品的内容和信息。最后,输出层的非线性映射将该多个特征图转换成为图像特征。在该示例中,可以采用公式(3)将该多个特征图转换为图像特征,

其中,z为图像特征,均为预设的参数矩阵,为预设的偏置向量,xm为提取出的多个特征图,f为非线性激活函数。

考虑到现有技术中,对于图像分类问题的输出层output的函数多采用softmax函数。在该示例中,为了满足获取图像特征的需要,可以采用tanh激活函数,并对提取出的特征图进行至少两次线性变换。经过处理后,可以采用公式(4)表示该处理后的图像特征,

zi=cnn(w,pi)(4)

其中,zi为物品i的图像特征,w为cnn模型中的预设的(经过大量数据训练得到的)参数,该参数可以包括权重参数和偏置参数,pi为物品i的图像。

在步骤s4中,将评分数据转化成评分矩阵,采用隐语义模型对用户的评分矩阵进行矩阵分解。

在步骤s5中,以图像特征和参数为条件约束物品的潜在特征,得到该物品的潜在特征和用户的潜在特征。

在该实施方式中,该步骤可以是例如采用公式(5)表示,

r=utv(5)

其中,r为未知评分,ut为用户的潜在特征的转置矩阵,v为物品的潜在特征。

以上述给出的包括a个用户和b个物品(每个物品的编号为i,i为0至b之间的自然数)的网络数据为例,uu为用户u的潜在特征,vi则为物品i的潜在特征,那么可以采用公式(6)表示传统隐语义模型的损失函数,

其中,l(u,v)为损失函数,rui为根据用户的评分数据得到的已知评分,uu为用户u的潜在特征,是为了防训练过拟合而引入的正则化项,λ为正则化项的系数。然而,在本发明的该示例中,cnn-lfm模型与传统lfm潜语义模型不同。在该步骤s5中,可以假设物品的潜在特征由以下三个变量决定:1)cnn模型中的参数w;2)输入cnn模型的图像pi;3)偏置参数bi。因此,最终的物品的潜在特征可以表示为公式(7),

vi=cnn(w,pi)+bi(7)

其中,w为cnn模型中的参数,pi为输入到cnn模型中的图像,bi为偏置参数。

在步骤s6中,根据上述得到的物品的潜在特征和用户的潜在特征预测用户u对物品i的未知评分该未知评分可以采用公式(8)表示,

其中,uut为用户的潜在特征的转置矩阵,w为cnn模型中的参数,pi为输入到cnn模型中的图像,bi为偏置参数,vi为编号为i的物品的潜在特征。

在步骤s7中,结合未知评分生成损失函数。在该实施方式中,结合上述给出的公式,可以采用公式(9)表示损失函数,

其中,l(u,v,w)为损失函数,a为用户的数量,b为物品的数量,i为当前的物品的编号,u为当前的用户的编号,rui为根据用户的评分数据得到的已知评分,uu为用户的潜在特征,uut为用户的潜在特征的转置矩阵,wl为卷积神经网络模型中的第l个参数,该参数可以包括权重参数和偏置参数,vi为编号为i的物品的潜在特征,λ为正则化项的系数,pi为输入的图像。

在步骤s8中,计算该损失函数中的梯度。

在步骤s9中,判断损失函数的梯度是否为0。考虑到在计算的过程中,参数是需要不断优化的,最终计算出的该未知评分可能不是最优解。所以,在该实施方式中,计算公式(9)的梯度(对公式(9)中的每个变量的分别进行求偏导运算),以判断该计算出的cnn-lfm模型是否达到最优解(各个变量的偏导结果是否为0)。若该cnn-lfm模型未达到最优解,此时说明该未知评分与实际的真实值偏差过大,那么需要进一步迭代,即对cnn模型和lfm模型的所有参数进行更新(执行图1中的步骤s11),优选地,对所有参数进行更新的方法可以采用坐标梯度下降法。在更新参数后,返回执行步骤s3和步骤s4。若损失函数的梯度(各个变量的偏导结果)为0,cnn-lfm模型达到最优解,此时说明该未知评分与真实值相当接近,并且两者的偏差范围在可接受范围内。所以,可以执行步骤s10。

在步骤s10中,若损失函数的梯度为0,cnn-lfm模型达到最优解,输出未知评分并结束该推荐方法。此外,在计算出未知评分后,也可以根据该未知评分向用户推送(例如在用户浏览网页时)未知评分高的物品的信息。

本发明的另一方面还提供一种基于cnn-lfm模型的系统,该系统包括处理器,该处理器用于执行上述基于cnn-lfm模型的推荐方法。

本发明的再一方面还提供一种存储介质,该存储介质存储有指令,该指令可以用于控制计算机执行上述基于cnn-lfm模型的推荐方法。

通过上述技术方案,本发明提供的基于cnn-lfm模型的推荐方法、系统及存储介质利用物品自身的图像信息,通过cnn模型提取图像特征并采用lfm模型对用户的评分数据进行处理,计算用户对商品的未知评分,从而根据用户对各个商品的用户评分的高低来向该用户推荐商品,进一步提高了商品推荐的准确率。

以上结合附图详细描述了本发明的可选实施方式,但是,本发明并不限于上述可选实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。

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