一种基于协同过滤的物品推荐方法、存储介质及服务器与流程

文档序号:15558119发布日期:2018-09-29 01:36阅读:853来源:国知局

本发明涉及物品推荐领域,尤其涉及一种基于协同过滤的物品推荐方法、存储介质及服务器。



背景技术:

在用户数据建模问题中,用户显示反馈数据建模问题是最经典的推荐算法求解问题,其目标在于根据用户历史评分数据构建模型学习用户的偏好,即求出用户对其他物品的预测评分,这里的评分对应了用户对物品的偏好程度,根据所述偏好程度可得出更好的推荐效果。面向用户显示反馈数据建模的经典推荐算法有很多,基于模型的协同过滤算法根据训练准则不同,可以具体分为pointwise和pairwise两种。基于pointwise是指训练过程中,只采样单个用户和物品,在一定的迭代次数范围内不断优化训练函数,而基于pairwise是指采样单个用户和两个物品,训练函数中将两个物品的矩阵乘积作差,从而对差值进行优化。基于pointwise方法中比较典型的为概率矩阵分解(probabilisticmatrixfactorization,pmf)模型,该模型将用户对物品的预测评分分解成用户特征向量和物品特征向量的乘积并进行优化。此外还有增强的奇异值分解(enhancedsingularvaluedecomposition,svd++)模型,该模型同样是通过矩阵分解的方式,将潜在向量模型和物品间相似度模型进行融合,使得融合后的模型比单一模型的效果更好。多类别偏好上下文学习(matrixfactorizationwithmulticlasspreferencecontext,mf-mpc)模型则是从用户评分反馈的类别角度出发,提出在求解面向用户显式反馈数据建模问题时,通过更细粒度的多类别偏好上下文信息来构建模型。相比pmf模型,svd++模型在构建模型时考虑了单类别评分反馈的上下文信息,也就是将虚拟用户的特征向量转换成已评价过的物品特征向量表示,并添加到原有的矩阵分解模型中,从而提高了整体模型的推荐效果。而mf-mpc模型则利用多类别偏好上下文偏好信息,具体是将每个用户对物品的评分划分为一个评分类别,所有用户的评分则构成一个评分类别集合,相当于svd++模型是mf-mpc模型的一个特例。

在现实场景中,互联网平台收集到的用户数据更多的是隐式反馈或是单类反馈,具体是将用户的行为用二元值形式来表示,1表示评价过,0表示未评价过。这类数据相比用户显式反馈数据更容易收集和存储,因此关于用户隐式反馈数据建模的推荐算法研究受到越来越多的关注。按照协同过滤推荐算法的思想,用户隐式反馈数据建模同样是根据用户历史数据,来预测用户未来可能的行为,其目的是生成面向用户的个性化物品排序列表。面向用户隐式反馈数据建模的推荐算法里最具代表性的是权值回归矩阵分解(weightedregressionmatrixfactorization,wrmf)模型,该模型将矩阵分解的方式应用在用户隐式反馈数据建模问题上。wrmf模型认为数据集中观测到的用户物品对(u,i),属于正样本,也就是用户u喜欢或评价过的物品i。而在数据集中未观测到的则归为负样本,但是正样本和负样本都存在一个置信度问题。wrmf模型提出基于用户u对物品i产生的行为次数越多,则可信度越大的假设。同样是面向用户隐式反馈数据建模,基于pointwise的fism模型,在相同数据集上的实验效果要比wrmf的好。fism模型将用户u对物品i预测偏好转换成物品i与物品j的相似度之和,结合矩阵分解的思想,将物品间相似度表示成两个物品特征矩阵的乘积。

大部分的经典推荐模型是基于矩阵分解方式构建的,其中svd++模型在求解面向用户显式反馈数据建模问题时,潜在向量模型是对用户整体评分具有有效的预测,涉及训练集中的大部分或所有物品。而物品间相似度模型在探测局域关系时,只识别到少数重要物品的邻域关系,通常忽略用户大量的打分记录,所以导致无法捕捉到包含在所有用户和物品里的微弱特征。而面向用户隐式反馈数据建模的wrmf模型则偏向于通过用户向量和物品向量之间传递信息来学习用户对物品的偏好,fism模型偏向于通过物品向量之间传递信息来学习用户对物品的偏好,但从两个模型在相同数据集上的实验结果可以看出通过物品间向量的建模方式更有利于学习用户对物品的偏好。对于这两个求解用户隐式反馈数据建模的推荐模型都只是通过传统矩阵分解方式进行全局的信息传递,其推荐效果仍有提高的空间。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于协同过滤的物品推荐方法、存储介质及服务器,旨在解决现有方法在预测用户偏好的物品列表时,未考虑邻域信息导致物品推荐效果较差的问题。

