一种基于社区发现的商品推荐方法

文档序号:33321466发布日期:2023-03-03 20:53阅读:27来源:国知局
一种基于社区发现的商品推荐方法

1.本发明属于商品推荐技术领域,尤其涉及一种基于社区发现的商品推荐方法及系统。


背景技术:

2.互联网的出现和普及给人们带来了巨大的便利,使人们的生活发生了翻天覆地的变化,渗入到生活的方方面面。目前,世界正处在大数据时代的浪口,线下移动智能终端的广泛部署使得获得数据变得容易,可靠的数据有助于人们进行决策。借助于网络,新兴的消费主义使得消费者的选择越来越多,而卖家则面临个性化推荐的挑战。企业收集用户交易数据变得普遍,基于此类数据,企业通过基于数据分析对用户进行个性化推荐,满足了消费双方的需求。目前,推荐系统通常用于新闻推荐、搜索推荐、商品推荐等。
3.目前应用于推荐系统的方法很多,可以大致分为以下几类:(1)协同过滤(collaborative filtering,简称cf),根据所有用户的过去评分进行推荐。(2)基于内容的推荐:这类方法推荐的产品与用户过去喜欢的产品内容相似,或者与用户预定义的属性匹配。(3)混合方法:这类方法是前面两类方法的结合。现在,大多数推荐系统采用协同过滤的方法,虽然这种方法被广泛应用,但是同样存在缺点,例如数据稀疏性问题和冷启动等问题。数据稀疏性问题就是说,对于现在的各大商务平台来说,其网络规模较大,用户和产品数量都是在量级以上,而用户却没有对产品进行评价的习惯,被评价的商品仅仅占总产品数量的1%不到,而用户之间共同评分的产品更是少之又少。而冷启动问题是就是对于新注册的用户或者产品,该怎么给新用户推荐产品让用户满意,怎么将新的产品推荐给喜欢它的用户。


技术实现要素:

