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

文档序号:16090221发布日期:2018-11-27 22:55阅读:112来源:国知局

本发明涉及计算机科学领域,尤其涉及一种新型商品推荐方法及装置。



背景技术:

随着互联网的普及和电子商务的日渐成熟,人们越来越多地利用电子商务平台进行商品信息的获取和商品的购买。人们希望在购买商品时,电子商务平台可以向用户推荐各种商品信息,例如向用户推荐用户可能感兴趣的商品等。通过商品推荐,可以缩短用户寻找所需要产品的路径,提升用户体验。

推荐算法是当下较为常用和热门的算法之一。目前主要的推荐算法主要包括基于内容的推荐、协同过滤推荐、基于关联规则推荐。在基于内容的推荐算法中,首先通过用户对对象的评价特征来学习用户的兴趣,然后计算用户兴趣与项目特征属性之间的匹配程度。最终向用户推荐匹配程度高的项目;基于协同过滤的推荐算法,首先采用最近邻算法计算与目标用户喜好最接近的邻居用户,然后根据最近邻用户对商品评价的加权值来预测目标用户对特定商品的喜好程度,最终根据用户的喜好程度进行商品推荐;基于关联规则的推荐以关联规则为基础,把已购商品作为规则头,推荐对象作为规则体,通过计算两种商品的同购概率对目标用户进行推荐。

以上常见的推荐算法都存在一定的局限性:基于内容的推荐算法要求用户的喜好必须能够用内容特征表达,抽取的特征既要保证准确性又要具有一定的实际意义,而且不能显示地得到其它用户的判断情况;基于协同过滤的推荐算法核心是基于历史数据,对新用户和新物品具有“冷启动”的问题,推荐的效果依赖于用户历史偏好的数据的多少和准确性,且在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响等等;基于关联规则的推荐算法计算量较大,同时也存在冷启动和稀疏性问题,而且容易出现热门项目被过度推荐的问题。综上所述三种算法都不能合理准确的为顾客推荐商品,方便顾客购物,促进超市营收。



技术实现要素:

为克服上述现有技术中的缺陷,本发明所要解决的技术问题为:提供一种商品推荐方法及装置,为电商超市商品推荐或者超市货架货物摆放提供参考,提升顾客购买便利程度,促进超市营收。

为达到上述目的,本发明采用如下技术方案:

第一方面,本申请实施例提供了一种商品推荐方法,包括:获取历史购物记录;根据所述历史购物记录,建立商品同购关系网络;其中,所述商品同购关系网络中包括N个商品,N≥2;根据所述历史购物记录,若确定两种商品被同时购买过,则将所述两种商品进行连接;所述N个商品中包括目标商品;在所述商品同购关系网络中,利用随机游走算法,分别计算所述N个商品对应的随机游走序列;根据所述N个商品对应的随机游走序列,确定所述目标商品与其他商品之间的关联度;根据所述目标商品与其他商品之间的关联度,确定需要推荐的商品。

可选的,该方法还包括:根据所述N个商品对应的随机游走序列,利用Word2vec算法,分别计算所述N个商品的实数向量;根据所述N个商品的实数向量,计算所述目标商品与所述N个商品中其他商品之间的余弦相似度。

可选的,所述需要推荐的商品包括:所述N个商品中与所述目标商品的余弦相似度大于预定阈值的商品。所述预定阈值可以更好的限定与目标商品相似的商品,所述预定阈值设为ε。

可选的,所述余弦相似度计算公式为:

其中n表示商品的实数向量的向量维度,表示目标商品的实数向量,表示N个商品中除目标商品外其他商品的实数向量,当且仅当预定阈值ε≤similarityx时,保留对应的商品名称,其余的去除。

可选的,所述历史购物记录,包括:获取预设时间段内,不同顾客购买商品时的购物记录。

本发明所提供的商品推荐方法中,通过获取历史购物记录,构建商品同购关系网络,利用随机游走算法,获得每一种商品随机游走序列,根据商品对应的随机游走序列,计算目标商品与其他商品之间的关联度,根据关联度,确定需要推荐的商品,将相似度高的商品推荐给客户。本商品推荐方法有效地避免了物品的“冷启动”的问题,使新用户在购买商品时得到合理的推荐,而且解决了热门项目被过度推荐的问题,提高商品推荐的准确度,为电商超市商品推荐或者超市货架摆放提供参考,提升顾客购买便利程度,促进超市营收。