本发明的技术方案如下:

一种基于协同过滤的物品推荐方法,其中,包括步骤:

获取近邻用户特征向量和近邻物品特征向量,采用不同组合方式形成多种邻域信息;

将所述领域信息融合到与其相对应的协同过滤推荐模型中,根据融合模型预测得出用户偏好的物品列表并推荐给用户。

所述的基于协同过滤的物品推荐方法,其中,所述步骤获取近邻用户特征向量和近邻物品特征向量,采用不同组合方式形成多种邻域信息,具体包括:

将近邻用户特征向量与物品特征向量的乘积作为邻域信息;

或将近邻物品特征向量与用户特征向量的乘积作为邻域信息;

或将近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和作为近邻信息。

所述的基于协同过滤的物品推荐方法,其中,当采用的协同过滤推荐模型为fism模型时,则将近邻用户特征向量与物品特征向量的乘积作为邻域信息并融合到所述fism模型中,得到的融合模型公式为:其中,为近邻用户特征向量与物品特征向量的乘积,nu代表用户u的近邻用户集合,xu'.代表近邻用户u'的特征向量,vi.是物品i的特征向量,α是规范化参数,取值范围为[0,1];bu是表示用户u的偏差,bi是表示物品i的偏差,wj.是物品j的特征向量,iu代表用户u的物品集合。

所述的基于协同过滤的物品推荐方法,其中,当采用的系统过滤推荐模型为fism模型时,将近邻物品特征向量与用户特征向量的乘积作为邻域信息融合到所述fism模型中,得到的融合模型公式为:其中,为近邻物品特征向量与用户特征向量的乘积,ni代表物品i的近邻物品集合,yi'代表近邻物品i'的特征向量,uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];bu是表示用户u的偏差,bi是表示物品i的偏差,wj.是物品j的特征向量,vi.是物品i的特征向量,iu代表用户u的物品集合。

所述的基于协同过滤的物品推荐方法,其中,当采用的系统过滤推荐模型为pmf模型时,则将近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和作为近邻信息融合到所述pmf模型中,得到的融合模型公式为:其中,为近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和,nu代表用户u的近邻用户集合,ni代表物品i的近邻物品集合,xu'.代表近邻用户u'的特征向量,yi'.代表近邻物品i'的特征向量,vi.是物品i的特征向量,而uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];μ代表全局平均分,bu是代表用户u的偏差,bi是代表物品i的偏差。

所述的基于协同过滤的物品推荐方法,其中,当采用的系统过滤推荐模型为svd++模型时,则将近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和作为近邻信息融合到所述svd++模型中,得到的融合模型公式为:其中,为近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和,nu代表用户u的近邻用户集合,ni代表物品i的近邻物品集合,xu'.代表近邻用户u'的特征向量,yi'.代表近邻物品i'的特征向量,vi.是物品i的特征向量,而uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];μ代表全局平均分,bu是代表用户u的偏差,bi是代表物品i的偏差,wj.是物品j的特征向量,iu代表用户u的物品集合。

所述的基于协同过滤的物品推荐方法,其中,当采用的系统过滤推荐模型为mf-mpc模型时,则将近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和作为近邻信息融合到所述mf-mpc模型中,得到的融合模型公式为:其中,为近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和,nu代表用户u的近邻用户集合,ni代表物品i的近邻物品集合,xu'.代表近邻用户u'的特征向量,yi'.代表近邻物品i'的特征向量,vi.是物品i的特征向量,而uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];μ代表全局平均分,bu是代表用户u的偏差,bi是代表物品i的偏差,m代表用户对物品的评分所属的类别集合,是评分类别为r时物品j的特征向量,代表用户u的评分类别为r的物品集合。

一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序被一个或多个处理器执行,以实现一种基于协同过滤的物品推荐方法的步骤。