4.为了克服上述技术问题,本发明针对个性化推荐,设计了一种基于社区发现的商品推荐方法,通过社区发现算法将商品网络分离成小的网络,即社区,社区里的商品具有强关联关系,通过选择某一商品,定位到社区,将社区里其他商品推荐给用户。
5.为实现上述目的,本发明提供的技术方案是:
6.一种基于社区发现的商品推荐方法,其包括以下步骤:
7.(1)构建商品网络:通过销售数据,提取用户购买行为,销售数据包括订单编号,商品编号,商品描述和购买时间,将商品编号作为商品网络中的节点,满足条件的商品之间具有边连接,构建商品网络。
8.(2)社区发现:采用局部扩展的方法找到网络中的社区,先通过中心性系数找到种子节点,再通过扩展种子节点进行社区发现,最后将孤立节点加入到与其相似度最高的社区,重叠节点加入到使社区连接紧密度增幅最大的社区,并从其他社区中删除;
9.(3)选择商品:获取用户将商品添加到购物车、收藏或者购买完成的操作,定位到商品所属社区,获取该社区中的所有推荐商品信息;
10.(4)推荐商品:将所有推荐商品推荐给用户,并且所推荐的商品按照与选择商品相似度由高到低进行排列展示。
11.优选地,步骤(1)中,所有订单里的商品作为网络节点,相同商品只看做一个节点,订单里同时出现次数与订单数量的比率大于设定阈值r的商品之间有边连接。
12.优选地,步骤(2)中,局部扩展的方法具体包括以下步骤:
13.(2.1)定义中心系数,计算得到网络中所有节点的中心性系数
14.(2.2)随机选择一个节点作为初始节点,与其邻居节点的中心性系数进行比较,沿着该中心性系数值增大的方向比较,直到网络中没有比该节点更大的中心性系数,此节点作为一个种子节点;
15.(2.3)继续随机选择一个未被访问的节点进行步骤(2.2),直至所有节点都被访问过,此时找到网络中所有的种子节点;
16.(2.4)找到种子节点后,每个种子节点构成一个初始社区,以社区对节点的吸引力作为判断标准进行社区扩展,计算初始社区对邻居节点的吸引力,将该值为正数的节点加入到临时社区,当所有节点都被访问过,得到商品网络的社区划分结果。
17.优选地,定义中心性系数的计算公式为:
[0018][0019]
式中,d为节点度数,n(x)为节点邻居节点集合。
[0020]
优选地,初始社区对邻居节点的吸引力的计算公式为:
[0021][0022]
式中,bc为社区扩展过程中的社区,节点v是社区bc的一阶邻居节点,社区bc对一阶邻居节点v的吸引力叫做直接吸引力,s(u,v)表示节点u和节点v的相似度,这里用jaccard相似度求得;bcc、bc
c+v
分别表示节点v加入前与加入后的社区;m、m’表示节点v加入社区bc前后社区内部的边数。
[0023]
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0024]
本发明的有益效果:
[0025]
本发明通过用户消费数据构建商品网络,利用社区发现算法找到网络中的社区结构,并以此搭建推荐商品信息库,用户选择商品后,及时收集推荐商品信息库里的推荐商品信息,并按照商品相似度以此展示给用户,本发明方法不用考虑数据稀疏性问题以及冷启动问题。
附图说明
[0026]
图1是本发明的主流程图;
[0027]
图2是构建商品网络过程图;
[0028]
图3是构建商品网络的数据介绍;
[0029]
图4是社区发现过程图;
[0030]
图5是社区发现网络拓扑图;
[0031]
图6是采集用户行为的数据介绍;
具体实施方式
[0032]
为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
[0033]
如图1所示,本实施例涉及一种基于社区发现的商品推荐方法,其包括构建商品网络、社区发现、选择商品、推荐商品4个步骤。
[0034]
构建商品网络
[0035]
本技术的实施例中,构建商品网络的流程图如图2所示,包括数据采集、数据分析和搭建网络三部分。企业通过采集用户消费数据,主要包括订单编号、商品编号、商品描述和购买时间,如图3所示。所有订单里的商品作为网络节点,相同商品只看做一个节点,订单里同时出现次数与订单数量的比率大于阈值r的商品之间有边连接,即r控制着网络的稠密程度,r越小,网络里的边越多,网络越稠密。
[0036]
社区发现
[0037]
本发明通过局部扩展的方法找到网络中的社区,如图4所示。首先,通过定义中心性系数,其公式如下所示:
[0038][0039]
其中d为节点度数,n(x)为节点邻居节点集合。
[0040]
计算得到网络中所有节点的中心性系数,首先随机选择一个节点作为初始节点,与其邻居节点的中心性系数进行比较,然后一直沿着该值增大的方向比较,直到网络中没有比该节点更大的中心性系数,此节点作为一个种子节点。然后,继续随机选择一个未被访问的节点进行上述步骤,直至所有节点都被访问过,算法结束,此时找到网络中所有的种子节点。
[0041]
在找到种子节点后,每个种子节点构成一个初始社区,以社区对节点的吸引力作为判断标准进行社区扩展,其公式定义为:
[0042][0043]
其中,bc为社区扩展过程中的社区,节点v是社区bc的一阶邻居节点,社区bc对一阶邻居节点v的吸引力叫做直接吸引力,s(u,v)表示节点u和节点v的相似度,这里用jaccard相似度求得;bcc、bc
c+v
分别表示节点v加入前与加入后的社区;m、m’表示节点v加入社区bc前后社区内部的边数。
[0044]
通过计算初始社区对邻居节点的吸引力,将该值为正数的节点加入到临时社区,当所有节点都被访问过,算法结束,得到商品网络的社区划分结果,如图5网络结构拓扑图所示。
[0045]
选择商品
[0046]
用户在浏览商品后,将商品加入购物车、收藏或者购买后,系统感知到数据库新增
行为数据,对该行为进行解析,如图6所示,当行为是加购物车、收藏和购买时,获取该商品编号,定位到该商品所属社区。
[0047]
推荐商品
[0048]
在系统定位到商品所属社区后,通过adamic-adar指标计算社区内的商品与该商品的相似度,并对其排序,然后按照大小先后展示到页面,完成商品推荐。
[0049]
本发明还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例的步骤。
[0050]
尽管上面结合实施例对本发明的优选实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,并不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以作出很多形式,例如:考虑土体参数的随机性,考虑缩颈段长度的随机性,考虑不同或者更多个安全参数。这些均属于本发明的保护范围之内。
[0051]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1