一种物品推荐方法及装置与流程

文档序号:11408783阅读:310来源:国知局
一种物品推荐方法及装置与流程

本发明涉及互联网技术领域,特别是涉及一种物品推荐方法及装置。



背景技术:

随着互联网技术的飞速发展,越来越多的无用的信息出现在用户的推荐列表中。在大量购物网站中如何为用户推荐有用的信息以及如何为每个用户推荐的信息更准确,进而出现了物品推荐系统。

物品推荐系统中基于二部图网络的协同过滤方法最为常用。主要实现方式为:基于物品间因果关系研究物品相似性,即基于时间顺序用户先后喜欢物品的相似性为用户推荐物品。实际过程中,物品间的相似性并不是基于时间上的因果关系,并不是由于用户喜欢一个物品后才喜欢另一个物品,这种物品推荐方法的应用范围小。

为解决没有因果关系的物品推荐,出现了一致性推荐方法。该方法为:当用户同时喜欢两个物品时,通过判断物品的正向相似性或反向相似性为用户推荐物品。其中,正向相似性为从已选择的物品关联未选择的物品,通过判断未选择物品的权重大小,将权重大的物品推荐给用户。反向相似性为从未选择的物品关联已选择的物品,通过判断未选择物品关联的已选择的物品的权重大小以及与实际推荐的准确性,将未选择物品中权重大的、准确性高的物品推荐给用户。

现有技术中,往往只考虑正向相似性,容易导致物品相似性估计偏差。另外,在实际运算过程中,利用双向相似性物品存在冗余相似性物品过高推荐的问题,即为根据双向相似性矩阵得到的某几个推荐物品的权重大小一样,但实际上可能某些物品是根据用户喜好单一属性被用户购买,而其它物品可能是分别根据用户喜好多种不同属性被用户购买,用户必然更喜欢多个属性满足其喜好的物品,在计算结果中这些物品的相似性权重大小是一致的,但是用户对它们的喜好程度并不一样,导致某些根据用户喜好单一属性被用户购买的物品被系统过高估计而推荐给用户,而不能突出符合用户需要的物品,影响推荐物品的准确性。



技术实现要素:

本发明实施例的目的在于提供一种物品推荐方法及装置,通过降低双向相似性矩阵中冗余相似性物品的相似性,实现为用户推荐的物品更加精确,以及更加个性化。

为达到上述发明目的,本发明实施例公开了一种物品推荐方法,包括:

根据历史数据中预先建立的全部用户、所述全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定正向相似性矩阵以及反向相似性矩阵;

根据所述正向相似性矩阵以及所述反向相似性矩阵,确定初始双向相似性矩阵,并根据所述初始双向相似性矩阵确定二阶初始双向相似性矩阵;

根据预设删减冗余相似性参数集合,确定二阶初始双向相似性矩阵对应的目标删减冗余相似性参数;

根据所述目标删减冗余相似性参数、所述初始双向相似性矩阵以及所述二阶初始双向相似性矩阵,确定目标双向相似性矩阵;

根据所述目标双向相似性矩阵以及所述全部用户、所述全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定所述全部用户、所述全部用户已购买的全部物品的目标物品以及用户的资源分布矩阵,通过所述目标物品以及用户的资源分布矩阵确定所述目标物品以及用户的资源分布矩阵中全部用户对应的推荐物品。

可选地,所述根据所述正向相似性矩阵以及所述反向相似性矩阵,确定初始双向相似性矩阵,并根据所述初始双向相似性矩阵确定二阶初始双向相似性矩阵,包括:

将所述正向相似性矩阵以及所述反向相似性矩阵对应元素相乘,得到第一结果;

将所述第一结果开平方运算,得到第二结果,将所述第二结果确定为所述初始双向相似性矩阵;

将所述初始双向相似性矩阵平方运算,得到第三结果,将所述第三结果确定为所述二阶初始双向相似性矩阵。

可选地,所述根据预设删减冗余相似性参数集合,确定二阶初始双向相似性矩阵对应的目标删减冗余相似性参数,包括:

将所述初始物品以及用户的资源分布矩阵划分为第一初始物品以及用户的资源分布矩阵和第二初始物品以及用户的资源分布矩阵;

通过所述第一初始物品以及用户的资源分布矩阵,确定所述第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵以及所述第一初始物品以及用户的资源分布矩阵对应的反向相似性矩阵;

通过所述正向相似矩阵以及所述反向相似性矩阵,确定所述第一初始物品以及用户的资源分布矩阵对应的双向相似性矩阵,以及所述第一初始物品以及用户的资源分布矩阵对应的二阶初始双向相似性矩阵;

在所述预设删减冗余相似性参数集合中选择一个删减冗余相似性参数作为当前删减冗余相似性参数;

通过所述第一初始物品以及用户的资源分布矩阵以及全部当前删减冗余相似性参数,确定全部第一目标物品以及用户的资源分布矩阵;

