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

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

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



背景技术:

信息过载已经成为互联网技术发展的严重障碍,而推荐装置是缓解这一难题的有效途径。推荐装置的出现打破了用户在海量数据中难以获得个性化信息的僵局。纵观国内外,虽然推荐装置已经广泛应用于众多领域,但是仍然难以满足日益增长的商品信息服务需要。

推荐装置对互联网经济的巨大贡献,吸引了众多的研究者,他们根据不同的应用场景和条件研究出了多样的推荐算法。现有的物品推荐方法主要包括以下两种:

第一、基于物品间因果关系的推荐方法。在基于因果关系的推荐方法中,基于二部图网络的协同过滤算法由于适应性强,准确性、多样性和个性化方面推荐性能优异,得到了广泛关注。但是以往在二部图网络上,协同过滤算法主要是基于物品在时间顺序上的因果关系来研究物品间相似性的,但当物品间没有因果关系,并且物品的选择是基于用户的一致性偏好时,采用因果关系推荐将导致物品间相似性估计偏差,造成推荐性能的局限。事实上,在实际应用场景中,绝大多数推荐是非因果的一致性推荐。也就是说,绝大多数情况下,物品间的相似性本质上并不是基于时间上的因果关系,即不是由于用户先喜欢了一个物品,所以才喜欢另一个物品,而是同时喜欢两个物品。当物品之间没有因果关系的时候,基于因果关系的推荐方法则无法判断究竟推荐哪一个物品更好。

第二、基于物品的一致性推荐。即表示用户一致性喜好两个物品。一致相似性是由从已选择物品到未选择物品的相似性和从未选择物品到已选择物品的相似性构成,分别称为正向相似性和反向相似性。由于一致性推荐中影响相似性的因素众多,其间关系复杂,容易导致物品相似性估计偏差。同时,传统基于物质扩散的推荐算法偏向于推荐流行物品,使得流行的物品会被频繁的推荐这不仅不会促进推荐的准确性,而且会伤害到推荐结果的多样性和新颖性。



技术实现要素:

本发明实施例的目的在于提供一种物品推荐方法及装置,实现为用户推荐更加精确和更加个性化的物品。

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

根据预先确定的全部物品和全部用户的初始资源分布矩阵计算全部物品的正向初始转移矩阵和反向初始转移矩阵;

确定所述正向初始转移矩阵对应的正向目标流行性惩罚程度和所述反向初始转移矩阵对应的反向目标流行性惩罚程度;

根据所述正向目标流行性惩罚程度、所述正向初始转移矩阵和所述初始资源分布矩阵计算全部物品的正向目标转移矩阵,根据所述反向目标流行性惩罚程度、所述反向初始转移矩阵和所述初始资源分布矩阵计算全部物品的反向目标转移矩阵,根据所述正向目标转移矩阵和所述反向目标转移矩阵计算全部物品的双向目标转移矩阵;

根据所述双向目标转移矩阵和所述初始资源分布矩阵,确定全部物品和全部用户的目标资源分布矩阵,根据所述目标资源分布矩阵确定推荐给每个用户的物品。

可选地,所述确定所述正向初始转移矩阵对应的正向目标流行性惩罚程度和所述反向初始转移矩阵对应的反向目标流行性惩罚程度,包括:

将所述初始资源分布矩阵至少划分为第一初始资源分布矩阵和第二初始资源分布矩阵;

当预先确定的流行性惩罚程度集合不为空时,在所述流行性惩罚程度集合中选择一组流行性惩罚程度作为当前流行性惩罚程度,其中,所述当前流行性惩罚程度包括:正向当前流行性惩罚程度和反向当前流行性惩罚程度;

根据所述第一初始资源分布矩阵确定所述当前流行性惩罚程度对应的当前资源分布矩阵;

当所述流行性惩罚程度集合为空时,根据所述第二初始资源分布矩阵在全部当前资源分布矩阵中确定目标资源分布矩阵,确定所述目标资源分布矩阵对应的正向当前流行性惩罚程度和反向当前流行性惩罚程度为所述正向目标流行性惩罚程度和所述反向目标流行性惩罚程度。

