一种基于品类相似度的商品推荐方法和系统与流程

文档序号:18453493发布日期:2019-08-17 01:25阅读:333来源:国知局
一种基于品类相似度的商品推荐方法和系统与流程
本发明涉及数据挖掘
技术领域
,尤其涉及一种基于品类相似度的商品推荐方法和系统。
背景技术
:现有技术中,基于用户或者商品的协同过滤技术,其原理是以用户或者商品为单位,计算商品或用户的相似度矩阵,在实际计算过程中,用户及商品的数量巨大,计算量呈几何增长,计算一次耗费资源较高,实际应用在线上系统需不断实时计算结果并推荐,其运算耗费资源一般只有大公司才可以承担,中小公司无法承担。现有技术中,协同过滤推荐是计算商品相似度,以单一商品为单位,仅考虑商品而未深入需求,用户实际上是需要某种品类需求;如买东北大米其真实需求是食品,买某品牌的鞋其真实需求是运动类鞋,而非需求就是某种品牌的商品,所以基于该品牌商品而不经过需求的真实品类;仅仅根据商品喜好就直接推荐另外商品,造成的结果片面化,某种程度其是一种“精确的错误”,偶然性大;现有技术中,协同过滤需要全量商品及用户数据,需要大量成本,一般中小企业数据不全,同时存储有限,商品种类也少,难以应用大数据推荐算法。现有技术中,协同过滤算法有多种计算相似度方式,而各种算法各有优缺点,某些场景是不适用的,很多时候需要多种协同算法需要综合起来,扬长避短。技术实现要素:本发明实施例的目的在于提出一种基于品类相似度的商品推荐方法,旨在解决现有商品推荐协同过滤方法运算量大,准确率低,应用面窄的问题。本发明实施例是这样实现的,一种基于品类相似度的商品推荐方法,根据商品品类间的相似度进行商品推荐。进一步地,根据至少两个相似度计算模型计算的品类间的相似度的权重进行商品推荐。进一步地,根据至少两个相似度计算模型计算的品类间的相似度的权重进行商品推荐包括:根据用户购买的商品品类信息创建用户-品类矩阵;选择至少两个相似度计算模型,计算各相似度计算模型对应的商品品类间的相似度;根据层次分析法计算各相似度计算模型在商品推荐决策目标中的权重;将所述权重与各相似度计算模型计算的商品品类间的相似度矩阵进行加权求和,得出联合相似度矩阵;根据联合相似度矩阵中的相似度值对用户进行商品推荐。本发明实施例的另一目的在于提出一种基于品类相似度的商品推荐系统,所述系统根据商品品类间的相似度进行商品推荐。进一步地,所述系统根据商品品类间的相似度在商品推荐决策目标中的权重进行商品推荐。进一步地,所述系统包括:用户-品类矩阵创建模块,用于根据用户购买的商品品类信息创建用户-品类矩阵;品类相似度计算模块,用于选择至少两个相似度计算模型,计算各相似度计算模型对应的商品品类间的相似度;相似度权重计算装置,用于根据层次分析法计算各相似度计算模型在商品推荐决策目标中的权重;联合相似度矩阵计算模块,用于将所述权重与各相似度计算模型计算的商品品类间的相似度矩阵进行加权求和,得出联合相似度矩阵;商品推荐模块,用于根据联合相似度矩阵中的相似度值对用户进行商品推荐。本发明的有益效果本发明提出一种基于品类相似度的商品推荐方法和系统,本发明方法根据用户的商品品类购买信息,选择至少两个相似度计算模型计算商品品类之间的相似度,再利用层次分析法对各个相似度计算模型赋权重,根据权重和各相似度计算模型计算品类之间的联合相似度,最后,根据联合相似度进行商品推荐。本发明方法可节约大量运算量,推荐更准确,简单易用,可适应不同场景。附图说明图1是本发明优选实施例一种基于品类相似度的商品推荐方法流程图;图2是图1中s3详细方法流程图;图3是本发明优选实施例一种基于品类相似度的商品推荐系统结构图;图4是图3中相似度权重计算装置结构图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。本发明提出一种基于品类相似度的商品推荐方法和系统,本发明方法根据用户的商品品类购买信息,选择至少两个相似度计算模型计算商品品类之间的相似度,再利用层次分析法对各个相似度计算模型赋权重,根据权重和各相似度计算模型计算品类之间的联合相似度,最后,根据联合相似度进行商品推荐。本发明方法可节约大量运算量,推荐更准确,简单易用,可适应不同场景。实施例一图1是本发明优选实施例一种基于品类相似度的商品推荐方法流程图;s1,根据用户购买的商品品类信息创建用户-品类矩阵;所述用户购买的商品品类信息提取自用户商品交易原始数据;所述商品交易原始数据采自商超或者电商平台等;所述商品品类信息包括用户id,商品id,品类id;所述品类id为对商品类别进行的编码标志;例如若为商超、电商等购物类数据则可以为食品,饮料,服饰,家居等商品品类;若为视频或资讯信息流观看类数据则可以为电影类型,信息类型等,如惊悚,军事,财经等内容类型。表1是本发明实施例用户商品信息数据表;表1具体在实际数据挖掘中,需要将用户商品信息数据表转置成矩阵,形成用户-品类矩阵;转置方法可用matrix函数,在r语言、python中均可实现,为现有技术。假设有s个用户,用集合u={u1,u2,….us}表示;有m个商品,用集合x={x1,x2,…xm}表示;有t个商品品类,用集合m={m1,m2,…mt}表示;用户对品类的选择关系可以用s×t的矩阵r={rij}表示,rij的值表示用户i是否已购买品类j,rij=0表示用户i未购买品类j;rij=1表示用户i已购买品类j,以此类推;或者rij的值表示用户i购买品类j的次数,rij=0表示用户i未购买品类j;在实际应用中,已购买还可表示喜欢、已选择、已收藏、已加购物车等类似喜好选择情况;未购买还可表示不喜欢或未选择等类似的意思,本领域的技术人员可以理解,不用于限制本发明的保护范围;表2为本发明实施例用户-品类矩阵,0代表未购买,1代表未购买;表2s2,选择至少两个相似度计算模型,计算各相似度计算模型对应的商品品类间的相似度;所述相似度计算模型包括欧几里德距离计算模型、杰卡德相似系数计算模型或相关系数计算模型;品类间的相似度计算方法如下:欧几里德距离计算模型:其中,d(i,j)表示品类i与品类j间的欧几里德距离;xi表示品类i在欧式空间上的点,yi表示品类j在欧式空间上的点,t表示品类总数;杰卡德相似系数计算模型:其中,j(li,lj)表示品类i与品类j间的杰卡德相似系数;li表示已购买品类i的用户数,lj表示已购买品类j的用户数;liilj表示同时已购买(品类i和品类j的用户数;liylj表示已购买品类i或已购买品类j的用户数;相关系数计算模型:其中,sim(i,j)表示品类i与品类j间的相关系数;rki表示用户k对品类i的选择关系值,rkj表示用户k对品类j的选择关系值;k为用户的序号,s表示总用户数;表示所有用户对品类i的选择关系值均值;表示所有用户对品类j的选择关系值均值;其中,所述相关系数的结余范围为[-1,1],相关系数的绝对值越大,品类i与品类j的相关度越高。本发明实施例同时选择3种相似度计算模型来计算品类间的相似度,可以理解的是,也可以选择数量不小于2的其他相似度计算模型来计算商品间的相似度;实验证明相似度计算模型的数量在2-7之间效果较佳;表3是本发明实施例经过归一化处理后的欧几里德距离计算模型品类-品类相似度矩阵,其它两种品类-品类相似度矩阵未示出;表3根据欧几里德距离计算模型、杰卡德相似系数计算模型、相关系数计算模型计算的商品品类间的相似度矩阵,分别记为c1、c2、c3;s3,根据层次分析法计算各相似度计算模型在商品推荐决策目标中的权重;图2是图1中s3详细方法流程图;根据层次分析法计算各相似度计算模型在商品推荐决策目标中的权重包括:s301,创建各相似度计算模型的判断矩阵a;具体为:将商品推荐作为决策目标,将各相似度计算模型做为层次分析法中的判断矩阵元素,对元素的重要性程度进行两两比较评价;然后根据层次分析法中的比例标度表进行对照,建立判断矩阵;本发明实施例中,选择欧几里德距离计算模型、杰卡德相似系数计算模型、相关系数计算模型3种做为判断矩阵元素;具体在应用场景中,根据具体业务进行判断;假设判断模型的具体评价填充如表4所示;表5为比例标度表;因素a比因素b量化值同等重要1稍微重要3较强重要5强烈重要7极端重要9表5表6为根据比例标度表进行对照,建立的判断矩阵;表6由表6可知,判断矩阵s302,计算所述判断矩阵的归一化特征向量(近似值);判断矩阵的归一化及特征向量的计算方法可分别采用行业内常规的计算方法;本发明实施例中归一化及特征向量的采用的方法如下:步骤a1,将判断矩阵a中的三列矩阵相加,得到和向量:步骤a2,将所述和向量进行归一化处理,得到矩阵a的特征向量;具体为:先将所述和向量中的三个分量相加求和;然后将每个分量除以求和值,得到矩阵a的特征向量;本发明实施例中,和向量中的三个分量相加求和为:11.000+4.333+1.476=16.809。将每个分量除以求和值(归一化处理),得到矩阵a的特征向量;s303,对所述判断矩阵a的特征向量进行一致性校验;具体包括步骤b1,计算所述判断矩阵a的最大特征根λmax;首先,计算判断矩阵a和特征向量w的乘积;接着,计算判断矩阵a的最大特征根λmax;步骤b2,计算判断矩阵的随机一致性比率cr;其中,ci为判断矩阵的一般一致性指标,n表示判断矩阵的阶数;ri表示判断矩阵的平均随机一致性指标,ri值根据平均随机一致性指标表查找;对于1-9阶判断矩阵,平均随机一致性指标表如表7所示:n1234567891011ri000.580.901.121.241.321.411.451.491.51表7步骤b3,根据随机一致性比率cr判断特征向量是否验证通过;当cr<0.10时,认为判断矩阵具有满意的一致性,即说明权重分配合理,特征向量验证通过;否则需要重新调整判断矩阵,直到取得满意的一致性为止。本发明实施例中,判断矩阵为3×3的矩阵,因此n=3;参照表7得出:ri=0.58;本发明实施例中,s304,将通过一致性校验的特征向量分别作为各相似度计算模型在决策目标中的权重。本发明实施例中,cr<0.1,因此一致性校验通过,则可得出结论:欧几里德距离计算模型、杰卡德相似系数计算模型、相关系数计算模型计算的相似度在场景a下的权重w1、w2、w3分别为0.654,0.258,0.088;s4,将所述权重与各相似度计算模型计算的商品品类间的相似度矩阵进行加权求和,得出联合相似度矩阵c;其中,2≤p≤7,p为正整数;wf表示相似度计算模型在层次分析法决策目标中的权重,cf表示相似度计算模型计算的商品品类间的相似度矩阵;本发明实施例中,欧几里德距离计算模型、杰卡德相似系数计算模型、相关系数计算模型的权重w1,w2,w3分别为0.654,0.258,0.088,联合相似度矩阵c=0.654c1+0.258c2+0.088c3联合相似度矩阵如表8所示:表8s5,根据联合相似度矩阵中的相似度值对用户进行商品推荐。联合相似度矩阵中的值越大,表示两商品品类间的联合相似度越高;联合相似度矩阵综合各种相似度计算模型的长处,结合相应的业务场景赋予不同的权重,准确率相比仅仅一种相似度计算模型计算的相似度高;在实际应用中,可以根据联合相似度矩阵值,选择将联合相似度值高的品类摆放在一起,向用户推荐,从而整体上提升购买率或点击率。譬如商超里可将品类联合相似度高的商品摆放在一起,以提高整体的购买率;咨询类网站可将品类联合相似度高的服务或新闻放在一起,以提高整体点击率等。实施例二图3是本发明优选实施例一种基于品类相似度的商品推荐系统结构图;所述系统包括:用户-品类矩阵创建模块,用于根据用户购买的商品品类信息创建用户-品类矩阵;所述用户购买的商品品类信息提取自用户商品交易原始数据;所述商品交易原始数据采自商超或者电商平台等;所述商品品类信息包括用户id,商品id,品类id;所述品类id为对商品类别进行的编码标志;例如若为商超、电商等购物类数据则可以为食品,饮料,服饰,家居等商品品类;若为视频或资讯信息流观看类数据则可以为电影类型,信息类型等,如惊悚,军事,财经等内容类型。品类相似度计算模块,用于选择至少两个相似度计算模型,计算各相似度计算模型对应的商品品类间的相似度;所述相似度计算模型包括欧几里德距离计算模型、杰卡德相似系数计算模型或相关系数计算模型;品类间的相似度计算方法如下:欧几里德距离计算模型:其中,d(i,j)表示品类i与品类j间的欧几里德距离;xi表示品类i在欧式空间上的点,yi表示品类j在欧式空间上的点,t表示品类总数;杰卡德相似系数计算模型:其中,j(li,lj)表示品类i与品类j间的杰卡德相似系数;li表示已购买品类i的用户数,lj表示已购买品类j的用户数;liilj表示同时已购买(品类i和品类j的用户数;liylj表示已购买品类i或已购买品类j的用户数;相关系数计算模型:其中,sim(i,j)表示品类i与品类j间的相关系数;rki表示用户k对品类i的选择关系值,rkj表示用户k对品类j的选择关系值;k为用户的序号,s表示总用户数;表示所有用户对品类i的选择关系值均值;表示所有用户对品类j的选择关系值均值;其中,所述相关系数的结余范围为[-1,1],相关系数的绝对值越大,品类i与品类j的相关度越高。相似度权重计算装置,用于根据层次分析法计算各相似度计算模型在商品推荐决策目标中的权重;联合相似度矩阵计算模块,用于将所述权重与各相似度计算模型计算的商品品类间的相似度矩阵进行加权求和,得出联合相似度矩阵;商品推荐模块,用于根据联合相似度矩阵中的相似度值对用户进行商品推荐。其中,c表示联合相似度矩阵;2≤p≤7,p为正整数;wf表示相似度计算模型在层次分析法决策目标中的权重,cf表示相似度计算模型计算的商品品类间的相似度矩阵;进一步地,图4是图3中相似度权重计算装置结构图。所述相似度权重计算装置包括:判断矩阵创建模块,用于创建各相似度计算模型的判断矩阵;具体为:将商品推荐作为决策目标,将各相似度计算模型做为层次分析法中的判断矩阵元素,对元素的重要性程度进行两两比较评价;然后根据层次分析法中的比例标度表进行对照,建立判断矩阵;归一化特征向量计算模块,用于计算所述判断矩阵的归一化特征向量;判断矩阵的归一化及特征向量的计算方法可分别采用行业内常规的计算方法;特征向量一致性校验模块,用于对所述判断矩阵a的特征向量进行一致性校验;一致性校验的方法采用行业内常规的方法;相似度计算模型权重确定模块,用于将通过一致性校验的特征向量分别作为各相似度计算模型在决策目标中的权重。实施例三本发明实施例提供另一种基于品类相似度的商品推荐方法,所述方法包括:s01,根据用户购买的商品品类信息创建用户-品类矩阵;所述用户购买的商品品类信息提取自用户商品交易原始数据;所述商品交易原始数据采自商超或者电商平台等;所述商品品类信息包括用户id,商品id,品类id;所述品类id为对商品类别进行的编码标志;例如若为商超、电商等购物类数据则可以为食品,饮料,服饰,家居等商品品类;若为视频或资讯信息流观看类数据则可以为电影类型,信息类型等,如惊悚,军事,财经等内容类型。假设有s个用户,用集合u={u1,u2,….us}表示;有m个商品,用集合x={x1,x2,…xm}表示;有t个商品品类,用集合m={m1,m2,…mt}表示;用户对品类的选择关系可以用s×t的矩阵r={rij}表示,rij的值表示用户i是否已购买品类j,rij=0表示用户i未购买品类j;rij=1表示用户i已购买品类j,以此类推;或者rij的值表示用户i购买品类j的次数,rij=0表示用户i未购买品类j;在实际应用中,已购买还可表示喜欢、已选择、已收藏、已加购物车等类似喜好选择情况;未购买还可表示不喜欢或未选择等类似的意思,本领域的技术人员可以理解,不用于限制本发明的保护范围;s02,根据相似度计算模型计算商品品类间的相似度;所述相似度计算模型可以选择为欧几里德距离计算模型、杰卡德相似系数计算模型或相关系数计算模型中的一个;品类间的相似度计算方法如下:欧几里德距离计算模型:其中,d(i,j)表示品类i与品类j间的欧几里德距离;xi表示品类i在欧式空间上的点,yi表示品类j在欧式空间上的点,t表示品类总数;杰卡德相似系数计算模型:其中,j(li,lj)表示品类i与品类j间的杰卡德相似系数;li表示已购买品类i的用户数,lj表示已购买品类j的用户数;liilj表示同时已购买(品类i和品类j的用户数;liylj表示已购买品类i或已购买品类j的用户数;相关系数计算模型:其中,sim(i,j)表示品类i与品类j间的相关系数;rki表示用户k对品类i的选择关系值,rkj表示用户k对品类j的选择关系值;k为用户的序号,s表示总用户数;表示所有用户对品类i的选择关系值均值;表示所有用户对品类j的选择关系值均值;其中,所述相关系数的结余范围为[-1,1],相关系数的绝对值越大,品类i与品类j的相关度越高。s03,根据商品品类间的相似度进行商品推荐。在实际应用中,可以根据相似度矩阵值,选择将似度值高的品类摆放在一起,向用户推荐,从而整体上提升购买率或点击率。譬如商超里可将品类联合相似度高的商品摆放在一起,以提高整体的购买率;咨询类网站可将品类联合相似度高的服务或新闻放在一起,以提高整体点击率等。实施例四本发明实施例提供另一种基于品类相似度的商品推荐系统,所述系统包括:第二用户-品类矩阵创建模块,用于根据用户购买的商品品类信息创建用户-品类矩阵;所述用户购买的商品品类信息提取自用户商品交易原始数据;所述商品交易原始数据采自商超或者电商平台等;所述商品品类信息包括用户id,商品id,品类id;所述品类id为对商品类别进行的编码标志;例如若为商超、电商等购物类数据则可以为食品,饮料,服饰,家居等商品品类;若为视频或资讯信息流观看类数据则可以为电影类型,信息类型等,如惊悚,军事,财经等内容类型。第二品类相似度计算模块,根据相似度计算模型计算商品品类间的相似度;所述相似度计算模型可以选择为欧几里德距离计算模型、杰卡德相似系数计算模型或相关系数计算模型中的一个;欧几里德距离计算模型:其中,d(i,j)表示品类i与品类j间的欧几里德距离;xi表示品类i在欧式空间上的点,yi表示品类j在欧式空间上的点,t表示品类总数;杰卡德相似系数计算模型:其中,j(li,lj)表示品类i与品类j间的杰卡德相似系数;li表示已购买品类i的用户数,lj表示已购买品类j的用户数;liilj表示同时已购买(品类i和品类j的用户数;liylj表示已购买品类i或已购买品类j的用户数;相关系数计算模型:其中,sim(i,j)表示品类i与品类j间的相关系数;rki表示用户k对品类i的选择关系值,rkj表示用户k对品类j的选择关系值;k为用户的序号,s表示总用户数;表示所有用户对品类i的选择关系值均值;表示所有用户对品类j的选择关系值均值;其中,所述相关系数的结余范围为[-1,1],相关系数的绝对值越大,品类i与品类j的相关度越高。第二商品推荐模块,用于根据商品品类间的相似度进行商品推荐。本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为rom、ram、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1