通过所述全部第一目标物品以及用户的资源分布矩阵,确定每一个第一目标物品以及用户的资源分布矩阵推荐的物品和所述第二初始资源分布矩阵的物品;

通过每一个第一目标物品以及用户的资源分布矩阵推荐的物品和所述第二初始资源分布矩阵的物品的一致性,选择全部第一目标物品以及用户的资源分布矩阵推荐的物品与所述第二初始资源分布矩阵的物品的一致性最高的最优第一目标物品以及用户的资源分布矩阵;

通过确定所述最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数,将所述最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数确定为所述目标删减冗余相似性参数。

可选地,所述根据所述目标删减冗余相似性参数、所述初始双向相似性矩阵以及所述二阶初始双向相似性矩阵,确定目标双向相似性矩阵,包括:

将所述目标删减冗余相似性参数与所述二阶初始双向相似性矩阵相乘,得到第四结果;

从所述初始双向相似性矩阵中减去所述第四结果,得到第五结果,将所述第五结果确定为所述目标双向相似性矩阵。

可选地,所述通过所述目标物品以及用户的资源分布矩阵确定所述目标物品以及用户的资源分布矩阵中全部用户对应的推荐物品,包括:

通过所述目标物品以及用户的资源分布矩阵,获取所述目标物品以及用户的资源分布矩阵中的第一用户,以及所述第一用户对应的所有物品的权重值,其中,所述第一用户为所述目标物品以及用户的资源分布矩阵中全部用户的任一个用户;

根据所述第一用户的所有物品权重值,将所述第一用户对应的所有物品中所述第一用户未购买的前m个权重值大的物品推荐给所述第一用户,其中,m为大于等于1的自然数;

为所述目标物品以及用户的资源分布矩阵全部用户中除所述第一用户以外剩余的用户推荐物品。

为达到上述发明目的,本发明实施例还公开了一种物品推荐装置,包括:

单向矩阵确定模块,用于根据历史数据中预先建立的全部用户、所述全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定正向相似性矩阵以及反向相似性矩阵;

双向矩阵确定模块,用于根据所述正向相似性矩阵以及所述反向相似性矩阵,确定初始双向相似性矩阵,并根据所述初始双向相似性矩阵确定二阶初始双向相似性矩阵;

参数确定模块,用于根据预设删减冗余相似性参数集合,确定二阶初始双向相似性矩阵对应的目标删减冗余相似性参数;

目标双向矩阵确定模块,用于根据所述目标删减冗余相似性参数、所述初始双向相似性矩阵以及所述二阶初始双向相似性矩阵,确定目标双向相似性矩阵;

推荐物品确定模块,用于根据所述目标双向相似性矩阵以及所述全部用户、所述全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定所述全部用户、所述全部用户已购买的全部物品的目标物品以及用户的资源分布矩阵,通过所述目标物品以及用户的资源分布矩阵确定所述目标物品以及用户的资源分布矩阵中全部用户对应的推荐物品。

可选地,所述双向矩阵确定模块,包括:

第一结果确定子模块,用于将所述正向相似性矩阵以及所述反向相似性矩阵对应元素相乘,得到第一结果;

初始双向矩阵确定子模块,用于将所述第一结果开平方运算,得到第二结果,将所述第二结果确定为所述初始双向相似性矩阵;

二阶双向矩阵确定子模块,用于将所述初始双向相似性矩阵平方运算,得到第三结果,将所述第三结果确定为所述二阶初始双向相似性矩阵。

可选地,所述参数确定模块,包括:

划分子模块,用于将所述初始物品以及用户的资源分布矩阵划分为第一初始物品以及用户的资源分布矩阵和第二初始物品以及用户的资源分布矩阵;

第一单向矩阵确定子模块,用于通过所述第一初始物品以及用户的资源分布矩阵,确定所述第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵,以及所述第一初始物品以及用户的资源分布矩阵对应的反向相似性矩阵;

第一双向矩阵确定子模块,用于通过所述正向相似矩阵以及所述反向相似性矩阵,确定所述第一初始物品以及用户的资源分布矩阵对应的初始双向相似性矩阵,以及所述第一初始物品以及用户的资源分布矩阵对应的二阶初始双向相似性矩阵;

当前参数确定子模块,用于在所述预设删减冗余相似性参数集合中选择一个删减冗余相似性参数作为当前删减冗余相似性参数;

第一目标资源分布矩阵确定子模块,用于通过所述第一初始物品以及用户的资源分布矩阵以及全部当前删减冗余相似性参数,确定全部第一目标物品以及用户的资源分布矩阵;

推荐物品确定子模块,用于通过所述全部第一目标物品以及用户的资源分布矩阵,确定每一个第一目标物品以及用户的资源分布矩阵推荐的物品和所述第二初始资源分布矩阵的物品;