可选地,所述根据所述第一初始资源分布矩阵确定所述当前流行性惩罚程度对应的当前资源分布矩阵,包括:

根据所述第一初始资源分布计算预先确定的全部物品中第一物品的第一正向初始转移矩阵和第一反向初始转移矩阵;

根据所述正向当前流行性惩罚程度、所述第一正向初始转移矩阵和所述第一初始资源分布矩阵计算第一物品的第一正向转移矩阵,根据所述反向当前流行性惩罚程度、所述第一反向初始转移矩阵和所述第一初始资源分布矩阵计算第一物品的第一反向转移矩阵,根据所述第一正向转移矩阵和所述第一反向转移矩阵计算第一物品的第一双向转移矩阵;

根据所述第一双向转移矩阵和所述第一初始资源分布矩阵,确定第一物品的当前资源分布矩阵。

可选地,所述根据所述正向目标转移矩阵和所述反向目标转移矩阵计算全部物品的双向目标转移矩阵,包括:

所述双向目标转移矩阵为所述正向目标转移矩阵与所述反向目标转移矩阵之和。

可选地,所述根据所述目标资源分布矩阵确定推荐给每个用户的物品,包括:

根据所述目标资源分布获取每个用户对应的各个物品的权重值;

根据各个物品的权重值确定推荐给每个用户的物品。

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

初始矩阵计算模块,用于根据预先确定的全部物品和全部用户的初始资源分布矩阵计算全部物品的正向初始转移矩阵和反向初始转移矩阵;

流行性惩罚程度确定模块,用于确定所述正向初始转移矩阵对应的正向目标流行性惩罚程度和所述反向初始转移矩阵对应的反向目标流行性惩罚程度;

目标矩阵计算模块,用于根据所述正向目标流行性惩罚程度、所述正向初始转移矩阵和所述初始资源分布矩阵计算全部物品的正向目标转移矩阵,根据所述反向目标流行性惩罚程度、所述反向初始转移矩阵和所述初始资源分布矩阵计算全部物品的反向目标转移矩阵,根据所述正向目标转移矩阵和所述反向目标转移矩阵计算全部物品的双向目标转移矩阵;

物品推荐模块,用于根据所述双向目标转移矩阵和所述初始资源分布矩阵,确定全部物品和全部用户的目标资源分布矩阵,根据所述目标资源分布矩阵确定推荐给每个用户的物品。

可选地,所述流行性惩罚程度确定模块,包括:

矩阵划分子模块,用于将所述初始资源分布矩阵至少划分为第一初始资源分布矩阵和第二初始资源分布矩阵;

流行性惩罚程度选择子模块,用于当预先确定的流行性惩罚程度集合不为空时,在所述流行性惩罚程度集合中选择一组流行性惩罚程度作为当前流行性惩罚程度,其中,所述当前流行性惩罚程度包括:正向当前流行性惩罚程度和反向当前流行性惩罚程度;

矩阵确定子模块,用于根据所述第一初始资源分布矩阵确定所述当前流行性惩罚程度对应的当前资源分布矩阵;

流行性惩罚程度确定子模块,用于当所述流行性惩罚程度集合为空时,根据所述第二初始资源分布矩阵在全部当前资源分布矩阵中确定目标资源分布矩阵,确定所述目标资源分布矩阵对应的正向当前流行性惩罚程度和反向当前流行性惩罚程度为所述正向目标流行性惩罚程度和所述反向目标流行性惩罚程度。

