信息推荐方法及装置与流程

文档序号:12666783阅读:164来源:国知局
信息推荐方法及装置与流程

本发明涉及网络技术领域,更具体地说,涉及一种信息推荐方法及装置。



背景技术:

伴随着移动互联网的发展,数据的体量也成几何级增长。数据的融合和共享已经成为了新的发展方向。这些都引领着推荐系统进入新的发展阶段,推荐系统开始从单个领域的成功发展到跨领域的信息共享。

跨领域推荐是一种将若干个领域的数据或知识扩展到目标领域,在目标领域进行个性化推荐的方法。例如,用户在视频网站A看过很多电影,当这些用户浏览音乐网站B时,可以利用这些用户在A网站的行为数据或特征,结合B网站的数据给用户推荐音乐。然而,现有的跨领域推荐方法大多基于一种假设,即领域间的用户行为是一致或者相似的,但是这种假设在大多数情况下并不成立,使得现有的跨领域推荐方法的普适性较差。

因此,如何提高跨领域推荐方法的普适性成为亟待解决的问题。



技术实现要素:

本发明的目的是提供一种信息推荐方法及装置,以提高跨领域推荐方法的普适性。

为实现上述目的,本发明提供了如下技术方案:

一种信息推荐方法,包括:

获取第一领域的第一矩阵,所述第一矩阵用于表征各个用户对在所述第一领域所使用的第一类项目的第一评分;

获取至少一个第二领域的第二矩阵,所述第二矩阵用于表征所述各个用户对在所述第二领域所使用的第二类项目的第二评分;

将所述第二评分归一化,得到所述各个用户对在所述第二领域所使用的第二类项目的第三评分;

基于所述各个用户对在所述第二领域所使用的第二类项目的第三评分对所述第一矩阵进行扩展,得到第三矩阵,所述第三矩阵用于表征各个用户对在所述第一领域所使用的第一类项目的第一评分,以及各个用户对在所述第二领域所使用的第二类项目的第三评分;

基于所述第三矩阵构建信息推荐模型,所述信息推荐模型用于在所述第一领域向用户推荐项目。

上述方法,优选的,所述将所述第二评分归一化,得到所述各个用户对在所述第二领域所使用的第二类项目的第三评分,包括:

基于所述第二领域的第二评分对所述第二领域的各个第二评分进行归一化。

上述方法,优选的,所述基于所述第二领域的第二评分对所述第二领域的第二评分进行归一化,包括:

对于每一个用户,基于该用户在所述第二领域中的所有评分,对该用户的各个第二评分进行归一化。

上述方法,优选的,基于第一公式将所述第二评分归一化,所述第一公式为:

其中,j表示第j个第二领域;θj(u,i)表示用户u在第j个第二领域对项目i的第三评分;aj为与第j个第二领域对应的惩罚系数;rj(u,i)表示用户u在第j个第二领域对第i个项目的第二评分;Minj(u)表示用户u在第j个第二领域中的最低评分;Maxj(u)表示用户u在第j个第二领域中的最高评分;Sj(u)表示用户u在第j个第二领域评分的项目总数。

上述方法,优选的,所述基于所述第三矩阵构建推荐模型包括:

基于所述第三矩阵构建因式分解机推荐模型。

一种信息推荐装置,包括:

第一获取模块,用于获取第一领域的第一矩阵,所述第一矩阵用于表征各个用户对在所述第一领域所使用的第一类项目的第一评分;

第二获取模块,用于获取至少一个第二领域的第二矩阵,所述第二矩阵用于表征所述各个用户对在所述第二领域所使用的第二类项目的第二评分;

归一化模块,用于将所述第二评分归一化,得到所述各个用户对在所述第二领域所使用的第二类项目的第三评分;

扩展模块,用于基于所述各个用户对在所述第二领域所使用的第二类项目的第三评分对所述第一矩阵进行扩展,得到第三矩阵,所述第三矩阵用于表征各个用户对在所述第一领域所使用的第一类项目的第一评分,以及各个用户对在所述第二领域所使用的第二类项目的第三评分;

构建模块,用于基于所述第三矩阵构建信息推荐模型,所述信息推荐模型用于在所述第一领域向用户推荐项目。

上述装置,优选的,所述归一化模块包括:

归一化单元,用于基于所述第二领域的第二评分对所述第二领域的各个第二评分进行归一化。

上述装置,优选的,所述归一化单元用于:对于每一个用户,基于该用户在所述第二领域的所有评分,对该用户的各个第二评分进行归一化。