选择子模块,用于通过每一个第一目标物品以及用户的资源分布矩阵推荐的物品和所述第二初始资源分布矩阵的物品的一致性,选择全部第一目标物品以及用户的资源分布矩阵推荐的物品与所述第二初始资源分布矩阵的物品的一致性最高的最优第一目标物品以及用户的资源分布矩阵;

参数确定子模块,用于通过确定所述最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数,将所述最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数确定为所述目标删减冗余相似性参数。

可选地,所述目标双向矩阵确定模块,包括:

结果确定子模块,用于将所述目标删减冗余相似性参数与所述二阶初始双向相似性矩阵相乘,得到第四结果;

目标双向矩阵确定子模块,用于从所述初始双向相似性矩阵中减去所述第四结果,得到第五结果,将所述第五结果确定为所述目标双向相似性矩阵。

可选地,所述推荐物品确定模块,包括:

获取子模块,用于通过所述目标物品以及用户的资源分布矩阵,获取所述目标物品以及用户的资源分布矩阵中的第一用户,以及所述第一用户对应的所有物品的权重值,其中,所述第一用户为所述目标物品以及用户的资源分布矩阵中全部用户的任一个用户;

第一用户推荐物品确定子模块,用于根据所述第一用户的所有物品权重值,将所述第一用户对应的所有物品中所述第一用户未购买的前m个权重值大的物品推荐给所述第一用户,其中,m为大于等于1的自然数;

剩余用户推荐物品确定子模块,用于为所述目标物品以及用户的资源分布矩阵全部用户中除所述第一用户以外剩余的用户推荐物品。

本发明实施例公开的一种物品推荐方法及装置,通过确定全部用户、全部用户已购买的全部物品的正向相似性矩阵以及反方相似矩阵得到全部物品的初始双向相似矩阵,解决了现有技术中使用单向相似性矩阵为用户推荐物品的偏差。另外,通过二阶初始双向相似性矩阵可反映出初始双向相似性矩阵中存在的冗余相似性物品。为了降低冗余相似性物品的相似性,本发明实施例引入修正该二阶初始双向相似性矩阵的目标删减冗余相似性参数,解决初始双向相似矩阵中存在冗余相似性物品的相似性被过高估计的问题。通过从初始双向相似性矩阵中去除修正的二阶初始双向相似性矩阵,得到降低冗余相似性物品相似性的目标双向相似性矩阵,使该目标双向相似性矩阵对应的目标物品以及用户的资源分布矩阵,实现为用户推荐的物品更加精确,以及更加个性化。

附图说明

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

图1为本发明实施例的一种物品推荐方法流程图;

图2为本发明实施例的一种物品推荐方法的二阶初始双向相似性矩阵实现流程图;

图3为本发明实施例的一种物品推荐装置示意图。

具体实施方式

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

以下通过具体实施例,对本发明进行详细说明。

为达到上述发明目的,本发明实施例公开了一种物品推荐方法,如图1所示。图1为本发明实施例的一种物品推荐方法流程图,包括:

s101,根据历史数据中预先建立的全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定正向相似性矩阵以及反向相似性矩阵。

在本发明实施例中,在历史数据中获取到全部用户以及全部用户已购买的全部物品,根据用户与物品购买对应关系形成全部用户、该全部用户已购买的全部物品的二维矩阵定义为初始物品以及用户的资源分布矩阵。根据初始物品以及用户的资源分布矩阵的正向相似性得到的矩阵定义为正向相似性矩阵。根据初始物品以及用户的资源分布矩阵的反向相似性得到的矩阵定义为反向相似性矩阵。

推荐系统可以描述成一个未加权无向的,包含m+n个节点的全部用户、全部用户已购买的全部物品的二部图。其中,可用u={u1,u2,u3,u4...um}表示用户集合,用o={o1,o2,o3,o4...on}表示物品集合。如果用户ui选择过物品oj,那么ui和oj之间就存在一条链路,则m×n的邻接矩阵a中的对应元素aij=1,否则aij=0。基于网络推理的推荐算法,通过模拟物质扩散的资源分配过程,每个物品平均的分配它的初始资源,给所有选择过它的用户,然后每个用户重新平等的分配他/她已经获得的资源给他/她选择过的对象,由此即得到全部用户、全部用户已购买的全部物品的初始资源分布矩阵对应的正向相似性矩阵。将该正向相似性矩阵转置运算得到全部用户、全部用户已购买的全部物品的初始资源分布矩阵对应的反向相似性矩阵。

具体地,第一步:根据历史数据中预先建立的全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵中,给物品j分配初始资源1;

第二步:从购买过的物品出发扩散到用户上,将该物品oj资源平均的扩散给买过的所有用户,则每个买过物品oj的用户l分得资源其中,k(oj)为购买过该商品oj的人数,也就是商品的度。alj为邻接矩阵里的元素,如果用户ul选择过物品oj,那么alj=1,否则alj=0;