可选地,所述矩阵确定子模块,具体用于根据所述第一初始资源分布计算预先确定的全部物品中第一物品的第一正向初始转移矩阵和第一反向初始转移矩阵;根据所述正向当前流行性惩罚程度、所述第一正向初始转移矩阵和所述第一初始资源分布矩阵计算第一物品的第一正向转移矩阵;根据所述反向当前流行性惩罚程度、所述第一反向初始转移矩阵和所述第一初始资源分布矩阵计算第一物品的第一反向转移矩阵;根据所述第一正向转移矩阵和所述第一反向转移矩阵计算第一物品的第一双向转移矩阵;根据所述第一双向转移矩阵和所述第一初始资源分布矩阵,确定第一物品的当前资源分布矩阵。

可选地,所述双向目标转移矩阵为所述正向目标转移矩阵与所述反向目标转移矩阵之和。

可选地,所述物品推荐模块,具体用于根据所述目标资源分布矩阵获取每个用户对应的各个物品的权重值;根据各个物品的权重值确定推荐给每个用户的物品。

首先,本发明实施例公开的一种物品推荐方法及装置中,通过确定全部物品的正向转移矩阵以及全部物品的反向转移矩阵得到全部物品的双向转移矩阵,实现了绝大多数情况下,物品间的相似性本质上并不是基于时间上的因果关系,而是当用户一致性喜好两个物品时,该方法可为用户一致性推荐两个物品,为用户推荐更准确的物品。其次,本发明实施例公开的一种物品推荐方法及装置中,引入了正向目标流行性惩罚来修正正向初始转移矩阵,引入了反向目标流行性惩罚来修正反向初始转移矩阵得到最终的双向目标转移矩阵,解决了传统基于物质扩散的推荐算法偏向于推荐流行物品,实现最终为每个用户推荐更加精确和更加个性化的物品。

附图说明

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

图1为本发明实施例中物品推荐方法的实现流程示意图;

图2为本发明实施例中流行性惩罚程度的获取方法的实现流程示意图;

图3为本发明实施例中资源分布矩阵的获取方法的实现流程示意图;

图4为本发明实施例中正向初始转移矩阵以及反向初始转移矩阵实现流程图;

图5为本发明实施例中物品推荐装置的组成结构示意图。

具体实施方式

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

以下通过具体实施例,对本发明的一种物品推荐方法及装置进行详细说明。

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

S101,根据预先确定的全部物品和全部用户的初始资源分布矩阵计算全部物品的正向初始转移矩阵和反向初始转移矩阵。

具体地,在网站系统数据库中查询所有用户、以及所有用户购买的物品信息,建立一张二维信息表,在实施过程中可根据用户的打分情况,将低于评分标准一半的物品删除。在该信息表中,建立用户和物品的关系,即建立指定用户购买过的所有物品,某物品被所有用户购买过的物品-用户二部图对应关系,根据该对应关系给全部物品分配初始资源,每个物品的初始资源分配相同的资源,根据该二维表的物品与用户的对应关系得到全部物品的初始资源分布矩阵。根据物品-用户二部图对应关系计算出全部物品的正向初始转移矩阵。

具体可参考以下计算方法:假设一个网站系统数据库中包含m个用户和n个物品,每个用户都选择过一些物品。用U={u1,u2,u3,u4...um}和O={o1,o2,o3,o4...on}分别表示用户和物品。推荐系统可以描述成一个未加权无向的,包含m+n个节点的物品-用户二部图。如果用户ui选择过物品oj,那么ui和oj之间就存在一条链路,则m×n的邻接矩阵A中的对应元素aij=1,否则aij=0。基于网络推理的推荐算法,通过模拟物质扩散的资源分配过程,每个对象平均的分配它的初始资源,给所有选择过它的用户,然后每个用户重新平等的分配他/她已经获得的资源给他/她选择过的对象,由此即得到全部物品的正向初始转移矩阵。通过将得到的正向初始转移矩阵转置计算得到全部物品的反向初始转移矩阵。

S102,确定正向初始转移矩阵对应的正向目标流行性惩罚程度和反向初始转移矩阵对应的反向目标流行性惩罚程度;