一种应用服务器,其中,包括至少一个处理器、显示屏、存储器以及通信接口和总线,所述处理器、显示屏、存储器和通信接口通过总线完成相互间的通信,所述处理器调用存储器中的逻辑指令以执行一种基于协同过滤的物品推荐方法的步骤。

有益效果:本发明通过获取近邻用户特征向量和近邻物品特征向量,并采用不同组合方式形成多种邻域信息,针对不同的问题选取不同的协同过滤推荐模型,并将相应的邻域信息融合到所述协同过滤推荐模型中,实现全局信息与邻域信息的融合,通过两种信息的融合互补能够更加准确地预测用户偏好的物品列表,从而将物品有效推荐给用户。

附图说明

图1为本发明一种基于协同过滤的物品推荐方法较佳实施例的流程图。

图2为本发明一种应用服务器较佳实施例的结构框图。

具体实施方式

本发明提供一种基于协同过滤的物品推荐方法、存储介质及服务器,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明提供的一种基于协同过滤的物品推荐方法较佳实施例的流程图,其中,如图所示,包括步骤:

s10、获取近邻用户特征向量和近邻物品特征向量,采用不同组合方式形成多种邻域信息;

s20、将所述领域信息融合到与其相对应的协同过滤推荐模型中,根据融合模型预测得出用户偏好的物品列表并推荐给用户。

具体来讲,目前协同过滤推荐算法中主要分为基于邻域和基于模型两大类,基于邻域的协同过滤推荐模型,具体又可以分为基于用户邻域的协同过滤(user-basedcollaborativefiltering,ucf)模型和基于物品邻域的协同过滤(item-basedcollaborativefiltering,icf)模型。其中ucf模型是基于过去评价过的物品来计算得到相似的用户,核心步骤是先求解用户之间的相似度,并根据用户间相似度进行排序得出用户u的最近邻用户列表,其次求出以往评价过物品i的用户集合和用户u的最近邻集合之间的交集,最后对交集中用户间相似度和用户对物品评分的乘积进行求和得出用户u对物品i的预测评分。

相对于ucf模型,icf模型则是基于过去评价过的物品。由于模型简单有效,基于邻域的算法在很多国内外知名的电商得到广泛应用,但随着数据集的不断增大,其计算成本也在成倍递增。和基于邻域的算法不同,基于模型的算法因其高效准确的优势被广泛地研究。根据训练准则不同基于模型的协同过滤算法可以分为pointwise和pairwise两种。其中具有代表性的就是基于pointwise训练准则的正则化约束的奇异值分解(regularizedsingularvaluedecomposition,rsvd)模型。rsvd则属于pointwise方法,其通过矩阵分解的方式,将用户对物品的预测评分分解成用户特征向量和物品特征向量的乘积并进行优化,模型的训练函数公式为:其中yui={1,0},代表用户u对物品i是否有评分,1代表有评分,否则为0。是指训练函数中的正则化项,用于防止模型过拟合。最终将训练后的用户特征向量uu.和物品特征向量vi.乘积以及用户全局平均评分、用户偏差、物品的偏差作为用户u对物品i的预测评分,具体预测公式为:其中μ代表全局平均评分,bu是代表用户u的偏差,bi是代表物品i的偏差,而实验中设定的用户特征向量和物品特征向量的维度数,一般是根据具体的实验数据集进行设定。

最具代表性的面向用户隐式反馈数据建模方法是贝叶斯个性化排序(bayesianpersonalizedranking,bpr)模型,提出用户对评价过物品的偏好大于没评价过物品的假设,在用户隐式反馈数据集上,采用基于pairwise的训练准则。在训练过程中,随机采样一个三元组(u,i,j),通过sigmoid函数来量化预测偏好差值的概率,训练最小化该概率的相反数,具体的训练函数公式为:其中,三元组(u,i,j)所对应的预测公式为:而差值的概率对应公式为:是指训练函数中的正则化项,用于防止模型过拟合。