第三步:从用户出发扩散到物品上,每个用户把所得到的资源平均的分配给自己买过的物品,就相当于最后每个物品获得其中,k(ul)为用户ul购买的商品数,也就是用户的度。每个用户获得的资源总量为将每个用户购买过的每个物品资源的累加和,也就得到了正向相似性矩阵的计算公式:

其中,wij为正向相似性矩阵的i行j列的元素,即为第i个物品和第j个物品的相似度,ali为初始物品以及用户的资源分布矩阵中的l行i列的元素,alj为初始物品以及用户的资源分布矩阵中的l行j列的元素,m为初始物品以及用户的资源分布矩阵中用户的个数。

在得到初始物品以及用户的资源分布矩阵后,将该初始物品以及用户的资源分布矩阵转置运算,并进行归一化即得到初始物品以及用户的资源分布矩阵的反向相似性矩阵。

具体地,反向相似性矩阵公式为:

其中,w'ij为反向相似性矩阵的i行j列的元素,即为第i个用户买第j个物品的权重,wji为w'ij反向相似性矩阵转置之前对应的正向相似性矩阵,是归一化因子,用来保证双向物质扩散能力处于同一量纲下。

s102,根据正向相似性矩阵以及反向相似性矩阵,确定初始双向相似性矩阵,并根据初始双向相似性矩阵确定二阶初始双向相似性矩阵。

在本发明实施例中,将初始物品以及用户的资源分布矩阵的正向相似性矩阵和初始物品以及用户的资源分布矩阵反向相似性矩阵,通过函数关系得到的反向相似性矩阵,定义为双向相似性矩阵。为去除初始双向相似性矩阵冗余相似性物品,引入初始双向相似性矩阵高阶的双向相似性矩阵,将该高阶的双向相似性矩阵定义为二阶初始双向相似性矩阵,从该二阶初始双向相似性矩阵可反映出初始双向相似性矩阵中存在的冗余相似性物品。

具体地,在上述得到正向相似性矩阵以及反向相似性矩阵后,通过函数运算得到全部用户、全部用户已购买的全部物品的初始双向相似性矩阵,以及对该初始双向相似性矩阵运算得到全部用户、全部用户已购买的全部物品的二阶初始双向相似性矩阵。

s103,根据预设删减冗余相似性参数集合,确定二阶初始双向相似性矩阵对应的目标删减冗余相似性参数;

在实际运算过程中,根据该初始双向相似性矩阵得到的某几个物品的权重大小一样,但实际上可能某些物品是根据用户喜好单一属性被用户购买,而其它物品可能是分别根据用户喜好多种不同属性被用户购买,用户必然更喜欢多个属性满足其喜好的物品,在计算结果中这些物品的相似性权重大小是一致的,但是用户对它们的喜好程度并不一样,导致某些根据用户喜好单一属性被用户购买的物品被系统过高估计而推荐给用户,在推荐系统中将这种情况称之为物品的相似性冗余问题。根据用户喜好单一属性被用户购买的物品称为根据用户喜好多种不同属性被用户购买的物品的冗余相似性物品。为了解决物品的相似性冗余问题,需要降低存在冗余相似性物品的相似性。

在本发明实施例中,上述得到的二阶初始双向相似性矩阵可反映出初始双向相似性矩阵中存在的冗余相似性物品。为了降低冗余相似性物品的相似性,引入修正该二阶初始双向相似性矩阵的参数,本发明实施例定义为删减冗余相似性参数。提前设定一个删减冗余相似性参数集合,将该集合定义为预设删减冗余相似性参数集合。从该集合中选择一个最优的删减冗余相似性参数,将该最优的删减冗余相似性参数定义为目标删减冗余相似性参数。在该预设删减冗余相似性参数集合中选取当前删减冗余相似性参数,将在目标删减冗余相似性参数对初始双向相似性矩阵进行修正,得到的双向相似性矩阵定义为目标双向相似性矩阵。将根据该目标双向相似性矩阵和初始物品以及用户的资源分布矩阵得到的资源分布矩阵,定义为目标物品以及用户的资源分布矩阵。

在本步骤中,在数据库中抽取一部分用户、以及该部分用户购买的所有物品作为实验数据样本,按照上述方法计算该样本中全部物品的正向相似性矩阵、反向相似性矩阵以及全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵。再根据双向相似性矩阵计算得到二阶初始双向相似性矩阵。在该删减冗余相似性参数集合中,选取一个删减冗余相似性参数作为当前删减冗余相似性参数,根据当前删减冗余相似性参数和二阶初始双向相似性矩阵对该样本的初始双向相似性矩阵进行调整,得到调整后的当前双向相似性矩阵。通过得到的当前双向相似性矩阵和初始物品以及用户的资源分布矩阵,计算得到当前删减冗余相似性参数对应的当前目标物品以及用户的资源分布矩阵,通过当前目标物品以及用户的资源分布矩阵计算出推荐给用户的物品。