具体地,在网站系统数据库中抽取一部分用户、以及该部分用户购买的所有物品信息作为实验数据样本,按照上述方法计算该样本中全部物品的正向初始转移矩阵、反向初始转移矩阵以及初始资源分布矩阵。对该样本中全部物品的正向初始转移矩阵对应的正向流行性惩罚程度和反向初始转移矩阵对应的反向流行性惩罚程度建立一个预设数据集合,该正向流行性惩罚程度为修正正向初始转移矩阵的参数,避免正向初始资源转移更加趋向流行物品,该反向流行性惩罚程度为修正反向初始转移矩阵的参数,避免反向初始资源转移更加趋向流行物品。在该预设数据集合中,选取一个正向当前流行性惩罚程度和一个反向当前流行性惩罚程度作为一组试验数据对象,对该样本的正向初始转移矩阵、反向初始转移矩阵进行修正,得到修正后的正向当前初始转移矩阵、修正后的反向当前初始转移矩阵。通过得到的正向当前初始转移矩阵、反向当前初始转移矩阵正以及初始资源分布矩阵,计算得到该样本选择的一组正向当前流行性惩罚程度和反向当前流行性惩罚程度对应的当前目标资源分布矩阵,通过当前目标资源分布矩阵计算出推荐给用户的物品。

对该预设数据集合设置一个步长参数,按照该上述方法遍历预设数据集合的所有数据,在选择的每一组正向当前流行性惩罚程度和反向当前流行性惩罚程度,对应计算出所有当前目标资源分布矩阵以及推荐给用户的物品。根据该网站的剩余历史数据以及该网站的评价体系,选择出所有当前目标资源分布矩阵中最优的当前目标资源分布矩阵,并将该最优的当前目标资源分布矩阵对应的一组正向流行性惩罚程度和反向流行性惩罚程度,确定为该网站所有用户、以及所有用户购买的物品信息的正向初始转移矩阵对应的正向目标流行性惩罚程度和反向初始转移矩阵对应的反向目标流行性惩罚程度。

S103,根据正向目标流行性惩罚程度、正向初始转移矩阵和初始资源分布矩阵计算全部物品的正向目标转移矩阵,根据反向目标流行性惩罚程度、反向初始转移矩阵和初始资源分布矩阵计算全部物品的反向目标转移矩阵,根据正向目标转移矩阵和反向目标转移矩阵计算全部物品的双向目标转移矩阵;

具体地,通过得到的物品-用户二部图对应关系计算全部物品的正向初始转移矩阵,通过上述得到的正向目标流行性惩罚程度,修正正向初始转移矩阵得到全部物品的正向目标转移矩阵;通过上述得到的正向初始转移矩阵转置计算得到全部物品的反向初始转移矩阵,通过上述得到的反向目标流行性惩罚程度,修正反向初始转移矩阵得到全部物品的反向目标转移矩阵。

在得到正向目标转移矩阵以及反向目标转移矩阵,计算得到全部物品的双向目标转移矩阵。

S104,根据双向目标转移矩阵和初始资源分布矩阵,确定全部物品和全部用户的目标资源分布矩阵,根据目标资源分布矩阵确定推荐给每个用户的物品。

具体地,在上述得到全部物品的双向目标转移矩阵后,获取上述全部物品的初始资源分布矩阵,通过将双向目标转移矩阵以及初始资源分布矩阵计算得到全部物品和全部用户的目标资源分布矩阵。

在得到全部物品和全部用户的目标资源分布矩阵后,根据该目标资源分布矩阵便可知道每个用户对应网站历史数据中所有物品的权重,对应每个特定用户,可根据该特定用户需要或者网站系统设置的推荐个数,按照物品的权重从大到小的顺序将前几个用户没选择过的物品推荐给用户。