上述装置,优选的,所述归一化单元具体用于,基于第一公式将所述第二评分归一化,所述第一公式为:

其中,j表示第j个第二领域;θj(u,i)表示用户u在第j个第二领域对项目i的第三评分;aj为与第j个第二领域对应的惩罚系数;rj(u,i)表示用户u在第j个第二领域对第i个项目的第二评分;Minj(u)表示用户u在第j个第二领域中的最低评分;Maxj(u)表示用户u在第j个第二领域中的最高评分;Sj(u)表示用户u在第j个第二领域评分的项目总数。

上述装置,优选的,所述构建模块具体用于,基于所述第三矩阵构建因式分解机推荐模型。

通过以上方案可知,本申请提供的一种信息推荐方法及装置,将用户在第二领域对第二类项目的评分进行归一化,通过用户对第二类项目的归一化后的评分对第一领域的用于表征各个用户对在第一领域所使用的第一类项目的第一评分的矩阵进行扩展,使用扩展后的矩阵构建信息推荐模型,通过该信息推荐模型在第一领域向用户推荐项目,实现了跨领域推荐。而且,构建信息推荐模型所使用的矩阵是通过用户在第二领域的行为特征数据(即用户对第二类项目的评分)进行扩展得到的,也就是说,所构建的信息推荐模型融入了用户行为特征的差异,从而提高了跨领域推荐方法的普遍适用性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施提供的信息推荐方法的一种实现流程图;

图2为本发明实施提供的“用户-项目-评分”矩阵的一种数据格式示意图;

图3a为本发明实施提供的第三矩阵的一种数据格式的示意图;

图3b为本发明实施提供的第三矩阵的另一种数据格式的示意图;

图3c为本发明实施提供的第三矩阵的又一种数据格式的示意图;

图4为本发明实施提供的第三矩阵的又一种数据格式的示意图;

图5为本发明实施提供的第三矩阵的又一种数据格式的示意图;

图6为本发明实施提供的信息推荐装置的一种结构示意图。

说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明实施提供的信息推荐方法的一种实现流程图,可以包括:

步骤S11:获取第一领域的第一矩阵,第一矩阵用于表征各个用户对在第一领域所使用的第一类项目的第一评分;

对于每一个领域来说,都有一个“用户-项目-评分”矩阵,该矩阵可以用于本领域的信息推荐算法建模。本发明实施例中,为了便于叙述,将第一领域的“用户-项目-评分”矩阵记为第一矩阵。项目是指领域所提供的事物,如,若一个领域为音乐网站,该领域的项目为该网站所提供的音乐,每一首音乐称为一个项目。若一个领域为视频网站,则该领域的项目为该网站所提供的视频,每一个视频称为一个项目。

“用户-项目-评分”矩阵的一种数据格式如图2所示。

图2中,“用户-项目”部分的非零值对应相应的用户或项目,评分部分的数值表示用户对项目的真实评分。每一行表示一个用户对一个项目的评分。例如,图2中,用户u1对项目i1的评分为4,用户u1对项目i2的评分为5,用户u2对项目i2的评分为3,用户u3对项目i3的评分为2。

步骤S12:获取至少一个第二领域的第二矩阵,第二矩阵用于表征上述各个用户对在第二领域所使用的第二类项目的第二评分;

第二领域与第一领域为不同的领域。例如,第一领域为A音乐网站,第二领域为B音乐网站,或者,第二领域为C视频网站等等。也就是说,第一领域和第二领域可以是同类型的网站,如均是音乐网站;第一领域和第二领域也可以是不同类型的网站,如,一个是音乐网站,一个是视频网站。

第二领域的项目与第一领域的项目可能完全不同,也可能部分相同。

可以从一个第二领域获取第二矩阵,也可以从多个第二领域获取多个第二矩阵,其中,从每个第二领域中获取一个第二矩阵。

第二矩阵的数据格式与第一矩阵的数据格式相同,这里不再赘述。

本发明实施例中,第一领域和第二领域至少有部分用户相同。也就是说,第一领域和第二领域的用户可以全部相同,也可以只有部分相同。

对于属于第一领域的用户,但未在第二领域中使用任何第二类项目的用户(包括属于第一领域而不属于第二领域的用户,以及同时属于第一领域和第二领域,但未在第二领域使用任何第二类项目的用户),则第二矩阵中,该类用户对上述各个用户所使用的第二类项目的评分为0。