具体地,对该预设删减冗余相似性参数集合设置一个步长参数,按照该步长参数遍历预设删减冗余相似性参数集合[0,1]的所有数据。在选择的每一个当前删减冗余相似性参数下,对应计算出所有当前目标物品以及用户的资源分布矩阵和推荐给用户的物品。根据该数据库中剩余历史数据和该评价体系,选择所有当前目标物品以及用户的资源分布矩阵中最优的当前目标物品以及用户的资源分布矩阵,将该最优的当前目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数,确定为二阶初始双向相似性矩阵对应的目标删减冗余相似性参数。

s104,根据目标删减冗余相似性参数、初始双向相似性矩阵以及二阶初始双向相似性矩阵,确定目标双向相似性矩阵。

具体地,通过全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵得到的正向相似性矩阵;通过上述得到的正向相似性矩阵得到全部物品的反向相似性矩阵;通过上述得到的正向相似性矩阵和反向相似性矩阵得到初始双向相似性矩阵;通过初始双向相似性矩阵得到二阶初始双向相似性矩阵。通过上述目标删减冗余相似性参数和二阶初始双向相似性矩阵,进一步调整初始双向相似性矩阵去除冗余物品相似性,得到全部用户、全部用户已购买的全部物品的目标双向相似性矩阵。

s105,根据目标双向相似性矩阵和初始物品以及用户的资源分布矩阵,确定全部用户、全部用户已购买的全部物品的目标物品以及用户的资源分布矩阵,通过目标物品以及用户的资源分布矩阵确定目标物品以及用户的资源分布矩阵中全部用户对应的推荐物品。

具体地,通过目标双向相似性矩阵和初始物品以及用户的资源分布矩阵函数关系,计算得到全部用户、全部用户已购买的全部物品的目标物品以及用户的资源分布矩阵。在目标物品以及用户的资源分布矩阵中可知道每个用户将要购买的所有物品的权重。可根据用户需要或者在系统中提前设置推荐给用户的物品个数,按照物品的权重,将权重较大的前几个用户没选择过的物品推荐给每个用户。

本发明实施例公开的一种物品推荐方法,通过确定全部用户、全部用户已购买的全部物品的正向相似性矩阵以及反方相似矩阵得到全部物品的初始双向相似矩阵,解决了现有技术中使用单向相似性矩阵为用户推荐物品的偏差。另外,通过二阶初始双向相似性矩阵可反映出初始双向相似性矩阵中存在的冗余相似性物品。为了降低冗余相似性物品的相似性,本发明实施例引入修正该二阶初始双向相似性矩阵的目标删减冗余相似性参数,解决初始双向相似矩阵中存在冗余相似性物品的相似性被过高估计的问题。通过从初始双向相似性矩阵中去除修正的二阶初始双向相似性矩阵,得到降低冗余相似性物品相似性的目标双向相似性矩阵,使该目标双向相似性矩阵对应的目标物品以及用户的资源分布矩阵,实现为用户推荐的物品更加精确,以及更加个性化。

可选地,在本发明实施例的一种物品推荐方法的实施例中,根据正向相似性矩阵以及反向相似性矩阵,确定初始双向相似性矩阵,并根据初始双向相似性矩阵确定二阶初始双向相似性矩阵,如图2所示。图2为本发明实施例的一种物品推荐方法的二阶初始双向相似性矩阵实现流程图。包括:

s201,将正向相似性矩阵以及反向相似性矩阵对应元素相乘,得到第一结果;

具体地,在得到正向相似性矩阵以及反向相似性矩阵后,将正向相似性矩阵以及反向相似性矩阵中对应位置的元素相乘,得到相乘后的矩阵,将该矩阵定义为本发明实施例的到的第一结果。该矩阵为得到初始双向相似性矩阵的中间过渡矩阵。

s202,将第一结果开平方运算,得到第二结果,将第二结果确定为初始双向相似性矩阵;

根据上述方法得到双向相似性矩阵的公式为:

其中,wij表示初始物品以及用户的资源分布矩阵对应的正向相似性矩阵,w′ij表示初始物品以及用户的资源分布矩阵对应的反向相似性矩阵。

s203,将初始双向相似性矩阵平方运算,得到第三结果,将第三结果确定为二阶初始双向相似性矩阵。

具体地,二阶初始双向相似性矩阵公式为:

其中

可见,通过本发明实施例确定出初始双向相似性矩阵,可解决单向相似性矩阵确定出推荐物品的偏差。另外,通过双向相似性矩阵确定出二阶初始双向相似性矩阵,通过二阶初始双向相似性矩阵确定出目标双向相似性矩阵,可解决利用双向相似性矩阵中存在冗余相似性物品的相似性被过高的估计,实现为用户推荐的物品更加准确。