在2016年,weikepan等人提出了利用迁移学习的思想,构建应用迁移学习的联合相似度学习(transferviajointsimilaritylearning,tjsl)模型。tjsl模型是面向用户隐式反馈数据建模,通过模型来求出用户u对物品i的预测偏好的,而用户隐式反馈数据中只包含用户的评价记录,不包含用户对物品的评分。tjsl模型的核心思想是结合了分解物品相似度(factoreditemsimilaritymodel,fism)模型和boosting学习方法。它的训练函数如公式为:其中,是经过模型第l次挑选后的用户u的物品集合,而是指训练函数中的正则化项,用于防止模型过拟合。

fism模型面向用户隐式反馈数据建模,通过矩阵分解方式学习得到物品i与物品j的特征矩阵乘积。而tjsl模型则在此基础上,引入了另一种内容的数据,比如用户的历史浏览行为数据,同样通过矩阵分解的方式学习物品i与物品k之间的相似度。并且利用boosting学习方法,在模型训练过程中通过对其它内容的数据进行筛选。具体做法是在每次模型迭代中,挑选出上一轮数据的90%作为一下轮模型的数据输入,目的是为了挑选出更有代表性的辅助数据,最后把多轮模型的预测偏好进行加权平均,作为最终用户u对物品i的预测偏好,tjsl模型的预测为:其中,bu是表示用户u的偏差,bi是表示物品i的偏差,wj.是物品j的特征向量,ek.是物品k的特征向量,vi.是物品i的特征向量,iu是指用户物品集合,是经过模型第l次挑选后的用户u的物品集合。tjsl模型是已有的面向用户隐式反馈数据建模的推荐算法之一,同时它也是利用异构数据成功提高原有fism模型的推荐算法。相比于原有的面向用户数据建模的推荐算法,它成功利用了更多不同内容的数据,从而提高原有经典推荐算法的准确度,这给面向用户隐式反馈数据建模的推荐算法研究提供了一个很好的思路。

现有基于矩阵分解方式构建的推荐模型在求解面向用户显示反馈数据建模问题时,例如svd++模型中,潜在向量模型是对用户整体评分具有有效的预测,涉及训练集中的大部分或所有物品。而物品间相似度模型在探测局域关系时,只识别到少数重要物品的邻域关系,通常忽略用户大量的打分记录,所以导致无法捕捉到包含在所有用户和物品里的微弱特征。

现有面向用户隐式反馈数据建模的wrmf模型则偏向于通过用户向量和物品向量之间传递信息来学习用户对物品的偏好,fism模型偏向于通过物品向量之间传递信息来学习用户对物品的偏好,但从两个模型在相同数据集上的实验结果可以看出通过物品间向量的建模方式更有利于学习用户对物品的偏好。对于这两个求解用户隐式反馈数据建模的推荐模型都只是通过传统矩阵分解方式进行全局的信息传递,其推荐效果仍有提高的空间。

为解决现有推荐模型所存在的问题,本发明提出将邻用户特征向量和近邻物品特征向量组合成邻域信息,将所述邻域信息应用于矩阵分解方式构建的模型中,可以有效地增强经典的推荐模型学习到的全局信息。通过两种信息进行互补,可以显著地提高基础推荐模型的效果。

具体来讲,对于求解用户隐式反馈数据建模问题,本发明利用邻域信息增强的思想来提高已有的矩阵分解推荐算法效果,并构建了基于用户近邻增强的矩阵分解(userneighborhood-enhancedmatrixfactorization,u-neimf)模型和基于物品近邻增强的矩阵分解(itemneighborhood-enhancedmatrixfactorization,i-neimf)模型。

fism模型的核心是将用户对物品的偏好信息分解成物品间的特征向量乘积,代表用户和物品关联的全局信息,本发明提出的u-neimf模型核心则是添加近邻用户特征向量和物品特征向量乘积,作为邻域信息添加到模型中,得到的融合模型公式为:其中,为近邻用户特征向量与物品特征向量的乘积,nu代表用户u的近邻用户集合,xu'.代表近邻用户u'的特征向量,vi.是物品i的特征向量,α是规范化参数,取值范围为[0,1];bu是表示用户u的偏差,bi是表示物品i的偏差,wj.是物品j的特征向量,iu代表用户u的物品集合。