需要说明的是,本发明实施例中,步骤S11和步骤S12之间的执行顺序不作具体限定,可以先执行步骤S11,再执行步骤S12,或者,先执行步骤S12,再执行步骤S11,或者,步骤S11和步骤S12同时执行。

步骤S13:将第二评分归一化,得到各个用户对在第二领域所使用的第二类项目的第三评分;

由于不同的领域,对项目评分的方式不同。例如,有的网站的评分范围是1-5星,有的网站的评分范围则是1-10分,还有些网站则是没有给用户提供评分接口,而是根据用户的隐性行为计算出评分值。因此,为了将第二领域的用户行为数据扩展到第一领域,本发明实施例中,将用户在第二领域的评分归一化。

步骤S14:基于各个用户对在第二领域所使用的第二类项目的第三评分对第一矩阵进行扩展,得到第三矩阵,第三矩阵用于表征各个用户对在第一领域所使用的第一类项目的第一评分,以及各个用户对在第二领域所使用的第二类项目的第三评分;

将第二领域中用户对第二类项目的归一化后的评分添加到第一矩阵,得到第三矩阵。第三矩阵为“用户-第一类项目-第二类项目及评分-评分”矩阵。若第二领域只有一个,则第三矩阵的数据格式如图3a所示。

图3a中每一行表示一个用户对不同领域的项目的评分。其中,用户、第一类项目和评分为用户在第一领域中对第一类项目的真实评分。第二类项目则是用户在第二领域对第二类项目的归一化后的评分。例如,用户u1对第二类项目p1的归一化评分为0.1,用户u1对第二类项目p3的归一化评分为0.3,用户u2对第二类项目p2的归一化评分为0.2,用户u3对第二类项目p3的归一化评分为0.8。

图3a所示示例中,同一用户在不同领域评论的项目数是一样的,具体的,用户u1在第一领域中对两个项目(即i1和i2)进行了评分,在第二领域中也对两个项目(即p1和p3)进行了评分;用户u2在第一领域中对一个项目(即i2)进行了评分,在第二领域中也对一个项目(即p2)进行了评分;用户u3在第一领域中对一个项目(即i3)进行了评分,在第二领域中也对一个项目(即p3)进行了评分。

而大多数情况下,同一用户在不同领域评论的项目数是不同。基于此,将第二领域中用户对第二类项目的归一化后的评分添加到第一矩阵,得到的第三矩阵的另一种示例图如图3b所示。

图3b所示示例中,用户u1在第一领域评论的项目数(2个,即i1和i2)少于其在第二领域的评论的项目数(3个,即p1、p2和p3)。

同一用户在不同领域评论的项目数是不同时,本发明实施例提供的第三矩阵的又一种示例图如图3c所示。

图3c所示示例中,用户u1在第一领域评论的项目数(2个,即i1和i2)多于其在第二领域的评论的项目数(1个,即p1)。

若第二领域有两个或更多个,则第三矩阵的数据格式如图4所示。

图4中每一行表示一个用户对不同领域的项目的评分。其中,用户、第一类项目和评分为用户在第一领域中对第一类项目的真实评分。第二类项目则是用户在一个第二领域对第二类项目的归一化后的评分。例如,用户u1对第二类项目p1的归一化评分为0.1,用户u1对第二类项目p3的归一化评分为0.3,用户u2对第二类项目p2的归一化评分为0.2,用户u3对第二类项目p3的归一化评分为0.8。第三类项目则是用户在另一个第二领域对第二类项目的归一化后的评分。例如,用户u1对第三类项目q1的归一化评分为0.6,用户u1对第三类项目q2的归一化评分为0.1,用户u2对第三类项目q3的归一化评分为0.4,用户u3对第三类项目q2的归一化评分为0.2。

步骤S15:基于第三矩阵构建信息推荐模型,该信息推荐模型用于在第一领域向用户推荐项目。

在构建信息推荐模型后,就可以利用该信息推荐模型在第一领域向用户推荐项目。

具体的,可以利用该信息推荐模型预测出用户对未使用项目的评分,按照预测评分由高到低的顺序将项目推荐给用户。

本发明实施例提供的信息推荐方法,将用户在第二领域对第二类项目的评分进行归一化,通过用户对第二类项目的归一化后的评分对第一领域的用于表征各个用户对在第一领域所使用的第一类项目的第一评分的矩阵进行扩展,使用扩展后的矩阵构建信息推荐模型,通过该信息推荐模型在第一领域向用户推荐项目,实现了跨领域推荐。而且,构建信息推荐模型所使用的矩阵是通过用户在第二领域的行为特征数据(即用户对第二类项目的评分)进行扩展得到的,也就是说,所构建的信息推荐模型融入了用户行为特征的差异,从而提高了跨领域推荐方法的普遍适用性。