第二方面,本申请实施例提供了一种商品推荐装置,包括:获取模块,用于获取历史购物记录;构建模块,用于在所述获取模块获取所述历史购物记录后,建立商品同购关系网络;其中,所述商品同购关系网络中包括N个商品,N≥2;根据所述历史购物记录,若确定两种商品被同时购买过,则将所述两种商品进行连接;所述N个商品中包括目标商品;序列生成模块,用于在所述构建模块构建所述商品同购关系网络后,在所述商品同购关系网络中,利用随机游走算法,分别得到所述N个商品对应的随机游走序列;确定模块,用于在所述序列生成模块得到所述随机游走序列后,确定所述目标商品与其他商品之间的关联度;推荐模块,用于在所述确定模块计算出所述目标商品与其他商品之间的关联度后,确定需要推荐的商品。

可选的,所述确定模块具体包括:向量计算单元和相似度计算单元;所述向量计算单元,用于根据所述N个商品对应的随机游走序列,利用Word2vec算法,分别计算所述N个商品的实数向量;所述相似度计算单元,用于在所述向量计算单元分别得到所述N个商品的实数向量后,计算所述目标商品与所述N个商品中其他商品之间的余弦相似度。

可选的,所述需要推荐的商品包括:所述N个商品中与所述目标商品的余弦相似度大于预定阈值的商品。

可选的,所述相似度计算单元的余弦相似度计算公式为:

其中n表示商品的实数向量的向量维度,表示目标商品的实数向量,表示N个商品中除目标商品外其他商品的实数向量,当且仅当预定阈值ε≤similarityx时,保留对应的商品名称,其余的去除。

可选的,所述获取模块获取的所述历史购物记录,包括:获取预设时间段内,不同顾客购买商品时的购物记录。

由于上述第二方面所提供的商品推荐装置带来的技术效果是基于上述第一方面所提供的商品推荐方法实现的,故该商品推荐装置带来的技术效果与该商品推荐方法带来的技术效果相同,这里不再赘述。

附图说明

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

图1为本发明实施例所提供的商品推荐方法的步骤示意图;

图2为本发明实施例所提供的商品推荐方法的流程示意图;

图3为本发明实施例所提供的一种顾客所购买商品的同购关系示意图;

图4为本发明实施例所提供的另一种顾客所购买商品的同购关系结构示意图;

图5为商品同购关系网络构建示意图;

图6为本发明商品推荐装置结构模块示意图;

图7为本发明商品推荐装置确定模块的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有、做出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。

针对本申请的实施例用到的技术术语描述如下:

本发明所述的Word2vec算法是Google公司开放的一款用于训练词向量的软件工具,它根据给定的语料库,通过优化后的训练模型快速有效地将句子中的每一个词映射成k维空间中的具有真实值得向量,其核心架构包括CBOW和Skip-gram。CBOW是从原始语句推测目标字词;而Skip-gram正好相反,是从目标字词推测出原始语句。

本发明所述的关联度是表征两个事物之间的关联程度,在数学上是指两函数相似的程度。相似程度是度量物品之间相似度的量化标准,相似度最高的商品为顾客最可能一起购买的商品,计算相似度的方法有很多,常用的有基于余弦(Cosine-based)的相似度计算和基于关联(Correlation-based)的相似度计算。

实施例一:

本发明实施例提供一种新型商品推荐方法,应用于对商品进行推荐的场景下,该方法包括以下步骤:

如图1所示,为本申请实施例提供的一种商品推荐方法的步骤示意图。该示意图中包括获取顾客购买的商品名称、构建商品同购关系网络、获得每一种商品的随机游走序列、Word2vec算法、得到每一种商品的实数向量、余弦相似度计算、将相似度较高的商品进行捆绑销售或向用户推荐。其中,获取顾客购买的商品名称是指,在一定的时期内,通过超市历史数据服务器获得顾客A购买的所有商品名称、顾客B购买的所有商品名称、顾客C购买的所有商品名称直至顾客M购买的所有商品名称;构建商品同购关系网络是指,根据所述M位顾客的购物记录,以所述M位顾客购买的所有商品名称为点,以出现在同一张购物清单中的商品之间的连线为边,组成商品同购关系网络图;获得每一种商品的随机游走序列是指,根据构建的商品同购关系网络图利用随机游走算法得到商品1所有的随机游走序列、商品2所有的随机游走序列、商品3所有的随机游走序列直至商品N所有的随机游走序列;Word2vec算法是一款开放的用于训练词向量的软件工具;每一种商品的实数向量是指,根据每一种商品所有的随机游走序列利用Word2vec算法计算出商品1的实数向量、商品2的实数向量、商品3的实数向量直至商品N的实数向量;余弦相似度计算是指,根据得到的每一种商品的实数向量,利用余弦公式计算目标商品与所述N个商品中其他商品之间的余弦值;相似度较高的商品进行捆绑销售或向用户推荐是指,计算出目标商品与所述N个商品中其他商品之间的余弦值较接近数值1的商品,将该商品与目标商品进行捆绑销售或向购买目标商品的用户进行推荐。