相比于fism模型将用户对物品的偏好信息分解成物品间的特征向量乘积,代表用户和物品的全局信息,i-neimf模型则是添加近邻物品特征向量和用户特征向量乘积,作为邻域信息添加到模型中,其融合模型公式为:其中,为近邻物品特征向量与用户特征向量的乘积,ni代表物品i的近邻物品集合,yi'代表近邻物品i'的特征向量,uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];bu是表示用户u的偏差,bi是表示物品i的偏差,wj.是物品j的特征向量,vi.是物品i的特征向量,iu代表用户u的物品集合。

进一步地,本发明针对用户显式反馈数据建模问题,提出基于邻域的偏好上下文学习(neighborhood-enhancedpreferencecontextlearning,nei-pcl)推荐算法框架,根据该框架,根据该框架在pmf、svd++、mf-mpc三个经典推荐模型上进行改进,同时添加用户和物品的近邻项,得到nei-pmf、nei-svd++、nei-mpc三个独立的新模型,这三个新模型在原有模型上引入了用户和物品的局部上下文信息,使得偏好上下文学习更加充分,达到提到原有模型推荐效果的目的。

pmf模型的核心是构建用户和物品的特征向量,获得用户和物品的全局上下文信息,而nei-pmf的核心是引入用户和物品近邻信息来补充学习,添加的用户近邻项和物品近邻项同样通过矩阵分解的方式构建,其融合模型公式为其中,为近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和,nu代表用户u的近邻用户集合,ni代表物品i的近邻物品集合,xu'.代表近邻用户u'的特征向量,yi'.代表近邻物品i'的特征向量,vi.是物品i的特征向量,而uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];μ代表全局平均分,bu是代表用户u的偏差,bi是代表物品i的偏差。

svd++模型的核心是对潜在向量模型和物品间相似度模型的融合,使得融合后的模型效果比单一模型更优,而nei-svd++的核心是引入近邻信息,弥补了在svd++模型中无法捕捉到所有用户和物品特征的缺陷,添加的用户近邻项和物品近邻项同样通过矩阵分解的方式构建,其融合模型公式为:其中,为近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和,nu代表用户u的近邻用户集合,ni代表物品i的近邻物品集合,xu'.代表近邻用户u'的特征向量,yi'.代表近邻物品i'的特征向量,vi.是物品i的特征向量,而uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];μ代表全局平均分,bu是代表用户u的偏差,bi是代表物品i的偏差,wj.是物品j的特征向量,iu代表用户u的物品集合。

mf-mpc模型的核心是将用户对物品的评分进行类别的划分,将svd++模型看成其一个特例,使潜在向量模型和邻域模型两个模型的融合更加有效,而nei-mpc的核心是引入近邻信息,添加了在mf-mpc模型中所没有的用户和近邻的信息,和原有模型的多类别上下文信息互补,使模型对用户的偏好预测更加精确,同样通过矩阵分解的方式来构建,其融合模型公式为:其中,为近邻用户特征向量、物品特征向量之间的乘积与近邻物品特征向量、用户特征向量之间的乘积之和,nu代表用户u的近邻用户集合,ni代表物品i的近邻物品集合,xu'.代表近邻用户u'的特征向量,yi'.代表近邻物品i'的特征向量,vi.是物品i的特征向量,而uu.是用户u的特征向量,α是规范化参数,取值范围为[0,1];μ代表全局平均分,bu是代表用户u的偏差,bi是代表物品i的偏差,m代表用户对物品的评分所属的类别集合,是评分类别为r时物品j的特征向量,代表用户u的评分类别为r的物品集合。

无论是对于求解用户隐式反馈数据建模问题还是对于求解用户显式反馈数据建模问题,本发明通过将全局信息和邻域信息进行融合,通过两种信息的互补能够更加准确地预测用户偏好的物品列表,从而将物品有效推荐给用户。

基于上述基于协同过滤的物品推荐方法,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一实施例所述的基于协同过滤的物品推荐方法中的步骤。

基于上述基于协同过滤的物品推荐方法,本发明还提供了一种应用服务器,如图2所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communicationsinterface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。

此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。

存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。

综上所述,本发明通过获取近邻用户特征向量和近邻物品特征向量,并采用不同组合方式形成多种邻域信息,针对不同的问题选取不同的协同过滤推荐模型,并将相应的邻域信息融合到所述协同过滤推荐模型中,实现全局信息与邻域信息的融合,通过两种信息的融合互补能够更加准确地预测用户偏好的物品列表,从而将物品有效推荐给用户。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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