在一可选的实施例中,将第二评分归一化的一种实现方式可以为:

基于第二领域的第二评分对第二领域的各个第二评分进行归一化。也就是说,本发明实施例中,是分领域对第二评分进行归一化。例如,假设有多个第二领域,分别为D1、D2、D3、D4……,则对第j(j=1,2,3,4,……)个第二领域Dj中的第二评分进行归一化时,只应用Dj领域中的第二评分即可,而无需其它第二领域Dk(k≠j)的第二评分。

本发明实施例中,每个第二领域的评分归一化均是针对自身领域进行的,归一化操作并不依赖其它领域的评分,从而可以进行并行运算,降低推荐模型的构建时间;而且,领域间不互相依赖,算法的时间复杂度可控。

在一可选的实施例中,在对第j个第二领域Dj中的第二评分进行归一化时,分用户进行归一化。即,对于每一个用户,基于该用户在第二领域Dj中的所有评分,对该用户在第二领域Dj中的各个第二评分进行归一化。

在一可选的实施例中,可以基于第一公式对第二评分进行归一化。第一公式为:

其中,j表示第j个第二领域;θj(u,i)表示用户u在第j个第二领域对项目i的第三评分;aj为与第j个第二领域对应的惩罚系数;rj(u,i)表示用户u在第j个第二领域对第i个项目的第二评分;Minj(u)表示用户u在第j个第二领域中的最低评分;Maxj(u)表示用户u在第j个第二领域中的最高评分;Sj(u)表示用户u在第j个第二领域评分的项目总数。

本发明实施例中,每个第二领域都对应一个惩罚系数。该惩罚系数的主要作用是控制第二领域带入到第一领域的信息量。若想第二领域对第一领域的影响大一些,则降低惩罚系数取值;若想第二领域对第一领域的影响小一些,则增大惩罚系数的取值。惩罚系数的具体取值可以根据实际需求进行确定,例如,在将数据丰富的第二领域的数据带入到用户行为稀疏的第一领域时需要控制带入到第一领域的数据量,以保证带入到第一领域的数据处于辅助地位,而不是主导地位。此时可以将第二领域的惩罚系数设置的大一些。

在一可选的实施例中,基于第三矩阵构建推荐模型可以包括:

基于第三矩阵构建因式分解机(Factorization Machines,FM)信息推荐模型。

因式分解机信息推荐模型可以为:

其中,为一个用户对第一领域的一个第一类项目的预测评分。

xi为因式分解机信息推荐模型的特征,该特征根据待预测的用户及待预测第一类项目从第三矩阵中确定。具体的,xi的取值个数n为第三矩阵的列数减1,xi的取值包括:第三矩阵中,表征待预测用户的第一序列,表征第一领域中的待预测第一类项目有评分的第二序列,以及表征待预测用户对第二领域的第二类项目的评分的第三序列。

例如,假设第一领域的用户数为5,第一领域的项目数为4,第二领域的项目数为3,基于此构建的第三矩阵如图5所示。则,

如果要预测用户u1对项目i3的评分,则xi的取值共12个,分别为{1,0,0,0,0;0,0,1,0;0.1,0.3,0.3},其中,前5个取值为表征待预测用户u1的第一序列;之后的4个取值为表征第一领域中的待预测第一类项目i3有评分的第二序列;最后3个取值为表征待预测用户u1对第二领域的第二类项目的评分的第三序列。

若要预测用户u1对项目i4的评分,则xi的取值共12个,分别为{1,0,0,0,0;0,0,0,1;0.1,0.3,0.3},其中,前5个取值为表征待预测用户u1的第一序列;之后的4个取值为表征第一领域中的待预测第一类项目i4有评分的第二序列;最后3个取值为表征待预测用户u1对第二领域的第二类项目的评分的第三序列。

若要预测用户u2对项目i1的评分,则xi的取值共12个,分别为{0,1,0,0,0;1,0,0,0;0,0.2,0}。其中,前5个取值为表征待预测用户u2的第一序列;之后的4个取值为表征第一领域中的待预测第一类项目i1有评分的第二序列;最后3个取值为表征待预测用户u2对第二领域的第二类项目的评分的第三序列。