可选地,在本发明实施例的一种物品推荐方法的实施例中,在本发明实施例的一种物品推荐方法的实施例中,根据预设删减冗余相似性参数集合,确定二阶初始双向相似性矩阵对应的目标删减冗余相似性参数,包括:

步骤一,将初始物品以及用户的资源分布矩阵划分为第一初始物品以及用户的资源分布矩阵和第二初始物品以及用户的资源分布矩阵;

具体地,将数据库中所有用户、以及所有用户购买的物品对应的初始资源分布矩阵划分为第一初始物品以及用户的资源分布矩阵和第二初始物品以及用户的资源分布矩阵,第一初始物品以及用户的资源分布矩阵表示在全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵中抽出部分用户购买的全部物品对应的资源分布矩阵。第二初始物品以及用户的资源分布矩阵表示从初始物品以及用户的资源分布矩阵中,删除第一初始物品以及用户的资源分布矩阵。将第一初始物品以及用户的资源分布矩阵作为实验样本矩阵,将第二初始物品以及用户的资源分布矩阵作为第一初始物品以及用户的资源分布矩阵得到最后推荐给用户的物品是否正确的对比参考矩阵。

步骤二,通过第一初始物品以及用户的资源分布矩阵,确定第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵以及第一初始物品以及用户的资源分布矩阵对应的反向相似性矩阵;

具体地,按照上述确定正向相似矩阵的方法,确定出第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵,将该第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵转置运算得到的矩阵,确定为第一初始物品以及用户的资源分布矩阵对应的反向相似性矩阵。

步骤三,通过正向相似矩阵以及反向相似性矩阵,确定第一初始物品以及用户的资源分布矩阵对应的双向相似性矩阵,以及第一初始物品以及用户的资源分布矩阵对应的二阶初始双向相似性矩阵;

具体地,在得到第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵和第一初始物品以及用户的资源分布矩阵对应的反向相似性矩阵后,通过初始双向相似性矩阵公式:得到该第一初始物品以及用户的资源分布矩阵对应的初始双向相似性矩阵。

通过该二阶初始双向相似性矩阵公式:计算得到第一初始物品以及用户的资源分布矩阵对应的二阶初始双向相似性矩阵。

步骤四,在预设删减冗余相似性参数集合中选择一个删减冗余相似性参数作为当前删减冗余相似性参数;

具体地,给删减冗余相似性参数确定一个数据集合,将该集合定义为预设删减冗余相似性参数集合。该集合可为[0,1]的所有数据,在该集合中选择一个删减冗余相似性参数,作为当前删减冗余相似性参数α。

步骤五,通过第一初始物品以及用户的资源分布矩阵以及全部当前删减冗余相似性参数,确定全部第一目标物品以及用户的资源分布矩阵;

在本步骤中,根据上述得到的第一初始物品以及用户的资源分布矩阵得到正向相似性矩阵和反向相似性矩阵。通过正向相似性矩阵和反向相似性矩阵得到初始双向相似性矩阵。通过该初始双向相似性矩阵得到二阶初始双向相似性矩阵。在选择的一个当前删减冗余相似性参数,对应得到该当前删减冗余相似性参数对应的目标双向相似性矩阵。通过该目标双向相似性矩阵和第一初始物品以及用户的资源分布矩阵,得到当前删减冗余相似性参数对应的第一目标物品以及用户的资源分布矩阵。遍历预设删减冗余相似性参数集合的全部删减冗余相似性参数,按照上述方式得到全部删减冗余相似性参数对应的全部第一目标物品以及用户的资源分布矩阵。

具体地,可按照步长0.01给当前删减冗余相似性参数α赋值,对预设删减冗余相似性参数集合[0,1]遍历搜索,第1次α=0,第2次α=0.01第三次α=0.02……到第100次α=1,每次计算出选择的一组当前删减冗余相似性参数α对应的第一目标物品以及用户的资源分布矩阵。最终得到全部删减冗余相似性参数对应的全部第一目标物品以及用户的资源分布矩阵。

步骤六,通过全部第一目标物品以及用户的资源分布矩阵,确定每一个第一目标物品以及用户的资源分布矩阵推荐的物品和第二初始资源分布矩阵的物品;

具体地,通过全部第一目标物品以及用户的资源分布矩阵的物品与用户对应关系,得到每一个第一目标物品以及用户的资源分布矩阵中为用户推荐的物品。

步骤七,通过每一个第一目标物品以及用户的资源分布矩阵推荐的物品和第二初始资源分布矩阵的物品的一致性,选择全部第一目标物品以及用户的资源分布矩阵推荐的物品与第二初始资源分布矩阵推荐的物品的一致性最高的最优第一目标物品以及用户的资源分布矩阵;

步骤八,通过确定最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数,将最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数确定为目标删减冗余相似性参数。

