一种商品推荐方法与流程

文档序号:17330603发布日期:2019-04-05 22:03阅读:418来源:国知局
一种商品推荐方法与流程

本发明涉及计算机技术及软件领域,尤其涉及一种商品推荐方法。



背景技术:

商品推荐是很多电商企业需要的一种功能。但是现有商品推荐算法种类繁多,所需数据量巨大,对于一些中小型电商企业而言,由于产品和用户数量不多,导致无法提供巨量数据供复杂的商品推荐算法进行训练使用,进而使得中小型电商企业无法对用户进行准确的商品推荐。



技术实现要素:

本发明的目的在于针对背景技术中的缺陷,提出一种商品推荐方法,无需巨量复杂的数据即可使用的简单高效商品推荐方法。

为达此目的,本发明采用以下技术方案:

一种商品推荐方法,具体步骤如下:

步骤一:从分布式系统hdfs上读取用户对商品评分的数据,得到用户评分矩阵表;

步骤二:根据步骤一得到的用户评分矩阵表计算商品的相似度,得到商品相似度矩阵表;

步骤三:根据步骤一中的用户评分矩阵表和步骤二中的商品相似度矩阵表得到用户喜好度矩阵表;

步骤四:根据步骤三中的用户喜好矩阵表建立索引,并将建立好索引的用户喜好矩阵表存入数据库中,根据用户喜好矩阵表向用户推荐商品。

优选的,在所述步骤一中,得到用户评分矩阵表包括从分布式系统hdfs上读取用户对商品评分的数据,并将购买量少的商品进行剔除,按照购买量设置评分等级,按照评分等级制成用户评分矩阵表。

优选的,在所述步骤二中,计算商品的相似度包括以下步骤:

步骤a:任意选取两个用户评分矩阵表中的商品,选取出同时购买这两个商品的用户;

步骤b:计算步骤a中同时购买这两个商品用户的数量,该数量为这两个商品的商品两两相似度;

步骤c:重复步骤a和步骤b,得到用户评分矩阵表中所有商品两两相似度,计算出两两商品相似度分数,制成商品相似度矩阵表。

优选的,得到用户喜好矩阵表包括以下步骤:

步骤a:将用户评分矩阵表和商品相似度矩阵表进行缓存;

步骤b:将用户评分矩阵表乘以商品相似度矩阵表得到用户喜好度矩阵表,所述用户喜好度矩阵表包括每个用户对于每个商品的喜好度评分。

优选的,在步骤c中,包括使用公式一计算两两商品相似度分数;

公式一:

a*(商品两两相似度)+b*(用户评分矩阵表中两个商品的平均分)+c*(商品发货平均速度);

其中,a、b和c表示权重参数,a=(0.6-0.7),b=(0.2-0.3),c=(0.1-0.2)。

优选的,在所述步骤四中,根据用户喜好矩阵表向用户推荐商品包括根据用户评分矩阵表,选取出用户没有购买过的商品,并在这些用户没有购买过的商品中,选取出用户喜好矩阵表中喜好度评分最高的商品推荐给客户。

优选的,读取用户对商品评分的数据包括需读取用户购买并作出评价的商品和没有购买过的商品,没有购买过的商品的评分等级为最低。

优选的,设置喜好度评分阈值,在选取出用户喜好矩阵表中喜好度评分最高的商品若低于喜好度评分阈值,则不进行推荐。

有益效果:

1、通过根据用户购买并作出评分以及未购买的商品为数据,得到有效的用户评分矩阵表,再通过计算两两商品相似度得到商品相似度矩阵表,最终得到用户喜好度矩阵表,根据用户喜好度矩阵表向用户推荐商品,整个过程无需复杂的数据训练及运算,且无需巨量复杂的用户数据,以简单高效的方式精准的向用户推荐商品,适合数据量不大的中小型企业,且运算成本低。

附图说明

图1是本发明的流程图;

图2是本发明的用户评分矩阵表图;

图3是本发明的商品相似度矩阵表图;

图4是本发明的用户喜好度矩阵表图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

本实施例的一种商品推荐方法,如图1所示,具体步骤如下:

如图1的s1所示,步骤一:从分布式系统hdfs上读取用户对商品评分的数据,得到用户评分矩阵表;

优选的,在所述步骤一中,得到用户评分矩阵表包括从分布式系统hdfs上读取用户对商品评分的数据,并将购买量少的商品进行剔除,按照购买量设置评分等级,按照评分等级制成用户评分矩阵表。

优选的,读取用户对商品评分的数据包括需读取用户购买并作出评价的商品和没有购买过的商品,没有购买过的商品的评分等级为最低。