w0为常数项;

wi为特征xi的系数;

wi,j为特征xi与特征xj间的相关系数。由于特征xi与特征xj间的相关系数,以及特征xj与特征xi间的相关系数是相同的,因此,由特征间的相关系数(包括不同特征间的相关系数,以及同一特征间的相关系数)构成的矩阵是一个n×n的对称矩阵(为便于叙述,该矩阵记为An×n),并且是一个正定矩阵,因此,矩阵An×n可以被分解为两个互为转置矩阵的点乘积,即所以,矩阵An×n中的元素wi,j可以分解为一个行矩阵和一个列矩阵的点乘积,即,wi,j=vi·vjT,vi和vj的维度均为k,vi为Bn×k中的第i行,vj为Bn×k中的第j行,vjT即是中的第j列。

基于第三矩阵构建因式分解机信息推荐模型的过程就是学习如下参数的过程。

{w0,w1,…,wn,v1,1,…,vn,k}

在一可选的实施例中,可以通过随机梯度下降法(Stochastic Gradient Descent,SGD)学习上述参数,或者,通过交替最小二乘法(Alternating Least Squares,ALS)学习上述参数。具体学习过程不属于本发明的研究重点,这里不再论述。

与方法实施例相对应,本发明实施例还提供一种信息推荐装置。如图6所示,为本发明实施例提供的信息推荐装置的一种结构示意图,可以包括:

第一获取模块61,第二获取模块62,归一化模块63,扩展模块64和构建模块65;其中,

第一获取模块61用于获取第一领域的第一矩阵,第一矩阵用于表征各个用户对在第一领域所使用的第一类项目的第一评分;

对于每一个领域来说,都有一个“用户-项目-评分”矩阵,该矩阵可以用于本领域的信息推荐算法建模。本发明实施例中,为了便于叙述,将第一领域的“用户-项目-评分”矩阵记为第一矩阵。项目是指领域所提供的事物,如,若一个领域为音乐网站,该领域的项目为该网站所提供的音乐,每一首音乐称为一个项目。若一个领域为视频网站,则该领域的项目为该网站所提供的视频,每一个视频称为一个项目。

“用户-项目-评分”矩阵的一种数据格式如图2所示。

图2中,“用户-项目”部分的非零值对应相应的用户或项目,评分部分的数值表示用户对项目的真实评分。每一行表示一个用户对一个项目的评分。例如,图2中,用户u1对项目i1的评分为4,用户u1对项目i2的评分为5,用户u2对项目i2的评分为3,用户u3对项目i3的评分为2。

第二获取模块62用于获取至少一个第二领域的第二矩阵,第二矩阵用于表征各个用户对在第二领域所使用的第二类项目的第二评分;

第二领域与第一领域为不同的领域。例如,第一领域为百度音乐,第二领域为搜狗音乐,或者,第二领域为百度视频,或者第二领域为搜狐视频等等。

第二领域的项目与第一领域的项目可能完全不同,也可能部分相同。

可以获取一个第二领域的第二矩阵,也可以获取多个第二领域的第二矩阵。

本发明实施例中,第一领域和第二领域的用户相同。

第二矩阵的数据格式与第一矩阵的数据格式相同,这里不再赘述。

归一化模块63用于将第二评分归一化,得到各个用户对在第二领域所使用的第二类项目的第三评分;

由于不同的领域,对项目评分的方式不同。例如,有的网站的评分范围是1-5星,有的网站的评分范围则是1-10分,还有些网站则是没有给用户提供评分接口,而是根据用户的隐性行为计算出评分值。因此,为了将第二领域的用户行为数据扩展到第一领域,本发明实施例中,将用户在第二领域的评分归一化。

扩展模块64用于基于各个用户对在第二领域所使用的第二类项目的第三评分对第一矩阵进行扩展,得到第三矩阵,第三矩阵用于表征各个用户对在第一领域所使用的第一类项目的第一评分,以及各个用户对在第二领域所使用的第二类项目的第三评分;

将第二领域中用户对第二类项目的归一化后的评分添加到第一矩阵,得到第三矩阵。第三矩阵为“用户-第一类项目-第二类项目及评分-评分”矩阵。若第二领域只有一个,则第三矩阵的数据格式如图3所示。