本发明实施例的一种物品推荐方法,根据预先确定的全部物品和全部用户的初始资源分布矩阵计算全部物品的正向初始转移矩阵和反向初始转移矩阵,以及确定正向初始转移矩阵对应的正向目标流行性惩罚程度和反向初始转移矩阵对应的反向目标流行性惩罚程度,在正向目标流行性惩罚程度下修正初始资源分布矩阵得到全部物品的正向目标转移矩阵,在反向目标流行性惩罚程度下修正初始资源分布矩阵得到全部物品的反向目标转移矩阵,根据正向目标转移矩阵、反向目标转移矩阵得到全部物品的双向目标转移矩阵,再根据双向目标转移矩阵和初始资源分布矩阵得到全部物品和全部用户的目标资源分布矩阵,最终根据目标资源分布矩阵确定推荐给每个用户的物品。本发明实施例提供的一种物品推荐方法,实现了为用户推荐更加精确、更加多样化和更加个性化的物品。

可选地,在本发明物品推荐方法的一种可能的实施例中,确定正向初始转移矩阵对应的正向目标流行性惩罚程度和反向初始转移矩阵对应的反向目标流行性惩罚程度的实施方法,如图2所示。图2为本发明实施例中流行性惩罚程度的获取方法的实现流程示意图,包括:

S201,将初始资源分布矩阵至少划分为第一初始资源分布矩阵和第二初始资源分布矩阵;

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

S202,当预先确定的流行性惩罚程度集合不为空时,在流行性惩罚程度集合中选择一组流行性惩罚程度作为当前流行性惩罚程度,其中,当前流行性惩罚程度包括:正向当前流行性惩罚程度和反向当前流行性惩罚程度;

具体地,给流行性惩罚程度确定一个数据集合,该集合可为0~10的所有数据,在该集合中选择一个正向当前流行性惩罚程度α、和一个反向当前流行性惩罚程度β。

S203,根据第一初始资源分布矩阵确定当前流行性惩罚程度对应的当前资源分布矩阵;

具体地,根据上述S201中得到的第一初始资源分布矩阵计算出物品的正向初始转移矩阵以及反向初始转移矩阵,以及根据上述S202中选择的一组正向当前流行性惩罚程度α和反向当前流行性惩罚程度β,对应计算一组正向当前流行性惩罚程度α对应的当前正向目标转移矩阵、以及反向当前流行性惩罚程度β对应的当前反向目标转移矩阵,根据当前正向目标转移矩阵以及当前反向目标转移矩阵计算出当前双向目标转移矩阵,根据当前目标转移矩阵以及S201中得到的第一初始资源分布矩阵,计算出选择的一组正向当前流行性惩罚程度α和反向当前流行性惩罚程度β对应的当前资源分布矩阵。

S204,当流行度参数集合为空时,根据第二初始资源分布矩阵在全部当前资源分布矩阵中确定目标资源分布矩阵,确定目标资源分布矩阵对应的正向当前流行性惩罚程度和反向当前流行性惩罚程度为正向目标流行性惩罚程度和反向目标流行性惩罚程度。

具体的,可按照步长0.01给正向当前流行性惩罚程度α和反向当前流行性惩罚程度β赋值,对设置的0~10集合遍历搜索,第1次α=0,β=0,第2次α=0,β=0.01,第三次α=0,β=0.02…第1000次α=0,β=10第1001次α=0.01,β=0…,就这么循环下去一直到α=10,β=10,每次计算出选择的一组正向当前流行性惩罚程度α和反向当前流行性惩罚程度β对应的当前资源分布矩阵和推荐的结果,根据S201得到的第二初始资源分布矩阵以及该网站的评价体系,评价一下推荐的性能,对应确定出所有当前资源分布矩阵最优的当前资源分布矩阵,将该最优的当前资源分布矩阵确定为目标资源分布矩阵。将该目标资源分布矩阵对应的一组正向当前流行性惩罚程度α和反向当前流行性惩罚程度β,确定为该网站所有用户、以及所有用户购买的物品的目标资源分布矩阵对应的正向目标流行性惩罚程度和反向目标流行性惩罚程度。

可见,本发明实施例中,通过引入正向流行性惩罚和反向当前流行性惩罚,降低流行物品的推荐权重,实现最终给用户推荐得物品结果更加准确,更具多样性和个性化。

