本发明属于商品推荐技术领域,具体涉及一种基于三角形面积计算模式的商品推荐方法的设计。
背景技术:
在“互联网+”的大背景下,电子商务获得蓬勃发展。同时,国家也大力支持电商的发展,解决了很多人的就业问题。最初投身电商的人较少,所以可提供的数据也较少,这对于用户来说虽然选择性少,但选择目的性很明确。现在越来越多的人投身电商,使得电商业大力发展,但对于用户来说,信息过载就是最大的问题。很多人都是电子商务发展中的一员,最明显的表现就是网购。以淘宝为例,当用户在网购过程中输入需要的商品进行搜索时,会出现大量的同一商品供用户选择,这时用户可能会遇到选择困难的问题,通常会出现的情况如:便宜但担心质量;既担心质量又觉得贵等问题,这也就是信息过载带来的问题。如何在大量数据中找到用户需要的信息,这是一个难题。为了解决这个问题,已经有很多人提出了基于各种技术的推荐算法,给用户推荐商品,如协同过滤等。
二部图普遍被用于研究推荐问题,它的特点很明显,对于两类事物,同一类之间没有关系,两类之间通过连线代表它们的相互作用。如图1所示,用二部图作为基本模型来研究推荐问题,圆圈代表用户,正方形代表商品,用户与用户之间,商品与商品之间没有联系,用户和商品的连线,表示用户已经买了该商品,黑色圆圈代表一个目标用户。现有技术中通常根据点的相似性来给用户推荐商品,常用的两个相似性指标有cosine和ra,其中cosine指标考虑了度大的商品,即受欢迎的商品,但没有考虑到度小的用户;ra指标考虑了度小的用户,但没有处理度大的商品。所以,作者结合了两者的优势,提出了cosra相似性指标,同时考虑到了度大的商品和度小的用户。其中数据处理分为两个部分,第一、从物品分配资源到用户;第二、再从用户到物品。虽然这样做取得了一定的成果,但也会出现一些问题,比如:用户买了一种商品,在以后的推荐中,推荐列表里面主要推荐的是这种商品,而种类较少,存在缺乏多样性的问题。
上述问题是目前很多商品推荐算法中普遍存在的问题,其问题来源于参考因素仅为user(用户)和object(商品),虽然准确性较好,但多样性较差。
技术实现要素:
本发明的目的是为了解决现有的商品推荐方法存在缺乏多样性的问题,提出了一种基于三角形面积计算模式的商品推荐方法,以实现为目标用户提供更精准和多样的商品推荐结果。
本发明的技术方案为:一种基于三角形面积计算模式的商品推荐方法,包括以下步骤:
s1、将用户、商品和品类三个因素构成三元组;
s2、根据三元组中因素两两之间的关系构建三个二部图;
s3、对三个二部图分别进行数据标准化处理,得到三个因素两两之间连边的权重值:
w=scosra·f(1)
式中w表示连边的权重值,scosra表示采用cosra相似性指标得到的商品相似性矩阵,f表示商品个数维向量。
s4、将三条连边的权重值作为三条边的长度,判断三条边的长度是否满足构成三角形的条件,若满足则根据海伦公式计算最终三角形面积,进入步骤s8,否则进入步骤s5;
式中r表示最终三角形面积,wuc表示用户与品类之间连边的权重值,woc表示商品与品类之间连边的权重值,wuo表示用户与商品之间连边的权重值,p表示半周长,
s5、根据海伦公式计算出理论三角形面积:
式中rl表示理论三角形面积,wuc表示用户与品类之间连边的权重值,woc表示商品与品类之间连边的权重值,wuo表示用户与商品之间连边的权重值,p表示半周长,
s6、修改用户与品类之间连边的权重值,使其能和另外两边构成三角形;
s7、根据修改后用户与品类之间连边的权重值计算三角形面积过渡值,并根据步骤s5中所述理论三角形面积对三角形面积过渡值进行校正,得到最终三角形面积;
s8、根据面积大小对最终三角形面积进行降序排序,并依照排序结果为用户依次推荐未购买过的商品。
本发明的有益效果是:本发明在常规的二维推荐数据中加入一个维度,通过调整相互之间的权重,使得三者之间的关系能够用一个三角形来描述,同时本发明把利用海伦公式求取三角形面积的方法用于商品推荐中,基于三角形面积的推荐,主要研究三边的联系紧密程度,最终得到的推荐列表是三者关系的叠加结果,实现了为目标用户提供更精准和多样的商品推荐结果,提高了推荐效率和精度,增强了用户和电商网站上的商品的相互联系,解决了由于信息量大而给用户带来的选择难问题。同时,本发明添加的新维度是商品的品类,在实际应用的过程中还可以用与利益相关的其它因素代替品类作为第三维度,使得本发明的推荐更具有灵活性。
进一步地,步骤s7具体为:
若用户与品类之间连边的权重值增大了,则设增大后的权重值为w′uc,根据海伦公式计算三角形面积过渡值r′:
则最终三角形面积的计算公式为:
r=(1-p1)·r′(5)
式中p1表示第一面积校正比例,
若用户与品类之间连边的权重值减小了,则设减小后的权重值为w″uc,根据海伦公式计算三角形面积过渡值r″:
则最终三角形面积的计算公式为:
r=(1+p2)·r″(7)
式中p2表示第二面积校正比例,
上述进一步方案的有益效果是:当把用户与品类之间连边的权重值增大或缩小时,相应三角形的面积也会随之增大或缩小,这时就需要对求出的三角形面积进行面积校正,以保证本发明推荐的准确性。
附图说明
图1所示为现有的商品推荐算法二部图模型示意图。
图2所示为本发明实施例提供的一种基于三角形面积计算模式的商品推荐方法流程图。
图3所示为本发明实施例提供的二部图模型示意图。
图4所示为本发明实施例提供的三角形空间构造模型示意图。
具体实施方式
现在将参考附图来详细描述本发明的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本发明的原理和精神,而并非限制本发明的范围。
本发明实施例提供了一种基于三角形面积计算模式的商品推荐方法,如图2所示,包括以下步骤s1-s8:
s1、将用户(user)、商品(object)和品类(category)三个因素构成三元组。
s2、根据三元组中因素两两之间的关系构建三个二部图。
如图3所示,本发明实施例中采用圆圈表示用户(user),正方形表示商品(object),五角星表示品类(category)。则构建的三个二部图分别表示用户点击或下单的商品、商品的好评率、用户购买商品的品类。
s3、对三个二部图分别进行数据标准化处理,得到三个因素两两之间连边的权重值。
连边的权重值w的计算公式为:
w=scosra·f(1)
其中scosra表示采用cosra相似性指标得到的商品相似性矩阵,
f表示商品个数维向量,假如有n个商品,则f表示n维向量。f中的数据包含两个部分:(1)根据用户的历史购买数据进行离差标准化后的数据;(2)0,用数字0表示用户未购买的商品,两部分数据共同构成向量f。用户购买历史数据往往较大,所以需要把数据映射到一个小范围,此时采用离差标准化方法对数据进行处理。
通过上述公式(1)即可计算得到用户与品类之间连边的权重值wuc,商品与品类之间连边的权重值woc,用户与商品之间连边的权重值wuo。
s4、将三条连边的权重值作为三条边的长度,如图4所示,判断三条边的长度是否满足构成三角形的条件,若满足则根据海伦公式计算最终三角形面积,进入步骤s8,否则进入步骤s5。
在将三条连边的权重值作为三条边的长度构建三角形时,可能会出现一个问题,即是否满足三角形的构成条件:三边的长度必须满足两两之和大于第三边,两两之差小于第三边。因此在计算三角形面积之前需要对三条边的长度进行判定。
步骤s4中根据海伦公式计算最终三角形面积的公式为:
式中r表示最终三角形面积,wuc表示用户与品类之间连边的权重值,woc表示商品与品类之间连边的权重值,wuo表示用户与商品之间连边的权重值,p表示半周长,
s5、根据海伦公式计算出理论三角形面积:
式中rl表示理论三角形面积,wuc表示用户与品类之间连边的权重值,woc表示商品与品类之间连边的权重值,wuo表示用户与商品之间连边的权重值,p表示半周长,
在计算理论三角形面积时,为保证根号中的数值为非负数,需要对其中的每一项进行绝对值计算。
s6、修改用户与品类之间连边的权重值wuc,使其能和另外两边构成三角形。
s7、根据修改后用户与品类之间连边的权重值计算三角形面积过渡值,并根据步骤s5中所述理论三角形面积对三角形面积过渡值进行校正,得到最终三角形面积。
当把用户与品类之间连边的权重值wuc增大或缩小时,相应三角形的面积也会随之增大或缩小,这时就需要对求出的三角形面积进行面积校正,以保证本发明推荐的准确性。步骤s7中进行面积校正的具体方法为:
若用户与品类之间连边的权重值wuc增大了,则设增大后的权重值为w′uc,根据海伦公式计算三角形面积过渡值r′:
则最终三角形面积的计算公式为:
r=(1-p1)·r′(5)
式中p1表示第一面积校正比例,
若用户与品类之间连边的权重值wuc减小了,则设减小后的权重值为w″uc,根据海伦公式计算三角形面积过渡值r″:
则最终三角形面积的计算公式为:
r=(1+p2)·r″(7)
式中p2表示第二面积校正比例,
s8、根据面积大小对最终三角形面积进行降序排序,并依照排序结果为用户依次推荐未购买过的商品。每个三角形对应一个商品,最终三角形面积较大的三角形对应的商品先向用户推荐,最终三角形面积较小的三角形对应的商品后向用户推荐。推荐时需要对商品进行一下判定,如果这个商品是用户已经购买过的就直接忽略,不再向用户进行推荐,如果这个商品在用户的历史购买数据中并没有购买记录,就向用户进行推荐。
本发明实施例中以用户(user)、商品(object)、品类(category)作为三个因素,用二部图描述三者之间的关系,构造三角形,用三角形面积实现给用户做推荐的功能。在实际应用的过程中通过对任意三个因素进行选择,可以实现对其它因素进行推荐,例如:
(1)在线电子商务应用中,用户(user)、商品(object)和商家(onlineseller)之间构成的三角形推荐关系。
(2)在线电子商务应用中,用户(user)、商品(object)和品牌(brand)之间构成的三角形推荐关系。
(3)在线电子广告的移动(app)端、web端以及嵌入各类社交、应用软件中,用户(user)、商品(object)和线下销售点(outlineseller)之间构成的商品广告、介绍三角形推荐关系。
(4)在线下影视产业的电子商务应用中,用户(user)、电影(movie)、电影院(cinema)的三角形推荐关系。
(5)在旅游业电子商务应用中,用户(user)、目的地(destination)和旅行社(travelagency)的三角形推荐关系等。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。