图3中每一行表示一个用户对不同领域的项目的评分。其中,用户、第一类项目和评分为用户在第一领域中对第一类项目的真实评分。第二类项目则是用户在第二领域对第二类项目的归一化后的评分。例如,用户u1对第二类项目p1的归一化评分为0.1,用户u1对第二类项目p3的归一化评分为0.3,用户u2对第二类项目p2的归一化评分为0.2,用户u3对第二类项目p3的归一化评分为0.8。

若第二领域有两个或更多个,则第三矩阵的数据格式如图4所示。

图4中每一行表示一个用户对不同领域的项目的评分。其中,用户、第一类项目和评分为用户在第一领域中对第一类项目的真实评分。第二类项目则是用户在一个第二领域对第二类项目的归一化后的评分。例如,用户u1对第二类项目p1的归一化评分为0.1,用户u1对第二类项目p3的归一化评分为0.3,用户u2对第二类项目p2的归一化评分为0.2,用户u3对第二类项目p3的归一化评分为0.8。第三类项目则是用户在另一个第二领域对第二类项目的归一化后的评分。例如,用户u1对第三类项目q1的归一化评分为0.6,用户u1对第三类项目q2的归一化评分为0.1,用户u2对第三类项目q3的归一化评分为0.4,用户u3对第三类项目q2的归一化评分为0.2。

构建模块65用于基于第三矩阵构建信息推荐模型,该信息推荐模型用于在第一领域向用户推荐项目。

在构建信息推荐模型后,就可以利用该信息推荐模型在第一领域向用户推荐项目。

本发明实施例提供的信息推荐装置,将用户在第二领域对第二类项目的评分进行归一化,通过用户对第二类项目的归一化后的评分对第一领域的用于表征各个用户对在第一领域所使用的第一类项目的第一评分的矩阵进行扩展,使用扩展后的矩阵构建信息推荐模型,通过该信息推荐模型在第一领域向用户推荐项目,实现了跨领域推荐。而且,构建信息推荐模型所使用的矩阵是通过用户在第二领域的行为特征数据(即用户对第二类项目的评分)进行扩展得到的,也就是说,所构建的信息推荐模型融入了用户行为特征的差异,从而提高了跨领域推荐方法的普遍适用性。

在一个可选的实施例中,归一化模块63可以包括:

归一化单元,用于基于第二领域的第二评分对第二领域的各个第二评分进行归一化。

也就是说,本发明实施例中,是分领域对第二评分进行归一化。例如,假设有多个第二领域,分别为D1、D2、D3、D4……,则对第j(j=1,2,3,4,……)个第二领域Dj中的第二评分进行归一化时,只应用Dj领域中的第二评分即可,而无需其它第二领域Dk(k≠j)的第二评分。

本发明实施例中,每个第二领域的评分归一化均是针对自身领域进行的,归一化操作并不依赖其它领域的评分,从而可以进行并行运算,降低推荐模型的构建时间;而且,领域间不互相依赖,算法的时间复杂度可控。

在一可选的实施例中,归一化单元具体可以用于,对于每一个用户,基于该用户在第二领域的所有评分,对该用户的各个第二评分进行归一化。

本发明实施例中,在对第j个第二领域Dj中的第二评分进行归一化时,分用户进行归一化。即,对于每一个用户,基于该用户在第二领域Dj中的所有评分,对该用户在第二领域Dj中的各个第二评分进行归一化。

在一可选的实施例中,归一化单元可以基于第一公式将所述第二评分归一化,所述第一公式为:

其中,j表示第j个第二领域;θj(u,i)表示用户u在第j个第二领域对项目i的第三评分;aj为与第j个第二领域对应的惩罚系数;rj(u,i)表示用户u在第j个第二领域对第i个项目的第二评分;Minj(u)表示用户u在第j个第二领域中的最低评分;Maxj(u)表示用户u在第j个第二领域中的最高评分;Sj(u)表示用户u在第j个第二领域评分的项目总数。

本发明实施例中,每个第二领域都对应一个惩罚系数。该惩罚系数的主要作用是控制第二领域带入到第一领域的信息量。若想第二领域对第一领域的影响大一些,则降低惩罚系数取值;若想第二领域对第一领域的影响小一些,则增大惩罚系数的取值。惩罚系数的具体取值可以根据实际需求进行确定,例如,在将数据丰富的第二领域的数据带入到用户行为稀疏的第一领域时需要控制带入到第一领域的数据量,以保证带入到第一领域的数据处于辅助地位,而不是主导地位。此时可以将第二领域的惩罚系数设置的大一些。

在一可选的实施例中,构建模块65具体可以用于,基于第三矩阵构建因式分解机推荐模型。

结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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