可选地,在本发明物品推荐方法的一种可能的实施例中,根据第一初始资源分布矩阵确定当前流行性惩罚程度对应的当前资源分布矩阵的实施方法,如图3所示。图3为本发明实施例中资源分布矩阵的获取方法的实现流程示意图,包括:

S301,根据第一初始资源分布矩阵计算预先确定的全部物品中第一物品的第一正向初始转移矩阵和第一反向初始转移矩阵;

具体地,将网站系统数据库中查询所有用户、以及所有用户购买的物品对应的初始资源分布矩阵中,选取所有用户当中每个用户购买的部分物品初始资源作为第一初始资源分布矩阵。将第一初始资源分布矩阵出现的所有物品定义为第一物品,将第一初始资源分布矩阵中的第一物品对应的正向转移矩阵定义为第一物品的第一正向初始转移矩。具体在计算第一物品的第一正向初始转移矩阵时可分为以下三步:

第一步:给该部分用户中每个特定用户购买过得物品oj分配初始资源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第一反向转移矩阵转置之前对应的第一正向转移矩阵,是归一化因子,用来保证双向物质扩散能力处于同一量纲下。

S302,根据正向当前流行性惩罚程度、第一正向初始转移矩阵和第一初始资源分布矩阵计算第一物品的第一正向转移矩阵,根据反向当前流行性惩罚程度、第一反向初始转移矩阵和第一初始资源分布矩阵计算第一物品的第一反向转移矩阵,根据第一正向转移矩阵和第一反向转移矩阵计算第一物品的第一双向转移矩阵;

具体地,在流行性惩罚程度的数据集合中选择的一组正向当前流行性惩罚程度α和当前反向当前流行性惩罚程度β,根据上述得到的第一物品的第一正向初始转移矩阵、第一初始资源分布矩阵以及正向当前流行性惩罚程度α,计算第一物品的第一正向转移矩阵,根据上述得到的第一物品的第一反向初始转移矩阵、第一初始资源分布矩阵以及当前反向当前流行性惩罚程度β,计算第一物品的第一反向转移矩阵。

根据上述得到的第一正向转移矩阵以及第一反向转移矩阵,就计算得到第一物品的第一双向转移矩阵。

S303,根据第一双向转移矩阵和第一初始资源分布矩阵,确定第一物品的当前资源分布矩阵。

具体地,根据上述得到的第一双向转移矩阵和第一初始资源分布矩阵,计算出第一物品的当前资源分布矩阵。

可见,通过第一初始资源分布矩阵,计算当前流行性惩罚程度对应的当前资源分布矩阵,将该当前资源分布矩阵确定出的物品推荐给用户,可以有效地得到该当前流行性惩罚程度对推荐结果的影响,从而在所有的流行性惩罚程度中选取一个最合适目标流行性惩罚程度,根据该目标流行性惩罚程度来确定出最优的目标资源分布矩阵,按照该目标资源分布矩阵的结果推荐给用户的物品会更加精确,更加多样性,更加个性化。

需要说明的是,上述根据第一初始资源分布矩阵确定当前流行性惩罚程度对应的当前资源分布矩阵的实施方法,适用于在网站的历史数据中根据全部物品和全部用户的初始资源分布矩阵确定目标流行性惩罚程度对应的目标资源分布矩阵。

在本发明物品推荐方法的一种可能的实施例中,计算正向初始转移矩阵以及反向初始转移矩阵的方法如图4所示,图4为本发明实施例中正向初始转移矩阵以及反向初始转移矩阵实现流程图。

在图4的(1)中,以4个用户表示网站历史数据的全部用户以3个物品表示网站历史数据所有物品为例,根据全部用户U1,U2,U3,U4以及该全部用户购买的所有物品O1,O2,O3构成的物品-用户二部图中,给物品O1,O2,O3对应分配初始资源x,y,z。