可见,通过本发明实施例确定出目标删减冗余相似性参数可实现更加准确的修正二阶初始双向相似性矩阵,使得确定出的目标物品以及用户的资源分布矩阵中存在冗余相似性物品的相似性更低,最终为用户推荐的物品更加准确。

可选地,在本发明实施例的一种物品推荐方法的实施例中,根据目标删减冗余相似性参数、初始双向相似性矩阵以及二阶初始双向相似性矩阵,确定目标双向相似性矩阵,包括:

步骤一,将目标删减冗余相似性与二阶初始双向相似性矩阵相乘,得到第四结果;

步骤二,从初始双向相似性矩阵中减去第四结果,得到第五结果,将第五结果确定为目标双向相似性矩阵。

具体地,该目标双向相似性矩阵wcre的计算公式为:

其中,wc表示初始双向相似性矩阵,α表示目标删减冗余相似性,表示二阶初始双向相似性矩阵。

可见,通过目标删减冗余相似性参数、初始双向相似性矩阵和二阶初始双向相似性矩阵,得到目标双向相似性矩阵,降低初始双向相似性矩阵中的冗余相似性物品的相似性,得到目标双向相似性矩阵,通过该目标双向相似性矩阵实现最终为用户推荐的物品更精确。

可选地,在本发明实施例的一种物品推荐方法的实施例中,通过目标物品以及用户的资源分布矩阵确定目标物品以及用户的资源分布矩阵中全部用户对应的推荐物品,包括:

通过目标物品以及用户的资源分布矩阵,获取目标物品以及用户的资源分布矩阵中的第一用户,以及第一用户对应的所有物品的权重值,其中,第一用户为目标物品以及用户的资源分布矩阵中全部用户的任一用户;

根据所述第一用户的所有物品权重值,将所述第一用户对应的所有物品中所述第一用户未购买的前m个权重值大的物品推荐给所述第一用户,其中,m为大于等于1的自然数;

在本发明实施例中,可将目标物品以及用户的资源分布矩阵中任一用户定义为第一用户。

根据该网站中用户的历史数据确定出全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,该网站全部用户的初始物品以及用户的资源分布矩阵可表示为r0

其中,如果物品oi被用户uj选择过,则该物品拥有一个单位的资源,否则资源为0,即m表示用户的个数,n表示物品的个数。

其次,计算得到该网站中历史数据全部用户、所述全部用户已购买的全部物品的的目标双向相似性矩阵,该全部物品的目标双向相似性矩阵可表示为wcre

再次,根据上述得到的初始物品以及用户的资源分布矩阵r0以及全部物品的目标双向相似性矩阵wcre,计算全部用户、全部用户已购买的全部物品的目标物品以及用户的资源分布矩阵,该目标物品以及用户的资源分布矩阵r的计算公式为:

r=wcrer0

其中,矩阵r=(rij)n×m的第j列表示用户uj选择任意物品oi的权重。

最后,通过目标物品以及用户的资源分布矩阵可得到每个用户选择每个物品的权重。

通过该目标物品以及用户的资源分布矩阵,获取目标物品以及用户的资源分布矩阵中的第一用户,以及第一用户对应的所有物品的权重值。

具体地,通过目标物品以及用户的资源分布矩阵的用户与物品的对应关系,可知为每个用户推荐的每个物品的权重值。在该目标物品以及用户的资源分布矩阵中获取为第一用户推荐的所有物品的权重值。根据第一用户的所有物品权重值,将第一用户对应的所有物品中该第一用户未购买的前m个权重值大的物品推荐给第一用户;

例如,可在系统中对该第一用户的所有物品按照权重值的大小排序。可在系统中设置为用户推荐m个物品,将用户未购买的权重值大的前m个物品推荐给该第一用户。

为目标物品以及用户的资源分布矩阵全部用户中除第一用户以外剩余的用户推荐物品。

按照上述为第一用户推荐物品的方法,为该系统中所有用户推荐物品。

可见,通过本发明实施例的方式,可实现将用户未选择过的前m个物品权重值大的物品推荐给每个用户,为每个用户推荐的物品更加精确,提高用户体验。

为达到上述发明目的,本发明实施例还公开了一种物品推荐装置,如图3所示。图3为本发明实施例的一种物品推荐装置示意图,包括:

单向矩阵确定模块301,用于根据历史数据中预先建立的全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定正向相似性矩阵以及反向相似性矩阵;

双向矩阵确定模块302,用于根据正向相似性矩阵以及反向相似性矩阵,确定初始双向相似性矩阵,并根据初始双向相似性矩阵确定二阶初始双向相似性矩阵;

参数确定模块303,用于根据预设删减冗余相似性参数集合,确定二阶初始双向相似性矩阵对应的目标删减冗余相似性参数;