在本实施例中,首先从系统上读取用户对商品评分的数据,所读取的数据需为用户购买并作出评价的商品和用户没购买过的商品的数据,而且需要从这些数据中剔除掉成交量较低的商品的数据,否则会影响到最终推荐的结果,最后将数据汇总成用户评分矩阵表。在本实施例中,以用户a、用户b、用户c、用户d和用户e作为参与用户的人数,以物品1-6作为样本物品,得到的用户评分矩阵表如图2所示,表中的数字表示评分等级,本实施例的评分等级为1-5,没有购买过的商品的评分为0。

如图1的s2所示,步骤二:根据步骤一得到的用户评分矩阵表计算商品的相似度,得到商品相似度矩阵表;

优选的,在所述步骤二中,计算商品的相似度包括以下步骤:

步骤a:任意选取两个用户评分矩阵表中的商品,选取出同时购买这两个商品的用户;

步骤b:计算步骤a中同时购买这两个商品用户的数量,该数量为这两个商品的商品两两相似度;

步骤c:重复步骤a和步骤b,得到用户评分矩阵表中所有商品两两相似度,计算出两两商品相似度分数,制成商品相似度矩阵表。

优选的,在步骤c中,包括使用公式一计算两两商品相似度分数;

公式一:

a*(商品两两相似度)+b*(用户评分矩阵表中两个商品的平均分)+c*(商品发货平均速度);

其中,a、b和c表示权重参数,a=(0.6-0.7),b=(0.2-0.3),c=(0.1-0.2)。

计算商品的相似度采用两两组合加一的方式进行计算,如果两个物品同时出现在某个用户的评分矩阵表中,则计数加1,如图2中的用户评分矩阵表,任意选取出两个商品,如物品1和物品2,同时购买这两个物品的用户分别是用户a,用户b和用户e中,因此物品1和物品2的商品两两相似度为3;同理的再比如任意选取物品1和物品4,同时购买着这两个物品的用户分别有用户b,用户c,用户d和用户e,因此物品1和物品4的商品两两相似度为4,因此物品1与其他物品的商品两两相似度如下:

物品1与物品2相似度:3;

物品1与物品3相似度:4;

物品1与物品4相似度:4;

物品1与物品5相似度:2;

物品1与物品6相似度:3;

物品2与物品1相似度:3;

物品2与物品3相似度:3;

同理的,依次得出其他物品的商品两两相似度,在得到商品两两相似度的同时,根据公式一的计算方式计算出两两商品相似度分数,在公式一中,其中a,b,c是权重参数,用于平衡各个指标的影响程度,需根据不同行业经验设置。一般来说,对于销售日常生活品的中小电商企业,可以设置a(0.6~0.7),b=(0.2~0.3),c=(0.1~0.2)。对于特殊行业可加上其它部份分数权值。在本实施例中,为了方便计算,设定a=1,b=0,c=0;依次计算出两两商品相似度后,从而得出商品相似度矩阵表,如图3所示,表中数字表示两个物品之间的商品两两相似度。

如图1的s3所示,步骤三:根据步骤一中的用户评分矩阵表和步骤二中的商品相似度矩阵表得到用户喜好度矩阵表;

优选的,得到用户喜好矩阵表包括以下步骤:

步骤a:将用户评分矩阵表和商品相似度矩阵表进行缓存;

步骤b:将用户评分矩阵表乘以商品相似度矩阵表得到用户喜好度矩阵表,所述用户喜好度矩阵表包括每个用户对于每个商品的喜好度评分。

在得到用户评分矩阵表和商品相似度矩阵表后,如图2和图3所示,首先分别对用户评分矩阵表和商品相似度矩阵表进行缓存,再将这两个表进行相乘,得到用户喜好矩阵表,如图4所示。

如图1的s4所示,步骤四:根据步骤三中的用户喜好矩阵表建立索引,并将建立好索引的用户喜好矩阵表存入数据库中,根据用户喜好矩阵表向用户推荐商品。

优选的,在所述步骤四中,根据用户喜好矩阵表向用户推荐商品包括根据用户评分矩阵表,选取出用户没有购买过的商品,并在这些用户没有购买过的商品中,选取出用户喜好矩阵表中喜好度评分最高的商品推荐给客户。

例如,在用户评分矩阵表中,可以看出用户a没有购买物品4,物品5和物品6,在用户喜好度矩阵表中,可以看出物品4的喜好度评分最高,为26分,即可以向用户a推荐物品4.

优选的,设置喜好度评分阈值,在选取出用户喜好矩阵表中喜好度评分最高的商品若低于喜好度评分阈值,则不进行推荐。

例如设置喜好度评分阈值为30,在用户评分矩阵表中,可以看出用户b没有购买物品5和物品6,在用户喜好矩阵表中,可以看出物品5的喜好度评分为16,物品6的喜好度评分为25,应该向用户b推荐物品6,但是因为没有超过喜好度评分阈值30,因此不建议向用户b推荐物品6。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

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