在图4的(2)中,从购买过的物品出发扩散到用户上,将该物品oj资源平均的扩散给买过的所有用户,就相当于同样买过物品oj的用户l每个分得资源则用户U1分得的物品资源为x/2+y/3,用户U2分得的物品资源为y/3+z/2,用户U3分得的物品资源为z/2,用户U4分得的物品资源为x/2+y/3。

在图4的(3)中,从用户出发扩散到物品上,每个用户把所得到的资源平均的分配给自己买过的物品,就相当于最后每个物品获得则物品O1的资源为x/2+y/3,物品O2的资源为x/2+y/2+z/4,物品O3的资源为y/6+3z/4。

则根据正向初始转移矩阵公式求得正向初始转移矩阵为:

在得到正向初始转移矩阵后,将该正向初始转移矩阵转置运算,并进行归一化得到反向初始转移矩阵,根据反向初始转移矩阵公式求得反向初始转移矩阵为:

可选地,在本发明物品推荐方法的一种可能的实施例中,根据正向目标转移矩阵和反向目标转移矩阵计算全部物品的双向目标转移矩阵,包括:

双向目标转移矩阵为正向目标转移矩阵与反向目标转移矩阵之和。

具体地,在计算出正向目标转移矩阵和反向目标转移矩阵之后,将该网站历史数据中所有物品的正向目标转移矩阵和反向目标转移矩阵相加,得到历史数据中所有物品的双向目标转移矩阵。

具体地,该双向目标转移矩阵公式为:

其中,为双向目标转移矩阵的第i行第j列对应的元素,α为正向目标流行性惩罚程度,β为目标反向流行性惩罚程度,wij为正向目标转移矩阵的i行j列的元素,w'ij为反向目标转移矩阵的i行j列的元素,k(oi)为购买过该商品oi的人数,也就是商品oi的度,k(oj)为购买过该商品oj的人数,也就是商品oj的度。

可见,通过得到物品的单向转移矩阵,进而得到物品的双向转移矩阵,构建了一致相似性推荐模型,根据双向转移矩阵计算出物品的资源分布矩阵,按照物品的双向转移矩阵得到资源分布矩阵,有效解决只考虑正向相似性以及基于因果关系推荐的相似性估计偏差问题,提高推荐的准确性。

可选地,在本发明物品推荐方法的一种可能的实施例中,根据目标资源分布矩阵确定推荐给每个用户的物品,包括:

根据目标资源分布矩阵获取每个用户对应的各个物品的权重值;

首先,计算出目标资源分布矩阵,具体可有如下计算方式:

根据该网站中用户的历史数据确定出全部物品和全部用户的初始资源分布矩阵,该网站全部用户的初始资源分布矩阵可表示为R0

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

其次,计算得到该网站中历史数据全部用户以及全部物品的双向目标转移矩阵,该全部物品的双向目标转移矩阵可表示为WPBMD

再次,根据上述得到的初始资源分布矩阵R0以及全部物品的双向目标转移矩阵WPBMD,计算得到全部物品的目标资源分布矩阵,该目标资源分布矩阵的计算公式为:

R=WPBMDR0

其中,为双向目标转移矩阵的第i行第j列对应的元素,矩阵R=R(rij)n×m的第j列代表用户uj选择任意物品oi的权重。

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

根据各个物品的权重值确定推荐给每个用户的物品。

具体地,对于每个特定用户,可计算出对于该用户的每个物品的权重值,将权重值从大到小排序,通过权重的排序结果确定出对应的物品排序结果。将物品排序结果中该用户已购买过的物品删除,根据该网站物品推荐个数L,将物品排序结果中前L个物品推荐给该用户。

按照此方法,给该网站中所有用户推荐物品。

可见,通过本发明的物品推荐方法,可实现为每个用户的推荐物品更加精确、更加个性化以及多样化。

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

初始矩阵计算模块501,用于根据预先确定的全部物品和全部用户的初始资源分布矩阵计算全部物品的正向初始转移矩阵和反向初始转移矩阵;

流行性惩罚程度确定模块502,用于确定正向初始转移矩阵对应的正向目标流行性惩罚程度和反向初始转移矩阵对应的反向目标流行性惩罚程度;

