CN109034981A - 一种电商协同过滤推荐方法 - Google Patents

一种电商协同过滤推荐方法 Download PDF

Info

Publication number
CN109034981A
CN109034981A CN201810966850.5A CN201810966850A CN109034981A CN 109034981 A CN109034981 A CN 109034981A CN 201810966850 A CN201810966850 A CN 201810966850A CN 109034981 A CN109034981 A CN 109034981A
Authority
CN
China
Prior art keywords
user
data
recommendation list
article
collaborative filtering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810966850.5A
Other languages
English (en)
Inventor
张吉曜
韩德志
王军
毕坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN201810966850.5A priority Critical patent/CN109034981A/zh
Publication of CN109034981A publication Critical patent/CN109034981A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种电商协同过滤推荐方法,包括如下步骤:S1,获取用户的数据;S2,Hadoop获取离线数据,并对所述的离线数据进行清洗;S3,MapReduce读取清洗好的数据用基于用户的协同过滤算法来进行计算,生成离线推荐列表;S4,spark获取实时数据,用sparkstreaming对所述的实时数据进行清洗;S5,清洗后的数据使用基于物品的系统过滤算法来计算,生成实时推荐列表;S6,对实时推荐列表和离线推荐列表进行整合,整合时用马尔科夫链通过时间计算权重;S7,生成最终的用户推荐列表,向用户推荐商品。

Description