具体以图2例进行详细说明;

S101、获取历史购物记录。

示例性的,可以通过获取预设时间段内,不同顾客购买商品时的购物记录的方式,获取历史购物记录。例如,提取某个超市半年内所有顾客的购物记录。

S102、构建商品同购关系网络。

根据所述历史购物记录,建立商品同购关系网络;其中,所述商品同购关系网络中包括N个商品,N≥2;根据所述历史购物记录,若确定两种商品被同时购买过,则将所述两种商品进行连接;所述N个商品中包括目标商品。

示例性的,若第一位顾客在同一张购物清单中购买了商品1、商品2、商品3和商品7,以所述四种商品名称为顶点,两两商品进行连接,即商品1与商品2连接、商品1与商品3连接、商品1与商品7连接、商品2与商品3连接、商品2与商品7连接、商品3与商品7连接获得无向商品同购关系网络示意图,如图3所示;第二位顾客在同一张购物清单中购买了商品3、商品6和商品7,以所述三种商品名称为顶点,两两商品进行连接,即商品3与商品6连接、商品3与商品7连接、商品6与商品7连接获得无向商品同购关系网络示意图,如图4所示。同理,第三位顾客在同一张购物清单中购买了商品4和商品6,以所述两种商品名称为顶点,两两商品进行连接,即商品4与商品6连接获得无向商品同购关系网络示意图;第四位顾客在同一张购物清单中购买了商品2和商品4,以所述两种商品名称为顶点,两两商品进行连接,即商品2与商品4连接获得无向商品同购关系网络示意图;第五位顾客在同一张购物清单中购买了商品4和商品5,以所述两种商品名称为顶点,两两商品进行连接,即商品4与商品5连接获得无向商品同购关系网络示意图。(上述第三至第五位顾客的无向商品同购关系网络与第一位和第二位顾客的无向商品同购关系网络的生成方式相同,因此未在图中示出)将这五位顾客所购买的商品进行边集组合,最终获得同购商品关系网络示意图,即图5。

S103、获取随机游走序列。

在所述商品同购关系网络中,利用随机游走算法,分别计算所述N个商品对应的随机游走序列。

示例性的,以图5为例,所述的同购商品关系网络图中的所有节点[商品1,商品2,商品3,商品4,商品5,商品6,商品7]中以等概率的可能性选择一个节点作为随机游走的起始点,其中每个节点被选中的概率为1/7,经过随机选择获得随机游走的起始节点为商品1,遍历节点序列VS=(1);以商品1为起始节点,在其邻居节点[商品2,商品3,商品7]中等概率选择目的节点,每个邻居节点被选中的概率为1/3,经过随机选择后,目的节点为2,遍历节点序列VS=(1,2);对于随机游走的每一步,目的节点都是从当前节点的邻居节点中等概率随机选择的一个点,同时将目的节点加入遍历节点序列中。

S104、确定目标商品与其他商品之间的关联度。

根据所述N个商品对应的随机游走序列,确定所述目标商品与其他商品之间的关联度。

具体的,步骤S104,可以包括:

S1041、根据得到的随机游走序列,使用自然语言处理方法中的Word2vec算法分别计算所述N个商品的实数向量;

S1042、根据所述N个商品的实数向量,计算所述目标商品与所述N个商品中其他商品之间的余弦相似度。

相似度是度量物品之间相似程度的量化标准,相似度最高的商品为顾客最可能一起购买的商品,计算相似度的方法有很多,常用的有基于余弦(Cosine-based)的相似度计算和基于关联(Correlation-based)的相似度计算。

具体的,本发明采用余弦相似度计算方法来衡量商品之间的相似性,余弦相似度又称为余弦相似性,通过计算夹角的余弦值来衡量两个向量的相似度,余弦值取值范围是[-1,1],夹角越小,余弦值越接近1,两个向量的方向趋向一致,相似度也越高,计算目标商品与所述N个商品中其他商品之间的余弦相似度:

其中n表示商品的实数向量的向量维度,表示目标商品的实数向量,表示N个商品中除目标商品外其他商品的实数向量,当且仅当预定阈值ε≤similarityx时,保留对应的商品名称,其余的去除。经过大量的实验数据得知当预定阈值ε=0.75时,保留下来的商品与目标商品的关联性更强。

所述Word2vec算法是Google公司开放的一款用于训练词向量的软件工具,它根据给定的语料库,通过优化后的训练模型快速有效地将句子中的每一个词映射成k维空间中的具有真实值得向量,其核心架构包括CBOW和Skip-gram。CBOW是从原始语句推测目标字词;而Skip-gram正好相反,是从目标字词推测出原始语句。CBOW对小型数据比较合适,而Skip-gram在大型语料中表现更好。本发明采用Skip-gram模型,此模型是以当前词预测上下文出现的概率,本发明将S103得到随机游走序列作为语料库。

S105、根据商品之间的关联度确定需要推荐的商品。

具体的,在利用目标商品与N个商品中的其他商品之间的余弦相似度,来确定目标商品与其他商品之间的关联度时,需要推荐的商品包括:

所述N个商品中与所述目标商品的余弦相似度大于预定阈值的商品。

具体的,当且仅当ε≤similarityx,即计算的目标商品与其他商品之间的余弦值大于等于0.75时,该商品与目标商品相关联性强,可以将该商品作为推荐商品向用户进行推荐。

当与目标商品的余弦相似度大于预定阈值的商品包括多个时,也可以同时将多个商品向用户推荐,也可以在多个商品中按照预定规则选择其中的一个或者多个商品进行推荐。

将相似度高的商品进行捆绑销售:网络超市根据用户已经加入购物车或已经购买的商品,向该用户推荐与该商品相似度高的商品,并把该商品的网络链接推荐给用户;实体超市根据各个商品相似度排列货架上的商品,把相似度高的商品摆放在相邻货架。这样不仅提升了用户购买便利程度,也促进了超市的营收。

实施例二:

本申请实施例提供了一种商品推荐设备,用于执行上述商品推荐的方法。图6示出了所涉及商品推荐设备的一种可能的模块结构示意图。具体的商品推荐设备10包括:获取模块101、构建模块102、序列生成模块103、确定模块104、推荐模块105。其中

获取模块101,用于获取历史购物记录。

具体可以通过获取预设时间段内,不同顾客购买商品时的购物记录的方式,获取历史购物记录。例如,提取某个超市半年内所有顾客的购物记录。

构建模块102,用于在所述获取模块获取所述历史购物记录后,建立商品同购关系网络;其中,所述商品同购关系网络中包括N个商品,N≥2;根据所述历史购物记录,若确定两种商品被同时购买过,则将所述两种商品进行连接;所述N个商品中包括目标商品。

序列生成模块103,用于在所述构建模块构建所述商品同购关系网络后,在所述商品同购关系网络中,利用随机游走算法,分别得到所述N个商品对应的随机游走序列。

确定模块104,用于在所述序列生成模块得到所述随机游走序列后,确定所述目标商品与其他商品之间的关联度。

如图7所示,计算模块104具体可以包括:向量计算单元1041、相似度计算单元1042。其中:

向量计算单元1041,用于根据所述N个商品对应的随机游走序列,利用Word2vec算法,分别计算所述N个商品的实数向量。

相似度计算单元1042,用于在所述向量计算单元分别得到所述N个商品的实数向量后,计算所述目标商品与所述N个商品中其他商品之间的余弦相似度。

所述余弦相似度公式为:

其中n表示商品的实数向量的向量维度,表示目标商品的实数向量,表示N个商品中除目标商品外其他商品的实数向量。

推荐模块105,用于在所述确定模块确定所述目标商品与所述N个商品中其他商品之间关联度后,确定需要推荐的商品。

所述N个商品中与所述目标商品的余弦相似度大于预定阈值的商品。

具体的,当且仅当ε≤similarityx,即计算的目标商品与其他商品之间的余弦值大于等于0.75时,该商品与目标商品相关联性强,可以将该商品作为推荐商品向用户进行推荐。

当与目标商品的余弦相似度大于预定阈值的商品包括多个时,也可以同时将多个商品向用户推荐,也可以在多个商品中按照预定规则选择其中的一个或者多个商品进行推荐。

上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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