目标矩阵计算模块503,用于根据正向目标流行性惩罚程度、正向初始转移矩阵和初始资源分布矩阵计算全部物品的正向目标转移矩阵,根据反向目标流行性惩罚程度、反向初始转移矩阵和初始资源分布矩阵计算全部物品的反向目标转移矩阵,根据正向目标转移矩阵和反向目标转移矩阵计算全部物品的双向目标转移矩阵;

物品推荐模块504,用于根据双向目标转移矩阵和初始资源分布矩阵,确定全部物品和全部用户的目标资源分布矩阵,根据目标资源分布矩阵确定推荐给每个用户的物品。

本发明实施例的一种物品推荐装置,根据预先确定的全部物品和全部用户的初始资源分布矩阵计算全部物品的正向初始转移矩阵和反向初始转移矩阵,以及确定正向初始转移矩阵对应的正向目标流行性惩罚程度和反向初始转移矩阵对应的反向目标流行性惩罚程度,在正向目标流行性惩罚程度下修正初始资源分布矩阵得到全部物品的正向目标转移矩阵,在反向目标流行性惩罚程度下修正初始资源分布矩阵得到全部物品的反向目标转移矩阵,根据正向目标转移矩阵、反向目标转移矩阵得到全部物品的双向目标转移矩阵,再根据双向目标转移矩阵和初始资源分布矩阵得到全部物品和全部用户的目标资源分布矩阵,最终根据目标资源分布矩阵确定推荐给每个用户的物品。本发明实施例提供的一种物品推荐装置,实现了为用户推荐更加精确,更加多样性和更加个性化的物品。

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

可选地,在本发明物品推荐装置的一种可能的实施例的中,流行性惩罚程度确定模块502,包括:

矩阵划分子模块,用于将初始资源分布矩阵至少划分为第一初始资源分布矩阵和第二初始资源分布矩阵;

流行性惩罚程度选择子模块,用于当预先确定的流行性惩罚程度集合不为空时,在流行性惩罚程度的数据集合中选择一组流行性惩罚程度作为当前流行性惩罚程度,其中,当前流行性惩罚程度包括:正向当前流行性惩罚程度和反向当前流行性惩罚程度;

矩阵确定子模块,用于根据第一初始资源分布矩阵确定当前流行性惩罚程度对应的当前资源分布矩阵;

流行性惩罚程度确定子模块,用于当所述流行性惩罚程度集合为空时,根据所述第二初始资源分布矩阵在全部当前资源分布矩阵中确定目标资源分布矩阵,确定所述目标资源分布矩阵对应的正向当前流行性惩罚程度和反向当前流行性惩罚程度为所述正向目标流行性惩罚程度和所述反向目标流行性惩罚程度。

可选地,在本发明的物品推荐装置的一种可能的实施例中,矩阵确定子模块,具体用于根据第一初始资源分布计算预先确定的全部物品中第一物品的第一正向初始转移矩阵和第一反向初始转移矩阵;根据正向当前流行性惩罚程度、第一正向初始转移矩阵和第一初始资源分布矩阵计算第一物品的第一正向转移矩阵;根据反向当前流行性惩罚程度、第一反向初始转移矩阵和第一初始资源分布矩阵计算第一物品的第一反向转移矩阵;根据第一正向转移矩阵和第一反向转移矩阵计算第一物品的第一双向转移矩阵;根据第一双向转移矩阵和第一初始资源分布矩阵,确定第一物品的当前资源分布矩阵。

可选地,在本发明的物品推荐装置的一种可能的实施例中,双向目标转移矩阵为所述正向目标转移矩阵与所述反向目标转移矩阵之和。

可选地,在本发明的物品推荐装置的一种可能的实施例中,物品推荐模块504,具体用于根据目标资源分布矩阵获取每个用户对应的各个物品的权重值;根据各个物品的权重值确定推荐给每个用户的物品。

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

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

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

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