一种电商协同过滤推荐方法
技术领域
本发明涉及大数据领域,特别涉及一种电商协同过滤推荐方法。
背景技术
电子商务的飞速发展将人类带入了网络经济时代,面对大量的商品信息,用户(消费者)往往难以发现最需要或最适合的商品。电子商务系统会形成海量的交易数据,如何从中挖掘和发现有用的知识以使得交易更加高效成为一个有意义的研究课题.消费者希望电子商务系统具有一种类似采购助手的功能来帮助其选购商品,它能够自动地把用户可能最感兴趣的商品推荐出来。电子商务推荐系统正是针对以上问题和需求产生的,为了提供精确而又快速的推荐,研究者提出了多种推荐算法,其中协同过滤推荐算法是应用最为成功的一种。协同过滤这一概念首次于1992年由Goldberg、Nicols、Oki及Terry提出,应用于Tapestry系统,该系统仅适用较小用户群(比如,某一个单位内部),而且对用户有过多要求(比如,要求用户显式的给出评价)。作为协同过滤推荐系统的雏形,Tapestry展示了一种新的推荐思想,但存在许多技术上的不足。其后,出现了基于评分的自动协同过滤推荐系统,例如推荐新闻和电影的GroupLen。目前,许多电子商务网站都已经使用了推荐系统,如Amazon、阿里巴巴、京东和Moviefinder等。目前主要有两类协同过滤推荐算法:基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法。基于用户的协同过滤推荐算法基于这样一个假设,即如果用户对一些项目的评分比较相似,则他们对其他项目的评分也比较相似。算法根据目标用户的最近邻居(最相似的若干用户)对某个项目的评分逼近目标用户对该项目的评分。基于项目的协同过滤推荐算法认为,用户对不同项目的评分存在相似性,当需要估计用户对某个项目的评分时,可以用户对该项目的若干相似项目的评分进行估计。
发明内容
本发明的目的是提供一种电商协同过滤推荐方法,解决现有的推荐算法时间周期过长不能随着用户的实时购物行为所改变,用离线和实时两种计算模式下生成的推荐列表能快速准确的反映出用户的实际需求和更新。
为了实现以上目的,本发明是通过以下技术方案实现的:
一种电商协同过滤推荐方法,其特点是,包括如下步骤:
S1,获取用户的数据;
S2,Hadoop获取离线数据,并对所述的离线数据进行清洗;
S3,MapReduce读取清洗好的数据用基于用户的协同过滤算法来进行计算,生成离线推荐列表;
S4,spark获取实时数据,用sparkstreaming对所述的实时数据进行清洗;
S5,清洗后的数据使用基于物品的系统过滤算法来计算,生成实时推荐列表;
S6,对实时推荐列表和离线推荐列表进行整合,整合时用马尔科夫链通过时间计算权重;
S7,生成最终的用户推荐列表,向用户推荐商品。
所述的步骤S3中用基于用户的协同过滤算法来进行计算,生成离线推荐列表为:找到与目标用户兴趣相似的用户集合并将找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户,生成离线推荐列表。
所述的步骤S3具体包括:
S3.1,商家都将用户的操作和购买的.log日志文件使用Hadoop分布式文件系统存储起来;
S3.2,用MapReduce将大量的日志文件导入到MapReduce计算框架下进行切分、派发、整理、合并计算;
S3.3,将分解的矩阵按照商品和用户的关联度进行评分整合,再按照用户之前的相似度生成离线推荐列表。
所述的步骤S3.2包括:
S3.2.1,map处理,即每个输入分片会让一个map任务来处理,默认情况下,以Hadoop分布式文件系统一个块的大小为一个分片,Map输出的结果会暂且放在一个环形内存缓冲区中,当该环形内存缓冲区快要溢出时,会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件,在写入磁盘之前,线程首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据;
S3.2.2,Reduce处理,即Reduce会接收到不同map任务传来的数据,并且每个map传来的数据都是有序的,如果reduce端接受的数据量低于了该缓冲区大小的一定比例,则直接存储在内存中,如果数据量超过了该缓冲区大小的一定比例,则对数据合并后溢写到磁盘中,随着溢写文件的增多,后台线程会将它们合并成一个更大的有序的文件。
所述的步骤S3.3包括:
商品和用户的关联度是根据用户物品数据生成的用户对项目的评分矩阵R(m,n),在R(m,n)中,m行标识m个用户,n列标识n个项目,Ri,j表示用户i对项目j的评分值;通过用奇异值分解来给矩阵降维;对于奇异值,采用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵:
Rm×n=Um×mΣm×nVT n×n≈Um×kΣk×kVT k×ν
其中k比n小,即一个大的矩阵R用三个小的矩阵Um×k,Σk×k,来表示。
所述的步骤S5中基于物品的系统过滤算法来计算生成实时推荐列表包括:计算物品之间的相似度,根据物品的相似度和用户的历史行为给用户生成实时推荐列表。
所述的步骤S5包括:
S5.1,后台把用户最新操作的信息以数据流的方式传输到Kafka进行存放;
S5.2,通过flume将kafka和Spark平台相连接,把用户的最新操作数据实时的传输到sparkstreaming下面进行切分、整合、聚类的操作;
S5.3:将相似的商品进行关联、评分、整合后与之前的推荐列表进行比对,如有新出现的推荐商品即加入实时推荐列表推荐给用户。
所述的步骤S5.3为:
商品之间的关联数据生成一个物品与物品之间相关的矩阵;物品之间的相似度用皮尔森相似性来计算;物品i和j之间的皮尔森相似性sim(i,j)如式(1)所示:
其中:假设对物品i和j共同评分的用户集合用Uij表示;Ru,i表示用户u对物品i的评分;分别表示物品的i和j的平均评分;在皮尔森相似性计算方法中,需要计算对物品i和j共同评过分的用户集合,然后通过这个集合里的用户对物品的评分来计算项目之间的相似性。
所述的步骤S6包括:设定特定的时间,将离线推荐列表和实时推荐列表进行比对加权,生成新的推荐列表,最终推荐列表推荐给用户。
所述的最终生成的推荐列表使用了马尔科夫过程,设{X(t),t∈T}为一随机过程,E为其状态空间,任意t1<t2<…<tn<t任意x1,x2,…,xn,x∈E,随机变量X(t)已知X(t1)=x1,...,X(tn)=xn之下的条件分布函数只与X(tn)=xn有关,而与X(t1)=x1,…,X(tn-1)=xn-1无关,即条件分布函数满足等式(2):
F(x,t|xn,xn-1,…,x2,x1,tn,tn-1,…,t2,t1)=F(x,t|xn,tn)
P(X(t)≤x|X(tn)=xn,…,X(t1)=x2}=P(X(t)≤x|X(tn)=xn} (2)。
本发明与现有技术相比,具有以下优点:
1)提高了推荐列表的更新速度。使用Spark框架下的sparkstreaming实时的接收用户最新的购买行为和喜好度,根据用户的最新反馈来实时更新用户收到的推荐商品信息,更准确的提供用户所需要的商品信息内容。
2)提高了推荐列表的准确性。使用Hadoop分布式系统,使用基于用户的协同过滤算法算法,通过SVD奇异值分解给矩阵降维后用Hadoop分布式系统下的MapReduce计算框架进行数据的分类和整合,用离线的方式进行更精确的计算而达到更准确的推荐结果使用户满意。
3)得出最适合用户的推荐列表。将Spark的实时的推荐列表和Hadoop下计算出的离线推荐列表进行整合,再根据马尔科夫链的原理把时间属性加入到推荐列表整合时的加权评分里面,最终得出的推荐列表,即最优的用户商品推荐列表。
附图说明
图1为本发明一种电商协同过滤推荐方法的流程图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
如图1所示,一种电商协同过滤推荐方法,包括如下步骤:
S1,获取用户的数据;
S2,Hadoop获取离线数据,并对所述的离线数据进行清洗;
S3,MapReduce读取清洗好的数据用基于用户的协同过滤算法来进行计算,生成离线推荐列表;
S4,spark获取实时数据,用sparkstreaming对所述的实时数据进行清洗;
S5,清洗后的数据使用基于物品的系统过滤算法来计算,生成实时推荐列表;
S6,对实时推荐列表和离线推荐列表进行整合,整合时用马尔科夫链通过时间计算权重;
S7,生成最终的用户推荐列表,向用户推荐商品。
所述的步骤S3中用基于用户的协同过滤算法来进行计算,生成离线推荐列表为:找到与目标用户兴趣相似的用户集合并将找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户,生成离线推荐列表。
因为User-CF(基于用户的协同过滤算法)数据量过于庞大我们使用Hadoop框架来进行计算;
所述的Hadoop框架,是一个由Apache基金会所开发的分布式系统基础架构;使用框架中的HDFS技术来存放大量的用户操作日志,再由其中的MapReduce计算框架对离线数据进行归类计算生成所需的推荐列表和整理后的日志信息存放于数据库。
所述的步骤S3具体包括:
S3.1,商家都将用户的操作和购买的.log日志文件使用Hadoop分布式文件系统(HDFS)存储起来;
S3.2,用MapReduce(Hadoop的计算框架)将大量的日志文件导入到MapReduce计算框架下进行切分、派发、整理、合并计算;要是Map和Reduce两个方面从而得出需要的结果;
S3.3,将分解的矩阵按照商品和用户的关联度进行评分整合,再按照用户之前的相似度生成离线推荐列表。
所述的步骤S3.2包括:
S3.2.1,map处理,即每个输入分片会让一个map任务来处理,默认情况下,以Hadoop分布式文件系统一个块的大小为一个分片,Map输出的结果会暂且放在一个环形内存缓冲区中,当该环形内存缓冲区快要溢出时,会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件,在写入磁盘之前,线程首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据;这样做是为了避免有些reduce任务分配到大量数据,而有些reduce任务却分到很少数据,甚至没有分到数据的尴尬局面。其实分区就是对数据进行hash的过程,然后对每个分区中的数据进行排序,如果此时设置了Combiner,将排序后的结果进行Combine操作,这样做的目的是让尽可能少的数据写入到磁盘,当map任务输出最后一个记录时,可能会有很多的溢出文件,这时需要将这些文件合并。
S3.2.2,Reduce处理,即Reduce会接收到不同map任务传来的数据,并且每个map传来的数据都是有序的,如果reduce端接受的数据量低于了该缓冲区大小的一定比例,则直接存储在内存中,如果数据量超过了该缓冲区大小的一定比例,则对数据合并后溢写到磁盘中,随着溢写文件的增多,后台线程会将它们合并成一个更大的有序的文件。这样做是为了给后面的合并节省时间,其实不管在map端还是reduce端,MapReduce都是反复地执行排序,合并操作,合并的过程中会产生许多的中间文件,但MapReduce会让写入磁盘的数据尽可能地少,并且最后一次合并的结果并没有写入磁盘,而是直接输入到reduce函数。
所述的步骤S3.3包括:
商品和用户的关联度是根据用户物品数据生成的用户对项目的评分矩阵R(m,n)(m×n阶用户-项目评分矩阵R(m,n)),在R(m,n)中,m行标识m个用户,n列标识n个项目,Ri,j表示用户i对项目j的评分值;具体如表1所示。
表1用户对物品的评价矩阵
将用户和物品的评分矩阵转换成用户物品对应表,具体如表2所示。
表2用户物品对应表
这样依然有很大的计算量将用户与用户之间的相似关联起来,以物品为中心再次进行转换,具体如表3所示。
表3物品用户对应表
这样就可以建立出用户对用户的一个相似关系矩阵。具体如表4所示。
表4用户与用户之前相似矩阵
通过用奇异值(SVD)分解来给矩阵降维;对于奇异值,与特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,奇异值的减少快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例;本发明用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵:
Rm×n=Um×mΣm×nVT n×n≈Um×kΣk×kVT k×ν
其中k比n小,即一个大的矩阵R用三个小的矩阵Um×k,Σk×k,来表示。
所述的步骤S5中基于物品的系统过滤算法来计算生成实时推荐列表包括:计算物品之间的相似度,根据物品的相似度和用户的历史行为给用户生成实时推荐列表。
因为Item-CF(基于物品的协同过滤算法)生成的矩阵维数远小于基于User-CF生成的矩阵,所以我们用Spark框架来计算;
所述的Spark框架,是专为大规模数据处理而设计的快速通用的计算框架;我们使用框架中在带的SparkStreaming技术对从Kafka中取出的数据进行快速有效的实时处理,将处理的结果存入数据库;
所述的步骤S5包括:
S5.1,后台把用户最新操作的信息以数据流的方式传输到Kafka进行存放;所述的Kafka,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据;
S5.2,通过flume将kafka和Spark平台相连接,把用户的最新操作数据实时的传输到sparkstreaming下面进行切分、整合、聚类的操作;所述的flume,是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统;SparkStreaming是一个对实时数据流进行高通量、容错处理的流式处理系统,可以对多种数据源(进行类似Map、Reduce和Join等复杂操作,并将结果保存到外部文件系统、数据库或应用到实时仪表盘;
S5.3:将相似的商品进行关联、评分、整合后与之前的推荐列表进行比对,如有新出现的推荐商品即加入实时推荐列表推荐给用户。
物品的协同过滤算法用在Spark下的实时计算框架即sparkstreaming快速的根据用户的最新偏好来实时更新用户的推荐列表,其中最核心的两步:
对用户已买或有过操作记录的物品有一个相似度评分,具体如表5所示。
表5用户对商品的评价矩阵
通过用户对已经操作(浏览、购买、加入购物车、后续评价等行为都算在用户操作中,都会影响到用户对商品的评分即用户商品相似度),得到一部分用户对已知商品的偏好,再通过商品与商品之间的相似度,具体如表6所示。
表6商品和商品之间的相似度矩阵
所述的步骤S5.3为:
根据用户已操作的物品能得出用户未操作的物品与已操作物品的相似度,根据这个相似度对用户未操作物品进行排序后将为操作的物品的前几推荐个用户,来预测用户将来可能的购买行为或者购买偏好,从而达到销售提升。用户对物品的相似度评分和物品之前的相似度评分都是协同过滤算法的核心步骤,相似度的评分有很多比如余弦相似性即cosin相似性。将用户评分看作n维项目空间上的向量,如果用户对项目没有进行评分,则将该用户对该项目的评分设为0或者不写,用户间相似性通过向量间的余弦夹角度量。设用户n和v在n维空间上的评分分别用u和v,则它们之间的相似性,为sim(u,v)
分子为两个用户评分向量的内积,分母为两个用户向量模的乘积。计算两个项目间的相似性与计算两个用户间的余弦相似性类似。两个项目i,j之间的余弦相似性sim(i,j)为
余弦相似未考虑用户评分尺度的问题。所以这里选用了皮尔森相似性,皮尔森相似性比的余弦相似性计算方法中0直接用来填充有更好的推荐质量。用户和共同评分过的项目集合用Puv表示,Ru,a、Rv,a分别表示用户u和用户v对项目a的评分,分别表示用户u和用户v的平均评分,
商品之间的关联数据生成一个物品与物品之间相关的矩阵;物品之间的相似度用皮尔森相似性来计算;物品i和j之间的皮尔森相似性sim(i,j)如式(1)所示:
其中:假设对物品i和j共同评分的用户集合用Uij表示;Ru,i表示用户u对物品i的评分;分别表示物品的i和j的平均评分;在皮尔森相似性计算方法中,需要计算对物品i和j共同评过分的用户集合,然后通过这个集合里的用户对物品的评分来计算项目之间的相似性,用这种方式来处理,比修正的余弦相似性计算方法中直0接用来填充具有更好的推荐质量。
所述的步骤S6包括:设定特定的时间(访问流量较少时为最佳),将离线推荐列表和实时推荐列表进行比对加权,生成新的推荐列表,最终推荐列表推荐给用户。
所述的最终生成的推荐列表使用了马尔科夫过程,设{X(t),t∈T}为一随机过程,E为其状态空间,任意t1<t2<…<tn<t任意x1,x2,…,xn,x,∈E,随机变量X(t)已知X(t1)=x1,...,X(tn)=xn之下的条件分布函数只与X(tn)=xn有关,而与X(t1)=x1,…,X(tn-1)=xn-1无关,即条件分布函数满足等式(2):
F(x,t|xn,xn-1,…,x2,x1,tn,tn-1,…,t2,t1)=F(x,t|xn,tn)
P{X(t)≤x|X(tn)=xn,…,X(t1)=x1}=P{X(t)≤x|X(tn)=xn} (2)。
最终的合并推荐表单至于最新的离线表单和实时表单有关,与之前的推荐列表毫无关系。
综上所述,本发明一种电商协同过滤推荐方法,解决现有的推荐算法时间周期过长不能随着用户的实时购物行为所改变,用离线和实时两种计算模式下生成的推荐列表能快速准确的反映出用户的实际需求和更新。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (10)

1.一种电商协同过滤推荐方法,其特征在于,包括如下步骤:
S1,获取用户的数据;
S2,Hadoop获取离线数据,并对所述的离线数据进行清洗;
S3,MapReduce读取清洗好的数据用基于用户的协同过滤算法来进行计算,生成离线推荐列表;
S4,spark获取实时数据,用sparkstreaming对所述的实时数据进行清洗;
S5,清洗后的数据使用基于物品的系统过滤算法来计算,生成实时推荐列表;
S6,对实时推荐列表和离线推荐列表进行整合,整合时用马尔科夫链通过时间计算权重;
S7,生成最终的用户推荐列表,向用户推荐商品。
2.如权利要求1所述的电商协同过滤推荐方法,其特征在于,所述的步骤S3中用基于用户的协同过滤算法来进行计算,生成离线推荐列表为:
找到与目标用户兴趣相似的用户集合并将找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户,生成离线推荐列表。
3.如权利要求2所述的电商协同过滤推荐方法,其特征在于,所述的步骤S3具体包括:
S3.1,商家都将用户的操作和购买的.log日志文件使用Hadoop分布式文件系统存储起来;
S3.2,用MapReduce将大量的日志文件导入到MapReduce计算框架下进行切分、派发、整理、合并计算;
S3.3,将分解的矩阵按照商品和用户的关联度进行评分整合,再按照用户之前的相似度生成离线推荐列表。
4.如权利要求3所述的电商协同过滤推荐方法,其特征在于,所述的步骤S3.2包括:
S3.2.1,map处理,即每个输入分片会让一个map任务来处理,默认情况下,以Hadoop分布式文件系统一个块的大小为一个分片,Map输出的结果会暂且放在一个环形内存缓冲区中,当该环形内存缓冲区快要溢出时,会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件,在写入磁盘之前,线程首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据;
S3.2.2,Reduce处理,即Reduce会接收到不同map任务传来的数据,并且每个map传来的数据都是有序的,如果reduce端接受的数据量低于了该缓冲区大小的一定比例,则直接存储在内存中,如果数据量超过了该缓冲区大小的一定比例,则对数据合并后溢写到磁盘中,随着溢写文件的增多,后台线程会将它们合并成一个更大的有序的文件。
5.如权利要求2所述的电商协同过滤推荐方法,其特征在于,所述的步骤S3.3包括:
商品和用户的关联度是根据用户物品数据生成的用户对项目的评分矩阵R(m,n),在R(m,n)中,m行标识m个用户,n列标识n个项目,Ri,j表示用户i对项目j的评分值;通过用奇异值分解来给矩阵降维;对于奇异值,采用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵:
Rm×n=Um×mΣm×nVT n×n≈Um×kΣk×kVT k×ν
其中k比n小,即一个大的矩阵R用三个小的矩阵Um×k,Σk×k,来表示。
6.如权利要求1所述的电商协同过滤推荐方法,其特征在于,所述的步骤S5中基于物品的系统过滤算法来计算生成实时推荐列表包括:计算物品之间的相似度,根据物品的相似度和用户的历史行为给用户生成实时推荐列表。
7.如权利要求6所述的电商协同过滤推荐方法,其特征在于,所述的步骤S5包括:
S5.1,后台把用户最新操作的信息以数据流的方式传输到Kafka进行存放;
S5.2,通过flume将kafka和Spark平台相连接,把用户的最新操作数据实时的传输到sparkstreaming下面进行切分、整合、聚类的操作;
S5.3:将相似的商品进行关联、评分、整合后与之前的推荐列表进行比对,如有新出现的推荐商品即加入实时推荐列表推荐给用户。
8.如权利要求1所述的电商协同过滤推荐方法,其特征在于,所述的步骤S5.3为:
商品之间的关联数据生成一个物品与物品之间相关的矩阵;物品之间的相似度用皮尔森相似性来计算;物品i和j之间的皮尔森相似性sim(i,j)如式(1)所示:
其中:假设对物品i和j共同评分的用户集合用Uij表示;Ru,i表示用户u对物品i的评分;分别表示物品的i和j的平均评分;在皮尔森相似性计算方法中,需要计算对物品i和j共同评过分的用户集合,然后通过这个集合里的用户对物品的评分来计算项目之间的相似性。
9.如权利要求1所述的电商协同过滤推荐方法,其特征在于,所述的步骤S6包括:设定特定的时间,将离线推荐列表和实时推荐列表进行比对加权,生成新的推荐列表,最终推荐列表推荐给用户。
10.如权利要求1所述的电商协同过滤推荐方法,其特征在于,所述的最终生成的推荐列表使用了马尔科夫过程,设{X(t),t∈T}为一随机过程,E为其状态空间,任意t1<t2<…<tn<t任意x1,x2,…,xn,x,∈E,随机变量X(t)已知X(t1)=x1,...,X(tn)=xn之下的条件分布函数只与X(tn)=xn有关,而与X(t1)=x1,…,X(tn-1)=xn-1无关,即条件分布函数满足等式(2):
F(x,t|xn,xn-1,…,x2,x1,tn,tn-1,…,t2,t1)=F(x,t|xn,tn)
P{X(t)≤x|X(tn)=xn,…,X(t1)=x1}=P(X(tn)=xn} (2)。
CN201810966850.5A 2018-08-23 2018-08-23 一种电商协同过滤推荐方法 Pending CN109034981A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810966850.5A CN109034981A (zh) 2018-08-23 2018-08-23 一种电商协同过滤推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810966850.5A CN109034981A (zh) 2018-08-23 2018-08-23 一种电商协同过滤推荐方法

Publications (1)

Publication Number Publication Date
CN109034981A true CN109034981A (zh) 2018-12-18

Family

ID=64628137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810966850.5A Pending CN109034981A (zh) 2018-08-23 2018-08-23 一种电商协同过滤推荐方法

Country Status (1)

Country Link
CN (1) CN109034981A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933726A (zh) * 2019-03-22 2019-06-25 江西理工大学 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法
CN110263059A (zh) * 2019-05-24 2019-09-20 湖南大学 Spark-Streaming中间数据分区方法、装置、计算机设备和存储介质
CN111046283A (zh) * 2019-12-04 2020-04-21 深圳前海微众银行股份有限公司 特征选择方法、装置、设备及存储介质
CN111199287A (zh) * 2019-12-16 2020-05-26 北京淇瑀信息科技有限公司 一种特征工程实时推荐方法、装置及电子设备
CN113672687A (zh) * 2021-10-25 2021-11-19 北京值得买科技股份有限公司 一种电商大数据处理方法、装置、设备及存储介质
CN116894709A (zh) * 2023-07-14 2023-10-17 广州洋葱时尚集团有限公司 一种广告商品推荐方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150066646A1 (en) * 2013-08-27 2015-03-05 Yahoo! Inc. Spark satellite clusters to hadoop data stores
CN106126641A (zh) * 2016-06-24 2016-11-16 中国科学技术大学 一种基于Spark的实时推荐系统及方法
CN106940801A (zh) * 2016-01-04 2017-07-11 中国科学院声学研究所 一种用于广域网络的深度强化学习推荐系统及方法
CN107451267A (zh) * 2017-08-01 2017-12-08 东北大学 一种基于Spark平台的分布式推荐方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150066646A1 (en) * 2013-08-27 2015-03-05 Yahoo! Inc. Spark satellite clusters to hadoop data stores
CN106940801A (zh) * 2016-01-04 2017-07-11 中国科学院声学研究所 一种用于广域网络的深度强化学习推荐系统及方法
CN106126641A (zh) * 2016-06-24 2016-11-16 中国科学技术大学 一种基于Spark的实时推荐系统及方法
CN107451267A (zh) * 2017-08-01 2017-12-08 东北大学 一种基于Spark平台的分布式推荐方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933726A (zh) * 2019-03-22 2019-06-25 江西理工大学 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法
CN109933726B (zh) * 2019-03-22 2022-04-12 江西理工大学 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法
CN110263059A (zh) * 2019-05-24 2019-09-20 湖南大学 Spark-Streaming中间数据分区方法、装置、计算机设备和存储介质
CN110263059B (zh) * 2019-05-24 2021-05-11 湖南大学 Spark-Streaming中间数据分区方法、装置、计算机设备和存储介质
CN111046283A (zh) * 2019-12-04 2020-04-21 深圳前海微众银行股份有限公司 特征选择方法、装置、设备及存储介质
CN111199287A (zh) * 2019-12-16 2020-05-26 北京淇瑀信息科技有限公司 一种特征工程实时推荐方法、装置及电子设备
CN113672687A (zh) * 2021-10-25 2021-11-19 北京值得买科技股份有限公司 一种电商大数据处理方法、装置、设备及存储介质
CN113672687B (zh) * 2021-10-25 2022-02-15 北京值得买科技股份有限公司 一种电商大数据处理方法、装置、设备及存储介质
CN116894709A (zh) * 2023-07-14 2023-10-17 广州洋葱时尚集团有限公司 一种广告商品推荐方法和系统

Similar Documents

Publication Publication Date Title
Li et al. Learning from history and present: Next-item recommendation via discriminatively exploiting user behaviors
CN110162693B (zh) 一种信息推荐的方法以及服务器
CN109034981A (zh) 一种电商协同过滤推荐方法
Bai et al. An attribute-aware neural attentive model for next basket recommendation
Zhao A study on e-commerce recommender system based on big data
Fernández-Tobías et al. Cross-domain recommender systems: A survey of the state of the art
CN108876508A (zh) 一种电商协同过滤推荐方法
Eliyas et al. Recommendation systems: Content-based filtering vs collaborative filtering
CN110069713B (zh) 一种基于用户上下文感知的个性化推荐方法
Tang et al. Cross-space affinity learning with its application to movie recommendation
Do et al. Dynamic weighted hybrid recommender systems
Zhang et al. An Improved Collaborative Filtering Algorithm Based on User Interest.
CN111651678A (zh) 一种基于知识图谱的个性化推荐方法
Shafqat et al. A hybrid GAN-based approach to solve imbalanced data problem in recommendation systems
Hou et al. A deep reinforcement learning real-time recommendation model based on long and short-term preference
Gunjal et al. A hybrid scalable collaborative filtering based recommendation system using ontology and incremental SVD algorithm
Nazari et al. Scalable and data-independent multi-agent recommender system using social networks analysis
Ijaz Book recommendation system using machine learning
Zhang et al. Multi-view dynamic heterogeneous information network embedding
Song et al. A novel temporal and topic-aware recommender model
Guerraoui et al. Sequences, items and latent links: Recommendation with consumed item packs
Padti et al. Hybrid Movie Recommender System
Ye et al. A collaborative neural model for rating prediction by leveraging user reviews and product images
Wang Application of E-Commerce Recommendation Algorithm in Consumer Preference Prediction
Yan et al. Personalized POI recommendation based on subway network features and users’ historical behaviors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181218

RJ01 Rejection of invention patent application after publication