目标双向矩阵确定模块304,用于根据目标删减冗余相似性参数、初始双向相似性矩阵以及二阶初始双向相似性矩阵,确定目标双向相似性矩阵;

推荐物品确定模块305,用于根据目标双向相似性矩阵以及全部用户、全部用户已购买的全部物品的初始物品以及用户的资源分布矩阵,确定全部用户、全部用户已购买的全部物品的目标物品以及用户的资源分布矩阵,通过目标物品以及用户的资源分布矩阵确定目标物品以及用户的资源分布矩阵中全部用户对应的推荐物品。

本发明实施例公开的一种物品推荐装置,通过确定全部用户、全部用户已购买的全部物品的正向相似性矩阵以及反方相似矩阵得到全部物品的初始双向相似矩阵,解决了现有技术中使用单向相似性矩阵为用户推荐物品的偏差。另外,通过二阶初始双向相似性矩阵可反映出初始双向相似性矩阵中存在的冗余相似性物品。为了降低冗余相似性物品的相似性,本发明实施例引入修正该二阶初始双向相似性矩阵的目标删减冗余相似性参数,解决初始双向相似矩阵中存在冗余相似性物品的相似性被过高估计的问题。通过从初始双向相似性矩阵中去除修正的二阶初始双向相似性矩阵,得到降低冗余相似性物品相似性的目标双向相似性矩阵,使该目标双向相似性矩阵对应的目标物品以及用户的资源分布矩阵,实现为用户推荐的物品更加精确,以及更加个性化。

需要说明的是,本发明实施例的装置是应用上述物品推荐方法的装置,则上述物品推荐方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

可选地,双向矩阵确定模块,包括:

第一结果确定子模块,用于将正向相似性矩阵以及反向相似性矩阵对应元素相乘,得到第一结果;

初始双向矩阵确定子模块,用于将第一结果开平方运算,得到第二结果,将第二结果确定为初始双向相似性矩阵;

二阶双向矩阵确定子模块,用于将初始双向相似性矩阵平方运算,得到第三结果,将第三结果确定为二阶初始双向相似性矩阵。

可选地,参数确定模块,包括:

划分子模块,用于将初始物品以及用户的资源分布矩阵划分为第一初始物品以及用户的资源分布矩阵和第二初始物品以及用户的资源分布矩阵;

第一单向矩阵确定子模块,用于通过第一初始物品以及用户的资源分布矩阵,确定第一初始物品以及用户的资源分布矩阵对应的正向相似矩阵,以及第一初始物品以及用户的资源分布矩阵对应的反向相似性矩阵;

第一双向矩阵确定子模块,用于通过正向相似矩阵以及反向相似性矩阵,确定第一初始物品以及用户的资源分布矩阵对应的初始双向相似性矩阵,以及第一初始物品以及用户的资源分布矩阵对应的二阶初始双向相似性矩阵;

当前参数确定子模块,用于在预设删减冗余相似性参数集合中选择一个删减冗余相似性参数作为当前删减冗余相似性参数;

第一目标资源分布矩阵确定子模块,用于通过第一初始物品以及用户的资源分布矩阵以及全部当前删减冗余相似性参数,确定全部第一目标物品以及用户的资源分布矩阵;

推荐物品确定子模块,用于确定每一个第一目标物品以及用户的资源分布矩阵推荐的物品和第二初始资源分布矩阵的物品;

选择子模块,用于通过每一个第一目标物品以及用户的资源分布矩阵推荐的物品和第二初始资源分布矩阵推荐的物品的一致性,选择全部第一目标物品以及用户的资源分布矩阵推荐的物品与第二初始资源分布矩阵物品的一致性最高的最优第一目标物品以及用户的资源分布矩阵;

参数确定子模块,用于通过确定最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数,将最优第一目标物品以及用户的资源分布矩阵对应的当前删减冗余相似性参数确定为目标删减冗余相似性参数。

可选地,目标双向矩阵确定模块,包括:

结果确定子模块,用于将目标删减冗余相似性与二阶初始双向相似性矩阵相乘,得到第四结果;

目标双向矩阵确定子模块,用于从初始双向相似性矩阵中减去第四结果,得到第五结果,将第五结果确定为目标双向相似性矩阵。

可选地,推荐物品确定模块,包括:

获取子模块,用于通过目标物品以及用户的资源分布矩阵,获取目标物品以及用户的资源分布矩阵中的第一用户,以及第一用户对应的所有物品的权重值,其中,第一用户为目标物品以及用户的资源分布矩阵中全部用户的任一个用户;

第一用户推荐物品确定子模块,用于根据所述第一用户的所有物品权重值,将所述第一用户对应的所有物品中所述第一用户未购买的前m个权重值大的物品推荐给所述第一用户,其中,m为大于等于1的自然数;

剩余用户推荐物品确定子模块,用于为目标物品以及用户的资源分布矩阵全部用户中除第一用户以外剩余的用户推荐物品。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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